Workspaces
Manage a Workspace
Fetch a single workspace with the caller's role, rename it, or delete it.
Get a workspace
GET
/io/workspaces/:idReturns a single workspace along with the acting user's effective role in it. Requires member access or higher.
Path parameters
idstringpathrequiredThe workspace UUID.
{
"data": {
"workspace": {
"id": "6f1e9c2a-1b3d-4c5e-8f90-a1b2c3d4e5f6",
"name": "Acme Agency",
"slug": "acme-agency-k3n8xq",
"owner_id": "usr-owner-uuid",
"created_at": "2026-07-01T10:00:00Z",
"updated_at": "2026-07-01T10:00:00Z"
},
"role": "owner"
}
}Rename a workspace
PATCH
/io/workspaces/:idUpdates a workspace's name. Requires admin access or higher.
Path parameters
idstringpathrequiredThe workspace UUID.
Request body
namestringbodyrequiredNew display name. Trimmed; max 100 characters.
{ "name": "Acme Studios" }{
"data": {
"id": "6f1e9c2a-1b3d-4c5e-8f90-a1b2c3d4e5f6",
"name": "Acme Studios",
"slug": "acme-agency-k3n8xq",
"owner_id": "usr-owner-uuid",
"created_at": "2026-07-01T10:00:00Z",
"updated_at": "2026-07-02T09:15:00Z"
}
}Renaming a workspace does not change its slug — the slug is fixed at creation time.
Delete a workspace
DELETE
/io/workspaces/:idPermanently deletes a workspace. Requires owner access — admins and members cannot delete a workspace.
Path parameters
idstringpathrequiredThe workspace UUID.
{ "success": true }Error cases
| Code | Error |
|---|---|
| 400 | Invalid workspace id |
| 400 | A workspace name is required (PATCH) |
| 400 | name must be 100 characters or fewer (PATCH) |
| 401 | Unauthorized |
| 403 | You do not have access to this workspace |
| 403 | Insufficient role for this action |
| 404 | Workspace not found |