API Reference

Complete API documentation for developers

Authentication

All API requests require authentication using API keys. Include your API key in the request header.

Request Header

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Getting Your API Key

You can generate your API key from your account dashboard under Settings → API Keys.

Send SMS

Send a single SMS message to a destination number.

POST /api/v1/sms/send

Request Parameters

Parameter Type Required Description
to string Yes Destination phone number in international format
from string Yes Sender ID or phone number
message string Yes Message text (max 160 chars for single SMS)
encoding string No Message encoding: GSM7 or UCS2 (default: GSM7)

Example Request

{
  "to": "+34600123456",
  "from": "YourCompany",
  "message": "Hello, this is a test message",
  "encoding": "GSM7"
}

Example Response

{
  "success": true,
  "message_id": "msg_1234567890",
  "status": "accepted",
  "credits_used": 1
}

Check Message Status

Get the delivery status of a sent message.

GET /api/v1/sms/status/{message_id}

Path Parameters

Parameter Type Description
message_id string The message ID returned from send SMS request

Example Response

{
  "success": true,
  "message_id": "msg_1234567890",
  "status": "delivered",
  "delivered_at": "2024-01-15T10:30:45Z",
  "destination": "+34600123456",
  "sender": "YourCompany"
}

Status Values

  • accepted: Message accepted by the system
  • sent: Message sent to the carrier
  • delivered: Message successfully delivered
  • failed: Message delivery failed
  • expired: Message expired

Bulk SMS Send

Send multiple SMS messages in a single request.

POST /api/v1/sms/bulk

Example Request

{
  "messages": [
    {
      "to": "+34600123456",
      "from": "YourCompany",
      "message": "Hello Customer 1"
    },
    {
      "to": "+34600789012",
      "from": "YourCompany",
      "message": "Hello Customer 2"
    }
  ]
}

Example Response

{
  "success": true,
  "total": 2,
  "accepted": 2,
  "failed": 0,
  "messages": [
    {
      "message_id": "msg_1234567890",
      "to": "+34600123456",
      "status": "accepted"
    },
    {
      "message_id": "msg_1234567891",
      "to": "+34600789012",
      "status": "accepted"
    }
  ]
}

Get Account Balance

Check your current account balance and credit information.

GET /api/v1/account/balance

Example Response

{
  "success": true,
  "balance": 1500.50,
  "currency": "EUR",
  "credits_remaining": 250000
}

Error Codes

The API uses standard HTTP status codes and returns detailed error messages.

Code Message Description
200 OK Request successful
400 Bad Request Invalid request parameters
401 Unauthorized Invalid or missing API key
402 Payment Required Insufficient account balance
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server error occurred