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.
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 "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 }}