Exchange Notifications

Overview

Exchange Notifications returns paginated trade-halt, IPO, regulatory-event, and circuit-breaker notification records over a session or custom time window.

POST/v1/equities/tool/exchange-notifications
curl -X POST https://api.quantdata.us/v1/equities/tool/exchange-notifications \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "sessionDate": "2026-05-13",
    "filter": { "tickers": ["AAPL", "TSLA"] }
  }'

Selecting the time window

The endpoint accepts sessionDate, timeRange, or neither. The two are mutually exclusive; if both are omitted, the most recent trading session is used. snapshotTime and aggregationPeriod are not accepted on this endpoint.

Pagination and sort

Exchange Notifications uses cursor pagination. size sets the page size (default 50, range 1-100). sortpicks the order; when omitted, results return in the API's default order. Pass the previous response's nextSearchAfter back as searchAfter to get the next page. See Pagination for the full walk-through.

Subsequent page · cursor + explicit sort

Request · size + sort + searchAfter
{
  "sessionDate": "2026-05-13",
  "filter": { "tickers": ["AAPL"] },
  "size": 50,
  "sort": { "field": "createdTime", "direction": "DESCENDING" },
  "searchAfter": ["1747137612000", "9c2a4f08"]
}

sort.field accepts any filterable field on the row; direction is ASCENDING or DESCENDING. When the result set is empty or the final page has been served, nextSearchAfter is omitted from the response.

Projection

includes is a whitelist of fields to keep on each row; excludes is a blacklist. The two are mutually exclusive. Omitted fields are dropped from the JSON entirely. See Projection for the full contract.

Projectable fields: CREATED_TIME, ID, TICKER, TYPE.

Includes · keep just the columns you need

Request · includes
{
  "sessionDate": "2026-05-13",
  "filter": { "tickers": ["AAPL"] },
  "includes": ["TICKER", "TYPE", "CREATED_TIME"]
}

Response shape

data is an ordered array of notification rows. nextSearchAfter is the cursor for the next page (or omitted when none).

200 OK · application/json
{
  "data": [
    {
      "id": "9c2a4f08",
      "ticker": "AAPL",
      "type": "LUDP",
      "createdTime": 1747137612000
    },
    {
      "id": "1b8e3d22",
      "ticker": "TSLA",
      "type": "H10",
      "createdTime": 1747137042000
    }
  ],
  "nextSearchAfter": ["1747137042000", "1b8e3d22"]
}

Per-row fields (every field is nullable when trimmed by projection):

  • id (string): the unique notification id. Not filterable; projectable.
  • ticker (string): the affected symbol.
  • type (string, ExchangeNotificationTypeModel): the notification category. Common values include H10 (SEC trading suspension), IPO1 (IPO not yet trading), and LUDP (volatility trading pause). The full type catalog lives in ExchangeNotificationTypeModel.
  • createdTime (epoch-millisecond Long): when the notification was published.

The endpoint throws ValidationFailure when the request is malformed.

Filters

Convenience filter fields are kept minimal because the row shape is small. All are optional and inside filter.

  • tickers: list of ticker symbols, OR-combined.
  • types: one or more notification-type values, OR-combined. All 36 allowed values are listed below.

The filterExpression DSL is also accepted and can be combined with filter; both are evaluated as AND. filterExpression works over CREATED_TIME, TICKER, and TYPE.

Type filter · halts and volatility pauses inside a time window

Request · timeRange + types
{
  "timeRange": {
    "startTime": "2026-05-13T13:30:00Z",
    "endTime": "2026-05-13T20:00:00Z"
  },
  "filter": {
    "types": ["H10", "LUDP"]
  }
}

Exchange Notification List

Exchange Notification List36 values

The values typesaccepts. Codes follow the Nasdaq / SIP / OPRA notification taxonomy; the description column carries each code's upstream meaning.

  • C3

    Issuer news not forthcoming; quotations and trading to resume.

  • C4

    Qualifications halt ended; maintenance requirements met; trading resumes.

  • C9

    Qualifications halt concluded; filings met; quotations and trades resume.

  • C11

    Trade halt concluded by other regulatory authority; quotations and trades resume.

  • D

    Security deletion from Nasdaq / CQS.

  • IPO1

    IPO issue not yet trading.

  • IPOQ

    IPO security released for quotation.

  • IPOE

    IPO security positioning window extension.

  • H4

    Non-compliance.

  • H9

    Not current.

  • H10

    SEC trading suspension.

  • H11

    Regulatory concern.

  • LUDP

    Volatility trading pause.

  • LUDS

    Volatility trading pause, straddle condition.

  • M

    Volatility trading pause.

  • M1

    Corporate action.

  • M2

    Quotation not available.

  • MWC0

    Market-wide circuit breaker halt: carry over from previous day.

  • MWC1

    Market-wide circuit breaker halt: level 1.

  • MWC2

    Market-wide circuit breaker halt: level 2.

  • MWC3

    Market-wide circuit breaker halt: level 3.

  • MWCQ

    Market-wide circuit breaker resumption.

  • O1

    Operations halt; contact market operations.

  • R1

    New issue available.

  • R2

    Issue available.

  • R4

    Qualifications issues reviewed or resolved; quotations and trading to resume.

  • R9

    Filing requirements satisfied or resolved; quotations and trading to resume.

  • REG_SHO

    Regulation SHO.

  • T1

    News pending.

  • T2

    News released.

  • T3

    News and resumption times.

  • T5

    Single-stock trading pause in effect.

  • T6

    Extraordinary market activity.

  • T7

    Single-stock trading pause / quotation-only period.

  • T8

    Exchange-traded fund (ETF).

  • T12

    Additional information requested by Nasdaq.

See Field Reference for the type and allowed values of every filterable field, and Filter Expression for the full DSL grammar.

Where to go next