---
title: "Create an enterprise for an organization"
method: POST
path: "/api/v2/organization/{organizationId}/enterprise"
tags: ["Enterprise Management"]
---

# Create an enterprise for an organization

`POST /api/v2/organization/{organizationId}/enterprise`

Create an enterprise in the specified organization. Also create a user if it doesn't already exist.
This endpoint is intended for creating enterprises in Crypto-as-a-Service (CaaS) organizations. For non-CaaS organizations, set isCaaS to false to skip validation.

By default the new enterprise's initial `kycState` follows the environment: `approved` where KYC
is not enforced (testnet-like environments) and `pending` where it is enforced (production, staging).
Pass `fullSandboxKyc: true` to simulate the full KYC flow in a non-enforcing environment by starting
with `kycState = pending`. Ignored in enforcing environments. KycExemption license takes precedence
and overrides to `approved` even when this flag is set.

## Path parameters

- `organizationId` string, required

## Request body

- object
  - `email` string, required
  - `idempotencyKey` string, required — A unique identifier for the enterprise creation request. Multiple enterprises with the same organizationId and idempotencyKey will not be created.
  - `additionalAdmins` string[], required
  - `isCaaS` boolean — Indicates if this is a Crypto-as-a-Service (CaaS) organization. If set to true, validates that the organization configuration is complete before creating child enterprises.
  - `accountType` 'individual' | 'entity' — The account type for the enterprise. Defaults to 'individual' if not specified.
  - `fullSandboxKyc` boolean — Enterprises are KYC approved at BitGo in our Test environment by default. If you want to replicate production and start the enterprise with pending KYC, pass this as true. Note: you will then need to complete KYC/KYB of the enterprise to move it to approved/rejected.
  - `thirdPartyIdentifier` object[]
    - `id` string, required — Identifier of the third party
    - `label` string, required — Label for the third party

## Response `200`

OK

- CreateOrganizationEnterpriseResponse
  - `enterpriseId` string, required
  - `userId` string, required

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `500` — Internal Server Error

---

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