---
title: "Get Token Status List"
method: GET
path: "/api/v1/proofs/status-list"
tags: ["Proofs"]
---

# Get Token Status List

`GET /api/v1/proofs/status-list`

## Request

- Base URL: `https://api.proof.holdings`
- URL: `https://api.proof.holdings/api/v1/proofs/status-list`
- Auth: none required

The IETF Token Status List (draft-ietf-oauth-status-list) for all proofs. Public endpoint — no authentication. A schema-1.3 proof token carries `status.status_list.{idx, uri}`; fetch this list, verify its signature via JWKS, DEFLATE-decompress `status_list.lst` (base64url) and read the 2-bit value at your token's `idx`: 0 valid, 1 revoked, 2 suspended. The shared bit array reveals nothing about which entry was read (herd privacy), and unlike the revocation list it never truncates and can retract: an unsuspended proof's bit flips back to 0. Every slot the issuer hands out is inside the published array from the next fetch onward, and a revocation or suspension of the proof ITSELF reaches this channel within one minute (the advertised `ttl` plus the issuer's own rebuild interval); the point lookups answer immediately. One limit is deliberate: each entry carries its own row status, so a DELEGATION whose underlying domain control proof was revoked keeps a 0 (valid) bit here — that cascade is resolved at read time and only `POST /api/v1/proofs/validate` reports it.

## Response `200`

Signed status list token

## Other responses

- `503`: Status list signing is not configured

---

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