---
title: "Get Entity Details"
method: POST
path: "/state/entity/details"
tags: ["State"]
---

# Get Entity Details

`POST /state/entity/details`

Returns detailed information for collection of entities. Aggregate resources globally by default.

## Request body

- StateEntityDetailsRequest — defines upper boundary (inclusive) for queried data. i.e `{ "at_state_version" = {"epoch" = 10} }`, will return data till 10 epoch.
  - `at_ledger_state` LedgerStateSelector, nullable — Optional. This allows for a request to be made against a historic state. If a constraint is specified, the Gateway will resolve the request against the ledger state at that time. If not specified, requests will be made with respect to the top of the committed ledger.
    - `state_version` integer, nullable — If provided, the latest ledger state lower than or equal to the given state version is returned.
    - `timestamp` string, date-time, nullable — If provided, the latest ledger state lower than or equal to the given round timestamp is returned.
    - `epoch` integer, nullable — If provided, the ledger state lower than or equal to the given epoch at round 0 is returned.
    - `round` integer, nullable — If provided must be accompanied with `epoch`, the ledger state lower than or equal to the given epoch and round is returned.
  - `opt_ins` StateEntityDetailsOptIns — Check detailed [OptIns](#tag/Architecture/Using-endpoints-with-opt-in-features) documentation for more details
    - `ancestor_identities` boolean — if set to `true`, ancestor addresses - `parent_address`, `owner_address` and `global_address` for entities are returned.
    - `component_royalty_config` boolean — if set to `true`, `royalty_config` for component entities is returned.
    - `component_royalty_vault_balance` boolean — if set to `true`, `royalty_vault_balance` for component entities is returned.
    - `package_royalty_vault_balance` boolean — if set to `true`, `royalty_vault_balance` for package entities is returned.
    - `non_fungible_include_nfids` boolean — if set to `true`, first page of non fungible ids are returned for each non fungible resource, with `next_cursor` which can be later used at `/state/entity/page/non-fungible-vault/ids` endpoint.
    - `explicit_metadata` string[] — allows specifying explicitly metadata properties which should be returned in response.
    - `dapp_two_way_links` boolean — if set to `true`, on-ledger dApp two-way links (resolved & verified) are returned. See https://docs.radixdlt.com/docs/metadata-for-verification for more details.
    - `native_resource_details` boolean — if set to `true`, additional details for the Network native resources are returned.
  - `addresses` Address[], required — limited to max 20 items.
  - `aggregation_level` 'Global' | 'Vault'

## Response `200`

Entity Details

- StateEntityDetailsResponse
  - `ledger_state` LedgerState, required — The ledger state against which the response was generated. Can be used to detect if the Network Gateway is returning up-to-date information.
    - `network` string, required — The logical name of the network
    - `state_version` integer, required — The state version of the ledger. Each transaction increments the state version by 1.
    - `proposer_round_timestamp` string, required — The proposer round timestamp of the consensus round when this transaction was committed to ledger. This is not guaranteed to be strictly increasing, as it is computed as an average across the validator set. If this is significantly behind the current timestamp, the Network Gateway is likely reporting out-dated information, or the network has stalled.
    - `epoch` integer, required — The epoch number of the ledger at this state version.
    - `round` integer, required — The consensus round in the epoch that this state version was committed in.
  - `items` StateEntityDetailsResponseItem[], required
    - `address` string, required — Bech32m-encoded human readable version of the address.
    - `fungible_resources` FungibleResourcesCollection — Fungible resources collection.
      - `total_count` integer, nullable — Total number of items in underlying collection, fragment of which is available in `items` collection.
      - `next_cursor` string, nullable — If specified, contains a cursor to query next page of the `items` collection.
      - `items` FungibleResourcesCollectionItem[], required
        - `aggregation_level` 'Global' | 'Vault', required
        - `resource_address` string, required — Bech32m-encoded human readable version of the address.
        - `explicit_metadata` EntityMetadataCollection — Entity metadata collection.
          - `total_count` integer, nullable — Total number of items in underlying collection, fragment of which is available in `items` collection.
          - `next_cursor` string, nullable — If specified, contains a cursor to query next page of the `items` collection.
          - `items` EntityMetadataItem[], required
            - `key` string, required — Entity metadata key.
            - `value` EntityMetadataItemValue, required
              - …
            - `is_locked` boolean, required
            - `last_updated_at_state_version` integer, required — The most recent state version underlying object was modified at.
    - `non_fungible_resources` NonFungibleResourcesCollection — Non-fungible resources collection.
      - `total_count` integer, nullable — Total number of items in underlying collection, fragment of which is available in `items` collection.
      - `next_cursor` string, nullable — If specified, contains a cursor to query next page of the `items` collection.
      - `items` NonFungibleResourcesCollectionItem[], required
        - `aggregation_level` 'Global' | 'Vault', required
        - `resource_address` string, required — Bech32m-encoded human readable version of the address.
        - `explicit_metadata` EntityMetadataCollection — Entity metadata collection.
          - `total_count` integer, nullable — Total number of items in underlying collection, fragment of which is available in `items` collection.
          - `next_cursor` string, nullable — If specified, contains a cursor to query next page of the `items` collection.
          - `items` EntityMetadataItem[], required
            - `key` string, required — Entity metadata key.
            - `value` EntityMetadataItemValue, required
              - …
            - `is_locked` boolean, required
            - `last_updated_at_state_version` integer, required — The most recent state version underlying object was modified at.
    - `ancestor_identities` StateEntityDetailsResponseItemAncestorIdentities
      - `parent_address` string — Bech32m-encoded human readable version of the address.
      - `owner_address` string — Bech32m-encoded human readable version of the address.
      - `global_address` string — Bech32m-encoded human readable version of the address.
    - `metadata` EntityMetadataCollection, required — Entity metadata collection.
      - `total_count` integer, nullable — Total number of items in underlying collection, fragment of which is available in `items` collection.
      - `next_cursor` string, nullable — If specified, contains a cursor to query next page of the `items` collection.
      - `items` EntityMetadataItem[], required
        - `key` string, required — Entity metadata key.
        - `value` EntityMetadataItemValue, required
          - `raw_hex` string, required — Hex-encoded binary blob.
          - `programmatic_json` ProgrammaticScryptoSborValue, required — Arbitrary SBOR value represented as programmatic JSON with optional property name annotations. All scalar types (`Bool`, `I*`, `U*`, `String`, `Reference`, `Own`, `Decimal`, `PreciseDecimal`, `NonFungibleLocalId`) convey their value via `value` string property with notable exception of `Bool` type that uses regular JSON boolean type. Numeric values as string-encoded to preserve accuracy and simplify implementation on platforms with no native support for 64-bit long numerical values. Common properties represented as nullable strings: * `type_name` is only output when a schema is present and the type has a name, * `field_name` is only output when the value is a child of a `Tuple` or `Enum`, which has a type with named fields, * `variant_name` is only output when a schema is present and the type is an `Enum`. The following is a non-normative example annotated `Tuple` value with `String` and `U32` fields: ``` { "kind": "Tuple", "type_name": "CustomStructure", "fields": [ { "kind": "String", "field_name": "favorite_color", "value": "Blue" }, { "kind": "U32", "field_name": "usage_counter", "value": "462231" } ] } ```
            - `kind` 'Bool' | 'I8' | 'I16' | 'I32' | 'I64' | 'I128' | 'U8' | 'U16' | 'U32' | 'U64' | 'U128' | 'String' | 'Enum' | 'Array' | 'Bytes' | 'Map' | 'Tuple' | 'Reference' | 'Own' | 'Decimal' | 'PreciseDecimal' | 'NonFungibleLocalId', required — These are the Scrypto SBOR `ValueKind`s, but with `Bytes` added as an alias for `Vec`, to display such values as hex-encoded strings.
            - `type_name` string, nullable — The name of the type of this value. This is only output when a schema is present and the type has a name. This property is ignored when the value is used as an input to the API.
            - `field_name` string, nullable — The name of the field which hosts this value. This property is only included if this value is a child of a `Tuple` or `Enum` with named fields. This property is ignored when the value is used as an input to the API.
          - `typed` MetadataTypedValue, required
            - `type` 'String' | 'Bool' | 'U8' | 'U32' | 'U64' | 'I32' | 'I64' | 'Decimal' | 'GlobalAddress' | 'PublicKey' | 'NonFungibleGlobalId' | 'NonFungibleLocalId' | 'Instant' | 'Url' | 'Origin' | 'PublicKeyHash' | 'StringArray' | 'BoolArray' | 'U8Array' | 'U32Array' | 'U64Array' | 'I32Array' | 'I64Array' | 'DecimalArray' | 'GlobalAddressArray' | 'PublicKeyArray' | 'NonFungibleGlobalIdArray' | 'NonFungibleLocalIdArray' | 'InstantArray' | 'UrlArray' | 'OriginArray' | 'PublicKeyHashArray', required
        - `is_locked` boolean, required
        - `last_updated_at_state_version` integer, required — The most recent state version underlying object was modified at.
    - `explicit_metadata` EntityMetadataCollection — Entity metadata collection.
      - `total_count` integer, nullable — Total number of items in underlying collection, fragment of which is available in `items` collection.
      - `next_cursor` string, nullable — If specified, contains a cursor to query next page of the `items` collection.
      - `items` EntityMetadataItem[], required
        - `key` string, required — Entity metadata key.
        - `value` EntityMetadataItemValue, required
          - `raw_hex` string, required — Hex-encoded binary blob.
          - `programmatic_json` ProgrammaticScryptoSborValue, required — Arbitrary SBOR value represented as programmatic JSON with optional property name annotations. All scalar types (`Bool`, `I*`, `U*`, `String`, `Reference`, `Own`, `Decimal`, `PreciseDecimal`, `NonFungibleLocalId`) convey their value via `value` string property with notable exception of `Bool` type that uses regular JSON boolean type. Numeric values as string-encoded to preserve accuracy and simplify implementation on platforms with no native support for 64-bit long numerical values. Common properties represented as nullable strings: * `type_name` is only output when a schema is present and the type has a name, * `field_name` is only output when the value is a child of a `Tuple` or `Enum`, which has a type with named fields, * `variant_name` is only output when a schema is present and the type is an `Enum`. The following is a non-normative example annotated `Tuple` value with `String` and `U32` fields: ``` { "kind": "Tuple", "type_name": "CustomStructure", "fields": [ { "kind": "String", "field_name": "favorite_color", "value": "Blue" }, { "kind": "U32", "field_name": "usage_counter", "value": "462231" } ] } ```
            - `kind` 'Bool' | 'I8' | 'I16' | 'I32' | 'I64' | 'I128' | 'U8' | 'U16' | 'U32' | 'U64' | 'U128' | 'String' | 'Enum' | 'Array' | 'Bytes' | 'Map' | 'Tuple' | 'Reference' | 'Own' | 'Decimal' | 'PreciseDecimal' | 'NonFungibleLocalId', required — These are the Scrypto SBOR `ValueKind`s, but with `Bytes` added as an alias for `Vec`, to display such values as hex-encoded strings.
            - `type_name` string, nullable — The name of the type of this value. This is only output when a schema is present and the type has a name. This property is ignored when the value is used as an input to the API.
            - `field_name` string, nullable — The name of the field which hosts this value. This property is only included if this value is a child of a `Tuple` or `Enum` with named fields. This property is ignored when the value is used as an input to the API.
          - `typed` MetadataTypedValue, required
            - `type` 'String' | 'Bool' | 'U8' | 'U32' | 'U64' | 'I32' | 'I64' | 'Decimal' | 'GlobalAddress' | 'PublicKey' | 'NonFungibleGlobalId' | 'NonFungibleLocalId' | 'Instant' | 'Url' | 'Origin' | 'PublicKeyHash' | 'StringArray' | 'BoolArray' | 'U8Array' | 'U32Array' | 'U64Array' | 'I32Array' | 'I64Array' | 'DecimalArray' | 'GlobalAddressArray' | 'PublicKeyArray' | 'NonFungibleGlobalIdArray' | 'NonFungibleLocalIdArray' | 'InstantArray' | 'UrlArray' | 'OriginArray' | 'PublicKeyHashArray', required
        - `is_locked` boolean, required
        - `last_updated_at_state_version` integer, required — The most recent state version underlying object was modified at.
    - `details` StateEntityDetailsResponseItemDetails
      - `type` 'FungibleResource' | 'NonFungibleResource' | 'FungibleVault' | 'NonFungibleVault' | 'Package' | 'Component', required

## Other responses

- `4XX` — Client-originated request error

---

[API](https://skmtc.net/radixdlt/apis/radix-gateway-api-babylon.md) · [All operations](https://skmtc.net/radixdlt/apis/radix-gateway-api-babylon/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/radixdlt/radix-gateway-api-babylon/revisions/153aecf74342/schema)
