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

# List disclosure changes

> Required scope: `monitoring:read`.



## OpenAPI

````yaml /openapi/explorer.json get /me/monitoring/changes
openapi: 3.0.0
info:
  title: Explorer API
  version: 0.0.1
  description: Key-callable routes of the Bluprynt Compliance Explorer registry API.
servers:
  - url: https://explorer-api.bluprynt.com
security:
  - apiKey: []
tags:
  - name: Disclosure monitoring
  - name: Tokenomics
paths:
  /me/monitoring/changes:
    get:
      tags:
        - Disclosure monitoring
      summary: List disclosure changes
      description: 'Required scope: `monitoring:read`.'
      operationId: Monitoring.changes
      parameters:
        - name: sort
          required: false
          in: query
          description: >-
            (BLU-4386) `impact` = weakens → mixed → strengthens → neutral →
            unassessed, then newest. Default `recent`.
          schema:
            enum:
              - recent
              - impact
            type: string
        - name: impactDimension
          required: false
          in: query
          description: >-
            (BLU-4386, SPEC-061) Applied before the page cap; ignored unless
            DISCLOSURE_CHANGE_IMPACT_ENABLED=1 and
            DISCLOSURE_CHANGE_IMPACT_SHOW_ENABLED=1. Comma-separated
            (participant_protection | disclosure_quality | regulatory_evidence |
            market_supply | holder_economics | market_access); changes with any
            of them.
          schema: {}
        - name: disposition
          required: false
          in: query
          description: >-
            (BLU-4386, SPEC-061) Applied before the page cap; ignored unless
            DISCLOSURE_CHANGE_IMPACT_ENABLED=1 and
            DISCLOSURE_CHANGE_IMPACT_SHOW_ENABLED=1. Comma-separated (shown |
            discovery | disagreement | review | audit).
          schema: {}
        - name: assessmentStatus
          required: false
          in: query
          description: >-
            (BLU-4386, SPEC-061) Applied before the page cap; ignored unless
            DISCLOSURE_CHANGE_IMPACT_ENABLED=1 and
            DISCLOSURE_CHANGE_IMPACT_SHOW_ENABLED=1. Comma-separated (assessed |
            undetermined | pending); `undetermined` includes never-assessed
            changes of every category.
          schema: {}
        - name: direction
          required: false
          in: query
          description: >-
            (BLU-4386, SPEC-061) Applied before the page cap; ignored unless
            DISCLOSURE_CHANGE_IMPACT_ENABLED=1 and
            DISCLOSURE_CHANGE_IMPACT_SHOW_ENABLED=1. Comma-separated (weakens |
            mixed | strengthens | neutral); only assessed disclosure-field
            changes match.
          schema: {}
        - name: showAll
          required: false
          in: query
          description: >-
            (BLU-4177) Also list low-signal document revisions — held versions
            that could not be compared even after recovery. Off by default.
          schema:
            enum:
              - 'true'
              - 'false'
            type: string
        - name: newOnly
          required: false
          in: query
          description: Only confirmed changes detected after the last seen mark.
          schema:
            enum:
              - 'true'
              - 'false'
            type: string
        - name: materiality
          required: false
          in: query
          description: Only disclosure-field changes with this materiality.
          schema:
            enum:
              - material
              - clarification
              - editorial
            type: string
        - name: item
          required: false
          in: query
          description: >-
            Comma-separated watchlist item ids (at most 25); every watched asset
            when omitted.
          schema: {}
        - name: category
          required: false
          in: query
          description: >-
            Comma-separated categories (disclosure_field | source_drift |
            register | sanctions | party_edge | collateral_isin); all when
            omitted.
          schema: {}
        - name: days
          required: false
          in: query
          description: Window in days (1–365, default 90).
          schema: {}
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitoringChangesDto'
        '400':
          description: >-
            Unknown category, materiality, impact filter or sort, bad item ids,
            or non-boolean newOnly / showAll.
        '401':
          description: Unknown or revoked key (`api_key_invalid`).
        '403':
          description: The key does not hold the required scope (`api_key_scope_missing`).
      security:
        - apiKey: []
