---
title: "Create a new org — you become its owner; the tenant is provisioned asynchronously (any authenticated user; self-serve, no operator approval). Poll GET /v1/me for the new org."
method: POST
path: "/v1/orgs"
tags: ["orgs"]
---

# Create a new org — you become its owner; the tenant is provisioned asynchronously (any authenticated user; self-serve, no operator approval). Poll GET /v1/me for the new org.

`POST /v1/orgs`

## Request

- Base URL: `https://api.wavehouse.cloud`
- URL: `https://api.wavehouse.cloud/v1/orgs`
- Auth: one of:
  - API key in cookie `whc_session`
  - HTTP bearer
  - API key in header `X-API-Key`

## Headers

- `Idempotency-Key` string: A unique value you choose per logical request (a random UUID). A retry with the same key and the same request within 24 hours returns the first response, marked Idempotency-Replayed: true, instead of acting twice. The same key with a different request is refused with 422; one sent while the first is still running gets 409.

## Request body

- CreateOrgInput
  - `name` string, required: the new org's display name

## Response `202`

Accepted

- CreateOrgOutput
  - `name` string, required
  - `status` string, required: always provisioning — the tenant is provisioned asynchronously by the organization.created webhook; poll GET /v1/me until the org appears and goes active
  - `workos_org_id` string, required: the new organization's id in the identity directory

## Other responses

- `429`: Rate limited, per client IP, API key or org; a client IP is also refused on every route for a while after repeated authentication failures. A limited operation carries RateLimit-Policy and RateLimit on every response; wait Retry-After seconds before retrying.
- `default`: Error

---

[API](https://skmtc.dev/wavehouse/apis/wavehouse-cloud-api.md) · [All operations](https://skmtc.dev/wavehouse/apis/wavehouse-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wavehouse/apis/wavehouse-cloud-api/revisions/adea029bf505?raw)
