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

# List changes

> Follow incremental changes to markets, native mappings, families, scenario versions and coverage. Without cursor, start at the current point; persist next_cursor and pass it on the next poll. Optional family_ids and resource_types scope the feed.

Each record identifies the changed resource, version, change type and occurrence time. Refresh affected reference data and explicitly revalidate cached results when settlement or mapping versions change. The feed is reference metadata rather than price ticks or account fills. Expired cursors fail explicitly and require a new snapshot; changing feed filters also requires a new cursor scope.

See the [integration guide](/guides/coverage-versioning) for the workflow and interpretation of this response.


## OpenAPI

````yaml GET /changes
openapi: 3.1.0
info:
  title: Rook API
  version: 0.1.0-design
  description: Markets, settlement relationships, scenarios, payouts and market data.
servers:
  - url: https://api.rook.pm/v1
    description: Proposed API origin; not an assertion these operations are callable.
security:
  - ApiKeyBearer: []
tags:
  - name: Reference data
    description: Events, unified markets and native-ID resolution.
  - name: Families and scenarios
    description: Family scope and versioned scenario columns.
  - name: Relationships and Combos
    description: Related-market discovery, selected-set inference and Combo interpretation.
  - name: Payouts and exposure
    description: Scoped per-unit payouts and stateless portfolio/candidate calculations.
  - name: Market data
    description: Current prices, history, L2 books, prints, statistics and published fees.
  - name: Fair values
    description: Future private customer estimates; not Rook forecasts.
  - name: Coverage and updates
    description: Supported capabilities and incremental semantic changes.
paths:
  /changes:
    get:
      tags:
        - Coverage and updates
      summary: List changes
      description: >-
        Follow incremental changes to markets, native mappings, families,
        scenario versions and coverage. Without cursor, start at the current
        point; persist next_cursor and pass it on the next poll. Optional
        family_ids and resource_types scope the feed.


        Each record identifies the changed resource, version, change type and
        occurrence time. Refresh affected reference data and explicitly
        revalidate cached results when settlement or mapping versions change.
        The feed is reference metadata rather than price ticks or account fills.
        Expired cursors fail explicitly and require a new snapshot; changing
        feed filters also requires a new cursor scope.
      operationId: listChanges
      parameters:
        - name: cursor
          in: query
          required: false
          description: >-
            Continuation cursor from the previous change-feed response. Omit to
            start at the current point; keep filters unchanged on subsequent
            polls.
          schema:
            type: string
        - name: resource_types
          in: query
          required: false
          description: >-
            Reference resource types to follow. These filter semantic/catalog
            changes, not prices or private fills.
          schema:
            type: array
            items:
              type: string
              enum:
                - CONTRACT
                - MAPPING
                - FAMILY
                - SCENARIO_VERSION
                - COVERAGE
          style: form
          explode: true
          example:
            - SCENARIO_VERSION
        - name: family_ids
          in: query
          required: false
          description: >-
            Rook family memberships for this resource, or family IDs to scope a
            change feed. Preserve all returned memberships.
          schema:
            type: array
            items:
              type: string
              description: Opaque text identifier. Preserve its exact value.
              minLength: 1
            minItems: 1
          style: form
          explode: true
          example:
            - fam_fed_dec_2026
        - name: page_size
          in: query
          required: false
          description: >-
            Maximum change records per page; continue with next_cursor when
            has_more is true.
          schema:
            type: integer
            minimum: 1
            default: 50
        - name: X-Client-Request-Id
          in: header
          required: false
          schema:
            type: string
          description: Caller correlation reference; not an idempotency guarantee.
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListChangesResponse'
              example:
                items:
                  - change_id: chg_rates_scenarios_v1
                    resource_type: SCENARIO_VERSION
                    resource_id: fam_fed_dec_2026
                    change_type: CREATED
                    version: '1'
                    occurred_at: '2026-10-19T11:30:00Z'
                    description: >-
                      Published cut, hold and hike scenarios for the December
                      2026 Fed decision.
                next_cursor: cursor_rates_20261019_120000
                has_more: false
                as_of: '2026-10-19T12:00:00Z'
          headers:
            X-Request-Id:
              description: Server request trace ID.
              schema:
                type: string
                description: Opaque text identifier. Preserve its exact value.
                minLength: 1
components:
  schemas:
    ListChangesResponse:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Change'
        next_cursor:
          type: string
          description: Opaque text identifier. Preserve its exact value.
          minLength: 1
        has_more:
          type: boolean
        as_of:
          type: string
          format: date-time
      required:
        - items
        - next_cursor
        - has_more
        - as_of
      additionalProperties: true
    Change:
      type: object
      properties:
        change_id:
          type: string
          description: Opaque text identifier. Preserve its exact value.
          minLength: 1
        resource_type:
          type: string
          enum:
            - CONTRACT
            - MAPPING
            - FAMILY
            - SCENARIO_VERSION
            - COVERAGE
        resource_id:
          type: string
          description: Opaque text identifier. Preserve its exact value.
          minLength: 1
        change_type:
          type: string
          enum:
            - CREATED
            - UPDATED
            - SUPERSEDED
            - REVOKED
        version:
          anyOf:
            - type: string
              description: Opaque text identifier. Preserve its exact value.
              minLength: 1
            - type: 'null'
        occurred_at:
          type: string
          format: date-time
        description:
          type: string
      required:
        - change_id
        - resource_type
        - resource_id
        - change_type
        - occurred_at
      additionalProperties: true
  securitySchemes:
    ApiKeyBearer:
      type: http
      scheme: bearer
      description: >-
        Proposed server-to-server API key. No client request HMAC signing scheme
        is specified.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.