Webhooks
Retrieve a webhook event
GET
apiKeyAuthheader
X-Api-Key<token>Your API key, sent as X-Api-Key. Format bsk_<key_id>.<secret>. Create one in the dashboard under Settings → Developer tools.
event_id*stringapplication/json- response
id*stringobject*stringtype*stringsms.delivered- SMS deliveredsms.failed- SMS failedemail.delivered- Email deliveredemail.bounced- Email bouncedemail.failed- Email failedwebhook.test- Test event
Value in
"sms.delivered""sms.failed""email.delivered""email.bounced""email.failed""webhook.test"status*stringpending- Pendingdelivered- Deliveredfailed- Failed
Value in
"pending""delivered""failed"url*stringFormat
uriLength
length <= 500attempts?integerRange
0 <= value <= 32767last_status_code?|Range
0 <= value <= 32767last_error?stringLength
length <= 300last_attempt_at?|Format
date-timenext_attempt_at?|Format
date-timedelivered_at?|Format
date-timecreated_at*stringFormat
date-timepayload*unknownExample Request
curl -X GET 'https://api.softlinksms.co.ke/api/v1/webhook-events/string'Example Response
{ "id": "evt_6a1f0c2e9b8d4f3aa1c27e5d9b0f4e21", "type": "sms.delivered", "created_at": "2026-10-19T08:15:02Z", "account_id": 1042, "data": { "object": "sms", "id": "3fae8b8e-9c3a-4e9a-9d3a-7e8e9c3a4e9a", "recipient": "+254712345678", "status": "delivered", "traffic_class": "transactional", "sender_id": "ACMEBANK", "batch_id": "1c9d7f2a-55e3-4b8e-9a61-0f2d3c4b5a69", "price": "0.50", "currency": "KES", "delivery_description": "DeliveredToTerminal", "delivered_at": "2026-10-19T08:15:01Z", "created_at": "2026-10-19T08:15:00Z" }}