How to Send SMS

Learn the available SMS sending patterns in Bulkit and choose the right integration path.

Last updated · Markdown version

Bulkit SMS API lets you send one-off or multi-recipient SMS traffic from your own systems using your approved sender IDs and available account balance.

Use the SMS API when you need to:

  • send transactional alerts
  • send account or workflow notifications
  • trigger system-generated outbound SMS
  • schedule a message for later delivery

Endpoints

The main SMS send route documented in this section is:

HTTP
POST /api/v2/messages/sms/bulk

Authorization

Bulkit v2 authenticates SMS requests using a single API token:

What you need before sending SMS

Before calling the SMS API, make sure you have:

  • an active Bulkit account
  • a valid API token
  • enough credit on your account
  • a valid sender ID assigned to your account
  • recipient numbers in a supported Kenyan mobile format

Supported sending patterns

Bulkit currently supports:

  • single-recipient SMS
  • bulk SMS to multiple recipients
  • scheduled SMS using timezone-aware timestamps

Important delivery constraints

Bulkit validates several common error conditions before accepting a request. Common API errors include:

  • Invalid credentials
  • Insufficient balance
  • Invalid number
  • Invalid sender ID
  • Invalid message
  • Restricted send time

Restricted promotional send time

Promotional sender IDs cannot send to Safaricom recipients outside the allowed time window. Safaricom promotional traffic is only allowed between 8:00 AM and 6:00 PM Africa/Nairobi time.

If you schedule a promotional message to a Safaricom number outside that window, the request will be rejected with:

JSON
{
  "status": "error",
  "message": "Restricted send time"
}

Choose a send flow

Webhooks and reporting

After sending SMS, you can continue with:

Error response

Typical validation failures use this format:

JSON
{
  "status": "error",
  "message": "Invalid credentials"
}