> ## Documentation Index
> Fetch the complete documentation index at: https://docs.validationcloud.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Blocks by Version

> This endpoint allows you to get the transactions in a block
and the corresponding block information given a version in the block.

Transactions are limited by max default transactions size.  If not all transactions
are present, the user will need to query for the rest of the transactions via the
get transactions API.

If the block has been pruned, it will return a 410

Get the transactions in a block and the corresponding block information given a version in the block.

This method will use `50` [Compute Units](/nodeapi/about/billing).

***


## OpenAPI

````yaml nodeapi/openapi/document-aptos-with-v1-fix.json GET /blocks/by_version/{version}
openapi: 3.0.0
info:
  title: Aptos Node 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: https://mainnet.aptos.validationcloud.io/v1/<YOUR_API_KEY_HERE>/v1
security: []
tags:
  - name: Accounts
    description: Access to accounts, resources, and modules
  - name: Blocks
    description: Access to blocks
  - name: Events
    description: Access to events
  - name: General
    description: General information
  - name: Tables
    description: Access to tables
  - name: Transactions
    description: Access to transactions
  - name: View
    description: View functions,
externalDocs:
  url: https://github.com/aptos-labs/aptos-core
paths:
  /blocks/by_version/{version}:
    get:
      tags:
        - Blocks
      summary: Get blocks by version
      description: >-
        This endpoint allows you to get the transactions in a block

        and the corresponding block information given a version in the block.


        Transactions are limited by max default transactions size.  If not all
        transactions

        are present, the user will need to query for the rest of the
        transactions via the

        get transactions API.


        If the block has been pruned, it will return a 410
      operationId: get_block_by_version
      parameters:
        - name: version
          schema:
            type: integer
            format: uint64
          in: path
          description: Ledger version to lookup block information for.
          required: true
          deprecated: false
          explode: true
        - name: with_transactions
          schema:
            type: boolean
          in: query
          description: |-
            If set to true, include all transactions in the block

            If not provided, no transactions will be retrieved
          required: false
          deprecated: false
          explode: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Block'
            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-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
        '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
        '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
        '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
        '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
        '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
        '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
