messageId or by mobileNumber with a date range.
Endpoint
Headers
string
required
API key issued by OneXtel, used for authentication.
Choosing a lookup
You must supply eithermessageId or mobileNumber — never both.
Request body
The request body is a JSON object.string
required
Channel to query —
whatsapp, rcs, or sms.Verified against the live API (Aug 2026): when looking up by
messageId, the channel
value is not validated — whatsapp, wa, sms, an arbitrary string, and omitting the field
entirely all return the same record. A message ID is already unique, so the channel adds
nothing. It is still worth sending the correct value: it is likely to matter for mobileNumber
lookups, where the same number can appear on more than one channel.integer
Tenant administrator ID. Scopes the query to a tenant.
integer
TUC ID. Scopes the query to a specific account under the tenant.
Verified:
taId and tucId are optional. Requests omitting both return the same result,
because the API key already identifies the account. They appear in requests from tenant-level
callers, where they scope the lookup to one account under the tenant.array
Array of message IDs to look up. Required unless
mobileNumber is supplied, and mutually
exclusive with it.array
Array of recipient mobile numbers, with country code. Required unless
messageId is
supplied, and mutually exclusive with it.string
Start of date range, formatted
YYYY-MM-DD HH:mm:ss — for example
"2025-12-17 00:00:00". Mandatory when querying by mobileNumber.string
End of date range, formatted
YYYY-MM-DD HH:mm:ss — for example
"2025-12-17 23:59:59". Mandatory when querying by mobileNumber.integer
default:"0"
Page number for paginated results.
integer
default:"10"
Number of records to return per page.
Example request
Response
array
One object per matching message.
integer
Total number of records matching the query, across all pages.
Record fields
string
Unique message identifier — the same value returned when the message was sent.
string
Recipient number.
string
Current delivery state.
string
Outcome code.
000 is delivered; anything else is a failure reason — see
SMS error codes.string
Human-readable description of
failedErrorCode.integer
Timestamp in epoch milliseconds at which the platform received the status.
integer
Credits consumed by the message.
integer
Whether a button in the message was clicked.
integer
Whether a tracked URL in the message was clicked.
string
Custom reference set on the original send, echoed back.
customParam1 through
customParam5.failedErrorCode here is the same code set as the SMS error codes
table, despite the field name — it carries 000 on success too, not only on failure.Errors
An invalid or missing API key returns HTTP 400 with the body:Related
- RCS delivery notification — push delivery status instead of polling for it
- WhatsApp callback events
- Message history

