Our REST API makes it easy to integrate SMS into your application. All endpoints are versioned and secured with API keys.
All API requests require API Key + Secret authentication
/api/v1/register or sign up on the website/api/v1/login to get your API credentialsAuthorization and X-API-SECRET headersBoth headers are required for every protected endpoint. If either is missing or invalid, you will receive a 401 Unauthorized response.
Every SMS automatically includes the brand link https://smsconnect.tech at the end of the message. This helps promote your brand and complies with our terms of service.
Register a new user account
| Parameter | Type | Required | Description |
|---|---|---|---|
| first_name | string | Yes | User's first name |
| last_name | string | Yes | User's last name |
| string | Yes | Valid email address (unique) | |
| password | string | Yes | Minimum 8 characters |
| password_confirmation | string | Yes | Must match password |
| phone | string | No | Phone number (optional) |
Login and get your API credentials
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | Registered email address | |
| password | string | Yes | Account password |
Your api_secret is only returned once. Store it securely. If you lose it, regenerate a new key from the Dashboard.
Logout and invalidate token
Get authenticated user details
All API endpoints are relative to the base URL below
Full API documentation available at: https://smsconnect.tech/docs
Brand URL: https://smsconnect.tech
API request limits based on your plan
Rate limits are enforced per API key. Check your plan limits in the dashboard.
All errors return a JSON body with a consistent shape
Send and manage SMS messages with automatic branding
Send a single SMS to one recipient. Cost: 10 RWF per SMS. Automatically includes brand link.
| Parameter | Type | Required | Description |
|---|---|---|---|
| recipient | string | Yes | Phone number — format: 2507XXXXXXXX or 07XXXXXXXX |
| message | string | Yes | SMS content (max 160 characters). Brand link auto-appended. |
| sender_id | string | No | Custom sender ID (max 11 characters) |
| schedule_at | datetime | No | Schedule delivery — format: Y-m-d H:i:s |
| recipient_type | string | No | contact · group · manual (default: contact) |
Every SMS costs 10 RWF and deducts funds from your wallet. If your balance is insufficient, the request will fail with 400 Insufficient balance.
Each message automatically includes "\n\nPowered by SMSConnect: https://smsconnect.tech" at the end. The system ensures the total message stays within 160 characters.
Send SMS to multiple recipients at once. Cost: 10 RWF per SMS. Max 1000 recipients per request.
| Parameter | Type | Required | Description |
|---|---|---|---|
| recipients | array | Yes | Array of phone numbers (max 1000) |
| recipients.* | string | Yes | Phone number — format: 2507XXXXXXXX |
| message | string | Yes | SMS content (max 160 characters) |
| sender_id | string | No | Custom sender ID (max 11 characters) |
| schedule_at | datetime | No | Schedule delivery — format: Y-m-d H:i:s |
| recipient_type | string | No | contact · group · manual |
Schedule an SMS for future delivery. Funds are reserved until delivery.
| Parameter | Type | Required | Description |
|---|---|---|---|
| recipient | string | Yes | Phone number — format: 2507XXXXXXXX |
| message | string | Yes | SMS content (max 160 characters) |
| scheduled_at | datetime | Yes | Schedule delivery — format: Y-m-d H:i:s (must be in future) |
| sender_id | string | No | Custom sender ID (max 11 characters) |
| recipient_type | string | No | contact · group · manual |
Get SMS history with optional filters — only your messages are returned
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | string | No | pending · sending · sent · delivered · failed |
| start_date | date | No | Filter from date — format: Y-m-d |
| end_date | date | No | Filter to date — format: Y-m-d |
| recipient_type | string | No | contact · group · manual |
| page | integer | No | Page number (default: 1) |
| per_page | integer | No | Items per page (default: 20, max: 100) |
Check the delivery status of a specific SMS — only your messages
Get aggregated SMS statistics for your account
Get the current cost per SMS
Get your API key and start building today — free to sign up. Only 10 RWF per SMS with automatic branding.