Retrieve a message

Look up one message and its current delivery state.

GET/api/v1/sms/:id
Shell
curl https://api.jkasms.com/api/v1/sms/cmu9x2k4a0001abcd \
  -H "Authorization: Bearer $JKASMS_SECRET_KEY" \
  -H "X-JKASMS-Org-Id: $JKASMS_ORG_ID"
Response200
JSON
{
  "success": true,
  "data": {
    "message_id": "cmu9x2k4a0001abcd",
    "recipient": "+233241234567",
    "sender": "JKASMS",
    "message": "Your appointment is confirmed for tomorrow at 10:00am.",
    "status": "DELIVERED",
    "segments": 1,
    "cost": "0.06",
    "currency": "GHS",
    "type": "TRANSACTIONAL",
    "campaign_id": null,
    "failure_reason": null,
    "created_at": "2026-09-21T10:30:00.000Z",
    "submitted_at": "2026-09-21T10:30:02.000Z",
    "delivered_at": "2026-09-21T10:30:04.000Z",
    "failed_at": null
  }
}

Prefer webhooks over polling this endpoint. A webhook arrives the moment the status changes; polling costs you rate limit and tells you nothing new most of the time.

A message belonging to another account returns 404, not 403 — confirming an id exists would leak information about other customers.