**Source URL:** https://general.veevavault.dev/regulatory/vault-api/api-reference/18.1/vault-objects/delete-object-record

# Delete Object Record

Delete Object Records in bulk. Note that you cannot use this API to delete `user__sys` records. Use the  endpoint to set the `status__v` field to `inactive`.

*   The maximum input file size is 1GB.
*   The values in the input must be UTF-8 encoded.
*   CSVs must follow the [standard format.](http://tools.ietf.org/html/rfc4180)
*   The maximum batch size is 500.

<Endpoint path="/api/{version}/vobjects/{object_name}" method="DELETE" />

## Headers

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

## URI Path Parameters

<FieldTable>
| Name | Description |
| --- | --- |
| `{object_name}` | The name of the object, for example, `product__v`. |
</FieldTable>

## Body Parameters

Upload parameters as a JSON or CSV file.

<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>

<FieldTable>
| Name | Description |
| --- | --- |
| `id` | The system-assigned object record ID to delete. |
| `external_id__v` | Optional: Instead of `id`, you can use this user-defined document external ID. |
</FieldTable>

## Query Parameters

<FieldTable>
| Name | Description |
| --- | --- |
| `idParam` | If you're identifying objects in your input by their external ID, add `idParam=external_id__v` to the request endpoint. |
</FieldTable>

Admin may set other standard or custom object fields to required. Use the Object Metadata API to retrieve all fields configured on objects. You can update any object field with `editable: true`.

## Request

<CodeExample title="">
```bash
curl -X DELETE -H "Authorization: {SESSION_ID}" \
-H "Content-Type: text/csv" \
-H "Accept: text/csv" \
--data-binary @"C:\Vault\Object Records\delete_object_records.csv" \
https://myvault.veevavault.com/api/v14.0/vobjects/product__v
```
</CodeExample>

## Response

<CodeExample title="">
```json
{
    "responseStatus": "SUCCESS",
    "data": [
        {
            "responseStatus": "SUCCESS"
        },
        {
            "responseStatus": "SUCCESS"
        },
        {
            "responseStatus": "FAILURE",
            "errors": [
                {
                    "type": "INVALID_DATA",
                    "message": "Error message describing why this object record was not deleted."
                }
            ]
        }
    ]
}
```
</CodeExample>

---

**Previous:** [Update Object Records](/regulatory/vault-api/api-reference/18.1/vault-objects/update-object-records)  
**Next:** [Cascade Delete Object Record](/regulatory/vault-api/api-reference/18.1/vault-objects/cascade-delete-object-record)