Create a workspace
Creates a workspace owned by the signed-in user and returns it as a JSON:API resource once it is ready to use. Requires a user access token sent as Authorization: Bearer <token>. Retrying after a failure resumes the unfinished workspace instead of creating a second one, and repeating a create with the same name within ten minutes returns that workspace with status 200 and meta.existing set.
Authorization
bearer User access token authentication. Every endpoint accepts it, and endpoints that act as a person accept only it. Send a WorkOS access token in the Authorization header as: Bearer <token>.
In: header
Query Parameters
When true, suppresses in-app and Slack notifications for this mutation.
Header Parameters
The API version for this request. Send 2026-10 to get the behavior documented here. Omit it to use your API key's version, which this header can raise but not lower.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/workspaces" \ -H "clarify-version: 2026-10" \ -H "Content-Type: application/json" \ -d '{ "data": { "type": "workspace", "attributes": { "name": "Acme Corp", "domain_join": true, "region": "NA" } } }'{ "data": { "type": "workspace", "id": "3b9f6c2e-8d1a-4f5e-9c7b-2a4d6e8f0c13", "attributes": { "slug": "acme", "name": "Acme Corp", "organization_id": "org_01HXYZACMECORP0000000000", "created_at": "2026-01-15T09:30:00.000Z" } }, "meta": { "existing": true }}