# Retrieve the status for a specific message using its ID

Retrieves detailed status information for a message, including the channel, creation time, priority, type, payload, and processing statuses.  To use this endpoint, you must have the `MonitorSystemStatus` [privilege](https://doc.sitecore.com/ch/en/users/content-hub/privileges.html).

Endpoint: GET /api/status/messages/{id}
Version: v1.0
Security: OAuth2

## Security:

  - `OAuth2` (unknown)
    oauth2

## Path parameters:

  - `id` (integer, required)
    The unique ID of the message, for example, `12345`.

## Response 200:

  - `200` (unknown)
    Successful operation

## Response 200 fields (application/json:):

  - `id` (integer)
    ID of the message in the messaging system.

  - `channel` (string)
    Channel this message was published to.

  - `created_on` (string)
    Time the message was created.

  - `priority` (integer)
    Priority of the message. The higher the priority, the sooner the consumption on queues supporting the message prioritization.

  - `reference_count` (integer)
    Number of references of this message in various queues located in the same location as this message. A message with a reference count equal to 0 will be automatically garbage collected after a period of time (depends on the configuration).

  - `type` (string)
    .NET type of the message content (payload).

  - `payload` (object)
    The message content.

  - `statuses` (array)
    Collection of message status information on various queues. The actual state of the message in all applicable queues is not part of these statuses.

  - `statuses.queue` (string)
    Queue name this status item is associated with.

  - `statuses.date_of_last_pickup_by_worker` (string)
    Gets or sets the timestamp indicating the last time the message was picked up by a worker.

  - `statuses.current_processing_time` (string)
    Gets the current processing time, defined as the duration between the current time and the most recent pickup time by a worker.

  - `statuses.waiting_time_to_get_processed` (string)
    Gets the time the message spent waiting in the queue before being picked up for processing.

  - `statuses.instance_identifier` (string)
    Instance identifier of the queue subscriber that is consuming the message at the moment.

  - `statuses.exception` (string)
    Exception that caused the message to fail on the `Stylelabs.M.Base.Web.Api.Models.MessageStatus.Queue`.

  - `statuses.data` (string)
    Optional data attached for given `Stylelabs.M.Base.Web.Api.Models.MessageStatus.Queue` if the message was re-pushed on the queue.

  - `self` (object)
    Represents a link to a resource.

  - `self.href` (string)
    Gets or sets the URI that points to the resource this link refers to.

  - `self.filename_properties` (array)
    Gets or sets the URI that points to the resource this link refers to.

  - `self.title` (string)
    Gets or sets the title that describes this link.

  - `self.templated` (boolean)
    Whether the contained URI is a template.

## Response 400:

  - `400` (unknown)
    Request not valid

## Response 401:

  - `401` (unknown)
    Unauthorized request

## Response 404:

  - `404` (unknown)
    Message not found