components:
  schemas:
    Block:
      type: object
      description: |-
        A Block with or without transactions

        This contains the information about a transactions along with
        associated transactions if requested
      required:
        - block_height
        - block_hash
        - block_timestamp
        - first_version
        - last_version
      properties:
        block_height:
          $ref: '#/components/schemas/U64'
        block_hash:
          $ref: '#/components/schemas/HashValue'
        block_timestamp:
          $ref: '#/components/schemas/U64'
        first_version:
          $ref: '#/components/schemas/U64'
        last_version:
          $ref: '#/components/schemas/U64'
        transactions:
          type: array
          description: The transactions in the block in sequential order
          items:
            $ref: '#/components/schemas/Transaction'
    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
    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'
    HashValue:
      type: string
    Transaction:
      type: object
      description: Enum of the different types of transactions in Aptos
      oneOf:
        - $ref: '#/components/schemas/Transaction_PendingTransaction'
        - $ref: '#/components/schemas/Transaction_UserTransaction'
        - $ref: '#/components/schemas/Transaction_GenesisTransaction'
        - $ref: '#/components/schemas/Transaction_BlockMetadataTransaction'
        - $ref: '#/components/schemas/Transaction_StateCheckpointTransaction'
      discriminator:
        propertyName: type
        mapping:
          pending_transaction: '#/components/schemas/Transaction_PendingTransaction'
          user_transaction: '#/components/schemas/Transaction_UserTransaction'
          genesis_transaction: '#/components/schemas/Transaction_GenesisTransaction'
          block_metadata_transaction: '#/components/schemas/Transaction_BlockMetadataTransaction'
          state_checkpoint_transaction: '#/components/schemas/Transaction_StateCheckpointTransaction'
    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
        - version_pruned
        - block_pruned
        - invalid_input
        - invalid_transaction_update
        - sequence_number_too_old
        - vm_error
        - health_check_failed
        - mempool_is_full
        - internal_error
        - web_framework_error
        - bcs_not_supported
        - api_disabled
    Transaction_PendingTransaction:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: pending_transaction
        - $ref: '#/components/schemas/PendingTransaction'
    Transaction_UserTransaction:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: user_transaction
        - $ref: '#/components/schemas/UserTransaction'
    Transaction_GenesisTransaction:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: genesis_transaction
        - $ref: '#/components/schemas/GenesisTransaction'
    Transaction_BlockMetadataTransaction:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: block_metadata_transaction
        - $ref: '#/components/schemas/BlockMetadataTransaction'
    Transaction_StateCheckpointTransaction:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: state_checkpoint_transaction
        - $ref: '#/components/schemas/StateCheckpointTransaction'
    PendingTransaction:
      type: object
      description: A transaction waiting in mempool
      required:
        - hash
        - sender
        - sequence_number
        - max_gas_amount
        - gas_unit_price
        - expiration_timestamp_secs
        - payload
      properties:
        hash:
          $ref: '#/components/schemas/HashValue'
        sender:
          $ref: '#/components/schemas/Address'
        sequence_number:
          $ref: '#/components/schemas/U64'
        max_gas_amount:
          $ref: '#/components/schemas/U64'
        gas_unit_price:
          $ref: '#/components/schemas/U64'
        expiration_timestamp_secs:
          $ref: '#/components/schemas/U64'
        payload:
          $ref: '#/components/schemas/TransactionPayload'
        signature:
          $ref: '#/components/schemas/TransactionSignature'
    UserTransaction:
      type: object
      description: A transaction submitted by a user to change the state of the blockchain
      required:
        - version
        - hash
        - state_change_hash
        - event_root_hash
        - gas_used
        - success
        - vm_status
        - accumulator_root_hash
        - changes
        - sender
        - sequence_number
        - max_gas_amount
        - gas_unit_price
        - expiration_timestamp_secs
        - payload
        - events
        - timestamp
      properties:
        version:
          $ref: '#/components/schemas/U64'
        hash:
          $ref: '#/components/schemas/HashValue'
        state_change_hash:
          $ref: '#/components/schemas/HashValue'
        event_root_hash:
          $ref: '#/components/schemas/HashValue'
        state_checkpoint_hash:
          $ref: '#/components/schemas/HashValue'
        gas_used:
          $ref: '#/components/schemas/U64'
        success:
          type: boolean
          description: Whether the transaction was successful
        vm_status:
          type: string
          description: >-
            The VM status of the transaction, can tell useful information in a
            failure
        accumulator_root_hash:
          $ref: '#/components/schemas/HashValue'
        changes:
          type: array
          description: Final state of resources changed by the transaction
          items:
            $ref: '#/components/schemas/WriteSetChange'
        sender:
          $ref: '#/components/schemas/Address'
        sequence_number:
          $ref: '#/components/schemas/U64'
        max_gas_amount:
          $ref: '#/components/schemas/U64'
        gas_unit_price:
          $ref: '#/components/schemas/U64'
        expiration_timestamp_secs:
          $ref: '#/components/schemas/U64'
        payload:
          $ref: '#/components/schemas/TransactionPayload'
        signature:
          $ref: '#/components/schemas/TransactionSignature'
        events:
          type: array
          description: Events generated by the transaction
          items:
            $ref: '#/components/schemas/Event'
        timestamp:
          $ref: '#/components/schemas/U64'
    GenesisTransaction:
      type: object
      description: |-
        The genesis transaction

        This only occurs at the genesis transaction (version 0)
      required:
        - version
        - hash
        - state_change_hash
        - event_root_hash
        - gas_used
        - success
        - vm_status
        - accumulator_root_hash
        - changes
        - payload
        - events
      properties:
        version:
          $ref: '#/components/schemas/U64'
        hash:
          $ref: '#/components/schemas/HashValue'
        state_change_hash:
          $ref: '#/components/schemas/HashValue'
        event_root_hash:
          $ref: '#/components/schemas/HashValue'
        state_checkpoint_hash:
          $ref: '#/components/schemas/HashValue'
        gas_used:
          $ref: '#/components/schemas/U64'
        success:
          type: boolean
          description: Whether the transaction was successful
        vm_status:
          type: string
          description: >-
            The VM status of the transaction, can tell useful information in a
            failure
        accumulator_root_hash:
          $ref: '#/components/schemas/HashValue'
        changes:
          type: array
          description: Final state of resources changed by the transaction
          items:
            $ref: '#/components/schemas/WriteSetChange'
        payload:
          $ref: '#/components/schemas/GenesisPayload'
        events:
          type: array
          description: Events emitted during genesis
          items:
            $ref: '#/components/schemas/Event'
    BlockMetadataTransaction:
      type: object
      description: |-
        A block metadata transaction

        This signifies the beginning of a block, and contains information
        about the specific block
      required:
        - version
        - hash
        - state_change_hash
        - event_root_hash
        - gas_used
        - success
        - vm_status
        - accumulator_root_hash
        - changes
        - id
        - epoch
        - round
        - events
        - previous_block_votes_bitvec
        - proposer
        - failed_proposer_indices
        - timestamp
      properties:
        version:
          $ref: '#/components/schemas/U64'
        hash:
          $ref: '#/components/schemas/HashValue'
        state_change_hash:
          $ref: '#/components/schemas/HashValue'
        event_root_hash:
          $ref: '#/components/schemas/HashValue'
        state_checkpoint_hash:
          $ref: '#/components/schemas/HashValue'
        gas_used:
          $ref: '#/components/schemas/U64'
        success:
          type: boolean
          description: Whether the transaction was successful
        vm_status:
          type: string
          description: >-
            The VM status of the transaction, can tell useful information in a
            failure
        accumulator_root_hash:
          $ref: '#/components/schemas/HashValue'
        changes:
          type: array
          description: Final state of resources changed by the transaction
          items:
            $ref: '#/components/schemas/WriteSetChange'
        id:
          $ref: '#/components/schemas/HashValue'
        epoch:
          $ref: '#/components/schemas/U64'
        round:
          $ref: '#/components/schemas/U64'
        events:
          type: array
          description: The events emitted at the block creation
          items:
            $ref: '#/components/schemas/Event'
        previous_block_votes_bitvec:
          type: array
          description: Previous block votes
          items:
            type: integer
            format: uint8
        proposer:
          $ref: '#/components/schemas/Address'
        failed_proposer_indices:
          type: array
          description: The indices of the proposers who failed to propose
          items:
            type: integer
            format: uint32
        timestamp:
          $ref: '#/components/schemas/U64'
    StateCheckpointTransaction:
      type: object
      description: A state checkpoint transaction
      required:
        - version
        - hash
        - state_change_hash
        - event_root_hash
        - gas_used
        - success
        - vm_status
        - accumulator_root_hash
        - changes
        - timestamp
      properties:
        version:
          $ref: '#/components/schemas/U64'
        hash:
          $ref: '#/components/schemas/HashValue'
        state_change_hash:
          $ref: '#/components/schemas/HashValue'
        event_root_hash:
          $ref: '#/components/schemas/HashValue'
        state_checkpoint_hash:
          $ref: '#/components/schemas/HashValue'
        gas_used:
          $ref: '#/components/schemas/U64'
        success:
          type: boolean
          description: Whether the transaction was successful
        vm_status:
          type: string
          description: >-
            The VM status of the transaction, can tell useful information in a
            failure
        accumulator_root_hash:
          $ref: '#/components/schemas/HashValue'
        changes:
          type: array
          description: Final state of resources changed by the transaction
          items:
            $ref: '#/components/schemas/WriteSetChange'
        timestamp:
          $ref: '#/components/schemas/U64'
    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: '0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 '
    TransactionPayload:
      type: object
      description: An enum of the possible transaction payloads
      oneOf:
        - $ref: '#/components/schemas/TransactionPayload_EntryFunctionPayload'
        - $ref: '#/components/schemas/TransactionPayload_ScriptPayload'
        - $ref: '#/components/schemas/TransactionPayload_ModuleBundlePayload'
        - $ref: '#/components/schemas/TransactionPayload_MultisigPayload'
      discriminator:
        propertyName: type
        mapping:
          entry_function_payload: '#/components/schemas/TransactionPayload_EntryFunctionPayload'
          script_payload: '#/components/schemas/TransactionPayload_ScriptPayload'
          module_bundle_payload: '#/components/schemas/TransactionPayload_ModuleBundlePayload'
          multisig_payload: '#/components/schemas/TransactionPayload_MultisigPayload'
    TransactionSignature:
      type: object
      description: An enum representing the different transaction signatures available
      oneOf:
        - $ref: '#/components/schemas/TransactionSignature_Ed25519Signature'
        - $ref: '#/components/schemas/TransactionSignature_MultiEd25519Signature'
        - $ref: '#/components/schemas/TransactionSignature_MultiAgentSignature'
      discriminator:
        propertyName: type
        mapping:
          ed25519_signature: '#/components/schemas/TransactionSignature_Ed25519Signature'
          multi_ed25519_signature: '#/components/schemas/TransactionSignature_MultiEd25519Signature'
          multi_agent_signature: '#/components/schemas/TransactionSignature_MultiAgentSignature'
    WriteSetChange:
      type: object
      description: A final state change of a transaction on a resource or module
      oneOf:
        - $ref: '#/components/schemas/WriteSetChange_DeleteModule'
        - $ref: '#/components/schemas/WriteSetChange_DeleteResource'
        - $ref: '#/components/schemas/WriteSetChange_DeleteTableItem'
        - $ref: '#/components/schemas/WriteSetChange_WriteModule'
        - $ref: '#/components/schemas/WriteSetChange_WriteResource'
        - $ref: '#/components/schemas/WriteSetChange_WriteTableItem'
      discriminator:
        propertyName: type
        mapping:
          delete_module: '#/components/schemas/WriteSetChange_DeleteModule'
          delete_resource: '#/components/schemas/WriteSetChange_DeleteResource'
          delete_table_item: '#/components/schemas/WriteSetChange_DeleteTableItem'
          write_module: '#/components/schemas/WriteSetChange_WriteModule'
          write_resource: '#/components/schemas/WriteSetChange_WriteResource'
          write_table_item: '#/components/schemas/WriteSetChange_WriteTableItem'
    Event:
      type: object
      description: An event from a transaction
      required:
        - guid
        - sequence_number
        - type
        - data
      properties:
        guid:
          $ref: '#/components/schemas/EventGuid'
        sequence_number:
          $ref: '#/components/schemas/U64'
        type:
          $ref: '#/components/schemas/MoveType'
        data:
          description: The JSON representation of the event
    GenesisPayload:
      type: object
      description: The writeset payload of the Genesis transaction
      oneOf:
        - $ref: '#/components/schemas/GenesisPayload_WriteSetPayload'
      discriminator:
        propertyName: type
        mapping:
          write_set_payload: '#/components/schemas/GenesisPayload_WriteSetPayload'
    TransactionPayload_EntryFunctionPayload:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: entry_function_payload
        - $ref: '#/components/schemas/EntryFunctionPayload'
    TransactionPayload_ScriptPayload:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: script_payload
        - $ref: '#/components/schemas/ScriptPayload'
    TransactionPayload_ModuleBundlePayload:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: module_bundle_payload
        - $ref: '#/components/schemas/ModuleBundlePayload'
    TransactionPayload_MultisigPayload:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: multisig_payload
        - $ref: '#/components/schemas/MultisigPayload'
    TransactionSignature_Ed25519Signature:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: ed25519_signature
        - $ref: '#/components/schemas/Ed25519Signature'
    TransactionSignature_MultiEd25519Signature:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: multi_ed25519_signature
        - $ref: '#/components/schemas/MultiEd25519Signature'
    TransactionSignature_MultiAgentSignature:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: multi_agent_signature
        - $ref: '#/components/schemas/MultiAgentSignature'
    WriteSetChange_DeleteModule:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: delete_module
        - $ref: '#/components/schemas/DeleteModule'
    WriteSetChange_DeleteResource:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: delete_resource
        - $ref: '#/components/schemas/DeleteResource'
    WriteSetChange_DeleteTableItem:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: delete_table_item
        - $ref: '#/components/schemas/DeleteTableItem'
    WriteSetChange_WriteModule:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: write_module
        - $ref: '#/components/schemas/WriteModule'
    WriteSetChange_WriteResource:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: write_resource
        - $ref: '#/components/schemas/WriteResource'
    WriteSetChange_WriteTableItem:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: write_table_item
        - $ref: '#/components/schemas/WriteTableItem'
    EventGuid:
      type: object
      required:
        - creation_number
        - account_address
      properties:
        creation_number:
          $ref: '#/components/schemas/U64'
        account_address:
          $ref: '#/components/schemas/Address'
    MoveType:
      type: string
      description: >
        String representation of an on-chain Move type tag that is exposed in
        transaction payload.
            Values:
              - bool
              - u8
              - u16
              - u32
              - u64
              - u128
              - u256
              - 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).
      pattern: ^(bool|u8|u64|u128|address|signer|vector<.+>|0x[0-9a-zA-Z:_<, >]+)$
    GenesisPayload_WriteSetPayload:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: write_set_payload
        - $ref: '#/components/schemas/WriteSetPayload'
    EntryFunctionPayload:
      type: object
      description: Payload which runs a single entry function
      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: {}
    ScriptPayload:
      type: object
      description: Payload which runs a script that can run multiple functions
      required:
        - code
        - type_arguments
        - arguments
      properties:
        code:
          $ref: '#/components/schemas/MoveScriptBytecode'
        type_arguments:
          type: array
          description: Type arguments of the function
          items:
            $ref: '#/components/schemas/MoveType'
        arguments:
          type: array
          description: Arguments of the function
          items: {}
    ModuleBundlePayload:
      type: object
      required:
        - modules
      properties:
        modules:
          type: array
          items:
            $ref: '#/components/schemas/MoveModuleBytecode'
    MultisigPayload:
      type: object
      description: >-
        A multisig transaction that allows an owner of a multisig account to
        execute a pre-approved

        transaction as the multisig account.
      required:
        - multisig_address
      properties:
        multisig_address:
          $ref: '#/components/schemas/Address'
        transaction_payload:
          $ref: '#/components/schemas/MultisigTransactionPayload'
    Ed25519Signature:
      type: object
      description: A single Ed25519 signature
      required:
        - public_key
        - signature
      properties:
        public_key:
          $ref: '#/components/schemas/HexEncodedBytes'
        signature:
          $ref: '#/components/schemas/HexEncodedBytes'
    MultiEd25519Signature:
      type: object
      description: |-
        A Ed25519 multi-sig signature

        This allows k-of-n signing for a transaction
      required:
        - public_keys
        - signatures
        - threshold
        - bitmap
      properties:
        public_keys:
          type: array
          description: The public keys for the Ed25519 signature
          items:
            $ref: '#/components/schemas/HexEncodedBytes'
        signatures:
          type: array
          description: Signature associated with the public keys in the same order
          items:
            $ref: '#/components/schemas/HexEncodedBytes'
        threshold:
          type: integer
          format: uint8
          description: The number of signatures required for a successful transaction
        bitmap:
          $ref: '#/components/schemas/HexEncodedBytes'
    MultiAgentSignature:
      type: object
      description: |-
        Multi agent signature for multi agent transactions

        This allows you to have transactions across multiple accounts
      required:
        - sender
        - secondary_signer_addresses
        - secondary_signers
      properties:
        sender:
          $ref: '#/components/schemas/AccountSignature'
        secondary_signer_addresses:
          type: array
          description: The other involved parties' addresses
          items:
            $ref: '#/components/schemas/Address'
        secondary_signers:
          type: array
          description: >-
            The associated signatures, in the same order as the secondary
            addresses
          items:
            $ref: '#/components/schemas/AccountSignature'
    DeleteModule:
      type: object
      description: Delete a module
      required:
        - address
        - state_key_hash
        - module
      properties:
        address:
          $ref: '#/components/schemas/Address'
        state_key_hash:
          type: string
          description: State key hash
        module:
          $ref: '#/components/schemas/MoveModuleId'
    DeleteResource:
      type: object
      description: Delete a resource
      required:
        - address
        - state_key_hash
        - resource
      properties:
        address:
          $ref: '#/components/schemas/Address'
        state_key_hash:
          type: string
          description: State key hash
        resource:
          $ref: '#/components/schemas/MoveStructTag'
    DeleteTableItem:
      type: object
      description: Delete a table item
      required:
        - state_key_hash
        - handle
        - key
      properties:
        state_key_hash:
          type: string
        handle:
          $ref: '#/components/schemas/HexEncodedBytes'
        key:
          $ref: '#/components/schemas/HexEncodedBytes'
        data:
          $ref: '#/components/schemas/DeletedTableData'
    WriteModule:
      type: object
      description: Write a new module or update an existing one
      required:
        - address
        - state_key_hash
        - data
      properties:
        address:
          $ref: '#/components/schemas/Address'
        state_key_hash:
          type: string
          description: State key hash
        data:
          $ref: '#/components/schemas/MoveModuleBytecode'
    WriteResource:
      type: object
      description: Write a resource or update an existing one
      required:
        - address
        - state_key_hash
        - data
      properties:
        address:
          $ref: '#/components/schemas/Address'
        state_key_hash:
          type: string
          description: State key hash
        data:
          $ref: '#/components/schemas/MoveResource'
    WriteTableItem:
      type: object
      description: Change set to write a table item
      required:
        - state_key_hash
        - handle
        - key
        - value
      properties:
        state_key_hash:
          type: string
        handle:
          $ref: '#/components/schemas/HexEncodedBytes'
        key:
          $ref: '#/components/schemas/HexEncodedBytes'
        value:
          $ref: '#/components/schemas/HexEncodedBytes'
        data:
          $ref: '#/components/schemas/DecodedTableData'
    WriteSetPayload:
      type: object
      description: A writeset payload, used only for genesis
      required:
        - write_set
      properties:
        write_set:
          $ref: '#/components/schemas/WriteSet'
    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
    MoveScriptBytecode:
      type: object
      description: Move script bytecode
      required:
        - bytecode
      properties:
        bytecode:
          $ref: '#/components/schemas/HexEncodedBytes'
        abi:
          $ref: '#/components/schemas/MoveFunction'
    MoveModuleBytecode:
      type: object
      description: Move module bytecode along with it's ABI
      required:
        - bytecode
      properties:
        bytecode:
          $ref: '#/components/schemas/HexEncodedBytes'
        abi:
          $ref: '#/components/schemas/MoveModule'
    MultisigTransactionPayload:
      type: object
      anyOf:
        - $ref: '#/components/schemas/EntryFunctionPayload'
    HexEncodedBytes:
      type: string
      format: hex
      description: >
        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.
      example: '0x88fbd33f54e1126269769780feb24480428179f552e2313fbe571b72e62a1ca1 '
    AccountSignature:
      type: object
      description: >-
        Account signature scheme


        The account signature scheme allows you to have two types of accounts:


        1. A single Ed25519 key account, one private key

        2. A k-of-n multi-Ed25519 key account, multiple private keys, such that
        k-of-n must sign a transaction.
      oneOf:
        - $ref: '#/components/schemas/AccountSignature_Ed25519Signature'
        - $ref: '#/components/schemas/AccountSignature_MultiEd25519Signature'
      discriminator:
        propertyName: type
        mapping:
          ed25519_signature: '#/components/schemas/AccountSignature_Ed25519Signature'
          multi_ed25519_signature: '#/components/schemas/AccountSignature_MultiEd25519Signature'
    MoveModuleId:
      type: string
      description: >
        Move module id is a string representation of Move module.


        Format: `{address}::{module name}`


        `address` should be hex-encoded 32 byte account address that is prefixed
        with `0x`.


        Module name is case-sensitive.
      example: 0x1::aptos_coin
    MoveStructTag:
      type: string
      description: >
        String representation of a MoveStructTag (on-chain Move struct type).
        This exists so you

        can specify MoveStructTags as path / query parameters, e.g. for
        get_events_by_event_handle.


        It is a combination of:
          1. `move_module_address`, `module_name` and `struct_name`, all joined by `::`
          2. `struct generic type parameters` joined by `, `

        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).

        See [doc](https://aptos.dev/concepts/accounts) for more details.
      example: 0x1::coin::CoinStore<0x1::aptos_coin::AptosCoin>
      pattern: ^0x[0-9a-zA-Z:_<>]+$
    DeletedTableData:
      type: object
      description: Deleted table data
      required:
        - key
        - key_type
      properties:
        key:
          description: Deleted key
        key_type:
          type: string
          description: Deleted key type
    MoveResource:
      type: object
      description: A parsed Move resource
      required:
        - type
        - data
      properties:
        type:
          $ref: '#/components/schemas/MoveStructTag'
        data:
          $ref: '#/components/schemas/MoveStructValue'
    DecodedTableData:
      type: object
      description: Decoded table data
      required:
        - key
        - key_type
        - value
        - value_type
      properties:
        key:
          description: Key of table in JSON
        key_type:
          type: string
          description: Type of key
        value:
          description: Value of table in JSON
        value_type:
          type: string
          description: Type of value
    WriteSet:
      type: object
      description: The associated writeset with a payload
      oneOf:
        - $ref: '#/components/schemas/WriteSet_ScriptWriteSet'
        - $ref: '#/components/schemas/WriteSet_DirectWriteSet'
      discriminator:
        propertyName: type
        mapping:
          script_write_set: '#/components/schemas/WriteSet_ScriptWriteSet'
          direct_write_set: '#/components/schemas/WriteSet_DirectWriteSet'
    MoveFunction:
      type: object
      description: Move function
      required:
        - name
        - visibility
        - is_entry
        - generic_type_params
        - params
        - return
      properties:
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        visibility:
          $ref: '#/components/schemas/MoveFunctionVisibility'
        is_entry:
          type: boolean
          description: >-
            Whether the function can be called as an entry function directly in
            a transaction
        generic_type_params:
          type: array
          description: Generic type params associated with the Move function
          items:
            $ref: '#/components/schemas/MoveFunctionGenericTypeParam'
        params:
          type: array
          description: Parameters associated with the move function
          items:
            $ref: '#/components/schemas/MoveType'
        return:
          type: array
          description: Return type of the function
          items:
            $ref: '#/components/schemas/MoveType'
    MoveModule:
      type: object
      description: A Move module
      required:
        - address
        - name
        - friends
        - exposed_functions
        - structs
      properties:
        address:
          $ref: '#/components/schemas/Address'
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        friends:
          type: array
          description: Friends of the module
          items:
            $ref: '#/components/schemas/MoveModuleId'
        exposed_functions:
          type: array
          description: Public functions of the module
          items:
            $ref: '#/components/schemas/MoveFunction'
        structs:
          type: array
          description: Structs of the module
          items:
            $ref: '#/components/schemas/MoveStruct'
    AccountSignature_Ed25519Signature:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: ed25519_signature
        - $ref: '#/components/schemas/Ed25519Signature'
    AccountSignature_MultiEd25519Signature:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: multi_ed25519_signature
        - $ref: '#/components/schemas/MultiEd25519Signature'
    MoveStructValue:
      type: object
      description: >
        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 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.
      example:
        authentication_key: '0x0000000000000000000000000000000000000000000000000000000000000001'
        coin_register_events:
          counter: '0'
          guid:
            id:
              addr: '0x1'
              creation_num: '0'
        self_address: '0x1'
        sequence_number: '0'
    WriteSet_ScriptWriteSet:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: script_write_set
        - $ref: '#/components/schemas/ScriptWriteSet'
    WriteSet_DirectWriteSet:
      allOf:
        - type: object
          required:
            - type
          properties:
            type:
              type: string
              example: direct_write_set
        - $ref: '#/components/schemas/DirectWriteSet'
    IdentifierWrapper:
      type: string
    MoveFunctionVisibility:
      type: string
      description: Move function visibility
      enum:
        - private
        - public
        - friend
    MoveFunctionGenericTypeParam:
      type: object
      description: Move function generic type param
      required:
        - constraints
      properties:
        constraints:
          type: array
          description: >-
            Move abilities tied to the generic type param and associated with
            the function that uses it
          items:
            $ref: '#/components/schemas/MoveAbility'
    MoveStruct:
      type: object
      description: A move struct
      required:
        - name
        - is_native
        - abilities
        - generic_type_params
        - fields
      properties:
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        is_native:
          type: boolean
          description: Whether the struct is a native struct of Move
        abilities:
          type: array
          description: Abilities associated with the struct
          items:
            $ref: '#/components/schemas/MoveAbility'
        generic_type_params:
          type: array
          description: Generic types associated with the struct
          items:
            $ref: '#/components/schemas/MoveStructGenericTypeParam'
        fields:
          type: array
          description: Fields associated with the struct
          items:
            $ref: '#/components/schemas/MoveStructField'
    ScriptWriteSet:
      type: object
      required:
        - execute_as
        - script
      properties:
        execute_as:
          $ref: '#/components/schemas/Address'
        script:
          $ref: '#/components/schemas/ScriptPayload'
    DirectWriteSet:
      type: object
      required:
        - changes
        - events
      properties:
        changes:
          type: array
          items:
            $ref: '#/components/schemas/WriteSetChange'
        events:
          type: array
          items:
            $ref: '#/components/schemas/Event'
    MoveAbility:
      type: string
    MoveStructGenericTypeParam:
      type: object
      description: Move generic type param
      required:
        - constraints
      properties:
        constraints:
          type: array
          description: >-
            Move abilities tied to the generic type param and associated with
            the type that uses it
          items:
            $ref: '#/components/schemas/MoveAbility'
    MoveStructField:
      type: object
      description: Move struct field
      required:
        - name
        - type
      properties:
        name:
          $ref: '#/components/schemas/IdentifierWrapper'
        type:
          $ref: '#/components/schemas/MoveType'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.