> ## Documentation Index
> Fetch the complete documentation index at: https://docs.robase.dev/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> For chatbots and coding agents, start at /guides/ai-agents.
> Hosted MCP: POST https://api.robase.dev/mcp (Streamable HTTP). Auth: Authorization: Bearer robe_… or robe_agent_….
> Phase 1 tools: get_pricing, send_otp, verify_otp, get_otp, send_sms, get_sms. No payment or top-up tools.
> Call get_pricing; treat listed:true as marketed markets (NG, GH, KE, ZA, GB, BJ, CI, US). Do not invent countries or delivery percentages.
> Prefer OTP-shaped tests such as "Your Robase test OTP is 123456". Do not send Hello or Good morning as tests. Match errors on error.type.

# SMS overview

> OTP and transactional SMS on one API, with per-country routing and prepaid credits.

Robase sends SMS through a pool of upstream gateways. You call one REST API; we pick the route for the destination country and fail over where a fallback is configured.

Two products, same keys and credits:

| Use | Endpoints |
| - | - |
| One-time passcodes | `POST /v1/otp/send`, `POST /v1/otp/verify`, `GET /v1/otp/{id}` |
| Transactional messages | `POST /v1/sms/send`, `GET /v1/sms/{id}` |

There is no public batch endpoint, template API, or list-messages API. Logs live in the dashboard. There is no public email API.

## Phone numbers

E.164 only: `+2348012345678`. No spaces, no leading `0` without a country code. Invalid numbers return `invalid_phone`.

Country is derived from the number. If we have no route, you get `country_not_supported`.

## Credits

Charged when the send is accepted (persisted), not when the carrier later reports delivered. If every provider fails, or anti-spam blocks the message, the credit is refunded.

OTP is billed at the country's credit rate (one message). Transactional SMS is billed at **rate × segments**.

Nigeria is 1 credit → ₦6/message. Full table: [coverage](/sms/multi-country) and [pricing](https://robase.dev/pricing).

## What we do not ship as a public API

* SMS templates (`POST /v1/sms` with a `template` id)
* Batch send (up to N messages in one call)
* Self-serve sender-ID registration
* Simulator / test-mode keys


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.