---
title: "Signed entry count and head hash"
method: GET
path: "/api/v1/ledger/attestation"
tags: ["Ledger"]
---

# Signed entry count and head hash

`GET /api/v1/ledger/attestation`

## Request

- Base URL: `https://api.riskrouter.eu`
- URL: `https://api.riskrouter.eu/api/v1/ledger/attestation`
- Auth: none declared

Save the whole response. The signature covers `riskrouter-ledger-attestation|v1|as_of|entries|head_hash`, so none of the three can be changed afterwards without it failing.

## Response `200`

The current head, signed.

- Attestation
  - `ok` boolean
  - `attestation` object
    - `as_of` string, date-time
    - `entries` integer
    - `genesis` string
    - `algorithm` 'sha256'
    - `canonical` string
    - `head_hash` string
  - `signature` object
    - `algorithm` 'ECDSA_P256_SHA256'
    - `key_id` string
    - `signed_payload` string
    - `signature` string, byte
  - `signature_unavailable` string: Present instead of `signature` when no signing key is bound. Never a fabricated signature.
  - `generated_at` string, date-time

## Other responses

- `502`: Every error carries the same envelope with a stable code.
- `503`: Every error carries the same envelope with a stable code.

---

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