Operations 1
Documentation
Documentation
https://kuma.io/docs/latest/reference/http-api/
GettingStarted
https://kuma.io/docs/latest/installation/
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/kuma-kri-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Kuma Dataplane KRI API
description: Kuma API
version: v1alpha1
x-ref-schema-name: DataplaneOverview
servers:
- url: https://localhost:5681
description: Base URL declared by the provider in apis.yml (roadmap#122).
security:
- BasicAuth: []
- BearerAuth: []
- {}
tags:
- name: KRI
paths:
/_kri/{kri}:
get:
operationId: getByKri
summary: Returns a resource by KRI
tags:
- KRI
parameters:
- in: path
name: kri
schema:
type: string
required: true
description: KRI of the resource
responses:
'200':
description: The resource
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/DataplaneItem'
- $ref: '#/components/schemas/MeshItem'
- $ref: '#/components/schemas/MeshAccessLogItem'
- $ref: '#/components/schemas/MeshCircuitBreakerItem'
- $ref: '#/components/schemas/MeshFaultInjectionItem'
- $ref: '#/components/schemas/MeshGatewayItem'
- $ref: '#/components/schemas/MeshHTTPRouteItem'
- $ref: '#/components/schemas/MeshHealthCheckItem'
- $ref: '#/components/schemas/MeshLoadBalancingStrategyItem'
- $ref: '#/components/schemas/MeshMetricItem'
- $ref: '#/components/schemas/MeshPassthroughItem'
- $ref: '#/components/schemas/MeshProxyPatchItem'
- $ref: '#/components/schemas/MeshRateLimitItem'
- $ref: '#/components/schemas/MeshRetryItem'
- $ref: '#/components/schemas/MeshTCPRouteItem'
- $ref: '#/components/schemas/MeshTLSItem'
- $ref: '#/components/schemas/MeshTimeoutItem'
- $ref: '#/components/schemas/MeshTraceItem'
- $ref: '#/components/schemas/MeshTrafficPermissionItem'
- $ref: '#/components/schemas/ZoneEgressItem'
- $ref: '#/components/schemas/ZoneIngressItem'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
MeshProxyPatchItem:
type: object
description: MeshProxyPatch provides advanced customization of the Envoy proxy configuration generated by Kuma. It allows you to add, remove, or modify Envoy resources (clusters, listeners, filters, virtual hosts) using YAML patches or JSON patches for fine-grained control beyond standard policies.
required:
- type
- name
- spec
properties:
type:
description: the type of the resource
type: string
enum:
- MeshProxyPatch
mesh:
description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources.
type: string
default: default
kri:
description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing
type: string
readOnly: true
example: kri_mpp_default_zone-east_kuma-demo_mypolicy1_
name:
description: Name of the Kuma resource
type: string
labels:
additionalProperties:
type: string
description: The labels to help identity resources
type: object
spec:
description: Spec is the specification of the Kuma MeshProxyPatch resource.
properties:
default:
description: 'Default is a configuration specific to the group of destinations
referenced in ''targetRef''.'
properties:
appendModifications:
description: AppendModifications is a list of modifications applied on the selected proxy.
items:
properties:
cluster:
description: Cluster is a modification of Envoy's Cluster resource.
properties:
jsonPatches:
description: 'JsonPatches specifies list of jsonpatches to apply to on Envoy''s Cluster
resource'
items:
description: JsonPatchBlock is one json patch operation block.
properties:
from:
description: From is a jsonpatch from string, used by move and copy operations.
type: string
op:
description: Op is a jsonpatch operation string.
enum:
- add
- remove
- replace
- move
- copy
type: string
path:
description: Path is a jsonpatch path string.
type: string
value:
description: Value must be a valid json value used by replace and add operations.
x-kubernetes-preserve-unknown-fields: true
required:
- op
- path
type: object
type: array
match:
description: Match is a set of conditions that have to be matched for modification operation to happen.
properties:
name:
description: Name of the cluster to match.
type: string
origin:
description: 'Origin is the name of the component or plugin that generated the resource.
Here is the list of well-known origins:
inbound - resources generated for handling incoming traffic.
outbound - resources generated for handling outgoing traffic.
transparent - resources generated for transparent proxy functionality.
prometheus - resources generated when Prometheus metrics are enabled.
direct-access - resources generated for Direct Access functionality.
ingress - resources generated for Zone Ingress.
egress - resources generated for Zone Egress.
gateway - resources generated for MeshGateway.
The list is not complete, because policy plugins can introduce new resources.
For example MeshTrace plugin can create Cluster with "mesh-trace" origin.'
type: string
type: object
operation:
description: Operation to execute on matched cluster.
enum:
- Add
- Remove
- Patch
type: string
value:
description: Value of xDS resource in YAML format to add or patch.
type: string
required:
- operation
type: object
httpFilter:
description: 'HTTPFilter is a modification of Envoy HTTP Filter
available in HTTP Connection Manager in a Listener resource.'
properties:
jsonPatches:
description: 'JsonPatches specifies list of jsonpatches to apply to on Envoy''s
HTTP Filter available in HTTP Connection Manager in a Listener resource.'
items:
description: JsonPatchBlock is one json patch operation block.
properties:
from:
description: From is a jsonpatch from string, used by move and copy operations.
type: string
op:
description: Op is a jsonpatch operation string.
enum:
- add
- remove
- replace
- move
- copy
type: string
path:
description: Path is a jsonpatch path string.
type: string
value:
description: Value must be a valid json value used by replace and add operations.
x-kubernetes-preserve-unknown-fields: true
required:
- op
- path
type: object
type: array
match:
description: Match is a set of conditions that have to be matched for modification operation to happen.
properties:
listenerName:
description: Name of the listener to match.
type: string
listenerTags:
additionalProperties:
type: string
description: Listener tags available in Listener#Metadata#FilterMetadata[io.kuma.tags]
type: object
name:
description: Name of the HTTP filter. For example "envoy.filters.http.local_ratelimit"
type: string
origin:
description: 'Origin is the name of the component or plugin that generated the resource.
Here is the list of well-known origins:
inbound - resources generated for handling incoming traffic.
outbound - resources generated for handling outgoing traffic.
transparent - resources generated for transparent proxy functionality.
prometheus - resources generated when Prometheus metrics are enabled.
direct-access - resources generated for Direct Access functionality.
ingress - resources generated for Zone Ingress.
egress - resources generated for Zone Egress.
gateway - resources generated for MeshGateway.
The list is not complete, because policy plugins can introduce new resources.
For example MeshTrace plugin can create Cluster with "mesh-trace" origin.'
type: string
type: object
operation:
description: Operation to execute on matched listener.
enum:
- Remove
- Patch
- AddFirst
- AddBefore
- AddAfter
- AddLast
type: string
value:
description: Value of xDS resource in YAML format to add or patch.
type: string
required:
- operation
type: object
listener:
description: Listener is a modification of Envoy's Listener resource.
properties:
jsonPatches:
description: 'JsonPatches specifies list of jsonpatches to apply to on Envoy''s Listener
resource'
items:
description: JsonPatchBlock is one json patch operation block.
properties:
from:
description: From is a jsonpatch from string, used by move and copy operations.
type: string
op:
description: Op is a jsonpatch operation string.
enum:
- add
- remove
- replace
- move
- copy
type: string
path:
description: Path is a jsonpatch path string.
type: string
value:
description: Value must be a valid json value used by replace and add operations.
x-kubernetes-preserve-unknown-fields: true
required:
- op
- path
type: object
type: array
match:
description: Match is a set of conditions that have to be matched for modification operation to happen.
properties:
name:
description: Name of the listener to match.
type: string
origin:
description: 'Origin is the name of the component or plugin that generated the resource.
Here is the list of well-known origins:
inbound - resources generated for handling incoming traffic.
outbound - resources generated for handling outgoing traffic.
transparent - resources generated for transparent proxy functionality.
prometheus - resources generated when Prometheus metrics are enabled.
direct-access - resources generated for Direct Access functionality.
ingress - resources generated for Zone Ingress.
egress - resources generated for Zone Egress.
gateway - resources generated for MeshGateway.
The list is not complete, because policy plugins can introduce new resources.
For example MeshTrace plugin can create Cluster with "mesh-trace" origin.'
type: string
tags:
additionalProperties:
type: string
description: Tags available in Listener#Metadata#FilterMetadata[io.kuma.tags]
type: object
type: object
operation:
description: Operation to execute on matched listener.
enum:
- Add
- Remove
- Patch
type: string
value:
description: Value of xDS resource in YAML format to add or patch.
type: string
required:
- operation
type: object
networkFilter:
description: NetworkFilter is a modification of Envoy Listener's filter.
properties:
jsonPatches:
description: 'JsonPatches specifies list of jsonpatches to apply to on Envoy Listener''s
filter.'
items:
description: JsonPatchBlock is one json patch operation block.
properties:
from:
description: From is a jsonpatch from string, used by move and copy operations.
type: string
op:
description: Op is a jsonpatch operation string.
enum:
- add
- remove
- replace
- move
- copy
type: string
path:
description: Path is a jsonpatch path string.
type: string
value:
description: Value must be a valid json value used by replace and add operations.
x-kubernetes-preserve-unknown-fields: true
required:
- op
- path
type: object
type: array
match:
description: Match is a set of conditions that have to be matched for modification operation to happen.
properties:
listenerName:
description: Name of the listener to match.
type: string
listenerTags:
additionalProperties:
type: string
description: Listener tags available in Listener#Metadata#FilterMetadata[io.kuma.tags]
type: object
name:
description: Name of the network filter. For example "envoy.filters.network.ratelimit"
type: string
origin:
description: 'Origin is the name of the component or plugin that generated the resource.
Here is the list of well-known origins:
inbound - resources generated for handling incoming traffic.
outbound - resources generated for handling outgoing traffic.
transparent - resources generated for transparent proxy functionality.
prometheus - resources generated when Prometheus metrics are enabled.
direct-access - resources generated for Direct Access functionality.
ingress - resources generated for Zone Ingress.
egress - resources generated for Zone Egress.
gateway - resources generated for MeshGateway.
The list is not complete, because policy plugins can introduce new resources.
For example MeshTrace plugin can create Cluster with "mesh-trace" origin.'
type: string
type: object
operation:
description: Operation to execute on matched listener.
enum:
- Remove
- Patch
- AddFirst
- AddBefore
- AddAfter
- AddLast
type: string
value:
description: Value of xDS resource in YAML format to add or patch.
type: string
required:
- operation
type: object
virtualHost:
description: 'VirtualHost is a modification of Envoy''s VirtualHost
referenced in HTTP Connection Manager in a Listener resource.'
properties:
jsonPatches:
description: 'JsonPatches specifies list of jsonpatches to apply to on Envoy''s
VirtualHost resource'
items:
description: JsonPatchBlock is one json patch operation block.
properties:
from:
description: From is a jsonpatch from string, used by move and copy operations.
type: string
op:
description: Op is a jsonpatch operation string.
enum:
- add
- remove
- replace
- move
- copy
type: string
path:
description: Path is a jsonpatch path string.
type: string
value:
description: Value must be a valid json value used by replace and add operations.
x-kubernetes-preserve-unknown-fields: true
required:
- op
- path
type: object
type: array
match:
description: Match is a set of conditions that have to be matched for modification operation to happen.
properties:
name:
description: Name of the VirtualHost to match.
type: string
origin:
description: 'Origin is the name of the component or plugin that generated the resource.
Here is the list of well-known origins:
inbound - resources generated for handling incoming traffic.
outbound - resources generated for handling outgoing traffic.
transparent - resources generated for transparent proxy functionality.
prometheus - resources generated when Prometheus metrics are enabled.
direct-access - resources generated for Direct Access functionality.
ingress - resources generated for Zone Ingress.
egress - resources generated for Zone Egress.
gateway - resources generated for MeshGateway.
The list is not complete, because policy plugins can introduce new resources.
For example MeshTrace plugin can create Cluster with "mesh-trace" origin.'
type: string
routeConfigurationName:
description: Name of the RouteConfiguration resource to match.
type: string
type: object
operation:
description: Operation to execute on matched listener.
enum:
- Add
- Remove
- Patch
type: string
value:
description: Value of xDS resource in YAML format to add or patch.
type: string
required:
- match
- operation
type: object
type: object
type: array
type: object
targetRef:
description: 'TargetRef is a reference to the resource the policy takes an effect on.
The resource could be either a real store object or virtual resource
defined inplace.'
properties:
kind:
description: Kind of the referenced resource
enum:
- Mesh
- MeshSubset
- MeshGateway
- MeshService
- MeshExternalService
- MeshMultiZoneService
- MeshServiceSubset
- MeshHTTPRoute
- Dataplane
type: string
labels:
additionalProperties:
type: string
description: 'Labels are used to select group of MeshServices that match labels. Either Labels or
Name and Namespace can be used.'
type: object
mesh:
description: Mesh is reserved for future use to identify cross mesh resources.
type: string
name:
description: 'Name of the referenced resource. Can only be used with kinds: `MeshService`,
`MeshServiceSubset` and `MeshGatewayRoute`'
type: string
namespace:
description: 'Namespace specifies the namespace of target resource. If empty only resources in policy namespace
will be targeted.'
type: string
proxyTypes:
description: 'ProxyTypes specifies the data plane types that are subject to the policy. When not specified,
all data plane types are targeted by the policy.'
items:
enum:
- Sidecar
- Gateway
type: string
type: array
sectionName:
description: 'SectionName is used to target specific section of resource.
For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected.'
type: string
tags:
additionalProperties:
type: string
description: 'Tags used to select a subset of proxies by tags. Can only be used with kinds
`MeshSubset` and `MeshServiceSubset`'
type: object
required:
- kind
type: object
required:
- default
type: object
creationTime:
readOnly: true
type: string
description: Time at which the resource was created
format: date-time
example: '0001-01-01T00:00:00Z'
modificationTime:
readOnly: true
type: string
description: Time at which the resource was updated
format: date-time
example: '0001-01-01T00:00:00Z'
ZipkinTracingBackendConfig:
properties:
apiVersion:
description: 'Version of the API. values: httpJson, httpJsonV1, httpProto. Default:
httpJson see
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/trace.proto#envoy-v3-api-enum-config-trace-v3-zipkinconfig-collectorendpointversion'
type: string
sharedSpanContext:
description: 'Determines whether client and server spans will share the same span
context. Default: true.
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/zipkin.proto#config-trace-v3-zipkinconfig'
type: boolean
traceId128bit:
description: 'Generate 128bit traces. Default: false'
type: boolean
url:
description: Address of Zipkin collector.
type: string
type: object
FileLoggingBackendConfig:
description: FileLoggingBackendConfig defines configuration for file based access logs
properties:
path:
description: Path to a file that logs will be written to
type: string
type: object
TcpLoggingBackendConfig:
description: TcpLoggingBackendConfig defines configuration for TCP based access logs
properties:
address:
description: Address to TCP service that will receive logs
type: string
type: object
DataSource_Secret:
properties:
secret:
description: Data source is a secret with given Secret key.
type: string
type: object
MeshGatewayItem:
properties:
conf:
description: The desired configuration of the MeshGateway.
properties:
listeners:
description: 'Listeners define logical endpoints that are bound on this MeshGateway''s
address(es).'
items:
properties:
crossMesh:
description: 'CrossMesh enables traffic to flow to this listener only from other
meshes.'
type: boolean
hostname:
description: 'Hostname specifies the virtual hostname to match for protocol types that
define this concept. When unspecified, "", or `*`, all hostnames are
matched. This field can be omitted for protocols that don''t require
hostname based matching.'
type: string
port:
description: 'Port is the network port. Multiple listeners may use the
same port, subject to the Listener compatibility rules.'
type: integer
protocol:
description: Protocol specifies the network protocol this listener expects to receive.
oneOf:
- type: string
- type: integer
resources:
description: Resources is used to specify listener-specific resource settings.
properties:
connectionLimit:
type: integer
type: object
tags:
additionalProperties:
type: string
description: 'Tags specifies a unique combination of tags that routes can use
to match themselves to this li
# --- truncated at 32 KB (435 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kuma/refs/heads/main/openapi/kuma-kri-api-openapi.yml