Does it violate REST principles for a REST API to support a batch of operations (perhaps with transactional guarantees) that can be added to a queue via a POST?
This design seems outside the scope of REST architecture but not necessarily in violation of it, but I'm looking for authoritative sources here, and/or supporting explanations when/why to avoid or prefer this approach.
For example, the Parse API supports a POST to create a batch of requests, each representing what could be a separate REST request, such as the following (quoting):
curl -X POST \
-H "X-Parse-Application-Id: ${APPLICATION_ID}" \
-H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"requests": [
{
"method": "PUT",
"path": "/1/classes/GameScore/Ed1nuqPvcm",
"body": {
"score": 999999
}
},
{
"method": "DELETE",
"path": "/1/classes/GameScore/Cpl9lrueY5"
}
]
}' \
https://api.parse.com/1/batch