# GET /notifications/{notification_id}

**Get a notification**

Returns a notification using its ID.

Notifications older than 90 days aren't retained. If you try to get a notification that's no longer retained, Paddle returns an error.

**Required permissions:** `notification.read`

## Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `notification_id` | string | required | Paddle ID of the notification entity to work with. |

## Response (200)

- `data`: object (required) — Represents a notification entity.
  - `id`: string (required) — Unique Paddle ID for this notification, prefixed with `ntf_`. (pattern: `^ntf_[a-z\d]{26}$`)
  - `type`: string (required) — Type of event sent by Paddle, in the format `entity.event_type`.
  - `status`: string (required) — Status of this notification.
  - `payload`: object (required) — Notification payload. Includes the new or changed event.
    - `event_id`: string (required) — Unique Paddle ID for this event, prefixed with `evt_`. (pattern: `^evt_[a-z\d]{26}$`)
    - `event_type`: string (required) — Type of event sent by Paddle, in the format `entity.event_type`.
    - `occurred_at`: string (date-time) (required) — RFC 3339 datetime string of when this event occurred.
    - `data`: object (required) — New or changed entity.
    - `notification_id`: string — Unique Paddle ID for this notification, prefixed with `ntf_`. (pattern: `^ntf_[a-z\d]{26}$`)
  - `occurred_at`: string (date-time) (required) — RFC 3339 datetime string of when this notification occurred.
  - `delivered_at` (required) — RFC 3339 datetime string of when this notification was delivered. `null` if not yet delivered successfully.
  - `replayed_at` (required) — RFC 3339 datetime string of when this notification was replayed. `null` if not replayed.
  - `origin`: string (required) — Describes how this notification was created.
  - `last_attempt_at` (required) — RFC 3339 datetime string of when this notification was last attempted.
  - `retry_at` (required) — RFC 3339 datetime string of when this notification is scheduled to be retried.
  - `times_attempted`: integer (required) — How many times delivery of this notification has been attempted. Automatically incremented by Paddle after an attempt.
  - `notification_setting_id`: string (required) — Unique Paddle ID for this notification setting, prefixed with `ntfset_`. (pattern: `^ntfset_[a-z\d]{26}$`)
- `meta`: object (required) — Information about this response.
  - `request_id`: string (required) — Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.

### Response example

```json
{
  "data": {
    "id": "ntf_01hvg8ykjrcdr4jvv9rqcbkhfa",
    "type": "address.created",
    "status": "failed",
    "payload": {
      "data": {
        "id": "add_01hvg8yk4s1aqa37kxspd51bwg",
        "city": null,
        "region": null,
        "status": "active",
        "created_at": "2024-04-15T07:01:11.449Z",
        "first_line": null,
        "updated_at": "2024-04-15T07:01:11.449Z",
        "custom_data": null,
        "customer_id": "ctm_01gzgmxdmgkgc7p94b5kgqq82p",
        "description": null,
        "import_meta": null,
        "postal_code": "10021",
        "second_line": null,
        "country_code": "US"
      },
      "event_id": "evt_01hvg8ykgj5r02vvn44b8hdp8d",
      "event_type": "address.created",
      "occurred_at": "2024-04-15T07:01:11.826666Z",
      "notification_id": "ntf_01hvg8ykjrcdr4jvv9rqcbkhfa"
    },
    "occurred_at": "2024-04-15T07:01:11.826666Z",
    "delivered_at": null,
    "replayed_at": null,
    "origin": "event",
    "last_attempt_at": "2024-04-15T07:19:56.553479Z",
    "retry_at": null,
    "times_attempted": 10,
    "notification_setting_id": "ntfset_01hv6scjn6ex5bej5bdy4w9ax3"
  },
  "meta": {
    "request_id": "50aa6efc-5c11-47f4-8a7a-d13d1ffd85f2"
  }
}
```
