# Channel logs

<figure><img src="/files/ts9b8cWEvEjWlTvwweGZ" alt=""><figcaption></figcaption></figure>

For each message processed, you can view the following information, also known as message attributes:

* **Direction**: Indicates whether the message was outbound (sent by you) or inbound (sent to you by a customer).
* **Status**: Shows the message's location in the message lifecycle.
* **Message ID**: A unique identifier for the message.
* **From**: The identifier or number of the message sender and, when applicable, its country.&#x20;
* **To**: The identifier or number of the message recipient and, when applicable, its country.
* **Type:** the type of message.
* **Created at**: The time the log was created.
* **Updated at**: The time the log was last updated.
* Failure Code: [failure codes](https://docs.bird.com/api/channels-api/message-status-and-interactions/message-failure-codes) provide a standardized categorization of the root cause of a message failing.&#x20;

#### Inspect log

To get more details about a specific message, click on it to open the **Inspect log** panel.

<figure><img src="/files/6AgCX3vRhkic6D945rPE" alt=""><figcaption></figcaption></figure>

The **Inspect log** panel contains two tabs: the **Latest** and Interaction.

* The **Latest** tab displays information about the current message status and the raw message body.
* The **Timeline** tab shows the message history, including the timestamps of every status change.

#### Troubleshooting tips

Information about failures is provided hierarchically

* **Statuses**: indicate, at the most general level, if a message failed when delivering  (`delivery failed`) or couldn't be sent (`sending failed`)  in the first place
* **Failures Codes and Sources**: provide information on what system or entity ([the source](https://docs.bird.com/api/channels-api/message-status-and-interactions/message-failure-sources) ) failed the message and why ([the code](https://docs.bird.com/api/channels-api/message-status-and-interactions/message-failure-codes)), for example, 1`5002 : invalid permission` indicate that the message could be delivered  for lack of registration&#x20;
* **Failure Reasons**: summarize in a human-friendly way all of the above, for example `Details: sender unregistered; reason: carrier_rejected; code: 104` specifies  the sender (from) of the message wasn't registered with the downstream SMS carrier&#x20;

Looking at reasons is usually the easiest way to determine the failure cause of a specific message  ![](/files/dHfDdzCpkWt0OAp2Vvcm)

Once this is found, filtering by failure codes and/or country. It should be an attempt to confirm that is the predominant failure reasons (in the example below, it is clear how 15002 affects multiple recipients, and the root cause is 30301 lack of registration in the USA) ![](/files/RoQTWkP0EYKI2HqPWOy4)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/applications/analytics/channel-analytics/concepts/channel-logs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
