**Source URL:** https://limited.veevavault.dev/commercial/vault-api/api-reference/25.3/vault-objects/deep-copy-object-record

# Deep Copy Object Record

Deep Copy copies an object record, including all of the record’s related child and grandchild records. Each deep (hierarchical) copy can copy a maximum of 10,000 related records at a time.

See [Copying Object Records](https://platform.veevavault.help/en/lr/32218) for details on required access permissions.

<Aside>
You can perform a regular copy of an object record using the [Create Object](/commercial/vault-api/api-reference/25.3/vault-objects/create-upsert-object-records) endpoint with the `source_record_id` field.
</Aside>

 

<Endpoint path="/api/{version}/vobjects/{object_name}/{object_record_ID}/actions/deepcopy" method="POST" />

## Headers

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

## URI Path Parameters

<FieldTable>
| Name | Description |
| --- | --- |
| `{object_name}` | The name of the parent object to copy. For example, `product__v`. |
| `{object_record_ID}` | The ID of the specific object record to copy. |
</FieldTable>

#### Body

In the request body, you can include field names to override field values in the source record. For example, including `external_id__v` removes the field value in the copy while leaving the source record unchanged.

If the input is formatted as CSV, only a single data line is accepted. If the input is formatted as JSON, only one in the list is accepted.

## Request

<CodeExample title="">
```bash
curl -X POST -H "Authorization: {SESSION_ID}" \
-H "Content-Type: application/json" \
https://myvault.veevavault.com/api/v16.0/vobjects/product__v/00P000000000202/actions/deepcopy
```
</CodeExample>

## Response

<CodeExample title="">
```json
{
  "responseStatus": "SUCCESS",
  "job_id": 26001,
  "url": "/api/v16.0/services/jobs/26001"
}
```
</CodeExample>

## Example: Deep Copy with Override

<CodeExample title="">
```json
[{"name__v":"Copied record 1","external_id__v":""}]
```
</CodeExample>

---

**Previous:** [Update Attachment Field File](/commercial/vault-api/api-reference/25.3/vault-objects/object-attachment-fields/update-attachment-field-file)  
**Next:** [Retrieve Results of Deep Copy Job](/commercial/vault-api/api-reference/25.3/vault-objects/retrieve-results-of-deep-copy-job)