API reference
API reference
Eleven endpoints across five resources. Every one is JSON over HTTPS, authenticated with an API key.
Base URL
Every path in this reference is relative to that base. The version is part of the path and is never negotiated through a header.
Response envelope
Successful responses wrap their payload in a data object. Failures wrap theirs in an error object. Nothing is ever returned at the root.
The one exception is the OpenAPI document, which is returned unwrapped because every tool that consumes it expects the specification at the root.
Internationalization & language
The SMSend API dynamically resolves localized content, error messages, and descriptions based on the client's request headers. Wire parameters and payload fields never use language suffixes (such as description_fr or description_en).
To specify a preferred language, supply either the standard Accept-Language header (e.g. fr, en) or the custom X-Locale header. When omitted, the platform default (fr) applies.
Endpoints
Forward compatibility
SMSend adds to the current version without a bump. Two obligations fall on your client, and both are relied on when non-breaking changes ship:
- Tolerate unknown fields. Optional fields are added to responses and webhook payloads without a version change; a strict deserialiser that rejects them will break on a day nothing was announced.
- Tolerate unknown enum values. New statuses, rejection reasons and event types are added without a version change, so switch with a default branch rather than throwing.