APIReference
Retention
POST
After your system deletes data that has passed its retention period, log it here. A schedule on legal hold answers 409. Every logged deletion gets a certificate in Retention & Deletion.
Requires an API key with the retention:write scope.
ApiKeyheader
AuthorizationBearer <token>An API key, pb_live_ followed by 43 characters. X-API-Key: <key> is also accepted.
application/json- body
schedule_id?stringLength
1 <= length <= 200subject?stringLength
length <= 300performed_at?stringMatch
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$Format
date-timerecords_deleted?integerRange
0 <= value <= 9007199254740991method?stringLength
length <= 1000evidence?stringLength
length <= 5000OK
application/json- response
curl -X POST "https://example.com/api/v1/retention/deletions" \ -H "Content-Type: application/json" \ -d '{}'{ "deletion": { "id": "d1e2f3a4-b5c6-4d7e-8f90-a1b2c3d4e5f6", "schedule_id": "SCHEDULE_ID", "records_deleted": 1240, "performed_at": "2026-10-20T02:10:00.000Z" }}