Learn
Introduction
The SMSend API sends SMS and tells you what happened to every message.
It is a JSON-over-HTTPS API. You submit a batch of recipients to one endpoint, and SMSend prices it, reserves the money, routes each message to an operator, and reports the outcome — either to a webhook on your own server or to a feed you poll.
What you can do
- Submit a batch of up to 100,000 recipients in a single request, with per-recipient merge tags and optional scheduling.
- Follow every message from acceptance to a terminal state, either by polling or by receiving signed webhooks.
- Read the final, settled figures for a batch — what was delivered, what failed, and what was refunded.
- Read your wallet balance, list the sender IDs you may use, and manage your webhook endpoints.
The shape of the API
Every endpoint lives under one versioned base URL. The version is part of the path, never a header.
Requests and responses are JSON. Successful responses are wrapped in a data object; failures are wrapped in an error object. All identifiers are 26-character ULIDs, all timestamps are ISO 8601 in UTC, and all money is whole XOF.
Before you start
You need an SMSend account, an API key with the right scopes, and at least one approved and operator-registered sender ID. Keys are created in the customer console — there is no endpoint that mints them, because a published key-minting endpoint would turn one leaked key into permanent access.