Skip to main content

Workspaces

A workspace is the tenant an inbox belongs to. Six tools; the write tools are restricted to system tokens, because a workspace is provisioned by the source system rather than by an end user.

See the Workspace model for the shape of the returned object.


workspaces_list​

Read · scope inbox/workspaces · permission workspaces.list · GET /workspaces

List the workspaces of the token's organization. Cursor-paginated; returns { data, meta: { next_cursor } }.

ParameterTypeDescription
cursorstringOpaque cursor from a previous page.
limitintegerPage size, default 25, max 100.
sortstringSort keys, - prefix for descending.
sourcestringFilter by source system, e.g. kobana_app.
slugstringFilter by slug.
external_idstringFilter by the id in the source system.
created_at_gtestringcreated_at on or after this ISO 8601 timestamp.
created_at_ltestringcreated_at on or before this ISO 8601 timestamp.

workspaces_get​

Read · scope inbox/workspaces · permission workspaces.show · GET /workspaces/{id}

Fetch one workspace by internal id or external_id.

ParameterTypeDescription
id requiredstringInternal id or external_id.

workspaces_create​

Write · scope inbox/workspaces + write · permission workspaces.create · POST /workspaces

Create a workspace. Requires a src=system token.

ParameterTypeDescription
label requiredstringDisplay name, 1–120 chars.
external_idstringId of the record in the source system.
sourcestringSource system, e.g. kobana_app.
slugstringLowercase, dasherized. Becomes a segment of every inbox address.
monthly_cost_limitnumber | nullMonthly LLM cost ceiling.
monthly_emails_limitinteger | nullMonthly processed-e-mail ceiling.
custom_metadataobjectFree-form JSON owned by the caller.
idempotency_keystringReplay guard, 8–255 chars.

workspaces_upsert​

Write · scope inbox/workspaces + write · permission workspaces.create · PUT /workspaces

Create or update a workspace, matched by id then external_id. Answers 200 when updated, 201 when created. Requires a src=system token.

ParameterTypeDescription
idstring (uuid)Match by internal id first.
labelstringDisplay name, 1–120 chars.
external_idstringMatch key in the source system.
sourcestringSource system.
slugstringLowercase, dasherized.
monthly_cost_limitnumber | nullMonthly cost ceiling.
monthly_emails_limitinteger | nullMonthly e-mail ceiling.
custom_metadataobjectFree-form JSON.
idempotency_keystringReplay guard.

workspaces_update​

Write · scope inbox/workspaces + write · permission workspaces.update · PATCH /workspaces/{id}

Update a workspace in place. Changing the limits requires a src=system token.

ParameterTypeDescription
id requiredstringInternal id or external_id.
labelstringDisplay name, 1–120 chars.
external_idstringId in the source system.
sourcestringSource system.
slugstringLowercase, dasherized.
monthly_cost_limitnumber | nullMonthly cost ceiling.
monthly_emails_limitinteger | nullMonthly e-mail ceiling.
custom_metadataobjectFree-form JSON.

workspaces_delete​

Destructive · scope inbox/workspaces + write · permission workspaces.delete · DELETE /workspaces/{id}

Soft-delete a workspace. Requires a src=system token.

ParameterTypeDescription
id requiredstringInternal id or external_id.