Developer API reference
Cloud Messaging Office REST APIs for contacts, groups, SMS, MMS, and profile. All endpoints use API Key auth with JSON payloads plus webhook receipts.
Base setup
https://api.faxinssms.com/apiAuthorization: Api-Key {api_key}Accept: application/jsonContent-Type: application/jsonQuickstart
1) Get an API key
Create a key in the console and keep it secret; it authenticates all HTTP calls.
Quickstart
2) Create a contact and group
POST /api/http/v3/v3/contacts/{group_id}/store with Api-Key auth to add numbers into a group.
Quickstart
3) Send your first SMS
POST /api/http/v3/http/sms/send with recipient, sender_id, type=plain, message, and optional schedule_time.
Authentication & base URL
All APIs live under a single host with API key auth. Headers are consistent across contacts, groups, SMS, MMS, and profile.
/api/http/v3/{resource}Base request shape
Use HTTPS with API keys and JSON; UTF-8 payloads only.
Headers
AuthorizationApi-Key {api_key}
Required for every call
Acceptapplication/json
Force JSON responses
Content-Typeapplication/json
Send JSON bodies for POST/PUT/PATCH
Notes
- API keys are created in the console and remain valid until revoked.
- Non-200 responses return an error object with status and message for debugging.
Contacts API
Manage contact records with unique IDs, optional names, and custom fields. Contacts live inside groups for easy reuse.
/api/http/v3/http/contactsList contacts
Returns paginated contacts; filter by group when needed.
Headers
AuthorizationApi-Key {api_key}
API key from console
Acceptapplication/json
JSON response
Parameters
string
Optional group uid to filter
number
Pagination cursor
Notes
- Success returns status=success plus contacts data with pagination metadata.
/api/http/v3/v3/contacts/{group_id}/storeCreate contact
Add a new contact into a group; returns the created contact payload.
Headers
AuthorizationApi-Key {api_key}
Required
Content-Typeapplication/json
JSON body
Acceptapplication/json
JSON response
Parameters
string
Target contact group uid
string/number
MSISDN in international format
string
Optional first name
string
Optional last name
Notes
- Response example: { status: "success", data: { ...contact } }
- On error, returns { status: "error", message: "human readable" }
cURL
curl -X POST \
https://api.faxinssms.com/api/api/http/v3/v3/contacts/{group_id}/store \
-H "Authorization: Api-Key YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"phone":"8801721970168","first_name":"Amy"}'JSON
{
"status": "success",
"data": {
"uid": "c_01hxyz",
"group_uid": "g_01hgroup",
"phone": "8801721970168",
"first_name": "Amy",
"last_name": null
}
}Contact groups API
Create and manage groups to organize contacts and drive batch sends or segment-specific campaigns.
/api/http/v3/http/contact-groupsList groups
Returns paginated groups; use uid values for member and send calls.
Headers
AuthorizationApi-Key {api_key}
API key from console
Acceptapplication/json
JSON response
/api/http/v3/v3/contactsCreate group
Create a new contact group and receive its uid for future calls.
Headers
AuthorizationApi-Key {api_key}
Required
Content-Typeapplication/json
JSON body
Acceptapplication/json
JSON response
Parameters
string
Group name shown in console and APIs
string
Optional notes for the group
Notes
- Store the returned uid; it is required when adding contacts or sending to the group.
SMS API
Programmatically send SMS worldwide via REST. A unique message_id is returned so you can query or receive delivery receipts.
/api/http/v3/http/sms/sendSend SMS
Create a new outbound SMS message. Supports batch, scheduling, and template variables.
Headers
AuthorizationApi-Key {api_key}
Required
Content-Typeapplication/json
JSON body
Acceptapplication/json
JSON response
Parameters
string
Single MSISDN or comma-separated list
string
Alphanumeric sender (max 11 chars) or number
string
Set to plain for text messages
string
SMS body
datetime
RFC3339 schedule time (Y-m-d H:i) for delayed send
string
Registered DLT template id when applicable
Notes
- Success returns status=success and a message_id that is used for receipts.
- Comma-separated recipients create batch sends in one request.
cURL
curl -X POST \
https://api.faxinssms.com/api/api/http/v3/http/sms/send \
-H "Authorization: Api-Key YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"recipient":"31612345678,8801721970168","sender_id":"CloudMessaging","type":"plain","message":"Hello from API"}'JSON
{
"status": "success",
"message_id": "msg_01hxabc123",
"queued": true
}MMS API
Send media-rich messages using the same auth and JSON patterns. Provide media URLs plus optional text to accompany the content.
/api/http/v3/http/mms/sendSend MMS
Send MMS with media URL attachments; returns a message_id for delivery tracking.
Headers
AuthorizationApi-Key {api_key}
Required
Content-Typeapplication/json
JSON body
Acceptapplication/json
JSON response
Parameters
string
Single or comma-separated MSISDN list
string
Originator supported for the region
string
Accessible URL to media content
string
Optional accompanying text
cURL
curl -X POST \
https://api.faxinssms.com/api/api/http/v3/http/mms/send \
-H "Authorization: Api-Key YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"recipient":"31612345678","sender_id":"CloudMessaging","media_url":"https://example.com/promo.jpg","message":"Promo inside"}'JSON
{
"status": "success",
"message_id": "mms_01hxghi789"
}Profile & account
Use profile endpoints to keep balances, throttles, and account metadata in sync before automation.
/api/http/v3/http/profileGet account/profile
Returns account info, balance, and policy metadata for safe pre-flight checks.
Headers
AuthorizationApi-Key {api_key}
Required
Acceptapplication/json
JSON response
Notes
- Check balances and limits before large batch sends.
- Combine with message_id receipts to reconcile billing vs. delivery.
Delivery receipts & callbacks
Configure a webhook URL to receive POST callbacks. A 200 response acknowledges receipt; non-200 or timeouts trigger retries per backoff policy.
message_id
Unique ID of the message for reconciliation
status
Delivery status (success, failed, queued, throttled, etc.)
timestamp
Server timestamp of the event
reason
Error or rejection reason when applicable
- Callbacks prefer HTTPS. Return HTTP 200 quickly to avoid retries.
- Non-200 responses or timeouts trigger automatic retries following the documented backoff.
Common errors
Missing/invalid API key
Generate a key in console and resend with Authorization: Api-Key {api_key}
No permission or route disabled
Contact support or enable the product in console
Rate limit or throttle hit
Reduce burst size or request higher limits
Invalid parameters or content
Check required fields, encoding, and template requirements
See the full reference for extended error codes, sample payloads, and SDK examples.
Reference
- Full tables, sample payloads, and SDK snippets are available in the hosted docs.