Quick Start
Send your first SMS in 3 minutes using the Agile Telecom REST API.
Prerequisites
- Active Agile Telecom wholesale account (sign up here)
- API key (find it in your account dashboard)
- A destination phone number in international format (e.g.
+393351234567)
Endpoint
POST https://wholesale.agiletelecom.com/services/sms/send
Send Your First SMS
- cURL
- Python
- Node.js
curl -X POST https://wholesale.agiletelecom.com/services/sms/send \
-H "Content-Type: application/json" \
-H "X-Api-Key: your_api_key_here" \
-d '{
"enableConcatenated": true,
"enableUnicode": true,
"enableDelivery": true,
"messages": [
{
"destinations": ["+393351234567"],
"sender": "Agile",
"body": "Hello! This is your first SMS via Agile Telecom."
}
]
}'
import requests
url = "https://wholesale.agiletelecom.com/services/sms/send"
headers = {
"Content-Type": "application/json",
"X-Api-Key": "your_api_key_here",
}
payload = {
"enableConcatenated": True,
"enableUnicode": True,
"enableDelivery": True,
"messages": [
{
"destinations": ["+393351234567"],
"sender": "Agile",
"body": "Hello! This is your first SMS via Agile Telecom.",
}
],
}
response = requests.post(url, json=payload, headers=headers, timeout=10)
print(response.status_code, response.json())
const axios = require('axios');
const url = 'https://wholesale.agiletelecom.com/services/sms/send';
const headers = {
'Content-Type': 'application/json',
'X-Api-Key': 'your_api_key_here',
};
const payload = {
enableConcatenated: true,
enableUnicode: true,
enableDelivery: true,
messages: [
{
destinations: ['+393351234567'],
sender: 'Agile',
body: 'Hello! This is your first SMS via Agile Telecom.',
},
],
};
axios
.post(url, payload, { headers })
.then((res) => console.log(res.status, res.data))
.catch((err) => console.error(err.response?.status, err.response?.data));
Response
A successful submission returns HTTP 200 with a JSON body similar to:
{
"globalId": "req_1234567890",
"accepted": true,
"results": [
{
"destination": "+393351234567",
"id": "msg_abc123",
"accepted": true,
"statusCode": 200
}
]
}
Key fields
- globalId — Your correlation ID (echo of the field you sent, or auto-generated).
- id — Per-message unique identifier. Use it to correlate the delivery report.
- accepted: true — The message has been accepted by the platform, not yet delivered. Delivery is asynchronous.
- statusCode — Per-destination submission code (
200= accepted, see Error handling).
Accepted ≠ Delivered
When accepted: true, the message has entered the sending queue. Use delivery reports to know whether it actually reached the handset.
Next Steps
- Sending SMS — Encoding, sender IDs, scheduling, bulk.
- Delivery Reports — Receive real-time delivery notifications.
- Authentication — Secure your API key in production.
- Best Practices — Throughput, retries, opt-out.
Need full reference docs? See the SMS API on the wholesale portal.