OperationsIntegration Preview
Webhooks
Receive real-time notifications for decisions, rewards, policy blocks and kill switch changes.
Preview
Event names, header names and retry behavior are illustrative; exact delivery terms are specified in your account-specific documentation.
Webhooks deliver events that happen in ReinoAds to your server as HTTPS POST requests. Every request is signed; never process the body before verifying the signature as described in the Authentication section.
POST
/v1/webhooksRegisters a webhook endpoint and the events it subscribes to.Integration Previewcurl https://api.reinoads.com/v1/webhooks \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/webhooks/reinoads",
"events": ["decision.rewarded", "policy.blocked", "kill_switch.changed"]
}'| Event | Sent when |
|---|---|
| decision.served | An ad impression is verified |
| decision.rewarded | A rewarded ad completes and the reward is earned |
| policy.blocked | A request is blocked by a policy, commercial rule or brand safety rule |
| creative.review_updated | A creative's approval status changes |
| kill_switch.changed | A kill switch is turned on or off for a source, advertiser or placement |
{
"id": "evt_01HZXC4N7D",
"type": "decision.rewarded",
"created_at": "2026-10-06T12:00:00Z",
"environment": "live",
"data": {
"decision_id": "dec_01HZX4K2Q8",
"placement": "rewarded",
"user_ref": "your-internal-user-ref",
"reward": { "type": "coins", "amount": 50 }
}
}- Handle events idempotently: the same id may be delivered more than once.
- Respond with a 2xx quickly and push heavy work onto a queue.
- Failed deliveries are retried, illustratively with increasing intervals; the exact policy is in your account documentation.
