---
title: "Verify a Decision Dossier — no account required"
method: GET
path: "/v1/public/decision-dossiers/{dossier_id}/verify"
---

# Verify a Decision Dossier — no account required

`GET /v1/public/decision-dossiers/{dossier_id}/verify`

## Request

- Base URL: `https://api.decionis.com`
- URL: `https://api.decionis.com/v1/public/decision-dossiers/{dossier_id}/verify`
- Auth: none required

Runs the real Ed25519 verification against the published public JWKS —
the same check anyone can reproduce offline with @decionis/verify —
and returns a share-safe, masked projection of the dossier. The ?sig
capability comes from a dossier's verification envelope and only gates
access (it keeps dossier ids from being enumerated); the signatures
prove authenticity. Every capability failure collapses to the same
404 — no oracle about which check failed.

## Path parameters

- `dossier_id` string, uuid, required

## Query parameters

- `sig` string, required
- `exp` string

## Response `200`

Verification result with a masked public dossier projection

- PublicDossierVerificationResponse
  - `service` string, required
  - `verified` boolean, required: Compatibility result. Protocol 1.0 artifacts retain their original share-link verification semantics. When an Ed25519 proof bundle is present this equals its cryptographic signature result. This field is not an execution-eligibility statement.
  - `cryptographically_verified` boolean, required: True only when every listed proof artifact verified against the published Ed25519 JWKS. This does not by itself establish execution eligibility.
  - `execution_eligible` boolean, required: True only for a cryptographically valid Protocol 1.1 authoritative ALLOW whose required execution-authority artifacts and semantic commitments are proof-covered.
  - `execution_authority` object, required
    - `protocol_version` string, nullable, required: Signed protocol declaration when present. Historical, future, or otherwise unsupported values are echoed for diagnosis but never promoted to Protocol 1.1 execution eligibility.
    - `required_artifact_coverage_verified` boolean, required
    - `authority_classification` 'AUTHORITATIVE' | 'OBSERVATIONAL', required: Authority possessed by an artifact, independent of its verdict. Only AUTHORITATIVE artifacts may become execution-eligible.
    - `execution_eligible` boolean, required
  - `generated_at` string, date-time, required
  - `verification_status` object, required: Per-check breakdown — signature, policy snapshot, ledger chain, proof bundle — each with verified, severity, and detail.
  - `proof_bundle` object, required: Ed25519 verification detail, the JWKS URL, and a self_verify command anyone can run offline with @decionis/verify.
  - `dossier` object, required: Share-safe public projection. Categorical tokens pass; caller- minted values and identifiers are masked server-side; the policy snapshot is proven and pinned by hash but never shipped.
  - `integrity` object, required
  - `verification` object: Fresh expiring share links for this dossier (v2, org-scoped).
  - `signal_trace` object[]
  - `overrides` object
  - `message` string

## Other responses

- `404`: Structured API error
- `503`: Structured API error

---

[API](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api.md) · [All operations](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api/revisions/357f5e459d0c?raw)
