How a call decides
Four things settle it, in this order. The first one that applies wins.- The call named one. Pass
workspacewith the workspace’s handle. This applies to that call only. - The key is narrowed to one. A key created for a single workspace always works there, and cannot be sent anywhere else.
- You have a default. Set it under Settings → API & MCP, in the Working in panel. It is used whenever a call does not name one.
- There is only one workspace to reach. Nothing to choose between.
Every answer says where it ran
Successful calls carry the workspace they used and a short note saying why:When a call is refused
More than one workspace and nothing chose one
More than one workspace and nothing chose one
The workspace you named is not one this key reaches
The workspace you named is not one this key reaches
You asked for a group of workspaces
You asked for a group of workspaces
Passing
workspace_set: followed by a name is refused with
workspace_set_unsupported. Working across several workspaces at once
exists in the product; naming such a group from the API does not yet. Pass a
single workspace instead.A refused workspace still answers
200 with "ok": false. Nothing was
rejected at the door — your key was fine and the action ran far enough to
answer “name one of these”. Errors and
refusals explains the two layers.Actions that take no workspace
A few things belong to the whole account rather than to one workspace — the credit balance is the clearest example. Those actions take noworkspace, and
asking for one would be a question with no answer.
If you run several workspaces
- Narrow a key per workspace. Create one key for each workspace you automate. Nothing can then send that key to the wrong one, and revoking it affects only that workspace.
- Set your default to the one you use most, and pass
workspacefor the exceptions. - Read
working_inin your own logs. It is the cheapest way to catch an integration that has been writing to the wrong workspace.