Webhooks
Register a HTTPS URL and RYNT will POST a signed JSON event to it whenever something happens. Delivery is at-least-once with retries and a dead-letter after repeated failures — always dedupe on the body id.
Register an endpoint
curl -X POST .../webhooks \
-H "Authorization: Bearer pk_test_…" -H "Content-Type: application/json" \
-d '{"url":"https://your-system.example/rynt","events":["*"]}'The response returns a secret (shown once) used to verify signatures. Use ["*"] for all events, or list specific ones.
Manage and debug:
GET /webhooks— list your endpoints (secret never returned)GET /webhooks/deliveries— recent deliveries with status, attempts, last errorDELETE /webhooks/{id}— remove an endpoint
Events
| Event | Fires when |
|---|---|
booking.created | A new booking lands on RYNT |
booking.approved / booking.rejected | A request-to-book is decided |
booking.cancelled / booking.completed | Lifecycle end states |
booking.pickup_confirmed / booking.return_confirmed | Check-in / check-out |
booking.payment_updated | Payment status changed |
availability.conflict / conflict.resolved | Double-booking opened / cleared |
Payload
{
"id": "evt_…",
"event": "booking.created",
"created_at": "2026-08-17T12:40:20.838Z",
"data": {
"rynt_booking_id": "…",
"vehicle": { "external_ref": "CAR-1" },
"amount": 4536,
"currency": "AED"
}
}Delivery headers: X-RYNT-Event, X-RYNT-Delivery (matches the body id), and X-RYNT-Signature (see Verifying signatures).
Missed a delivery?If your endpoint was down, poll
GET /bookings?updated_since=…to reconcile — you never lose data.
Updated about 2 hours ago
Did this page help you?
