---
title: "Create a firm's organisation and invite its first admin (operators only)"
method: POST
path: "/v1/admin/firms"
tags: ["admin"]
---

# Create a firm's organisation and invite its first admin (operators only)

`POST /v1/admin/firms`

## Request

- Base URL: `https://api.sixminute.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sixminute.ai/v1/admin/firms`
- Auth: HTTP bearer

Two WorkOS calls, in this order: the organisation, then the invitation (role `admin` unless named). An invitation that fails after the organisation was made answers the failure with the organisation's id, and `POST /v1/admin/firms/{org}/invitations` finishes the job. Sends no email: the answer carries the sentence to send by hand and the download url.

## Request body

- object
  - `name` string, required
  - `admin_email` string, required
  - `role` 'admin' | 'billing' | 'member'

## Response `201`

The organisation and its first invitation.

- object
  - `organization` object, required
    - `id` string, required
    - `name` string, required
  - `invitation` object, required
    - `id` string, required
    - `email` string, required
    - `role` 'admin' | 'billing' | 'member', required
    - `expires_at` string, required
  - `download_url` string, required
  - `message` string, required

## Other responses

- `400`: The body, query or path did not validate; `errors` lists the fields.
- `401`: No bearer token, or one that does not verify or has expired.
- `403`: The token verified but may not do this: no organisation, not provisioned, wrong role, or a device problem.
- `429`: Too many requests; `Retry-After` says how long to wait.
- `502`: An upstream this service depends on failed or answered nonsense.
- `503`: A capability this service was not configured with, or a practice system that could not be reached; the `type` says which.

---

[API](https://skmtc.dev/sixminute/apis/sixminute-api.md) - [All operations](https://skmtc.dev/sixminute/apis/sixminute-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sixminute/apis/sixminute-api/revisions/605577eadc10?raw)
