---
title: "PostValidatorDutiesAttesterByEpoch"
method: POST
path: "/{apiKey}/eth/v1/validator/duties/attester/{epoch}"
---

# PostValidatorDutiesAttesterByEpoch

`POST /{apiKey}/eth/v1/validator/duties/attester/{epoch}`

Get attester duties.

Requests the beacon node to provide a set of attestation duties,
which should be performed by validators, for a particular epoch.

Duties should only need to be checked once per epoch,
however a chain reorganization (of > MIN_SEED_LOOKAHEAD epochs) could occur,
resulting in a change of duties. For full safety, you should monitor head events and confirm the
dependent root in this response matches:

  - event.previous_duty_dependent_root when `compute_epoch_at_slot(event.slot) == epoch`

  - event.current_duty_dependent_root when `compute_epoch_at_slot(event.slot) + 1 == epoch`

  - event.block otherwise


The dependent_root value is `get_block_root_at_slot(state, compute_start_slot_at_epoch(epoch - 1) - 1)`
or the genesis block root in the case of underflow.

## Path parameters

- `apiKey` string, required — <style> .custom-style { color: #048FF4; } </style> For higher throughput, please <span class="custom-style"><a href="../docs/quick-start-guide#-creating-your-api-key-on-the-zan-platform" target="_blank">create your own API key</a></span>.
- `epoch` string, required

## Request body

- string[]

## Response `200`

Attester duties.

- object
  - `dependent_root` string, hex, required — The block root that this response is dependent on.
  - `execution_optimistic` boolean, required — 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[], required
    - `pubkey` string, hex, required — The validator's BLS public key, uniquely identifying them. _48-bytes, hex encoded with 0x prefix, case insensitive._
    - `validator_index` string, required — Index of validator in validator registry
    - `committee_index` string, required — The committee index
    - `committee_length` string, required — Number of validators in committee
    - `committees_at_slot` string, required — Number of committees at the provided slot
    - `validator_committee_index` string, required — Index of validator in committee
    - `slot` string, required — The slot at which the validator must attest.

---

[API](https://skmtc.dev/zan/apis/zan-getnftmetadata.md) · [All operations](https://skmtc.dev/zan/apis/zan-getnftmetadata/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zan/zan-getnftmetadata/revisions/be8fa2338895/schema)
