---
title: "Get table item"
method: POST
path: "/tables/{table_handle}/item"
tags: ["Tables"]
---

# Get table item

`POST /tables/{table_handle}/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.

## Path parameters

- `table_handle` string, 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.

## Query parameters

- `ledger_version` string, 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.

## Request body

- TableItemRequest
  - `key_type` string, 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_type` string, 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).
  - `key` unknown, required

## Response `200`

- MoveValue — 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): ```json { field1_name: field1_value, field2_name: field2_value, ...... } ``` For example: `{ "created": "0xa550c18", "role_id": "0" }` **Special serialization for Move stdlib types**: - [0x1::string::String](https://github.com/aptos-labs/aptos-core/blob/main/language/move-stdlib/docs/ascii.md) is serialized into `string`. For example, struct value `0x1::string::String{bytes: b"Hello World!"}` is serialized as `"Hello World!"` in JSON.

## Other responses

- `400`
- `404`
- `500`

---

[API](https://skmtc.net/apscan/apis/aptos-node-api.md) · [All operations](https://skmtc.net/apscan/apis/aptos-node-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/apscan/aptos-node-api/revisions/2953a57ebb77/schema)