components:
  schemas:
    MonitoringChangesDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/MonitoringChangeDto'
        since:
          type: string
          format: date-time
          description: Window start.
        seenAt:
          type: string
          nullable: true
          format: date-time
        truncated:
          type: boolean
          description: >-
            True when more changes matching the filters exist in the window than
            were returned.
      required:
        - items
        - since
        - seenAt
        - truncated
    MonitoringChangeDto:
      type: object
      properties:
        id:
          type: string
          description: Stable id (`<category>:<row id>`).
        category:
          type: string
          enum:
            - disclosure_field
            - source_drift
            - register
            - sanctions
            - party_edge
            - collateral_isin
        watchlistItemId:
          type: string
          format: uuid
        asset:
          $ref: '#/components/schemas/WatchedAssetDto'
        detectedAt:
          type: string
          format: date-time
        title:
          type: string
        detail:
          type: string
          nullable: true
        materiality:
          type: string
          nullable: true
          description: >-
            Disclosure-change materiality (`material` | `clarification` |
            `editorial` | `review`).
        sourceUrl:
          type: string
          nullable: true
          description: The source document the change was observed in.
        href:
          type: string
          nullable: true
          description: App-relative link to the evidence.
        isNew:
          type: boolean
          description: >-
            Confirmed and detected after the owner last marked the feed as seen.
            Drafts are never new.
        fieldGroup:
          type: string
          nullable: true
          description: Disclosure family / topic of the field, when a field change.
        changeKind:
          type: string
          nullable: true
          description: >-
            Disclosure change kind (`changed` | `added` | `removed` |
            `source_disagreement`); null for other categories.
        before:
          type: string
          nullable: true
          description: Value before the change, when the monitor holds one.
        after:
          type: string
          nullable: true
          description: Value after the change, when the monitor holds one.
        quote:
          type: string
          nullable: true
          description: Verbatim sentence from the new version.
        priorQuote:
          type: string
          nullable: true
          description: Verbatim sentence from the prior version.
        sourceHash:
          type: string
          nullable: true
          description: SHA-256 of the observation / document the change was read from.
        priorSourceUrl:
          type: string
          nullable: true
          description: Prior source document when it differs from `sourceUrl`.
        confirmed:
          type: boolean
          description: >-
            Confirmed: both versions are held and the change is classified.
            Unconfirmed entries are drafts/candidates — shown dashed, never
            notified as confirmed.
        lowSignal:
          type: boolean
          description: >-
            (BLU-4177) A document revision whose held versions could not be
            compared, even after recovery: not a notable change — never new,
            never notified, and only listed when `showAll=true`.
        impact:
          type: string
          description: >-
            (BLU-4156) One factual line on what this change bears on, derived
            from the field’s meaning and the classification — never a score.
        explanation:
          description: >-
            (BLU-4170) WHAT changed and WHY it matters — the same explanation
            the change detail shows, so list rows and the detail agree.
          allOf:
            - $ref: '#/components/schemas/ChangeExplanationDto'
        direction:
          type: string
          enum:
            - weakens
            - mixed
            - strengthens
            - neutral
          nullable: true
          description: >-
            (BLU-4386, SPEC-061) Evidenced direction — the same assessment the
            asset Changes tab shows; null = not assessed (undetermined), never
            neutral. Present only when DISCLOSURE_CHANGE_IMPACT_ENABLED=1.
        disposition:
          type: string
          enum:
            - shown
            - discovery
            - disagreement
            - review
            - audit
          nullable: true
          description: (BLU-4386) Lane of the change.
        impactAssessment:
          description: >-
            (BLU-4386) Current impact assessment. Non-field categories
            (register, sanctions, …) are never assessed and project as
            undetermined.
          allOf:
            - $ref: '#/components/schemas/ImpactAssessmentDto'
      required:
        - id
        - category
        - watchlistItemId
        - asset
        - detectedAt
        - title
        - detail
        - materiality
        - sourceUrl
        - href
        - isNew
        - fieldGroup
        - changeKind
        - before
        - after
        - quote
        - priorQuote
        - sourceHash
        - priorSourceUrl
        - confirmed
        - lowSignal
        - impact
        - explanation
    WatchedAssetDto:
      type: object
      properties:
        id:
          type: string
          nullable: true
          format: uuid
        name:
          type: string
          nullable: true
        symbol:
          type: string
          nullable: true
        issuerName:
          type: string
          nullable: true
        chain:
          type: string
          nullable: true
          description: CAIP-2 network id.
        chainId:
          type: number
        contractAddress:
          type: string
      required:
        - id
        - name
        - symbol
        - issuerName
        - chain
        - chainId
        - contractAddress
    ChangeExplanationDto:
      type: object
      properties:
        kind:
          type: string
          enum:
            - value_changed
            - newly_stated
            - no_longer_stated
            - sources_disagree
            - document_changed
            - register_status
            - named_party
            - sanctions_match
            - collateral_link
        headline:
          type: string
          description: 'One sentence: what changed.'
        what:
          type: string
          description: >-
            (BLU-4177) Short form of the headline — a few words naming what
            changed.
        whatDetail:
          type: string
          nullable: true
          description: >-
            (BLU-4177) One line of detail under `what`; null when the short form
            says it all.
        field:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/ChangeFieldMeaningDto'
        previous:
          $ref: '#/components/schemas/ChangeSideDto'
        current:
          $ref: '#/components/schemas/ChangeSideDto'
        whyItMatters:
          type: string
          description: >-
            Grounded rationale: the field’s stake plus how the change was
            classified.
        impact:
          type: string
          description: Short card line.
      required:
        - kind
        - headline
        - what
        - whatDetail
        - field
        - previous
        - current
        - whyItMatters
        - impact
    ImpactAssessmentDto:
      type: object
      properties:
        id:
          type: string
          nullable: true
          format: uuid
          description: History row id; null when never assessed.
        direction:
          type: string
          enum:
            - weakens
            - mixed
            - strengthens
            - neutral
          nullable: true
        status:
          type: string
          enum:
            - assessed
            - undetermined
            - pending
        disposition:
          type: string
          enum:
            - shown
            - discovery
            - disagreement
            - review
            - audit
          nullable: true
        dimensions:
          type: array
          items:
            $ref: '#/components/schemas/ImpactDimensionDto'
        reason:
          type: string
          nullable: true
          description: Machine reason code from the rules version.
        whatThisMeansForHolders:
          type: string
          nullable: true
          description: Plain-language consequence for holders.
        method:
          type: string
          enum:
            - deterministic
            - model
            - fallback
          nullable: true
        confidence:
          type: number
          nullable: true
        isFallback:
          type: boolean
        retryRequired:
          type: boolean
        rulesVersion:
          type: string
          nullable: true
          example: impact-v1
        evidence:
          nullable: true
          type: object
          allOf:
            - $ref: '#/components/schemas/ImpactEvidenceDto'
        inputFingerprint:
          type: string
          nullable: true
        groupId:
          type: string
          nullable: true
          format: uuid
          description: Logical group this change belongs to.
        childEventIds:
          description: Child event ids of a logical group (never cascade-deleted).
          type: array
          items:
            type: string
        assessedAt:
          type: string
          nullable: true
          format: date-time
      required:
        - id
        - direction
        - status
        - disposition
        - dimensions
        - reason
        - whatThisMeansForHolders
        - method
        - confidence
        - isFallback
        - retryRequired
        - rulesVersion
        - evidence
        - inputFingerprint
        - groupId
        - childEventIds
        - assessedAt
    ChangeFieldMeaningDto:
      type: object
      properties:
        name:
          type: string
          description: Field name (`disclosure_field.field_name`).
        label:
          type: string
        meaning:
          type: string
          description: What the field records, in one plain sentence.
        stake:
          type: string
          description: What depends on the field being right, in one plain sentence.
      required:
        - name
        - label
        - meaning
        - stake
    ChangeSideDto:
      type: object
      properties:
        label:
          type: string
          description: >-
            Reader label (“Previous value”, “Source relied on · tether.to”,
            “Current version”).
        value:
          type: string
          nullable: true
          description: What this side states; null when it does not exist or is not held.
        note:
          type: string
          nullable: true
          description: >-
            Plain reason when `value` is null (e.g. no earlier value recorded),
            or a qualifier; null otherwise.
      required:
        - label
        - value
        - note
    ImpactDimensionDto:
      type: object
      properties:
        kind:
          type: string
          enum:
            - participant_protection
            - disclosure_quality
            - regulatory_evidence
            - market_supply
            - holder_economics
            - market_access
        direction:
          type: string
          enum:
            - weakens
            - mixed
            - strengthens
            - neutral
      required:
        - kind
        - direction
    ImpactEvidenceDto:
      type: object
      properties:
        old:
          $ref: '#/components/schemas/ImpactEvidenceSideDto'
        new:
          $ref: '#/components/schemas/ImpactEvidenceSideDto'
      required:
        - old
        - new
    ImpactEvidenceSideDto:
      type: object
      properties:
        quote:
          type: string
          nullable: true
          description: >-
            Verbatim quote from the held source version; null when unresolved
            (e.g. first observation).
        artifactId:
          type: string
          nullable: true
          description: Source URL (artifact id) of the held version; null when unresolved.
        observationSha256:
          type: string
          nullable: true
          description: SHA-256 of the held observation, when recorded.
      required:
        - quote
        - artifactId
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      bearerFormat: bx_live_…
      description: >-
        Exchange API key issued by Bluprynt, sent as `Authorization: Bearer
        bx_live_<key>`.

````

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