Dugble

SMS API

SMS API for OTPs and product alerts.

Send A2P SMS with stable message IDs, idempotency keys, delivery states, and webhook events your backend can trust.

Send a test SMS

SMS send contract

The request should include the recipient, template or body, and an idempotency key. A successful response should return a message ID and the first delivery state.

Response

message_id + queued status

Retry safety

idempotency key required

Trace the whole lifecycle.

When a user says they did not get the code, you should know where it stopped.

Stable IDs

Every accepted request returns a message_id your team can search, store, and trace.

Idempotent sends

Use idempotency_key for retries so network failures do not create duplicate OTPs.

Failure reasons

Expose provider responses and normalized errors so support is not guessing.

Webhook events

Handle message.sent, message.delivered, and message.failed in your backend.

Expected SMS states

queuedsentdeliveredfailedexpired