---
title: "Get block header"
method: GET
path: "/eth/v1/beacon/headers/{block_id}"
tags: ["Beacon"]
---

# Get block header

`GET /eth/v1/beacon/headers/{block_id}`

## Request

- Base URL: `eth2-beacon-mainnet.nodereal.io/v1/api_key` (relative, and the document’s source URL is not known)
- URL: `eth2-beacon-mainnet.nodereal.io/v1/api_key/eth/v1/beacon/headers/{block_id}`
- Auth: none declared

Retrieves block header for given block id.

## Path parameters

- `block_id` string, required

## Response `200`

Success

- object
  - `execution_optimistic` boolean: True if the response references an unverified execution payload. Optimistic information may be invalidated at a later time. If the field is not present, assume the False value.
  - `data` object
    - `root` string
    - `canonical` boolean
    - `header` object: The [`SignedBeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#signedbeaconblockheader) object envelope from the CL spec.
      - `message` object: The [`BeaconBlockHeader`](https://github.com/ethereum/consensus-specs/blob/v1.0.1/specs/phase0/beacon-chain.md#beaconblockheader) object from the CL spec.
        - `slot` string: The slot to which this block corresponds.
        - `proposer_index` string: Index of validator in validator registry.
        - `parent_root` string: The signing merkle root of the parent `BeaconBlock`.
        - `state_root` string: The tree hash merkle root of the `BeaconState` for the `BeaconBlock`.
        - `body_root` string: The tree hash merkle root of the `BeaconBlockBody` for the `BeaconBlock`
      - `signature` string

## Other responses

- `400`: The block ID supplied could not be parsed
- `404`: Block not found
- `500`: Beacon node internal error.

---

[API](https://skmtc.dev/nodereal/apis/eth-beacon-node-api.md) - [All operations](https://skmtc.dev/nodereal/apis/eth-beacon-node-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nodereal/apis/eth-beacon-node-api/revisions/1878ea8657a1?raw)
