Workspaces
| Tool | REST endpoint | Annotations |
|---|---|---|
list_workspaces | GET /v1/workspaces | read, idempotent |
Every other tool accepts an optional workspace argument. That's useless if the model has never been told which IDs exist. This tool closes that loop: call it first, then pass the id you want to use.
It matters most with OAuth. You picked workspaces on the consent screen; the client was never given those IDs any other way.
list_workspaces
No arguments.
Returns the workspaces for this credential, with name, role, and the modules your role can reach. It also tells you whether the other tools need a workspace argument.
{
"name": "list_workspaces",
"arguments": {}
} What to read from the response
| Field | Meaning |
|---|---|
workspaces[].id | The value that goes in the workspace argument of the other tools. |
workspaces[].name | Display name (the company name in Platica). |
workspaces[].role | The user's role in that workspace (owner, admin, operator, …). |
workspaces[].modules | "all" or the list of modules with access (conversations, contacts, agents, integrations, …). |
active | If there is a single workspace, its id. If there are several, null. |
requires_workspace_argument | true when there is more than one workspace: write tools will ask for it. |
credential.type | "oauth" or "apiKey". |
credential.scopes | Present for OAuth: platica:read, platica:write, offline_access. |
If requires_workspace_argument is true, don't guess the ID: use the one from list_workspaces. Omitting it on a write produces 400 Must specify a valid workspace....
With a single-workspace API Key this tool still works: active is filled in and you don't need to pass workspace anywhere else.
REST documentation: Workspaces .