# Esendex API Dev Portal
> Send SMS, RCS and email, verify users with one-time passcodes, and react to delivery events in real time with the Esendex API.
Esendex API Dev Portal
Connect with customers on every channel through one API.
Send SMS, RCS and email, verify users with one-time passcodes, and react to delivery events in real time — all from a single REST API.
[Get started ](/quickstart)
[Explore the API ](/api-reference)
Search the documentation…
Ask AI
Get started
## Send your first message in minutes.
[Get your API key ](/authentication)
[Send your first message ](/quickstart)
[Track delivery ](/webhooks)
One API, every channel
## Reach customers wherever they are.
[](/api-reference/messages/send-message)
### SMS
Send one-off or bulk messages with templates and personalisation variables.
→
[](/api-reference/messages/send-message)
### RCS
Deliver rich, branded conversations with media, cards and suggested replies.
→
[](/api-reference/emails/send-email-v-2)
### Email
Send transactional email and track its delivery status.
→
[](/one-time-passcodes)
### One-time passcodes
Request and verify OTPs for sign-in and two-factor flows.
→
> Send SMS, RCS and email, verify users with one-time passcodes, and react to delivery events in real time with the Esendex API.
## Instructions for AI Agents
- For clean Markdown of any page, append `.md` to the page URL
- For section-specific indexes, append `/llms.txt` to any section URL
- For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://esendex.ferndocs.com/_mcp/server
## Docs
- [Quickstart](https://esendex.ferndocs.com/quickstart.md): Send your first message with the Esendex API
- [Authentication](https://esendex.ferndocs.com/authentication.md): Authenticate requests with your Esendex API key
- [One-time passcodes](https://esendex.ferndocs.com/one-time-passcodes.md): Verify users with OTPs sent over SMS
- [Webhooks](https://esendex.ferndocs.com/webhooks.md): Receive delivery reports and inbound messages in real time
- [Errors](https://esendex.ferndocs.com/errors.md): Understand error responses from the Esendex API
## API Docs
- API Reference [Sign up](https://esendex.ferndocs.com/api-reference/signup.md)
- API Reference > Emails [Send email (v1)](https://esendex.ferndocs.com/api-reference/emails/send-email-v-1.md)
- API Reference > Emails [Send email (v2)](https://esendex.ferndocs.com/api-reference/emails/send-email-v-2.md)
- API Reference > Emails [Get email status](https://esendex.ferndocs.com/api-reference/emails/get-email-status.md)
- API Reference > Balance [Get balance](https://esendex.ferndocs.com/api-reference/balance/get-balance.md)
- API Reference > Balance [Create balance alert](https://esendex.ferndocs.com/api-reference/balance/create-balance-alert.md)
- API Reference > Balance [Get delegate movements](https://esendex.ferndocs.com/api-reference/balance/get-delegate-movements.md)
- API Reference > Balance [Delegate funds](https://esendex.ferndocs.com/api-reference/balance/delegate-funds.md)
- API Reference > Contacts [Create contact](https://esendex.ferndocs.com/api-reference/contacts/create-contact.md)
- API Reference > Contacts [Delete contact](https://esendex.ferndocs.com/api-reference/contacts/delete-contact.md)
- API Reference > Contacts [Get contact](https://esendex.ferndocs.com/api-reference/contacts/get-contact.md)
- API Reference > Contacts [Update contact](https://esendex.ferndocs.com/api-reference/contacts/update-contact.md)
- API Reference > Contacts [Bulk create contacts](https://esendex.ferndocs.com/api-reference/contacts/bulk-create-contacts.md)
- API Reference > Contacts [Bulk upsert contacts](https://esendex.ferndocs.com/api-reference/contacts/bulk-upsert-contacts.md)
- API Reference > Contacts [Get all contacts](https://esendex.ferndocs.com/api-reference/contacts/get-all-contacts.md)
- API Reference > Delayed Schedules [Get all schedules](https://esendex.ferndocs.com/api-reference/delayed-schedules/get-all-schedules.md)
- API Reference > Delayed Schedules [Create schedule](https://esendex.ferndocs.com/api-reference/delayed-schedules/create-schedule.md)
- API Reference > Delayed Schedules [Get schedule](https://esendex.ferndocs.com/api-reference/delayed-schedules/get-schedule.md)
- API Reference > Delayed Schedules [Cancel schedule](https://esendex.ferndocs.com/api-reference/delayed-schedules/cancel-schedule.md)
- API Reference > Delayed Schedules [Update schedule](https://esendex.ferndocs.com/api-reference/delayed-schedules/update-schedule.md)
- API Reference > Groups [Get all groups](https://esendex.ferndocs.com/api-reference/groups/get-all-groups.md)
- API Reference > Groups [Create group](https://esendex.ferndocs.com/api-reference/groups/create-group.md)
- API Reference > Groups [Delete group](https://esendex.ferndocs.com/api-reference/groups/delete-group.md)
- API Reference > Groups [Get group](https://esendex.ferndocs.com/api-reference/groups/get-group.md)
- API Reference > Groups [Update group](https://esendex.ferndocs.com/api-reference/groups/update-group.md)
- API Reference > Groups [Get group contacts](https://esendex.ferndocs.com/api-reference/groups/get-group-contacts.md)
- API Reference > Groups [Add contacts to group](https://esendex.ferndocs.com/api-reference/groups/add-contacts-to-group.md)
- API Reference > Groups [Delete contacts from group](https://esendex.ferndocs.com/api-reference/groups/delete-contacts-from-group.md)
- API Reference > Messages [Get message by ID](https://esendex.ferndocs.com/api-reference/messages/get-message-by-id.md)
- API Reference > Messages [Get all messages](https://esendex.ferndocs.com/api-reference/messages/get-all-messages.md)
- API Reference > Messages [Send message](https://esendex.ferndocs.com/api-reference/messages/send-message.md)
- API Reference > Messages [Get inbox](https://esendex.ferndocs.com/api-reference/messages/get-inbox.md)
- API Reference > Opt Outs [Get all opt-outs](https://esendex.ferndocs.com/api-reference/opt-outs/get-all-opt-outs.md)
- API Reference > Opt Outs [Create opt-out](https://esendex.ferndocs.com/api-reference/opt-outs/create-opt-out.md)
- API Reference > Opt Outs [Delete opt-out](https://esendex.ferndocs.com/api-reference/opt-outs/delete-opt-out.md)
- API Reference > OTP [Request OTP](https://esendex.ferndocs.com/api-reference/otp/request-otp.md)
- API Reference > OTP [Verify OTP](https://esendex.ferndocs.com/api-reference/otp/verify-otp.md)
- API Reference > Requests [Get all requests](https://esendex.ferndocs.com/api-reference/requests/get-all-requests.md)
- API Reference > Requests [Get request by ID](https://esendex.ferndocs.com/api-reference/requests/get-request-by-id.md)
- API Reference > Requests [Get messages from request](https://esendex.ferndocs.com/api-reference/requests/get-messages-from-request.md)
- API Reference > Spend Limits [Get spend limits](https://esendex.ferndocs.com/api-reference/spend-limits/get-spend-limits.md)
- API Reference > Spend Limits [Create spend limit](https://esendex.ferndocs.com/api-reference/spend-limits/create-spend-limit.md)
- API Reference > Spend Limits [Get spend limit](https://esendex.ferndocs.com/api-reference/spend-limits/get-spend-limit.md)
- API Reference > Spend Limits [Update spend limit](https://esendex.ferndocs.com/api-reference/spend-limits/update-spend-limit.md)
- API Reference > Spend Limits [Delete spend limit](https://esendex.ferndocs.com/api-reference/spend-limits/delete-spend-limit.md)
- API Reference > Templates [Get all templates (v2)](https://esendex.ferndocs.com/api-reference/templates/get-all-templates-v-2.md)
- API Reference > Templates [Create template (v2)](https://esendex.ferndocs.com/api-reference/templates/create-template-v-2.md)
- API Reference > Templates [Get template (v2)](https://esendex.ferndocs.com/api-reference/templates/get-template-v-2.md)
- API Reference > Templates [Update template](https://esendex.ferndocs.com/api-reference/templates/update-template.md)
- API Reference > Templates [Delete template (v2)](https://esendex.ferndocs.com/api-reference/templates/delete-template-v-2.md)
- API Reference > Templates [Get template tags](https://esendex.ferndocs.com/api-reference/templates/get-template-tags.md)
- API Reference > Templates [Copy template](https://esendex.ferndocs.com/api-reference/templates/copy-template.md)
- API Reference > Templates [Get all templates (v3)](https://esendex.ferndocs.com/api-reference/templates/get-all-templates-v-3.md)
- API Reference > Templates [Create template (v3)](https://esendex.ferndocs.com/api-reference/templates/create-template-v-3.md)
- API Reference > Templates [Get template (v3)](https://esendex.ferndocs.com/api-reference/templates/get-template-v-3.md)
- API Reference > Templates [Delete template (v3)](https://esendex.ferndocs.com/api-reference/templates/delete-template-v-3.md)
- API Reference > Templates [Patch template](https://esendex.ferndocs.com/api-reference/templates/patch-template.md)
- API Reference > Throttle Schedules [Get all throttle schedules](https://esendex.ferndocs.com/api-reference/throttle-schedules/get-all-throttle-schedules.md)
- API Reference > Throttle Schedules [Create throttle schedule](https://esendex.ferndocs.com/api-reference/throttle-schedules/create-throttle-schedule.md)
- API Reference > Throttle Schedules [Get throttle schedule](https://esendex.ferndocs.com/api-reference/throttle-schedules/get-throttle-schedule.md)
- API Reference > Throttle Schedules [Cancel throttle schedule](https://esendex.ferndocs.com/api-reference/throttle-schedules/cancel-throttle-schedule.md)
- API Reference > Throttle Schedules [Update throttle schedule](https://esendex.ferndocs.com/api-reference/throttle-schedules/update-throttle-schedule.md)
- API Reference > Throttle Schedules [Pause throttle schedule](https://esendex.ferndocs.com/api-reference/throttle-schedules/pause-throttle-schedule.md)
- API Reference > Throttle Schedules [Resume throttle schedule](https://esendex.ferndocs.com/api-reference/throttle-schedules/resume-throttle-schedule.md)
- API Reference > Throttle Schedules [Add throttle schedule recipients](https://esendex.ferndocs.com/api-reference/throttle-schedules/add-throttle-schedule-recipients.md)
- API Reference > Throttle Schedules [Remove throttle schedule recipients](https://esendex.ferndocs.com/api-reference/throttle-schedules/remove-throttle-schedule-recipients.md)
- API Reference > Throttle Schedules [Get unsent throttle schedule recipients](https://esendex.ferndocs.com/api-reference/throttle-schedules/get-throttle-schedule-unsent.md)
- API Reference > URL Shortener [Get URL shortener visits](https://esendex.ferndocs.com/api-reference/url-shortener/get-shortener-visits.md)
- API Reference > URL Shortener [Get URL shortener visits by request ID](https://esendex.ferndocs.com/api-reference/url-shortener/get-shortener-visits-by-request-id.md)
- API Reference > Webhook Authentication [Get callback authentication](https://esendex.ferndocs.com/api-reference/webhook-authentication/get-callback-authentication.md)
- API Reference > Webhook Authentication [Update callback authentication](https://esendex.ferndocs.com/api-reference/webhook-authentication/update-callback-authentication.md)
- API Reference > Webhook Authentication [Delete callback authentication](https://esendex.ferndocs.com/api-reference/webhook-authentication/delete-callback-authentication.md)
- API Reference > Webhook Authentication [Update authentication methods](https://esendex.ferndocs.com/api-reference/webhook-authentication/update-authentication-methods.md)
- API Reference > Webhook Signing [Update content signing settings](https://esendex.ferndocs.com/api-reference/webhook-signing/update-content-signing-settings.md)
- API Reference > Webhook Signing [Get signing keys](https://esendex.ferndocs.com/api-reference/webhook-signing/get-signing-keys.md)
- API Reference > Webhook Signing [Generate signing key](https://esendex.ferndocs.com/api-reference/webhook-signing/generate-signing-key.md)
- API Reference > Webhook Events [Get available events](https://esendex.ferndocs.com/api-reference/webhook-events/get-available-events.md)
- API Reference > Webhook Events [Update URLs for event (v2)](https://esendex.ferndocs.com/api-reference/webhook-events/update-urls-for-event-v-2.md)
- API Reference > Webhook Events [Delete event](https://esendex.ferndocs.com/api-reference/webhook-events/delete-event.md)
- API Reference > Webhook Events [Update URLs for event (v3)](https://esendex.ferndocs.com/api-reference/webhook-events/update-urls-for-event-v-3.md)
- API Reference > Webhook Subscriptions [Get subscriptions (v2)](https://esendex.ferndocs.com/api-reference/webhook-subscriptions/get-subscriptions-v-2.md)
- API Reference > Webhook Subscriptions [Create subscription (v2)](https://esendex.ferndocs.com/api-reference/webhook-subscriptions/create-subscription-v-2.md)
- API Reference > Webhook Subscriptions [Delete subscription](https://esendex.ferndocs.com/api-reference/webhook-subscriptions/delete-subscription.md)
- API Reference > Webhook Subscriptions [Get subscriptions (v3)](https://esendex.ferndocs.com/api-reference/webhook-subscriptions/get-subscriptions-v-3.md)
- API Reference > Webhook Subscriptions [Create subscription (v3)](https://esendex.ferndocs.com/api-reference/webhook-subscriptions/create-subscription-v-3.md)
- API Reference > Webhook Subscriptions [Bulk import subscriptions](https://esendex.ferndocs.com/api-reference/webhook-subscriptions/bulk-import-subscriptions.md)
## OpenAPI Specification
The raw OpenAPI 3.1 specification for this API is available at:
- [OpenAPI JSON](https://esendex.ferndocs.com/openapi.json)
- [OpenAPI YAML](https://esendex.ferndocs.com/openapi.yaml)