---
title: "Create an organization"
method: POST
path: "/organizations"
tags: ["Organizations"]
---

# Create an organization

`POST /organizations`

Creates a new organization with the given name for an instance.
You can specify an optional slug for the new organization.
If provided, the organization slug can contain only lowercase alphanumeric characters (letters and digits) and the dash "-".
Organization slugs must be unique for the instance.
You can provide additional metadata for the organization and set any custom attribute you want.
Organizations support private and public metadata.
Private metadata can only be accessed from the Backend API.
Public metadata can be accessed from the Backend API, and are read-only from the Frontend API.
The `created_by` user will see this as their [active organization](https://clerk.com/docs/organizations/overview#active-organization)
the next time they create a session, presuming they don't explicitly set a different organization as active before then.

## Request body

- object
  - `name` string, required — The name of the new organization. May not contain URLs or HTML. Max length: 256
  - `created_by` string, nullable — The ID of the User who will become the administrator for the new organization
  - `private_metadata` object, nullable — Metadata saved on the organization, accessible only from the Backend API
  - `public_metadata` object, nullable — Metadata saved on the organization, read-only from the Frontend API and fully accessible (read/write) from the Backend API
  - `slug` string, nullable — A slug for the new organization. Can contain only lowercase alphanumeric characters and the dash "-". Must be unique for the instance. This field should only be included when slugs are enabled in the organization settings, refer to our [documentation](https://clerk.com/docs/guides/organizations/overview#organization-slugs).
  - `max_allowed_memberships` integer, nullable — The maximum number of memberships allowed for this organization
  - `created_at` string, nullable — A custom date/time denoting _when_ the organization was created, specified in RFC3339 format (e.g. `2012-10-20T07:15:20.902Z`).
  - `role_set_key` string, nullable — The key of the [role set](https://clerk.com/docs/guides/organizations/control-access/role-sets) to assign to this organization.

## Response `200`

An organization

- Organization
  - `object` 'organization', required
  - `id` string, required
  - `name` string, required
  - `slug` string, required
  - `image_url` string
  - `has_image` boolean, required
  - `members_count` integer
  - `missing_member_with_elevated_permissions` boolean
  - `pending_invitations_count` integer
  - `max_allowed_memberships` integer, required
  - `admin_delete_enabled` boolean, required
  - `public_metadata` object, required
  - `private_metadata` object
  - `created_by` string
  - `created_at` integer, required — Unix timestamp of creation.
  - `updated_at` integer, required — Unix timestamp of last update.
  - `last_active_at` integer — Unix timestamp of last activity.
  - `role_set_key` string, nullable — The key of the [role set](https://clerk.com/docs/guides/organizations/control-access/role-sets) assigned to this organization.

## Other responses

- `400` — Request was not successful
- `402` — Payment required
- `403` — Authorization invalid
- `422` — Invalid request parameters

---

[API](https://skmtc.net/clerk/apis/clerk-backend-api.md) · [All operations](https://skmtc.net/clerk/apis/clerk-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clerk/clerk-backend-api/versions/cf036e7951d3/schema)
