VTEX Profiles API

The Profiles API from VTEX — 5 operation(s) for profiles.

Business capability
Customer Data Management BC-420.10

Operations 7

POST /api/storage/profile-system/profiles VTex Create client profile #
GET /api/storage/profile-system/profiles/{profileId} VTex Get profile #
PATCH /api/storage/profile-system/profiles/{profileId} VTex Update client profile #
DELETE /api/storage/profile-system/profiles/{profileId} VTex Delete client profile #
GET /api/storage/profile-system/profiles/{profileId}/unmask VTex Get unmasked profile #
GET /api/storage/profile-system/profiles/{profileId}/versions/{profileVersionId} VTex Get profile by version #
GET /api/storage/profile-system/profiles/{profileId}/versions/{profileVersionId}/unmask VTex Get unmasked profile by version #

Documentation

📖
Documentation
https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works
📖
Documentation
https://developers.vtex.com/docs/guides/bulk-import-buyer-organizations-spreadsheet
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-api-seller-portal-overview
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-overview
📖
Documentation
https://developers.vtex.com/docs/guides/checkout-overview
📖
Documentation
https://help.vtex.com/en/tutorial/customer-credit-overview--1uIqTjWxIIIEW0COMg4uE0
📖
Documentation
https://help.vtex.com/en/tutorial/data-subject-rights--6imchxTx09icupKMbzHVIM
📖
Documentation
https://developers.vtex.com/docs/api-reference/do-api
📖
Documentation
https://developers.vtex.com/docs/guides/managing-vtex-gift-cards
📖
Documentation
https://developers.vtex.com/docs/guides/gift-card-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/faststore/headless-cms-overview
📖
Documentation
https://developers.vtex.com/docs/api-reference/vtex-id-api
📖
Documentation
https://help.vtex.com/en/tracks/vtex-intelligent-search--19wrbB7nEQcmwzDPl1l4Cb/3qgT47zY08biLP3d5os3DG
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search@1.0.8
📖
Documentation
https://help.vtex.com/en/tracks/cms--2YcpgIljVaLVQYMzxQbc3z/1oN446gRGcR2s70RvBCAmj
📖
Documentation
https://developers.vtex.com/docs/guides/search-overview
📖
Documentation
https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3
📖
Documentation
https://developers.vtex.com/docs/guides/fulfillment
📖
Documentation
https://developers.vtex.com/docs/guides/marketplace-overview
📖
Documentation
https://developers.vtex.com/updates/release-notes/marketplace-protocol-documentation-update
📖
Documentation
https://developers.vtex.com/docs/guides/external-marketplace-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-connector
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/master-data--4otjBnR27u4WUIciQsmkAw
📖
Documentation
https://help.vtex.com/en/tutorial/understanding-the-message-center--tutorials_84
📖
Documentation
https://developers.vtex.com/docs/guides/orders-overview
📖
Documentation
https://developers.vtex.com/docs/guides/changes-in-vtex-features-behavior-to-handle-pii-data
📖
Documentation
https://help.vtex.com/en/tutorial/payment-provider-protocol--RdsT2spdq80MMwwOeEq0m
📖
Documentation
https://developers.vtex.com/docs/guides/payments-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/vtex-pick-and-pack-last-mile--HN7WKV0xoq2ssVjsJlfzr
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-io-documentation-policies
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-hub
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-overview
📖
Documentation
https://developers.vtex.com/docs/guides/profile-system
📖
Documentation
https://developers.vtex.com/docs/guides/promotions-overview
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.reviews-and-ratings
📖
Documentation
https://developers.vtex.com/docs/guides/sent-offers-integration-guide-connectors
📖
Documentation
https://developers.vtex.com/docs/guides/sessions-system-overview
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-shipping-network
📖
Documentation
https://help.vtex.com/en/tutorial/sku-bindings--1SmrVgNwjJX17hdqwLa0TX
📖
Documentation
https://developers.vtex.com/docs/guides/subscriptions
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search/suggestions
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-tracking

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vtex-profiles-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vtex-profiles-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VTex Profile System - PII data architecture Profiles API
  description: '>⚠️ The Profile System is only compatible with stores using the PII data architecture from Data Protection Plus, which is in closed beta phase, only available in select regions.'
  contact: {}
  version: '1.0'
