---
title: "List notifications"
method: GET
path: "/notifications"
tags: ["Notifications"]
---

# List notifications

`GET /notifications`

## Request

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

Returns a paginated list of notifications created in the last 90 days. Use the query parameters to page through results.

Notifications older than 90 days aren't retained.

## Query parameters

- `after` string
- `per_page` integer
- `notification_setting_id` string[]
- `order_by` string
- `search` string
- `status` NotificationStatusQueryEnum[]
- `filter` string
- `to` string
- `from` string

## Headers

- `Skip-Count` string

## Response `200`

The request has succeeded.

- object
  - `data` Notification[], required
    - `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` PaginatedMeta, 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.
    - `pagination` Pagination, required: Keys used for working with paginated results.
      - `per_page` integer, required: Number of entities per page for this response. May differ from the number requested if the requested number is greater than the maximum.
      - `next` string, uri, required: URL containing the query parameters of the original request, along with the `after` parameter that marks the starting point of the next page. Always returned, even if `has_more` is `false`.
      - `has_more` boolean, required: Whether this response has another page.
      - `estimated_total` integer: Estimated number of entities for this response. For datasets with 100,000 or fewer matches, returns the exact count. For datasets with more than 100,000 matches, returns `100001` to indicate that more than 100,000 entities match. Returns `-1` when counting is skipped or couldn't be calculated. Use `has_more` and `next` to page through all results rather than relying on `estimated_total` for an exact count.

## Other responses

- `default`: An unexpected error response.

## Changes

- **2026-07-09** (v1) `e1ac347eb3c5`: 1 info
  - added the new optional `header` request parameter `Skip-Count`
- **2026-02-02** (v1) `9ba8be0f2006`: 11 breaking, 1 warning, 89 info
  - the `data/items/id` response's property type changed from `string` to no type for status `200`
  - the `data/items/notification_setting_id` response's property type changed from `string` to no type for status `200`
  - the `data/items/occurred_at` response's property type changed from `string` to no type, and format from `date-time` to no format for status `200`
  - the `data/items/origin` response's property type changed from `string` to no type for status `200`
  - …97 more
- **2025-05-27** (v1) `e57c515077cc`: 10 warning
  - added the new `api_key.created` enum value to the `data/items/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/items/type` response property for the response status `200`
  - added the new `api_key.expired` enum value to the `data/items/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/items/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/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)
