Retrieve a message
Look up one message and its current delivery state.
GET
/api/v1/sms/:idShell
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.