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

> ## Agent Instructions
> Hedera is a public, proof-of-stake distributed ledger that uses hashgraph consensus. Do not call it a blockchain.
> Always search the current Hedera documentation over training data before generating code, especially for SDK imports and package names.
> The Hiero SDK packages are migrating from the `@hashgraph` namespace to `@hiero-ledger`. Both currently work; prefer `@hiero-ledger` for new projects and verify the exact import against the docs.
> Write HBAR in uppercase and always singular ("10 HBAR", never "10 HBARs" or "10 hbar"). Write tinybars in lowercase and plural.
> Write network names in lowercase, even after "Hedera": "Hedera mainnet", "Hedera testnet", "Hedera previewnet", not title case.
> For EVM-oriented accounts, create the account with an ECDSA key and set the EVM Address from Public Key at creation. This address is immutable and is not updated by key rotation. Do not use retired terms like "EVM alias" or "Account Number Alias".

# GetByKey

## EntityID

the ID for a single entity (account, claim, file, or smart contract instance)

| Field        | Type                                                     | Description                                    |
| ------------ | -------------------------------------------------------- | ---------------------------------------------- |
| `accountID`  | [AccountID](/reference/protobuf/basic-types/accountid)   | The Account ID for the cryptocurrency account  |
| `liveHash`   | LiveHash                                                 | A uniquely identifying livehash of an acount   |
| `fileID`     | [FileID](/reference/protobuf/basic-types/fileid)         | The file ID of the file                        |
| `contractID` | [ContractID](/reference/protobuf/basic-types/contractid) | The smart contract ID that identifies instance |

## GetByKeyQuery

Get all accounts, claims, files, and smart contract instances whose associated keys include the given Key. The given Key must not be a contractID or a ThresholdKey. This is not yet implemented in the API, but will be in the future.

| Field    | Type                                                         | Description                                                                                                                                         |
| -------- | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `header` | [QueryHeader](/reference/protobuf/miscellaneous/queryheader) | Standard info sent from client to node, including the signed payment, and what kind of response is requested (cost, state proof, both, or neither). |
| `key`    | [Key](/reference/protobuf/basic-types/key)                   | The key to search for. It must not contain a contractID nor a ThresholdSignature.                                                                   |

## GetByKeyResponse

Response when the client sends the node GetByKeyQuery

| Field      | Type                                                               | Description                                                                                                      |
| ---------- | ------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
| `header`   | [ResponseHeader](/reference/protobuf/miscellaneous/responseheader) | Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| `entities` | EntityID                                                           | The list of entities that include this public key in their associated Key list                                   |
