---
title: "Create new customer profile"
method: POST
path: "/api/dataentities/CL/documents"
tags: ["Customer profiles"]
---

# Create new customer profile

`POST /api/dataentities/CL/documents`

Creates new customer profile.

## Permissions

Any user or [API key](https://developers.vtex.com/docs/guides/api-authentication-using-api-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:

| **Product** | **Category** | **Resource** |
| --------------- | ----------------- | ----------------- |
| Dynamic Storage | Dynamic storage generic resources | **Insert or update document (not remove)** |
| Dynamic Storage | Dynamic storage generic resources | **Full access to all documents** |
| Dynamic Storage | Dynamic storage generic resources | **Master Data administrator** |

There are no applicable [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) for this resource list. You must [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) and add at least one of the resources above in order to use this endpoint.To learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication).

>❗ To prevent integrations from having excessive permissions, consider the [best practices for managing API keys](https://help.vtex.com/en/tutorial/best-practices-api-keys--7b6nD1VMHa49aI5brlOvJm) when assigning License Manager roles to integrations.

## Query parameters

- `_schema` string

## Headers

- `Content-Type` string, required
- `Accept` string, required

## Request body

- CreateUpdateProfileRequests — Request body object.
  - `email` string, nullable — Client email address. This field is required for B2B Buyer Portal.
  - `firstName` string, nullable — Client first name. This field is required for B2B Buyer Portal.
  - `lastName` string, nullable — Client last name. This field is required for B2B Buyer Portal.
  - `phone` string, nullable — Client telephone number.
  - `documentType` string, nullable — Client document type. This field is required for B2B Buyer Portal.
  - `document` string, nullable — Client document. This field is required for B2B Buyer Portal.
  - `isCorporate` boolean, nullable — Indicates whether client is corporate. For the B2B Buyer Portal, this field is required and always `true`.
  - `isNewsletterOptIn` boolean, nullable — Indicates whether client otped to receive the store newsletter (`true`) or not (`false`).
  - `localeDefault` string, nullable — Default locale, used to set store language and currency, for example.
  - `corporateDocument` string — The business document of the contract. This field is recommended for B2B Buyer Portal.
  - `homePhone` string — The home phone number of the contract. This field is recommended for B2B Buyer Portal.
  - `cellPhone` string — The cell phone number of the contract. This field is recommended for B2B Buyer Portal.
  - `corporateName` string — The corporate name of the contract. This field is required for B2B Buyer Portal.
  - `tradeName` string — The trade name ("doing business as") of the contract. This field is recommended for B2B Buyer Portal.
  - `stateRegistration` string — The state registration of the contract. This field is recommended for B2B Buyer Portal.
  - `isFreeStateRegistration` boolean — Indicates if the state registration is free. This field is recommended for B2B Buyer Portal.
  - `priceTables` string — Price tables associated with the contract, separated by commas. This field is recommended for B2B Buyer Portal.
  - `restrictions` object — Object with restriction definitions for `vtex.catalog`, `vtex.checkout`, and `vtex.payments`. This field is recommended for B2B Buyer Portal.
    - `vtex.catalog` object — Object containing restrictions regarding catalog. This field is recommended for B2B Buyer Portal.
      - `collectionIds` string[] — A list of collection IDs that define which product collections (sets of SKUs) the B2B customer can view or purchase from. These IDs are internal catalog entities used to group products logically. This field is recommended for B2B Buyer Portal.
    - `vtex.checkout` object — Object containing restrictions regarding checkout. This field is recommended for B2B Buyer Portal.
      - `creditCards` string[] — A list of credit card IDs that the customer is allowed to use during checkout. These IDs reference cards stored in the BK entity, managed by the VTEX Checkout system. This field is recommended for B2B Buyer Portal.
    - `vtex.payments` object — Contains restrictions regarding payments. This field is recommended for B2B Buyer Portal.
      - `paymentSystemIds` string[] — A list of numeric IDs that represent the allowed payment systems (e.g., credit card processors) for the customer. These IDs are predefined and globally recognized by VTEX. This field is recommended for B2B Buyer Portal.

## Response `200`

OK

- DocumentResponse — Response body object.
  - `Id` string, required — ID of the document that was created or updated.
  - `Href` string, required — Document reference URL.

---

[API](https://skmtc.net/vtex/apis/master-data-api-v1.md) · [All operations](https://skmtc.net/vtex/apis/master-data-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vtex/master-data-api-v1/revisions/a90298d4afb1/schema)
