Service Mesh Interface (SMI) website screenshot

Service Mesh Interface (SMI)

Service Mesh Interface (SMI) was a CNCF Sandbox specification that defined a standard, vendor-neutral set of Kubernetes Custom Resource Definitions (CRDs) for the most common service mesh capabilities: traffic policy, traffic telemetry, and traffic management. SMI's stated mission was "a standard interface for service meshes on Kubernetes," letting operators write portable traffic policy that worked across Linkerd, Open Service Mesh, Consul Connect, Istio (via adapter), Traefik Mesh, Gloo Mesh, and others without lock-in. The specification reached v0.6.0 (January 2021 / republished January 2024) and defined four resource groups across distinct API versions: Traffic Access Control (v1alpha3), Traffic Specs (v1alpha4), Traffic Split (v1alpha4), and Traffic Metrics (v1alpha1). Active development ceased in July 2022 when the maintainers shifted focus to the Kubernetes SIG-Network GAMMA initiative inside the Gateway API project. CNCF formally archived SMI on October 3, 2023, with the GitHub org and all repositories marked read-only on October 20, 2023. The CNCF announcement stated: "the maintainers have decided to consolidate efforts on a service mesh under the auspices of GAMMA under the Kubernetes SIG Network initiative." Gateway API GAMMA reached GA in the Standard Channel with Gateway API v1.1.0 and is now the de facto Kubernetes standard for service mesh configuration, superseding SMI. This profile documents SMI as a historical/archived standard. It is preserved so consumers of the API Evangelist network can (a) recognize legacy SMI manifests still deployed in the wild, (b) understand the conceptual lineage that fed into Gateway API GAMMA, and (c) migrate off SMI to Gateway API.

Service Mesh Interface (SMI) publishes 4 APIs on the APIs.io network. Tagged areas include Service Mesh, Kubernetes, Traffic Policy, Traffic Management, and Traffic Metrics.

The Service Mesh Interface (SMI) catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

Service Mesh Interface (SMI)’s developer surface includes code examples and 26 more developer resources.

17.7/100 emerging ▬ flat Agent 1/100 human only Full breakdown ↓
scored 2026-08-25 · rubric v0.14.0
4 APIs
Service MeshKubernetesTraffic PolicyTraffic ManagementTraffic MetricsStandardsCNCFArchivedSpecificationCustom Resource Definitions

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-25 · rubric v0.14.0
Composite quality — 17.7/100 · emerging
Contract Quality 6.5 / 21
Developer Ergonomics 1.2 / 17
Access Clarity 0.0 / 17
Operational Transparency 0.6 / 11
Contract Governance 2.6 / 10
Discoverability 5.5 / 9
Regulatory Posture 2.5 / 15
Agent readiness — 1/100 · human only
Machine-Readable Contract 0 / 18
Agentic Access Contract 0 / 10
Documented Reversibility 0 / 6
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 0 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Delegated User Identity 0 / 6
Protected Resource Metadata 0 / 5
Registration Without a Human 0 / 6
Agentic Commerce Surface 0 / 5
Regulatory Posture applies to this provider. Its tags matched the Insurance regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
The six quality facets above are damped to 85 points between them, because the conditional facet above carries the other 15. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 85% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/service-mesh-interface: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 4

Individual APIs this provider publishes, each with its own machine-readable definition.

SMI Traffic Access Control

Traffic Access Control defines the `TrafficTarget` resource, which associates a set of traffic rules with a service identity allocated to a group of pods. It is the authorizatio...

SMI Traffic Specs

Traffic Specs describes a set of resources that allow users to specify how their traffic looks. It is used in concert with access control and other policies to concretely define...

SMI Traffic Split

Traffic Split defines the `TrafficSplit` resource, which allows users to incrementally direct percentages of traffic between various services. It is the canonical SMI primitive ...

SMI Traffic Metrics

Traffic Metrics is "a resource that provides a common integration point for tools that can benefit by consuming metrics related to HTTP traffic." It is exposed as a Kubernetes A...

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Service Mesh Interface Context

9 classes · 3 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

Service Mesh Interface (SMI) API Rules

5 rules · 4 warnings 1 info

SPECTRAL

JSON Schema 6

Standalone JSON Schema definitions for this provider's data models.

SMI HTTPRouteGroup

4 properties

JSON SCHEMA

SMI TCPRoute

4 properties

JSON SCHEMA

SMI TrafficMetrics

