RafikiSMSRafikiSMS API

Parameters

Request Body Parameters

For POST, PUT, and PATCH requests, set Content-Type: application/json. The body must be a JSON object.

ParameterTypeRequiredDescription
phonestringYesPhone number in international format (e.g., 255712345678). Used in send-sms.
messagestringYesSMS message content (max 160 characters). Used in send-sms and send-bulk-sms.
sender_idstringNoApproved sender name (max 11 chars). If omitted, the SMS uses the RafikiSMS default company sender name instead of your brand. Used in send-sms, send-bulk-sms, otp/generate.
recipientsarray<string>YesArray of phone numbers for bulk SMS (e.g., ["255712345678","255621728109"]). Used in send-bulk-sms.
phone_numberstringYesDestination number in E.164 format (e.g., 255712345678). Used in otp/generate, otp/verify.
otp_codestringYesThe 6-digit code the user received via SMS. Used in otp/verify.
reference_iduuidYesUUID returned by otp/generate. Used in otp/verify.
senderidstringYesDesired sender ID (max 11 chars, alphanumeric with spaces/hyphens/dots). Used in sender-names/request.
sample_contentstringYesSample message content (min 15 chars). Used in sender-names/request.
delivery_webhook_urlstring (uri)NoHTTPS URL for delivery status callbacks. Pass null to disable. Used in vendors/delivery-webhook.

Query Parameters

Appended to the URL after ? for filtering and pagination.

ParameterTypeApplies ToDescription
pageintegersms-logs, sender-namesPage number. Defaults to 1.
per_pageintegersms-logs, sender-namesItems per page. Defaults to 10 (max 100).
statusstringsms-logs, sender-namesFilter by status. Options: sent, failed, pending (sms-logs) or active, pending, rejected (sender-names).
start_datestringsms-logsStart date for log filtering (ISO 8601 or YYYY-MM-DD).
end_datestringsms-logsEnd date for log filtering (ISO 8601 or YYYY-MM-DD).
dest_addrstringdelivery-reportsDestination phone number (required).
request_idstringdelivery-reportsSMS request/transaction ID from send response (required).