Up - API Reference - Home
Requires JWT.
Permanently delete previously deleted records (and their subtrees) in bulk using the selection
parameter. If the selection contains non-deleted (regular) records too, the permanent_delete 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
.
Permanently deleted records are removed from the database and are no longer recoverable.
If you permanently delete records that have links to them, those links are permanently deleted too - even if they were undeleted separately.
Learn more about the selection
parameter and responses to bulk requests.
POST /api/p/<project gid>/records/bulk/permanent_delete
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 delete permanently.
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_permanent_delete_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