POST
/
tables
/
{table_handle}
/
item
Get table item
curl --request POST \
  --url https://api.us1.shinami.com/aptos/node/v1/tables/{table_handle}/item \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "key_type": "<string>",
  "value_type": "<string>",
  "key": "<any>"
}'
{
  "authentication_key": "0x0000000000000000000000000000000000000000000000000000000000000001",
  "coin_register_events": {
    "counter": "0",
    "guid": {
      "id": {
        "addr": "0x1",
        "creation_num": "0"
      }
    }
  },
  "self_address": "0x1",
  "sequence_number": "0"
}

Authorizations

Authorization
string
header
required

Authorization: Bearer SHINAMI_ACCESS_KEY.

Path Parameters

table_handle
string<hex>
required

Table handle hex encoded 32-byte string

Example:

6.195948399647823e+76

Query Parameters

ledger_version
string<uint64>

Ledger version to get state of account

If not provided, it will be the latest version

Example:

"32425224034"

Body

application/json

Table Item request for the GetTableItem API

key_type
string
required

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).
value_type
string
required

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).
key
any
required

The value of the table item's key

Response

An enum of the possible Move value types 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):

{
field1_name: field1_value,
field2_name: field2_value,
......
}

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

Special serialization for Move stdlib types:

  • 0x1::string::String is serialized into string. For example, struct value 0x1::string::String{bytes: b"Hello World!"} is serialized as "Hello World!" in JSON.