# Tables

Tables Api

## &#x20;Get table item (v2)

> &#x20;\# Example of body\
> &#x20;\`\`\`json\
> &#x20;{\
> &#x20;  "key\_type": "u64",\
> &#x20;  "value\_type": "0x1::multisig\_voting::Proposal<0x1::governance\_proposal::GovernanceProposal>",\
> &#x20;  "key": "12"\
> &#x20;}\
> \`\`\`\
> &#x20;\`\`\`json\
> &#x20;{\
> &#x20;  "key\_type": "u64",\
> &#x20;  "value\_type": "0x1::string::String",\
> &#x20;  "key": "42"\
> &#x20;}\
> \`\`\`

OpenAPI:

````json
{"openapi":"3.1.0","info":{"title":"Supra RPC Node","version":"7ef7f69bd2f0504946e6345a36f83b1d284b12ab"},"tags":[{"name":"Tables","description":"Tables Api"}],"servers":[{"url":"https://rpc-mainnet.supra.com","description":"RPC For Supra Scan and Faucet"},{"url":"https://rpc-mainnet1.supra.com","description":"RPC For nodeops group1"},{"url":"https://rpc-mainnet2.supra.com","description":"RPC For nodeops group2"},{"url":"https://rpc-mainnet3.supra.com","description":"RPC For nodeops group3"},{"url":"https://rpc-mainnet4.supra.com","description":"RPC For nodeops group4"},{"url":"https://rpc-mainnet5.supra.com","description":"RPC For nodeops group5"},{"url":"https://rpc-wallet-mainnet.supra.com","description":"RPC For Supra Wallet Mainnet"},{"url":"https://rpc-suprascan-mainnet.supra.com","description":"RPC For SupraScan Mainnet"},{"url":"http://localhost:27000","description":"LocalNet"}],"paths":{"/rpc/v2/tables/{table_handle}/item":{"post":{"tags":["Tables"],"summary":" Get table item (v2)","description":" # Example of body\n ```json\n {\n   \"key_type\": \"u64\",\n   \"value_type\": \"0x1::multisig_voting::Proposal<0x1::governance_proposal::GovernanceProposal>\",\n   \"key\": \"12\"\n }\n```\n ```json\n {\n   \"key_type\": \"u64\",\n   \"value_type\": \"0x1::string::String\",\n   \"key\": \"42\"\n }\n```","operationId":"table_item_by_key","parameters":[{"name":"table_handle","in":"path","description":"Table handle to lookup. Should be retrieved using account resources API.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Request containing item key and value types and item key itself","content":{"application/json":{"schema":{"type":"object","description":"Describes body of the Table item request by item key.","required":["key_type","value_type","key"],"properties":{"key_type":{"type":"string","description":"Move Type describing key."},"value_type":{"type":"string","description":"Move Type describing the pointing value type."},"key":{"type":"string","description":"Key of the item being queried."}}}}},"required":true},"responses":{"200":{"description":"Item of the table","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"A u8 Move type","required":["U8"],"properties":{"U8":{"type":"integer","format":"u-int8","description":"A u8 Move type","minimum":0}}},{"type":"object","required":["U16"],"properties":{"U16":{"type":"integer","format":"u-int16","minimum":0}}},{"type":"object","required":["U32"],"properties":{"U32":{"type":"integer","format":"u-int32","minimum":0}}},{"type":"object","description":"A string encoded U64.","required":["U64"],"properties":{"U64":{"type":"string","description":"A string encoded U64."}}},{"type":"object","description":"A string encoded U128.","required":["U128"],"properties":{"U128":{"type":"string","description":"A string encoded U128."}}},{"type":"object","description":"A string encoded U256.","required":["U256"],"properties":{"U256":{"type":"string","description":"A string encoded U256."}}},{"type":"object","description":"A bool Move type","required":["Bool"],"properties":{"Bool":{"type":"boolean","description":"A bool Move type"}}},{"type":"object","description":"The address of an account\n\nThis is represented in a string as a 64 character hex string, sometimes\nshortened by stripping leading 0s, and adding a 0x.","required":["Address"],"properties":{"Address":{"type":"string","description":"The address of an account\n\nThis is represented in a string as a 64 character hex string, sometimes\nshortened by stripping leading 0s, and adding a 0x."}}},{"type":"object","description":"A vector Move type.  May have any other [`MoveValue`] nested inside it","required":["Vector"],"properties":{"Vector":{"type":"array","items":{"type":"string"},"description":"A vector Move type.  May have any other [`MoveValue`] nested inside it"}}},{"type":"object","description":"All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with\ntwo hex digits per byte.\n\nUnlike the `Address` type, HexEncodedBytes will not trim any zeros.","required":["Bytes"],"properties":{"Bytes":{"type":"string","description":"All bytes (Vec<u8>) data is represented as hex-encoded string prefixed with `0x` and fulfilled with\ntwo hex digits per byte.\n\nUnlike the `Address` type, HexEncodedBytes will not trim any zeros."}}},{"type":"object","description":"This is a JSON representation of some data within an account resource. More specifically,\nit is a map of strings to arbitrary JSON values / objects, where the keys are top level\nfields within the given resource.\n\nTo clarify, you might query for 0x1::account::Account and see the example data.\n\nMove `bool` type value is serialized into `boolean`.\n\nMove `u8`, `u16` and `u32` type value is serialized into `integer`.\n\nMove `u64`, `u128` and `u256` type value is serialized into `string`.\n\nMove `address` type value (32 byte Supra account address) is serialized into a HexEncodedBytes string.\nFor example:\n  - `0x1`\n  - `0x1668f6be25668c1a17cd8caf6b8d2f25`\n\nMove `vector` type value is serialized into `array`, except `vector<u8>` which is serialized into a\nHexEncodedBytes string with `0x` prefix.\nFor example:\n  - `vector<u64>{255, 255}` => `[\\\"255\\\", \\\"255\\\"]`\n  - `vector<u8>{255, 255}` => `0xffff`\n\nMove `struct` type value is serialized into `object` that looks like this (except some Move stdlib types, see the following section):\n  ```json\n  {\n    field1_name: field1_value,\n    field2_name: field2_value,\n    ......\n  }\n  ```\n\nFor example:\n  `{ \\\"created\\\": \\\"0xa550c18\\\", \\\"role_id\\\": \\\"0\\\" }`\n\n**Special serialization for Move stdlib types**:\n  - [0x1::string::String]\n    is serialized into `string`. For example, struct value `0x1::string::String{bytes: b\\\"Hello World!\\\"}`\n    is serialized as `\\\"Hello World!\\\"` in JSON.\n","required":["Struct"],"properties":{"Struct":{"type":"object","description":"This is a JSON representation of some data within an account resource. More specifically,\nit is a map of strings to arbitrary JSON values / objects, where the keys are top level\nfields within the given resource.\n\nTo clarify, you might query for 0x1::account::Account and see the example data.\n\nMove `bool` type value is serialized into `boolean`.\n\nMove `u8`, `u16` and `u32` type value is serialized into `integer`.\n\nMove `u64`, `u128` and `u256` type value is serialized into `string`.\n\nMove `address` type value (32 byte Supra account address) is serialized into a HexEncodedBytes string.\nFor example:\n  - `0x1`\n  - `0x1668f6be25668c1a17cd8caf6b8d2f25`\n\nMove `vector` type value is serialized into `array`, except `vector<u8>` which is serialized into a\nHexEncodedBytes string with `0x` prefix.\nFor example:\n  - `vector<u64>{255, 255}` => `[\\\"255\\\", \\\"255\\\"]`\n  - `vector<u8>{255, 255}` => `0xffff`\n\nMove `struct` type value is serialized into `object` that looks like this (except some Move stdlib types, see the following section):\n  ```json\n  {\n    field1_name: field1_value,\n    field2_name: field2_value,\n    ......\n  }\n  ```\n\nFor example:\n  `{ \\\"created\\\": \\\"0xa550c18\\\", \\\"role_id\\\": \\\"0\\\" }`\n\n**Special serialization for Move stdlib types**:\n  - [0x1::string::String]\n    is serialized into `string`. For example, struct value `0x1::string::String{bytes: b\\\"Hello World!\\\"}`\n    is serialized as `\\\"Hello World!\\\"` in JSON.\n"}}},{"type":"object","description":"A string Move type","required":["String"],"properties":{"String":{"type":"string","description":"A string Move type"}}}],"description":"An enum of the possible Move value types."}}}}}}}}}
````
