List deletion certificate rows
Platform module
GET/deletion-certificatesdeletionCertificates.list
The record of an org whose data was deleted (1351, Section 14.7), kept after the org is gone. Read only by the former Owner it was issued to. The PDF itself is downloaded from Atlas. Returns a cursor page of deletion certificate rows the caller may see. The default order is `due_at` descending, newest first. Supports sparse fieldsets and the filter grammar.
- Requires the capability org.settings.read.
- OAuth scopes: org.
- Cursor-paginated: limit, cursor, fields, sort and filter apply.
- Error statuses: 400, 401, 429. Errors are RFC 9457 problem details.
Path and query parameters
| Field | Type | Required | Description |
|---|---|---|---|
| limit | Limit | No | Page size. Default 50, maximum 200.Constraints: range 1 to 200 |
| cursor | Cursor | No | Opaque cursor from `next_cursor` of the previous page.Constraints: length 1 to any |
| fields | Fields | No | Sparse fieldset: a comma-separated list of top-level fields to return. `id` is always returned.Constraints: pattern ^[a-z_][a-z0-9_]*(,[a-z_][a-z0-9_]*)*$ |
| sort | Sort | No | Sort keys, comma-separated; a leading `-` sorts descending. Without `sort`, the documented default order applies (coded lists sort in numeric code order).Constraints: pattern ^-?[a-z_][a-z0-9_]*(,-?[a-z_][a-z0-9_]*)*$ |
| filter | Filter | No | Filter grammar `filter[field][op]=value`. Operators: eq, ne, lt, lte, gt, gte, in (comma-separated values), is_null (true or false) and contains. Conditions combine with AND. |
Response 200: a page of DeletionCertificate
| Field | Type | Required | Description |
|---|---|---|---|
| id | string (uuid) | Yes | Identifier of the deletion certificate. |
| created_at | string (date-time) | Yes | When the row was created. |
| updated_at | string (date-time) | Yes | When the row was last updated. |
| deleted_org_id | string (uuid) | Yes | Id the deleted org had. |
| org_name | string | Yes | Name of the org when it was deleted.Constraints: length 1 to 300 |
| org_slug | string | Yes | Web address of the org when it was deleted.Constraints: length 1 to 100 |
| basis | "cancellation" | "deletion_request" | Yes | Day 90 of a cancellation, or the end of a deletion request's recovery window. |
| requested_at | string (date-time) | Yes | When the Owner canceled or asked for deletion. |
| due_at | string (date-time) | Yes | When the data became due for deletion. |
| purged_at | string (date-time) | null | Yes | When every row of the org was deleted. |
| tables_purged | integer | null | Yes | Tables rows were deleted from.Constraints: range 0 to any |
| rows_purged | integer | null | Yes | Rows deleted.Constraints: range 0 to any |
| storage_objects_deleted | integer | Yes | Stored files deleted.Constraints: range 0 to any |
| document_sha256 | string | null | Yes | SHA-256 of the certificate PDF.Constraints: length 1 to 64 |
| issued_at | string (date-time) | null | Yes | When the certificate PDF was stored. |
| delivered_at | string (date-time) | null | Yes | When the certificate was emailed to the former Owner. |
{
"data": [
{
"id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
"created_at": "2026-10-08T14:30:00Z",
"updated_at": "2026-10-08T14:30:00Z",
"deleted_org_id": "0192f1e2-7c3a-7b4d-9e8f-1a2b3c4d5e6f",
"org_name": "Harbor Lights Productions",
"org_slug": "harbor-lights",
"basis": "cancellation",
"requested_at": "2026-10-08T14:30:00Z",
"due_at": "2026-10-08T14:30:00Z",
"purged_at": "2026-10-08T14:30:00Z",
"tables_purged": 41,
"rows_purged": 1820,
"storage_objects_deleted": 12,
"document_sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"issued_at": "2026-10-08T14:30:00Z",
"delivered_at": "2026-10-08T14:30:00Z"
}
],
"next_cursor": null
}Code samples
curl -X GET "$XOS_BASE_URL/deletion-certificates" \
-H "Authorization: Bearer $XOS_API_KEY"for await (const row of xos.deletionCertificates.listAll()) {
console.log(row);
}for row in xos.deletion_certificates.list_all():
print(row)xos deletion-certificates list --all