openapi: 3.0.3 info: title: Tetrate Service Bridge REST APIs Workspaces 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: Workspaces description: Manage workspaces within tenants paths: /organizations/{organization}/tenants/{tenant}/workspaces: get: operationId: listWorkspaces summary: List Workspaces description: Returns all workspaces within a tenant. tags: - Workspaces parameters: - $ref: '#/components/parameters/organization' - $ref: '#/components/parameters/tenant' responses: '200': description: List of workspaces content: application/json: schema: $ref: '#/components/schemas/WorkspaceList' post: operationId: createWorkspace summary: Create Workspace description: Creates a new workspace within a tenant. tags: - Workspaces parameters: - $ref: '#/components/parameters/organization' - $ref: '#/components/parameters/tenant' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Workspace' responses: '200': description: Created workspace content: application/json: schema: $ref: '#/components/schemas/Workspace' /organizations/{organization}/tenants/{tenant}/workspaces/{workspace}: get: operationId: getWorkspace summary: Get Workspace description: Returns the details of a specific workspace. tags: - Workspaces parameters: - $ref: '#/components/parameters/organization' - $ref: '#/components/parameters/tenant' - $ref: '#/components/parameters/workspace' responses: '200': description: Workspace details content: application/json: schema: $ref: '#/components/schemas/Workspace' put: operationId: updateWorkspace summary: Update Workspace description: Updates an existing workspace. tags: - Workspaces parameters: - $ref: '#/components/parameters/organization' - $ref: '#/components/parameters/tenant' - $ref: '#/components/parameters/workspace' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Workspace' responses: '200': description: Updated workspace content: application/json: schema: $ref: '#/components/schemas/Workspace' delete: operationId: deleteWorkspace summary: Delete Workspace description: Deletes a workspace and all its groups. tags: - Workspaces parameters: - $ref: '#/components/parameters/organization' - $ref: '#/components/parameters/tenant' - $ref: '#/components/parameters/workspace' responses: '200': description: Workspace deleted components: schemas: Workspace: allOf: - $ref: '#/components/schemas/ResourceMeta' type: object properties: spec: type: object properties: displayName: type: string description: type: string namespaceSelector: type: object description: Selects namespaces assigned to this workspace properties: names: type: array items: type: string description: Namespaces in cluster/namespace format WorkspaceList: type: object properties: workspaces: type: array items: $ref: '#/components/schemas/Workspace' 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 parameters: workspace: name: workspace in: path required: true description: Workspace 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 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