API Reference

Base URL: https://oksit.cc

Authentication

Pass your API key in every request header:

x-api-key: your-api-key

Find your API key in Account settings .

Account Info

GET/api/me

Returns 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/sms

Request body

{
  "senderId": "MYSENDER",
  "recipients": ["+905001234567", "+447911123456"],
  "message": "Hello from OksitSMS"
}
FieldTypeDescription
senderIdstringSender name, max 11 chars
recipientsstring[]E.164 phone numbers (+905...)
messagestringSMS message text

Response

{
  "success": true,
  "batchId": "abc123",
  "recipientCount": 2,
  "cost": 0.10,
  "currency": "EUR"
}

SMS History

GET/api/sms/history

Returns 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/:id

Returns per-recipient delivery status for a batch. Syncs live DLR data from carrier.

Calculate Cost

POST/api/sms/cost

Request body

{
  "recipients": [
    "+905001234567",
    "+447911123456"
  ],
  "message": "Hello"
}

Price List

GET/api/prices

Returns 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

ValueMeaning
PENDINGNot yet sent to carrier
SENDINGIn transit
DELIVEREDConfirmed by carrier
FAILEDDelivery failed
REJECTEDRejected by carrier
EXPIREDNo delivery after 24 hours