REST APIOrganizationEnterprise Management

POST

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 Params

  • organizationId string required

    matches ^[0-9a-f]{32}$

Body Params

object

  • email string required

    at least 1 characters

  • idempotencyKey string required
    A unique identifier for the enterprise creation request. Multiple enterprises with the same organizationId and idempotencyKey will not be created.
  • additionalAdmins array of strings 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.

    Defaults to true

  • accountType string enum
    The account type for the enterprise. Defaults to 'individual' if not specified.
    individualentity
  • 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.

    Defaults to false

  • thirdPartyIdentifier array of objects
    thirdPartyIdentifier object
    • id string required
      Identifier of the third party

      at least 1 characters

    • label string required
      Label for the third party

      at least 1 characters

Responses

200
OK

Response Body

object

  • enterpriseId string required

    at least 1 characters · matches ^[0-9a-f]{32}$

  • userId string required

    at least 1 characters · matches ^[a-f0-9]{32}$

400
Bad Request

Response Body

object

  • name string
    Error code
  • context map of objects required
    Properties that apply to a specific error name
    context object
    • <key> object
  • error string required
    Human-readable error message
  • requestId string required
    Client request id
403
Forbidden

Response Body

object

  • name string
    Error code
  • context map of objects required
    Properties that apply to a specific error name
    context object
    • <key> object
  • error string required
    Human-readable error message
  • requestId string required
    Client request id
404
Not Found

Response Body

object

  • name string
    Error code
  • context map of objects required
    Properties that apply to a specific error name
    context object
    • <key> object
  • error string required
    Human-readable error message
  • requestId string required
    Client request id
409
Conflict

Response Body

object

  • name string
    Error code
  • context map of objects required
    Properties that apply to a specific error name
    context object
    • <key> object
  • error string required
    Human-readable error message
  • requestId string required
    Client request id
500
Internal Server Error

Response Body

object

  • name string
    Error code
  • context map of objects required
    Properties that apply to a specific error name
    context object
    • <key> object
  • error string required
    Human-readable error message
  • requestId string required
    Client request id