Up - API Reference - Home
Requires JWT.
Undelete previously deleted records (and their subtrees) in bulk using the selection
parameter. If the selection contains non-deleted (regular) records too, the undelete operation on only those records will fail.
Processing is done as a job running in the background, it may be incomplete when you receive the response. Job progress can be queried using the returned
job.token
.
Deleted records can be undeleted unless they were followed by a permanent_delete
.
If you undelete records that have links to them, those links are undeleted too.
Learn more about the selection
parameter and responses to bulk requests.
POST /api/p/<project gid>/records/bulk/undelete
Authorization: Bearer <JWT>
{
"selection": [
"<gid-1>",
"<gid-2>",
"<gid-3>",
{
"children": "<gid-9>",
"channel": <channel key>,
"exclude": ["<gid-x>", "<gid-y>", "<gid-z>"],
},
{
"search": {
"language": "nl",
"q": "+cms 225",
"filter": ["classes", "has", "article"],
},
"exclude": ["<gid-a>", "<gid-b>", "<gid-c>"]
},
],
}
selection
is the selection of records to undelete.
For children
entries, we support optional channel
and ordering
parameters.
For many bulk operations, we don't report on individual items, because that report can potentially be very large, or it is processed in the background. We return a job.token
, and you can look for it when you handle sync
information - we report on the job while it is running and post a completion status there as soon as the operation is done.
Authorization: <JWT>
{
"success": true,
"result": {
"job.token": "7c136ddb-4dfa-4ec1-bad4-15067cbf80d9",
},
"data": {}
}
job.token
the job token to look for in sync
events.
Look for the job.token
in sync events to find status updates on the operation. The sync event looks like this:
{
"type": "cc",
"cursor": <cursor>,
"action": "UPDATE",
"data_type": "jobs",
"data_key": "7c136ddb-4dfa-4ec1-bad4-15067cbf80d9",
"data": {
"project_gid": "<project_gid>",
"job": "bulk_undelete_records",
"status": "processing",
"info": {
"total": 120,
"remaining": 26
},
"created_on": 1613565541.4195538,
"updated_on": 1613565543.2836412,
}
}
status
can be either queued
, rejected
, processing
, or done
.
400
Bad request - missing parameters or wrong type or value
401
Unauthorized - missing or expired JWT
403
Forbidden - not a member of this project
1006
Selection error - selection or cursor parameter is invalid