Skip to main content
This section is the endpoint reference for Sling API v2. Use it when you need exact request fields, response fields, and endpoint URLs. For step-by-step workflows, see the v2 documentation.

Postman collection

Try the API interactively with the Postman collection.

Base URL

https://app.sling.com.ng/api/v2

Authentication

Send your API token in the Authorization header on every authenticated request:
HeaderValue
Acceptapplication/json
AuthorizationBearer {API_TOKEN}
Content-Typeapplication/json (POST/PUT)
The only public route is POST /auth, which exchanges email and password for a token.

Channels

The send endpoints support the following channels:
ChannelSlugEndpointNotes
SMSsms/send-smsTransactional, promotional, OTP
RCSrcs/send-rcsText, standalone card, carousel; fallback_sms and fallback_sms_sender for SMS fallback
Truecallertruecaller/send-truecallerBranded verified messages; fallback_sms and fallback_sms_sender for SMS fallback
WhatsAppwhatsapp/send-whatsappApproved business sender
Emailemail/send-emailTransactional & promotional
You can also use the universal POST /send endpoint and switch channels with the channel field.

Recipient targeting

Every send endpoint accepts one of the following recipient inputs:
FieldTypeUse case
tostringSingle phone number or email
contactstringSaved contact ID
contactsarrayMultiple saved contact IDs
groupstringSingle group ID
groupsarrayMultiple group IDs (use "standalone" for ungrouped contacts)
numbersstringNewline-separated raw phone numbers
When more than one recipient is provided (contacts, groups, numbers, etc.), the request is treated as a campaign and queued through Sling’s bulk job pipeline.

Common request fields

Beyond the recipient inputs, send endpoints share a common shape:
FieldTypeDescription
senderstringApproved sender ID or sender ID record ID
messagestringMessage text content
typestringtransactional, promotional, or otp
callbackstringPublic HTTPS URL that receives delivery updates
referencestringCustom message ID. Used in place of the auto-generated message_id
send_onstringISO datetime to schedule the message for later delivery
campaign_namestringLabel for multi-recipient campaigns
modestringsingle or campaign (multi-recipient)

Response convention

Successful single-recipient sends return:
{
  "status": "success",
  "status_delivery": "delivered",
  "message_id": "abc123",
  "sender": "YourSenderID",
  "message": "Hello",
  "recipient": "2349123772222",
  "credit_used": 1
}
Successful multi-recipient sends return:
{
  "status": "success",
  "message_id": "m-abc123",
  "sender": "YourSenderID",
  "message": "Hello",
  "credit_used": 25,
  "id": 142
}
Failed requests return status: "fail" with a message or details field describing the cause:
{
  "status": "fail",
  "message": "Insufficient credit"
}

Error codes

StatusMeaning
400Missing or invalid request fields
400Insufficient credit
400Invalid sender ID or no permission to use it
401Missing or invalid Authorization header
403Phone not verified for the account
404Resource not found (group, contact, message ID)