---
title: "Verify a signed export by content hash"
method: GET
path: "/api/v1/verify/{hash}"
tags: ["verify", "public"]
---

# Verify a signed export by content hash

`GET /api/v1/verify/{hash}`

## Request

- Base URL: `https://app.phasefolio.com`
- URL: `https://app.phasefolio.com/api/v1/verify/{hash}`
- Auth: none declared

Public endpoint that returns the signing record for a given 64-char hex content hash, or `{ status: 'unknown' }` if no matching export exists.

## Path parameters

- `hash` string, required: 64-character hex SHA-256 content hash

## Response `200`

Verification result (valid or unknown)

- object
  - `data` union, required
    - object
      - `status` 'valid', required
      - `content_hash` string, required
      - `signed_at` string, required
      - `methodology_version` string, required
      - `model_version` string, required: Model version at signing time. Legacy rows carry "unknown (pre-2026-05)".
      - `engine_version` string, required: Deprecated alias of model_version, kept for existing clients.
      - `benchmark_dataset_versions` object[], required
        - `name` string, required
        - `version` string, required
      - `signals_used` unknown[], required
        - unknown
      - `format` string, required
      - `org` string, required
      - `indication` string, nullable, required
      - `modality` string, nullable, required
      - `evidence_count` integer, required
    - object
      - `status` 'unknown', required
      - `message` string, required

## Other responses

- `400`: Hash is not 64 hex characters

---

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