Reloadly Webhook
Get instant updates on any async pending transactions through the Reloadly webhook
Developers · Webhooks
Stop polling. Let Reloadly tell you when something happens
What a webhook actually is, how to set one up, and the rules your endpoint needs to follow to receive transaction status reliably.
Setup time
~15–30 minutes
Level
Technical
You'll need
An HTTPS endpoint
What exactly is a webhook?
A webhook (also called a web callback or HTTP push API) is a way for an app to give other applications real-time information. Instead of you asking "is it done yet?" over and over, a webhook pushes data to your system the moment something happens.
With a typical API, you'd need to poll constantly to check a transaction's status. Reloadly's webhook flips that around: we send you the update, which makes communication more efficient for both sides.
Create the webhook endpoint
Build an HTTPS URL on your own server that's ready to receive POST requests from Reloadly. Follow the developer guide for creating the endpoint for the exact request/response shape to expect.
Configure the webhook on your dashboard
Once your endpoint exists, register it with Reloadly in 3 steps. See the configuration guide for full reference.
Webhooks
Set up your webhook endpoint to receive live events from Reloadly.
API client secret
Rotate client secret
🔗 Webhooks
😕
No webhooks configured.
From Developers → Webhooks, click Add Endpoint (top right). Add the URL of your endpoint, select which service it covers, and pick the event(s) you want notifications for. Your webhook signature secret — used to verify every event actually came from Reloadly — is also available on this screen.
Handle incoming callbacks correctly
Once configured, Reloadly sends a callback (JSON payload) for every event you specified. If you have multiple webhooks set up, always confirm the event type on the callback matches what you're listening for before acting on it.
Your endpoint must respond quickly with an HTTP 200 to acknowledge receipt. If it doesn't, Reloadly treats it as a failure and retries — up to 10 times total. After the 10th unanswered attempt, Reloadly stops trying and assumes the message was consumed successfully.
⚙️ Requirements for consuming airtime status
- Your endpoint must be idempotent — messages are delivered with "at least once" semantics, so you may receive the same callback more than once.
- On receiving a callback, respond with an HTTP 2xx status to acknowledge the transaction status message.
- If you don't return a 2xx, Reloadly retries up to 10 times. After that, no further attempts are made for that transaction.
- Return the HTTP status immediately and process the data asynchronously. Don't do heavy processing in the same thread that received the callback — if you hold the connection open longer than 3 seconds, Reloadly terminates the call and assumes the message was consumed successfully.
Important: a slow or unresponsive endpoint looks identical to Reloadly as a "successfully consumed" message after 3 seconds — so a thread that's just slow, not actually broken, can silently miss the retry mechanism. Keep your endpoint fast and push real work to a background job.
Updating your webhook domain
You can change the domain from your dashboard under Developers. One important limitation: Reloadly can't support multiple domains for the same event type — whichever URL is currently configured (old or new) is the one that receives the transaction status update.
Stuck setting up your webhook?
Our support team can help you troubleshoot the integration.