# SimpleSMS Documentation

Source: https://joinsimplesms.com/docs
Index: https://joinsimplesms.com/llms.txt

REST API for sending and receiving SMS, verifying phone numbers, and
provisioning real US and Canada numbers.

- Base URL: https://api.joinsimplesms.com/v1
- Auth: `Authorization: Bearer ssms_sk_test_...` (free sandbox keys, instant)
- MCP: https://mcp.joinsimplesms.com (discovery: https://joinsimplesms.com/.well-known/mcp.json)
- Every page below has a markdown twin: append `.md` to its URL.
- All of them in one file: https://joinsimplesms.com/docs/llms-full.txt

## Pages

- [Quickstart](https://joinsimplesms.com/docs/quickstart.md): Send your first SMS in under five minutes.
- [Authentication](https://joinsimplesms.com/docs/authentication.md): API keys, test vs live mode, and key rotation.
- [Sandbox & test numbers](https://joinsimplesms.com/docs/sandbox.md): How test mode works, including magic numbers.
- [Messages](https://joinsimplesms.com/docs/messages.md): Send SMS, retrieve messages, and list history.
- [Verify](https://joinsimplesms.com/docs/verify.md): Phone verification (OTP) in two API calls.
- [Webhooks](https://joinsimplesms.com/docs/webhooks.md): Signed event delivery to your endpoint, with automatic retries.
- [Migrate from Twilio Verify](https://joinsimplesms.com/docs/migrate-from-twilio.md): Line-by-line mapping from Twilio Verify to SimpleSMS Verify.
- [Numbers](https://joinsimplesms.com/docs/numbers.md): Search, buy, organize, and release phone numbers, one at a time or hundreds at once.
- [Customers](https://joinsimplesms.com/docs/customers.md): Attribute numbers, messages, verifications and usage to the businesses you send for.
- [Lookup](https://joinsimplesms.com/docs/lookup.md): Carrier and line type for any number.
- [Inbox & conversations](https://joinsimplesms.com/docs/inbox.md): Threaded conversations, unread counts, and the shared team inbox.
- [Contacts](https://joinsimplesms.com/docs/contacts.md): Contacts, CSV import, segments and subscription topics: in the console and the API.
- [Teams](https://joinsimplesms.com/docs/teams.md): Multiple users on one account: roles, email invitations, signatures.
- [Batches & broadcasts](https://joinsimplesms.com/docs/broadcasts.md): One message to up to 10,000 people - from a CSV, the API, or tagged contacts - with per-recipient variables, pause, cancel and retry.
- [Scheduled messages](https://joinsimplesms.com/docs/scheduled.md): Send later: schedule 1:1 messages up to 30 days out.
- [Automations](https://joinsimplesms.com/docs/automations.md): Send events from your app; SimpleSMS sends, waits, and branches.
- [Auto-replies & office hours](https://joinsimplesms.com/docs/auto-reply.md): Per-number automatic replies, optionally only outside business hours.
- [Number porting](https://joinsimplesms.com/docs/porting.md): Bring an existing business number to SimpleSMS.
- [Opt-out, consent & TCPA](https://joinsimplesms.com/docs/opt-out.md): Revocation in plain English, the consent ledger, and what is blocked.
- [Compliance & registration](https://joinsimplesms.com/docs/compliance.md): Website disclosure check, generated opt-in copy, 10DLC brand and campaign registration, and opt-in proof.
- [Security best practices](https://joinsimplesms.com/docs/security.md): Protect your account, API keys, and users: key hygiene, phishing awareness, and how we handle your data.
- [Deliverability](https://joinsimplesms.com/docs/deliverability.md): Delivery rates by day, carrier, and sending number, plus automatic degradation alerts.
- [Spend limits](https://joinsimplesms.com/docs/spend-limits.md): A monthly cap on live messaging spend, with alerts as you approach it.
- [Audit log](https://joinsimplesms.com/docs/audit-logs.md): Who changed keys, team, webhooks, spend limits, numbers, consent, and settings.
- [Errors](https://joinsimplesms.com/docs/errors.md): The error envelope and every error code.
- [Pricing](https://joinsimplesms.com/docs/pricing.md): What SimpleSMS costs, and what the free tier includes.
- [Changelog](https://joinsimplesms.com/docs/changelog.md): What changed in SimpleSMS.
