Skip to content
Get started

Workspaces

Manage workspaces within an account. Workspaces provide organizational grouping and isolation for resources such as agents, tools, and API keys.

This is the workspace-scoped, end-user surface. Administrative operations (create / archive workspaces, manage members) live in WorkspaceAdminService under /v1/account/workspaces and require the admin role.

List workspaces
GET/v1/workspaces
Get the current workspace
GET/v1/workspaces/current
ModelsExpand Collapse
Workspace object { metadata, spec, status }
metadata: AccountResourceMetadata { id, accountId, name, 3 more }

AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.

id: string

Unique identifier for the resource (prefixed ULID, e.g., “apikey_01HXK…”)

accountId: string

Account this resource belongs to for multi-tenant isolation (prefixed ULID)

name: string

Human-readable name for the resource (e.g., “Customer Support Agent”, “Email Tool”) Required for resources that users interact with directly

profileId: string
externalId: optional string

External ID for the resource (e.g., a workflow ID from an external system)

labels: optional map[string]

Arbitrary key-value pairs for categorization and filtering Examples: {“environment”: “production”, “team”: “platform”, “version”: “v2”}

spec: WorkspaceSpec { description }
description: optional string
status: optional "STATUS_ENABLED" or "STATUS_DISABLED" or "STATUS_ARCHIVED"

Lifecycle status of the workspace. Archived workspaces reject all requests scoped to them. Server-populated.

formatenum
One of the following:
"STATUS_ENABLED"
"STATUS_DISABLED"
"STATUS_ARCHIVED"
WorkspaceSpec object { description }
description: optional string