List batches
Newest first, filterable by status, operation and external_id.
GET
https://api.easydata.win/v1/batchesEvery batch this organization submitted, newest first.
meta.total counts every batch the filters match rather than the page, and meta.hasMore says whether another one exists - so paging is arithmetic on offset rather than an end inferred from a page that came back shorter than limit.
Request #
| Field | Type | Notes |
|---|---|---|
status | query | queued, processing, completed, failed or cancelled. |
operation | query | A wire name, e.g. profiles.enrich. |
external_id | query | Your own correlation handle, as submitted. |
limit | query | Default 50, maximum 200. |
offset | query | Default 0. |
Call it #
curl -X GET "https://api.easydata.win/v1/batches" \
-H "X-API-Key: $API_KEY"Response #
{
"data": [
{
"batch_id": "afec9131-080b-4b96-b3bb-726249e4bbf8",
"operation": "profiles.enrich",
"status": "completed",
"total": 2,
"succeeded": 2,
"failed": 0,
"pending": 0,
"results_available": 2,
"credits_used": 2,
"external_id": "crm-sync-2026-09-01",
"created_at": "2026-09-01T10:00:00Z",
"completed_at": "2026-09-01T10:00:09Z"
}
],
"meta": { "requestId": "req_8f2ka91x", "total": 1, "hasMore": false }
}Errors #
| Status | Type | When |
|---|---|---|
| 401 | invalid_api_key | Missing, malformed, revoked or expired key. Never metered. |
Every failure uses the same envelope, and none of them is metered - see Errors.