7 properties

JSON SCHEMA

SMI TrafficSplit

4 properties

JSON SCHEMA

SMI TrafficTarget

4 properties

JSON SCHEMA

SMI UDPRoute

4 properties

JSON SCHEMA

JSON Structure 1

JSON Structure definitions describing this provider's data shapes.

Service Mesh Interface Structure

0 properties

JSON STRUCTURE

Examples 1

Example request and response payloads for these APIs.

Traffic Metrics Example

7 fields

EXAMPLE

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Resources

Documentation 6

Reference material describing how the API behaves

Design & Contract 2

Pagination, idempotency, versioning, errors, and events

Build 5

SDKs, sample code, and the tooling you integrate with

Access & Security 1

Authentication, authorization, and security posture

Operate 1

Status, limits, changes, and where to get help

Commercial 1

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 10

Properties that don't map to a standard resource type

Scroll for all 10

Source (apis.yml)

apis.yml Raw ↑
name: Service Mesh Interface (SMI)
description: 'Service Mesh Interface (SMI) was a CNCF Sandbox specification that defined a standard,

  vendor-neutral set of Kubernetes Custom Resource Definitions (CRDs) for the most common

  service mesh capabilities: traffic policy, traffic telemetry, and traffic management.

  SMI''s stated mission was "a standard interface for service meshes on Kubernetes," letting

  operators write portable traffic policy that worked across Linkerd, Open Service Mesh,

  Consul Connect, Istio (via adapter), Traefik Mesh, Gloo Mesh, and others without lock-in.


  The specification reached v0.6.0 (January 2021 / republished January 2024) and defined four

  resource groups across distinct API versions: Traffic Access Control (v1alpha3),

  Traffic Specs (v1alpha4), Traffic Split (v1alpha4), and Traffic Metrics (v1alpha1).

  Active development ceased in July 2022 when the maintainers shifted focus to the

  Kubernetes SIG-Network GAMMA initiative inside the Gateway API project.


  CNCF formally archived SMI on October 3, 2023, with the GitHub org and all repositories

  marked read-only on October 20, 2023. The CNCF announcement stated: "the maintainers have

  decided to consolidate efforts on a service mesh under the auspices of GAMMA under the

  Kubernetes SIG Network initiative." Gateway API GAMMA reached GA in the Standard Channel

  with Gateway API v1.1.0 and is now the de facto Kubernetes standard for service mesh

  configuration, superseding SMI.


  This profile documents SMI as a historical/archived standard. It is preserved so consumers

  of the API Evangelist network can (a) recognize legacy SMI manifests still deployed in

  the wild, (b) understand the conceptual lineage that fed into Gateway API GAMMA, and

  (c) migrate off SMI to Gateway API.

  '
url: https://github.com/api-evangelist/service-mesh-interface
humanURL: https://smi-spec.io
accessModel:
  pricing: unknown
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Unknown
  confidence: low
  source: []
  generated: '2026-07-22'
  method: derived
image: https://avatars.githubusercontent.com/u/59054423
tags:
- Service Mesh
- Kubernetes
- Traffic Policy
- Traffic Management
- Traffic Metrics
- Standards
- CNCF
- Archived
- Specification
- Custom Resource Definitions
created: '2026-05-22'
modified: '2026-05-23'
specificationVersion: '0.23'
type: Index
aid: service-mesh-interface
access: 3rd-Party
common:
- type: DomainSecurity
  url: security/service-mesh-interface-domain-security.yml
- type: Website
  url: https://smi-spec.io
- type: Specification
  url: https://github.com/servicemeshinterface/smi-spec
- type: GitHubOrg
  url: https://github.com/servicemeshinterface
- type: GitHubRepo
  url: https://github.com/servicemeshinterface/smi-spec
- type: License
  url: https://github.com/servicemeshinterface/smi-spec/blob/main/LICENSE
  name: Apache-2.0
- type: Governance
  url: https://www.cncf.io
  name: CNCF (Cloud Native Computing Foundation) Sandbox Project
- type: ArchivalNotice
  url: https://www.cncf.io/blog/2023/10/03/cncf-archives-the-service-mesh-interface-smi-project/
  name: CNCF Archived 2023-10-03
  description: '"The maintainers have decided to consolidate efforts on a service mesh under the

    auspices of GAMMA under the Kubernetes SIG Network initiative." GitHub org archived

    and made read-only on 2023-10-20.

    '
