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

# Get score snapshots



## OpenAPI

````yaml openapi/api-gateway.json GET /mmlp/v2/{symbol}/score-snapshots
openapi: 3.1.0
info:
  title: ax-api-gateway
  description: ''
  license:
    name: ''
  version: 16.3.0
servers:
  - url: https://gateway.architect.exchange/api
security: []
tags:
  - name: api-gateway
    description: API gateway
paths:
  /mmlp/v2/{symbol}/score-snapshots:
    get:
      tags:
        - mmlp
      operationId: get_score_snapshots
      parameters:
        - name: symbol
          in: path
          description: Instrument symbol
          required: true
          schema:
            type: string
        - name: account_id
          in: query
          description: The trading account to read. Omit for the caller's default account.
          required: false
          schema:
            type:
              - string
              - 'null'
        - name: cursor
          in: query
          description: |-
            Resume token from a previous page's `next_cursor`: return minutes
            older than the last one returned. Keyset, so a minute sampled while
            paging cannot shift a later page.
          required: false
          schema:
            type:
              - integer
              - 'null'
            format: int32
            minimum: 0
        - name: epoch
          in: query
          description: |-
            The `epoch_start_ts` of the epoch to read, as returned in `epochs`.
            An epoch that never ran is a 404. Omit to read the symbol's most
            recent sampled epoch, or the running one if it has never sampled.
          required: false
          schema:
            type:
              - string
              - 'null'
            format: date-time
        - name: limit
          in: query
          description: |-
            How many of the epoch's most recent sampled minutes to return; they
            come back oldest first. Defaults to 240, and is clamped to at least
            1 and at most one full epoch rather than rejected.
          required: false
          schema:
            type:
              - integer
              - 'null'
            format: int32
            minimum: 0
      responses:
        '200':
          description: >-
            The caller's per-minute scores for one epoch, plus their recent
            epochs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMmlpV2ScoreSnapshotsResponse'
        '404':
          description: >-
            No liquidity program exists for the symbol, or the named epoch never
            ran
      security:
        - session_token: []
components:
  schemas:
    GetMmlpV2ScoreSnapshotsResponse:
      type: object
      required:
        - summary
        - snapshots
      properties:
        next_cursor:
          type:
            - integer
            - 'null'
          format: int32
          description: Pass as `cursor` for the next, older page. `null` on the last page.
          minimum: 0
        snapshots:
          type: array
          items:
            $ref: '#/components/schemas/MmlpV2ScoreSnapshot'
          description: One page of the selected epoch's minutes, oldest first.
        summary:
          $ref: '#/components/schemas/MmlpV2ScoreSnapshotSummary'
    MmlpV2ScoreSnapshot:
      type: object
      description: |-
        One sampled minute of an epoch, scoped to the caller: their score for
        that minute and their share of every maker's. `qualified` is whether
        their quotes scored at all in that minute.

        The band and size columns report the program thresholds a scoring quote
        had to clear (`v_bps`, `q_min`), not the distance and size of the quote
        itself — only the resulting score is retained, not the book behind it.
      required:
        - snapshot_minute
        - snapshot_ts
        - account_score
        - normalized_share
        - bonus_multiplier
        - qualifying_size
        - qualified
      properties:
        account_score:
          type: string
        ask_distance_bps:
          type:
            - string
            - 'null'
        bid_distance_bps:
          type:
            - string
            - 'null'
          description: The program's `v_bps` on a qualifying minute, `null` otherwise.
        bonus_multiplier:
          type: string
        normalized_share:
          type: string
          description: |-
            The caller's share of every maker's score in this minute, in
            `[0, 1]`. Rewards are paid on this share, averaged across the
            epoch's scored minutes.
        qualified:
          type: boolean
        qualifying_size:
          type: string
          description: The program's `q_min` on a qualifying minute, else zero.
        snapshot_minute:
          type: integer
          format: int32
          description: Minute offset from `epoch_start_ts`.
          minimum: 0
        snapshot_ts:
          type: string
          format: date-time
    MmlpV2ScoreSnapshotSummary:
      type: object
      description: |-
        The selected epoch rolled up for the caller, over the whole epoch — not
        only the minutes returned in `snapshots`.
      required:
        - symbol
        - epoch_start_ts
        - epoch_end_ts
        - v_bps
        - q_min
        - pool_usd
        - account_score_total
        - account_share
        - projected_accrual_usd
      properties:
        account_score_total:
          type: string
        account_share:
          type: string
          description: >-
            Your share of the instrument's reward pool this epoch, in `[0, 1]`:
            a

            bonus-weighted average of your share of all makers' scores over its

            scored minutes.
        epoch_end_ts:
          type: string
          format: date-time
        epoch_start_ts:
          type: string
          format: date-time
        pool_usd:
          type: string
        projected_accrual_usd:
          type: string
          description: |-
            What the epoch pays the caller at its current standing: the full
            daily pool, capped, gated on the minimum payout and floored to the
            cent. A projection while the epoch is still running, not an accrued
            amount — it moves as rivals quote, not as the day fills up.
        q_min:
          type: string
        symbol:
          type: string
        v_bps:
          type: string
  securitySchemes:
    session_token:
      type: http
      scheme: bearer
      description: User session token

````