---
title: "Get a notification"
method: GET
path: "/notifications/{notification_id}"
tags: ["Notifications"]
---

# Get a notification

`GET /notifications/{notification_id}`

## Request

- Base URL: `https://sandbox-api.paddle.com`
- URL: `https://sandbox-api.paddle.com/notifications/{notification_id}`
- Auth: HTTP bearer

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.

## Path parameters

- `notification_id` string, required

## Response `200`

The request has succeeded.

- object
  - `data` Notification, required: Represents a notification entity.
    - `id` string, required: Unique Paddle ID for this notification, prefixed with `ntf_`.
    - `type` 'address.created' | 'address.imported' | 'address.updated' | 'adjustment.created' | 'adjustment.updated' | 'api_key.created' | 'api_key.expired' | 'api_key.expiring' | 'api_key.revoked' | 'api_key.updated' | 'api_key_exposure.created' | 'business.created' | 'business.imported' | 'business.updated' | 'client_token.created' | 'client_token.revoked' | 'client_token.updated' | 'customer.created' | 'customer.imported' | 'customer.updated' | 'discount.created' | 'discount.imported' | 'discount.updated' | 'discount_group.created' | 'discount_group.updated' | 'payment_method.saved' | 'payment_method.deleted' | 'payout.created' | 'payout.paid' | 'price.created' | 'price.imported' | 'price.updated' | 'product.created' | 'product.imported' | 'product.updated' | 'report.created' | 'report.updated' | 'subscription.activated' | 'subscription.canceled' | 'subscription.created' | 'subscription.imported' | 'subscription.past_due' | 'subscription.paused' | 'subscription.resumed' | 'subscription.trialing' | 'subscription.updated' | 'transaction.billed' | 'transaction.canceled' | 'transaction.completed' | 'transaction.created' | 'transaction.paid' | 'transaction.past_due' | 'transaction.payment_failed' | 'transaction.ready' | 'transaction.revised' | 'transaction.updated', required: Type of event sent by Paddle, in the format `entity.event_type`.
    - `status` 'not_attempted' | 'needs_retry' | 'delivered' | 'failed', required: Status of this notification.
    - `payload` NotificationPayload, required: Notification payload. Includes the new or changed event.
      - `event_id` string, required: Unique Paddle ID for this event, prefixed with `evt_`.
      - `event_type` 'address.created' | 'address.imported' | 'address.updated' | 'adjustment.created' | 'adjustment.updated' | 'api_key.created' | 'api_key.expired' | 'api_key.expiring' | 'api_key.revoked' | 'api_key.updated' | 'api_key_exposure.created' | 'business.created' | 'business.imported' | 'business.updated' | 'client_token.created' | 'client_token.revoked' | 'client_token.updated' | 'customer.created' | 'customer.imported' | 'customer.updated' | 'discount.created' | 'discount.imported' | 'discount.updated' | 'discount_group.created' | 'discount_group.updated' | 'payment_method.saved' | 'payment_method.deleted' | 'payout.created' | 'payout.paid' | 'price.created' | 'price.imported' | 'price.updated' | 'product.created' | 'product.imported' | 'product.updated' | 'report.created' | 'report.updated' | 'subscription.activated' | 'subscription.canceled' | 'subscription.created' | 'subscription.imported' | 'subscription.past_due' | 'subscription.paused' | 'subscription.resumed' | 'subscription.trialing' | 'subscription.updated' | 'transaction.billed' | 'transaction.canceled' | 'transaction.completed' | 'transaction.created' | 'transaction.paid' | 'transaction.past_due' | 'transaction.payment_failed' | 'transaction.ready' | 'transaction.revised' | 'transaction.updated', required: Type of event sent by Paddle, in the format `entity.event_type`.
      - `occurred_at` string, date-time, required: RFC 3339 datetime string.
      - `data` EventData, required: New or changed entity.
      - `notification_id` string: Unique Paddle ID for this notification, prefixed with `ntf_`.
    - `occurred_at` string, date-time, required: RFC 3339 datetime string.
    - `delivered_at` string, date-time, required: RFC 3339 datetime string.
    - `replayed_at` string, date-time, required: RFC 3339 datetime string.
    - `origin` 'event' | 'replay', required: Describes how this notification was created.
    - `last_attempt_at` string, date-time, required: RFC 3339 datetime string.
    - `retry_at` string, date-time, required: RFC 3339 datetime string.
    - `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_`.
  - `meta` Meta, 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.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-02-02** (v1) `9ba8be0f2006`: 12 breaking, 1 warning, 89 info
  - added the new path request parameter `notification_id`
  - the `data/id` response's property type changed from `string` to no type for status `200`
  - the `data/notification_setting_id` response's property type changed from `string` to no type for status `200`
  - the `data/occurred_at` response's property type changed from `string` to no type, and format from `date-time` to no format for status `200`
  - …98 more
- **2025-05-27** (v1) `e57c515077cc`: 10 warning
  - added the new `api_key.created` enum value to the `data/payload/allOf[subschema #1: Event]/event_type` response property for the response status `200`
  - added the new `api_key.created` enum value to the `data/type` response property for the response status `200`
  - added the new `api_key.expired` enum value to the `data/payload/allOf[subschema #1: Event]/event_type` response property for the response status `200`
  - added the new `api_key.expired` enum value to the `data/type` response property for the response status `200`
  - …6 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/paddlehq/apis/paddle-api/changes/notifications/:notification_id/get.md)

---

[API](https://skmtc.dev/paddlehq/apis/paddle-api.md) - [All operations](https://skmtc.dev/paddlehq/apis/paddle-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paddlehq/apis/paddle-api/revisions/bbc0c72039c8?raw)
