---
title: "Create document with custom ID or update entire document"
method: PUT
path: "/api/dataentities/{acronym}/documents/{id}"
tags: ["Documents"]
---

# Create document with custom ID or update entire document

`PUT /api/dataentities/{acronym}/documents/{id}`

Creates a new document with a custom ID, or updates an entire document if there is already a document with the informed ID.

>ℹ️ 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.

## Custom field types

The table below presents the types of custom fields you can use when creating or updating documents in Master Data v1 and example values.

| Field Type| Example value |
| - | - |
| Boolean | `true` |
| Currency | `2.5` |
| Date | `1992-11-17` |
| Date_Time | `2016-09-14T19:21:01.3163733Z` |
| Decimal | `2.5` |
| Email | `meu@email.com` |
| Integer | `1000000` |
| Long | `1000000000` |
| Percent | `85.42` |
| Time | `23:50` |
| URL | `https://www.vtex.com` |
| Varchar10 | `Lorem ipsu` |
| Varchar50 | `Lorem ipsum dolor sit amet, consectetur adipiscing` |
| Varchar750  | `Lorem ipsum dolor sit amet, consectetur adipiscing elit...` |
| Varchar100  | `Lorem ipsum dolor sit amet, consectetur adipiscing elit...` |
| Relationship | `5eb31afb-7ab0-11e6-94b4-0a44686e393f` |
| Text | `Lorem ipsum dolor sit amet, consectetur adipiscing elit...` |
 

## 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.

## Path parameters

- `acronym` string, required
- `id` string, required

## Headers

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

## Request body

- object — Object with document fields and their respective values.
  - `{fieldName}` string — Field name and value.

## Response `204`

No Content

---

[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/versions/a90298d4afb1/schema)
