DEVELOPER DOCUMENTATION
SMS infrastructure
for your workflows.
Send transactional messages through a Twilio-compatible API, route inbound commands by application, and receive signed delivery events.
Use an application API key to send from the shared FWD number.
Register sender numbers to an application before accepting inbound commands.
Receive message events with an HMAC signature on every request.
Separate menu management, AI agents, OTP, and order workflows.
Authentication
Use an application API key as a Bearer token in Authorization. API keys are created from the FWD SMS dashboard and shown only once.
curl -H "Authorization: Bearer fwd_sms_..." \
-H "Content-Type: application/json" \
-X POST https://sms.fwd.dev/v1/messages \
-d '{"to":"+13055550123","body":"Hello from FWD SMS"}'
Send A Message
POST/v1/messages
JSON fields: to and body. Phone numbers must use E.164 format. The sender is fixed to the FWD SMS shared number and cannot be overridden.
Twilio-compatible clients may use:
POST/2010-04-01/Accounts/:accountSid/Messages.json
AC_account_sid is only a legacy compatibility path placeholder, not an FWD SMS account credential.
curl -u "AC_account_sid:fwd_sms_..." \ -X POST https://sms.fwd.dev/2010-04-01/Accounts/AC_account_sid/Messages.json \ -d To=+13055550123 \ -d Body="Your order is confirmed"
Webhooks
Applications can configure one or more HTTPS webhook URLs. Requests are signed using the signing secret shown when the webhook is created.
Events include message.received, message.sent, message.delivered, and message.failed.
Reference
For the machine-readable plain-text reference, see /docs/api.txt. For an AI-readable index, see /llms.txt.
Never put an API key in frontend JavaScript, public repositories, prompts, screenshots, or documentation.