Skip to main content
Version: v1.0.0(int)

E012: Create organization

POST /api/organizations

Creates a new tenant organization with the calling user as its owner. Triggered from the OrgSignup or NewOrganization page. Provisions the org row, the owner membership, and the default settings bundle in one transaction.

Authentication​

User-scoped route. Requires Authorization: Bearer <firebase-id-token>; X-Org-Id is not required — the user identity alone is sufficient. Access: Member.

Request​

{
"name": "Acme Co"
}
FieldTypeRequiredNotes
namestringyesDisplay name. Slug is derived server-side.

Response — 201 Created​

{
"organization": {
"id": "uuid",
"name": "Acme Co",
"slug": "acme-co",
"createdAt": "2026-05-18T22:00:00Z"
},
"membership": {
"userId": "uuid",
"orgId": "uuid",
"role": "owner",
"createdAt": "2026-05-18T22:00:00Z"
}
}

Errors​

HTTPcodeCondition
422validation_failedname is missing, empty, or fails shape checks; or slug retries were exhausted.

Workflow​

Calls W012 Create organization.