Skip to main content
Transactional SMS fires: OTP uses otp.sent, otp.delivered, otp.verified, otp.expired, otp.failed. sms.failed, sms.blocked and otp.failed add data.reason (a stable token such as delivery_failed) and data.refunded (a boolean that matches the credit ledger) when they are known. SMS payloads also include data.message. sms.sent / sms.delivered set data.status to sent / delivered. The tokens are listed on Delivery timeline. Configure the URL and event list in the dashboard. Signature and payload shape: Webhooks. You can also poll GET /v1/sms/{id}. There is no public “send test event” HTTP API; the dashboard has a test-fire control.