**Source URL:** https://limited.veevavault.dev/qualityone/vault-api/api-reference/23.1/documents/update-documents/reclassify-document.md

# Reclassify Document



Reclassify allows you to change the document type of an existing document or assign a document type to an unclassified document. This endpoint is analogous to the *Reclassify* action in the Vault UI.

A document "type" is the combination of the `type__v`, `subtype__v`, and `classification__v` fields on a document. When you reclassify, Vault may add or remove certain fields on the document. Add these new fields and values to the body of this request. If a new required field is missing, the error response will list the name of the required field. The API does not currently support bulk reclassify.

Not all documents are eligible for reclassification. For example, you can only reclassify the latest version of a document and you cannot reclassify a checked out document. Learn more about [reclassifying documents in Vault Help](https://platform.veevavault.help/en/lr/2271).

<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`, use with the `status__v` and `document_number__v` body parameters to reclassify documents to any document lifecycle state and with any document number. 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}

<FieldTable>
| Name | Description |
| --- | --- |
| `type__v` | The name of the document type. |
| `subtype__v` | The name of the document subtype (if one exists on the type). |
| `classification__v` | The name of the document classification (if one exists on the subtype). |
| `lifecycle__v` | The name of the document lifecycle. |
| `reclassify` | Set to `true`. Without this, a standard document update action is performed. |
| `document_number__v` | The document number for the reclassified document. If omitted, the document retains the existing document number. You must set both the `reclassify` parameter and the `X-VaultAPI_MigrationMode` header to `true` to change the document number, and you can only include this parameter when you also change the document lifecycle or type, subtype, or classification. |
| `status__v` | Specifies the document lifecycle state for the reclassified document. If omitted, the document retains the existing state. You must set both the `reclassify` parameter and the `X-VaultAPI_MigrationMode` header to `true` to change the state, and you can only include this parameter when you also change the document lifecycle or type, subtype, or classification. |
</FieldTable>
You can also add or remove values for any other editable document field. Note that additional fields may be required depending on the document type, subtype, and classification being assigned to the document. Use the [Document Metadata API](/vault-api/api-reference/23.1/documents/retrieve-document-fields/retrieve-all-document-fields) to retrieve required and editable fields in your Vault. If a required field is missing, the error response will list the name of the required field.

## Request {#request}

<CodeExample title="">
```
curl -X PUT -H "Authorization: {SESSION_ID}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "reclassify=true" \
-d "type__v=Promotional Piece" \
-d "subtype__v=Advertisement" \
-d "classification__v=Web" \
-d "lifecycle__v=Promotional Piece" \
https://myvault.veevavault.com/api/v15.0/objects/documents/775

```
</CodeExample>

## Response {#response}

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

```
</CodeExample>

---

**Previous:** [Update Multiple Documents](/qualityone/vault-api/api-reference/23.1/documents/update-documents/update-multiple-documents)  
**Next:** [Update Document Version](/qualityone/vault-api/api-reference/23.1/documents/update-documents/update-document-version)