---
title: "Public keys that sign evidence records"
method: GET
path: "/api/v1/records/keys"
tags: ["records"]
---

# Public keys that sign evidence records

`GET /api/v1/records/keys`

## Request

- Base URL: `https://worthune.com`
- URL: `https://worthune.com/api/v1/records/keys`
- Auth: none required

Verify a record's signature offline: Ed25519 over the UTF-8 bytes of "worthune-record:v1:" + sha256, with the key whose keyId matches. Retired keys stay listed so records signed before a rotation keep verifying.

## Response `200`

The keys.

- object
  - `ok` unknown, required
  - `keys` PublishedRecordKey[], required
    - `keyId` string, required
    - `alg` 'Ed25519', required
    - `publicKey` string, required: base64url of the raw 32-byte Ed25519 public key (JWK x).
    - `status` 'active' | 'retired', required
  - `signing` string, required
  - `howToVerify` string, required

## Other responses

- `429`: Hourly per-org stateful quota, a per-route durable limit, or the 120 requests/minute per-IP burst backstop.

---

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