---
title: "Create a Business Unit"
method: POST
path: "/v2/business-units"
tags: ["business-units"]
---

# Create a Business Unit

`POST /v2/business-units`

## Request

- Base URL: `https://api.stuut.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stuut.ai/v2/business-units`
- Auth: HTTP bearer

Creates a business unit. Pass `compliance` to make it a separate legal entity — that provisions its
own Twilio Secondary Profile asynchronously and links it. Requires organization admin.

## Request body

- CreateBusinessUnitRequest: Request body for creating a business unit. Pass `compliance` to make the unit a separate legal entity — it creates a Twilio Secondary Customer Profile asynchronously and links it. Omit it for a plain unit that shares the org identity.
  - `name` string, required: The name of the business unit.
  - `description` string, nullable: Optional description of the business unit.
  - `display_name` string, nullable: Customer-facing name for outbound content; null uses the org name.
  - `compliance` SecondaryProfileComplianceInput: Compliance details used to create a Twilio Secondary Customer Profile. Describes a legal entity, and nothing about which of our rows owns it — the same payload provisions a profile for a business unit or for the organization itself. Not stored on our side (Twilio is the source of truth); collected fresh and passed straight to Trust Hub. Twilio accepts one or two authorized representatives.
    - `cnam_display_name` string, nullable: Caller ID name; Twilio caps it at 15 characters
    - `business_employee_count` string, nullable
    - `average_business_day_call_volume` string, nullable
    - `legal_business_name` string, required
    - `business_type` string, required
    - `business_industry` string, required
    - `registration_id_type` string: e.g. EIN (US)
    - `registration_number` string, required
    - `regions_of_operation` string[], required
    - `website` string, required
    - `street_address` string, required
    - `city` string, required
    - `region` string, required: State / province
    - `postal_code` string, required
    - `iso_country` string, required
    - `email` string, required: Contact email for the profile
    - `representatives` AuthorizedRepresentative[], required
      - `first_name` string, required
      - `last_name` string, required
      - `email` string, required
      - `phone` string, phone, required: A phone number in [E.164](https://en.wikipedia.org/wiki/E.164) format
      - `title` string, required

## Response `201`

Successful Response

- BusinessUnit
  - `created_at` string, date-time, required
  - `modified_at` string, date-time, nullable, required
  - `id` string, required
  - `name` string, required: The name of the business unit.
  - `description` string, nullable, required: Optional description of the business unit.
  - `display_name` string, nullable, required: Customer-facing BU name for outbound content; NULL uses the organization name.
  - `default_phone_number_id` string, nullable, required: The BU's fallback number, used when none of its numbers match the destination country.
  - `business_identity_id` string, nullable, required: The BU's own legal entity / Twilio Secondary Profile; NULL if it shares the org's identity.
  - `verification_status` 'draft' | 'pending_review' | 'in_review' | 'twilio_approved' | 'twilio_rejected', required: Verification state of a business identity's Twilio Secondary Profile. Member names mirror Twilio's vocabulary, so the only difference from its wire strings is the separator — Twilio hyphenates (``twilio-approved``) where a Python name can't. ``from_twilio`` converts on that one character, which keeps the hyphenated spelling out of the enum, the column (which stores the NAME) and our API without a lookup table to keep in sync.
  - `member_ids` string[], required
  - `object` string, required: String representing the object's type. Objects of the same type share the same value.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/stuut/apis/stuut-api.md) - [All operations](https://skmtc.dev/stuut/apis/stuut-api/llms.txt) - [OpenAPI document](https://skmtc.dev/stuut/apis/stuut-api/revisions/ff0ad16a55ff?raw)
