Skip to main content

Response

200 with status: "pending". Delivery is asynchronous.
Poll GET /v1/sms/{id} or wait for sms.sent / sms.delivered / sms.failed / sms.blocked. Status path: pending → sent → delivered, or failed, or blocked. The GET response also carries a timeline of each hop with a reason and a refund flag; see Delivery timeline.

OTP bodies

OTP messages are composed by Robase (workspace language, or language on the send). You do not pass a message on POST /v1/otp/send.

Not in this API

There is no template_id, no scheduled send, and no /v1/sms/batch. Loop with idempotency keys if you need many destinations.