OpenAPI Specification
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