API Reference
Base URL: https://oksit.cc
Authentication
Pass your API key in every request header:
x-api-key: your-api-keyFind your API key in Account settings .
Account Info
GET
/api/meReturns your account details and current balance. Requires API Key.
Response
{
"user": {
"id": "cuid...",
"name": "John Doe",
"email": "john@example.com",
"balance": 12.50,
"apiKey": "your-api-key"
}
}Send SMS
POST
/api/smsRequest body
{
"senderId": "MYSENDER",
"recipients": ["+905001234567", "+447911123456"],
"message": "Hello from OksitSMS"
}| Field | Type | Description |
|---|---|---|
| senderId | string | Sender name, max 11 chars |
| recipients | string[] | E.164 phone numbers (+905...) |
| message | string | SMS message text |
Response
{
"success": true,
"batchId": "abc123",
"recipientCount": 2,
"cost": 0.10,
"currency": "EUR"
}SMS History
GET
/api/sms/historyReturns your last 50 SMS batches with delivery counts.
Response
{
"batches": [
{
"id": "...",
"senderId": "MYSENDER",
"status": "DELIVERED",
"recipientCount": 2,
"deliveredCount": 2,
"failedCount": 0,
"cost": 0.10,
"createdAt": "2026-01-01T00:00:00Z"
}
],
"hasPending": false
}Batch Detail
GET
/api/sms/history/:idReturns per-recipient delivery status for a batch. Syncs live DLR data from carrier.
Calculate Cost
POST
/api/sms/costRequest body
{
"recipients": [
"+905001234567",
"+447911123456"
],
"message": "Hello"
}Price List
GET
/api/pricesReturns current per-country rates. No auth required.
Response
[
{
"name": "Turkey",
"prefix": "90",
"price": 0.05,
"type": "OPEN SID"
},
{
"name": "United Kingdom",
"prefix": "44",
"price": 0.08,
"type": "OPEN SID"
}
]Status Values
| Value | Meaning |
|---|---|
| PENDING | Not yet sent to carrier |
| SENDING | In transit |
| DELIVERED | Confirmed by carrier |
| FAILED | Delivery failed |
| REJECTED | Rejected by carrier |
| EXPIRED | No delivery after 24 hours |