- type: SuccessorSpecification
  url: https://gateway-api.sigs.k8s.io/mesh/gamma/
  name: Kubernetes Gateway API GAMMA Initiative
  description: 'Gateway API GAMMA reached GA in the Standard Channel with v1.1.0 and is the

    Kubernetes-native successor to SMI for service-mesh configuration.

    '
- type: SlackChannel
  url: https://cloud-native.slack.com
  name: '#smi (CNCF Slack, archived)'
- type: SDKs
  url: https://github.com/servicemeshinterface/smi-sdk-go
  name: smi-sdk-go (Go, archived)
- type: SDKs
  url: https://github.com/servicemeshinterface/smi-controller-sdk
  name: smi-controller-sdk (Go controller SDK, archived)
- type: ReferenceImplementation
  url: https://github.com/servicemeshinterface/smi-metrics
  name: smi-metrics (TrafficMetrics API server, archived)
- type: ReferenceImplementation
  url: https://github.com/servicemeshinterface/smi-adapter-istio
  name: smi-adapter-istio (Istio adapter, archived)
- type: ReferenceImplementation
  url: https://github.com/servicemeshinterface/istio-smi-controller
  name: istio-smi-controller (example controller, archived)
- type: KnownImplementation
  name: Linkerd
  url: https://linkerd.io
- type: KnownImplementation
  name: Open Service Mesh (OSM)
  url: https://openservicemesh.io
- type: KnownImplementation
  name: Consul Connect
  url: https://www.consul.io/docs/connect
- type: KnownImplementation
  name: Traefik Mesh
  url: https://traefik.io/traefik-mesh/
- type: KnownImplementation
  name: Gloo Mesh
  url: https://www.solo.io/products/gloo-mesh/
- type: KnownImplementation
  name: Flagger
  url: https://flagger.app
- type: KnownImplementation
  name: Meshery
  url: https://meshery.io
- type: KnownImplementation
  name: Argo Rollouts (TrafficSplit support)
  url: https://argoproj.github.io/rollouts/
- type: JSONSchema
  url: ./json-schema/
- type: JSONLD
  url: ./json-ld/service-mesh-interface-context.jsonld
- type: Vocabulary
  url: ./vocabulary/service-mesh-interface-vocabulary.yml
- type: Examples
  url: ./examples/
apis:
- name: SMI Traffic Access Control
  description: 'Traffic Access Control defines the `TrafficTarget` resource, which associates a set

    of traffic rules with a service identity allocated to a group of pods. It is the

    authorization layer of SMI: which source identities may speak which protocols/routes

    to which destination identity. Per the spec, "a valid TrafficTarget must specify a

    destination, at least one rule, and at least one source."

    '
  humanURL: https://github.com/servicemeshinterface/smi-spec/blob/main/apis/traffic-access/v1alpha3/traffic-access.md
  aid: smi-traffic-access
  tags:
  - Traffic Policy
  - Access Control
  - Authorization
  - Kubernetes CRD
  - SMI
  properties:
  - type: APIVersion
    name: access.smi-spec.io/v1alpha3
  - type: Kind
    name: TrafficTarget
  - type: Specification
    url: https://github.com/servicemeshinterface/smi-spec/blob/main/apis/traffic-access/v1alpha3/traffic-access.md
  - type: JSONSchema
    url: ./json-schema/traffic-target-schema.json
  - type: Examples
    url: ./examples/traffic-target-example.yaml
- name: SMI Traffic Specs
  description: 'Traffic Specs describes a set of resources that allow users to specify how their

    traffic looks. It is used in concert with access control and other policies to

    concretely define what should happen to specific types of traffic as it flows

    through the mesh. Defines `HTTPRouteGroup`, `TCPRoute`, and `UDPRoute` resources.

    '
  humanURL: https://github.com/servicemeshinterface/smi-spec/blob/main/apis/traffic-specs/v1alpha4/traffic-specs.md
  aid: smi-traffic-specs
  tags:
  - Traffic Specs
  - Routing
  - HTTP
  - TCP
  - UDP
  - Kubernetes CRD
  - SMI
  properties:
  - type: APIVersion
    name: specs.smi-spec.io/v1alpha4
  - type: Kind
    name: HTTPRouteGroup
  - type: Kind
    name: TCPRoute
  - type: Kind
    name: UDPRoute
  - type: Specification
    url: https://github.com/servicemeshinterface/smi-spec/blob/main/apis/traffic-specs/v1alpha4/traffic-specs.md
  - type: JSONSchema
    url: ./json-schema/http-route-group-schema.json
  - type: JSONSchema
    url: ./json-schema/tcp-route-schema.json
  - type: JSONSchema
    url: ./json-schema/udp-route-schema.json
  - type: Examples
    url: ./examples/http-route-group-example.yaml
  - type: Examples
    url: ./examples/tcp-route-example.yaml
  - type: Examples
    url: ./examples/udp-route-example.yaml
