> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stateset.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Register a new organization

> Organization registered. A session cookie is also set; api_key.key is the full plaintext key, returned only once.

### Request body

`RegisterOrganizationRequest`

<ParamField body="name" type="string" required />

<ParamField body="email" type="string (email)" required />

<ParamField body="plan" type="string" required />

### Response

`object`

<ResponseField name="organization" type="object" required>
  <Expandable title="organization">
    <ResponseField name="id" type="string (uuid)" required />

    <ResponseField name="name" type="string" required />

    <ResponseField name="slug" type="string" required />

    <ResponseField name="plan" type="string" required />

    <ResponseField name="trial_credits_remaining" type="integer" required>
      Trial credits in cents
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="user" type="object" required>
  <Expandable title="user">
    <ResponseField name="id" type="string (uuid)" required />

    <ResponseField name="email" type="string (email)" required />

    <ResponseField name="role" type="string" required />
  </Expandable>
</ResponseField>

<ResponseField name="api_key" type="object" required>
  <Expandable title="api_key">
    <ResponseField name="key" type="string" required>
      Full plaintext API key; shown only in this response
    </ResponseField>

    <ResponseField name="key_prefix" type="string" required />

    <ResponseField name="name" type="string" required />
  </Expandable>
</ResponseField>

<ResponseField name="token" type="string" required>
  Session token (also set as a cookie)
</ResponseField>

### Status codes

| Code  | Meaning                                                                                                             |
| ----- | ------------------------------------------------------------------------------------------------------------------- |
| `201` | Organization registered. A session cookie is also set; `api_key.key` is the full plaintext key, returned only once. |
| `400` | Invalid request                                                                                                     |
| `409` | Organization already exists                                                                                         |

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url 'https://api.sandbox.stateset.app/api/v1/register' \
    --header "Authorization: Bearer $STATESET_SANDBOX_API_KEY" \
    --header 'Content-Type: application/json' \
    --data '{
    "name": "Two-Person Tent",
    "email": "ada.lovelace@example.com",
    "plan": "hobby"
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={null}
  {
    "organization": {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "name": "Two-Person Tent",
      "slug": "acme-outdoors",
      "plan": "string",
      "trial_credits_remaining": 1
    },
    "user": {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "email": "ada.lovelace@example.com",
      "role": "string"
    },
    "api_key": {
      "key": "string",
      "key_prefix": "string",
      "name": "Two-Person Tent"
    },
    "token": "YOUR_API_KEY"
  }
  ```
</ResponseExample>
