Service Mesh Interface (SMI) · JSON Structure

Service Mesh Interface Structure

Logical structure of the four SMI API groups and their resource kinds. Documents the conceptual API surface of an archived CNCF specification.

Type: Properties: 0
Service MeshKubernetesTraffic PolicyTraffic ManagementTraffic MetricsStandardsCNCFArchivedSpecificationCustom Resource Definitions

Service Mesh Interface Structure is a JSON Structure definition published by Service Mesh Interface (SMI). It conforms to the https://json-structure.org/schema/v1 meta-schema.

Meta-schema: https://json-structure.org/schema/v1

JSON Structure

service-mesh-interface-structure.json Raw ↑
{
  "$schema": "https://json-structure.org/schema/v1",
  "$id": "https://api-evangelist.github.io/service-mesh-interface/json-structure/service-mesh-interface-structure.json",
  "title": "Service Mesh Interface (SMI) Structure",
  "description": "Logical structure of the four SMI API groups and their resource kinds. Documents the conceptual API surface of an archived CNCF specification.",
  "version": "0.6.0",
  "status": "archived",
  "archivalDate": "2023-10-20",
  "successor": "Kubernetes Gateway API (GAMMA Initiative)",
  "successorUrl": "https://gateway-api.sigs.k8s.io/mesh/gamma/",
  "apiGroups": [
    {
      "group": "access.smi-spec.io",
      "version": "v1alpha3",
      "concern": "Traffic Policy / Authorization",
      "kinds": ["TrafficTarget"],
      "relations": {
        "TrafficTarget.spec.rules": "references specs.smi-spec.io kinds (HTTPRouteGroup, TCPRoute, UDPRoute)",
        "TrafficTarget.spec.sources": "Kubernetes ServiceAccount references",
        "TrafficTarget.spec.destination": "Kubernetes ServiceAccount reference"
      }
    },
    {
      "group": "specs.smi-spec.io",
      "version": "v1alpha4",
      "concern": "Traffic Specs / Routing",
      "kinds": ["HTTPRouteGroup", "TCPRoute", "UDPRoute"],
      "relations": {
        "HTTPRouteGroup": "consumed by TrafficTarget.rules and TrafficSplit.matches",
        "TCPRoute": "consumed by TrafficTarget.rules",
        "UDPRoute": "consumed by TrafficTarget.rules"
      }
    },
    {
      "group": "split.smi-spec.io",
      "version": "v1alpha4",
      "concern": "Traffic Management / Progressive Delivery",
      "kinds": ["TrafficSplit"],
      "relations": {
        "TrafficSplit.spec.service": "root Kubernetes Service",
        "TrafficSplit.spec.backends[].service": "backend Kubernetes Service with integer weight",
        "TrafficSplit.spec.matches": "optional HTTPRouteGroup references for header-based segmentation"
      }
    },
    {
      "group": "metrics.smi-spec.io",
      "version": "v1alpha1",
      "concern": "Traffic Telemetry / Observability",
      "kinds": ["TrafficMetrics", "TrafficMetricsList"],
      "exposure": "Kubernetes APIService aggregation layer at /apis/metrics.smi-spec.io/v1alpha1",
      "scopedResources": ["Pod", "Deployment", "Namespace"],
      "metrics": [
        "p99_response_latency",
        "p90_response_latency",
        "p50_response_latency",
        "success_count",
        "failure_count"
      ]
    }
  ]
}

Work with this as data

Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • 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.
All 92 tools

Call it yourself

curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/service-mesh-interface-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.