---
title: "Get certificate by hash"
method: GET
path: "/certificate/{certificate_hash}"
---

# Get certificate by hash

`GET /certificate/{certificate_hash}`

Returns the certificate identified by its hash

## Path parameters

- `certificate_hash` string, bytes, required

## Response `200`

certificate found

- CertificateMessage — Certificate represents a Mithril certificate embedding a Mithril STM multi signature
  - `hash` string, bytes, required — Hash of the current certificate
  - `previous_hash` string, bytes, required — Hash of the previous certificate
  - `epoch` integer, required — Cardano chain epoch number
  - `signed_entity_type` SignedEntityType, required — Entity type of the message that is signed
  - `metadata` CertificateMetadata, required — CertificateMetadata represents the metadata associated to a Certificate
    - `network` string, required — Cardano network
    - `version` string, bytes, required — Version of the protocol
    - `parameters` ProtocolParameters, required — Protocol cryptographic parameters
      - `k` integer, required — Quorum parameter
      - `m` integer, required — Security parameter (number of lotteries)
      - `phi_f` number, double, required — f in phi(w) = 1 - (1 - f)^w, where w is the stake of a participant
    - `initiated_at` string, date-time, required — Date and time at which the certificate was initialized and ready to accept single signatures from signers
    - `sealed_at` string, date-time, required — Date and time at which the certificate was sealed (when the quorum of single signatures was reached so that a multi signature could be aggregated from them)
    - `signers` StakeDistributionParty[], required — The list of the signers identifiers with their stakes and verification keys
      - `party_id` string — The unique identifier of the signer
      - `stake` integer — Stake share as computed in the 'stake distribution' by the Cardano Node, multiplied by a billion (1.0e9)
  - `protocol_message` ProtocolMessage, required — ProtocolMessage represents a message that is signed (or verified) by the Mithril protocol
    - `message_parts` ProtocolMessageParts, required — ProtocolMessage represents a message that is signed (or verified) by the Mithril protocol
      - `snapshot_digest` string, bytes — Digest of the snapshot archive
      - `next_aggregate_verification_key` string, bytes, required — Aggregate verification key (AVK) that will be used to create the next multi signature
      - `latest_block_number` string — The latest signed block number
  - `signed_message` string, bytes, required — Hash of the protocol message that is signed by the signer participants
  - `aggregate_verification_key` string, bytes, required — Aggregate verification key used to verify the multi signature
  - `aggregate_verification_key_snark` string, bytes — Hex-encoded SNARK-friendly aggregate verification key, emitted alongside `aggregate_verification_key` on Lagrange-era certificates. Omitted on Pythagoras and pre-Lagrange certificates: clients that ignore this field remain compatible with the pre-Lagrange wire format.
  - `ancillary_prover_data` string, bytes — Hex-encoded ancillary data used by the prover to produce the next certificate. Omitted when absent. Its shape depends on the aggregate signature type.
  - `ancillary_verifier_data` string, bytes — Hex-encoded ancillary data used to verify the certificate. Omitted when absent. Its shape depends on the aggregate signature type.
  - `multi_signature` string, bytes, required — STM multi signature created from a quorum of single signatures from the signers
  - `genesis_signature` string, bytes, required — Genesis signature created to bootstrap the certificate chain with the Cardano Genesis Keys
  - `genesis_schnorr_signature` string, bytes — Hex-encoded SNARK-friendly Schnorr genesis signature, emitted alongside `genesis_signature` on Lagrange-era genesis certificates. Omitted or empty on Pythagoras and non-genesis certificates: clients that ignore this field remain compatible with the pre-Lagrange wire format.

## Other responses

- `404` — certificate not found
- `default` — get certificate error

---

[API](https://skmtc.net/input-output-hk/apis/mithril-aggregator-server.md) · [All operations](https://skmtc.net/input-output-hk/apis/mithril-aggregator-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/input-output-hk/mithril-aggregator-server/versions/bbad910c52a3/schema)
