Skip to content

job.finished

Fired when a bulk-write job reaches a terminal status. The payload mirrors the GET /jobs/{job_id} envelope — receive this event and you no longer need to poll. The semantics of status, error_count, and errors[] are documented under the Jobs chapter.

{
  "event_id": "8b3e4d5f-a6c7-1b2c-3d4e-5f6071829304",
  "event_type": "job.finished",
  "delivered_at": "2026-05-20T10:00:42Z",
  "data": {
    "job_id": "4242",
    "entity": "ARTICLES",
    "status": "COMPLETED",
    "created_at": "2026-05-20T10:00:00Z",
    "updated_at": "2026-05-20T10:00:42Z",
    "total_rows": 12000,
    "created_count": 9000,
    "updated_count": 2950,
    "skipped_count": 0,
    "deleted_count": 0,
    "error_count": 50,
    "errors": [
      {
        "row_number": 137,
        "identifier": "LEU-0900-18-830",
        "error_message": "missing list_price"
      }
    ]
  }
}