Skip to main content
A company is an organization — the rename is vocabulary, the route and the payload are unchanged. GET /v1/organization is the canonical spelling of GET /v1/company for the caller’s own organization; this listing route keeps its name.

List companies

GET /v1/auth/companies
CLI: naive companies list.

Create a company

POST /v1/auth/companies Creates an additional company, seeds it the same way signup does (starter credits, a default AccountKit and default user, an api-agent and a CEO agent), and returns a new API key scoped to it.
string
required
Company display name. Minimum 2 characters.
api_key is shown once. It is scoped to the new company and sealed to that company’s default user.

Who can call this

Any valid API key on your company can call this — not only the owner.An API key carries no account identity (company_memberships.principal_id is an auth_users id; the only user on a key is a per-company tenant_users id), so the API cannot check that the caller is the owner. It resolves your company’s active owner user and attributes the new company to them: they own it, they are billed for it, and it consumes one of their five company slots.If that is not what you want, do not hand out API keys you would not let create a company. Treat this endpoint as owner-equivalent authority.
Bounds that do apply:

Errors

CLI: naive companies create.