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

# Get Table Item

> Get a table item at a specific ledger version from the table identified by {table_handle}
in the path and the "key" (TableItemRequest) provided in the request body.

This is a POST endpoint because the "key" for requesting a specific
table item (TableItemRequest) could be quite complex, as each of its
fields could themselves be composed of other structs. This makes it
impractical to express using query params, meaning GET isn't an option.

The Aptos nodes prune account state history, via a configurable time window.
If the requested ledger version has been pruned, the server responds with a 410.

Get a table item at a specific ledger version from the table.

This method will use `150` [Compute Units](/nodeapi/about/billing).

***


## OpenAPI

````yaml nodeapi/openapi/document-aptos-with-v1-fix.json POST /tables/{table_handle}/item
openapi: 3.0.0
info:
  title: Aptos Node API
  description: >-
    The Aptos Node API is a RESTful API for client applications to interact with
    the Aptos blockchain.
  version: 1.2.0
  contact:
    name: Aptos Labs
    url: https://github.com/aptos-labs/aptos-core
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://mainnet.aptos.validationcloud.io/v1/<YOUR_API_KEY_HERE>/v1
security: []
tags:
  - name: Accounts
    description: Access to accounts, resources, and modules
  - name: Blocks
    description: Access to blocks
  - name: Events
    description: Access to events
  - name: General
    description: General information
  - name: Tables
    description: Access to tables
  - name: Transactions
    description: Access to transactions
  - name: View
    description: View functions,
externalDocs:
  url: https://github.com/aptos-labs/aptos-core
paths:
  /tables/{table_handle}/item:
    post:
      tags:
        - Tables
      summary: Get table item
      description: >-
        Get a table item at a specific ledger version from the table identified
        by {table_handle}

        in the path and the "key" (TableItemRequest) provided in the request
        body.


        This is a POST endpoint because the "key" for requesting a specific

        table item (TableItemRequest) could be quite complex, as each of its

        fields could themselves be composed of other structs. This makes it

        impractical to express using query params, meaning GET isn't an option.


        The Aptos nodes prune account state history, via a configurable time
        window.

        If the requested ledger version has been pruned, the server responds
        with a 410.
      operationId: get_table_item
      parameters:
        - name: table_handle
          schema:
            $ref: '#/components/schemas/Address'
          in: path
          description: Table handle hex encoded 32-byte string
          required: true
          deprecated: false
          explode: true
        - name: ledger_version
          schema:
            $ref: '#/components/schemas/U64'
          in: query
          description: |-
            Ledger version to get state of account

            If not provided, it will be the latest version
          required: false
          deprecated: false
          explode: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TableItemRequest'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoveValue'
            application/x-bcs:
              schema:
                type: array
                items:
                  type: integer
                  format: uint8
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              required: true
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-CURSOR:
              description: |-
                Cursor to be used for endpoints that support cursor-based
                pagination. Pass this to the `start` field of the endpoint
                on the next call to get the next page of results.
              deprecated: false
              schema:
                type: string
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
        '410':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AptosError'
          headers:
            X-APTOS-CHAIN-ID:
              description: Chain ID of the current chain
              deprecated: false
              schema:
                type: integer
                format: uint8
            X-APTOS-LEDGER-VERSION:
              description: Current ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-OLDEST-VERSION:
              description: Oldest non-pruned ledger version of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-LEDGER-TIMESTAMPUSEC:
              description: Current timestamp of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-EPOCH:
              description: Current epoch of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-BLOCK-HEIGHT:
              description: Current block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
            X-APTOS-OLDEST-BLOCK-HEIGHT:
              description: Oldest non-pruned block height of the chain
              deprecated: false
              schema:
                type: integer
                format: uint64
