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

# Create customer

`POST /accounts/v2/customers`

## Request

- Base URL: `https://sandbox.pismolabs.io`
- URL: `https://sandbox.pismolabs.io/accounts/v2/customers`
- Auth: HTTP bearer

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](doc: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: Document number, such as a government tax ID.
    - `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 - person or company name
        - `nickname` string: Nickname.
        - `printed_name` string: This field is **DEPRECATED**. Name to be printed on the card. Punctuation, special characters, and connectors (da/das/de/do/dos/e) are always removed. This field's maximum length is 25, but you can set it to a lower value at the program level with the `Max name length on physical card` program parameter. If `printed_name` is null, the Pismo platform uses `social_name`. If `social_name` is null, the Pismo platform uses the customer's entity name. For more information on the customer object, refer to [Core objects](doc:setup-overview#customer). The Pismo platform gets the name for program parameter `TAMANHO MAX NOME EMBOSSADO` (max size name embossed).
        - `social_name` string: Social name.
        - `email` string, email: Email address.
        - `document_number` string: Document number, such as a government tax ID.
        - `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: This field is **DEPRECATED**. Name to be printed on the card. Punctuation, special characters, and connectors (da/das/de/do/dos/e) are always removed. This field's maximum length is 25, but you can set it to a lower value at the program level with the `Max name length on physical card` program parameter. If `printed_name` is null, the Pismo platform uses `social_name`. If `social_name` is null, the Pismo platform uses the customer's entity name. For more information on the customer object, refer to [Core objects](doc:setup-overview#customer). The Pismo platform gets the name for program parameter `TAMANHO MAX NOME EMBOSSADO` (max size name embossed).
    - `social_name` string: Social name.
    - `nickname` string: Nickname.

## Response `201`

Account additional registration

- object
  - `account_id` integer: Account ID
  - `external_id` string: Client-created ID from an external system or application. **REQUIRED** for `VIRTUAL` accounts.
  - `customer_id` integer: Customer ID
  - `entityd` integer: Entity ID
  - `message` string
  - `data` object
    - `entity` object
      - `name` string: Cardholder name
      - `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: Document number, such as a government tax ID.
      - `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
        - `name` string: Name - person or company name
        - `nickname` string: 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: Social name.
        - `email` string, email: Email address.
        - `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`.
        - `gender` 'F' | 'M' | '': Gender
        - `marital_status` 'SINGLE' | 'MARRIED' | 'DIVORCED' | 'WIDOWER': Marital status
        - `mothers_name` string: Mother's name
        - `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` 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 - person or company name
          - `nickname` string: Nickname.
          - `printed_name` string: This field is **DEPRECATED**. Name to be printed on the card. Punctuation, special characters, and connectors (da/das/de/do/dos/e) are always removed. This field's maximum length is 25, but you can set it to a lower value at the program level with the `Max name length on physical card` program parameter. If `printed_name` is null, the Pismo platform uses `social_name`. If `social_name` is null, the Pismo platform uses the customer's entity name. For more information on the customer object, refer to [Core objects](doc:setup-overview#customer). The Pismo platform gets the name for program parameter `TAMANHO MAX NOME EMBOSSADO` (max size name embossed).
          - `social_name` string: Social name.
          - `email` string, email: Email address.
          - `document_number` string: Document number, such as a government tax ID.
          - `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: This field is **DEPRECATED**. Name to be printed on the card. Punctuation, special characters, and connectors (da/das/de/do/dos/e) are always removed. This field's maximum length is 25, but you can set it to a lower value at the program level with the `Max name length on physical card` program parameter. If `printed_name` is null, the Pismo platform uses `social_name`. If `social_name` is null, the Pismo platform uses the customer's entity name. For more information on the customer object, refer to [Core objects](doc:setup-overview#customer). The Pismo platform gets the name for program parameter `TAMANHO MAX NOME EMBOSSADO` (max size name embossed).
    - `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.dev/pismo/apis/core-platform-accounts.md) - [All operations](https://skmtc.dev/pismo/apis/core-platform-accounts/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/core-platform-accounts/revisions/0b24a835073b?raw)
