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