openapi: 3.0.3 info: title: Tetrate Service Bridge REST APIs Organizations 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: Organizations description: Manage TSB organizations paths: /organizations: get: operationId: listOrganizations summary: List Organizations description: Returns a list of all TSB organizations. tags: - Organizations responses: '200': description: List of organizations content: application/json: schema: $ref: '#/components/schemas/OrganizationList' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createOrganization summary: Create Organization description: Creates a new TSB organization. tags: - Organizations requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Organization' responses: '200': description: Created organization content: application/json: schema: $ref: '#/components/schemas/Organization' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' /organizations/{organization}: get: operationId: getOrganization summary: Get Organization description: Returns the details of a specific organization. tags: - Organizations parameters: - $ref: '#/components/parameters/organization' responses: '200': description: Organization details content: application/json: schema: $ref: '#/components/schemas/Organization' '404': $ref: '#/components/responses/NotFound' put: operationId: updateOrganization summary: Update Organization description: Updates an existing organization. The etag from a GET must be included. tags: - Organizations parameters: - $ref: '#/components/parameters/organization' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Organization' responses: '200': description: Updated organization content: application/json: schema: $ref: '#/components/schemas/Organization' delete: operationId: deleteOrganization summary: Delete Organization description: Deletes an organization and all its child resources. tags: - Organizations parameters: - $ref: '#/components/parameters/organization' responses: '200': description: Organization deleted '404': $ref: '#/components/responses/NotFound' components: responses: Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/Error' BadRequest: description: Invalid request body content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error' schemas: 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 Error: type: object properties: code: type: integer message: type: string details: type: array items: type: object OrganizationList: type: object properties: organizations: type: array items: $ref: '#/components/schemas/Organization' Organization: allOf: - $ref: '#/components/schemas/ResourceMeta' type: object properties: spec: type: object properties: displayName: type: string description: type: string deletionProtectionEnabled: type: boolean parameters: organization: name: organization in: path required: true description: Organization name schema: type: string 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