OpenAPI Specification
openapi: 3.0.3
info:
title: Tetrate Service Bridge REST APIs API
description: The Tetrate Service Bridge (TSB) REST API provides programmatic management of the TSB control plane. It exposes endpoints for managing organizations, tenants, workspaces, cluster onboarding, gateway configuration, traffic routing, security policies, and application/API lifecycle management across multi-cluster, multi-cloud service mesh environments. The API uses Protobuf-backed REST resources and supports standard CRUD operations via HTTP verbs.
version: '2.0'
contact:
name: Tetrate
url: https://tetrate.io/
license:
name: Proprietary
url: https://tetrate.io/
servers:
- url: https://{tsb-host}:8443/v2
description: TSB Management Plane REST API
variables:
tsb-host:
default: tsb.example.com
description: Hostname of your TSB management plane
security:
- BasicAuth: []
- JWTToken: []
tags:
- name: APIs
description: Manage API objects within applications
paths:
/organizations/{organization}/tenants/{tenant}/applications/{application}/apis:
get:
operationId: listAPIs
summary: List APIs
description: Returns all APIs registered to an application.
tags:
- APIs
parameters:
- $ref: '#/components/parameters/organization'
- $ref: '#/components/parameters/tenant'
- $ref: '#/components/parameters/application'
responses:
'200':
description: List of APIs
content:
application/json:
schema:
$ref: '#/components/schemas/APIList'
post:
operationId: createAPI
summary: Create API
description: Registers a new API within an application using OpenAPI v3 spec.
tags:
- APIs
parameters:
- $ref: '#/components/parameters/organization'
- $ref: '#/components/parameters/tenant'
- $ref: '#/components/parameters/application'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/API'
responses:
'200':
description: Registered API
content:
application/json:
schema:
$ref: '#/components/schemas/API'
/organizations/{organization}/tenants/{tenant}/applications/{application}/apis/{api}:
get:
operationId: getAPI
summary: Get API
description: Returns the details of a specific API.
tags:
- APIs
parameters:
- $ref: '#/components/parameters/organization'
- $ref: '#/components/parameters/tenant'
- $ref: '#/components/parameters/application'
- $ref: '#/components/parameters/api'
responses:
'200':
description: API details
content:
application/json:
schema:
$ref: '#/components/schemas/API'
put:
operationId: updateAPI
summary: Update API
description: Updates an existing API registration.
tags:
- APIs
parameters:
- $ref: '#/components/parameters/organization'
- $ref: '#/components/parameters/tenant'
- $ref: '#/components/parameters/application'
- $ref: '#/components/parameters/api'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/API'
responses:
'200':
description: Updated API
content:
application/json:
schema:
$ref: '#/components/schemas/API'
delete:
operationId: deleteAPI
summary: Delete API
description: Removes an API registration from an application.
tags:
- APIs
parameters:
- $ref: '#/components/parameters/organization'
- $ref: '#/components/parameters/tenant'
- $ref: '#/components/parameters/application'
- $ref: '#/components/parameters/api'
responses:
'200':
description: API deleted
components:
parameters:
application:
name: application
in: path
required: true
description: Application name
schema:
type: string
api:
name: api
in: path
required: true
description: API name
schema:
type: string
tenant:
name: tenant
in: path
required: true
description: Tenant name
schema:
type: string
organization:
name: organization
in: path
required: true
description: Organization name
schema:
type: string
schemas:
APIList:
type: object
properties:
apis:
type: array
items:
$ref: '#/components/schemas/API'
HTTPEndpoint:
type: object
properties:
path:
type: string
methods:
type: array
items:
type: string
hostnames:
type: array
items:
type: string
ResourceMeta:
type: object
properties:
name:
type: string
description: Resource name (1-63 chars, lowercase alphanumeric with hyphens)
fqn:
type: string
description: Fully-qualified name
displayName:
type: string
description:
type: string
etag:
type: string
description: Version tag for optimistic concurrency
labels:
type: object
additionalProperties:
type: string
annotations:
type: object
additionalProperties:
type: string
API:
allOf:
- $ref: '#/components/schemas/ResourceMeta'
type: object
properties:
spec:
type: object
properties:
openapi:
type: string
description: Raw OpenAPI v3 spec defining the API endpoints
workloadSelector:
type: object
description: Gateway workload specification
httpServers:
type: array
description: List of gateway servers exposing the API (output-only)
items:
type: object
endpoints:
type: array
description: HTTP endpoints generated from OpenAPI spec (output-only)
items:
$ref: '#/components/schemas/HTTPEndpoint'
securitySchemes:
BasicAuth:
type: http
scheme: basic
description: HTTP Basic authentication with TSB username and password
JWTToken:
type: apiKey
in: header
name: x-tetrate-token
description: JWT token authentication using the x-tetrate-token header
externalDocs:
description: Tetrate Service Bridge REST API Guide
url: https://docs.tetrate.io/service-bridge/reference/rest-api/guide