High-Level Status Events
These events fire once per top-level status transition:
Each event fires exactly once per transition. Retrieve full details using the Get Event API; the object type is
orchestration_status_change.
Use these when:
- You only need to know the final outcome (completed or failed) to trigger a downstream action.
- Your retry logic fires on any failure regardless of the failure reason.
- You want the simplest integration with the fewest subscriptions.
Granular status_details Events
These events fire at sub-state transitions withinPENDING, PROCESSING, FAILED, and REJECTED. They give you more detail than the high-level events. Each maps to a specific status_details slug:
Retrieve full details using the Get Event API; the object type is
orchestration_status_details_change.
Use these when:
- You display orchestration sub-state to end users (for example, “Conversion in progress” or “Awaiting approval”).
- You handle different failure reasons differently, such as routing
conversion_failedto a retry queue butpolicy_rejectedto a support escalation. - You want to prompt customer action when
awaiting_action_fromisAWAITING_ACTION_FROM_CLIENT.
Using Both Families Together
Implement both when you want simple failure handling and detailed sub-state tracking at the same time. High-level events keep your core logic simple. Granular events add specificity where you need it. A common pattern:- Subscribe to
orchestration.failedfor retry logic. It fires immediately on failure regardless of the specific reason. - Subscribe to
orchestration.status_details.conversion_failedandorchestration.status_details.destination_transfer_failedseparately to route each failure type to different handlers. - Subscribe to
orchestration.status_details.pending_customer_approvalto prompt the user to approve without polling.
Each webhook fires independently. Make handlers idempotent and deduplicate on event ID. The same event can be delivered more than once if your endpoint does not respond with 2xx. Use event type only for routing to the correct handler.
Polling as a Fallback
If you cannot subscribe to webhooks, poll Get Orchestration and inspectstatus and status_details directly. The field shapes are identical to what the orchestration_status_details_change event object returns.
Questions? Contact Support.