servers:
- url: https://{accountName}.{environment}.com.br
  description: VTEX server URL.
  variables:
    accountName:
      description: Name of the VTEX account. Used as part of the URL.
      default: apiexamples
    environment:
      description: Environment to use. Used as part of the URL.
      enum:
      - vtexcommercestable
      default: vtexcommercestable
security:
- appKey: []
  appToken: []
- VtexIdclientAutCookie: []
tags:
- name: Profiles
paths:
  /api/storage/profile-system/profiles:
    post:
      tags:
      - Profiles
      summary: VTex Create client profile
      description: '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 and its other API endpoints.


        >⚠️ The Profile System is only compatible with stores using the PII data architecture from Data Protection Plus, which is in closed beta phase, only available in select regions.

        >

        > This feature is part of VTEX Shield. If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact Commercial Support. Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our contact form.


        ## Permissions


        Any user or application key must have at least one of the appropriate License Manager resources 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 for this resource list. You must create a custom 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.


        >❗ To prevent integrations from having excessive permissions, consider the best practices for managing app keys when assigning License Manager roles to integrations.'
      operationId: CreateClientProfile
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/ttl'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Profile'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    $ref: '#/components/schemas/ProfileId'
                  meta:
                    $ref: '#/components/schemas/ProfileMeta'
                  document:
                    $ref: '#/components/schemas/Profile'
              example:
                id: c2cbebba-214e-40b2-b68f-98f862e755d5
                meta:
                  version: 27112371-a71b-45d6-b3bc-93436a3a0b4f
                  author: 82a2b53d-39be-4f49-bb7c-8971b58cb7dc
                  creationDate: '2022-01-05T15:41:37.5009471+00:00'
                  lastUpdateDate: '2022-01-05T15:41:37.5009471+00:00'
                document:
                  firstName: John
                  lastName: Doe
                  email: john.doe@example.com
                  birthDate: '1925-11-17'
                  document: '12345678911'
                  documentType: CPF
                  '{customField}': '{value}'
      deprecated: false
  /api/storage/profile-system/profiles/{profileId}:
    get:
      tags:
      - Profiles
      summary: VTex Get profile
      description: 'Retrieves the information of a specific client, by its `profileId`.


        > Since your store''s profile schema is customizable, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.


        > For security and privacy reasons, this request returns masked profile data. For unmasked information, see Get unmasked profile.


        Learn more about the Profile System and its other API endpoints.


        >⚠️ The Profile System is only compatible with stores using the PII data architecture from Data Protection Plus, which is in closed beta phase, only available in select regions.

        >

        > This feature is part of VTEX Shield. If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact Commercial Support. Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our contact form.


        ## Permissions


        Any user or application key must have at least one of the appropriate License Manager resources 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 for this resource list. You must create a custom 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.


        >❗ To prevent integrations from having excessive permissions, consider the best practices for managing app keys when assigning License Manager roles to integrations.'
      operationId: GetProfile
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/profileId'
      - $ref: '#/components/parameters/alternativeKey'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaskedProfileResponse'
              example:
              - id: 70caf394-8534-447e-a0ca-1803c669c771
                meta:
                  version: abc
                  author: e40e0b6d-0605-4fa6-8176-1d69fbaf0818
                  creationDate: 13/12/2021T00:00:00Z
                  lastUpdate: 13/12/2021T00:00:00Z
                document:
                  firstName: J***
                  lastName: D**
                  email: j***.d**@e******.c**
                  birthDate: '1925-11-17'
                  document: 1**********
                  documentType: CPF
                  '{customField}': '{value}'
      deprecated: false
    patch:
      tags:
      - Profiles
      summary: VTex Update client profile
      description: 'Updates one or more fields of an existing client profile.


        > Since your store''s profile schema is customizable, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.


        Learn more about the Profile System and its other API endpoints.


        >⚠️ The Profile System is only compatible with stores using the PII data architecture from Data Protection Plus, which is in closed beta phase, only available in select regions.

        >

        > This feature is part of VTEX Shield. If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact Commercial Support. Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our contact form.


        ## Permissions


        Any user or application key must have at least one of the appropriate License Manager resources 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 for this resource list. You must create a custom 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.


        >❗ To prevent integrations from having excessive permissions, consider the best practices for managing app keys when assigning License Manager roles to integrations.'
      operationId: UpdateClientProfile
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/profileId'
      - $ref: '#/components/parameters/alternativeKey'
      - $ref: '#/components/parameters/ttl'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Profile'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnmaskedProfileResponse'
              example:
                id: 70caf394-8534-447e-a0ca-1803c669c771
                document:
                  firstName: John
                  lastName: Doe
                  email: john.doe@example.com
                  birthDate: '1925-11-17'
                  document: '12345678911'
                  documentType: CPF
                meta:
                  version: abc
                  author: e40e0b6d-0605-4fa6-8176-1d69fbaf0818
                  creationDate: '2022-01-05T15:41:37.5009471+00:00'
                  lastUpdate: '2022-01-17T15:41:37.5009471+00:00'
      deprecated: false
    delete:
      tags:
      - Profiles
      summary: VTex Delete client profile
      description: 'Deletes a client profile by `profileId`.


        >❗ This endpoint is not suitable for granting a shopper''s right to erasure. For that purpose, open a support ticket, according to the instructions in the section Request erasure via support of the shopper data erasure guide.


        Learn more about the Profile System and its other API endpoints.


        >⚠️ The Profile System is only compatible with stores using the PII data architecture from Data Protection Plus, which is in closed beta phase, only available in select regions.

        >

        > This feature is part of VTEX Shield. If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact Commercial Support. Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our contact form.


        ## Permissions


        Any user or application key must have at least one of the appropriate License Manager resources 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 for this resource list. You must create a custom 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.


        >❗ To prevent integrations from having excessive permissions, consider the best practices for managing app keys when assigning License Manager roles to integrations.'
      operationId: DeleteClientProfile
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/profileId'
      responses:
        '204':
          description: No content
      deprecated: false
  /api/storage/profile-system/profiles/{profileId}/unmask:
    get:
      tags:
      - Profiles
      summary: VTex Get unmasked profile
      description: 'Retrieves unmasked information of a specific client, by its `profileId`.


        > Since your store''s profile schema is customizable, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.


        Learn more about the Profile System and its other API endpoints.


        >⚠️ The Profile System is only compatible with stores using the PII data architecture from Data Protection Plus, which is in closed beta phase, only available in select regions.

        >

        > This feature is part of VTEX Shield. If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact Commercial Support. Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our contact form.


        ## Permissions


        Any user or application key must have at least one of the appropriate License Manager resources 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 for this resource list. You must create a custom 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.


        >❗ To prevent integrations from having excessive permissions, consider the best practices for managing app keys when assigning License Manager roles to integrations.'
      operationId: GetUnmaskedProfile
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/profileId'
      - $ref: '#/components/parameters/reason'
      - $ref: '#/components/parameters/alternativeKey'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                description: Array with unmasked profile information.
                items:
                  $ref: '#/components/schemas/UnmaskedProfileResponse'
              example:
              - id: 70caf394-8534-447e-a0ca-1803c669c771
                document:
                  firstName: John
                  lastName: Doe
                  email: john.doe@example.com
                  birthDate: '1925-11-17'
                  document: '12345678911'
                  documentType: CPF
                meta:
                  version: abc
                  author: e40e0b6d-0605-4fa6-8176-1d69fbaf0818
                  creationDate: '2022-01-05T15:41:37.5009471+00:00'
                  lastUpdate: '2022-01-17T15:41:37.5009471+00:00'
      deprecated: false
  /api/storage/profile-system/profiles/{profileId}/versions/{profileVersionId}:
    get:
      tags:
      - Profiles
      summary: VTex Get profile by version
      description: 'Retrieves the information of a specific version of a client profile.


        > Since your store''s profile schema is customizable, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.


        > For security and privacy reasons, this request returns masked profile data. For unmasked information, see Get unmasked profile by version.


        Learn more about the Profile System and its other API endpoints.


        >⚠️ The Profile System is only compatible with stores using the PII data architecture from Data Protection Plus, which is in closed beta phase, only available in select regions.

        >

        > This feature is part of VTEX Shield. If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact Commercial Support. Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our contact form.


        ## Permissions


        Any user or application key must have at least one of the appropriate License Manager resources 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 for this resource list. You must create a custom 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.


        >❗ To prevent integrations from having excessive permissions, consider the best practices for managing app keys when assigning License Manager roles to integrations.'
      operationId: GetProfileByVersion
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/profileId'
      - $ref: '#/components/parameters/profileVersionId'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaskedProfileResponseByVersion'
              example:
              - id: 70caf394-8534-447e-a0ca-1803c669c771
                document:
                  firstName: J***
                  lastName: G****
                  email: j***********
                  birthDate: '1925-11-17'
                  document: 1********
                  documentType: CPF
                  '{customField}': '{value}'
                meta:
                  version: bb996089-b77c-4bf3-be35-b99b6d91f91c
                  author: e40e0b6d-0605-4fa6-8176-1d69fbaf0818
                  creationDate: '2022-01-05T15:41:37.5009471+00:00'
                  lastUpdate: '2022-01-15T15:41:37.5009471+00:00'
      deprecated: false
  /api/storage/profile-system/profiles/{profileId}/versions/{profileVersionId}/unmask:
    get:
      tags:
      - Profiles
      summary: VTex Get unmasked profile by version
      description: 'Retrieves unmasked information of a specific version of a client profile.


        > Since your store''s profile schema is customizable, the schema and examples presented below may differ from yours. Your integration must be adapted accordingly.


        Learn more about the Profile System and its other API endpoints.


        >⚠️ The Profile System is only compatible with stores using the PII data architecture from Data Protection Plus, which is in closed beta phase, only available in select regions.

        >

        > This feature is part of VTEX Shield. If you are already a VTEX customer and want to adopt VTEX Shield for your business, please contact Commercial Support. Additional fees may apply. If you are not yet a customer but are interested in this solution, please complete our contact form.


        ## Permissions


        Any user or application key must have at least one of the appropriate License Manager resources 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 for this resource list. You must create a custom 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.


        >❗ To prevent integrations from having excessive permissions, consider the best practices for managing app keys when assigning License Manager roles to integrations.'
      operationId: GetUnmaskedProfileByVersion
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/profileId'
      - $ref: '#/components/parameters/profileVersionId'
      - $ref: '#/components/parameters/reason'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                description: Array with unmasked profile information.
                items:
                  $ref: '#/components/schemas/UnmaskedProfileResponse'
              example:
              - id: 70caf394-8534-447e-a0ca-1803c669c771
                document:
                  firstName: John
                  lastName: Doe
                  email: john.doe@example.com
                  birthDate: '1925-11-17'
                  document: '12345678911'
                  documentType: CPF
                  '{customField}': '{value}'
                meta:
                  version: abc
                  author: e40e0b6d-0605-4fa6-8176-1d69fbaf0818
                  creationDate: '2022-01-05T15:41:37.5009471+00:00'
                  lastUpdate: '2022-01-17T15:41:37.5009471+00:00'
      deprecated: false
