> ## Documentation Index
> Fetch the complete documentation index at: https://docs.phoenix.trade/llms.txt
> Use this file to discover all available pages before exploring further.

# List trader notifications

> Handles `GET /v1/traders/{trader_pubkey}/notifications` via `get.v1.traders.by_trader_pubkey.notifications`.



## OpenAPI

````yaml /openapi/phoenix-public-api.json get /v1/traders/{trader_pubkey}/notifications
openapi: 3.1.0
info:
  title: Phoenix Eternal API
  description: >-
    RESTful API for accessing Phoenix Eternal perpetual trading data. Provides
    real-time orderbook levels, asset information, and market metadata.
  termsOfService: https://www.phoenix.trade/terms-of-service
  contact:
    name: Phoenix Development Team
    url: https://github.com/Ellipsis-Labs/phoenix
  license:
    name: Proprietary
  version: 1.0.0
servers:
  - url: https://perp-api.phoenix.trade
    description: Phoenix Eternal Perp API
security: []
tags:
  - name: Auth
    description: Wallet and session authentication.
  - name: Exchange
    description: Exchange, market, candle, and no-referral register-instruction workflows.
  - name: Invite
    description: Invite validation, referral activation, and wallet allowlist checks.
  - name: Notifications
    description: Trader notification reads and acknowledgement helpers.
  - name: Trader
    description: Trader state, account history, and transaction builders.
externalDocs:
  url: https://docs.phoenix.trade
  description: Phoenix developer documentation
paths:
  /v1/traders/{trader_pubkey}/notifications:
    get:
      tags:
        - Notifications
      summary: List trader notifications
      description: >-
        Handles `GET /v1/traders/{trader_pubkey}/notifications` via
        `get.v1.traders.by_trader_pubkey.notifications`.
      operationId: get.v1.traders.by_trader_pubkey.notifications
      parameters:
        - name: trader_pubkey
          in: path
          description: Trader pubkey (base58)
          required: true
          schema:
            type: string
        - name: limit
          in: query
          required: false
          schema:
            type:
              - integer
              - 'null'
            format: int64
        - name: cursor
          in: query
          required: false
          schema:
            type:
              - string
              - 'null'
        - name: unackedOnly
          in: query
          description: >-
            When true, return only unacked notifications with a fixed cap of
            1000

            (cursor and limit are ignored).
          required: false
          schema:
            type:
              - boolean
              - 'null'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetNotificationsResponse'
      security:
        - PhoenixBearerAuth: []
components:
  schemas:
    GetNotificationsResponse:
      type: object
      required:
        - items
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/NotificationItem'
        nextCursor:
          type:
            - string
            - 'null'
    NotificationItem:
      oneOf:
        - type: object
          required:
            - id
            - slot
            - slotIndex
            - instructionIndex
            - eventIndex
            - recipientIndex
            - notificationType
            - data
            - createdAt
            - acked
            - source
          properties:
            acked:
              type: boolean
            createdAt:
              type: string
              format: date-time
            data: {}
            details:
              oneOf:
                - type: 'null'
                - $ref: '#/components/schemas/NotificationFromEventDetails'
                  description: >-
                    Structured details per notification type. None for legacy
                    rows.
            eventIndex:
              type: integer
              format: int32
            id:
              type: integer
              format: int64
            instructionIndex:
              type: integer
              format: int32
            notificationType:
              type: string
            recipientIndex:
              type: integer
              format: int32
            slot:
              type: integer
              format: int64
              description: |-
                Composite index for dedupe/ack; matches DB unique key and WS
                temporary id.
            slotIndex:
              type: integer
              format: int32
            source:
              type: string
              enum:
                - event
        - type: object
          required:
            - id
            - notificationType
            - data
            - createdAt
            - acked
            - source
          properties:
            acked:
              type: boolean
            body:
              type:
                - string
                - 'null'
            createdAt:
              type: string
              format: date-time
            data: {}
            id:
              type: integer
              format: int64
            notificationType:
              type: string
            source:
              type: string
              enum:
                - admin
            title:
              type:
                - string
                - 'null'
        - type: object
          description: >-
            General notification: user-specific, real-time (e.g. from Redis),
            not

            from on-chain events nor global admin announcements.
          required:
            - id
            - notificationType
            - data
            - createdAt
            - acked
            - source
          properties:
            acked:
              type: boolean
            body:
              type:
                - string
                - 'null'
            createdAt:
              type: string
              format: date-time
            data: {}
            id:
              type: integer
              format: int64
            notificationType:
              type: string
            source:
              type: string
              enum:
                - general
            title:
              type:
                - string
                - 'null'
      description: |-
        Notification item: discriminated union by source (event vs admin vs
        general).
    NotificationFromEventDetails:
      oneOf:
        - type: object
          required:
            - symbol
            - side
            - base_lots_filled
            - price
            - type
          properties:
            base_lots_filled:
              type: integer
              format: int64
            price:
              type: number
              format: double
            side:
              type: string
            symbol:
              type: string
            type:
              type: string
              enum:
                - orderFilled
        - type: object
          required:
            - symbol
            - side
            - base_lots_released
            - type
          properties:
            base_lots_released:
              type: integer
              format: int64
            side:
              type: string
            symbol:
              type: string
            type:
              type: string
              enum:
                - riskEngineCancelOrder
        - type: object
          required:
            - symbol
            - side
            - base_amount
            - quote_amount
            - type
          properties:
            base_amount:
              type: number
              format: double
            quote_amount:
              type: number
              format: double
            side:
              type: string
            symbol:
              type: string
            trigger_type:
              type:
                - string
                - 'null'
            type:
              type: string
              enum:
                - stopLossExecuted
        - type: object
          required:
            - symbol
            - side
            - base_amount
            - quote_amount
            - type
          properties:
            base_amount:
              type: number
              format: double
            quote_amount:
              type: number
              format: double
            side:
              type: string
            symbol:
              type: string
            trigger_type:
              type:
                - string
                - 'null'
            type:
              type: string
              enum:
                - conditionalOrderExecuted
        - type: object
          required:
            - symbol
            - side
            - base_amount
            - quote_amount
            - type
          properties:
            base_amount:
              type: number
              format: double
            quote_amount:
              type: number
              format: double
            side:
              type: string
            symbol:
              type: string
            type:
              type: string
              enum:
                - liquidation
        - type: object
          required:
            - asset_id
            - base_lots_closed
            - type
          properties:
            asset_id:
              type: integer
              format: int64
              minimum: 0
            base_lots_closed:
              type: integer
              format: int64
            type:
              type: string
              enum:
                - adl
        - type: object
          required:
            - asset_id
            - base_lots_transferred
            - virtual_quote_lots_transferred
            - haircut_rate
            - type
          properties:
            asset_id:
              type: integer
              format: int64
              minimum: 0
            base_lots_transferred:
              type: integer
              format: int64
            haircut_rate:
              type: integer
              format: int32
              minimum: 0
            type:
              type: string
              enum:
                - backstopLiquidation
            virtual_quote_lots_transferred:
              type: integer
              format: int64
        - type: object
          description: DB fallback for old rows. Never serialized to the API response.
          required:
            - type
          properties:
            type:
              type: string
              enum:
                - unknown
      description: >-
        Structured details for each notification type. Serialized to JSON for
        the

        `details` DB column and API response field.
  securitySchemes:
    PhoenixBearerAuth:
      type: http
      scheme: bearer
      description: Bearer access token issued by `/v1/auth/*` login endpoints.

````