Aeternity Node API

The public HTTP API of the æternity node (v7.3.0) — 79 unauthenticated operations covering chain and generation queries, transaction submission and inspection, account state and nonces, contract calls and dry-run, oracles, the æternity Naming System, state channels, node status/peers and node-operator endpoints. Every response carries an X-Ae-Height header naming the chain top the answer reflects.

Operations 79

GET /accounts/{pubkey} #
GET /accounts/{pubkey}/hash/{hash} #
GET /accounts/{pubkey}/height/{height} #
GET /accounts/{pubkey}/next-nonce #
GET /accounts/{pubkey}/transactions/pending #
GET /auctions/{name} #
GET /channels/{pubkey} #
GET /contracts/{pubkey} #
GET /contracts/{pubkey}/code #
GET /contracts/{pubkey}/poi #
GET /currency #
POST /dry-run #
GET /generations/current #
GET /generations/hash/{hash} #
GET /generations/height/{height} #
GET /headers/top #
GET /hyperchain/pin-tx #
GET /hyperchain/contracts #
GET /key-blocks/current #
GET /key-blocks/current/hash #
GET /key-blocks/current/height #
GET /key-blocks/hash/{hash} #
GET /key-blocks/height/{height} #
GET /key-blocks/pending #
GET /micro-blocks/hash/{hash}/header #
GET /micro-blocks/hash/{hash}/transactions #
GET /micro-blocks/hash/{hash}/transactions/count #
GET /micro-blocks/hash/{hash}/transactions/index/{index} #
GET /names/{name} #
GET /names/hash/{name_hash} #
GET /oracles/{pubkey} #
GET /oracles/{pubkey}/queries #
GET /oracles/{pubkey}/queries/{query-id} #
GET /peers/pubkey #
GET /recent-gas-prices #
GET /node-settings #
GET /protocol-parameters #
GET /status #
GET /status/chain-ends #
GET /sync-status #
POST /transactions #
GET /transactions/{hash} #
GET /transactions/{hash}/info #
GET /debug/accounts/beneficiary #
GET /debug/accounts/node #
POST /debug/channels/close/mutual #
POST /debug/channels/close/solo #
POST /debug/channels/create #
POST /debug/channels/deposit #
GET /debug/channels/fsm-count #
POST /debug/channels/set-delegates #
POST /debug/channels/settle #
POST /debug/channels/slash #
POST /debug/channels/snapshot/solo #
POST /debug/channels/withdraw #
GET /debug/check-tx/pool/{hash} #
POST /debug/contracts/call #
POST /debug/contracts/create #
GET /debug/crash #
POST /debug/names/claim #
GET /debug/names/commitment-id #
POST /debug/names/preclaim #
POST /debug/names/revoke #
POST /debug/names/transfer #
POST /debug/names/update #
GET /debug/network #
POST /debug/oracles/extend #
POST /debug/oracles/query #
POST /debug/oracles/register #
POST /debug/oracles/respond #
GET /debug/peers #
GET /debug/token-supply/height/{height} #
POST /debug/transactions/dry-run #
POST /debug/transactions/paying-for #
GET /debug/transactions/pending #
POST /debug/transactions/spend #
POST /key-blocks #
DELETE /node/operator/mempool/hash/{hash} #
GET /node/operator/peers/count #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aeternity-node-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aeternity-node-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: 'This is the [Aeternity](https://www.aeternity.com/) node API.


    ### State version


    Every response carries an `X-Ae-Height` header with the height of the node''s

    chain top at the moment the request was accepted. The response body reflects

    a chain state at or after that height, so the value is a lower bound and may

    be compared across nodes: a client querying a pool of nodes behind a load

    balancer can discard an answer from a node that is behind a state it has

    already observed, instead of retrying blindly. The header is also present on

    error responses, so a `404` for a not-yet-mined transaction tells the client

    how far the answering node actually is.


    Resolution is one generation - micro blocks applied within the current

    generation do not change the value, which keeps it cache friendly. The

    header is omitted while the node''s chain is not readable yet.

    '
  version: 7.3.0
  title: Aeternity node
  termsOfService: https://www.aeternity.com/terms/
  contact:
    url: https://github.com/aeternity/aeternity/issues
