Get table item
const url = 'https://example.com/v1/tables/0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1/item?ledger_version=32425224034';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"key_type":"example","value_type":"example","key":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url 'https://example.com/v1/tables/0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1/item?ledger_version=32425224034' \ --header 'Content-Type: application/json' \ --data '{ "key_type": "example", "value_type": "example", "key": "example" }'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.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”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
0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1Table handle hex encoded 32-byte string
Query Parameters
Section titled “ Query Parameters ”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
32425224034Ledger version to get state of account
If not provided, it will be the latest version
Request Body required
Section titled “ Request Body required ”Table Item request for the GetTableItem API
object
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).
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).
The value of the table item’s key
Example generated
{ "key_type": "example", "value_type": "example", "key": "example"}Responses
Section titled “ Responses ”Move u8 value
Move u16 value
Move u32 value
Move u64 value
Move u128 value
Move u256 value
Move bool value
Move address value
Move vector value
Move bytes value
Move struct value
object
Move string value
Example
32425224034Headers
Section titled “ Headers ”Chain ID of the current chain
Current ledger version of the chain
Oldest non-pruned ledger version of the chain
Current timestamp of the chain
Current epoch of the chain
Current block height of the chain
Oldest non-pruned block height of the chain
The cost of the call in terms of gas
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.
This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.
object
A message describing the error
These codes provide more granular error information beyond just the HTTP status code of the response.
A code providing VM error details when submitting transactions to the VM
Example
{ "error_code": "account_not_found"}Headers
Section titled “ Headers ”Chain ID of the current chain
Current ledger version of the chain
Oldest non-pruned ledger version of the chain
Current timestamp of the chain
Current epoch of the chain
Current block height of the chain
Oldest non-pruned block height of the chain
The cost of the call in terms of gas
This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.
object
A message describing the error
These codes provide more granular error information beyond just the HTTP status code of the response.
A code providing VM error details when submitting transactions to the VM
Example
{ "error_code": "account_not_found"}Headers
Section titled “ Headers ”Chain ID of the current chain
Current ledger version of the chain
Oldest non-pruned ledger version of the chain
Current timestamp of the chain
Current epoch of the chain
Current block height of the chain
Oldest non-pruned block height of the chain
The cost of the call in terms of gas
This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.
object
A message describing the error
These codes provide more granular error information beyond just the HTTP status code of the response.
A code providing VM error details when submitting transactions to the VM
Example
{ "error_code": "account_not_found"}Headers
Section titled “ Headers ”Chain ID of the current chain
Current ledger version of the chain
Oldest non-pruned ledger version of the chain
Current timestamp of the chain
Current epoch of the chain
Current block height of the chain
Oldest non-pruned block height of the chain
The cost of the call in terms of gas
This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.
object
A message describing the error
These codes provide more granular error information beyond just the HTTP status code of the response.
A code providing VM error details when submitting transactions to the VM
Example
{ "error_code": "account_not_found"}Headers
Section titled “ Headers ”Chain ID of the current chain
Current ledger version of the chain
Oldest non-pruned ledger version of the chain
Current timestamp of the chain
Current epoch of the chain
Current block height of the chain
Oldest non-pruned block height of the chain
The cost of the call in terms of gas
This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.
object
A message describing the error
These codes provide more granular error information beyond just the HTTP status code of the response.
A code providing VM error details when submitting transactions to the VM
Example
{ "error_code": "account_not_found"}Headers
Section titled “ Headers ”Chain ID of the current chain
Current ledger version of the chain
Oldest non-pruned ledger version of the chain
Current timestamp of the chain
Current epoch of the chain
Current block height of the chain
Oldest non-pruned block height of the chain
The cost of the call in terms of gas
This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.
object
A message describing the error
These codes provide more granular error information beyond just the HTTP status code of the response.
A code providing VM error details when submitting transactions to the VM
Example
{ "error_code": "account_not_found"}Headers
Section titled “ Headers ”Chain ID of the current chain
Current ledger version of the chain
Oldest non-pruned ledger version of the chain
Current timestamp of the chain
Current epoch of the chain
Current block height of the chain
Oldest non-pruned block height of the chain
The cost of the call in terms of gas