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
client.Workspaces.List(ctx, query) (*CursorPagination[Workspace], error)
GET/v1/workspaces
Get the current workspace
client.Workspaces.Get(ctx) (*Workspace, error)
GET/v1/workspaces/current
ModelsExpand Collapse
type Workspace struct{…}

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 stringOptional

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

Labels map[string, string]Optional

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

Description stringOptional
Status WorkspaceStatusOptional

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

formatenum
One of the following:
const WorkspaceStatusStatusEnabled WorkspaceStatus = "STATUS_ENABLED"
const WorkspaceStatusStatusDisabled WorkspaceStatus = "STATUS_DISABLED"
const WorkspaceStatusStatusArchived WorkspaceStatus = "STATUS_ARCHIVED"
type WorkspaceSpec struct{…}
Description stringOptional