Subscribe to these events via Webhooks to track Order progress in real time.
All webhook payloads include the common fields (webhook_id, event_type, event_created_at, updated_at, user_id, template_id) plus the event-specific fields below.
order-created
Fires when an order is created, before any status transitions happen. The link_id, data_source, and employer_id fields are always null since the order hasn’t been linked yet, and status is always pending.
Additional fields:
| Field | Description |
|---|
order_id | The Order identifier |
order_number | Human-readable order number |
employer_id | Always null at creation |
status | Always pending |
{
"webhook_id": "0aac461e7b774a38a72fd9c7c0eef8ee",
"event_type": "order-created",
"event_created_at": "2024-07-11T21:40:48.424610Z",
"updated_at": "2024-07-11T21:40:48.424655+00:00",
"product": "income",
"link_id": null,
"user_id": "adbe707dddee4334bffaeb5866272740",
"data_source": null,
"order_id": "ddd192646b3c48be96651a0ff25cef85",
"order_number": "4138538",
"employer_id": null,
"status": "pending",
"template_id": null
}
order-status-updated
Fires for each change to an Order’s status when related to a Task.
Order status webhooks only reflect successful connections. To listen for all connection attempts (including failures), subscribe to task-status-updated events where the tracking_info field matches the employer_id from the Order.
A new VOIE or VOA report ID is generated after every additional connection reaches completed status.
Additional fields:
| Field | Description |
|---|
order_id | The Order identifier |
order_number | Human-readable order number |
employer_id | Associated employer (nullable) |
status | Current order status |
{
"webhook_id": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"event_type": "order-status-updated",
"event_created_at": "2022-08-24T14:00:00.000000Z",
"updated_at": "2022-08-24T14:00:00.000000+00:00",
"order_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"order_number": "ORD-2024-001",
"employer_id": "emp_abc123",
"status": "completed",
"user_id": "88fef4cea64c40b5ad6727cc9b0b9fdc",
"template_id": null
}
order-refresh-failed
Fires when a refresh task fails for an Order. Use this to detect refresh failures. Unlike link-disconnected, this fires per-order and includes order context.
Additional fields:
| Field | Description |
|---|
order_id | The Order identifier |
order_number | Human-readable order number |
employer_id | Associated employer (nullable) |
status | The failure status |
{
"webhook_id": "d4e5f6a7b8c9d0e1f2a3b4c5d6a7b8c9",
"event_type": "order-refresh-failed",
"event_created_at": "2022-08-25T09:30:00.000000Z",
"updated_at": "2022-08-25T09:30:00.000000+00:00",
"order_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"order_number": "ORD-2024-001",
"employer_id": "emp_abc123",
"status": "login_error",
"user_id": "88fef4cea64c40b5ad6727cc9b0b9fdc",
"template_id": null
}
Event summary
| Event | Trigger | Key Fields |
|---|
order-created | Order first created (before any transitions) | order_id, order_number, status (always pending) |
order-status-updated | Order status changes | order_id, order_number, status |
order-refresh-failed | Refresh task fails for an order | order_id, order_number, status |