> For the complete documentation index, see [llms.txt](https://docs.idlayr.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.idlayr.com/products/number-verification/reverse-sms.md).

# Reverse SMS

{% hint style="info" %}
**Backend API** · Early Access
{% endhint %}

Verify a claimed mobile phone number by having the user send an SMS from their device to an IDlayr-provided number. The carrier attributes the outbound SMS to a phone number, and IDlayr confirms whether it matches the claimed number. Unlike SMS OTP, the user doesn't type a code — the round trip is mobile-originated, not server-originated.

**No IDlayr SDK is required.** The verification is driven from your backend; the device-side step is your app launching the native SMS composer via a standard `sms:` URL scheme. Same product family as [Secure SNA](/products/number-verification/secure-sna.md) under the `/v1/number-verification/` URI namespace, but the trust anchor is the SMS channel, not the mobile-data path.

## What it does

* Verifies a claimed MSISDN by having the user send an outbound SMS from their device.
* The carrier's authoritative SMS-source record is the trust anchor.
* Returns a deterministic `match` boolean.

## What it doesn't do

* Doesn't prove the natural person using the device — like Secure SNA, this is a possession factor.
* Doesn't work on devices without SMS capability or where SMS sending is restricted.
* Doesn't silently dispatch — the user must tap Send in the native SMS composer. By design.

## When to use it

* As a **fallback** for Secure SNA when the device is on Wi-Fi only or the carrier doesn't support SNA.
* In **markets or line types** where SMS coverage is strong but SNA coverage is patchy.
* For **flows where cellular data isn't guaranteed** (rural areas, roaming, hotel Wi-Fi).

## In this section

* [**How it works**](/products/number-verification/reverse-sms/how-it-works.md) — the mobile-originated SMS flow.
* [**Prerequisites**](/products/number-verification/reverse-sms/prerequisites.md) — what you need before integrating.
* [**Integration**](/products/number-verification/reverse-sms/integration.md) — backend integration + the native SMS-composer launch.
* [**Testing in sandbox**](/products/number-verification/reverse-sms/testing.md) — sandbox MSISDN patterns.
* [**Endpoints**](/products/number-verification/reverse-sms/endpoints.md) — REST endpoint summary; full reference in API Reference.
* [**Callbacks**](/products/number-verification/reverse-sms/callbacks.md) — terminal-state callback payload, delivery, and retry.
* [**Error codes**](/products/number-verification/reverse-sms/error-codes.md) — HTTP errors and terminal-state codes specific to Reverse SMS.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.idlayr.com/products/number-verification/reverse-sms.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
