---
title: "Create client profile"
method: POST
path: "/api/storage/profile-system/profiles"
tags: ["Profiles"]
---

# Create client profile

`POST /api/storage/profile-system/profiles`

Creates new client profile.

You can send custom fields in the request body and they will be saved as part of your document. Therefore, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.

The `id` field returned by this request is the `profileId` used to retrieve information on a specific profile later.

Learn more about the [Profile System](https://developers.vtex.com/vtex-rest-api/docs/profile-system) and its other API endpoints.

>⚠️ The Profile System is only compatible with stores using the PII data architecture from [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus), which is in closed beta phase, only available in select regions.
>
> This feature is part of [VTEX Shield](https://help.vtex.com/en/tutorial/vtex-shield--2CVk6H9eY2CBtHjtDI7BFh). If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact [Commercial Support](https://help.vtex.com/en/tracks/support-at-vtex--4AXsGdGHqExp9ZkiNq9eMy/3KQWGgkPOwbFTPfBxL7YwZ). Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our [contact form](https://vtex.com/us-en/contact/).

## 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** |
| --------------- | ----------------- | ----------------- |
| Profile System | Documents | **Get Item** |
| Profile System | Documents | **Save and Update Item** |
| Profile System | Documents | **Delete Item** |

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

- `ttl` integer

## Headers

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

## Request body

- Profile — Profile schema.
  - `firstName` string, required — Client's first name.
  - `lastName` string, required — Client's last name.
  - `email` string, required — Client's email address.
  - `birthDate` string — Client's birth date in ISO 8601 format.
  - `document` string, required — Client's document.
  - `documentType` string, required — Type of document informed in `document`.
  - `{customField}` string — Name of custom field defined in [Create or delete custom fields](https://developers.vtex.com/docs/api-reference/profile-system#put-/api/storage/profile-system/schemas/profileSystem/custom). Can be of any type: string, number, boolean, array or object.

## Response `201`

Created

- object
  - `id` string — ID of the client's profile.
  - `meta` ProfileMeta — Profile metadata.
    - `version` string, required — Unique identifier of the profile version.
    - `author` string, required — Unique identifier of the user who created the profile.
    - `creationDate` string, required — Date when the profile was created in ISO 8601 format.
    - `lastUpdate` string, required — Date when the profile was last updated in ISO 8601 format.
  - `document` Profile — Profile schema.
    - `firstName` string, required — Client's first name.
    - `lastName` string, required — Client's last name.
    - `email` string, required — Client's email address.
    - `birthDate` string — Client's birth date in ISO 8601 format.
    - `document` string, required — Client's document.
    - `documentType` string, required — Type of document informed in `document`.
    - `{customField}` string — Name of custom field defined in [Create or delete custom fields](https://developers.vtex.com/docs/api-reference/profile-system#put-/api/storage/profile-system/schemas/profileSystem/custom). Can be of any type: string, number, boolean, array or object.

---

[API](https://skmtc.net/vtex/apis/profile-system-pii-data-architecture.md) · [All operations](https://skmtc.net/vtex/apis/profile-system-pii-data-architecture/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vtex/profile-system-pii-data-architecture/versions/23729fa2a727/schema)
