Skip to main content
Save the messageId returned by a send endpoint, then request its latest status with the same customer app token.

Endpoint

Response

deliveryChannel identifies the active delivery attempt. During fallback it changes to the next channel, and the status remains Pending until that attempt progresses. Receipt timestamps describe that active attempt. All timestamps use ISO 8601. Receipt timestamps are nullable. Provider timestamps take precedence when available; otherwise the API records when the status was reported or provider acceptance was observed. A read receipt without a delivery timestamp does not create a delivery timestamp. Historical messages can have a known status with null receipt timestamps and a null delivery channel. Delivery and read receipts depend on provider reporting. A missing receipt does not establish that the message failed. The endpoint excludes message content, OTP values, recipient details, and provider identifiers.

Authentication and errors

Use the customer app token that submitted the message. For OTPs sent through Modawer’s shared sender, use your own app token. Dashboard sessions and dev tokens do not authorize this endpoint. For polling, start with a two-second interval and back off for messages that remain pending. Continue after Sent or Delivered if you need later receipts. In development and OTP log-only mode, sends receive a durable ID but remain Pending with null receipt timestamps because no provider receives the message.