Skip to content

Resources

OpenAPI specification

The machine-readable description of the API, served live from the API itself.

Open the specificationhttps://api.smsend.net/public/v1/openapi.json

Fetching it

The document is OpenAPI 3.1.0, returned unwrapped at the root because that is what every tool expects.

curl https://api.smsend.net/public/v1/openapi.json -o smsend-openapi.json

Responses are cacheable for five minutes. Fetch it as part of your build rather than on every application start.

Generating a client

Any OpenAPI generator will consume it. Treat generated code as a starting point: the generator cannot express the idempotency contract, the signature verification, or the fact that a 202 can carry rejected recipients.

npx @openapitools/openapi-generator-cli generate \
  -i https://api.smsend.net/public/v1/openapi.json \
  -g typescript-fetch \
  -o ./smsend-client

SMSend extensions

The document carries three vendor extensions holding contract details that OpenAPI has no standard field for:

  • Every error code with its HTTP status and whether it is retryable — the same table as the errors guide, in machine-readable form.
  • The signature specification, the ordering contract, the delivery and retry policy, and the list of events.
  • The current and supported versions, the deprecation policy, and what does and does not count as a breaking change.

Where the two disagree, believe this site