---
title: "Get Message"
method: GET
path: "/webhooks/messages/{message_id}"
tags: ["webhooks"]
---

# Get Message

`GET /webhooks/messages/{message_id}`

Retrieve a specific webhook message by its ID.

Returns the full message details including the event type, payload data,
timestamp, and delivery channel information. Use this to inspect the
exact payload that was sent to your webhook endpoints.

Use `include_attempts=true` to also retrieve delivery attempts for this message,
which include HTTP response codes, response bodies, and timestamps for debugging
delivery failures.

## Path parameters

- `message_id` string, required — The unique identifier of the message to retrieve (UUID).

## Query parameters

- `include_attempts` boolean — Include delivery attempts for this message. Each attempt includes the HTTP response code, response body, and timestamp.

## Response `200`

Webhook message details

- WebhookMessageWithAttempts — A webhook message with delivery attempts.
  - `id` string, required — Unique identifier for this message (UUID format)
  - `event_type` string, required — The type of event (e.g., 'sync.completed', 'sync.failed')
  - `payload` object, required — The event payload data, matching what is delivered to webhooks. Structure varies by event_type.
  - `timestamp` string, date-time, required — When this message was created (ISO 8601 format, UTC)
  - `channels` string[], nullable — Channels this message was sent to (typically matches the event type)
  - `tags` string[], nullable — Tags associated with this message for filtering
  - `delivery_attempts` DeliveryAttempt[], nullable — Delivery attempts for this message.
    - `id` string, required — Unique identifier for this delivery attempt
    - `message_id` string, required — The event message that was being delivered
    - `endpoint_id` string, required — The subscription endpoint this was delivered to
    - `response` string, nullable — The response body returned by your webhook endpoint (truncated to 1KB)
    - `response_status_code` integer, required — HTTP status code returned by your webhook endpoint. 2xx codes indicate success; other codes trigger retries.
    - `status` string, required — Delivery status: `success` (2xx response), `pending` (awaiting delivery), or `failed` (non-2xx response or timeout)
    - `timestamp` string, date-time, required — When this delivery attempt occurred (ISO 8601 format, UTC)
    - `url` string, nullable — The URL that was called

## Other responses

- `404` — Message Not Found
- `422` — Validation Error
- `429` — Rate Limit Exceeded

---

[API](https://skmtc.net/airweave-ai/apis/airweave.md) · [All operations](https://skmtc.net/airweave-ai/apis/airweave/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/airweave-ai/airweave/revisions/bf410c28c0c6/schema)
