Tetrate APIs API

Manage API objects within applications

OpenAPI Specification

tetrate-apis-api-openapi.yml Raw ↑
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