---
title: "Retrieve subscriber notifications"
method: GET
path: "/v2/subscribers/{subscriberId}/notifications"
tags: ["Subscribers"]
---

# Retrieve subscriber notifications

`GET /v2/subscribers/{subscriberId}/notifications`

## Request

- Base URL: `https://api.notifly.io`
- URL: `https://api.notifly.io/v2/subscribers/{subscriberId}/notifications`
- Auth: API key in header `Authorization`

Retrieve in-app (inbox) notifications for a subscriber by its unique key identifier **subscriberId**. 
    Supports filtering by tags, read/archived/snoozed/seen state, data attributes, severity, date range, and context keys.

## Path parameters

- `subscriberId` string, required

## Query parameters

- `limit` number
- `after` string
- `offset` number
- `read` boolean
- `archived` boolean
- `snoozed` boolean
- `seen` boolean
- `data` string
- `severity` string[]
- `createdGte` number
- `createdLte` number
- `contextKeys` string[]

## Response `200`

OK

- object
  - `data` GetSubscriberNotificationsResponseDto
    - `data` InboxNotificationDto[], required: Array of notifications
      - `id` string, required: Unique identifier of the notification
      - `transactionId` string, required: Transaction identifier of the notification
      - `subject` string: Subject of the notification
      - `body` string, required: Body content of the notification
      - `to` InboxSubscriberResponseDto, required
        - `id` string, required: Unique identifier of the subscriber
        - `firstName` string: First name of the subscriber
        - `lastName` string: Last name of the subscriber
        - `avatar` string: Avatar URL of the subscriber
        - `subscriberId` string, required: External subscriber identifier
      - `isRead` boolean, required: Whether the notification has been read
      - `isSeen` boolean, required: Whether the notification has been seen
      - `isArchived` boolean, required: Whether the notification has been archived
      - `isSnoozed` boolean, required: Whether the notification is snoozed
      - `snoozedUntil` string, nullable: ISO timestamp when the notification will be unsnoozed
      - `deliveredAt` string[]: Timestamps when the notification was delivered
      - `createdAt` string, required: ISO timestamp when the notification was created
      - `readAt` string, nullable: ISO timestamp when the notification was read
      - `firstSeenAt` string, nullable: ISO timestamp when the notification was first seen
      - `archivedAt` string, nullable: ISO timestamp when the notification was archived
      - `avatar` string: Avatar URL for the notification
      - `primaryAction` InboxActionDto
        - `label` string, required: Label of the action button
        - `isCompleted` boolean, required: Whether the action has been completed
        - `redirect` RedirectDto
          - `url` string, required: URL to redirect to
          - `target` '_self' | '_blank' | '_parent' | '_top' | '_unfencedTop': Target attribute for the redirect link
      - `secondaryAction` InboxActionDto
        - `label` string, required: Label of the action button
        - `isCompleted` boolean, required: Whether the action has been completed
        - `redirect` RedirectDto
          - `url` string, required: URL to redirect to
          - `target` '_self' | '_blank' | '_parent' | '_top' | '_unfencedTop': Target attribute for the redirect link
      - `channelType` 'in_app' | 'email' | 'sms' | 'chat' | 'push' | 'tool', required: Channel type through which the message is sent
      - `tags` string[]: Tags associated with the notification
      - `data` object: Custom data payload of the notification
      - `redirect` RedirectDto
        - `url` string, required: URL to redirect to
        - `target` '_self' | '_blank' | '_parent' | '_top' | '_unfencedTop': Target attribute for the redirect link
      - `workflow` NotificationWorkflowDto
        - `id` string, required: Unique identifier of the workflow
        - `identifier` string, required: Workflow identifier used for triggering
        - `name` string, required: Human-readable name of the workflow
        - `critical` boolean, required: Whether this workflow is marked as critical
        - `tags` string[]: Tags associated with the workflow
        - `data` object: Custom data associated with the workflow
        - `severity` 'high' | 'medium' | 'low' | 'none', required: Severity of the workflow
      - `severity` 'high' | 'medium' | 'low' | 'none', required: Severity of the workflow
    - `hasMore` boolean, required: Indicates if there are more notifications available
    - `filter` object, required: The filter applied to the notifications

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `405`: Method Not Allowed
- `409`: Conflict
- `413`: Payload Too Large
- `414`: URI Too Long
- `415`: Unsupported Media Type
- `422`: Unprocessable Entity
- `429`: The client has sent too many requests in a given amount of time.
- `500`: Internal Server Error
- `503`: The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.

---

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