SMS FUSION API
One URL, api.smsfusion.com.au/llms.txt, gives Claude, ChatGPT or Gemini every endpoint, parameter, response shape and known limitation, written for a model to read. Point your agent at it and it can send, receive and manage SMS on your account.
Text Sam a reminder about tomorrow's 9:15 appointment
GET /sms/?num=61412345678&from=BOOKINGS&msg=Hi+Sam,+a+reminder:+9:15am+tomorrow.+Reply+YES+to+confirm
{"id":48291207,"success":1,"cost":0.049,"count":1,"segments":1}
Hi Sam, a reminder: 9:15am tomorrow. Reply YES to confirm
Delivered
Readable by the models your team already uses
Any model that can fetch a URL and make an HTTP request can operate this API.
Every path uses the same account and the same API key.
llms.txt is a machine-readable reference covering every endpoint, parameter, response shape and known limitation, written for an LLM to load directly into context.
Read llms.txtThe full Swagger/OpenAPI reference documents every request and response so you can wire the API into your own codebase by hand.
API referenceSMS Fusion has a published Zapier app: send SMS, trigger on inbound replies and delivery reports, and connect to thousands of other apps without writing code.
Explore the Zapier integrationPaste this into Claude, ChatGPT, Gemini or your coding agent, and swap in the job you need done:
Read https://api.smsfusion.com.au/llms.txt, then wire SMS Fusion into this project: send our appointment reminders by SMS and log inbound replies. My API key is in the SMSFUSION_API_KEY environment variable - authenticate with HTTP Basic, key as the username.
Every endpoint takes your API key as a key query-string parameter, and all except /hlr/ also accept it as the username in HTTP Basic Auth (the password is ignored). Keys are managed from your account settings; a newly created key's IP allow-list starts with the address you created it from, and can be edited or emptied there (an empty list allows any IP).
Validate and format a phone number with /format-number/:
curl "https://api.smsfusion.com.au/format-number/?key=YOUR_API_KEY&num=0412345678&cc=AU"
Response:
{
"msisdn": "61412345678",
"countryCode": 61,
"nationalNumber": "0412 345 678",
"intlNumber": "+61412345678",
"region": "AU",
"type": "MOBILE",
"isMobile": true,
"validNumber": true,
"carrier": ""
}
Every item below is a real, live endpoint under https://api.smsfusion.com.au/.
/sms/ send a single SMS, with sender ID, scheduled delivery, and reply/delivery-report callback URLs/mms/ send a single MMS/send-sms-to-list/ send a campaign to every active contact in a list, with scheduling, message A/B variations, and reply/opt-out/click list wiring/cancel-sms/ cancel a single not-yet-sent scheduled message (best-effort, right up until it sends)/cancel-campaign/ cancel an entire pending or in-review campaign before it starts sending/get-keywords/ list inbound auto-response keywords on your virtual numbers/add-keyword/, /edit-keyword/, /delete-keyword/ manage them/get-available-numbers/ dedicated two-way virtual numbers available to buy, with monthly and yearly pricing/buy-number/ buy one against your pre-pay balance, with an optional webhook for purchase, renewal and cancellation billing events/cancel-number/ cancel a pool number you own and return it to the pool/add-contact/, /add-contacts/ add one or many contacts to a list/edit-contact/ update a contact's field values/delete-contact/ remove a contact by phone number/get-contacts/ search and page through contacts/get-contact-activity/ the two-way message thread with one number/add-list/, /edit-list/, /delete-list/ create, rename and delete contact lists/get-lists/ list your contact lists/optout-list-member/ unsubscribe a number from one list or every list/get-validnumbers/ the sender numbers your account is allowed to send from/get-sent/ sent message history, by date range or cursor/get-sent-count/ aggregate sent count and cost for a date range/get-activity-report/ sent, delivered, failed, replies and unsubscribes for a date range/get-delivery-reports/ delivery receipt feed/get-campaign-results/ per-campaign delivery and click summary/get-campaigns/ list your campaigns by status/get-inbox/ inbound messages/get-sms/ look up a single message by id/get-link-hits/ click tracking for shortened links in campaigns/format-number/ parse, validate and format a phone number, with carrier detection where available (empty for number-portability countries such as Australia)/hlr/ live HLR carrier/network lookup/get-countries/ supported country list/balance/ account wallet balanceCreate an account, mint an API key, and your first request works in minutes.