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

# Create Organization

Create a new organization.

## **POST** `/orgs`

### Request Body

| Parameter    | Type   | Required | Description                                |
| :----------- | :----- | :------- | :----------------------------------------- |
| `alias`      | string | Yes      | Unique alias for the organization.         |
| `visibility` | string | Yes      | Visibility setting: `public` or `private`. |

### Response

| Parameter | Type   | Description                       |
| :-------- | :----- | :-------------------------------- |
| `org_id`  | string | The unique ID of the created org. |

### Errors

| Status | Error                            | Cause                                                                                                                                                                                         |
| :----- | :------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 400    | `invalid_request_body`           | Missing/invalid `alias` or `visibility`, or an extra field.                                                                                                                                   |
| 400    | `service_account_cannot_own_org` | The caller is a service account, which can join orgs but not own one. Checked ahead of access, so it is the answer for any service-account caller — its own API key or an acting token alike. |
| 403    | `forbidden`                      | Missing `admin` access to the calling user, e.g. a non-self-scoped API key.                                                                                                                   |
| 400    | `limit_exceeded`                 | The user already owns the maximum number of organizations.                                                                                                                                    |
| 400    | `alias_in_use`                   | The organization alias must be globally unique.                                                                                                                                               |

See [Restrictions](/general/service-accounts#restrictions) for why a service account can't own one.

### Example

<CodeGroup>
  ```json Request theme={null}
  {
    "alias": "acme-corp",
    "visibility": "public"
  }
  ```

  ```json Response theme={null}
  {
    "status": "success",
    "org_id": "org_123456"
  }
  ```
</CodeGroup>
