> For the complete documentation index, see [llms.txt](https://docs.bird.com/applications/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bird.com/applications/analytics/channel-analytics/concepts/channel-logs.md).

# Channel logs

<figure><img src="/files/0WAaRS32CcCVMTQBilvC" 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.
* **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.

#### Inspect log

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

<figure><img src="/files/fkdNnon6rgPMz13BjgM5" 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
* **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

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

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/PJ0mHpK4hycSa8lCTlqh)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
