openapi: 3.0.0 info: title: Aptos Node Accounts View API description: The Aptos Node API is a RESTful API for client applications to interact with the Aptos blockchain. version: 1.2.0 contact: name: Aptos Labs url: https://github.com/aptos-labs/aptos-core license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: /v1 tags: - name: View description: View functions, paths: /view: post: tags: - View summary: Execute view function of a module description: 'Execute the Move function with the given parameters and return its execution result. The Aptos nodes prune account state history, via a configurable time window. If the requested ledger version has been pruned, the server responds with a 410.' parameters: - name: ledger_version schema: $ref: '#/components/schemas/U64' in: query description: 'Ledger version to get state of account If not provided, it will be the latest version' required: false deprecated: false explode: true requestBody: content: application/json: schema: $ref: '#/components/schemas/ViewRequest' application/x.aptos.view_function+bcs: schema: type: array items: type: integer format: uint8 required: true responses: '200': description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/MoveValue' application/x-bcs: schema: type: array items: type: integer format: uint8 headers: X-APTOS-CHAIN-ID: description: Chain ID of the current chain required: true deprecated: false schema: type: integer format: uint8 X-APTOS-LEDGER-VERSION: description: Current ledger version of the chain required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: description: Oldest non-pruned ledger version of the chain required: true deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: description: Current timestamp of the chain required: true deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: description: Current epoch of the chain required: true deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: description: Current block height of the chain required: true deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: description: Oldest non-pruned block height of the chain required: true deprecated: false schema: type: integer format: uint64 X-APTOS-GAS-USED: description: The cost of the call in terms of gas deprecated: false schema: type: integer format: uint64 X-APTOS-CURSOR: description: 'Cursor to be used for endpoints that support cursor-based pagination. Pass this to the `start` field of the endpoint on the next call to get the next page of results.' deprecated: false schema: type: string X-APTOS-TXN-ENCRYPTION-KEY: description: Per-epoch transaction encryption key (hex-encoded) deprecated: false schema: type: string '400': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' headers: X-APTOS-CHAIN-ID: description: Chain ID of the current chain deprecated: false schema: type: integer format: uint8 X-APTOS-LEDGER-VERSION: description: Current ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: description: Oldest non-pruned ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: description: Current timestamp of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: description: Current epoch of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: description: Current block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: description: Oldest non-pruned block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-GAS-USED: description: The cost of the call in terms of gas deprecated: false schema: type: integer format: uint64 X-APTOS-TXN-ENCRYPTION-KEY: description: Per-epoch transaction encryption key (hex-encoded) deprecated: false schema: type: string '403': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' headers: X-APTOS-CHAIN-ID: description: Chain ID of the current chain deprecated: false schema: type: integer format: uint8 X-APTOS-LEDGER-VERSION: description: Current ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: description: Oldest non-pruned ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: description: Current timestamp of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: description: Current epoch of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: description: Current block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: description: Oldest non-pruned block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-GAS-USED: description: The cost of the call in terms of gas deprecated: false schema: type: integer format: uint64 X-APTOS-TXN-ENCRYPTION-KEY: description: Per-epoch transaction encryption key (hex-encoded) deprecated: false schema: type: string '404': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' headers: X-APTOS-CHAIN-ID: description: Chain ID of the current chain deprecated: false schema: type: integer format: uint8 X-APTOS-LEDGER-VERSION: description: Current ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: description: Oldest non-pruned ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: description: Current timestamp of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: description: Current epoch of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: description: Current block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: description: Oldest non-pruned block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-GAS-USED: description: The cost of the call in terms of gas deprecated: false schema: type: integer format: uint64 X-APTOS-TXN-ENCRYPTION-KEY: description: Per-epoch transaction encryption key (hex-encoded) deprecated: false schema: type: string '410': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' headers: X-APTOS-CHAIN-ID: description: Chain ID of the current chain deprecated: false schema: type: integer format: uint8 X-APTOS-LEDGER-VERSION: description: Current ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: description: Oldest non-pruned ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: description: Current timestamp of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: description: Current epoch of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: description: Current block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: description: Oldest non-pruned block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-GAS-USED: description: The cost of the call in terms of gas deprecated: false schema: type: integer format: uint64 X-APTOS-TXN-ENCRYPTION-KEY: description: Per-epoch transaction encryption key (hex-encoded) deprecated: false schema: type: string '500': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' headers: X-APTOS-CHAIN-ID: description: Chain ID of the current chain deprecated: false schema: type: integer format: uint8 X-APTOS-LEDGER-VERSION: description: Current ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: description: Oldest non-pruned ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: description: Current timestamp of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: description: Current epoch of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: description: Current block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: description: Oldest non-pruned block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-GAS-USED: description: The cost of the call in terms of gas deprecated: false schema: type: integer format: uint64 X-APTOS-TXN-ENCRYPTION-KEY: description: Per-epoch transaction encryption key (hex-encoded) deprecated: false schema: type: string '503': description: '' content: application/json: schema: $ref: '#/components/schemas/AptosError' headers: X-APTOS-CHAIN-ID: description: Chain ID of the current chain deprecated: false schema: type: integer format: uint8 X-APTOS-LEDGER-VERSION: description: Current ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-OLDEST-VERSION: description: Oldest non-pruned ledger version of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-LEDGER-TIMESTAMPUSEC: description: Current timestamp of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-EPOCH: description: Current epoch of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-BLOCK-HEIGHT: description: Current block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-OLDEST-BLOCK-HEIGHT: description: Oldest non-pruned block height of the chain deprecated: false schema: type: integer format: uint64 X-APTOS-GAS-USED: description: The cost of the call in terms of gas deprecated: false schema: type: integer format: uint64 X-APTOS-TXN-ENCRYPTION-KEY: description: Per-epoch transaction encryption key (hex-encoded) deprecated: false schema: type: string operationId: view components: schemas: I256: type: string format: int256 description: 'A string containing a 256-bit signed integer. We represent i256 values as a string to ensure compatibility with languages such as JavaScript that do not parse i256s in JSON natively. ' example: '-32425224034' U64: type: string format: uint64 description: '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. ' example: '32425224034' U128: type: string format: uint128 description: 'A string containing a 128-bit unsigned integer. We represent u128 values as a string to ensure compatibility with languages such as JavaScript that do not parse u128s in JSON natively. ' example: '340282366920938463463374607431768211454' AptosErrorCode: type: string description: 'These codes provide more granular error information beyond just the HTTP status code of the response.' enum: - account_not_found - resource_not_found - module_not_found - struct_field_not_found - version_not_found - transaction_not_found - table_item_not_found - block_not_found - state_value_not_found - version_pruned - block_pruned - invalid_input - invalid_transaction_update - sequence_number_too_old - vm_error - rejected_by_filter - health_check_failed - mempool_is_full - rate_limited - internal_error - web_framework_error - bcs_not_supported - api_disabled HexEncodedBytes: type: string format: hex description: 'All bytes (Vec) 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. ' example: 61959483996478237799081788855878961092127547100767458402256961684167818091681 AptosError: type: object description: 'This is the generic struct we use for all API errors, it contains a string message and an Aptos API specific error code.' required: - message - error_code properties: message: type: string description: A message describing the error error_code: $ref: '#/components/schemas/AptosErrorCode' vm_error_code: type: integer format: uint64 description: A code providing VM error details when submitting transactions to the VM MoveType: type: string description: "String representation of an on-chain Move type tag that is exposed in transaction payload.\n Values:\n - bool\n - u8\n - u16\n - u32\n - u64\n - u128\n - u256\n - i8\n - i16\n - i32\n - i64\n - i128\n - i256\n - address\n - signer\n - vector: `vector<{non-reference MoveTypeId}>`\n - struct: `{address}::{module_name}::{struct_name}::<{generic types}>`\n\n Vector type value examples:\n - `vector`\n - `vector>`\n - `vector<0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>>`\n\n Struct type value examples:\n - `0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>\n - `0x1::account::Account`\n\n Note:\n 1. Empty chars should be ignored when comparing 2 struct tag ids.\n 2. When used in an URL path, should be encoded by url-encoding (AKA percent-encoding).\n" pattern: ^(bool|u8|u16|u32|u64|u128|u256|i8|i16|i32|i64|i128|i256|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$ Address: type: string format: hex description: 'A hex encoded 32 byte Aptos 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. ' example: 61959483996478237799081788855878961092127547100767458402256961684167818091681 I128: type: string format: int128 description: 'A string containing a 128-bit signed integer. We represent i128 values as a string to ensure compatibility with languages such as JavaScript that do not parse i128s in JSON natively. ' example: '-32425224034' ViewRequest: type: object description: View request for the Move View Function API required: - function - type_arguments - arguments properties: function: $ref: '#/components/schemas/EntryFunctionId' type_arguments: type: array description: Type arguments of the function items: $ref: '#/components/schemas/MoveType' arguments: type: array description: Arguments of the function items: {} U256: type: string format: uint256 description: 'A string containing a 256-bit unsigned integer. We represent u256 values as a string to ensure compatibility with languages such as JavaScript that do not parse u256s in JSON natively. ' example: '340282366920938463463374607431768211454' EntryFunctionId: type: string description: 'Entry function id is string representation of a entry function defined on-chain. Format: `{address}::{module name}::{function name}` Both `module name` and `function name` are case-sensitive. ' example: 0x1::aptos_coin::transfer I64: type: string format: int64 description: 'A string containing a 64-bit signed integer. We represent i64 values as a string to ensure compatibility with languages such as JavaScript that do not parse i64s in JSON natively. ' example: '-32425224034' MoveValue: type: object description: An enum of the possible Move value types anyOf: - type: integer format: uint8 - type: integer format: uint16 - type: integer format: uint32 - $ref: '#/components/schemas/U64' - $ref: '#/components/schemas/U128' - $ref: '#/components/schemas/U256' - type: integer format: int8 - type: integer format: int16 - type: integer format: int32 - $ref: '#/components/schemas/I64' - $ref: '#/components/schemas/I128' - $ref: '#/components/schemas/I256' - type: boolean - $ref: '#/components/schemas/Address' - type: array items: $ref: '#/components/schemas/MoveValue' - $ref: '#/components/schemas/HexEncodedBytes' - $ref: '#/components/schemas/MoveStructValue' - type: string MoveStructValue: 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`, `u32`, `i8`, `i16`, and `i32` type value is serialized into `integer`.\n\nMove `u64`, `u128`, `u256`, `i64`, `i128`, and `i256` type value is serialized into `string`.\n\nMove `address` type value (32 byte Aptos 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` which is serialized into a\nHexEncodedBytes string with `0x` prefix.\nFor example:\n - `vector{255, 255}` => `[\"255\", \"255\"]`\n - `vector{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](https://github.com/aptos-labs/aptos-core/blob/main/third_party/move/move-stdlib/docs/ascii.md)\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" example: authentication_key: '0x0000000000000000000000000000000000000000000000000000000000000001' coin_register_events: counter: '0' guid: id: addr: '0x1' creation_num: '0' self_address: '0x1' sequence_number: '0' externalDocs: url: https://github.com/aptos-labs/aptos-core