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