Create a team workspace
Any authenticated user. Slug auto-derived; caller becomes owner and the new workspace becomes their default. Returns 200 with a new workspace-scoped access token (workspace payload without tools here). A "General" team is created with the workspace and the caller becomes its lead. Everyone who joins later is enrolled in it automatically, so no member is ever left with an empty teams[] claim.
View as MarkdownAuthorization
bearer In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/workspaces" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "workspace": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "slug": "string", "name": "string", "kind": "string", "avatar_url": "string", "role": "string", "permissions": [ "string" ] }, "access_token": "string", "expires_at": "2019-08-24T14:15:22Z"}Workspace switcher list
Every workspace the caller belongs to (personal workspace self-healed first), each with member_count, is_default, and the caller's teams in that workspace. No tools field here — tool access is per active workspace and arrives with the session.
Org profile
Any member. Org plus member_count and team_count (no tools).