---
title: "Read currently authorized Match decisions"
method: GET
path: "/v1/finds/{id}/decisions"
---

# Read currently authorized Match decisions

`GET /v1/finds/{id}/decisions`

## Request

- Base URL: `https://api.specstream.ai`
- URL: `https://api.specstream.ai/v1/finds/{id}/decisions`
- Auth: API key in header `Authorization`

## Path parameters

- `id` string, required

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

Match decisions

- object
  - `data` DecisionPage, required
    - `execution_manifest` ExecutionManifest
      - `version` 'evidence-bound.v1'
      - `policy_hash` string, required
      - `decision_root` string, required
      - `plan_version` string, required
      - `ast_hash` string, required
      - `registry_version` string, required
      - `decision_count` integer, required
      - `stages` object, required
      - `semantic_judgments` integer, required
      - `unavailable_judgments` integer, required
      - `qualified_matches` integer, required
      - `unknown_never_promoted` boolean, required
      - `replay_verified` boolean, required
      - `replay_scope` string, required
      - `live_sources_can_change` boolean, required
      - `sealed` boolean, required
    - `find_id` string, required
    - `decisions` MatchDecision[], required
      - `decision_hash` string, nullable
      - `entity_id` string, required
      - `predicates` PredicateEvidence[], required
        - `field_id` string, required
        - `op` 'count_matches' | 'contains' | 'not_contains' | 'has_any' | 'has_all' | 'has_none' | 'before' | 'after' | 'on_or_before' | 'on_or_after' | 'gt' | 'lt' | 'ne' | 'not_in' | 'gte' | 'lte' | 'eq' | 'exists' | 'class_in' | 'in', required
        - `required_value` unknown, required
        - `observed_value` unknown, required
        - `passed` boolean, required
        - `source_label` string, required
        - `source_url` string, nullable, required
        - `observed_at` string, date-time, required
        - `null_reason` 'not_published' | 'blocked_at_source' | 'challenge_page' | 'unreadable' | 'timeout' | 'join_ambiguous' | 'predicate_unknown' | 'internal_failure'
        - `source_ref` PredicateSourceRef: Pointer to a concrete fetch and native record, never a generated group source.
          - `observation_id` string, required
          - `request_hash` string, required
          - `native_record_id` string, nullable
          - `pointer` string, nullable
          - `response_sha256` string, nullable
          - `source_time` EvidenceTime
            - `contract` 'source-time.v1'
            - `state` 'historical_capture'
            - `captured_at` string, date-time, required
            - `retrieved_at` string, date-time, required
            - `original_url` string, nullable
            - `archive` 'commoncrawl' | 'wayback' | 'arquivo', required
        - `record_proof` union
          - RecordCountProof
            - `spec_version` 'record_count_proof.v1'
            - `scope` 'published_source_records'
            - `collection_complete` boolean, required
            - `members_seen` integer, required
            - `lower_bound` integer, required
            - `upper_bound` integer, nullable
            - `matching_pointers` string[], required
            - `unresolved_pointers` string[], required
            - `witnesses` RecordWitness[], required
              - …
            - `witnesses_complete` boolean, required
          - unknown
      - `match_proof` LogicalProof: A proof references evidence, never a fabricated observation for a group. True ANY requires a witnessed branch, true NOT a witnessed false child. Missing evidence stays unknown under every negation. Record-level validation additionally binds each leaf truth to its actual PredicateEvidence entry.
        - `op` 'predicate' | 'all' | 'any' | 'not', required
        - `truth` 'true' | 'false' | 'unknown', required
        - `predicate_index` integer, nullable
        - `children` unknown[]
          - unknown
      - `billable` boolean, required
      - `locked` boolean, required
    - `next_cursor` string, nullable

## Other responses

- `default`: Error envelope

---

[API](https://skmtc.dev/specstream/apis/specstream-api.md) · [All operations](https://skmtc.dev/specstream/apis/specstream-api/llms.txt) · [OpenAPI document](https://skmtc.dev/specstream/apis/specstream-api/revisions/5a9f51143a13?raw)