components:
  schemas:
    Address:
      type: string
      format: hex
      description: >
        A hex encoded 32 byte Aptos account address.


        This is represented in a string as a 64 character hex string, sometimes

        shortened by stripping leading 0s, and adding a 0x.


        For example, address
        0x0000000000000000000000000000000000000000000000000000000000000001 is
        represented as 0x1.
      example: '0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 '
    U64:
      type: string
      format: uint64
      description: >
        A string containing a 64-bit unsigned integer.


        We represent u64 values as a string to ensure compatibility with
        languages such

        as JavaScript that do not parse u64s in JSON natively.
      example: '32425224034'
    TableItemRequest:
      type: object
      description: Table Item request for the GetTableItem API
      required:
        - key_type
        - value_type
        - key
      properties:
        key_type:
          $ref: '#/components/schemas/MoveType'
        value_type:
          $ref: '#/components/schemas/MoveType'
        key:
          description: The value of the table item's key
    MoveValue:
      type: object
      description: An enum of the possible Move value types
      anyOf:
        - type: integer
          format: uint8
        - type: integer
          format: uint16
        - type: integer
          format: uint32
        - $ref: '#/components/schemas/U64'
        - $ref: '#/components/schemas/U128'
        - $ref: '#/components/schemas/U256'
        - type: boolean
        - $ref: '#/components/schemas/Address'
        - type: array
          items:
            $ref: '#/components/schemas/MoveValue'
        - $ref: '#/components/schemas/HexEncodedBytes'
        - $ref: '#/components/schemas/MoveStructValue'
        - type: string
    AptosError:
      type: object
      description: >-
        This is the generic struct we use for all API errors, it contains a
        string

        message and an Aptos API specific error code.
      required:
        - message
        - error_code
      properties:
        message:
          type: string
          description: A message describing the error
        error_code:
          $ref: '#/components/schemas/AptosErrorCode'
        vm_error_code:
          type: integer
          format: uint64
          description: >-
            A code providing VM error details when submitting transactions to
            the VM
    MoveType:
      type: string
      description: >
        String representation of an on-chain Move type tag that is exposed in
        transaction payload.
            Values:
              - bool
              - u8
              - u16
              - u32
              - u64
              - u128
              - u256
              - address
              - signer
              - vector: `vector<{non-reference MoveTypeId}>`
              - struct: `{address}::{module_name}::{struct_name}::<{generic types}>`

            Vector type value examples:
              - `vector<u8>`
              - `vector<vector<u64>>`
              - `vector<0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>>`

            Struct type value examples:
              - `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>
              - `0x1::account::Account`

            Note:
              1. Empty chars should be ignored when comparing 2 struct tag ids.
              2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding).
      pattern: ^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$
    U128:
      type: string
      format: uint128
      description: >
        A string containing a 128-bit unsigned integer.


        We represent u128 values as a string to ensure compatibility with
        languages such

        as JavaScript that do not parse u128s in JSON natively.
      example: '340282366920938463463374607431768211454'
    U256:
      type: string
      format: uint256
      description: >
        A string containing a 256-bit unsigned integer.


        We represent u256 values as a string to ensure compatibility with
        languages such

        as JavaScript that do not parse u256s in JSON natively.
      example: '340282366920938463463374607431768211454'
    HexEncodedBytes:
      type: string
      format: hex
      description: >
        All bytes (Vec<u8>) data is represented as hex-encoded string prefixed
        with `0x` and fulfilled with

        two hex digits per byte.


        Unlike the `Address` type, HexEncodedBytes will not trim any zeros.
      example: '0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 '
    MoveStructValue:
      type: object
      description: >
        This is a JSON representation of some data within an account resource.
        More specifically,

        it is a map of strings to arbitrary JSON values / objects, where the
        keys are top level

        fields within the given resource.


        To clarify, you might query for 0x1::account::Account and see the
        example data.


        Move `bool` type value is serialized into `boolean`.


        Move `u8`, `u16` and `u32` type value is serialized into `integer`.


        Move `u64`, `u128` and `u256` type value is serialized into `string`.


        Move `address` type value (32 byte Aptos account address) is serialized
        into a HexEncodedBytes string.

        For example:
          - `0x1`
          - `0x1668f6be25668c1a17cd8caf6b8d2f25`

        Move `vector` type value is serialized into `array`, except `vector<u8>`
        which is serialized into a

        HexEncodedBytes string with `0x` prefix.

        For example:
          - `vector<u64>{255, 255}` => `["255", "255"]`
          - `vector<u8>{255, 255}` => `0xffff`

        Move `struct` type value is serialized into `object` that looks like
        this (except some Move stdlib types, see the following section):
          ```json
          {
            field1_name: field1_value,
            field2_name: field2_value,
            ......
          }
          ```

        For example:
          `{ "created": "0xa550c18", "role_id": "0" }`

        **Special serialization for Move stdlib types**:
          - [0x1::string::String](https://github.com/aptos-labs/aptos-core/blob/main/language/move-stdlib/docs/ascii.md)
            is serialized into `string`. For example, struct value `0x1::string::String{bytes: b"Hello World!"}`
            is serialized as `"Hello World!"` in JSON.
      example:
        authentication_key: '0x0000000000000000000000000000000000000000000000000000000000000001'
        coin_register_events:
          counter: '0'
          guid:
            id:
              addr: '0x1'
              creation_num: '0'
        self_address: '0x1'
        sequence_number: '0'
    AptosErrorCode:
      type: string
      description: |-
        These codes provide more granular error information beyond just the HTTP
        status code of the response.
      enum:
        - account_not_found
        - resource_not_found
        - module_not_found
        - struct_field_not_found
        - version_not_found
        - transaction_not_found
        - table_item_not_found
        - block_not_found
        - version_pruned
        - block_pruned
        - invalid_input
        - invalid_transaction_update
        - sequence_number_too_old
        - vm_error
        - health_check_failed
        - mempool_is_full
        - internal_error
        - web_framework_error
        - bcs_not_supported
        - api_disabled

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.