**Source URL:** https://limited.veevavault.dev/clinical/vault-api/api-reference/20.1/binders/binder-templates/bulk-update-binder-templates.md

# Bulk Update Binder Templates



Update from 1-500 binder templates in your Vault.

By changing the document type/subtype/classification, you can move an existing binder template to a different level of the document type hierarchy, effectively reclassifying the template.

See also: **Update [Single] Binder Template** [above](/vault-api/api-reference/20.1/binders/binder-templates/update-binder-template).

<Endpoint path="/api/{version}/objects/binders/templates" method="PUT"></Endpoint>

## Headers {#headers}

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

## Body Parameters {#body-parameters}

You can update the following fields on binder templates:

<FieldTable>
| Name | Description |
| --- | --- |
| `name__v` | Change the name of existing binder templates. |
| `label__v` | Change the label of existing binder templates. This is the name users will see among the available binder templates in the UI. |
| `type__v` | Change the document type to which the templates are associated. |
| `subtype__v` | Change the document subtype to which the templates are associated. This is only required if associating the templates with document subtypes. |
| `classification__v` | Change the document classification to which the templates are associated. This is only required if associating the templates with document classifications. |
| `active__v` | Set to true or false to indicate whether or not the binder templates should be set to active, i.e., available for selection when creating a binder. |
</FieldTable>
<DownloadButton href="/sample-files/bulk-update-binder-templates.json" label="Download Input File"></DownloadButton>

## Example CSV Input {#example-csv-input}

<FieldTable>
| `name__v` | `label__v` | `active__v` |
| --- | --- | --- |
| binder_template_2__c | Second Binder Template | true |
| binder_template_3__c | Binder Template 3 | true |
| binder_template_4__c | Binder Template 4 | false |
</FieldTable>
In this example input, we're updating three existing binder templates in our Vault.

* On the first template, we're updating both the `name__v` and `label__v` values.

* On the second template, we're updating the `name__v` value and setting the `active__v` value to `true`.

* On the third template, we're updating the `name__v` value and setting the `active__v` value to `false`.

Including a binder field name in the input but leaving its value blank will clear existing values from the field.

In this example:

* The input file format is set to CSV.

* The response format is not set and will default to JSON.

* The path/name of the CSV input file in our local directory is specified.

## Request {#request}

<CodeExample title="">
```
curl -X PUT -H "Authorization: {SESSION_ID}" \
-H "Content-Type: text/csv" \
-H "Accept: text/csv" \
--data-binary @"C:\Vault\Templates\update_binder_templates.csv" \
https://myvault.veevavault.com/api/v15.0/objects/binders/templates

```
</CodeExample>

## Response (CSV) {#response-csv}

<CodeExample title="">
```
responseStatus,name,errors
SUCCESS,binder_template_2__c,
SUCCESS,binder_template_3__c,
SUCCESS,binder_template_4__c,

```
</CodeExample>

## Response Details {#response-details}

On SUCCESS, Vault returns the names of the updated binder templates.



---

**Previous:** [Update Binder Template](/clinical/vault-api/api-reference/20.1/binders/binder-templates/update-binder-template)  
**Next:** [Replace Binder Template Nodes](/clinical/vault-api/api-reference/20.1/binders/binder-templates/replace-binder-template-nodes)