Getting Started with the Qlara Platform API
The Qlara Platform is a unified REST API that lets you send messages over SMS, RCS, and WhatsApp, manage contacts and lists, run bulk messaging campaigns, and track delivery in real time.
Who is this documentation for?
- Developers and technical teams integrating messaging into their applications
- Project managers and account managers who need to understand available features
- Support teams helping clients with API integration
Base URL
All API endpoints are served under:
https://lora-api.agiletelecom.com/api
Authentication
Every request must include authentication via one of these methods:
- API Key (recommended):
X-Api-Key: YOUR_API_KEYheader - Basic Auth:
Authorization: Basic base64(username:password)header
See the Authentication guide for details.
Verify your API key works by hitting the /messages/status endpoint — pick your favorite language:
- cURL
- Node.js
- Python
curl -H "X-Api-Key: YOUR_API_KEY" \
https://lora-api.agiletelecom.com/api/partner-gateway/v1/messages/status
const res = await fetch(
'https://lora-api.agiletelecom.com/api/partner-gateway/v1/messages/status',
{ headers: { 'X-Api-Key': process.env.QLARA_API_KEY } }
);
const data = await res.json();
console.log(data);
import os, requests
res = requests.get(
"https://lora-api.agiletelecom.com/api/partner-gateway/v1/messages/status",
headers={"X-Api-Key": os.environ["QLARA_API_KEY"]},
)
print(res.json())
Keep your API key secret. Do not expose it in client-side code or public repositories. For production, rotate keys regularly and store them in a secrets manager.
Available channels
SMS
The most widespread and universal channel. Works on any mobile phone, including non-smartphones. Ideal for transactional notifications, OTP, and urgent communications.
- Universal: modern, recommended format — one message per request with placeholder support
- Legacy: backward-compatible format — supports multi-recipient in a single request
RCS (Rich Communication Services)
The evolution of SMS. Send rich messages with images, videos, interactive buttons, and carousels. Requires the recipient to have an RCS-compatible device.
- Message types: text, card (with media and buttons), carousel (scrollable cards)
- Interactive suggestions (reply, open URL, call, location, calendar)
- Automatic fallback to WhatsApp and/or SMS if the recipient doesn't support RCS
WhatsApp Business
The most widely used messaging channel in the world. Send messages via Meta-approved templates or free-form content (within the 24h window).
- Content types: text, image, video, audio, document, location, sticker, reaction
- Templates with buttons, media headers, and tracked links
- Automatic fallback to RCS and/or SMS
Send your first message
Once authenticated, sending a message is one POST away. Here's the simplest case — sending an SMS:
- cURL
- Node.js
- Python
curl -X POST https://lora-api.agiletelecom.com/api/partner-gateway/v1/sms/messages \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+393334445566",
"from": "Qlara",
"text": "Hi from the Qlara Platform!"
}'
const res = await fetch(
'https://lora-api.agiletelecom.com/api/partner-gateway/v1/sms/messages',
{
method: 'POST',
headers: {
'X-Api-Key': process.env.QLARA_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
to: '+393334445566',
from: 'Qlara',
text: 'Hi from the Qlara Platform!',
}),
}
);
const { messageId } = await res.json();
console.log('Sent:', messageId);
import os, requests
res = requests.post(
"https://lora-api.agiletelecom.com/api/partner-gateway/v1/sms/messages",
headers={"X-Api-Key": os.environ["QLARA_API_KEY"]},
json={
"to": "+393334445566",
"from": "Qlara",
"text": "Hi from the Qlara Platform!",
},
)
print("Sent:", res.json()["messageId"])
A successful response looks like this:
{
"accepted": true,
"messageId": "e76614d1-58c0-4f65-8a77-c1f6ce5f9d2a",
"channel": "sms"
}
Fallback chain
The system supports automatic fallback. If the primary channel cannot deliver, the system tries the next one:
How it works
Core concepts
| Concept | Description |
|---|---|
| Channels | SMS, RCS, and WhatsApp. Each channel has its own send endpoint and template management. |
| Contacts & Lists | Your address book. Organize contacts into named lists for campaign targeting. |
| Campaigns | Bulk messaging jobs that send a message to a contact list on a schedule. |
| Webhooks | HTTPS callbacks for real-time delivery, read, and inbound message notifications. |
| Templates | Pre-approved message templates for RCS and WhatsApp with placeholders and interactive elements. |
| Exports | Async data exports (contacts, delivery reports) with download links. |
| Subscription | Your plan, contact quota, and credit balance. |
| Social Profiles | Connected social media accounts (Facebook, Instagram, LinkedIn, Google, TikTok) linked to your account. |
What's next?
- Authentication — Learn about API Key, Basic Auth, and IP Whitelist.
- Quick Start — Send your first message in 3 minutes.
- Channel Guides — Compare SMS, RCS, and WhatsApp.
- Campaign Management — Create and schedule bulk campaigns.
- Contacts and Lists — Organize your audience.
- Webhooks — Set up real-time delivery notifications.
- FAQ — Common questions and answers.
- API Reference — Explore all endpoints.
- Postman Collections — Download ready-to-use collections for testing.