tags:
- name: external
  description: External API
- name: internal
  description: Internal API
- name: chain
  description: Chain related endpoints
- name: transaction
  description: Transaction related endpoints
- name: account
  description: Account related endpoints
- name: contract
  description: Contract related endpoints
- name: oracle
  description: Oracle related endpoints
- name: name_service
  description: Name service related endpoints
- name: channel
  description: State channel related endpoints
- name: node_info
  description: Node information related endpoints
- name: node_settings
  description: This node's local policy settings
- name: debug
  description: Debug endpoints
- name: obsolete
  description: Old endpoints that will be removed
- name: dry-run
  description: External dry run endpoint.
- name: node-operator
  description: Endpoints to help the node operator interact with the node
- name: hyperchain
  description: Hyperchain related endpoints
externalDocs:
  description: Find out more about Aeternity
  url: http://www.aeternity.com
servers:
- url: https://mainnet.aeternity.io/v3
  description: Mainnet public API gateway
- url: https://testnet.aeternity.io/v3
  description: Testnet public API gateway
paths:
  /accounts/{pubkey}:
    get:
      tags:
      - external
      - account
      operationId: GetAccountByPubkey
      description: Get an account by public key
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/accountPubkey'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          description: Invalid public key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /accounts/{pubkey}/hash/{hash}:
    get:
      tags:
      - external
      - account
      operationId: GetAccountByPubkeyAndHash
      description: Get an account by public key after the block indicated by hash. Can be either a micro block or a keyblock
        hash
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/accountPubkey'
      - $ref: '#/components/parameters/blockHash'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          description: Invalid public key or invalid hash
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Account not found or hash not available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /accounts/{pubkey}/height/{height}:
    get:
      tags:
      - external
      - account
      operationId: GetAccountByPubkeyAndHeight
      description: Get an account by public key after the opening key block of the generation at height
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/accountPubkey'
      - $ref: '#/components/parameters/height'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          description: Invalid public key or invalid height
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Account not found or height not available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '410':
          description: State data at the requested height has been garbage-collected
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /accounts/{pubkey}/next-nonce:
    get:
      tags:
      - external
      - account
      operationId: GetAccountNextNonce
      description: Get an account's next nonce; This is computed according to whatever is the current account nonce and what
        transactions are currently present in the transaction pool
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/accountPubkey'
      - in: query
        name: strategy
        description: 'What strategy to use in order to determine the next nonce: shall it check for continuity or return the
          largest nonce seen + 1. If you choose strategy max, then the greatest nonce seen in the account or currently in
          the transaction pool is incremented with 1 and returned. If you choose the strategy continuity, then transactions
          in the mempool are checked if there are gaps - missing nonces that prevent transactions with greater nonces to get
          included.'
        required: false
        schema:
          type: string
          default: max
          enum:
          - max
          - continuity
          example: max
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NextNonceResponse'
        '400':
          description: Invalid public key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /accounts/{pubkey}/transactions/pending:
    get:
      tags:
      - external
      - account
      operationId: GetPendingAccountTransactionsByPubkey
      description: Get pending account transactions by public key
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/accountPubkey'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignedTxs'
        '400':
          description: Invalid public key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /auctions/{name}:
    get:
      tags:
      - external
      - name_service
      operationId: GetAuctionEntryByName
      description: Get auction entry from naming system
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - in: path
        name: name
        description: The name key of the name entry
        required: true
        schema:
          type: string
          example: dimitar.chain
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuctionEntry'
        '400':
          description: Invalid name
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Name not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /channels/{pubkey}:
    get:
      tags:
      - external
      - channel
      operationId: GetChannelByPubkey
      description: Get channel by public key
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - in: path
        name: pubkey
        description: The pubkey of the channel
        required: true
        schema:
          type: string
          example: ch_2tceSwiqxgBcPirX3VYgW3sXgQdJeHjrNWHhLWyfZL7pT4gZF4
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Channel'
        '400':
          description: Invalid public key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Channel not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /contracts/{pubkey}:
    get:
      tags:
      - external
      - contract
      operationId: GetContract
      description: Get a contract by pubkey
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/contractPubkey'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContractObject'
        '400':
          description: Invalid pubkey
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Contract not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /contracts/{pubkey}/code:
    get:
      tags:
      - external
      - contract
      operationId: GetContractCode
      description: Get contract code by pubkey
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/contractPubkey'
      responses:
        '200':
          description: Contract code
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ByteCode'
        '400':
          description: Invalid pubkey
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Contract not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /contracts/{pubkey}/poi:
    get:
      tags:
      - external
      - contract
      operationId: GetContractPoI
      description: Get a proof of inclusion for a contract
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/contractPubkey'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoI'
        '400':
          description: Invalid contract key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Contract not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /currency:
    get:
      tags:
      - external
      - node_info
      operationId: GetCurrency
      description: Get the currency metadata of a node
      parameters:
      - $ref: '#/components/parameters/intAsString'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Currency'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /dry-run:
    post:
      tags:
      - external
      - dry-run
      operationId: ProtectedDryRunTxs
      description: Dry-run unsigned transactions on top of a given block. Supports all TXs except GAMetaTx, PayingForTx and
        OffchainTx. Gas defaults to 1000000 when not set on a call request; total gas per request is capped by a node-configured
        limit. FATE contract-storage reads are metered at a size-proportional gas cost, so reported gas is an estimate of
        the on-chain cost, not an exact figure. Reported gas is never below what the same call costs on chain at the currently
        activated protocol, because each repriced storage register read is floored at that charge.
      parameters:
      - $ref: '#/components/parameters/intAsString'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DryRunInput'
        description: transactions
        required: true
      responses:
        '200':
          description: Dry-run result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DryRunResults'
        '400':
          description: Invalid input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Over the gas limit
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /generations/current:
    get:
      tags:
      - external
      - chain
      operationId: GetCurrentGeneration
      description: Get the current generation
      parameters:
      - $ref: '#/components/parameters/intAsString'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Generation'
        '404':
          description: Generation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /generations/hash/{hash}:
    get:
      tags:
      - external
      - chain
      operationId: GetGenerationByHash
      description: Get a generation by hash
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/keyBlockHash'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Generation'
        '400':
          description: Invalid hash
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Generation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /generations/height/{height}:
    get:
      tags:
      - external
      - chain
      operationId: GetGenerationByHeight
      description: Get a generation by height
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/height'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Generation'
        '404':
          description: Generation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /headers/top:
    get:
      tags:
      - external
      - chain
      operationId: GetTopHeader
      description: Get the top header (either key or micro block)
      parameters:
      - $ref: '#/components/parameters/intAsString'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Header'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /hyperchain/pin-tx:
    get:
      tags:
      - external
      - hyperchain
      operationId: GetPinningTx
      description: Get the pinning transaction for the current epoch. Returns both the individual parameters as well as the
        parent chain type (aeternity, btc etc.), network id and a packaged 80 byte readymade payload for that chain type.
      parameters: []
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PinningTx'
        '404':
          description: Cannot find pinning data for some reason, e.g. epoch not started
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /hyperchain/contracts:
    get:
      tags:
      - external
      - hyperchain
      operationId: GetHyperchainContractPubkeys
      description: Get the pubkeys for the configured hyperchain contracts for staking, election and rewards
      parameters: []
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HCContractPubkeys'
        '404':
          description: Cannot find the contract pubkeys for some reason, e.g. HC consensus not started, or misconfigured
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /key-blocks/current:
    get:
      tags:
      - external
      - chain
      operationId: GetCurrentKeyBlock
      description: Get the current key block
      parameters:
      - $ref: '#/components/parameters/intAsString'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyBlock'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /key-blocks/current/hash:
    get:
      tags:
      - external
      - chain
      operationId: GetCurrentKeyBlockHash
      description: Get the hash of the current key block
      parameters:
      - $ref: '#/components/parameters/intAsString'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HashResponse'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /key-blocks/current/height:
    get:
      tags:
      - external
      - chain
      operationId: GetCurrentKeyBlockHeight
      description: Get the height of the current key block
      parameters:
      - $ref: '#/components/parameters/intAsString'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeightResponse'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /key-blocks/hash/{hash}:
    get:
      tags:
      - external
      - chain
      operationId: GetKeyBlockByHash
      description: Get a key block by hash
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/keyBlockHash'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyBlock'
        '400':
          description: Invalid hash
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /key-blocks/height/{height}:
    get:
      tags:
      - external
      - chain
      operationId: GetKeyBlockByHeight
      description: Get a key block by height
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/height'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyBlock'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /key-blocks/pending:
    get:
      tags:
      - external
      - chain
      operationId: GetPendingKeyBlock
      description: Get the pending key block
      parameters:
      - $ref: '#/components/parameters/intAsString'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KeyBlock'
        '400':
          description: Beneficiary not configured
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /micro-blocks/hash/{hash}/header:
    get:
      tags:
      - external
      - chain
      operationId: GetMicroBlockHeaderByHash
      description: Get a micro block header by hash
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/microBlockHash'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MicroBlockHeader'
        '400':
          description: Invalid hash
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /micro-blocks/hash/{hash}/transactions:
    get:
      tags:
      - external
      - chain
      operationId: GetMicroBlockTransactionsByHash
      description: Get micro block transactions by hash
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/microBlockHash'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignedTxs'
        '400':
          description: Invalid hash
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /micro-blocks/hash/{hash}/transactions/count:
    get:
      tags:
      - external
      - chain
      operationId: GetMicroBlockTransactionsCountByHash
      description: Get micro block transaction count by hash
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/microBlockHash'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountResponse'
        '400':
          description: Invalid hash
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /micro-blocks/hash/{hash}/transactions/index/{index}:
    get:
      tags:
      - external
      - chain
      operationId: GetMicroBlockTransactionByHashAndIndex
      description: Get a micro block transaction by hash and index
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/microBlockHash'
      - in: path
        name: index
        description: The index of the transaction in a block
        required: true
        schema:
          type: integer
          minimum: 1
          example: 1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignedTx'
        '400':
          description: Invalid hash or index
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Block not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /names/{name}:
    get:
      tags:
      - external
      - name_service
      operationId: GetNameEntryByName
      description: Get name entry from naming system
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - in: path
        name: name
        description: The name key of the name entry
        required: true
        schema:
          type: string
          example: dimitar.chain
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NameEntry'
        '400':
          description: Invalid name
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Name not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /names/hash/{name_hash}:
    get:
      tags:
      - external
      - name_service
      operationId: GetNameEntryByNameHash
      description: Get name entry from naming system
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - in: path
        name: name_hash
        description: The name hash of the name entry
        required: true
        schema:
          type: string
          example: nm_1G1GgdPsPCzSvEDSVAeuiW7tKdmTXStb3N2wXviyPfMgLME5
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NameEntry'
        '400':
          description: Invalid name
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Name not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /oracles/{pubkey}:
    get:
      tags:
      - external
      - oracle
      operationId: GetOracleByPubkey
      description: Get an oracle by public key
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/oraclePubkey'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisteredOracle'
        '400':
          description: Invalid public key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Oracle not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /oracles/{pubkey}/queries:
    get:
      tags:
      - external
      - oracle
      operationId: GetOracleQueriesByPubkey
      description: Get oracle queries by public key
      parameters:
      - $ref: '#/components/parameters/intAsString'
      - $ref: '#/components/parameters/oraclePubkey'
      - in: query
        name: from
        description: Last query id in previous page
        required: false
        schema:
          type: string
          example: oq_q3UrSagF6JfgvAwMiLa6yyEoerx6tQC87m5X8W98NrdDArNZH
      - in: query
        name: limit
        description: Max number of oracle queries
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
          maximum: 1000
          example: 1
      - in: query
        name: type
   

# --- truncated at 32 KB (140 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aeternity/refs/heads/main/openapi/aeternity-node-openapi.yml