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

# Batch quote data for multiple symbols (watchlist tray)

> Lightweight batch endpoint returning price, change, pulse, rvol,
and 5-min sparkline closes for up to 50 symbols in a single request.
Designed for <50ms response time.



## OpenAPI

````yaml /api/openapi.json post /api/graph/v1/stocks/batch
openapi: 3.1.0
info:
  title: Sequency Graph API
  description: >

    # Sequency Graph-Native Trading API


    Graph-native API for trading intelligence, built on FalkorDB.


    ## Features


    - **Screener**: Filter stocks using graph-native queries with relationship
    expansion

    - **Stock Detail**: Complete stock context with all relationships

    - **Confluence Scoring**: Setup quality assessment with weighted components

    - **Strategy Matching**: Find matching options strategies via graph
    traversal

    - **Market Context**: Current market-wide context for trading decisions


    ## Data Sources


    All data is sourced from the FalkorDB knowledge graph, populated by:

    - Pattern detector (Go) - Technical indicators, patterns

    - Graph sync service - Levels, volume profiles, news, day classification
  version: 1.0.0
servers: []
security: []
paths:
  /api/graph/v1/stocks/batch:
    post:
      tags:
        - Stocks
      summary: Batch quote data for multiple symbols (watchlist tray)
      description: |-
        Lightweight batch endpoint returning price, change, pulse, rvol,
        and 5-min sparkline closes for up to 50 symbols in a single request.
        Designed for <50ms response time.
      operationId: get_batch_quotes_api_graph_v1_stocks_batch_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchQuotesRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchQuotesResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    BatchQuotesRequest:
      properties:
        symbols:
          items:
            type: string
          type: array
          maxItems: 50
          title: Symbols
      type: object
      required:
        - symbols
      title: BatchQuotesRequest
    BatchQuotesResponse:
      properties:
        quotes:
          items:
            $ref: '#/components/schemas/BatchQuoteItem'
          type: array
          title: Quotes
        source:
          type: string
          title: Source
          default: realtime_sip
      type: object
      required:
        - quotes
      title: BatchQuotesResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    BatchQuoteItem:
      properties:
        symbol:
          type: string
          title: Symbol
        last_price:
          anyOf:
            - type: number
            - type: 'null'
          title: Last Price
        change_pct:
          anyOf:
            - type: number
            - type: 'null'
          title: Change Pct
        prev_close:
          anyOf:
            - type: number
            - type: 'null'
          title: Prev Close
        pulse_net:
          anyOf:
            - type: number
            - type: 'null'
          title: Pulse Net
        rvol:
          anyOf:
            - type: number
            - type: 'null'
          title: Rvol
        sparkline:
          items:
            type: number
          type: array
          title: Sparkline
        price:
          anyOf:
            - $ref: '#/components/schemas/SessionPriceData'
            - type: 'null'
      type: object
      required:
        - symbol
      title: BatchQuoteItem
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    SessionPriceData:
      properties:
        current:
          type: number
          title: Current
          description: Current/latest trade price
        change:
          anyOf:
            - type: number
            - type: 'null'
          title: Change
          description: Price change from the official previous close
        change_percent:
          anyOf:
            - type: number
            - type: 'null'
          title: Change Percent
          description: Percentage change from the official previous close
        previous_close:
          anyOf:
            - type: number
            - type: 'null'
          title: Previous Close
          description: Previous trading day's split-adjusted SIP daily-bar close
        market_status:
          type: string
          enum:
            - overnight
            - pre-market
            - open
            - after-hours
            - closed
          title: Market Status
          description: Current market session status
        official_close:
          anyOf:
            - type: number
            - type: 'null'
          title: Official Close
          description: Most recent completed session's split-adjusted SIP daily-bar close
        official_close_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Official Close Date
          description: Trading date associated with official_close
        close_source:
          anyOf:
            - type: string
              const: alpaca_sip_1day
            - type: 'null'
          title: Close Source
          description: >-
            Authority used for official close fields (split-adjusted); null
            means unavailable
        close_change:
          anyOf:
            - type: number
            - type: 'null'
          title: Close Change
          description: Day change of the most recent regular session close
        close_change_percent:
          anyOf:
            - type: number
            - type: 'null'
          title: Close Change Percent
          description: Day change percent of the most recent regular session close
        close_time:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Close Time
          description: Timestamp of the most recent regular session close
        overnight:
          anyOf:
            - $ref: '#/components/schemas/SessionOHLC'
            - type: 'null'
          description: Overnight session OHLC (8:00 PM prev day - 4:00 AM ET)
        pre_market:
          anyOf:
            - $ref: '#/components/schemas/SessionOHLC'
            - type: 'null'
          description: Pre-market session OHLC (4:00 AM - 9:30 AM ET)
        regular_session:
          anyOf:
            - $ref: '#/components/schemas/SessionOHLC'
            - type: 'null'
          description: Regular trading session OHLC (9:30 AM - 4:00 PM ET)
        after_hours:
          anyOf:
            - $ref: '#/components/schemas/SessionOHLC'
            - type: 'null'
          description: After-hours session OHLC (4:00 PM - 8:00 PM ET)
        has_extended_trades:
          type: boolean
          title: Has Extended Trades
          description: >-
            True if any trades occurred in the current extended session
            (pre-market or after-hours). False means current price is the stale
            close — UI should show 'No activity'.
          default: false
        bid:
          type: number
          title: Bid
          description: Current bid price
        ask:
          type: number
          title: Ask
          description: Current ask price
        bid_size:
          type: integer
          title: Bid Size
          description: Current bid size
        ask_size:
          type: integer
          title: Ask Size
          description: Current ask size
        last_update:
          type: string
          format: date-time
          title: Last Update
          description: Timestamp of last data update
      type: object
      required:
        - current
        - change
        - change_percent
        - previous_close
        - market_status
        - bid
        - ask
        - bid_size
        - ask_size
        - last_update
      title: SessionPriceData
      description: |-
        Complete session-specific price data.

        Contains current price, change metrics, and OHLC data for each
        market session (pre-market, regular hours, after-hours).
      example:
        ask: 195.52
        ask_size: 150
        bid: 195.48
        bid_size: 200
        change: 2.3
        change_percent: 1.19
        current: 195.5
        last_update: '2025-01-06T14:30:45Z'
        market_status: open
        pre_market:
          close: 194.6
          high: 194.8
          last: 194.65
          low: 193.25
          open: 193.5
        previous_close: 193.2
        regular_session:
          close: 195.48
          high: 196
          last: 195.5
          low: 194.5
          open: 194.7
    SessionOHLC:
      properties:
        open:
          type: number
          title: Open
          description: First trade price when session opened
        high:
          type: number
          title: High
          description: Highest price during session
        low:
          type: number
          title: Low
          description: Lowest price during session
        last:
          type: number
          title: Last
          description: Last trade price in session
        close:
          type: number
          title: Close
          description: Latest 1-min bar close in session
        last_time:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Time
          description: Timestamp of the last bar in this session
      type: object
      required:
        - open
        - high
        - low
        - last
        - close
      title: SessionOHLC
      description: OHLC data for a single market session.
      example:
        close: 195.75
        high: 196.2
        last: 195.8
        last_time: '2025-01-06T16:00:00Z'
        low: 194.25
        open: 194.5

````