API Documentation

Integrate FlixySMS into your applications

← Back to API Keys

Base URL

https://flixysms.com/api/v1

Authentication

All API requests require authentication using an API key. Include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Rate Limiting

API 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 minute
  • X-RateLimit-Remaining: Remaining requests in current window
  • X-RateLimit-Reset: Unix timestamp when the rate limit resets
POST/api/v1/sms/send

Send a single SMS message

Headers

{
  "Authorization": "Bearer YOUR_API_KEY",
  "Content-Type": "application/json"
}

Request Body

{
  "to": "+1234567890",
  "message": "Hello from FlixySMS!",
  "device_id": "optional-device-uuid"
}

Response

{
  "success": true,
  "data": {
    "message_id": "123e4567-e89b-12d3-a456-426614174000",
    "to": "+1234567890",
    "status": "queued",
    "device_id": "987e6543-e89b-12d3-a456-426614174000",
    "created_at": "2024-01-15T10:30:00Z"
  }
}

Code Examples

curl
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"
}'
javascript
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);
python
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())
php
$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;
GET/api/v1/sms/status/:message_id

Check the delivery status of a sent message

Headers

{
  "Authorization": "Bearer YOUR_API_KEY"
}

Response

{
  "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"
  }
}

Code Examples

curl
curl -X GET \
  https://flixysms.com/api/v1/sms/status/123e4567-e89b-12d3-a456-426614174000 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  
javascript
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);
python
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())
php
$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;

Error Responses

The API returns standard HTTP status codes to indicate success or failure of requests.

400

Bad Request

The request was invalid or missing required parameters

401

Unauthorized

Invalid or missing API key

403

Forbidden

API key doesn't have permission for this endpoint

429

Too Many Requests

Rate limit exceeded

503

Service Unavailable

No devices available to send SMS