Skip to content

Update Object Records in bulk.

  • The maximum input file size is 1GB.
  • The values in the input must be UTF-8 encoded.
  • CSVs must follow the standard format.
  • The maximum batch size is 500.
PUT/api/{version}/vobjects/{object_name}
NameDescription
Content-Typetext/csv or application/json
Acceptapplication/json (default) or text/csv
NameDescription
{object_name}The name of the object, for example, product__v.

Upload parameters as a JSON or CSV file.

NameDescription
idThe object record ID.

Additional Notes:

  • 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.
  • If an object is a parent in a parent-child relationship with another object, you cannot update its status__v field in bulk.
  • If an object has a field default configured, the value you use for that field overrides the default.
  • If Dynamic Security (Custom Sharing Rules) is configured on an object, you can add or remove users and groups on manually assigned roles. For example, editor__v.users. This will overwrite any users currently in the role.
  • You can also use this call to complete user tasks by setting the complete__v field to true.
  • The EDIT permission is required on the object record when updating role assignments. This endpoint only supports updating standard roles (for example, viewer, editor, owner) and not custom roles. We recommend using the Assign Users & Groups to Roles on Object Records and the Remove Users & Groups from Roles on Object Records endpoints, which support all roles with better performance.
Download Input File
curl -X PUT -H "Authorization: {SESSION_ID}" \ -H "Content-Type: text/csv" \ -H "Accept: text/csv" \ --data-binary @"C:\Vault\Object Records\update_object_records.csv" \ https://myvault.veevavault.com/api/v17.2/vobjects/product__v
{ "responseStatus": "SUCCESS", "data": [ { "responseStatus": "SUCCESS", "data": { "id": "00P000000000602", "url": "/api/v17.2/vobjects/product__v/00P000000000602" } }, { "responseStatus": "SUCCESS", "data": { "id": "00P00000000K001", "url": "/api/v17.2/vobjects/product__v/00P00000000K001" } }, { "responseStatus": "FAILURE", "errors": [ { "type": "INVALID_DATA", "message": "The resource [00P00000000Q007] does not exist" } ] } ] }

Vault returns a responseStatus for the request:

  • SUCCESS: This request executed successfully. Individual records may be failures.
  • FAILURE: This request failed to execute. For example, an invalid sessionId.

On SUCCESS, Vault returns a responseStatus for each individual record input. The response status of each record may be one of the following:

  • SUCCESS: Vault successfully evaluated this record. This includes records that process with no changes (no-op).
  • FAILURE: This record could not be evaluated and Vault made no field value changes. For example, an invalid or duplicate record ID.

An API call which causes no operation to occur is called a no-op. For example, a call to update values on an object record which already has all of the requested values. The call succeeds and no operation occurs.

When the API processes a record with no changes, Vault:

  • updates the record’s last_modified_date.
  • does not create an entry in the object record audit history.
  • does not execute SDK triggers.