**Source URL:** https://limited.veevavault.dev/sitevault/vault-api/api-reference/24.3/documents/update-documents/update-single-document.md

# Update Single Document



<Aside>If you need to update more than one document, it is best practice to use the [bulk API](/vault-api/api-reference/24.3/documents/update-documents/update-multiple-documents).</Aside>
Update editable field values on the latest version of a single document. To update past document versions, see [Update Document Version](/vault-api/api-reference/24.3/documents/update-documents/update-document-version). Note that this endpoint does not allow you to update the `archive__v` field. To archive a document, or to update multiple documents at once, see [Update Multiple Documents](/vault-api/api-reference/24.3/documents/update-documents/update-multiple-documents).

<Endpoint path="/api/{version}/objects/documents/{doc_id}" method="PUT"></Endpoint>

## Headers {#headers}

<FieldTable>
| Name | Description |
| --- | --- |
| `Content-Type` | `application/x-www-form-urlencoded` |
| `Accept` | `application/json` (default) or `application/xml` |
| `X-VaultAPI-MigrationMode` | When set to `true`, Vault allows you to change the document number. All other Document Migration Mode overrides available at document creation are ignored, but do not generate an error message. You must have the *Document Migration* permission to use this header. Learn more about [Document Migration Mode in Vault Help](https://platform.veevavault.help/en/lr/54028). |
</FieldTable>

## URI Path Parameters {#uri-path-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `{doc_id}` | The document `id` field value. |
</FieldTable>

## Body Parameters {#body-parameters}

In the body of the request, add any editable field values that you wish to update. To find these fields, [Retrieve Document Fields](/vault-api/api-reference/24.3/documents/retrieve-document-fields/retrieve-all-document-fields) configured on documents. Editable fields will have `editable:true`. To remove existing field values, include the field name and set its value to null.

## Request {#request}

<CodeExample title="">
```
curl -X PUT -H "Authorization: {SESSION_ID}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "language__v=English" \
-d "product__v=1357662840171" \
-d "audience__vs=consumer__vs" \
https://myvault.veevavault.com/api/v15.0/objects/documents/534

```
</CodeExample>

## Response {#response}

<CodeExample title="">
```
{
"responseStatus": "SUCCESS",
"id": 534
}

```
</CodeExample>

---

**Previous:** [Update Documents](/sitevault/vault-api/api-reference/24.3/documents/update-documents)  
**Next:** [Update Multiple Documents](/sitevault/vault-api/api-reference/24.3/documents/update-documents/update-multiple-documents)