Callbacks
Configuring Callbacks
If you configure a callback URL (Settings → Callback config, or per-journey via processingConfig.callbackUrl), we'll POST the journey's final result to that URL as soon as it reaches a terminal status — you don't need to poll.
Request we send to you:
POST <your callback URL>
Content-Type: application/json
Authorization: <your configured auth key, sent back exactly as you gave it to us>{
"journeyId": "7QZY374O30",
"userId": "user-98765",
"currentStatus": "COMPLETED",
"step": "COMPLETE",
"timestamp": "2026-07-29T10:42:00Z",
"...": "the same journey fields returned by Get a Journey"
}What to do on your end:
- Respond with any 2xx status quickly (under a few seconds) to acknowledge receipt. If your endpoint doesn't respond in time or returns a non-2xx status, we retry with backoff.
- Verify the Authorization header matches the auth key you set, to confirm the request genuinely came from us.
- Treat the callback as a trigger to fetch/refresh your own copy of the journey — don't rely on it as your only source of truth if reliability matters; you can always call Get a Journey to re-confirm.
Setting up your callback URL:
- Go to Settings → Callback config.
- Enter a callback URL — it must be https://.
- Enter an Authorization key of your choosing (this is what we'll echo back in the Authorization header so you can verify the request).
- Click Save Changes.
There's currently no built-in "send a test callback" button — the easiest way to verify your endpoint is wired correctly is to run one journey through to completion in a sandbox/test environment and confirm you receive the callback.