Send SMS Using URL Params

Send SMS requests when your integration can only pass credentials in query parameters.

Last updated · Markdown version

URL parameter authorization is supported for constrained integrations, but it should be used carefully because query strings are easier to log and expose.

Endpoints

HTTP
POST /api/v2/messages/sms/bulk?apikey=bk_live_...

Authorization

Send your API key as a query parameter:

HTTP
?apikey=bk_live_...

Legacy compatibility: Passing both apikey and apisecret as query parameters (?apikey=...&apisecret=...) remains fully supported for backward compatibility.

Example request

cURL / Bash
curl -X POST "https://api.bulkitsms.com/api/v2/messages/sms/bulk?apikey=bk_live_8n6JQv3K1h9Lp0Md" \
  -H "Content-Type: application/json" \
  -d '{
    "sender": "BULK_IT",
    "mobiles": ["254700000001"],
    "message": "Your order BK-2401 has shipped."
  }'

Prefer header authorization in production. URL params are more likely to appear in logs, browser history, and proxy traces.

Error response

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