Skip to main content

Job Status

Poll until ready is true. This endpoint also reconciles state from DataForge, so a single call is enough — no separate /refresh/ needed.

Endpoint​

Method: GET Path: /data-enrichment/status/{job_id}/ Full URL: https://backend.ecoreservice.com/api/v1/data-enrichment/status/{job_id}/ Auth: Authorization: Token YOUR_API_TOKEN (or Bearer) — see Authentication

Response

{
"success": true,
"data": {
"job_id": "6b4c9f70-5a2b-4a0e-9a1b-9c2a3d4e5f61",
"status": "running",
"ready": false,
"progress_pct": 42,
"row_count": 1500,
"processed_rows": 630,
"failed_rows": 4,
"credits_held": "1125.0000",
"credits_charged": "0.0000",
"credits_refunded": "0.0000",
"error_message": null,
"submitted_at": "2026-10-11T19:04:12+00:00",
"started_at": "2026-10-11T19:04:14+00:00",
"completed_at": null
}
}

Status values

StatusTerminalMeaning
pendingnoAccepted locally, not yet queued at DataForge.
queuednoQueued at DataForge.
runningnoBeing processed.
completedyesAll rows processed. Result available.
partialyesFinished with some rows failed. Result available.
failedyesJob failed. See error_message. Credits released.
cancelledyesCancelled via /cancel/. Credits refunded.

Suggested polling cadence: every 10–30 seconds. Jobs typically take under a minute per 100 rows but vary by selected layers.