Movement Labs LogoMovement Docs
Node API

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.

POST
/tables/{table_handle}/item

Path Parameters

table_handlestring

Table handle hex encoded 32-byte string

Formathex

Query Parameters

ledger_version?string

Ledger version to get state of account

If not provided, it will be the latest version

Formatuint64
key_typeMoveType

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).
Match^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$
value_typeMoveType

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).
Match^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$
keyunknown

The value of the table item's key

Response Body

curl -X POST "https://full.mainnet.movementinfra.xyz/v1/tables/0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 /item?ledger_version=32425224034" \
  -H "Content-Type: application/json" \
  -d '{
    "key_type": "string",
    "value_type": "string",
    "key": null
  }'
0
{
  "message": "string",
  "error_code": "account_not_found",
  "vm_error_code": 0
}
{
  "message": "string",
  "error_code": "account_not_found",
  "vm_error_code": 0
}
{
  "message": "string",
  "error_code": "account_not_found",
  "vm_error_code": 0
}
{
  "message": "string",
  "error_code": "account_not_found",
  "vm_error_code": 0
}
{
  "message": "string",
  "error_code": "account_not_found",
  "vm_error_code": 0
}
{
  "message": "string",
  "error_code": "account_not_found",
  "vm_error_code": 0
}