components:
  parameters:
    alternativeKey:
      name: alternativeKey
      in: query
      description: 'The `profileId` path parameter may be substituted by other profile fields in this request. When making this request, send the `alternativeKey` parameter with a value equal to the key of the field you wish to use as `profileId`.


        > Currently, there are two possible values for this parameter: `email` and `document`.'
      required: false
      style: form
      schema:
        type: string
        example: email
    ttl:
      name: ttl
      in: query
      description: 'This parameter sets the the Time To Live (TTL), in days, of the specific document being created or updated with this request. After this period of time from the moment of the request, the document is deleted. By sending this parameter you override the TTL set for the schema.


        > Currently, the available default document schemas have no TTL. This means that documents are stored indefinitely, unless a TTL is sent when creating or updating.'
      required: false
      style: form
      schema:
        type: integer
        example: 365
    Content-Type:
      name: Content-Type
      in: header
      description: Type of the content being sent.
      required: true
      style: simple
      schema:
        type: string
        example: application/json
    Accept:
      name: Accept
      in: header
      description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
      required: true
      style: simple
      schema:
        type: string
        example: application/json
    profileVersionId:
      name: profileVersionId
      in: path
      description: ID of the version of the client's profile as returned by endpoints that create or update profile information in the `version` field.
      required: true
      style: simple
      schema:
        type: string
        example: 70caf394-8534-447e-a0ca-1803c669c771
    profileId:
      name: profileId
      in: path
      description: ID of the client's profile as returned by the [Create profile](https://developers.vtex.com/docs/api-reference/profile-system#post-/api/storage/profile-system/profiles) endpoint's response, in the `id` field. It can also be an `alternativeKey` according to your custom profile schema. In this case, this request should also send the `alternativeKey` parameter.
      required: true
      style: simple
      schema:
        type: string
        example: 70caf394-8534-447e-a0ca-1803c669c771
    reason:
      name: reason
      in: query
      description: Reason for requesting unmasked data.
      required: true
      style: form
      schema:
        type: string
        example: data-validation
  schemas:
    MaskedProfileResponse:
      title: Masked profile response
      type: array
      description: Array containing masked profile information.
      items:
        type: object
        description: Masked profile information.
        properties:
          id:
            $ref: '#/components/schemas/ProfileId'
          meta:
            $ref: '#/components/schemas/ProfileMeta'
          document:
            $ref: '#/components/schemas/Profile'
    Profile:
      title: Profile
      type: object
      description: Profile schema.
      required:
      - firstName
      - lastName
      - email
      - document
      - documentType
      properties:
        firstName:
          type: string
          description: Client's first name.
          example: John
        lastName:
          type: string
          description: Client's last name.
          example: Doe
        email:
          type: string
          description: Client's email address.
          example: john.doe@example.com
        birthDate:
          type: string
          description: Client's birth date in ISO 8601 format.
          example: '1925-11-17'
        document:
          type: string
          description: Client's document.
          example: '12345678900'
        documentType:
          type: string
          description: Type of document informed in `document`.
          example: CPF
        '{customField}':
          type: string
          description: '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.'
          example: '{value}'
    MaskedProfileResponseByVersion:
      title: Masked profile response
      type: array
      description: Array containing masked profile information.
      items:
        type: object
        description: Masked profile information.
        properties:
          id:
            $ref: '#/components/schemas/ProfileId'
          document:
            $ref: '#/components/schemas/Profile'
          meta:
            $ref: '#/components/schemas/ProfileMeta'
    ProfileMeta:
      title: Profile metadata
      type: object
      description: Profile metadata.
      required:
      - version
      - author
      - creationDate
      - lastUpdate
      properties:
        version:
          type: string
          description: Unique identifier of the profile version.
          example: 27112371-a71b-45d6-b3bc-93436a3a0b4f
        author:
          type: string
          description: Unique identifier of the user who created the profile.
          example: 82a2b53d-39be-4f49-bb7c-8971b58cb7dc
        creationDate:
          type: string
          description: Date when the profile was created in ISO 8601 format.
          example: '2022-01-05T15:41:37.5009471+00:00'
        lastUpdate:
          type: string
          description: Date when the profile was last updated in ISO 8601 format.
          example: '2022-01-05T15:41:37.5009471+00:00'
    ProfileId:
      title: id
      type: string
      description: ID of the client's profile.
      example: c2cbebba-214e-40b2-b68f-98f862e755d5
    UnmaskedProfileResponse:
      title: Unmasked profile response
      type: object
      description: Unmasked profile response.
      properties:
        id:
          $ref: '#/components/schemas/ProfileId'
        document:
          $ref: '#/components/schemas/Profile'
        meta:
          $ref: '#/components/schemas/ProfileMeta'
  securitySchemes:
    appKey:
      type: apiKey
      in: header
      name: X-VTEX-API-AppKey
      description: Unique identifier of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys).
    appToken:
      type: apiKey
      in: header
      name: X-VTEX-API-AppToken
      description: Secret token of the [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys).
    VtexIdclientAutCookie:
      type: apiKey
      in: header
      name: VtexIdclientAutCookie
      description: '[User token](https://developers.vtex.com/docs/guides/api-authentication-using-user-tokens), valid for 24 hours.'