Platform: List Workspaces
Every workspace, newest first (platform staff: `support` or `superadmin`; signed-in only, API keys get 403). `q` matches the name, slug or id; `status` is `active` or `suspended`; `cursor` pages.
API key access
/api/v1/platform/workspacesAccess token from /api/v1/auth/login, or an API key (ro_pat_..., RO-176) from /api/v1/workspaces/current/api-keys: the key implies its workspace and needs the route's scope. MCP connectors (/api/v1/mcp only) may use an OAuth access token (ro_oat_..., RO-284).
In: header
Query Parameters
active or suspended
int641 <= value <= 100Response Body
curl -X GET "http://localhost:8000/api/v1/platform/workspaces?q=string&status=string&limit=1&cursor=string"{
"items": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"slug": "string",
"plan": "string",
"country": "string",
"members": 0,
"owner_email": "string",
"created_at": "2019-08-24T14:15:22Z",
"suspended_at": "2019-08-24T14:15:22Z",
"suspended_reason": "string",
"emails_sent_30d": 0,
"calls_30d": 0,
"ai_calls_30d": 0
}
],
"next_cursor": "string"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}Platform: List Users
Every user, newest first (platform staff). `q` matches the email or name; `role` filters by platform role.
Platform: Set Platform Role
Set a user's platform role (superadmin): grant or remove `superadmin` / `support`. Your own role can't be changed (409). At most `PLATFORM_MAX_SUPERADMINS` (default and maximum 10) superadmins: 409 `{code: superadmin_limit}` when full; the last superadmin can't be removed (409 `last_superadmin`). A demotion applies on the user's next request. Audited.