Get Table Item

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

This method will use 150 Compute Units.


Get table item

post

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.

Path parameters
table_handlestring · hexRequired

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
Query parameters
ledger_versionstring · uint64Optional

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
Body

Table Item request for the GetTableItem API

key_typestringRequired

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:_<, >]+)$
value_typestringRequired

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:_<, >]+)$
keyanyRequired

The value of the table item's key

Responses
post
/tables/{table_handle}/item

Last updated

Was this helpful?