---
title: "Create an organization"
method: POST
path: "/api/public/v1/organizations"
tags: ["OrganizationResource"]
---

# Create an organization

`POST /api/public/v1/organizations`

## Request

- Base URL: `https://allquiet.app` (the document declares no server; this is the origin it was published from)
- URL: `https://allquiet.app/api/public/v1/organizations`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/allquiet/apis/all-quiet-public-api/docs/api/public/v1/organizations/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a new organization.

Authorization:
- Organization API key: creates a sub-organization under the key's root organization only. The key must be bound to a root organization (IsRootOrganization). rootOrganizationId in the body must not be set; the child inherits the root org billable user. Keys bound to a sub-organization cannot create further sub-organizations.
- Personal access token (PAT): delegates to the token user's permissions. Top-level org creation omits rootOrganizationId and is allowed for any user with organizations:create scope. Child org creation requires organizations:create scope plus Owner role on the root org, matching billable user, and the root org must be IsRootOrganization. Sub-organizations cannot be used as rootOrganizationId.

**Required API key permissions**

- **Scope:** `organizations:create`
- **Accepted key types:** organization API key (org-wide), organization API key (team-scoped), personal access token (org-wide), personal access token (team-scoped)
- **Access:** Access is checked against the specific resource (team or organization reachability).
- **Notes:** Organization API keys can create sub-organizations under the key's root organization only. Personal access tokens creating a child organization require the Owner role on the root organization.

## Request body

- AllQuietApiPublicOrganizationsOrganizationResourceCreateRequest
  - `displayName` string, required
  - `rootOrganizationId` string, uuid, nullable

## Response `201`

Created

- AllQuietApiPublicOrganizationsOrganizationResourceResponse
  - `id` string, uuid
  - `displayName` string, nullable
  - `rootOrganizationId` string, uuid, nullable

---

[API](https://skmtc.dev/allquiet/apis/all-quiet-public-api.md) - [All operations](https://skmtc.dev/allquiet/apis/all-quiet-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/allquiet/apis/all-quiet-public-api/revisions/a69168a82f2c?raw)
