---
title: "Read the offline-verifiable Public Decision & Verify packet for a decision id."
method: GET
path: "/api/decision-verify/{decisionId}"
tags: ["Catalog"]
---

# Read the offline-verifiable Public Decision & Verify packet for a decision id.

`GET /api/decision-verify/{decisionId}`

## Request

- Base URL: `https://huggingbay.xyz`
- URL: `https://huggingbay.xyz/api/decision-verify/{decisionId}`
- Auth: none declared

Read-only, content-negotiated Public Decision & Verify packet addressed by decisionId (hbpd_<sha256>). Identical material claims and digest across JSON, HTML, JSON-LD, MCP, badge, share, citation, and markdown; strong ETag with 304. Fails closed: on this base a decisionId does not recordedly resolve to a bound authority set, so a well-formed id returns 503 public_decision_verify_unavailable (a bounded blocker), never a fabricated decision. A non-hbpd id returns 404. Verification reads are excluded from adoption/visibility signals.

**Inputs.** Path, query and header fields are listed below. No request body is required.

**Outputs.** See each status below for its media type, schema and headers. A missing record or unavailable capability is not a successful empty result.

**Errors.** API JSON failures use the documented response schema. Read code, message and next; retry only when the response allows it. Auth, invalid input and missing records need a caller change.

**Rate limits.** Public read budgets apply by client IP and route group. This operation can have a smaller route-specific budget. Read Retry-After on 429 or retryable 503 responses.

**Example setup.** Use an identifier returned by the matching list, search or create operation. Sample identifiers are not a promise that a record exists.

## Path parameters

- `decisionId` string, required

## Query parameters

- `format` 'json' | 'html' | 'jsonld' | 'mcp' | 'badge' | 'share' | 'citation' | 'markdown'

## Response `200`

recorded decision packet in the negotiated representation.

- object: Fields vary by representation. See the response description.

## Other responses

- `304`: Not modified (If-None-Match matched the strong ETag).
- `404`: No such decision route (non-hbpd id or decisionId mismatch).
- `406`: No acceptable representation for the Accept header.
- `422`: Unsupported query parameter (only format is allowed).
- `503`: Decision not resolvable on this base; bounded fail-closed blocker (public_decision_verify_unavailable).

---

[API](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api.md) · [All operations](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/huggingbay/apis/hugging-bay-public-api/revisions/63c474bf0fe4?raw)
