---
title: "Create customer"
method: POST
path: "/accounts/v2/customers"
tags: ["Customers"]
---

# Create customer

`POST /accounts/v2/customers`

Create a new account customer.

There are 3 customer types you can create with this endpoint: a `company` customer, a `person` customer, or a person customer with less informational fields (`customer` object).

Each account contains at least one customer. You can add multiple customers to an account but only one can be the account owner. Other customers can have their own individual cards, but the balances on those cards must be shared with the account owner.

This endpoint generates a [Customer created](https://developers.pismo.io/events/docs/account-customer-creation-1) event.

If the `customer.is_owner` property is set to `true`:

* The account owner is changed to this new customer, and all existing customers remain active in the account.
* This endpoint generates an [Account owner changed](https://developers.pismo.io/events/docs/account-account-owner-change-1) event.

If the `customer.is_active` = `true`, and the `Maximum number of card holders` program parameter is set, this customer is counted in the limit of maximum number of card holders for an account.

Each customer has an associated entity object. If one isn't passed in the request, a default one is created using their document number.

Refer to the [Core objects](https://developers.pismo.io/pismo-docs/docs/setup-overview) guide for more information.

## Request body

- CustomerV2Request
  - `account_id` integer, required — Account ID
  - `entity` object, required
    - `name` string, required — Entity name
    - `document_number` string, required — Cardholder government document number. This can be from any document that identifies the cardholder such as a Tax ID, State ID, or driver's license.
    - `birth_date` string — Entity birth date. Format = dd/MM/yyyy. For individuals, this is their birth date. For companies, this is the business registration date.
    - `gender` 'F' | 'M' | '' — Gender
    - `marital_status` 'SINGLE' | 'MARRIED' | 'DIVORCED' | 'WIDOWER' — Marital status
    - `mothers_name` string — Mother's name
    - `registration` string — Entity registration
    - `pep` boolean — Is this person a Politically Exposed Person (PEP)? Pismo doesn't do anything differently for a PEP, this is just additional account information. Default is `false`.
    - `external_id` string — Client-created ID from an external system or application. **REQUIRED** for `VIRTUAL` accounts.
    - `person` Person2 — Either this or the `company` object is **REQUIRED**. Pass one or the other but not both.
      - `nationality` string — Nationality
      - `city_of_birth` string — Birth city
      - `state_of_birth` string — Birth state
      - `country_of_birth` string — Birth country
      - `other_id_number` string — Another ID number
      - `document_type` string — Document type. Free-form field, not an enum.
      - `document_issued_by` string — Document issuer
      - `document_issued_at` string — Document issuer location. This is a free-form field, not an ISO standard.
      - `document_issued_date` string — Date document was issued. Format = dd/mm/yyyy.
      - `fathers_name` string — Father's name
      - `occupation` string — Person's occupation
      - `assets` number, float — Assets
      - `income` number, float — Person's income
      - `net_worth` number, float — Person's net worth
    - `company` Company2
      - `company_name` string — Company's legal name
      - `registration_number` string — Company's registration number with local authorities
      - `activity` string — Company's general field of activity
      - `company_type` string — Company type
      - `company_format` string — Company social type
      - `company_constitution_date` string — Company constitution date. Format = dd/MM/yyyy.
      - `occupation` string — Company representative's occupation
      - `annual_revenues` number, float — Company annual revenues (monthly billing average)
      - `type` string — Company's business relations type
      - `number_of_partners` integer — Number of company partners
      - `perc_ownership` number, float — Company percentage ownership
      - `fiscal_situation` string — Company's fiscal situation.
      - `debt` number, float — Company's debt
      - `income` integer — Company's income
      - `net_worth` integer — Company's net worth
      - `partners` Partner[] — Company partners
        - `name` string — Name
        - `nickname` string — Nickname.
        - `printed_name` string — Printed name on physical card
        - `social_name` string — Social name.
        - `email` string, email — Email address.
        - `document_number` string — Cardholder government document number. This can be from any document that identifies the cardholder such as a Tax ID, State ID, or driver's license.
        - `mothers_name` string — Mother's name
        - `gender` 'F' | 'M' | '' — Gender
        - `birth_date` string — Birth date. Format = dd/mm/yyyy.
        - `city_of_birth` string — Birth city
        - `state_of_birth` string — Birth state
        - `country_of_birth` string — Birth country
        - `fathers_name` string — Father's name
        - `marital_status` 'SINGLE' | 'MARRIED' | 'DIVORCED' | 'WIDOWER' — Marital status
  - `customer` object, required
    - `is_owner` boolean, required — Is the customer the account owner?
    - `email` string, email — Email address.
    - `printed_name` string — Printed name on physical card
    - `social_name` string — Social name.
    - `nickname` string — Nickname.

## Response `201`

Account additional registration

- object
  - `account_id` integer — Account ID
  - `customer_id` integer — Pismo customer ID.
  - `entityd` integer — Entity ID
  - `message` string
  - `data` object
    - `entity` object
      - `name` string — Cardholder printed name. No limit.
      - `gender` 'F' | 'M' | '' — Gender
      - `registration` string — Entity registration
      - `marital_status` 'SINGLE' | 'MARRIED' | 'DIVORCED' | 'WIDOWER' — Marital status
      - `mothers_name` string — Mother's name
      - `birth_date` string — Entity birth date. Format = dd/MM/yyyy. For individuals, this is their birth date. For companies, this is the business registration date.
      - `document_number` string — Cardholder government document number. This can be from any document that identifies the cardholder such as a Tax ID, State ID, or driver's license.
      - `pep` boolean — Is this person a Politically Exposed Person (PEP)? Pismo doesn't do anything differently for a PEP, this is just additional account information. Default is `false`.
      - `person` Person
        - `id` string — Person pseudo-identifier (protects CPF/CNPJ)
        - `type` 'LEGAL_PERSON' | 'NATURAL_PERSON' — Person type: * `LEGAL_PERSON` - An actual person with legal rights. * `NATURAL_PERSON` - An entity, such as an organization or company.
        - `created_at` string, date-time — Person record creation date
      - `company` Company
        - `name` string — Company representative name
        - `nickname` string — Company representative nickname
        - `printed_name` string — This field is **DEPRECATED**. Cards is now responsible for this field. Person's name to be printed on the card. If the field is null, `name` or `social_name` is used. Punctuation, special characters, and connectors (da/das/de/do/dos/e) are always removed. This field's maximum lengh of this field is 25, but you can set it to a lower value on the program level with the `Max name length on physical card` program parameter.
        - `social_name` string — Company representative's social name
        - `pep` boolean — Is this person a Politically Exposed Person (PEP)? Pismo doesn't do anything differently for a PEP, this is just additional account information. Default is `false`.
        - `company_name` string — Company's legal name
        - `registration_number` string — Company's registration number with local authorities
        - `activity` string — Company's general field of activity
        - `company_type` string — Company type
        - `company_format` string — Company social type
        - `occupation` string — Company representative's occupation
        - `income` number, float — Company's income
        - `net_worth` number, float — Company's net worth.
        - `annual_revenues` number, float — Company annual revenues (monthly billing average)
        - `type` string — Company's business relations type
        - `number_of_partners` integer — Number of company partners
        - `perc_ownership` number, float — Company percentage ownership
        - `fiscal_situation` string — Company's fiscal situation.
        - `debt` number, float — Company's debt
        - `email` string — Company's registered email
        - `partners` Partner[] — Company partners
          - `name` string — Name
          - `nickname` string — Nickname.
          - `printed_name` string — Printed name on physical card
          - `social_name` string — Social name.
          - `email` string, email — Email address.
          - `document_number` string — Cardholder government document number. This can be from any document that identifies the cardholder such as a Tax ID, State ID, or driver's license.
          - `mothers_name` string — Mother's name
          - `gender` 'F' | 'M' | '' — Gender
          - `birth_date` string — Birth date. Format = dd/mm/yyyy.
          - `city_of_birth` string — Birth city
          - `state_of_birth` string — Birth state
          - `country_of_birth` string — Birth country
          - `fathers_name` string — Father's name
          - `marital_status` 'SINGLE' | 'MARRIED' | 'DIVORCED' | 'WIDOWER' — Marital status
    - `external_id` string — Client-created ID from an external system or application. **REQUIRED** for `VIRTUAL` accounts.
  - `customer` object
    - `nickname` string — Nickname.
    - `email` string — Customer email
    - `printed_name` string — Printed name on physical card
    - `social_name` string — Social name.
    - `is_owner` boolean — Is the customer the account owner?
    - `is_active` boolean — Is customer active or not active? If `is_active` is null in this request, the Pismo platform doesn't overwrite the existing value.
  - `is_migration` boolean — Is this a customer migration?

## Other responses

- `400` — Bad request
- `409` — Conflict
- `500` — Internal server error

---

[API](https://skmtc.net/pismo/apis/platform-authentication.md) · [All operations](https://skmtc.net/pismo/apis/platform-authentication/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pismo/platform-authentication/revisions/935b62e16de4/schema)
