Unicat API Reference

Up - API Reference - Home


/api/p/<project gid>/records/permanent_delete

Requires JWT.

Permanently deletes a deleted record and its subtree.

Note: AND its subtree!
Use with care

The records are removed from the database and are no longer recoverable.

If you permanently delete a record that has links to it, those links are permanently deleted too - even if they were undeleted separately.

The parent for the permanently deleted record is returned.

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.

Request

POST /api/p/<project gid>/records/permanent_delete
Authorization: Bearer <JWT>

{
    "record": "f2e64fe0-9ffa-4d9a-8750-d561d6542453",
}

record permanently delete the record with this gid.

optional

language return data for this (project) language.
languages return data for these (project) languages.

If you request language and/or languages, you get the records' title and fields for the combined set. If you request neither, you'll get all available languages.

Success response

Authorization: <JWT>

{
    "success": true,
    "result": {
        "parent": "7c136ddb-4dfa-4ec1-bad4-15067cbf80d9",
        "job.token": "06715cb7-4dfa-4ec1-bad4-c136ddbf80d9",
    },
    "data": {
        "records": {
            "7c136ddb-4dfa-4ec1-bad4-15067cbf80d9": {
                
            }
        }
    }
}

result

parent the parent of the deleted record has updated childcount.
job.token the job token to look for in sync events.

data

records Record info with hierarchy, definition, field values.

Job status

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": "permanent_delete_record",
        "status": "processing",
        "info": {},
        "created_on": 1613565541.4195538,
        "updated_on": 1613565543.2836412,
    }
}

status can be either queued, rejected, processing, or done.

Error responses

400 Bad request - missing argument
401 Unauthorized - missing or expired JWT
403 Forbidden - not a member of this project
422 Unprocessable entity - permanent deletion failed