API referenceCompliance

List erasure jobs

Lists the erasure jobs in your active organization, newest first (ordered by createdAt descending), each with its current status, deletion tallies, and — once completed — its signed certificate.

Endpoint
GET https://api.dairo.app/v1/erasure-jobs

Lists the erasure jobs in your active organization, newest first (ordered by createdAt descending), each with its current status, deletion tallies, and — once completed — its signed certificate. The limit query parameter defaults to 50 and is clamped to the range 1–100; this endpoint returns a single unpaginated page with no cursor. Requires the compliance:read scope.

Scope: compliance:read. Send the API key as a bearer token; Scopes lists what each one reaches.

Request

cURL
curl "https://api.dairo.app/v1/erasure-jobs" \
  -H "Authorization: Bearer $DAIRO_API_KEY"

Response

200 Success. Body: application/json, ErasureJobListResponse.

FieldTypeRequiredDescription
object"list"yes
dataarray of ErasureJobyes
paginationPaginationyes
200
{
  "object": "list",
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "kind": "erase_subject",
      "subjectHandle": null,
      "inboxId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "status": "pending",
      "deleted": {
        "messages": 0,
        "threads": 0,
        "attachments": 0,
        "s3Objects": 0,
        "ledgerRowsRedacted": 0
      },
      "certificate": {
        "alg": null,
        "kid": null,
        "signature": null,
        "type": "dairo.deletion.certificate.v2",
        "issuer": "string",
        "jobId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "projectId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "kind": "string",
        "subjectHandle": null,
        "inboxId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "region": "string",
        "scope": {
          "searched": "string",
          "erased": [
            "string"
          ],
          "notCovered": [
            "string"
          ]
        },
        "deleted": {
          "messages": 0,
          "threads": 0,
          "attachments": 0,
          "s3Objects": 0,
          "ledgerRowsRedacted": 0
        },
        "requestedAt": "2026-10-19T09:30:00Z",
        "completedAt": "2026-10-19T09:30:00Z"
      },
      "certificateSig": null,
      "error": null,
      "createdAt": "2026-10-19T09:30:00Z",
      "startedAt": "2026-10-19T09:30:00Z",
      "completedAt": "2026-10-19T09:30:00Z"
    }
  ],
  "pagination": {
    "nextCursor": "string",
    "hasMore": true
  }
}

Errors

Every error has the same body, {"error": {"type", "code", "message", "param"}}; branch on code. Errors lists every code.

StatusMeaning
400The request is malformed or a value is invalid (invalid_request, invalid_domain, idempotency_key_mismatch).
401The API key is missing or invalid.
403The key lacks the scope this endpoint needs (scope_missing) or may not do this (not_permitted).
404No such resource in this account (resource_not_found).
429Rate limit, plan limit, budget or spend cap reached (rate_limited, plan_limit_reached, budget_exceeded, spend_cap_reached).
500An unexpected error; retry with backoff, then contact support (internal_error).

On this page