Qlara Platform API
Overview
The Qlara Platform API is a unified REST interface that lets you:
- Track delivery of messages sent via SMS, RCS, and WhatsApp — poll per-message status or configure a webhook
- Manage contacts and lists used as campaign targets
- Create and manage bulk campaigns across SMS, RCS, and WhatsApp channels
- Browse and export the full history of sent messages
- Handle two-way conversations through the inbox
- Upload media (images, videos) reused across campaigns and conversations
- Connect social profiles (Facebook, Instagram, LinkedIn, Google, TikTok)
Note: Message sending (SMS, RCS, WhatsApp) is handled by separate upstream services. This API provides delivery tracking, campaign management, contact management, and conversation handling.
Authentication
Every request must include a valid API key in the X-API-Key HTTP header:
X-API-Key: <your-api-key>
API keys are scoped to your account. Use the API Keys section to create and manage them.
Supported Channels
| Channel | Key | Available Operations |
|---|---|---|
| SMS | SMS | Delivery tracking, history, campaigns |
| RCS | RCS | Delivery tracking, history, campaigns |
WHATSAPP | Delivery tracking, history, campaigns |
Core Workflows
1 — Track message delivery status
GET /partner-gateway/v1/messages/status/{customerMessageId}?channel=SMS
-> 200 { deliveryStatus: "DELIVERED" }
You can also query RCS and WhatsApp message statuses through their dedicated endpoints.
2 — Receive delivery events via webhook (no polling)
POST /partner-gateway/v1/webhooks/delivery-status
{ "callbackUrl": "https://your-server.example.com/webhook" }
The platform will POST delivery events to that URL automatically.
3 — Run a bulk campaign
POST /partner-gateway/v1/campaigns -> create campaign (draft)
PUT /partner-gateway/v1/campaigns/{id}/confirm -> schedule & send
GET /partner-gateway/v1/campaigns/stats -> delivery statistics
4 — Export message history
POST /partner-gateway/v1/messages/history/export -> 202 Accepted
GET /partner-gateway/v1/exports -> poll until isAvailableForDownload = true
GET /partner-gateway/v1/exports/{exportId} -> retrieve download URL
Asynchronous Operations
Operations that may take a long time (campaign sending, data exports) return
202 Accepted immediately and process in the background.
Use the corresponding list or status endpoint to monitor progress.
Common HTTP Status Codes
| Code | Meaning |
|---|---|
| 200 | OK — request succeeded |
| 201 | Created — resource created successfully |
| 202 | Accepted — asynchronous job queued |
| 204 | No Content — operation succeeded with no response body |
| 400 | Bad Request — validation error; inspect the response body for details |
| 401 | Unauthorized — missing or invalid X-API-Key |
| 404 | Not Found — the requested resource does not exist |
| 409 | Conflict — the resource already exists (e.g. a webhook is already configured) |
| 500 | Internal Server Error |
| 502 | Bad Gateway — upstream channel provider returned an error |
Authentication
- API Key: ApiKeyAuth
Autenticazione
Security Scheme Type: | apiKey |
|---|---|
Header parameter name: | X-API-Key |