---
title: "Get a notification sent to an agent"
method: GET
path: "/v1/whatsapp/agents/notifications/{notification_id}"
tags: ["whatsapp-agent-notifications"]
---

# Get a notification sent to an agent

`GET /v1/whatsapp/agents/notifications/{notification_id}`

## Request

- Base URL: `https://us1.platform.bird.com`
- URL: `https://us1.platform.bird.com/v1/whatsapp/agents/notifications/{notification_id}`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `bird_session`

Returns one notification you sent the agent, with what came of it: `accepted` while WhatsApp is still working on it, then `success`, `skipped` with WhatsApp's reason, or `failed` with what went wrong. A notification still in flight to WhatsApp is not readable yet, and an id this workspace does not hold returns `404`. A notification stays readable after its agent is deleted.

## Headers

- `X-Workspace-Id` string
- `X-Organization-Id` string

## Response `200`

The notification.

- WhatsAppAgentNotification: A notification you sent the agent about one contact, and what came of it. The agent decides whether to write to the contact about it; that message, if any, shows up on the contact's conversation.
  - `id` string, required
  - `from` string, required: The business number whose agent the notification was sent to, in E.164 format.
  - `to` string, required: The contact the notification was about, as you addressed it: a phone number in E.164 format, or a business-scoped user ID.
  - `name` string, required: Your own name for what happened, as you sent it.
  - `description` string, required: What happened, as you sent it.
  - `payload` string, required: The data you attached, as you sent it.
  - `status` 'accepted' | 'success' | 'skipped' | 'failed', required: Where a notification you sent the agent stands. One state is transient and three are final. - `accepted` means Bird holds the notification: it is on its way to WhatsApp, or WhatsApp is still working on it. Nothing is charged for a notification, unlike a message that reads `accepted`. - `success` means the agent acted on it. - `skipped` means the agent read it and chose to say nothing; `skipped_reason` says why. - `failed` means WhatsApp refused it or reported a failure, or no outcome arrived within a day; `error` says why.
  - `skipped_reason` string: WhatsApp's own account of why the agent chose to say nothing, passed through. Present only when `status` is `skipped`. Show it to the person who sent the notification; never match on its text.
  - `error` WhatsAppAgentNotificationError: Why a notification sent to the agent failed.
    - `description` string, required: WhatsApp's own explanation, passed through: what it said when it refused the notification, or its failure summary once it had worked on it. Show it to the person who sent the notification; never match on its text. Carries Bird's own words instead when the failure was Bird's verdict, such as no outcome arriving within a day.
    - `meta_error_code` string, nullable, required: WhatsApp's most specific code when it refused the notification outright: its error subcode where it sent one, otherwise its top-level code. Treat it as an opaque string. Null when WhatsApp took the notification and reported the failure later, which carries no code, and when the failure was Bird's own verdict.
  - `created_at` string, date-time, required: When Bird accepted the notification.

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `403`: Insufficient permissions
- `404`: Resource not found
- `422`: The request has invalid field values, violates a business rule, or carries a query parameter the endpoint does not declare. Field validation errors use `type: validation_error` and include the affected fields in `details`. Business-rule errors identify the failed rule in `type`.
- `429`: Rate limit exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/messagebird/apis/bird-api.md) · [All operations](https://skmtc.dev/messagebird/apis/bird-api/llms.txt) · [OpenAPI document](https://skmtc.dev/messagebird/apis/bird-api/revisions/3e2a50466454?raw)
