**Source URL:** https://limited.veevavault.dev/quality/vault-api/api-reference/25.3/documents/delete-documents/delete-multiple-document-versions

# Delete Multiple Document Versions

Delete a specific version of multiple documents, including the version's source file and viewable rendition.

*   The maximum input file size is 1GB.
*   The values in the input must be UTF-8 encoded.
*   CSVs must follow the standard RFC 4180 format, with some [exceptions](/quality/vault-api/references/csv-rfc-deviations).
*   The maximum batch size is 500.

<Endpoint path="/api/{version}/objects/documents/versions/batch" method="DELETE" />

## Headers

<FieldTable>
| Name | Description |
| --- | --- |
| `Content-Type` | `text/csv` or `application/json` |
| `Accept` | `application/json` (default) or `text/csv` |
</FieldTable>

## Body Parameters

<Aside>
Some HTTP clients do not support `DELETE` requests with a body. As a workaround for these cases, you can simulate this request using the `POST` method with the `_method=DELETE` query parameter.
</Aside>

Create a CSV or JSON input file.

<FieldTable>
| Name | Description |
| --- | --- |
| `id`<Requiredness type="conditional" /> | The system-assigned document ID of the document to delete. Not required if providing a unique field identifier (`idParam`) such as `external_id__v`. |
| `external_id__v`<Requiredness type="conditional" /> | Instead of `id`, you can use this user-defined document external ID. |
| `major_version_number__v`<Requiredness type="required" /> | Major version number of the document version to remove. |
| `minor_version_number__v`<Requiredness type="required" /> | Minor version number of the document version to remove. |
</FieldTable>

## Query Parameters

<FieldTable>
| Name | Description |
| --- | --- |
| `idParam` | If you're identifying documents in your input by a unique field, add `idParam={fieldname}` to the request endpoint. You can use any object field which has `unique` set to `true` in the object metadata, with the exception of picklists. For example, `idParam=external_id__v`. |
</FieldTable>

 

<DownloadButton href="sample-files/vault-delete-document-versions-sample-csv-input.csv" label="Download Input File" />

## Request

<CodeExample title="">
```bash
curl -X DELETE -H "Authorization: {SESSION_ID}" \
-H "Content-Type: text/csv" \
-H "Accept: text/csv" \
--data-binary @"C:\Vault\Documents\delete_document_versions.csv" \
https://myvault.veevavault.com/api/v13.0/objects/documents/versions/batch
```
</CodeExample>

## Response

<CodeExample title="">
```json
{
    "responseStatus": "SUCCESS",
    "data": [
        {
            "responseStatus": "SUCCESS",
            "id": 771,
            "external_id__v": "ALT-DOC-0771",
            "major_version_number__v": 0,
            "minor_version_number__v": 2
        },
        {
            "responseStatus": "SUCCESS",
            "id": 772,
            "external_id__v": "CHO-DOC-0772",
            "major_version_number__v": 0,
            "minor_version_number__v": 2
        },
        {
            "responseStatus": "SUCCESS",
            "id": 773,
            "external_id__v": "GLU-DOC-0773",
            "major_version_number__v": 1,
            "minor_version_number__v": 0
        },
        {
            "responseStatus": "FAILURE",
            "errors": [
                {
                    "type": "INVALID_DATA",
                    "message": "Error message describing why this document version was not deleted."
                }
            ]
        }
    ]
}
```
</CodeExample>

---

**Previous:** [Delete Single Document Version](/quality/vault-api/api-reference/25.3/documents/delete-documents/delete-single-document-version)  
**Next:** [Retrieve Deleted Document IDs](/quality/vault-api/api-reference/25.3/documents/delete-documents/retrieve-deleted-document-ids)