**Source URL:** https://limited.veevavault.dev/regulatory/vault-api/api-reference/25.3/vault-objects/object-record-attachments/create-multiple-object-record-attachments

# Create Multiple Object Record Attachments

You can create object record attachments in bulk with a JSON or CSV input file. You must first load the attachments to [file staging](/regulatory/vault-api/guides/file-staging). If the attachment already exists in your Vault, Vault uploads it as a new version of the existing attachment. Learn more about [attachment versioning in Vault Help](https://platform.veevavault.help/en/lr/24287).

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

<Endpoint path="/api/{version}/vobjects/{object_name}/attachments/batch" method="POST" />

## Headers

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

## Body Parameters

Prepare a CSV or JSON input file.

<FieldTable>
| Name | Description |
| --- | --- |
| `id`<Requiredness type="required" /> | The `id` of the object record to which to add the attachment. |
| `filename__v`<Requiredness type="required" /> | The name for the new attachment. This name must include the file extension, for example, `MyAttachment.pdf`. If an attachment with this name already exists, it is added as a new version. Cannot exceed 218 bytes. |
| `file`<Requiredness type="required" /> | The filepath of the attachment on file staging. |
| `description__v`<Requiredness type="optional" /> | Description of the attachment. Maximum 1,000 characters. |
| `external_id__v`<Requiredness type="optional" /> | The external ID value of the attachment. |
</FieldTable>

 

<DownloadButton href="sample-files/bulk-create-object-attachments.json" label="Download Input File" />

## Request

<CodeExample title="">
```bash
curl -X POST  -H 'Authorization: {SESSION_ID}\
-H 'Accept: text/csv' \
-H 'Content-Type: text/csv' \
--data-binary @"create_attachments.csv" \
https://myvault.veevavault.com/api/v19.3/vobjects/veterinary_patient__c/attachments/batch
```
</CodeExample>

## Response

<CodeExample title="">
```json
{
   "responseStatus": "SUCCESS",
   "data": [
       {
           "responseStatus": "SUCCESS",
           "id": 140,
           "version": 1
       },
       {
           "responseStatus": "SUCCESS",
           "id": 141,
           "version": 1
       }
   ]
}
```
</CodeExample>

---

**Previous:** [Create Object Record Attachment](/regulatory/vault-api/api-reference/25.3/vault-objects/object-record-attachments/create-object-record-attachment)  
**Next:** [Restore Object Record Attachment Version](/regulatory/vault-api/api-reference/25.3/vault-objects/object-record-attachments/restore-object-record-attachment-version)