v6

latestOpenAPI 3.0.0Apache 2.0raw.githubusercontent.com2022-08-07178779.8 KB
Tables

Get table item

Get a table item 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.

post/tables/{table_handle}/item

Path parameters

table_handlestring uint64 required

A string containing a 128-bit unsigned integer.

We represent u128 values as a string to ensure compatability with languages such as JavaScript that do not parse u64s in JSON natively.

Example:340282366920938463463374607431768211454

Query parameters

ledger_versionstring uint64

A string containing a 64-bit unsigned integer.

We represent u64 values as a string to ensure compatability with languages such as JavaScript that do not parse u64s in JSON natively.

Example:32425224034

Request body

key_typestring required

String representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u64 - u128 - 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_typestring required

String representation of an on-chain Move type tag that is exposed in transaction payload. Values: - bool - u8 - u64 - u128 - 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).
{"stackTrail":"components:schemas:TableItemRequest:properties:key","oasType":"schema","type":"unknown"}

Response

MoveValue required

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 type value is serialized into integer.

Move u64 and u128 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.

Example response

{
  "authentication_key": "0x0000000000000000000000000000000000000000000000000000000000000001",
  "coin_register_events": {
    "counter": "0",
    "guid": {
      "id": {
        "addr": "0x1",
        "creation_num": "0"
      }
    }
  },
  "self_address": "0x1",
  "sequence_number": "0"
}