API Reference
Integrate Celer Cloud into your application with our RESTful API. Send SMS, check delivery status, and manage your account programmatically.
Base URL
https://api.celerd.com/v1/
Authentication
All requests require API key authentication via the X-API-Key header.
curl -X POST https://api.celerd.com/v1/messages \
-H "X-API-Key: sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{"to":"+1234567890","from":"CelerCloud","content":"Hello"}'
Quick Start
1
Get API Keys
Sign up and find your keys in Dashboard → Settings
2
Make a Request
Use the endpoint with your API key header
3
Handle Response
Parse JSON response and handle status codes
Send SMS
Create and send a new message to any destination worldwide.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
to | string | Required | Recipient phone number (E.164 format, e.g. +1234567890) |
from | string | Required | Sender ID (alphanumeric or numeric, 1-11 characters) |
content | string | Required | Message body (max 160 GSM-7 / 70 Unicode chars) |
Example Request
curl -X POST https://api.celerd.com/v1/messages \
-H "X-API-Key: sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"to": "+1234567890",
"from": "CelerCloud",
"content": "Your verification code is: 847291"
}'
Response (201 Created)
{
"id": "msg_abc123",
"to": "+1234567890",
"from": "CelerCloud",
"content": "Your verification code is: 847291",
"status": "queued",
"segments": 1,
"cost": 0.015,
"currency": "USD",
"created_at": "2026-05-20T06:12:00Z"
}
Code Examples
Python
# pip install requests import requests response = requests.post( "https://api.celerd.com/v1/messages", headers={ "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json" }, json={ "to": "+1234567890", "from": "CelerCloud", "content": "Your verification code is: 847291" } ) data = response.json() print(data["id"]) # msg_abc123 print(data["status"]) # queued
List Messages
Paginated list of sent messages with filtering options.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number (default: 1) |
limit | integer | Items per page (default: 50, max: 200) |
status | string | Filter: queued / delivered / failed / pending |
date_from | string | Start date (ISO 8601) |
date_to | string | End date (ISO 8601) |
Code Examples
Python
import requests response = requests.get( "https://api.celerd.com/v1/messages", headers={"X-API-Key": "YOUR_API_KEY"}, params={"page": 1, "limit": 30, "status": "delivered"} ) data = response.json() print(len(data["items"])) # 30
Get Balance
Check current account balance and usage statistics.
Response (200 OK)
{
"status": "ok",
"balance": 250.75,
"currency": "USD",
"credit_limit": 1000.00
}
Code Examples
Python
import requests response = requests.get( "https://api.celerd.com/v1/account/balance", headers={"X-API-Key": "YOUR_API_KEY"} ) data = response.json() print(data["balance"]) # 250.75
Manage API Keys
Create, list, or revoke API keys for your account.
Configure Webhooks
Set up webhook endpoints to receive delivery status callbacks.
Push Payload (data structure sent to your endpoint)
{
"event": "message.delivered",
"data": {
"message_id": "msg_abc123",
"to": "+1234567890",
"from": "CelerCloud",
"status": "delivered",
"cost": 0.015,
"currency": "USD",
"delivered_at": "2026-05-20T06:12:08Z"
}
}
Error Codes
API Errors
101AccessKey error.
102AccessKey is disabled.
104The scheduled time cannot be less than 10 minutes or more than 15 days.
107No balance.
108Incorrect phone number.
113Incorrect date.
115AccessKey error.
122AccessKey error.
123The length of content is too long.
136The account has been frozen or deactivated and cannot be operated. If you have any questions, please contact the administrator.
137IP access limited.
139This account has not been verified yet, please complete the verification first.
144Incorrect price.
145Blacklist failed.
146SenderID error.
147Content error.
500SERVER ERROR
SMPP Protocol Errors
0STATUS_OKSuccessNormal request processing.
1STATUS_INVMSGLENInvalid message length.Long SMS segment count exceeds limit.
8STATUS_SYSERRSystem error.Application/client status error or internal server error.
10STATUS_INVSRCADRInvalid source address.Source address format or content is invalid.
11STATUS_INVDSTADRInvalid destination address.Phone number is empty, invalid format, or exceeds 20 digits.
13STATUS_BINDFAILBind failed.system_id / password authentication failed.
88STATUS_THROTTLEDThrottled.Request rate limit exceeded.
SMPP Delivery Receipt (DLR) Errors
001REJECTDInsufficient balance.
002REJECTDInvalid phone number.
003REJECTDCountry not quoted.
004REJECTDBlacklisted.
005REJECTDNot in sender whitelist.
006REJECTDContent does not meet whitelist requirements.
007REJECTDRoute and template did not match any channel.
008REJECTDChannel template management — rejected.
009REJECTDPlatform risk interception.
010REJECTDCustomer number segment blocked.
011REJECTDChannel number segment blocked.