Documentation menu

Get an SMS

Returns the details and current status of an SMS you sent through the send endpoint or any other route.

GET https://api.diarybook.com/{authKey}/v2/sms/{reference}

Request

Path parameters

ParameterDescription
authKeyYour API key. See Authentication.
referenceOur reference for the message (beginning msg_sms_), or the senderRef you supplied when sending it.

There is no request body.

Example request

curl "https://api.diarybook.com/YOUR_API_KEY/v2/sms/msg_sms_Xk3pR9bTq2LmZa7vN4wY"

Or by your own reference:

curl "https://api.diarybook.com/YOUR_API_KEY/v2/sms/ORDER-10482"

The simplest approach is to call the self link returned by Send an SMS.

Response

200 OK

{
  "reference": "msg_sms_Xk3pR9bTq2LmZa7vN4wY",
  "to": "+353871234567",
  "from": "MYCOMPANY",
  "text": "Your order 10482 has been dispatched and will arrive tomorrow.",
  "status": "Delivered",
  "size": 62,
  "parts": 1,
  "isUnicode": false,
  "priceExTax": 0.0650,
  "priceIncTax": 0.0800,
  "currency": "EUR",
  "country": "Ireland",
  "senderRef": "ORDER-10482",
  "sendDate": "2026-10-14T09:30:12Z",
  "links": [
    {
      "href": "https://api.diarybook.com/YOUR_API_KEY/v2/sms/msg_sms_Xk3pR9bTq2LmZa7vN4wY",
      "rel": "self"
    }
  ]
}

Prices in the example are illustrative. Your own prices are on the pricing page.

FieldTypeDescription
referencestringOur unique reference for the message.
tostringThe recipient’s mobile number.
fromstringThe sender ID or number the message was sent from.
textstringThe message text.
statusstringThe message’s current status, such as Sent or Delivered, or an error code if it wasn’t sent. See Status and error codes.
sizeintegerThe number of characters in text.
partsintegerThe number of SMS parts the message was split into. See SMS message parts.
isUnicodebooleantrue if the message was sent as Unicode because it contains characters outside the GSM 7-bit alphabet.
priceExTaxnumberThe price of the message, excluding tax.
priceIncTaxnumberThe price of the message, including tax.
currencystringThe currency of the prices, for example EUR.
countrystringThe destination country, taken from the mobile number.
senderRefstringThe senderRef you supplied when sending, or null.
sendDatestringUTC, ISO 8601. When the message was sent; if it hasn’t been sent yet, when it is due to be sent.
linksarrayA self link for this message.

204 No Content

No message matches reference. The body is empty. Check the reference for typing errors; a senderRef must match exactly.

Errors

StatusBodyCause
400Plain-text messageThe request couldn’t be processed.
401(empty)The API key is missing or not recognised.
429(empty)Rate limit exceeded. See Rate limits.
500A server error occurredA problem on our side. Retry later.

Checking delivery

Sent means the message has been passed to the mobile network; Delivered means the network has confirmed it reached the phone. A phone that’s switched off or out of coverage can leave a message at Sent until the network delivers it or gives up. See Delivery reports.

If you poll for status:

  • Wait at least a minute before the first check, and lengthen the gap between later checks.
  • Stop once the status is Delivered or an error code.
  • Respect 429 responses; polling counts against your rate limits.