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

# List notifications

> List notifications for the authenticated user, newest first, with unread/acknowledged filtering and pagination. The response includes the total and unread counts.



## OpenAPI

````yaml /v2/buyer-api-v2.yaml get /notifications
openapi: 3.0.0
info:
  title: Scope3 Buyer API
  version: 2.0.0
  description: |-
    REST API for advertisers to manage advertisers, campaigns, and reporting.

    ## Authentication

    All endpoints require a Bearer token in the Authorization header:
    ```
    Authorization: Bearer your-api-key
    ```

    ## Base URL

    `https://api.interchange.io/api/v2/buyer`

    ## For AI Agents

    AI agents can use the MCP endpoint at `/mcp/v2/buyer` with three tools:
    - `initialize`: Start an MCP session
    - `api_call`: Make REST API calls
    - `ask_about_capability`: Learn about API features
servers:
  - url: https://api.interchange.io/api/v2/buyer
    description: Production server
security: []
tags:
  - name: Account
    description: Account management, service tokens, and preferences
  - name: Advertisers
    description: Manage advertisers
  - name: Product Discovery
    description: Discover and select products
  - name: Campaigns
    description: Manage advertising campaigns
  - name: Creatives
    description: Build, manage, and sync campaign creatives via AdCP Creative Protocol
  - name: Reporting
    description: Access performance metrics
  - name: Event Sources
    description: >-
      Manage event source configurations and log conversion/marketing events for
      attribution
  - name: Property Lists
    description: Validate property lists against AAO registry
  - name: Sales Agents
    description: View and connect sales agents
  - name: Measurement
    description: Measurement sources, records, context, and freshness
  - name: Syndication
    description: Syndicate resources to ADCP agents
  - name: Tasks
    description: Track async operation status
  - name: Planning Briefs
    description: >-
      Share prospective briefs with publishers and collect their
      fit/quote/clarify/decline/book responses (gated by the
      demand-supply-signals flag).
  - name: Buyer Billing
    description: >-
      Consolidated invoicing for buyers — invoices and pending invoice items
      issued by Scope3 across the buyer customer.
  - name: MCP
    description: Model Context Protocol endpoints for AI agents
paths:
  /notifications:
    get:
      tags:
        - Notifications
      summary: List notifications
      description: >-
        List notifications for the authenticated user, newest first, with
        unread/acknowledged filtering and pagination. The response includes the
        total and unread counts.
      operationId: listNotifications
      parameters:
        - in: query
          name: brandAgentId
          schema:
            type: number
        - in: query
          name: campaignId
          schema:
            type: string
        - in: query
          name: creativeId
          schema:
            type: string
        - in: query
          name: status
          schema:
            type: string
            enum:
              - success
              - error
              - warning
              - info
        - in: query
          name: types
          schema:
            type: string
        - in: query
          name: unreadOnly
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - in: query
          name: limit
          schema:
            type: number
            minimum: 1
            maximum: 100
        - in: query
          name: offset
          schema:
            type: number
            minimum: 0
      responses:
        '200':
          description: List notifications
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationListResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    NotificationListResponse:
      description: Paginated list of notification summaries
      type: object
      properties:
        notifications:
          description: >-
            Notifications projected to the summary shape. Use the notification
            detail endpoint for the full `data` payload.
          type: array
          items:
            $ref: '#/components/schemas/NotificationSummary'
        totalCount:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        unreadCount:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        hasMore:
          type: boolean
      required:
        - notifications
        - totalCount
        - unreadCount
        - hasMore
      additionalProperties: false
    ErrorResponse:
      description: Standard error response
      type: object
      properties:
        data:
          type: string
          nullable: true
          enum:
            - null
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - data
        - error
      additionalProperties: false
    NotificationSummary:
      description: >-
        Compact notification view returned by list endpoints. Use the
        notification detail endpoint for the full `data` payload.
      type: object
      properties:
        id:
          description: Unique identifier for the notification
          type: string
        type:
          description: Notification event type
          type: string
          enum:
            - brand_agent.created
            - brand_agent.updated
            - brand_agent.deleted
            - campaign.healthy
            - campaign.unhealthy
            - campaign.created
            - campaign.updated
            - campaign.deleted
            - campaign.completed
            - creative.approved
            - creative.rejected
            - creative.changes_requested
            - creative.sync_started
            - creative.sync_completed
            - creative.sync_failed
            - creative.created
            - creative.updated
            - creative.deleted
            - strategy.created
            - strategy.updated
            - strategy.deleted
            - media_buy.created
            - media_buy.updated
            - media_buy.deleted
            - media_buy.forward_failed
            - media_buy.awaiting_source_moderation
            - media_buy.source_rejected
            - media_buy.stuck
            - media_buy_update_proposal.approved
            - media_buy_update_proposal.rejected
            - media_buy_update_proposal.expired
            - salesagent.available
            - salesagent.unavailable
            - salesagent.registered
            - salesagent.unregistered
            - salesagent.updated
            - salesagent.sync_action_required
            - signalsagent.registered
            - signalsagent.unregistered
            - signalsagent.updated
            - signalsagent.signal_activated
            - signalsagent.signals_fetched
            - outcomesagent.registered
            - outcomesagent.unregistered
            - outcomesagent.updated
            - syndication.completed
            - syndication.failed
            - audience.synced
            - audience.sync_failed
            - optimization.suggestion_received
            - optimization.suggestion_approved
            - optimization.suggestion_rejected
            - optimization.suggestion_applied
            - optimization.suggestion_failed
            - system.warning
            - system.error
            - learning_cycle.completed
            - learning_cycle.failed
            - hypothesis.status_changed
            - hypothesis.review_requested
            - hypothesis.proven
            - hypothesis.disproven
            - measurement.received
            - measurement.stale
            - opportunity.evaluated
            - opportunity.recommended
            - opportunity.flagged
            - opportunity.explore
            - storefront.composition_paused
            - storefront.products_not_traffickable
            - storefront_adapter_credential.action_required
            - storefront_adapter_connection.mapping_required
            - inventory_source.unhealthy
            - inventory_source.recovered
            - source.action_required
            - source.action_resolved
            - storefront.supply_nudge
            - media_buy.approval_requested
            - creative.review_requested
            - ad_server.approval_requested
            - inventory_shortfall.review_requested
            - storefront.media_buy_forward_failed
            - storefront.media_buy_moderation_aging
            - murph_room.mentioned
        status:
          description: Notification status
          type: string
          enum:
            - success
            - error
            - warning
            - info
        read:
          description: Whether the buyer has marked this read
          type: boolean
        acknowledged:
          description: Whether the notification has been acknowledged
          type: boolean
        messagePreview:
          description: >-
            Truncated notification message (max 200 chars). Null when the
            notification has no message string. Replaces the full passthrough
            `data` payload on summary rows.
          nullable: true
          type: string
        actionUrl:
          description: >-
            App-relative URL to open when the notification is selected. Null
            when the notification has no safe action URL.
          nullable: true
          type: string
        createdAt:
          description: When the notification was created (ISO 8601)
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
      required:
        - id
        - type
        - status
        - read
        - acknowledged
        - messagePreview
        - actionUrl
        - createdAt
      additionalProperties: false
    ApiError:
      description: Structured error object
      type: object
      properties:
        code:
          description: Machine-readable error code
          type: string
        message:
          description: Human-readable error message
          type: string
        field:
          description: Field path associated with the error
          type: string
        details:
          description: Additional error context
          type: object
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key or access token

````