---
title: "Construct PoPow header according to given header id"
method: GET
path: "/nipopow/popowHeaderById/{headerId}"
tags: ["nipopow"]
---

# Construct PoPow header according to given header id

`GET /nipopow/popowHeaderById/{headerId}`

## Path parameters

- `headerId` string, required

## Response `200`

PoPow header object

- PopowHeader
  - `header` BlockHeader, required — Header of a block. It authenticates link to a previous block, other block sections (transactions, UTXO set transformation proofs, extension), UTXO set, votes for blockchain parameters to be changed and proof-of-work related data.
    - `id` string, base16, required — Base16-encoded 32 byte modifier id
    - `timestamp` integer, required — Basic timestamp definition
    - `version` integer, required — Ergo blockchain protocol version
    - `adProofsRoot` string, base16, required — Base16-encoded 32 byte digest
    - `stateRoot` string, base16, required — Base16-encoded 33 byte digest - digest with extra byte with tree height
    - `transactionsRoot` string, base16, required — Base16-encoded 32 byte digest
    - `nBits` integer, required — Proof-of-work target (difficulty encoded)
    - `extensionHash` string, base16, required — Base16-encoded 32 byte digest
    - `powSolutions` PowSolutions, required — An object containing all components of pow solution
      - `pk` string, required — Base16-encoded public key
      - `w` string, required
      - `n` string, required
      - `d` number, required
    - `height` integer, required — Height of the block (genesis block height == 1)
    - `difficulty` string, required
    - `parentId` string, base16, required — Base16-encoded 32 byte modifier id
    - `votes` string, base16, required — Base16-encoded votes for a soft-fork and parameters
    - `size` integer — Size of the header in bytes
    - `extensionId` string, base16 — Base16-encoded 32 byte modifier id
    - `transactionsId` string, base16 — Base16-encoded 32 byte modifier id
    - `adProofsId` string, base16 — Base16-encoded 32 byte modifier id
  - `interlinks` ModifierId[], required — Array of header interlinks
  - `interlinksProof` BatchMerkleProof, required — Batch Merkle proof that the interlink vector corresponds to its header
    - `indices` object[], required — Proven leaves, each with its index in the tree
      - `index` integer, required — Index of the leaf
      - `digest` string, required — Base16-encoded hash of the leaf
    - `proofs` object[], required — Hashes on the paths to the root, each with the side it is on
      - `digest` string, required — Base16-encoded hash
      - `side` integer, required — Side of the hash, 0 for left and 1 for right

## Other responses

- `404` — Header of extension of a corresponding block are not available
- `default` — Error

---

[API](https://skmtc.dev/ergoplatform/apis/ergo-node-api.md) · [All operations](https://skmtc.dev/ergoplatform/apis/ergo-node-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ergoplatform/ergo-node-api/revisions/a731602272c6/schema)
