> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sync committees by state and epoch

> The /eth/v1/beacon/states/{state_id}/sync_committees method is an integral API endpoint in the Ethereum Beacon Chain. On Chainstack.

The `/eth/v1/beacon/states/{state_id}/sync_committees` method is an integral API endpoint in the Ethereum Beacon Chain. It provides detailed information about the current sync committee composition for a given state. Sync committees are groups of validators responsible for contributing to the consensus process and are especially important for the functioning of light clients, which rely on these committees to stay synchronized with the main chain.

<Check>
  **Get your own node endpoint today**

  [Start for free](https://console.chainstack.com/) and get your app to production levels immediately. No credit card required.

  You can sign up with your GitHub, X, Google, or Microsoft account.
</Check>

## Parameters

* `{state_id}`: This parameter specifies the state identifier for which the sync committee information is being requested. It can be a specific slot number, an epoch number, a block root, or special values like 'genesis' or 'head'.

## Response

* `object` — sync committee information.
  * `data` — the structure containing the sync committee details, including:
    * `validators` — a list of validator indices that are members of the sync committee. These indices identify the validators participating in the committee.
    * `validator_aggregates` — a list of aggregated sets of validators. Each set represents a group of validators working together within the sync committee.
    * `pubkeys` — the public keys of the validators in the sync committee, used for cryptographic operations and validator identification.
    * `aggregate_pubkey` — the combined public key of the entire sync committee. This key represents the collective entity of the committee for cryptographic purposes.

The `/eth/v1/beacon/states/{state_id}/sync_committees` method is crucial for understanding the current composition and operation of sync committees within the Ethereum network. This information is vital for validators, developers, and participants who need to interact with or analyze the sync committees, ensuring effective and secure network operation.


## OpenAPI

````yaml /openapi/ethereum_beacon_chain_api/state/getSyncCommitteesByStateIdAndEpoch.json GET /beacon/states/{state_id}/sync_committees
openapi: 3.0.0
info:
  title: Ethereum Sync Committee API
  version: 1.0.0
servers:
  - url: >-
      https://beacon-nd-422-757-666.p2pify.com/0a9d79d93fb2f4a4b1e04695da2b77a7/eth/v1
security: []
paths:
  /beacon/states/{state_id}/sync_committees:
    get:
      summary: Get sync committees by state and epoch
      operationId: getSyncCommitteesByStateIdAndEpoch
      parameters:
        - name: state_id
          in: path
          description: >-
            State identifier, e.g., 'head', 'finalized', 'genesis', or a
            specific slot number.
          required: true
          schema:
            type: string
            default: head
        - name: epoch
          in: query
          description: Epoch number
          required: false
          schema:
            type: integer
            format: int64
            example: 194213
      responses:
        '200':
          description: Sync committee data successfully retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SyncCommitteeData'
        '404':
          description: Sync committee data not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    SyncCommitteeData:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/SyncCommittee'
      required:
        - data
    Error:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
      required:
        - code
        - message
    SyncCommittee:
      type: object
      properties:
        validators:
          type: array
          items:
            type: integer
            format: int64
        validator_aggregates:
          type: string
      required:
        - validators
        - validator_aggregates

````