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

# Get raw table item

`POST /tables/{table_handle}/raw_item`

Get a table item at a specific ledger version from the table identified by {table_handle}
in the path and the "key" (RawTableItemRequest) provided in the request body.

The `get_raw_table_item` requires only a serialized key comparing to the full move type information
comparing to the `get_table_item` api, and can only return the query in the bcs format.

The Lumio nodes prune account state history, via a configurable time window.
If the requested ledger version has been pruned, the server responds with a 410.

## Path parameters

- `table_handle` string, hex, required — A hex encoded 32 byte Lumio 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.

## Query parameters

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

## Request body

- RawTableItemRequest — Table Item request for the GetTableItemRaw API
  - `key` string, hex, required — All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with two hex digits per byte. Unlike the `Address` type, HexEncodedBytes will not trim any zeros.

## 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`, `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 Lumio 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/lumio-labs/lumio-core/blob/main/third_party/move/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`
- `403`
- `404`
- `410`
- `500`
- `503`

---

[API](https://skmtc.net/pontem-network/apis/lumio-node-api.md) · [All operations](https://skmtc.net/pontem-network/apis/lumio-node-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pontem-network/lumio-node-api/revisions/385d1aaf056f/schema)
