Skip to content

Workspaces

List the workspaces you belong to and switch which one is active. Session-token only — an API key or OAuth connection is pinned to the workspace it was created in and can't reach these.

GET

/workspaces

Lists the workspaces the caller belongs to, each trimmed to id, name and plan.

POST

/workspaces/{id}/switch

Switches the caller's active workspace, provided they're already a member. Returns 404 not_found (not 403) if the caller can't access it — the endpoint never confirms a workspace exists to someone who isn't a member.

GET

/workspaces/{id}/usage

Users, projects, and storage consumed against the workspace's plan limits. Unlike List/Switch above, this takes any credential — API key, OAuth, or session token — but only for the credential's own active workspace: {id} must match it exactly, or the response is 404 not_found, never 403.

GET

/workspaces/{id}/subscription

The workspace's current plan and subscription status. Same credential and {id}-must-match-active-workspace rules as Usage above. 404s if the workspace has no subscription row.

View example
List workspaces
curl https://api.klaarin.com/v1/workspaces \
  -H "Authorization: Bearer eyJhbGciOi…"
Response
[
  { "id": "clw1a2b3c4d5e6f7g8h9i0", "name": "Floothink", "plan": "pro" },
  { "id": "clw9z8y7x6w5v4u3t2s1r0", "name": "Klaarin Internal", "plan": "medium" }
]