Integrate FlixySMS into your applications
https://flixysms.com/api/v1All API requests require authentication using an API key. Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEYAPI requests are rate limited to 100 requests per minute by default. Rate limit information is included in response headers:
X-RateLimit-Limit: Maximum requests per minuteX-RateLimit-Remaining: Remaining requests in current windowX-RateLimit-Reset: Unix timestamp when the rate limit resets/api/v1/sms/sendSend a single SMS message
{
  "Authorization": "Bearer YOUR_API_KEY",
  "Content-Type": "application/json"
}{
  "to": "+1234567890",
  "message": "Hello from FlixySMS!",
  "device_id": "optional-device-uuid"
}{
  "success": true,
  "message_id": "123e4567-e89b-12d3-a456-426614174000",
  "device_id": "987e6543-e89b-12d3-a456-426614174000",
  "status": "queued",
  "to": "+1234567890",
  "message": "Hello from FlixySMS!"
}curl -X POST \
  https://flixysms.com/api/v1/sms/send \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "+1234567890",
  "message": "Hello from FlixySMS!",
  "device_id": "optional-device-uuid"
}'const response = await fetch('https://flixysms.com/api/v1/sms/send', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
      "to": "+1234567890",
      "message": "Hello from FlixySMS!",
      "device_id": "optional-device-uuid"
    })
});
const data = await response.json();
console.log(data);import requests
response = requests.post(
    'https://flixysms.com/api/v1/sms/send',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json'
    },
    json={
      "to": "+1234567890",
      "message": "Hello from FlixySMS!",
      "device_id": "optional-device-uuid"
    }
)
print(response.json())$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://flixysms.com/api/v1/sms/send');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_KEY',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode({
      "to": "+1234567890",
      "message": "Hello from FlixySMS!",
      "device_id": "optional-device-uuid"
    }));
$response = curl_exec($ch);
curl_close($ch);
echo $response;/api/v1/sms/bulkSend messages to multiple recipients (max 100 per request)
{
  "Authorization": "Bearer YOUR_API_KEY",
  "Content-Type": "application/json"
}{
  "recipients": [
    "+1234567890",
    "+0987654321",
    "+1122334455"
  ],
  "message": "Hello from FlixySMS!",
  "device_id": "optional-device-uuid"
}{
  "success": true,
  "message_ids": [
    "123e4567-e89b-12d3-a456-426614174000",
    "223e4567-e89b-12d3-a456-426614174001",
    "323e4567-e89b-12d3-a456-426614174002"
  ],
  "device_id": "987e6543-e89b-12d3-a456-426614174000",
  "stats": {
    "total": 3,
    "valid": 3,
    "invalid": 0,
    "queued": 3
  }
}curl -X POST \
  https://flixysms.com/api/v1/sms/bulk \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "recipients": [
    "+1234567890",
    "+0987654321",
    "+1122334455"
  ],
  "message": "Hello from FlixySMS!",
  "device_id": "optional-device-uuid"
}'const response = await fetch('https://flixysms.com/api/v1/sms/bulk', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
      "recipients": [
        "+1234567890",
        "+0987654321",
        "+1122334455"
      ],
      "message": "Hello from FlixySMS!",
      "device_id": "optional-device-uuid"
    })
});
const data = await response.json();
console.log(data);import requests
response = requests.post(
    'https://flixysms.com/api/v1/sms/bulk',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json'
    },
    json={
      "recipients": [
        "+1234567890",
        "+0987654321",
        "+1122334455"
      ],
      "message": "Hello from FlixySMS!",
      "device_id": "optional-device-uuid"
    }
)
print(response.json())$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://flixysms.com/api/v1/sms/bulk');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_KEY',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode({
      "recipients": [
        "+1234567890",
        "+0987654321",
        "+1122334455"
      ],
      "message": "Hello from FlixySMS!",
      "device_id": "optional-device-uuid"
    }));
$response = curl_exec($ch);
curl_close($ch);
echo $response;/api/v1/sms/status/:message_idCheck the delivery status of a sent message
{
  "Authorization": "Bearer YOUR_API_KEY"
}{
  "success": true,
  "data": {
    "message_id": "123e4567-e89b-12d3-a456-426614174000",
    "status": "delivered",
    "delivered_at": "2024-01-15T10:31:00Z",
    "device_id": "987e6543-e89b-12d3-a456-426614174000"
  }
}curl -X GET \ https://flixysms.com/api/v1/sms/status/123e4567-e89b-12d3-a456-426614174000 \ -H "Authorization: Bearer YOUR_API_KEY" \
const response = await fetch('https://flixysms.com/api/v1/sms/status/123e4567-e89b-12d3-a456-426614174000', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    
  }
});
const data = await response.json();
console.log(data);import requests
response = requests.get(
    'https://flixysms.com/api/v1/sms/status/123e4567-e89b-12d3-a456-426614174000',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        
    }
)
print(response.json())$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://flixysms.com/api/v1/sms/status/123e4567-e89b-12d3-a456-426614174000');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_KEY',
    
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;The API returns standard HTTP status codes to indicate success or failure of requests.
400Bad Request
The request was invalid or missing required parameters
401Unauthorized
Invalid or missing API key
403Forbidden
API key doesn't have permission for this endpoint
429Too Many Requests
Rate limit exceeded
503Service Unavailable
No devices available to send SMS