---
title: "Create a Business Unit"
method: POST
path: "/v1/clients/{clientId}/customers"
tags: ["Business Units"]
---

# Create a Business Unit

`POST /v1/clients/{clientId}/customers`

## Request

- Base URL: `https://apicore.stg.finch.lat`
- URL: `https://apicore.stg.finch.lat/v1/clients/{clientId}/customers`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/monato/apis/fincore-api/docs/v1/clients/:clientId/customers/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a Customer/Business Unit that can own instruments and private accounts. Business Units are useful when sub-accounts need their own RFC and legal identity on payment receipts.

## Path parameters

- `clientId` string, uuid, required

## Request body

- CreateCustomerRequest: Request to create a Business Unit for a client.
  - `client_id` string, uuid, required: Client UUID that will own the Business Unit.
  - `name` string, required: Legal name of the Business Unit.
  - `rfc` string, required: RFC tax identifier for the Business Unit.
  - `legal_representative_name` string, required: Full name of the Business Unit legal representative.
  - `legal_representative_rfc` string, required: RFC tax identifier of the legal representative.
  - `legal_representative_phone` string, required: Contact phone number of the legal representative.
  - `legal_representative_email` string, email, required: Contact email of the legal representative.
  - `website` string, uri: Business Unit website when available.
  - `domain` string: Business Unit domain when available.
  - `customer_alias` string: Short alias used to identify the Business Unit.
  - `customer_status` 'ACTIVE' | 'INACTIVE' | 'BLOCKED'
  - `customer_validation_status` 'PENDING' | 'VALIDATED' | 'REJECTED'
  - `client_bank_adapter_id` string, uuid: Bank adapter configuration UUID associated with the Business Unit.

## Response `200`

Business Unit created.

- CustomerResponse: Business Unit returned by Fincore.
  - `id` string, uuid, required: Business Unit UUID.
  - `clientId` string, uuid, required: Client UUID that owns the Business Unit.
  - `name` string, required: Legal name of the Business Unit.
  - `rfc` string, required: RFC tax identifier of the Business Unit.
  - `legalRepresentativeName` string, required: Full name of the legal representative.
  - `legalRepresentativeRfc` string, required: RFC tax identifier of the legal representative.
  - `legalRepresentativePhone` string, required: Contact phone number of the legal representative.
  - `legalRepresentativeEmail` string, email, required: Contact email of the legal representative.
  - `website` string, uri: Business Unit website when available.
  - `domain` string: Business Unit domain when available.
  - `customerAlias` string: Short alias used to identify the Business Unit.
  - `customerStatus` 'ACTIVE' | 'INACTIVE' | 'BLOCKED'
  - `customerValidationStatus` 'PENDING' | 'VALIDATED' | 'REJECTED'
  - `audit` Audit: Common lifecycle timestamps.
    - `createdAt` string, date-time: Timestamp when the resource was created.
    - `updatedAt` string, date-time: Timestamp when the resource was last updated.
    - `deletedAt` string, nullable: Timestamp when the resource was deleted. When it was never deleted the API returns the literal string `"None"`, not JSON `null`. Do not test this field for `null`.
    - `blockedAt` string, nullable: Timestamp when the resource was blocked. When it was never blocked the API returns the literal string `"None"`, not JSON `null`. Do not test this field for `null`.
    - `activatedAt` string, nullable: Timestamp when the resource was activated, or null.
    - `suspendedAt` string, nullable: Timestamp when the resource was suspended, or null.

## Other responses

- `400`: Business Unit creation request is invalid. Possible causes: missing legal representative fields, invalid RFC, invalid email, malformed `client_id`, or unsupported customer status. It also fails when the Business Unit conflicts with an existing record for this client.
- `401`: Missing, expired, invalid, or environment-mismatched API key or bearer token. See [Authentication](/products/fincore/guides/authentication.md).
- `500`: Unexpected server error. See [Error catalog](/products/fincore/guides/error-catalog.md) before retrying non-idempotent operations.

## Changes

- **2026-09-26** `e22ef66945df`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/monato/apis/fincore-api/changes/v1/clients/:clientId/customers/post.md)

---

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