v50

latestOpenAPI 3.0.0raw.githubusercontent.com2026-05-142013116.2 KB
Documents

Create document with custom ID or update entire document

Creates a new document with a custom ID, or updates an entire document if there is already a document with the informed ID. For example, you can update a customer profile or address.

ℹ️ You can use this request to create or update documents in any given data entity. Because of this, you are not restricted to using the fields exemplified below in your requests. But you should be aware of the fields allowed or required for each document you wish to update.

A## Permissions

Any user or API 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:

ProductCategoryResource
Dynamic StorageDynamic storage generic resourcesInsert or update document (not remove)
Dynamic StorageDynamic storage generic resourcesFull access to all documents
Dynamic StorageDynamic storage generic resourcesMaster Data administrator

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 API keys when assigning License Manager roles to integrations.

put/api/dataentities/{dataEntityName}/documents/{id}

Path parameters

dataEntityNamestring required
Example:Newsletter

Name of the data entity.

idstring required
Example:Newsletter-b818cbda-e489-11e6-94f4-0ac138d2d42e

ID of the document. If you inform an unused ID, this endpoint will create a new document with the informed custom ID, differently from the Create new document endpoint, which automatically generates the ID. If you inform an existing ID, this endpoint will update the entire document associated with the informed ID.

Query parameters

_wherestring
Example:firstName is not null

Defines a condition the document must comply with. When referring to fields, you can use a nested field up to the first level (e.g. wishlistProduct.productName).

_schemastring
Example:schema

Name of the schema that the document complies with. This field is required when using _where or _fields query parameters.

Headers

Acceptstring required
Example:application/json

HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.

Request body

DocumentRequest required

This can be any pure JSON document. Add new Key-Value pairs to test.

Response

No Content