Load Data Objects
Create a loader job and load a set of data files. You can load a maximum of 10 data objects per request.
POST
/api/{version}/services/loader/loadHeaders
Section link for Headers| Name | Description |
|---|---|
Content-Type | application/json |
Accept | application/json |
Body Parameters
Section link for Body ParametersThe body of your request should be a JSON file containing the set of data objects to load.
| Name | Description |
|---|---|
entity_typerequired | The type of entity to load. The following values are allowed:
|
objectconditional | If the entity_type=vobjects__v, include the object name. For example, product__v. |
actionrequired | The action type to create, update, upsert, or delete data objects. If the entity_type=vobjects__v, the action types create_attachments, delete_attachments, assign_roles, and remove_roles are also available. |
filerequired | Include the filepath to reference the CSV load file on file staging. |
changeobjecttypeconditional | If the entity_type=vobjects__v and the action is update or upsert, you can set this to true to change the object type of existing object records. This operation is only supported for objects with object types enabled. The CSV load file must include the id and object_type__v columns. |
orderoptional | Specifies the order of the load task. |
idparamoptional | Identify object records by any unique field value. Can only be used if entity_type is vobjects__v and action is upsert, update, or delete. You can use any object field which has unique set to true in the object metadata. For example, idparam=external_id__v. |
recordmigrationmodeoptional | Set to true to create or update object records in a noninitial state and with minimal validation, bypass rules such as entry criteria, create inactive records, and set system-managed fields such as created_by__v. Does not bypass record triggers. Use notriggers to bypass triggers. The recordmigrationmode parameter can only be used if entity_type is vobjects__v and action is create, update, or upsert. Vault does not send notifications in Record Migration Mode. You must have the Record Migration |
notriggersoptional | If set to true, Record |
documentmigrationmodeoptional | Set to true to create documents, document versions, document version roles, or document renditions in a specific state or state type. Also allows you to set the name, document number, and version number. For update actions, only allows you to manually reset document numbers. Vault does not send notifications in Document Migration Mode. You must have the Document Migration |
Query Parameters
Section link for Query Parameters| Name | Description |
|---|---|
sendNotification | To send a Vault notification when the job completes, set to true. If omitted, this defaults to false and Vault does not send a notification when the job completes. |
About File Validation
Section link for About File ValidationVault evaluates header rows in CSV load files to ensure they include all required fields. Required fields vary depending on the object_type and action. Learn more about Vault Loader input files for documents
Request
Section link for Requestcurl -X POST -H "Authorization: {SESSION_ID}" \
- H "Content-Type: application/json" \
--data-raw '[
{
"entity_type": "documents__v",
"action": "create",
"file": "documents.csv",
"documentmigrationmode": true,
"order": 1
},
{
"entity_type": "vobjects__v",
"object": "veterinary_patient__c",
"action": "create",
"file": "patients.csv",
"recordmigrationmode": true,
"order": 2
},
{
"entity_type": "vobjects__v",
"object": "product__v",
"action": "upsert",
"file": "products.csv",
"order": 3,
"idparam": "external_id__v"
},
{
"entity_type": "groups__v",
"action": "update",
"file": "groups.csv",
"order": 4
},
{
"entity_type": "vobjects__v",
"object": "product__v",
"action": "update",
"changeobjecttype": true,
"file": "change_object_type.csv",
"order": 5,
"idparam": "id"
}
]' \
https://myvault.veevavault.com/api/v26.1/services/loader/loadResponse
Section link for Response{
"responseStatus": "SUCCESS",
"url": "/api/v26.1/services/jobs/92201",
"job_id": 92201,
"tasks": [
{
"task_id": "1",
"entity_type": "documents__v",
"action": "create",
"documentmigrationmode": true,
"file": "documents.csv"
},
{
"task_id": "2",
"entity_type": "vobjects__v",
"object": "veterinary_patient__c",
"action": "create",
"recordmigrationmode": true,
"file": "patients.csv"
},
{
"task_id": "3",
"entity_type": "vobjects__v",
"object": "product__v",
"action": "upsert",
"idparam": "external_id__v",
"file": "products.csv"
},
{
"task_id": "4",
"entity_type": "groups__v",
"action": "update",
"file": "groups.csv"
},
{
"task_id": "5",
"entity_type": "vobjects__v",
"object": "product__v",
"action": "update",
"idparam": "id",
"changeobjecttype": true,
"file": "change_object_type.csv"
}
]
}Response Details
Section link for Response DetailsOn SUCCESS, the response includes the following information:
| Name | Description |
|---|---|
job_id | The Job ID value to retrieve the status of the loader extract request. |
tasks | The task_id for each load request. |