- name: SMI Traffic Split
  description: 'Traffic Split defines the `TrafficSplit` resource, which allows users to incrementally

    direct percentages of traffic between various services. It is the canonical SMI

    primitive for canary deployments, blue/green rollouts, and A/B testing across a mesh.

    '
  humanURL: https://github.com/servicemeshinterface/smi-spec/blob/main/apis/traffic-split/v1alpha4/traffic-split.md
  aid: smi-traffic-split
  tags:
  - Traffic Management
  - Traffic Splitting
  - Canary
  - Blue-Green
  - Progressive Delivery
  - Kubernetes CRD
  - SMI
  tags_raw:
  - Traffic Management
  - Traffic Splitting
  - Canary
  - Blue Green
  - Progressive Delivery
  - Kubernetes CRD
  - SMI
  properties:
  - type: APIVersion
    name: split.smi-spec.io/v1alpha4
  - type: Kind
    name: TrafficSplit
  - type: Specification
    url: https://github.com/servicemeshinterface/smi-spec/blob/main/apis/traffic-split/v1alpha4/traffic-split.md
  - type: JSONSchema
    url: ./json-schema/traffic-split-schema.json
  - type: Examples
    url: ./examples/traffic-split-example.yaml
- name: SMI Traffic Metrics
  description: 'Traffic Metrics is "a resource that provides a common integration point for tools

    that can benefit by consuming metrics related to HTTP traffic." It is exposed as a

    Kubernetes APIService extension at `metrics.smi-spec.io/v1alpha1` and reports

    latency percentiles (p50/p90/p99) and success/failure counts per pod, deployment,

    namespace, or traffic edge.

    '
  humanURL: https://github.com/servicemeshinterface/smi-spec/blob/main/apis/traffic-metrics/v1alpha1/traffic-metrics.md
  baseURL: https://kubernetes.default.svc/apis/metrics.smi-spec.io/v1alpha1
  aid: smi-traffic-metrics
  tags:
  - Traffic Metrics
  - Observability
  - Telemetry
  - Kubernetes APIService
  - SMI
  properties:
  - type: APIVersion
    name: metrics.smi-spec.io/v1alpha1
  - type: Kind
    name: TrafficMetrics
  - type: Kind
    name: TrafficMetricsList
  - type: Specification
    url: https://github.com/servicemeshinterface/smi-spec/blob/main/apis/traffic-metrics/v1alpha1/traffic-metrics.md
  - type: ReferenceImplementation
    url: https://github.com/servicemeshinterface/smi-metrics
  - type: JSONSchema
    url: ./json-schema/traffic-metrics-schema.json
  - type: Examples
    url: ./examples/traffic-metrics-example.json
  operations:
  - method: GET
    endpoint: /apis/metrics.smi-spec.io/v1alpha1/namespaces/{namespace}/pods
  - method: GET
    endpoint: /apis/metrics.smi-spec.io/v1alpha1/namespaces/{namespace}/pods/{name}
  - method: GET
    endpoint: /apis/metrics.smi-spec.io/v1alpha1/namespaces/{namespace}/pods/{name}/edges
  - method: GET
    endpoint: /apis/metrics.smi-spec.io/v1alpha1/namespaces/{namespace}/deployments
  - method: GET
    endpoint: /apis/metrics.smi-spec.io/v1alpha1/namespaces/{namespace}/deployments/{name}
  - method: GET
    endpoint: /apis/metrics.smi-spec.io/v1alpha1/namespaces/{namespace}/deployments/{name}/edges
  - method: GET
    endpoint: /apis/metrics.smi-spec.io/v1alpha1/namespaces
maintainers:
- FN: API Evangelist
  email: info@apievangelist.com
  url: https://apievangelist.com

Work with this as data

Every provider 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 providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • 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 provider
curl "https://apis.io/api/v1/providers/service-mesh-interface"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/service-mesh-interface/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/service-mesh-interface/evidence"

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.