API v1StableLast updated Oct 2026Changelog →
Core concepts

Async jobs

Run large batches outside the request cycle.

POST /api/v1/jobs queues one deterministic capability — normalize, transform, validate, dedupe or anomalies — over up to 10,000 records and returns immediately with a job handle.

Poll GET /api/v1/jobs/{id} for status: queued → processing → completed | failed. Jobs are retried up to 3 attempts. The batch is billed up front (1 credit per record); polling is free.

curl -X POST https://messyapi.com/api/v1/jobs \
  -H "Authorization: Bearer $MESSYAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "capability": "dedupe",
  "records": [
    {
      "email": "billing@acme.com",
      "company": "Acme Incorporated"
    },
    {
      "email": "billing@acme.com",
      "company": "ACME Inc."
    }
  ],
  "params": {
    "threshold": 0.9
  }
}'