Manage workspaces
Listing every workspace, updating a workspace's status, deleting a workspace, and reading workspace metadata are exposed through the API only. The SDK's workspace class covers what most apps need day-to-day; come here for the administrative operations on top.
A workspace is a container inside your Airbyte Agents organization that holds a set of connectors and credentials. Every organization starts with a default workspace, and most apps stay there. Create additional workspaces only when you need to isolate credentials across distinct tenants, teams, or environments.
Every workspace has two identifiers:
id: an Airbyte-assigned UUID that never changes for the lifetime of the workspace. This is the durable identifier. Persist it in your backend.name(referred to in request bodies asworkspace_name): a human-readable label you choose. It's also what routing endpoints like mint a scoped token and create a connector accept as a lookup key, so it acts like an identifier in day-to-day use — but it isn't guaranteed to be stable.
Create a new workspace
You don't create workspaces directly. Airbyte creates one automatically the first time you mint a scoped token against a new workspace_name. Use any stable string that makes sense in your app — for example, an internal tenant ID or team slug.
Manage workspaces
Use these endpoints to manage workspaces programmatically. All workspace management endpoints require an application token.
List workspaces
Retrieve all workspaces in your organization.
curl https://api.airbyte.ai/api/v1/workspaces \
-H 'Authorization: Bearer <application_token>'
You can filter workspaces by name and status.
curl 'https://api.airbyte.ai/api/v1/workspaces?name_contains=acme&status=active' \
-H 'Authorization: Bearer <application_token>'
{
"next": null,
"data": [
{
"id": "<workspace_id>",
"name": "default",
"organization_id": "<organization_id>",
"status": "active",
"cache_enabled": null,
"tombstone": false,
"created_at": "2026-04-20T21:57:20.991787Z",
"updated_at": "2026-04-20T21:57:20.991787Z"
}
]
}
nextis a cursor. Pass its value as a query parameter to page forward; anullvalue means this is the last page.statusis"active"or"inactive".tombstone: trueindicates a soft-deleted workspace. Workspaces are filtered totombstone: falseby default.cache_enabledmay benullif the workspace predates that feature.
Get workspace details
Retrieve details for a specific workspace:
curl https://api.airbyte.ai/api/v1/workspaces/<workspace_id> \
-H 'Authorization: Bearer <application_token>'
The response has the same per-workspace shape as each entry in the List workspaces response.
Get workspace info from a scoped token
If you have a scoped token and need to retrieve the associated workspace information:
curl https://api.airbyte.ai/api/v1/account/applications/scoped-token/info \
-H 'Authorization: Bearer <scoped_token>'
Update a workspace
Update a workspace's name or status.
curl -X PUT https://api.airbyte.ai/api/v1/workspaces/<workspace_id> \
-H 'Authorization: Bearer <application_token>' \
-H 'Content-Type: application/json' \
-d '{
"name": "Acme Corp - Enterprise",
"status": "active"
}'
Setting status to inactive automatically disables all connectors in that workspace.
Delete a workspace
Delete a workspace and all associated resources:
curl -X DELETE https://api.airbyte.ai/api/v1/workspaces/<workspace_id> \
-H 'Authorization: Bearer <application_token>'
{
"id": "<workspace_id>",
"deleted_at": "2026-04-23T01:32:22.512509Z"
}
Deleting a workspace with many connectors and long-lived credentials can take a few seconds. If the server times out with a 504, retry once — the first call typically finishes in the background.
Best practices
-
Persist each workspace's UUID (
id) in your backend on creation and reference it wherever the API accepts aworkspace_id.workspace_nameis a human-readable label, not a durable identifier — renaming breaks name-keyed requests, as described at the top of this page. -
Handle token expiration appropriately. Application tokens expire after 15 minutes and scoped tokens expire after 20 minutes.
-
Use the workspace status to manage the workspace lifecycle. Setting a workspace to
inactiveis a clean way to suspend access without deleting data.