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

# 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](/vault-api/api-reference/24.1/vault-objects/create-object-records) endpoint with the `source_record_id` field.</Aside>
<Endpoint path="/api/{version}/vobjects/{object_name}/{object_record_ID}/actions/deepcopy" method="POST"></Endpoint>

## Headers {#headers}

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

## URI Path Parameters {#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 {#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 {#request}

<CodeExample title="">
```
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 {#response}

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

```
</CodeExample>

## Example : Deep Copy with Override {#example--deep-copy-with-override}

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

```
</CodeExample>

---

**Previous:** [Retrieve Page Layout Metadata](/commercial/vault-api/api-reference/24.1/vault-objects/object-page-layouts/retrieve-page-layout-metadata)  
**Next:** [Retrieve Results of Deep Copy Job](/commercial/vault-api/api-reference/24.1/vault-objects/retrieve-results-of-deep-copy-job)