Developer Docs
Integrate Sky Telecom APIs with clear examples and responses.
Quick Start
All endpoints accept JSON and require a Bearer token. Use the base URL below for every request.
Quick start checklist
Grab an API key, set your base URL, and copy the request samples.
https://skytelecom.io/apiAuthorization: Bearer YOUR_API_KEYVoIP APIs
Manage SIP caller IDs, balances, and call logs.
Change caller ID
Update the outbound caller ID for your SIP extension.
{
"sip_callerid": "12025550123"
}{
"status": "ok",
"sip_callerid": "12025550123"
}View call logs
Retrieve call logs for the connected SIP account.
?limit=10&page=1&search=1202&from=2026-01-01&to=2026-01-31{
"data": [
{
"date": "2026-01-20 14:45:12 UTC",
"from": "12025550100",
"to": "12025550123",
"direction": "United States",
"duration": 11,
"cost": "0.33",
"status": "16ANSWER"
}
],
"page": 1,
"limit": 10,
"has_more": true
}Charge SIP account
Top up your SIP account balance using your wallet funds.
{
"amount": 10
}{
"status": "ok",
"sip_balance": 42.75
}SMS APIs
Send SMS and monitor delivery activity.
Send SMS
Send one or multiple SMS messages using your wallet balance.
{
"to": "12025550123",
"message": "Hello from SkyTelecom",
"sender_id": "SkyTelecom",
"route_option_id": "epsilon"
}route_option_id: optional. Use values from GET /api/sms/available-routes (e.g. alpha, beta, gamma, delta, epsilon, epsilon_1 … epsilon_13). For GAMMA use ?expand=gamma or GET /api/sms/routes?numbers=<recipient>. Omit for auto route by destination.
{
"status": "sent",
"sent": 1,
"failed": 0,
"segments": 1,
"total_cost": 0.014,
"wallet_balance": 19.986,
"messages": [
{ "id": 2381, "recipient": "12025550123", "status": "sent" }
]
}Available routes
List of route codes and option_id values. Use these in Send SMS (route_option_id) or in the test tool (test_routes). Only public names (ALPHA, BETA, etc.) are exposed.
?expand=gammaOptional. Use expand=gamma to include GAMMA routes grouped by country (same as in the dashboard): gamma_by_country lists each country with its channels (option_id, name, price). Use any option_id as route_option_id when sending.
With ?expand=gamma the response includes gamma_by_country: routes grouped by country, like in the dashboard. Each country has a list of channels; use option_id in POST /api/sms/send.
{
"routes": [ ... ],
"gamma_by_country": {
"France": [
{ "option_id": "ch-fr-1", "name": "CH France 1", "price": 0.052 }
],
"Spain": [
{ "option_id": "ch6-1", "name": "CH6-1", "price": 0.065 },
{ "option_id": "ch6-2", "name": "CH6-2", "price": 0.068 }
],
"Other": [ ... ]
},
"gamma_options": [ { "option_id": "...", "name": "...", "country": "Spain", "price": 0.065 } ],
"usage": "..."
}GAMMA is organized by country, like in the dashboard. (1) GET /api/sms/available-routes?expand=gamma — returns gamma_by_country: each country (e.g. Spain, France) with its channels (option_id, name, price). Pick the option_id for the country you need and send it as route_option_id in POST /api/sms/send. (2) For a specific recipient: GET /api/sms/routes?numbers=<recipient> returns options for that destination, including GAMMA channels for that country.
Test tool
Send the same message through one or more routes to see which delivers. Each test message includes a route tag (e.g. - ALPHA -, - EPSILON 1 -) so you can identify which route delivered it.
{
"to": "12025550123",
"message": "Test delivery",
"test_all_routes": true
}test_all_routes: true — sends one message per route available for that destination. Or use test_routes to pick specific routes:
{
"to": "12025550123",
"message": "Test delivery",
"test_routes": ["alpha", "epsilon"]
}test_routes: array of route codes (alpha, beta, gamma, delta, epsilon). For Epsilon sub-routes use test_spamroute_routes: [1,2,3] (TTSKY 1–13).
View SMS logs
Retrieve SMS delivery logs for your account.
?limit=10&page=1&search=1202&from=2026-01-01&to=2026-01-31{
"data": [
{
"id": 2381,
"date": "2026-01-20 14:45:12",
"recipient": "12025550123",
"sender_id": "SkyTelecom",
"segments": 1,
"cost": 0.014,
"status": "delivered",
"message": "Hello from SkyTelecom",
"direction": "United States Mobile"
}
],
"page": 1,
"limit": 10,
"has_more": true
}Rates
Retrieve pay-as-you-go voice rates.
Retrieve rates
Get pay-as-you-go voice rates.
?search=United&limit=10&page=1{
"data": [
{
"destination": "United States",
"rate": 0.0042,
"routes": [
{ "priority": 1, "name": "tex1-int", "cost": 0.0042 }
]
}
],
"page": 1,
"limit": 10,
"has_more": true,
"total": 2510
}