---
title: "Show Message"
method: GET
path: "/messages/{id}"
tags: ["Message"]
---

# Show Message

`GET /messages/{id}`

Get a the message by `id`.
```http
GET /v1/messages/4023457654
```

## Path parameters

- `id` string, required

## Response `200`

The message detail

- Message
  - `id` string, required — A unique identifier that is assigned when the message is created.
  - `type` 'SENT' | 'RECEIVED', required — The message direction
  - `from` string — The address part of the sender id
  - `to` string, required — The phone number of the recipient
  - `body` string, required — The content of the message
  - `encoding` 'TEXT' | 'UNICODE' | 'BINARY' — The type of the content. See the `encoding` field for more information.
  - `protocolId` integer — See the `protocolId` field for more information.
  - `messageClass` integer — See the `messageClass` field for more information.
  - `numberOfParts` integer — The number of parts. If this is a concatenated message, the number of parts will be more than 1. Note that this field does not have a value in the submission response.
  - `creditCost` number, float — The cost of the message (in credits). Note that this field does not have a value in the submission response.
  - `submission` object — Identifies the submission.
    - `id` string, required — A unique identity shared by all messages that were created from the same submission. This field should be ignored if the `type` is not SENT.
    - `date` string, date-time, required — The date and time the submission was processed. If the `type` is RECEIVED, this field reflects the date and time the received message was processed.
  - `status` object, required — The status of the message
    - `id` string, required — A concatenated value A.B where A is the `status.type` and B is the `status.subtype`. It there is no value for `subtype` then B takes string value `"null"` (e.g. `"SENT.null"`).
    - `type` 'ACCEPTED' | 'SCHEDULED' | 'SENT' | 'DELIVERED' | 'UNKNOWN' | 'FAILED', required — ACCEPTED Message accepted for delivery. Only returned for initial message submissions. SCHEDULED Message accepted for delivery at a later date. Only returned for initial message submissions. SENT Message has been relayed away from our systems. DELIVERED Successfully delivered to phone. UNKNOWN Message is in an unknown state. FAILED Delivery failed.
    - `subtype` 'EXPIRED' | 'HANDSET_ERROR' | 'BLOCKED' | 'NOT_SENT' — Has a value only if the `type` is FAILED. EXPIRED Delivery failed because message expired before delivery was possible. HANDSET_ERROR Delivery failed because of a problem related to the phone (e.g. message storage area full). BLOCKED Your account has been blocked from sending to this phone (e.g. recipient replied STOP to block communication). NOT_SENT Message delivery was not attempted (e.g. because we were not able to find a route for the supplied phone number).
  - `relatedSentMessageId` string — This field has a value only if the type is RECEIVED. With SMS messages, it is not possible to link a reply directly with a specific sent message. However, if you specified `REPLIABLE` in the `from` property, BulkSMS will link any reply to the most recent message sent to a given phone number. The `relatedSentMessageId` property keeps the information about this link. You can use this property to derive an implicit conversation from a set of messages. - If a received reply message has a `relatedSentMessageId`, you can use it to retrieve the last message that was sent before the reply was received. - If you have the `id` of the sent message and you want all the received messages that relate to it, you can use the List Related Messages Operation.
  - `userSuppliedId` string — This is the value you supplied in the `userSuppliedId` field. Has a value only if the `type` is SENT.

## Other responses

- `400` — Bad Request. The content or structure of your submission, or a parameter, was found to be invalid.
- `404` — A [not-found error](errors/#not-found) if the message cannot be found.

---

[API](https://skmtc.net/bulksms/apis/bulksms-json-rest-api.md) · [All operations](https://skmtc.net/bulksms/apis/bulksms-json-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bulksms/bulksms-json-rest-api/versions/f923d2ecca43/schema)
