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

# Dealer Heatmap expiration Top-node 5-minute history (three NYSE sessions, newest first)



## OpenAPI

````yaml https://api.yehangshe.com/v1/openapi.json get /v1/derived/heatmap/{ticker}/history
openapi: 3.1.0
info:
  title: GEX Heatmap Data API
  version: 0.4.0-operation-ids
  description: >-
    Dealer MVP scope. 数据集端点 paths 由 dataset registry 派生；Dealer GEX / Heatmap
    数据集随 P2 注册后自动出现。
servers:
  - url: https://api.yehangshe.com
    description: production
security: []
paths:
  /v1/derived/heatmap/{ticker}/history:
    get:
      summary: >-
        Dealer Heatmap expiration Top-node 5-minute history (three NYSE
        sessions, newest first)
      operationId: derived.dealer_heatmap_history
      parameters:
        - name: ticker
          in: path
          required: true
          schema:
            type: string
            pattern: ^[A-Z]{1,5}$
        - name: expiration
          in: query
          required: true
          schema:
            oneOf:
              - type: string
                format: date
              - type: string
                format: date-time
        - name: from
          in: query
          required: false
          schema:
            oneOf:
              - type: string
                format: date
              - type: string
                format: date-time
        - name: to
          in: query
          required: false
          schema:
            oneOf:
              - type: string
                format: date
              - type: string
                format: date-time
        - name: limit
          in: query
          required: false
          schema:
            type: integer
        - name: cursor
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: list payload with next_cursor
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - data
                  - _meta
                properties:
                  data:
                    type: array
                    maxItems: 24
                    items:
                      type: object
                      additionalProperties: false
                      required:
                        - minute_at
                        - expiration
                        - spot_usd
                        - cells
                      properties:
                        minute_at:
                          type: string
                          format: date-time
                        expiration:
                          type: string
                          format: date
                        spot_usd:
                          type:
                            - number
                            - 'null'
                        cells:
                          type: array
                          maxItems: 20
                          description: >-
                            At most ten strongest positive and ten strongest
                            negative net GEX nodes.
                          items:
                            type: object
                            additionalProperties: false
                            required:
                              - strike_usd
                              - net_dealer_gex_usd
                            properties:
                              strike_usd:
                                type: number
                              net_dealer_gex_usd:
                                type: number
                  _meta:
                    $ref: '#/components/schemas/ResponseMetaList'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '402':
          $ref: '#/components/responses/SubscriptionPaused'
        '403':
          $ref: '#/components/responses/ScopeInsufficient'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
        - bearerAuth: []
components:
  schemas:
    ResponseMetaList:
      type: object
      additionalProperties: false
      required:
        - request_id
        - cache_hit
        - data_freshness_seconds
        - truncated
        - next_cursor
      properties:
        request_id:
          type:
            - string
            - 'null'
        cache_hit:
          type: boolean
        data_freshness_seconds:
          type:
            - integer
            - 'null'
          minimum: 0
        truncated:
          const: false
        notice:
          type: string
        rate_limit_remaining:
          type: integer
          minimum: 0
        quota_remaining_pct:
          type: number
          minimum: 0
          maximum: 100
        data_source:
          type: string
          enum:
            - internal
        next_cursor:
          type:
            - string
            - 'null'
    ErrorEnvelope:
      type: object
      additionalProperties: false
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - tags
            - message
            - docs_url
            - request_id
          properties:
            code:
              type: string
            tags:
              type: array
              items:
                type: string
            message:
              type: string
            docs_url:
              type: string
              format: uri
            request_id:
              type:
                - string
                - 'null'
            hint:
              type: string
  responses:
    ValidationError:
      description: validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    AuthenticationError:
      description: authentication error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    SubscriptionPaused:
      description: subscription paused
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    ScopeInsufficient:
      description: scope insufficient
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    RateLimited:
      description: rate limited or quota exhausted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key

````