Skip to main content
Every resource in SmartlyQ belongs to a workspace. Workspaces provide tenant isolation — data in one workspace is invisible to another.
Building a product where your own customers connect accounts and never see SmartlyQ? That is Profiles - per-end-customer sub-accounts with hosted connect links and per-account billing. Workspaces are for agency sub-accounts you manage yourself.

Passing workspace_id

Most endpoints accept an optional workspace_id parameter. When provided, the API:
  1. Verifies your API key’s user is a member of that workspace
  2. Scopes all returned data to that workspace
  3. Returns 403 Forbidden if you don’t have access
If you omit workspace_id, some endpoints may return data across all your workspaces or return empty results. Always pass workspace_id for consistent, scoped results.

Finding your workspace ID

Use the /v1/me endpoint to list your available workspaces:
The response includes a workspaces array with each workspace’s id and name.

Workspace isolation guarantees

  • You can only access workspaces where your user is a member
  • All create, read, update, and delete operations are scoped by workspace_id
  • Passing another user’s workspace_id returns 403 Forbidden
  • Resources created without a workspace_id default to your primary workspace

Endpoints that require workspace_id

Error response

If you pass a workspace_id you don’t have access to: