Batch Operations (v4 API)
You can specify multiple operations to apply to various objects of various types.
Relative URL | HTTP Request Method |
---|---|
/api/v4/ backend-deployment-id /batch.json | POST |
Batch Operation Limit
Up to 1000 operations are supported per payload. If more than 1000 operations are included in a payload the request will be considered invalid and result in an error.
An array of operations is supplied in a hash under the key
operations
. These operations are applied in the order they appear in the array. Each operation consists of a hash with required fields: method
, containing an appropriate keyword, and object
containing a hash with, at least, the two required fields - type
and id
. If the optional key stop_on_error: true
is supplied alongside operations
, any operations following an error will not be applied.Operation | Parameters |
---|---|
Create an object | "method" : "post"
"object" : Hash with fields:
|
Replace an object | "method" : "put"
"object" : Hash with fields:
|
Partial update on an object | "method" : "patch"
"object" : Hash with fields:
|
Delete an object | "method" : "delete"
"object" : Hash with fields:
|
An ill-formed or illegal request will fail without performing any of the operations. A well-formed request should execute each operation in order, and return a success response. The body of the response should contain the requested method, object model and object id, as well as a
"success"
flag and any relevant "error"
details for each operation. See Error Responses for a description of each error.{
"stop_on_error": false,
"operations": [
{
"method": "put",
"object": {
"type": "asset",
"id": "eacb4836-f1b9-11e1-9750-001cc01904e3"
},
"success": true
},
{
"method": "patch",
"object": {
"type": "asset",
"id": "44218dfe-7c3f-11e2-95e1-0026189d9dc0"
},
"success": false,
"error": {
"type": "INVALID_VALUE",
"title": "Invalid value specified.",
"detail": "Invalid option \"adsghjsd\" for field 'make'.",
"see": "https://docs.journeyapps.com/reference/backend-api/api-reference/error-responses#INVALID_VALUE"
}
},
{
"method": "delete",
"object": {
"type": "asset",
"id": "efa3886d-d9a6-4383-a2c0-c7e28a6c21d0"
},
"success": false,
"error": {
"type": "OBJECT_NOT_FOUND",
"title": "Object not found.",
"detail": "No aseset found with ID: 'efa3886d-d9a6-4383-a2c0-c7e28a6c21d0'",
"see": "https://docs.journeyapps.com/reference/backend-api/api-reference/error-responses#OBJECT_NOT_FOUND"
}
}
]
}
{
"operations": [
{
"method": "put",
"object": {
"type": "asset",
"id": "eacb4836-f1b9-11e1-9750-001cc01904e3",
"make": "Samsung"
}
},
{
"method": "patch",
"object": {
"type": "asset",
"id": "44218dfe-7c3f-11e2-95e1-0026189d9dc0",
"make": "Nokia"
}
},
{
"method": "delete",
"object": {
"type": "asset",
"id": "efa3886d-d9a6-4383-a2c0-c7e28a6c21d0"
}
}
]
}
{
"stop_on_error": true,
"operations": [
{
"method": "put",
"object": {
"type": "asset",
"id": "eacb4836-f1b9-11e1-9750-001cc01904e3"
},
"success": true
},
{
"method": "patch",
"object": {
"type": "asset",
"id": "44218dfe-7c3f-11e2-95e1-0026189d9dc0",
"make": "adsghjsd"
},
"success": false,
"error": {
"type": "INVALID_VALUE",
"title": "Invalid value specified.",
"detail": "Invalid option \"adsghjsd\" for field 'make'.",
"see": "https://docs.journeyapps.com/reference/backend-api/api-reference/error-responses#INVALID_VALUE"
}
},
{
"method": "delete",
"object": {
"type": "asset",
"id": "efa3886d-d9a6-4383-a2c0-c7e28a6c21d0"
},
"success": false,
"error": {
"type": "BATCH_ABORTED",
"title": "Batch processing aborted due to error.",
"detail": "Skipping this operation because a previous operation in this batch failed.",
"see": "https://docs.journeyapps.com/reference/backend-api/api-reference/error-responses#BATCH_ABORTED"
}
}
]
}
Last modified 6mo ago