From 9f769603b84a8ad138727844fbee30cfbae61619 Mon Sep 17 00:00:00 2001 From: Dzmitry Kliapkou Date: Thu, 12 Feb 2026 16:43:02 +0300 Subject: [PATCH 1/6] initial version algorand indexer --- algorand-indexer/rest-api/CHANGELOG.md | 11 + algorand-indexer/rest-api/VERSION | 1 + algorand-indexer/rest-api/openapi.json | 3494 ++++++++++++++++++++++++ 3 files changed, 3506 insertions(+) create mode 100644 algorand-indexer/rest-api/CHANGELOG.md create mode 100644 algorand-indexer/rest-api/VERSION create mode 100644 algorand-indexer/rest-api/openapi.json diff --git a/algorand-indexer/rest-api/CHANGELOG.md b/algorand-indexer/rest-api/CHANGELOG.md new file mode 100644 index 0000000..e896f2b --- /dev/null +++ b/algorand-indexer/rest-api/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog + +All notable changes to this schema are documented in this file. + +The format is based on [Keep a ChangeLog](https://keepachangelog.com/) and follows [Semantic Versioning](https://semver.org/) + +## [0.0.1] - 2026-02-12 + +### Added + +- Initial version of the spec \ No newline at end of file diff --git a/algorand-indexer/rest-api/VERSION b/algorand-indexer/rest-api/VERSION new file mode 100644 index 0000000..8a9ecc2 --- /dev/null +++ b/algorand-indexer/rest-api/VERSION @@ -0,0 +1 @@ +0.0.1 \ No newline at end of file diff --git a/algorand-indexer/rest-api/openapi.json b/algorand-indexer/rest-api/openapi.json new file mode 100644 index 0000000..60b8006 --- /dev/null +++ b/algorand-indexer/rest-api/openapi.json @@ -0,0 +1,3494 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Algorand-Indexer REST API Specification", + "description": "A specification of the Algorand indexer REST API provided by Chain.Love platform.", + "version": "0.0.1", + "contact": { + "name": "devs", + "email": "devs@chain.love" + } + }, + "paths": { + "/health": { + "get": { + "tags": [ + "common" + ], + "produces": [ + "application/json" + ], + "schemes": [ + "http" + ], + "summary": "Returns 200 if healthy.", + "operationId": "makeHealthCheck", + "responses": { + "200": { + "$ref": "#/responses/HealthCheckResponse" + }, + "default": { + "description": "Unknown Error" + } + } + } + }, + "/v2/accounts": { + "get": { + "description": "Search for accounts.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "search" + ], + "operationId": "searchForAccounts", + "parameters": [ + { + "$ref": "#/parameters/asset-id" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + }, + { + "$ref": "#/parameters/currency-greater-than" + }, + { + "$ref": "#/parameters/include-all" + }, + { + "$ref": "#/parameters/exclude" + }, + { + "$ref": "#/parameters/currency-less-than" + }, + { + "$ref": "#/parameters/auth-addr" + }, + { + "type": "integer", + "description": "Include results for the specified round. For performance reasons, this parameter may be disabled on some configurations. Using application-id or asset-id filters will return both creator and opt-in accounts. Filtering by include-all will return creator and opt-in accounts for deleted assets and accounts. Non-opt-in managers are not included in the results when asset-id is used.", + "name": "round", + "in": "query" + }, + { + "$ref": "#/parameters/application-id" + }, + { + "$ref": "#/parameters/online-only" + } + ], + "responses": { + "200": { + "$ref": "#/responses/AccountsResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/accounts/{account-id}": { + "get": { + "description": "Lookup account information.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupAccountByID", + "parameters": [ + { + "$ref": "#/parameters/account-id" + }, + { + "$ref": "#/parameters/round" + }, + { + "$ref": "#/parameters/include-all" + }, + { + "$ref": "#/parameters/exclude" + } + ], + "responses": { + "200": { + "$ref": "#/responses/AccountResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/accounts/{account-id}/apps-local-state": { + "get": { + "description": "Lookup an account's asset holdings, optionally for a specific ID.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupAccountAppLocalStates", + "parameters": [ + { + "$ref": "#/parameters/account-id" + }, + { + "$ref": "#/parameters/application-id" + }, + { + "$ref": "#/parameters/include-all" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ApplicationLocalStatesResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/accounts/{account-id}/assets": { + "get": { + "description": "Lookup an account's asset holdings, optionally for a specific ID.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupAccountAssets", + "parameters": [ + { + "$ref": "#/parameters/account-id" + }, + { + "$ref": "#/parameters/asset-id" + }, + { + "$ref": "#/parameters/include-all" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + } + ], + "responses": { + "200": { + "$ref": "#/responses/AssetHoldingsResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/accounts/{account-id}/created-applications": { + "get": { + "description": "Lookup an account's created application parameters, optionally for a specific ID.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupAccountCreatedApplications", + "parameters": [ + { + "$ref": "#/parameters/account-id" + }, + { + "$ref": "#/parameters/application-id" + }, + { + "$ref": "#/parameters/include-all" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ApplicationsResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/accounts/{account-id}/created-assets": { + "get": { + "description": "Lookup an account's created asset parameters, optionally for a specific ID.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupAccountCreatedAssets", + "parameters": [ + { + "$ref": "#/parameters/account-id" + }, + { + "$ref": "#/parameters/asset-id" + }, + { + "$ref": "#/parameters/include-all" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + } + ], + "responses": { + "200": { + "$ref": "#/responses/AssetsResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/accounts/{account-id}/transactions": { + "get": { + "description": "Lookup account transactions. Transactions are returned newest to oldest.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupAccountTransactions", + "parameters": [ + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + }, + { + "$ref": "#/parameters/note-prefix" + }, + { + "$ref": "#/parameters/tx-type" + }, + { + "$ref": "#/parameters/sig-type" + }, + { + "$ref": "#/parameters/txid" + }, + { + "$ref": "#/parameters/round" + }, + { + "$ref": "#/parameters/min-round" + }, + { + "$ref": "#/parameters/max-round" + }, + { + "$ref": "#/parameters/asset-id" + }, + { + "$ref": "#/parameters/before-time" + }, + { + "$ref": "#/parameters/after-time" + }, + { + "$ref": "#/parameters/currency-greater-than" + }, + { + "$ref": "#/parameters/currency-less-than" + }, + { + "$ref": "#/parameters/account-id" + }, + { + "$ref": "#/parameters/rekey-to" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TransactionsResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/applications": { + "get": { + "description": "Search for applications", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "search" + ], + "operationId": "searchForApplications", + "parameters": [ + { + "$ref": "#/parameters/application-id" + }, + { + "type": "string", + "description": "Filter just applications with the given creator address.", + "name": "creator", + "in": "query" + }, + { + "$ref": "#/parameters/include-all" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ApplicationsResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/applications/{application-id}": { + "get": { + "description": "Lookup application.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupApplicationByID", + "parameters": [ + { + "type": "integer", + "name": "application-id", + "in": "path", + "required": true + }, + { + "$ref": "#/parameters/include-all" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ApplicationResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/applications/{application-id}/box": { + "get": { + "description": "Given an application ID and box name, returns base64 encoded box name and value. Box names must be in the goal app call arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, encode base 64 and use 'b64' prefix as in 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupApplicationBoxByIDAndName", + "schemes": [ + "http" + ], + "summary": "Get box information for a given application.", + "parameters": [ + { + "type": "integer", + "name": "application-id", + "in": "path", + "required": true + }, + { + "$ref": "#/parameters/box-name" + } + ], + "responses": { + "200": { + "$ref": "#/responses/BoxResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/applications/{application-id}/boxes": { + "get": { + "description": "Given an application ID, returns the box names of that application sorted lexicographically.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "search" + ], + "operationId": "searchForApplicationBoxes", + "summary": "Get box names for a given application.", + "parameters": [ + { + "type": "integer", + "name": "application-id", + "in": "path", + "required": true + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + } + ], + "responses": { + "200": { + "$ref": "#/responses/BoxesResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/applications/{application-id}/logs": { + "get": { + "description": "Lookup application logs.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupApplicationLogsByID", + "parameters": [ + { + "type": "integer", + "name": "application-id", + "in": "path", + "required": true + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + }, + { + "$ref": "#/parameters/txid" + }, + { + "$ref": "#/parameters/min-round" + }, + { + "$ref": "#/parameters/max-round" + }, + { + "$ref": "#/parameters/sender-address" + } + ], + "responses": { + "200": { + "$ref": "#/responses/ApplicationLogsResponse" + } + } + } + }, + "/v2/assets": { + "get": { + "description": "Search for assets.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "search" + ], + "operationId": "searchForAssets", + "parameters": [ + { + "$ref": "#/parameters/include-all" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + }, + { + "type": "string", + "description": "Filter just assets with the given creator address.", + "name": "creator", + "in": "query" + }, + { + "type": "string", + "description": "Filter just assets with the given name.", + "name": "name", + "in": "query" + }, + { + "type": "string", + "description": "Filter just assets with the given unit.", + "name": "unit", + "in": "query" + }, + { + "$ref": "#/parameters/asset-id" + } + ], + "responses": { + "200": { + "$ref": "#/responses/AssetsResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/assets/{asset-id}": { + "get": { + "description": "Lookup asset information.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupAssetByID", + "parameters": [ + { + "type": "integer", + "name": "asset-id", + "in": "path", + "required": true + }, + { + "$ref": "#/parameters/include-all" + } + ], + "responses": { + "200": { + "$ref": "#/responses/AssetResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/assets/{asset-id}/balances": { + "get": { + "description": "Lookup the list of accounts who hold this asset ", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupAssetBalances", + "parameters": [ + { + "$ref": "#/parameters/include-all" + }, + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + }, + { + "$ref": "#/parameters/currency-greater-than" + }, + { + "$ref": "#/parameters/currency-less-than" + }, + { + "type": "integer", + "name": "asset-id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/AssetBalancesResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/assets/{asset-id}/transactions": { + "get": { + "description": "Lookup transactions for an asset. Transactions are returned oldest to newest.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupAssetTransactions", + "parameters": [ + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + }, + { + "$ref": "#/parameters/note-prefix" + }, + { + "$ref": "#/parameters/tx-type" + }, + { + "$ref": "#/parameters/sig-type" + }, + { + "$ref": "#/parameters/txid" + }, + { + "$ref": "#/parameters/round" + }, + { + "$ref": "#/parameters/min-round" + }, + { + "$ref": "#/parameters/max-round" + }, + { + "$ref": "#/parameters/before-time" + }, + { + "$ref": "#/parameters/after-time" + }, + { + "$ref": "#/parameters/currency-greater-than" + }, + { + "$ref": "#/parameters/currency-less-than" + }, + { + "$ref": "#/parameters/address" + }, + { + "$ref": "#/parameters/address-role" + }, + { + "$ref": "#/parameters/exclude-close-to" + }, + { + "type": "integer", + "name": "asset-id", + "in": "path", + "required": true + }, + { + "$ref": "#/parameters/rekey-to" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TransactionsResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/blocks/{round-number}": { + "get": { + "description": "Lookup block.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupBlock", + "parameters": [ + { + "$ref": "#/parameters/round-number" + }, + { + "$ref": "#/parameters/header-only" + } + ], + "responses": { + "200": { + "$ref": "#/responses/BlockResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/transactions": { + "get": { + "description": "Search for transactions. Transactions are returned oldest to newest unless the address parameter is used, in which case results are returned newest to oldest.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "search" + ], + "operationId": "searchForTransactions", + "parameters": [ + { + "$ref": "#/parameters/limit" + }, + { + "$ref": "#/parameters/next" + }, + { + "$ref": "#/parameters/note-prefix" + }, + { + "$ref": "#/parameters/tx-type" + }, + { + "$ref": "#/parameters/sig-type" + }, + { + "$ref": "#/parameters/group-id" + }, + { + "$ref": "#/parameters/txid" + }, + { + "$ref": "#/parameters/round" + }, + { + "$ref": "#/parameters/min-round" + }, + { + "$ref": "#/parameters/max-round" + }, + { + "$ref": "#/parameters/asset-id" + }, + { + "$ref": "#/parameters/before-time" + }, + { + "$ref": "#/parameters/after-time" + }, + { + "$ref": "#/parameters/currency-greater-than" + }, + { + "$ref": "#/parameters/currency-less-than" + }, + { + "$ref": "#/parameters/address" + }, + { + "$ref": "#/parameters/address-role" + }, + { + "$ref": "#/parameters/exclude-close-to" + }, + { + "$ref": "#/parameters/rekey-to" + }, + { + "$ref": "#/parameters/application-id" + } + ], + "responses": { + "200": { + "$ref": "#/responses/TransactionsResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + }, + "/v2/transactions/{txid}": { + "get": { + "description": "Lookup a single transaction.", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "lookup" + ], + "operationId": "lookupTransaction", + "parameters": [ + { + "type": "string", + "name": "txid", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "$ref": "#/responses/TransactionResponse" + }, + "400": { + "$ref": "#/responses/ErrorResponse" + }, + "404": { + "$ref": "#/responses/ErrorResponse" + }, + "500": { + "$ref": "#/responses/ErrorResponse" + } + } + } + } + }, + "definitions": { + "Hashtype": { + "description": "The type of hash function used to create the proof, must be one of: \n* sha512_256 \n* sha256", + "type": "string", + "enum": [ + "sha512_256", + "sha256" + ] + }, + "Account": { + "description": "Account information at a given round.\n\nDefinition:\ndata/basics/userBalance.go : AccountData\n", + "type": "object", + "required": [ + "round", + "address", + "amount", + "pending-rewards", + "amount-without-pending-rewards", + "rewards", + "status", + "min-balance", + "total-apps-opted-in", + "total-assets-opted-in", + "total-box-bytes", + "total-boxes", + "total-created-apps", + "total-created-assets" + ], + "properties": { + "address": { + "description": "the account public key", + "type": "string" + }, + "amount": { + "description": "total number of MicroAlgos in the account", + "type": "integer" + }, + "min-balance": { + "description": "MicroAlgo balance required by the account.\n\nThe requirement grows based on asset and application usage.", + "type": "integer" + }, + "amount-without-pending-rewards": { + "description": "specifies the amount of MicroAlgos in the account, without the pending rewards.", + "type": "integer" + }, + "apps-local-state": { + "description": "application local data stored in this account.\n\nNote the raw object uses `map[int] -\u003e AppLocalState` for this type.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationLocalState" + } + }, + "apps-total-schema": { + "description": "the sum of all of the local schemas and global schemas in this account.\n\nNote: the raw account uses `StateSchema` for this type.", + "$ref": "#/definitions/ApplicationStateSchema" + }, + "apps-total-extra-pages": { + "description": "the sum of all extra application program pages for this account.", + "type": "integer" + }, + "assets": { + "description": "assets held by this account.\n\nNote the raw object uses `map[int] -\u003e AssetHolding` for this type.", + "type": "array", + "items": { + "$ref": "#/definitions/AssetHolding" + } + }, + "created-apps": { + "description": "parameters of applications created by this account including app global data.\n\nNote: the raw account uses `map[int] -\u003e AppParams` for this type.", + "type": "array", + "items": { + "$ref": "#/definitions/Application" + } + }, + "created-assets": { + "description": "parameters of assets created by this account.\n\nNote: the raw account uses `map[int] -\u003e Asset` for this type.", + "type": "array", + "items": { + "$ref": "#/definitions/Asset" + } + }, + "participation": { + "$ref": "#/definitions/AccountParticipation" + }, + "incentive-eligible": { + "description": "can the account receive block incentives if its balance is in range at proposal time.", + "type": "boolean" + }, + "pending-rewards": { + "description": "amount of MicroAlgos of pending rewards in this account.", + "type": "integer" + }, + "reward-base": { + "description": "used as part of the rewards computation. Only applicable to accounts which are participating.", + "type": "integer" + }, + "rewards": { + "description": "total rewards of MicroAlgos the account has received, including pending rewards.", + "type": "integer" + }, + "round": { + "description": "The round for which this information is relevant.", + "type": "integer" + }, + "status": { + "description": "voting status of the account's MicroAlgos\n* Offline - indicates that the associated account is delegated.\n* Online - indicates that the associated account used as part of the delegation pool.\n* NotParticipating - indicates that the associated account is neither a delegator nor a delegate.", + "type": "string" + }, + "sig-type": { + "description": "the type of signature used by this account, must be one of:\n* sig\n* msig\n* lsig\n* or null if unknown", + "type": "string", + "enum": [ + "sig", + "msig", + "lsig" + ] + }, + "total-apps-opted-in": { + "description": "The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.", + "type": "integer" + }, + "total-assets-opted-in": { + "description": "The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.", + "type": "integer" + }, + "total-box-bytes": { + "description": "For app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.", + "type": "integer" + }, + "total-boxes": { + "description": "For app-accounts only. The total number of boxes which belong to the associated application.", + "type": "integer" + }, + "total-created-apps": { + "description": "The count of all apps (AppParams objects) created by this account.", + "type": "integer" + }, + "total-created-assets": { + "description": "The count of all assets (AssetParams objects) created by this account.", + "type": "integer" + }, + "auth-addr": { + "description": "The address against which signing should be checked. If empty, the address of the current account is used. This field can be updated in any transaction by setting the RekeyTo field.", + "type": "string", + "x-algorand-format": "Address" + }, + "last-proposed": { + "description": "The round in which this account last proposed the block.", + "type": "integer" + }, + "last-heartbeat": { + "description": "The round in which this account last went online, or explicitly renewed their online status.", + "type": "integer" + }, + "deleted": { + "description": "Whether or not this account is currently closed.", + "type": "boolean" + }, + "created-at-round": { + "description": "Round during which this account first appeared in a transaction.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "closed-at-round": { + "description": "Round during which this account was most recently closed.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "AccountParticipation": { + "description": "AccountParticipation describes the parameters used by this account in consensus protocol.", + "type": "object", + "required": [ + "vote-participation-key", + "selection-participation-key", + "vote-first-valid", + "vote-last-valid", + "vote-key-dilution" + ], + "properties": { + "selection-participation-key": { + "description": "Selection public key (if any) currently registered for this round.", + "type": "string", + "format": "byte" + }, + "vote-first-valid": { + "description": "First round for which this participation is valid.", + "type": "integer" + }, + "vote-key-dilution": { + "description": "Number of subkeys in each batch of participation keys.", + "type": "integer" + }, + "vote-last-valid": { + "description": "Last round for which this participation is valid.", + "type": "integer" + }, + "vote-participation-key": { + "description": "root participation public key (if any) currently registered for this round.", + "type": "string", + "format": "byte" + }, + "state-proof-key": { + "description": "Root of the state proof key (if any)", + "type": "string", + "format": "byte" + } + } + }, + "ApplicationStateSchema": { + "description": "Specifies maximums on the number of each type that may be stored.", + "type": "object", + "required": [ + "num-uint", + "num-byte-slice" + ], + "properties": { + "num-uint": { + "description": "number of uints.", + "type": "integer" + }, + "num-byte-slice": { + "description": "number of byte slices.", + "type": "integer" + } + } + }, + "ApplicationLocalState": { + "description": "Stores local state associated with an application.", + "type": "object", + "required": [ + "id", + "schema" + ], + "properties": { + "id": { + "description": "The application which this local state is for.", + "type": "integer" + }, + "deleted": { + "description": "Whether or not the application local state is currently deleted from its account.", + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round when the account opted into the application.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "closed-out-at-round": { + "description": "Round when account closed out of the application.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "schema": { + "description": "schema.", + "$ref": "#/definitions/ApplicationStateSchema" + }, + "key-value": { + "description": "storage.", + "$ref": "#/definitions/TealKeyValueStore" + } + } + }, + "TealKeyValueStore": { + "description": "Represents a key-value store for use in an application.", + "type": "array", + "items": { + "$ref": "#/definitions/TealKeyValue" + } + }, + "TealKeyValue": { + "description": "Represents a key-value pair in an application store.", + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/definitions/TealValue" + } + } + }, + "TealValue": { + "description": "Represents a TEAL value.", + "type": "object", + "required": [ + "type", + "uint", + "bytes" + ], + "properties": { + "type": { + "description": "type of the value. Value `1` refers to **bytes**, value `2` refers to **uint**", + "type": "integer" + }, + "bytes": { + "description": "bytes value.", + "type": "string" + }, + "uint": { + "description": "uint value.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "Application": { + "description": "Application index and its parameters", + "type": "object", + "required": [ + "id", + "params" + ], + "properties": { + "id": { + "description": "application index.", + "type": "integer" + }, + "deleted": { + "description": "Whether or not this application is currently deleted.", + "type": "boolean" + }, + "created-at-round": { + "description": "Round when this application was created.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "deleted-at-round": { + "description": "Round when this application was deleted.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "params": { + "description": "application parameters.", + "$ref": "#/definitions/ApplicationParams" + } + } + }, + "ApplicationParams": { + "description": "Stores the global information associated with an application.", + "type": "object", + "required": [ + "approval-program", + "clear-state-program" + ], + "properties": { + "creator": { + "description": "The address that created this application. This is the address where the parameters and global state for this application can be found.", + "type": "string", + "x-algorand-format": "Address" + }, + "approval-program": { + "description": "approval program.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "clear-state-program": { + "description": "clear state program.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "extra-program-pages": { + "description": "the number of extra program pages available to this app.", + "type": "integer" + }, + "local-state-schema": { + "description": "local schema", + "$ref": "#/definitions/ApplicationStateSchema" + }, + "global-state-schema": { + "description": "global schema", + "$ref": "#/definitions/ApplicationStateSchema" + }, + "global-state": { + "description": "global state", + "$ref": "#/definitions/TealKeyValueStore" + }, + "version": { + "description": "the number of updates to the application programs", + "type": "integer" + } + } + }, + "ApplicationLogData": { + "description": "Stores the global information associated with an application.", + "type": "object", + "required": [ + "txid", + "logs" + ], + "properties": { + "txid": { + "description": "Transaction ID", + "type": "string" + }, + "logs": { + "description": "Logs for the application being executed by the transaction.", + "type": "array", + "items": { + "type": "string", + "format": "byte" + } + } + } + }, + "Asset": { + "description": "Specifies both the unique identifier and the parameters for an asset", + "type": "object", + "required": [ + "index", + "params" + ], + "properties": { + "index": { + "description": "unique asset identifier", + "type": "integer" + }, + "deleted": { + "description": "Whether or not this asset is currently deleted.", + "type": "boolean" + }, + "created-at-round": { + "description": "Round during which this asset was created.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "destroyed-at-round": { + "description": "Round during which this asset was destroyed.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "params": { + "$ref": "#/definitions/AssetParams" + } + } + }, + "AssetHolding": { + "description": "Describes an asset held by an account.\n\nDefinition:\ndata/basics/userBalance.go : AssetHolding", + "type": "object", + "required": [ + "asset-id", + "amount", + "is-frozen" + ], + "properties": { + "amount": { + "description": "number of units held.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "asset-id": { + "description": "Asset ID of the holding.", + "type": "integer" + }, + "is-frozen": { + "description": "whether or not the holding is frozen.", + "type": "boolean" + }, + "deleted": { + "description": "Whether or not the asset holding is currently deleted from its account.", + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round during which the account opted into this asset holding.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "opted-out-at-round": { + "description": "Round during which the account opted out of this asset holding.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "AssetParams": { + "description": "AssetParams specifies the parameters for an asset.\n\n\\[apar\\] when part of an AssetConfig transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetParams", + "type": "object", + "required": [ + "creator", + "total", + "decimals" + ], + "properties": { + "clawback": { + "description": "Address of account used to clawback holdings of this asset. If empty, clawback is not permitted.", + "type": "string" + }, + "creator": { + "description": "The address that created this asset. This is the address where the parameters for this asset can be found, and also the address where unwanted asset units can be sent in the worst case.", + "type": "string" + }, + "decimals": { + "description": "The number of digits to use after the decimal point when displaying this asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in tenths. If 2, the base unit of the asset is in hundredths, and so on. This value must be between 0 and 19 (inclusive).", + "type": "integer", + "maximum": 19, + "minimum": 0 + }, + "default-frozen": { + "description": "Whether holdings of this asset are frozen by default.", + "type": "boolean" + }, + "freeze": { + "description": "Address of account used to freeze holdings of this asset. If empty, freezing is not permitted.", + "type": "string" + }, + "manager": { + "description": "Address of account used to manage the keys of this asset and to destroy it.", + "type": "string" + }, + "metadata-hash": { + "description": "A commitment to some unspecified asset metadata. The format of this metadata is up to the application.", + "type": "string", + "format": "byte" + }, + "name": { + "description": "Name of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.", + "type": "string" + }, + "name-b64": { + "description": "Base64 encoded name of this asset, as supplied by the creator.", + "type": "string", + "format": "byte" + }, + "reserve": { + "description": "Address of account holding reserve (non-minted) units of this asset.", + "type": "string" + }, + "total": { + "description": "The total number of units of this asset.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "unit-name": { + "description": "Name of a unit of this asset, as supplied by the creator. Included only when the name of a unit of this asset is composed of printable utf-8 characters.", + "type": "string" + }, + "unit-name-b64": { + "description": "Base64 encoded name of a unit of this asset, as supplied by the creator.", + "type": "string", + "format": "byte" + }, + "url": { + "description": "URL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.", + "type": "string" + }, + "url-b64": { + "description": "Base64 encoded URL where more information about the asset can be retrieved.", + "type": "string", + "format": "byte" + } + } + }, + "Block": { + "description": "Block information.\n\nDefinition:\ndata/bookkeeping/block.go : Block", + "type": "object", + "required": [ + "round", + "previous-block-hash", + "seed", + "transactions-root", + "transactions-root-sha256", + "timestamp", + "genesis-id", + "genesis-hash" + ], + "properties": { + "proposer": { + "description": "the proposer of this block.", + "type": "string", + "x-algorand-format": "Address" + }, + "fees-collected": { + "description": "the sum of all fees paid by transactions in this block.", + "type": "integer" + }, + "bonus": { + "description": "the potential bonus payout for this block.", + "type": "integer" + }, + "proposer-payout": { + "description": "the actual amount transferred to the proposer from the fee sink.", + "type": "integer" + }, + "genesis-hash": { + "description": "\\[gh\\] hash to which this block belongs.", + "type": "string", + "format": "byte" + }, + "genesis-id": { + "description": "\\[gen\\] ID to which this block belongs.", + "type": "string" + }, + "previous-block-hash": { + "description": "\\[prev\\] Previous block hash.", + "type": "string", + "format": "byte" + }, + "previous-block-hash-512": { + "description": "\\[prev512\\] Previous block hash, using SHA-512.", + "type": "string", + "format": "byte" + }, + "rewards": { + "$ref": "#/definitions/BlockRewards" + }, + "round": { + "description": "\\[rnd\\] Current round on which this block was appended to the chain.", + "type": "integer" + }, + "seed": { + "description": "\\[seed\\] Sortition seed.", + "type": "string", + "format": "byte" + }, + "state-proof-tracking": { + "description": "Tracks the status of state proofs.", + "type": "array", + "items": { + "$ref": "#/definitions/StateProofTracking" + } + }, + "timestamp": { + "description": "\\[ts\\] Block creation timestamp in seconds since eposh", + "type": "integer" + }, + "transactions": { + "description": "\\[txns\\] list of transactions corresponding to a given round.", + "type": "array", + "items": { + "$ref": "#/definitions/Transaction" + } + }, + "transactions-root": { + "description": "\\[txn\\] TransactionsRoot authenticates the set of transactions appearing in the block. More specifically, it's the root of a merkle tree whose leaves are the block's Txids, in lexicographic order. For the empty block, it's 0. Note that the TxnRoot does not authenticate the signatures on the transactions, only the transactions themselves. Two blocks with the same transactions but in a different order and with different signatures will have the same TxnRoot.", + "type": "string", + "format": "byte" + }, + "transactions-root-sha256": { + "description": "\\[txn256\\] TransactionsRootSHA256 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA256 hash function instead of the default SHA512_256. This commitment can be used on environments where only the SHA256 function exists.", + "type": "string", + "format": "byte" + }, + "transactions-root-sha512": { + "description": "\\[txn512\\] TransactionsRootSHA512 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA512 hash function instead of the default SHA512_256.", + "type": "string", + "format": "byte" + }, + "txn-counter": { + "description": "\\[tc\\] TxnCounter counts the number of transactions committed in the ledger, from the time at which support for this feature was introduced.\n\nSpecifically, TxnCounter is the number of the next transaction that will be committed after this block. It is 0 when no transactions have ever been committed (since TxnCounter started being supported).", + "type": "integer" + }, + "upgrade-state": { + "$ref": "#/definitions/BlockUpgradeState" + }, + "upgrade-vote": { + "$ref": "#/definitions/BlockUpgradeVote" + }, + "participation-updates": { + "$ref": "#/definitions/ParticipationUpdates" + } + } + }, + "BlockRewards": { + "description": "Fields relating to rewards,", + "type": "object", + "required": [ + "fee-sink", + "rewards-pool", + "rewards-level", + "rewards-rate", + "rewards-residue", + "rewards-calculation-round" + ], + "properties": { + "fee-sink": { + "description": "\\[fees\\] accepts transaction fees, it can only spend to the incentive pool.", + "type": "string" + }, + "rewards-calculation-round": { + "description": "\\[rwcalr\\] number of leftover MicroAlgos after the distribution of rewards-rate MicroAlgos for every reward unit in the next round.", + "type": "integer" + }, + "rewards-level": { + "description": "\\[earn\\] How many rewards, in MicroAlgos, have been distributed to each RewardUnit of MicroAlgos since genesis.", + "type": "integer" + }, + "rewards-pool": { + "description": "\\[rwd\\] accepts periodic injections from the fee-sink and continually redistributes them as rewards.", + "type": "string" + }, + "rewards-rate": { + "description": "\\[rate\\] Number of new MicroAlgos added to the participation stake from rewards at the next round.", + "type": "integer" + }, + "rewards-residue": { + "description": "\\[frac\\] Number of leftover MicroAlgos after the distribution of RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.", + "type": "integer" + } + } + }, + "BlockUpgradeState": { + "description": "Fields relating to a protocol upgrade.", + "type": "object", + "required": [ + "current-protocol" + ], + "properties": { + "current-protocol": { + "description": "\\[proto\\] The current protocol version.", + "type": "string" + }, + "next-protocol": { + "description": "\\[nextproto\\] The next proposed protocol version.", + "type": "string" + }, + "next-protocol-approvals": { + "description": "\\[nextyes\\] Number of blocks which approved the protocol upgrade.", + "type": "integer" + }, + "next-protocol-switch-on": { + "description": "\\[nextswitch\\] Round on which the protocol upgrade will take effect.", + "type": "integer" + }, + "next-protocol-vote-before": { + "description": "\\[nextbefore\\] Deadline round for this protocol upgrade (No votes will be consider after this round).", + "type": "integer" + } + } + }, + "BlockUpgradeVote": { + "description": "Fields relating to voting for a protocol upgrade.", + "type": "object", + "properties": { + "upgrade-approve": { + "description": "\\[upgradeyes\\] Indicates a yes vote for the current proposal.", + "type": "boolean" + }, + "upgrade-delay": { + "description": "\\[upgradedelay\\] Indicates the time between acceptance and execution.", + "type": "integer" + }, + "upgrade-propose": { + "description": "\\[upgradeprop\\] Indicates a proposed upgrade.", + "type": "string" + } + } + }, + "Box": { + "description": "Box name and its content.", + "required": [ + "name", + "value", + "round" + ], + "type": "object", + "properties": { + "round": { + "description": "The round for which this information is relevant", + "type": "integer" + }, + "name": { + "description": "\\[name\\] box name, base64 encoded", + "format": "byte", + "type": "string" + }, + "value": { + "description": "\\[value\\] box value, base64 encoded.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } + } + }, + "BoxDescriptor": { + "description": "Box descriptor describes an app box without a value.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Base64 encoded box name", + "format": "byte", + "type": "string" + } + } + }, + "BoxReference": { + "description": "BoxReference names a box by its name and the application ID it belongs to.", + "type": "object", + "required": [ + "app", + "name" + ], + "properties": { + "app": { + "description": "Application ID to which the box belongs, or zero if referring to the called application.", + "type": "integer" + }, + "name": { + "description": "Base64 encoded box name", + "type": "string", + "format": "byte" + } + } + }, + "HealthCheck": { + "description": "A health check response.", + "type": "object", + "required": [ + "version", + "message", + "round", + "is-migrating", + "db-available" + ], + "properties": { + "version": { + "description": "Current version.", + "type": "string" + }, + "data": { + "type": "object" + }, + "round": { + "type": "integer" + }, + "is-migrating": { + "type": "boolean" + }, + "db-available": { + "type": "boolean" + }, + "message": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "HoldingRef": { + "description": "HoldingRef names a holding by referring to an Address and Asset it belongs to.", + "type": "object", + "required": [ + "address", + "asset" + ], + "properties": { + "address": { + "description": "\\[d\\] Address in access list, or the sender of the transaction.", + "type": "string", + "x-algorand-format": "Address" + }, + "asset": { + "description": "\\[s\\] Asset ID for asset in access list.", + "type": "integer" + } + } + }, + "LocalsRef": { + "description": "LocalsRef names a local state by referring to an Address and App it belongs to.", + "type": "object", + "required": [ + "address", + "app" + ], + "properties": { + "address": { + "description": "\\[d\\] Address in access list, or the sender of the transaction.", + "type": "string", + "x-algorand-format": "Address" + }, + "app": { + "description": "\\[p\\] Application ID for app in access list, or zero if referring to the called application.", + "type": "integer" + } + } + }, + "MiniAssetHolding": { + "description": "A simplified version of AssetHolding ", + "type": "object", + "required": [ + "address", + "amount", + "is-frozen" + ], + "properties": { + "address": { + "type": "string" + }, + "amount": { + "type": "integer", + "x-algorand-format": "uint64" + }, + "is-frozen": { + "type": "boolean" + }, + "deleted": { + "description": "Whether or not this asset holding is currently deleted from its account.", + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round during which the account opted into the asset.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "opted-out-at-round": { + "description": "Round during which the account opted out of the asset.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "OnCompletion": { + "description": "\\[apan\\] defines the what additional actions occur with the transaction.\n\nValid types:\n* noop\n* optin\n* closeout\n* clear\n* update\n* update\n* delete", + "type": "string", + "enum": [ + "noop", + "optin", + "closeout", + "clear", + "update", + "delete" + ] + }, + "ParticipationUpdates": { + "description": "Participation account data that needs to be checked/acted on by the network.", + "type": "object", + "properties": { + "expired-participation-accounts": { + "description": "\\[partupdrmv\\] a list of online accounts that needs to be converted to offline since their participation key expired.", + "type": "array", + "items": { + "type": "string" + } + }, + "absent-participation-accounts": { + "description": "\\[partupabs\\] a list of online accounts that need to be suspended.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceRef": { + "description": "ResourceRef names a single resource. Only one of the fields should be set.", + "type": "object", + "properties": { + "address": { + "description": "\\[d\\] Account whose balance record is accessible by the executing ApprovalProgram or ClearStateProgram.", + "type": "string", + "x-algorand-format": "Address" + }, + "application-id": { + "description": "\\[p\\] Application id whose GlobalState may be read by the executing\n ApprovalProgram or ClearStateProgram.", + "type": "integer" + }, + "asset-id": { + "description": "\\[s\\] Asset whose AssetParams may be read by the executing\n ApprovalProgram or ClearStateProgram.", + "type": "integer" + }, + "box": { + "$ref": "#/definitions/BoxReference" + }, + "holding": { + "$ref": "#/definitions/HoldingRef" + }, + "local": { + "$ref": "#/definitions/LocalsRef" + } + } + }, + "StateDelta": { + "description": "Application state delta.", + "type": "array", + "items": { + "$ref": "#/definitions/EvalDeltaKeyValue" + } + }, + "AccountStateDelta": { + "description": "Application state delta.", + "type": "object", + "required": [ + "address", + "delta" + ], + "properties": { + "address": { + "type": "string" + }, + "delta": { + "$ref": "#/definitions/StateDelta" + } + } + }, + "EvalDeltaKeyValue": { + "description": "Key-value pairs for StateDelta.", + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/definitions/EvalDelta" + } + } + }, + "EvalDelta": { + "description": "Represents a TEAL value delta.", + "type": "object", + "required": [ + "action" + ], + "properties": { + "action": { + "description": "\\[at\\] delta action.", + "type": "integer" + }, + "bytes": { + "description": "\\[bs\\] bytes value.", + "type": "string" + }, + "uint": { + "description": "\\[ui\\] uint value.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "StateSchema": { + "description": "Represents a \\[apls\\] local-state or \\[apgs\\] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.", + "type": "object", + "required": [ + "num-uint", + "num-byte-slice" + ], + "properties": { + "num-uint": { + "description": "Maximum number of TEAL uints that may be stored in the key/value store.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "num-byte-slice": { + "description": "Maximum number of TEAL byte slices that may be stored in the key/value store.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "Transaction": { + "description": "Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.\n\nDefinition:\ndata/transactions/signedtxn.go : SignedTxn\ndata/transactions/transaction.go : Transaction\n", + "type": "object", + "required": [ + "tx-type", + "sender", + "fee", + "first-valid", + "last-valid" + ], + "mutually-exclusive": [ + "application-transaction", + "asset-config-transaction", + "asset-freeze-transaction", + "asset-transfer-transaction", + "keyreg-transaction", + "payment-transaction", + "state-proof-transaction", + "heartbeat-transaction" + ], + "properties": { + "application-transaction": { + "$ref": "#/definitions/TransactionApplication" + }, + "asset-config-transaction": { + "$ref": "#/definitions/TransactionAssetConfig" + }, + "asset-freeze-transaction": { + "$ref": "#/definitions/TransactionAssetFreeze" + }, + "asset-transfer-transaction": { + "$ref": "#/definitions/TransactionAssetTransfer" + }, + "state-proof-transaction": { + "$ref": "#/definitions/TransactionStateProof" + }, + "heartbeat-transaction": { + "$ref": "#/definitions/TransactionHeartbeat" + }, + "auth-addr": { + "description": "\\[sgnr\\] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.", + "type": "string", + "x-algorand-format": "Address" + }, + "close-rewards": { + "description": "\\[rc\\] rewards applied to close-remainder-to account.", + "type": "integer" + }, + "closing-amount": { + "description": "\\[ca\\] closing amount for transaction.", + "type": "integer" + }, + "confirmed-round": { + "description": "Round when the transaction was confirmed.", + "type": "integer" + }, + "created-application-index": { + "description": "Specifies an application index (ID) if an application was created with this transaction.", + "type": "integer" + }, + "created-asset-index": { + "description": "Specifies an asset index (ID) if an asset was created with this transaction.", + "type": "integer" + }, + "fee": { + "description": "\\[fee\\] Transaction fee.", + "type": "integer" + }, + "first-valid": { + "description": "\\[fv\\] First valid round for this transaction.", + "type": "integer" + }, + "genesis-hash": { + "description": "\\[gh\\] Hash of genesis block.", + "type": "string", + "format": "byte" + }, + "genesis-id": { + "description": "\\[gen\\] genesis block ID.", + "type": "string" + }, + "group": { + "description": "\\[grp\\] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.", + "type": "string", + "format": "byte" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "intra-round-offset": { + "description": "Offset into the round where this transaction was confirmed.", + "type": "integer" + }, + "keyreg-transaction": { + "$ref": "#/definitions/TransactionKeyreg" + }, + "last-valid": { + "description": "\\[lv\\] Last valid round for this transaction.", + "type": "integer" + }, + "lease": { + "description": "\\[lx\\] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.", + "type": "string", + "format": "byte" + }, + "note": { + "description": "\\[note\\] Free form data.", + "type": "string", + "format": "byte" + }, + "payment-transaction": { + "$ref": "#/definitions/TransactionPayment" + }, + "receiver-rewards": { + "description": "\\[rr\\] rewards applied to receiver account.", + "type": "integer" + }, + "rekey-to": { + "description": "\\[rekey\\] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.", + "type": "string", + "x-algorand-format": "Address" + }, + "round-time": { + "description": "Time when the block this transaction is in was confirmed.", + "type": "integer" + }, + "sender": { + "description": "\\[snd\\] Sender's address.", + "type": "string" + }, + "sender-rewards": { + "description": "\\[rs\\] rewards applied to sender account.", + "type": "integer" + }, + "signature": { + "$ref": "#/definitions/TransactionSignature" + }, + "tx-type": { + "description": "\\[type\\] Indicates what type of transaction this is. Different types have different fields.\n\nValid types, and where their fields are stored:\n* \\[pay\\] payment-transaction\n* \\[keyreg\\] keyreg-transaction\n* \\[acfg\\] asset-config-transaction\n* \\[axfer\\] asset-transfer-transaction\n* \\[afrz\\] asset-freeze-transaction\n* \\[appl\\] application-transaction\n* \\[stpf\\] state-proof-transaction\n* \\[hb\\] heartbeat-transaction", + "type": "string", + "enum": [ + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], + "x-algorand-format": "tx-type-enum" + }, + "local-state-delta": { + "description": "\\[ld\\] Local state key/value changes for the application being executed by this transaction.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountStateDelta" + } + }, + "global-state-delta": { + "description": "\\[gd\\] Global state key/value changes for the application being executed by this transaction.", + "$ref": "#/definitions/StateDelta" + }, + "logs": { + "description": "\\[lg\\] Logs for the application being executed by this transaction.", + "type": "array", + "items": { + "type": "string", + "format": "byte" + } + }, + "inner-txns": { + "description": "Inner transactions produced by application execution.", + "type": "array", + "items": { + "$ref": "#/definitions/Transaction" + } + } + } + }, + "TransactionApplication": { + "description": "Fields for application transactions.\n\nDefinition:\ndata/transactions/application.go : ApplicationCallTxnFields", + "type": "object", + "required": [ + "application-id", + "on-completion" + ], + "properties": { + "application-id": { + "description": "\\[apid\\] ID of the application being configured or empty if creating.", + "type": "integer" + }, + "on-completion": { + "$ref": "#/definitions/OnCompletion" + }, + "application-args": { + "description": "\\[apaa\\] transaction specific arguments accessed from the application's approval-program and clear-state-program.", + "type": "array", + "format": "byte", + "items": { + "type": "string" + } + }, + "access": { + "description": "\\[al\\] Access unifies `accounts`, `foreign-apps`, `foreign-assets`, and `box-references` under a single list. If access is non-empty, these lists must be empty. If access is empty, those lists may be non-empty.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRef" + } + }, + "accounts": { + "description": "\\[apat\\] List of accounts in addition to the sender that may be accessed from the application's approval-program and clear-state-program.", + "type": "array", + "format": "string", + "items": { + "type": "string", + "x-algorand-format": "Address" + } + }, + "box-references": { + "description": "\\[apbx\\] the boxes that can be accessed by this transaction (and others in the same group).", + "type": "array", + "items": { + "$ref": "#/definitions/BoxReference" + } + }, + "foreign-apps": { + "description": "\\[apfa\\] Lists the applications in addition to the application-id whose global states may be accessed by this application's approval-program and clear-state-program. The access is read-only.", + "type": "array", + "format": "string", + "items": { + "type": "integer" + } + }, + "foreign-assets": { + "description": "\\[apas\\] lists the assets whose parameters may be accessed by this application's ApprovalProgram and ClearStateProgram. The access is read-only.", + "type": "array", + "format": "string", + "items": { + "type": "integer" + } + }, + "local-state-schema": { + "$ref": "#/definitions/StateSchema" + }, + "global-state-schema": { + "$ref": "#/definitions/StateSchema" + }, + "approval-program": { + "description": "\\[apap\\] Logic executed for every application transaction, except when on-completion is set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "clear-state-program": { + "description": "\\[apsu\\] Logic executed for application transactions with on-completion set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "extra-program-pages": { + "description": "\\[epp\\] specifies the additional app program len requested in pages.", + "type": "integer" + }, + "reject-version": { + "description": "\\[aprv\\] the lowest application version for which this transaction should immediately fail. 0 indicates that no version check should be performed.", + "type": "integer" + } + } + }, + "TransactionAssetConfig": { + "description": "Fields for asset allocation, re-configuration, and destruction.\n\n\nA zero value for asset-id indicates asset creation.\nA zero value for the params indicates asset destruction.\n\nDefinition:\ndata/transactions/asset.go : AssetConfigTxnFields", + "type": "object", + "properties": { + "asset-id": { + "description": "\\[xaid\\] ID of the asset being configured or empty if creating.", + "type": "integer" + }, + "params": { + "$ref": "#/definitions/AssetParams" + } + } + }, + "TransactionAssetFreeze": { + "description": "Fields for an asset freeze transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetFreezeTxnFields", + "type": "object", + "required": [ + "asset-id", + "address", + "new-freeze-status" + ], + "properties": { + "address": { + "description": "\\[fadd\\] Address of the account whose asset is being frozen or thawed.", + "type": "string" + }, + "asset-id": { + "description": "\\[faid\\] ID of the asset being frozen or thawed.", + "type": "integer" + }, + "new-freeze-status": { + "description": "\\[afrz\\] The new freeze status.", + "type": "boolean" + } + } + }, + "TransactionStateProof": { + "description": "Fields for a state proof transaction. \n\nDefinition:\ndata/transactions/stateproof.go : StateProofTxnFields", + "type": "object", + "properties": { + "state-proof-type": { + "description": "\\[sptype\\] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go", + "type": "integer", + "x-algorand-format": "uint64" + }, + "state-proof": { + "$ref": "#/definitions/StateProofFields" + }, + "message": { + "$ref": "#/definitions/IndexerStateProofMessage", + "description": "\\[spmsg\\]" + } + } + }, + "TransactionHeartbeat": { + "description": "Fields for a heartbeat transaction.\n\nDefinition:\ndata/transactions/heartbeat.go : HeartbeatTxnFields", + "type": "object", + "required": [ + "hb-address", + "hb-proof", + "hb-seed", + "hb-vote-id", + "hb-key-dilution" + ], + "properties": { + "hb-address": { + "description": "\\[hbad\\] HbAddress is the account this txn is proving onlineness for.", + "type": "string" + }, + "hb-proof": { + "$ref": "#/definitions/HbProofFields" + }, + "hb-seed": { + "description": "\\[hbsd\\] HbSeed must be the block seed for the this transaction's firstValid block.", + "type": "string", + "format": "byte" + }, + "hb-vote-id": { + "description": "\\[hbvid\\] HbVoteID must match the HbAddress account's current VoteID.", + "type": "string", + "format": "byte" + }, + "hb-key-dilution": { + "description": "\\[hbkd\\] HbKeyDilution must match HbAddress account's current KeyDilution.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "TransactionAssetTransfer": { + "description": "Fields for an asset transfer transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetTransferTxnFields", + "type": "object", + "required": [ + "asset-id", + "amount", + "receiver" + ], + "properties": { + "amount": { + "description": "\\[aamt\\] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account's Assets map.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "asset-id": { + "description": "\\[xaid\\] ID of the asset being transferred.", + "type": "integer" + }, + "close-amount": { + "description": "Number of assets transferred to the close-to account as part of the transaction.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "close-to": { + "description": "\\[aclose\\] Indicates that the asset should be removed from the account's Assets map, and specifies where the remaining asset holdings should be transferred. It's always valid to transfer remaining asset holdings to the creator account.", + "type": "string" + }, + "receiver": { + "description": "\\[arcv\\] Recipient address of the transfer.", + "type": "string" + }, + "sender": { + "description": "\\[asnd\\] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.", + "type": "string" + } + } + }, + "TransactionKeyreg": { + "description": "Fields for a keyreg transaction.\n\nDefinition:\ndata/transactions/keyreg.go : KeyregTxnFields", + "type": "object", + "properties": { + "non-participation": { + "description": "\\[nonpart\\] Mark the account as participating or non-participating.", + "type": "boolean" + }, + "selection-participation-key": { + "description": "\\[selkey\\] Public key used with the Verified Random Function (VRF) result during committee selection.", + "type": "string", + "format": "byte" + }, + "vote-first-valid": { + "description": "\\[votefst\\] First round this participation key is valid.", + "type": "integer" + }, + "vote-key-dilution": { + "description": "\\[votekd\\] Number of subkeys in each batch of participation keys.", + "type": "integer" + }, + "vote-last-valid": { + "description": "\\[votelst\\] Last round this participation key is valid.", + "type": "integer" + }, + "vote-participation-key": { + "description": "\\[votekey\\] Participation public key used in key registration transactions.", + "type": "string", + "format": "byte" + }, + "state-proof-key": { + "description": "\\[sprfkey\\] State proof key used in key registration transactions.", + "type": "string", + "format": "byte" + } + } + }, + "TransactionPayment": { + "description": "Fields for a payment transaction.\n\nDefinition:\ndata/transactions/payment.go : PaymentTxnFields", + "type": "object", + "required": [ + "receiver", + "amount" + ], + "properties": { + "amount": { + "description": "\\[amt\\] number of MicroAlgos intended to be transferred.", + "type": "integer" + }, + "close-amount": { + "description": "Number of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.", + "type": "integer" + }, + "close-remainder-to": { + "description": "\\[close\\] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.", + "type": "string" + }, + "receiver": { + "description": "\\[rcv\\] receiver's address.", + "type": "string" + } + } + }, + "TransactionSignature": { + "description": "Validation signature associated with some data. Only one of the signatures should be provided.", + "type": "object", + "mutually-exclusive": [ + "sig", + "multisig", + "logicsig" + ], + "properties": { + "logicsig": { + "$ref": "#/definitions/TransactionSignatureLogicsig" + }, + "multisig": { + "$ref": "#/definitions/TransactionSignatureMultisig" + }, + "sig": { + "description": "\\[sig\\] Standard ed25519 signature.", + "type": "string", + "format": "byte" + } + } + }, + "TransactionSignatureLogicsig": { + "description": "\\[lsig\\] Programatic transaction signature.\n\nDefinition:\ndata/transactions/logicsig.go", + "type": "object", + "required": [ + "logic" + ], + "properties": { + "args": { + "description": "\\[arg\\] Logic arguments, base64 encoded.", + "type": "array", + "format": "byte", + "items": { + "type": "string" + } + }, + "logic": { + "description": "\\[l\\] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.", + "type": "string", + "format": "byte" + }, + "multisig-signature": { + "$ref": "#/definitions/TransactionSignatureMultisig" + }, + "logic-multisig-signature": { + "$ref": "#/definitions/TransactionSignatureMultisig" + }, + "signature": { + "description": "\\[sig\\] ed25519 signature.", + "type": "string", + "format": "byte" + } + } + }, + "TransactionSignatureMultisig": { + "description": "structure holding multiple subsignatures.\n\nDefinition:\ncrypto/multisig.go : MultisigSig", + "type": "object", + "properties": { + "subsignature": { + "description": "\\[subsig\\] holds pairs of public key and signatures.", + "type": "array", + "items": { + "$ref": "#/definitions/TransactionSignatureMultisigSubsignature" + } + }, + "threshold": { + "description": "\\[thr\\]", + "type": "integer" + }, + "version": { + "description": "\\[v\\]", + "type": "integer" + } + } + }, + "TransactionSignatureMultisigSubsignature": { + "type": "object", + "properties": { + "public-key": { + "description": "\\[pk\\]", + "type": "string", + "format": "byte" + }, + "signature": { + "description": "\\[s\\]", + "type": "string", + "format": "byte" + } + } + }, + "StateProofFields": { + "description": "\\[sp\\] represents a state proof.\n\nDefinition:\ncrypto/stateproof/structs.go : StateProof", + "type": "object", + "properties": { + "sig-commit": { + "description": "\\[c\\]", + "type": "string", + "format": "byte" + }, + "signed-weight": { + "description": "\\[w\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "sig-proofs": { + "description": "\\[S\\]", + "$ref": "#/definitions/MerkleArrayProof" + }, + "part-proofs": { + "description": "\\[P\\]", + "$ref": "#/definitions/MerkleArrayProof" + }, + "salt-version": { + "description": "\\[v\\] Salt version of the merkle signature.", + "type": "integer" + }, + "reveals": { + "type": "array", + "description": "\\[r\\] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp", + "items": { + "$ref": "#/definitions/StateProofReveal" + } + }, + "positions-to-reveal": { + "description": "\\[pr\\] Sequence of reveal positions.", + "type": "array", + "items": { + "type": "integer", + "x-algorand-format": "uint64" + } + } + } + }, + "HbProofFields": { + "description": "\\[hbprf\\] HbProof is a signature using HeartbeatAddress's partkey, thereby showing it is online.", + "type": "object", + "properties": { + "hb-sig": { + "description": "\\[s\\] Signature of the heartbeat message.", + "type": "string", + "format": "byte" + }, + "hb-pk": { + "description": "\\[p\\] Public key of the heartbeat message.", + "type": "string", + "format": "byte" + }, + "hb-pk2": { + "description": "\\[p2\\] Key for new-style two-level ephemeral signature.", + "type": "string", + "format": "byte" + }, + "hb-pk1sig": { + "description": "\\[p1s\\] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.", + "type": "string", + "format": "byte" + }, + "hb-pk2sig": { + "description": "\\[p2s\\] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).", + "type": "string", + "format": "byte" + } + } + }, + "IndexerStateProofMessage": { + "type": "object", + "properties": { + "block-headers-commitment": { + "description": "\\[b\\]", + "type": "string", + "format": "byte" + }, + "voters-commitment": { + "description": "\\[v\\]", + "type": "string", + "format": "byte" + }, + "ln-proven-weight": { + "description": "\\[P\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "first-attested-round": { + "description": "\\[f\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "latest-attested-round": { + "description": "\\[l\\]", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "StateProofReveal": { + "type": "object", + "properties": { + "position": { + "description": "The position in the signature and participants arrays corresponding to this entry.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "sig-slot": { + "description": "\\[s\\]", + "$ref": "#/definitions/StateProofSigSlot" + }, + "participant": { + "description": "\\[p\\]", + "$ref": "#/definitions/StateProofParticipant" + } + } + }, + "StateProofSigSlot": { + "type": "object", + "properties": { + "signature": { + "description": "", + "$ref": "#/definitions/StateProofSignature" + }, + "lower-sig-weight": { + "description": "\\[l\\] The total weight of signatures in the lower-numbered slots.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "StateProofSignature": { + "type": "object", + "properties": { + "falcon-signature": { + "type": "string", + "format": "byte" + }, + "merkle-array-index": { + "type": "integer", + "x-algorand-foramt": "uint64" + }, + "proof": { + "$ref": "#/definitions/MerkleArrayProof" + }, + "verifying-key": { + "description": "\\[vkey\\]", + "type": "string", + "format": "byte" + } + } + }, + "StateProofParticipant": { + "type": "object", + "properties": { + "verifier": { + "description": "\\[p\\]", + "$ref": "#/definitions/StateProofVerifier" + }, + "weight": { + "description": "\\[w\\]", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "StateProofVerifier": { + "type": "object", + "properties": { + "commitment": { + "description": "\\[cmt\\] Represents the root of the vector commitment tree.", + "type": "string", + "format": "byte" + }, + "key-lifetime": { + "description": "\\[lf\\] Key lifetime.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "StateProofTracking": { + "type": "object", + "properties": { + "type": { + "description": "State Proof Type. Note the raw object uses map with this as key.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "voters-commitment": { + "description": "\\[v\\] Root of a vector commitment containing online accounts that will help sign the proof.", + "type": "string", + "format": "byte" + }, + "online-total-weight": { + "description": "\\[t\\] The total number of microalgos held by the online accounts during the StateProof round.", + "type": "integer" + }, + "next-round": { + "description": "\\[n\\] Next round for which we will accept a state proof transaction.", + "type": "integer" + } + } + }, + "MerkleArrayProof": { + "type": "object", + "properties": { + "path": { + "description": "\\[pth\\]", + "type": "array", + "items": { + "type": "string", + "format": "byte" + } + }, + "hash-factory": { + "$ref": "#/definitions/HashFactory" + }, + "tree-depth": { + "description": "\\[td\\]", + "type": "integer", + "x-algorand-format": "uint8" + } + } + }, + "HashFactory": { + "type": "object", + "properties": { + "hash-type": { + "description": "\\[t\\]", + "type": "integer", + "x-algorand-format": "uint16" + } + } + } + }, + "parameters": { + "proposers": { + "type": "array", + "items": { + "type": "string", + "x-algorand-format": "Address" + }, + "description": "Accounts marked as proposer in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "name": "proposers", + "in": "query", + "required": false + }, + "absent": { + "type": "array", + "items": { + "type": "string", + "x-algorand-format": "Address" + }, + "description": "Accounts marked as absent in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "name": "absent", + "in": "query", + "required": false + }, + "expired": { + "type": "array", + "items": { + "type": "string", + "x-algorand-format": "Address" + }, + "description": "Accounts marked as expired in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "name": "expired", + "in": "query", + "required": false + }, + "account-id": { + "type": "string", + "description": "account string", + "name": "account-id", + "in": "path", + "required": true + }, + "address": { + "type": "string", + "x-algorand-format": "Address", + "description": "Only include transactions with this address in one of the transaction fields.", + "name": "address", + "in": "query" + }, + "address-role": { + "enum": [ + "sender", + "receiver", + "freeze-target" + ], + "type": "string", + "description": "Combine with the address parameter to define what type of address to search for.", + "name": "address-role", + "in": "query" + }, + "after-time": { + "type": "string", + "format": "date-time", + "x-algorand-format": "RFC3339 String", + "description": "Include results after the given time. Must be an RFC 3339 formatted string.", + "name": "after-time", + "in": "query" + }, + "application-id": { + "type": "integer", + "description": "Application ID", + "name": "application-id", + "in": "query" + }, + "asset-id": { + "type": "integer", + "description": "Asset ID", + "name": "asset-id", + "in": "query" + }, + "before-time": { + "type": "string", + "format": "date-time", + "x-algorand-format": "RFC3339 String", + "description": "Include results before the given time. Must be an RFC 3339 formatted string.", + "name": "before-time", + "in": "query" + }, + "box-name": { + "description": "A box name in goal-arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", + "type": "string", + "name": "name", + "in": "query", + "required": true + }, + "currency-greater-than": { + "type": "integer", + "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "name": "currency-greater-than", + "in": "query" + }, + "currency-less-than": { + "type": "integer", + "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "name": "currency-less-than", + "in": "query" + }, + "exclude-close-to": { + "type": "boolean", + "description": "Combine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.", + "name": "exclude-close-to", + "in": "query" + }, + "header-only": { + "type": "boolean", + "description": "Header only flag. When this is set to true, returned block does not contain the transactions", + "name": "header-only", + "in": "query" + }, + "include-all": { + "type": "boolean", + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "name": "include-all", + "in": "query" + }, + "exclude": { + "description": "Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.", + "name": "exclude", + "in": "query", + "type": "array", + "items": { + "type": "string", + "enum": [ + "all", + "assets", + "created-assets", + "apps-local-state", + "created-apps", + "none" + ] + } + }, + "limit": { + "type": "integer", + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "name": "limit", + "in": "query" + }, + "max-round": { + "type": "integer", + "description": "Include results at or before the specified max-round.", + "name": "max-round", + "in": "query" + }, + "min-round": { + "type": "integer", + "description": "Include results at or after the specified min-round.", + "name": "min-round", + "in": "query" + }, + "next": { + "type": "string", + "description": "The next page of results. Use the next token provided by the previous results.", + "name": "next", + "in": "query" + }, + "note-prefix": { + "type": "string", + "description": "Specifies a prefix which must be contained in the note field.", + "name": "note-prefix", + "in": "query", + "x-algorand-format": "base64" + }, + "online-only": { + "type": "boolean", + "description": "When this is set to true, return only accounts whose participation status is currently online.", + "name": "online-only", + "in": "query" + }, + "rekey-to": { + "type": "boolean", + "description": "Include results which include the rekey-to field.", + "name": "rekey-to", + "in": "query" + }, + "round": { + "type": "integer", + "description": "Include results for the specified round.", + "name": "round", + "in": "query" + }, + "round-number": { + "type": "integer", + "description": "Round number", + "name": "round-number", + "in": "path", + "required": true + }, + "sender-address": { + "type": "string", + "x-algorand-format": "Address", + "description": "Only include transactions with this sender address.", + "name": "sender-address", + "in": "query" + }, + "sig-type": { + "enum": [ + "sig", + "msig", + "lsig" + ], + "type": "string", + "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", + "name": "sig-type", + "in": "query" + }, + "auth-addr": { + "type": "string", + "description": "Include accounts configured to use this spending key.", + "name": "auth-addr", + "in": "query", + "x-algorand-format": "Address" + }, + "group-id": { + "type": "string", + "description": "Lookup transactions by group ID. This field must be base64-encoded, and afterwards, base64 characters that are URL-unsafe (i.e. =, /, +) must be URL-encoded", + "name": "group-id", + "in": "query", + "x-algorand-format": "base64" + }, + "txid": { + "type": "string", + "description": "Lookup the specific transaction by ID.", + "name": "txid", + "in": "query" + }, + "tx-type": { + "enum": [ + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], + "type": "string", + "name": "tx-type", + "in": "query" + } + }, + "responses": { + "AccountResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "account" + ], + "properties": { + "account": { + "$ref": "#/definitions/Account" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } + } + } + }, + "AssetHoldingsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "assets" + ], + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetHolding" + } + } + } + } + }, + "AccountsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "accounts" + ], + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/Account" + } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + } + } + }, + "AssetBalancesResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "balances" + ], + "properties": { + "balances": { + "type": "array", + "items": { + "$ref": "#/definitions/MiniAssetHolding" + } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + } + } + }, + "ApplicationResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "applications" + ], + "properties": { + "application": { + "$ref": "#/definitions/Application" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } + } + } + }, + "ApplicationsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "applications" + ], + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/definitions/Application" + } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + } + } + }, + "ApplicationLogsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "application-id", + "current-round" + ], + "properties": { + "application-id": { + "description": "\\[appidx\\] application index.", + "type": "integer" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "log-data": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationLogData" + } + } + } + } + }, + "ApplicationLocalStatesResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "apps-local-states" + ], + "properties": { + "apps-local-states": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationLocalState" + } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + } + } + }, + "AssetResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "asset" + ], + "properties": { + "asset": { + "$ref": "#/definitions/Asset" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } + } + } + }, + "BoxesResponse": { + "description": "Box names of an application", + "schema": { + "type": "object", + "required": [ + "application-id", + "boxes" + ], + "properties": { + "application-id": { + "description": "\\[appidx\\] application index.", + "type": "integer" + }, + "boxes": { + "type": "array", + "items": { + "$ref": "#/definitions/BoxDescriptor" + } + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + } + } + }, + "BoxResponse": { + "description": "Box information", + "schema": { + "$ref": "#/definitions/Box" + } + }, + "ErrorResponse": { + "description": "Response for errors", + "schema": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "data": { + "type": "object" + }, + "message": { + "type": "string" + } + } + } + }, + "AssetsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "assets" + ], + "properties": { + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/Asset" + } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + } + } + }, + "BlockResponse": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/Block" + } + }, + "BlockHeadersResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "blocks" + ], + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "blocks": { + "type": "array", + "items": { + "$ref": "#/definitions/Block" + } + } + } + } + }, + "HealthCheckResponse": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/HealthCheck" + } + }, + "TransactionResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "transaction" + ], + "properties": { + "transaction": { + "$ref": "#/definitions/Transaction" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } + } + } + }, + "TransactionsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "transactions" + ], + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "transactions": { + "type": "array", + "items": { + "$ref": "#/definitions/Transaction" + } + } + } + } + } + } +} \ No newline at end of file From c46fd9790492ffaa194cf5b2506f77a729879d06 Mon Sep 17 00:00:00 2001 From: Dzmitry Kliapkou Date: Thu, 12 Feb 2026 16:50:57 +0300 Subject: [PATCH 2/6] create components section --- algorand-indexer/rest-api/openapi.json | 5050 ++++++++++++------------ 1 file changed, 2526 insertions(+), 2524 deletions(-) diff --git a/algorand-indexer/rest-api/openapi.json b/algorand-indexer/rest-api/openapi.json index 60b8006..dc244d3 100644 --- a/algorand-indexer/rest-api/openapi.json +++ b/algorand-indexer/rest-api/openapi.json @@ -25,7 +25,7 @@ "operationId": "makeHealthCheck", "responses": { "200": { - "$ref": "#/responses/HealthCheckResponse" + "$ref": "#/components/responses/HealthCheckResponse" }, "default": { "description": "Unknown Error" @@ -48,28 +48,28 @@ "operationId": "searchForAccounts", "parameters": [ { - "$ref": "#/parameters/asset-id" + "$ref": "#/components/parameters/asset-id" }, { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" }, { - "$ref": "#/parameters/currency-greater-than" + "$ref": "#/components/parameters/currency-greater-than" }, { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" }, { - "$ref": "#/parameters/exclude" + "$ref": "#/components/parameters/exclude" }, { - "$ref": "#/parameters/currency-less-than" + "$ref": "#/components/parameters/currency-less-than" }, { - "$ref": "#/parameters/auth-addr" + "$ref": "#/components/parameters/auth-addr" }, { "type": "integer", @@ -78,21 +78,21 @@ "in": "query" }, { - "$ref": "#/parameters/application-id" + "$ref": "#/components/parameters/application-id" }, { - "$ref": "#/parameters/online-only" + "$ref": "#/components/parameters/online-only" } ], "responses": { "200": { - "$ref": "#/responses/AccountsResponse" + "$ref": "#/components/responses/AccountsResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -112,30 +112,30 @@ "operationId": "lookupAccountByID", "parameters": [ { - "$ref": "#/parameters/account-id" + "$ref": "#/components/parameters/account-id" }, { - "$ref": "#/parameters/round" + "$ref": "#/components/parameters/round" }, { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" }, { - "$ref": "#/parameters/exclude" + "$ref": "#/components/parameters/exclude" } ], "responses": { "200": { - "$ref": "#/responses/AccountResponse" + "$ref": "#/components/responses/AccountResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -155,33 +155,33 @@ "operationId": "lookupAccountAppLocalStates", "parameters": [ { - "$ref": "#/parameters/account-id" + "$ref": "#/components/parameters/account-id" }, { - "$ref": "#/parameters/application-id" + "$ref": "#/components/parameters/application-id" }, { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" }, { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" } ], "responses": { "200": { - "$ref": "#/responses/ApplicationLocalStatesResponse" + "$ref": "#/components/responses/ApplicationLocalStatesResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -201,33 +201,33 @@ "operationId": "lookupAccountAssets", "parameters": [ { - "$ref": "#/parameters/account-id" + "$ref": "#/components/parameters/account-id" }, { - "$ref": "#/parameters/asset-id" + "$ref": "#/components/parameters/asset-id" }, { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" }, { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" } ], "responses": { "200": { - "$ref": "#/responses/AssetHoldingsResponse" + "$ref": "#/components/responses/AssetHoldingsResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -247,33 +247,33 @@ "operationId": "lookupAccountCreatedApplications", "parameters": [ { - "$ref": "#/parameters/account-id" + "$ref": "#/components/parameters/account-id" }, { - "$ref": "#/parameters/application-id" + "$ref": "#/components/parameters/application-id" }, { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" }, { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" } ], "responses": { "200": { - "$ref": "#/responses/ApplicationsResponse" + "$ref": "#/components/responses/ApplicationsResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -293,33 +293,33 @@ "operationId": "lookupAccountCreatedAssets", "parameters": [ { - "$ref": "#/parameters/account-id" + "$ref": "#/components/parameters/account-id" }, { - "$ref": "#/parameters/asset-id" + "$ref": "#/components/parameters/asset-id" }, { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" }, { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" } ], "responses": { "200": { - "$ref": "#/responses/AssetsResponse" + "$ref": "#/components/responses/AssetsResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -339,63 +339,63 @@ "operationId": "lookupAccountTransactions", "parameters": [ { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" }, { - "$ref": "#/parameters/note-prefix" + "$ref": "#/components/parameters/note-prefix" }, { - "$ref": "#/parameters/tx-type" + "$ref": "#/components/parameters/tx-type" }, { - "$ref": "#/parameters/sig-type" + "$ref": "#/components/parameters/sig-type" }, { - "$ref": "#/parameters/txid" + "$ref": "#/components/parameters/txid" }, { - "$ref": "#/parameters/round" + "$ref": "#/components/parameters/round" }, { - "$ref": "#/parameters/min-round" + "$ref": "#/components/parameters/min-round" }, { - "$ref": "#/parameters/max-round" + "$ref": "#/components/parameters/max-round" }, { - "$ref": "#/parameters/asset-id" + "$ref": "#/components/parameters/asset-id" }, { - "$ref": "#/parameters/before-time" + "$ref": "#/components/parameters/before-time" }, { - "$ref": "#/parameters/after-time" + "$ref": "#/components/parameters/after-time" }, { - "$ref": "#/parameters/currency-greater-than" + "$ref": "#/components/parameters/currency-greater-than" }, { - "$ref": "#/parameters/currency-less-than" + "$ref": "#/components/parameters/currency-less-than" }, { - "$ref": "#/parameters/account-id" + "$ref": "#/components/parameters/account-id" }, { - "$ref": "#/parameters/rekey-to" + "$ref": "#/components/parameters/rekey-to" } ], "responses": { "200": { - "$ref": "#/responses/TransactionsResponse" + "$ref": "#/components/responses/TransactionsResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -415,7 +415,7 @@ "operationId": "searchForApplications", "parameters": [ { - "$ref": "#/parameters/application-id" + "$ref": "#/components/parameters/application-id" }, { "type": "string", @@ -424,21 +424,21 @@ "in": "query" }, { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" }, { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" } ], "responses": { "200": { - "$ref": "#/responses/ApplicationsResponse" + "$ref": "#/components/responses/ApplicationsResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -464,18 +464,18 @@ "required": true }, { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" } ], "responses": { "200": { - "$ref": "#/responses/ApplicationResponse" + "$ref": "#/components/responses/ApplicationResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -505,21 +505,21 @@ "required": true }, { - "$ref": "#/parameters/box-name" + "$ref": "#/components/parameters/box-name" } ], "responses": { "200": { - "$ref": "#/responses/BoxResponse" + "$ref": "#/components/responses/BoxResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -546,24 +546,24 @@ "required": true }, { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" } ], "responses": { "200": { - "$ref": "#/responses/BoxesResponse" + "$ref": "#/components/responses/BoxesResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -589,27 +589,27 @@ "required": true }, { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" }, { - "$ref": "#/parameters/txid" + "$ref": "#/components/parameters/txid" }, { - "$ref": "#/parameters/min-round" + "$ref": "#/components/parameters/min-round" }, { - "$ref": "#/parameters/max-round" + "$ref": "#/components/parameters/max-round" }, { - "$ref": "#/parameters/sender-address" + "$ref": "#/components/parameters/sender-address" } ], "responses": { "200": { - "$ref": "#/responses/ApplicationLogsResponse" + "$ref": "#/components/responses/ApplicationLogsResponse" } } } @@ -629,13 +629,13 @@ "operationId": "searchForAssets", "parameters": [ { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" }, { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" }, { "type": "string", @@ -656,18 +656,18 @@ "in": "query" }, { - "$ref": "#/parameters/asset-id" + "$ref": "#/components/parameters/asset-id" } ], "responses": { "200": { - "$ref": "#/responses/AssetsResponse" + "$ref": "#/components/responses/AssetsResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -693,21 +693,21 @@ "required": true }, { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" } ], "responses": { "200": { - "$ref": "#/responses/AssetResponse" + "$ref": "#/components/responses/AssetResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -727,19 +727,19 @@ "operationId": "lookupAssetBalances", "parameters": [ { - "$ref": "#/parameters/include-all" + "$ref": "#/components/parameters/include-all" }, { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" }, { - "$ref": "#/parameters/currency-greater-than" + "$ref": "#/components/parameters/currency-greater-than" }, { - "$ref": "#/parameters/currency-less-than" + "$ref": "#/components/parameters/currency-less-than" }, { "type": "integer", @@ -750,13 +750,13 @@ ], "responses": { "200": { - "$ref": "#/responses/AssetBalancesResponse" + "$ref": "#/components/responses/AssetBalancesResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -776,52 +776,52 @@ "operationId": "lookupAssetTransactions", "parameters": [ { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" }, { - "$ref": "#/parameters/note-prefix" + "$ref": "#/components/parameters/note-prefix" }, { - "$ref": "#/parameters/tx-type" + "$ref": "#/components/parameters/tx-type" }, { - "$ref": "#/parameters/sig-type" + "$ref": "#/components/parameters/sig-type" }, { - "$ref": "#/parameters/txid" + "$ref": "#/components/parameters/txid" }, { - "$ref": "#/parameters/round" + "$ref": "#/components/parameters/round" }, { - "$ref": "#/parameters/min-round" + "$ref": "#/components/parameters/min-round" }, { - "$ref": "#/parameters/max-round" + "$ref": "#/components/parameters/max-round" }, { - "$ref": "#/parameters/before-time" + "$ref": "#/components/parameters/before-time" }, { - "$ref": "#/parameters/after-time" + "$ref": "#/components/parameters/after-time" }, { - "$ref": "#/parameters/currency-greater-than" + "$ref": "#/components/parameters/currency-greater-than" }, { - "$ref": "#/parameters/currency-less-than" + "$ref": "#/components/parameters/currency-less-than" }, { - "$ref": "#/parameters/address" + "$ref": "#/components/parameters/address" }, { - "$ref": "#/parameters/address-role" + "$ref": "#/components/parameters/address-role" }, { - "$ref": "#/parameters/exclude-close-to" + "$ref": "#/components/parameters/exclude-close-to" }, { "type": "integer", @@ -830,18 +830,18 @@ "required": true }, { - "$ref": "#/parameters/rekey-to" + "$ref": "#/components/parameters/rekey-to" } ], "responses": { "200": { - "$ref": "#/responses/TransactionsResponse" + "$ref": "#/components/responses/TransactionsResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -861,21 +861,21 @@ "operationId": "lookupBlock", "parameters": [ { - "$ref": "#/parameters/round-number" + "$ref": "#/components/parameters/round-number" }, { - "$ref": "#/parameters/header-only" + "$ref": "#/components/parameters/header-only" } ], "responses": { "200": { - "$ref": "#/responses/BlockResponse" + "$ref": "#/components/responses/BlockResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -895,75 +895,75 @@ "operationId": "searchForTransactions", "parameters": [ { - "$ref": "#/parameters/limit" + "$ref": "#/components/parameters/limit" }, { - "$ref": "#/parameters/next" + "$ref": "#/components/parameters/next" }, { - "$ref": "#/parameters/note-prefix" + "$ref": "#/components/parameters/note-prefix" }, { - "$ref": "#/parameters/tx-type" + "$ref": "#/components/parameters/tx-type" }, { - "$ref": "#/parameters/sig-type" + "$ref": "#/components/parameters/sig-type" }, { - "$ref": "#/parameters/group-id" + "$ref": "#/components/parameters/group-id" }, { - "$ref": "#/parameters/txid" + "$ref": "#/components/parameters/txid" }, { - "$ref": "#/parameters/round" + "$ref": "#/components/parameters/round" }, { - "$ref": "#/parameters/min-round" + "$ref": "#/components/parameters/min-round" }, { - "$ref": "#/parameters/max-round" + "$ref": "#/components/parameters/max-round" }, { - "$ref": "#/parameters/asset-id" + "$ref": "#/components/parameters/asset-id" }, { - "$ref": "#/parameters/before-time" + "$ref": "#/components/parameters/before-time" }, { - "$ref": "#/parameters/after-time" + "$ref": "#/components/parameters/after-time" }, { - "$ref": "#/parameters/currency-greater-than" + "$ref": "#/components/parameters/currency-greater-than" }, { - "$ref": "#/parameters/currency-less-than" + "$ref": "#/components/parameters/currency-less-than" }, { - "$ref": "#/parameters/address" + "$ref": "#/components/parameters/address" }, { - "$ref": "#/parameters/address-role" + "$ref": "#/components/parameters/address-role" }, { - "$ref": "#/parameters/exclude-close-to" + "$ref": "#/components/parameters/exclude-close-to" }, { - "$ref": "#/parameters/rekey-to" + "$ref": "#/components/parameters/rekey-to" }, { - "$ref": "#/parameters/application-id" + "$ref": "#/components/parameters/application-id" } ], "responses": { "200": { - "$ref": "#/responses/TransactionsResponse" + "$ref": "#/components/responses/TransactionsResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } @@ -991,2500 +991,2502 @@ ], "responses": { "200": { - "$ref": "#/responses/TransactionResponse" + "$ref": "#/components/responses/TransactionResponse" }, "400": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "404": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" }, "500": { - "$ref": "#/responses/ErrorResponse" + "$ref": "#/components/responses/ErrorResponse" } } } } }, - "definitions": { - "Hashtype": { - "description": "The type of hash function used to create the proof, must be one of: \n* sha512_256 \n* sha256", - "type": "string", - "enum": [ - "sha512_256", - "sha256" - ] - }, - "Account": { - "description": "Account information at a given round.\n\nDefinition:\ndata/basics/userBalance.go : AccountData\n", - "type": "object", - "required": [ - "round", - "address", - "amount", - "pending-rewards", - "amount-without-pending-rewards", - "rewards", - "status", - "min-balance", - "total-apps-opted-in", - "total-assets-opted-in", - "total-box-bytes", - "total-boxes", - "total-created-apps", - "total-created-assets" - ], - "properties": { - "address": { - "description": "the account public key", - "type": "string" - }, - "amount": { - "description": "total number of MicroAlgos in the account", - "type": "integer" - }, - "min-balance": { - "description": "MicroAlgo balance required by the account.\n\nThe requirement grows based on asset and application usage.", - "type": "integer" - }, - "amount-without-pending-rewards": { - "description": "specifies the amount of MicroAlgos in the account, without the pending rewards.", - "type": "integer" - }, - "apps-local-state": { - "description": "application local data stored in this account.\n\nNote the raw object uses `map[int] -\u003e AppLocalState` for this type.", - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationLocalState" + "components": { + "definitions": { + "Hashtype": { + "description": "The type of hash function used to create the proof, must be one of: \n* sha512_256 \n* sha256", + "type": "string", + "enum": [ + "sha512_256", + "sha256" + ] + }, + "Account": { + "description": "Account information at a given round.\n\nDefinition:\ndata/basics/userBalance.go : AccountData\n", + "type": "object", + "required": [ + "round", + "address", + "amount", + "pending-rewards", + "amount-without-pending-rewards", + "rewards", + "status", + "min-balance", + "total-apps-opted-in", + "total-assets-opted-in", + "total-box-bytes", + "total-boxes", + "total-created-apps", + "total-created-assets" + ], + "properties": { + "address": { + "description": "the account public key", + "type": "string" + }, + "amount": { + "description": "total number of MicroAlgos in the account", + "type": "integer" + }, + "min-balance": { + "description": "MicroAlgo balance required by the account.\n\nThe requirement grows based on asset and application usage.", + "type": "integer" + }, + "amount-without-pending-rewards": { + "description": "specifies the amount of MicroAlgos in the account, without the pending rewards.", + "type": "integer" + }, + "apps-local-state": { + "description": "application local data stored in this account.\n\nNote the raw object uses `map[int] -\u003e AppLocalState` for this type.", + "type": "array", + "items": { + "$ref": "#/components/definitions/ApplicationLocalState" + } + }, + "apps-total-schema": { + "description": "the sum of all of the local schemas and global schemas in this account.\n\nNote: the raw account uses `StateSchema` for this type.", + "$ref": "#/components/definitions/ApplicationStateSchema" + }, + "apps-total-extra-pages": { + "description": "the sum of all extra application program pages for this account.", + "type": "integer" + }, + "assets": { + "description": "assets held by this account.\n\nNote the raw object uses `map[int] -\u003e AssetHolding` for this type.", + "type": "array", + "items": { + "$ref": "#/components/definitions/AssetHolding" + } + }, + "created-apps": { + "description": "parameters of applications created by this account including app global data.\n\nNote: the raw account uses `map[int] -\u003e AppParams` for this type.", + "type": "array", + "items": { + "$ref": "#/components/definitions/Application" + } + }, + "created-assets": { + "description": "parameters of assets created by this account.\n\nNote: the raw account uses `map[int] -\u003e Asset` for this type.", + "type": "array", + "items": { + "$ref": "#/components/definitions/Asset" + } + }, + "participation": { + "$ref": "#/components/definitions/AccountParticipation" + }, + "incentive-eligible": { + "description": "can the account receive block incentives if its balance is in range at proposal time.", + "type": "boolean" + }, + "pending-rewards": { + "description": "amount of MicroAlgos of pending rewards in this account.", + "type": "integer" + }, + "reward-base": { + "description": "used as part of the rewards computation. Only applicable to accounts which are participating.", + "type": "integer" + }, + "rewards": { + "description": "total rewards of MicroAlgos the account has received, including pending rewards.", + "type": "integer" + }, + "round": { + "description": "The round for which this information is relevant.", + "type": "integer" + }, + "status": { + "description": "voting status of the account's MicroAlgos\n* Offline - indicates that the associated account is delegated.\n* Online - indicates that the associated account used as part of the delegation pool.\n* NotParticipating - indicates that the associated account is neither a delegator nor a delegate.", + "type": "string" + }, + "sig-type": { + "description": "the type of signature used by this account, must be one of:\n* sig\n* msig\n* lsig\n* or null if unknown", + "type": "string", + "enum": [ + "sig", + "msig", + "lsig" + ] + }, + "total-apps-opted-in": { + "description": "The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.", + "type": "integer" + }, + "total-assets-opted-in": { + "description": "The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.", + "type": "integer" + }, + "total-box-bytes": { + "description": "For app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.", + "type": "integer" + }, + "total-boxes": { + "description": "For app-accounts only. The total number of boxes which belong to the associated application.", + "type": "integer" + }, + "total-created-apps": { + "description": "The count of all apps (AppParams objects) created by this account.", + "type": "integer" + }, + "total-created-assets": { + "description": "The count of all assets (AssetParams objects) created by this account.", + "type": "integer" + }, + "auth-addr": { + "description": "The address against which signing should be checked. If empty, the address of the current account is used. This field can be updated in any transaction by setting the RekeyTo field.", + "type": "string", + "x-algorand-format": "Address" + }, + "last-proposed": { + "description": "The round in which this account last proposed the block.", + "type": "integer" + }, + "last-heartbeat": { + "description": "The round in which this account last went online, or explicitly renewed their online status.", + "type": "integer" + }, + "deleted": { + "description": "Whether or not this account is currently closed.", + "type": "boolean" + }, + "created-at-round": { + "description": "Round during which this account first appeared in a transaction.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "closed-at-round": { + "description": "Round during which this account was most recently closed.", + "type": "integer", + "x-algorand-format": "uint64" } - }, - "apps-total-schema": { - "description": "the sum of all of the local schemas and global schemas in this account.\n\nNote: the raw account uses `StateSchema` for this type.", - "$ref": "#/definitions/ApplicationStateSchema" - }, - "apps-total-extra-pages": { - "description": "the sum of all extra application program pages for this account.", - "type": "integer" - }, - "assets": { - "description": "assets held by this account.\n\nNote the raw object uses `map[int] -\u003e AssetHolding` for this type.", - "type": "array", - "items": { - "$ref": "#/definitions/AssetHolding" + } + }, + "AccountParticipation": { + "description": "AccountParticipation describes the parameters used by this account in consensus protocol.", + "type": "object", + "required": [ + "vote-participation-key", + "selection-participation-key", + "vote-first-valid", + "vote-last-valid", + "vote-key-dilution" + ], + "properties": { + "selection-participation-key": { + "description": "Selection public key (if any) currently registered for this round.", + "type": "string", + "format": "byte" + }, + "vote-first-valid": { + "description": "First round for which this participation is valid.", + "type": "integer" + }, + "vote-key-dilution": { + "description": "Number of subkeys in each batch of participation keys.", + "type": "integer" + }, + "vote-last-valid": { + "description": "Last round for which this participation is valid.", + "type": "integer" + }, + "vote-participation-key": { + "description": "root participation public key (if any) currently registered for this round.", + "type": "string", + "format": "byte" + }, + "state-proof-key": { + "description": "Root of the state proof key (if any)", + "type": "string", + "format": "byte" } - }, - "created-apps": { - "description": "parameters of applications created by this account including app global data.\n\nNote: the raw account uses `map[int] -\u003e AppParams` for this type.", - "type": "array", - "items": { - "$ref": "#/definitions/Application" + } + }, + "ApplicationStateSchema": { + "description": "Specifies maximums on the number of each type that may be stored.", + "type": "object", + "required": [ + "num-uint", + "num-byte-slice" + ], + "properties": { + "num-uint": { + "description": "number of uints.", + "type": "integer" + }, + "num-byte-slice": { + "description": "number of byte slices.", + "type": "integer" } - }, - "created-assets": { - "description": "parameters of assets created by this account.\n\nNote: the raw account uses `map[int] -\u003e Asset` for this type.", - "type": "array", - "items": { - "$ref": "#/definitions/Asset" + } + }, + "ApplicationLocalState": { + "description": "Stores local state associated with an application.", + "type": "object", + "required": [ + "id", + "schema" + ], + "properties": { + "id": { + "description": "The application which this local state is for.", + "type": "integer" + }, + "deleted": { + "description": "Whether or not the application local state is currently deleted from its account.", + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round when the account opted into the application.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "closed-out-at-round": { + "description": "Round when account closed out of the application.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "schema": { + "description": "schema.", + "$ref": "#/components/definitions/ApplicationStateSchema" + }, + "key-value": { + "description": "storage.", + "$ref": "#/components/definitions/TealKeyValueStore" } - }, - "participation": { - "$ref": "#/definitions/AccountParticipation" - }, - "incentive-eligible": { - "description": "can the account receive block incentives if its balance is in range at proposal time.", - "type": "boolean" - }, - "pending-rewards": { - "description": "amount of MicroAlgos of pending rewards in this account.", - "type": "integer" - }, - "reward-base": { - "description": "used as part of the rewards computation. Only applicable to accounts which are participating.", - "type": "integer" - }, - "rewards": { - "description": "total rewards of MicroAlgos the account has received, including pending rewards.", - "type": "integer" - }, - "round": { - "description": "The round for which this information is relevant.", - "type": "integer" - }, - "status": { - "description": "voting status of the account's MicroAlgos\n* Offline - indicates that the associated account is delegated.\n* Online - indicates that the associated account used as part of the delegation pool.\n* NotParticipating - indicates that the associated account is neither a delegator nor a delegate.", - "type": "string" - }, - "sig-type": { - "description": "the type of signature used by this account, must be one of:\n* sig\n* msig\n* lsig\n* or null if unknown", - "type": "string", - "enum": [ - "sig", - "msig", - "lsig" - ] - }, - "total-apps-opted-in": { - "description": "The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.", - "type": "integer" - }, - "total-assets-opted-in": { - "description": "The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.", - "type": "integer" - }, - "total-box-bytes": { - "description": "For app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.", - "type": "integer" - }, - "total-boxes": { - "description": "For app-accounts only. The total number of boxes which belong to the associated application.", - "type": "integer" - }, - "total-created-apps": { - "description": "The count of all apps (AppParams objects) created by this account.", - "type": "integer" - }, - "total-created-assets": { - "description": "The count of all assets (AssetParams objects) created by this account.", - "type": "integer" - }, - "auth-addr": { - "description": "The address against which signing should be checked. If empty, the address of the current account is used. This field can be updated in any transaction by setting the RekeyTo field.", - "type": "string", - "x-algorand-format": "Address" - }, - "last-proposed": { - "description": "The round in which this account last proposed the block.", - "type": "integer" - }, - "last-heartbeat": { - "description": "The round in which this account last went online, or explicitly renewed their online status.", - "type": "integer" - }, - "deleted": { - "description": "Whether or not this account is currently closed.", - "type": "boolean" - }, - "created-at-round": { - "description": "Round during which this account first appeared in a transaction.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "closed-at-round": { - "description": "Round during which this account was most recently closed.", - "type": "integer", - "x-algorand-format": "uint64" } - } - }, - "AccountParticipation": { - "description": "AccountParticipation describes the parameters used by this account in consensus protocol.", - "type": "object", - "required": [ - "vote-participation-key", - "selection-participation-key", - "vote-first-valid", - "vote-last-valid", - "vote-key-dilution" - ], - "properties": { - "selection-participation-key": { - "description": "Selection public key (if any) currently registered for this round.", - "type": "string", - "format": "byte" - }, - "vote-first-valid": { - "description": "First round for which this participation is valid.", - "type": "integer" - }, - "vote-key-dilution": { - "description": "Number of subkeys in each batch of participation keys.", - "type": "integer" - }, - "vote-last-valid": { - "description": "Last round for which this participation is valid.", - "type": "integer" - }, - "vote-participation-key": { - "description": "root participation public key (if any) currently registered for this round.", - "type": "string", - "format": "byte" - }, - "state-proof-key": { - "description": "Root of the state proof key (if any)", - "type": "string", - "format": "byte" + }, + "TealKeyValueStore": { + "description": "Represents a key-value store for use in an application.", + "type": "array", + "items": { + "$ref": "#/components/definitions/TealKeyValue" } - } - }, - "ApplicationStateSchema": { - "description": "Specifies maximums on the number of each type that may be stored.", - "type": "object", - "required": [ - "num-uint", - "num-byte-slice" - ], - "properties": { - "num-uint": { - "description": "number of uints.", - "type": "integer" - }, - "num-byte-slice": { - "description": "number of byte slices.", - "type": "integer" + }, + "TealKeyValue": { + "description": "Represents a key-value pair in an application store.", + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/definitions/TealValue" + } } - } - }, - "ApplicationLocalState": { - "description": "Stores local state associated with an application.", - "type": "object", - "required": [ - "id", - "schema" - ], - "properties": { - "id": { - "description": "The application which this local state is for.", - "type": "integer" - }, - "deleted": { - "description": "Whether or not the application local state is currently deleted from its account.", - "type": "boolean" - }, - "opted-in-at-round": { - "description": "Round when the account opted into the application.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "closed-out-at-round": { - "description": "Round when account closed out of the application.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "schema": { - "description": "schema.", - "$ref": "#/definitions/ApplicationStateSchema" - }, - "key-value": { - "description": "storage.", - "$ref": "#/definitions/TealKeyValueStore" + }, + "TealValue": { + "description": "Represents a TEAL value.", + "type": "object", + "required": [ + "type", + "uint", + "bytes" + ], + "properties": { + "type": { + "description": "type of the value. Value `1` refers to **bytes**, value `2` refers to **uint**", + "type": "integer" + }, + "bytes": { + "description": "bytes value.", + "type": "string" + }, + "uint": { + "description": "uint value.", + "type": "integer", + "x-algorand-format": "uint64" + } } - } - }, - "TealKeyValueStore": { - "description": "Represents a key-value store for use in an application.", - "type": "array", - "items": { - "$ref": "#/definitions/TealKeyValue" - } - }, - "TealKeyValue": { - "description": "Represents a key-value pair in an application store.", - "type": "object", - "required": [ - "key", - "value" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "$ref": "#/definitions/TealValue" + }, + "Application": { + "description": "Application index and its parameters", + "type": "object", + "required": [ + "id", + "params" + ], + "properties": { + "id": { + "description": "application index.", + "type": "integer" + }, + "deleted": { + "description": "Whether or not this application is currently deleted.", + "type": "boolean" + }, + "created-at-round": { + "description": "Round when this application was created.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "deleted-at-round": { + "description": "Round when this application was deleted.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "params": { + "description": "application parameters.", + "$ref": "#/components/definitions/ApplicationParams" + } } - } - }, - "TealValue": { - "description": "Represents a TEAL value.", - "type": "object", - "required": [ - "type", - "uint", - "bytes" - ], - "properties": { - "type": { - "description": "type of the value. Value `1` refers to **bytes**, value `2` refers to **uint**", - "type": "integer" - }, - "bytes": { - "description": "bytes value.", - "type": "string" - }, - "uint": { - "description": "uint value.", - "type": "integer", - "x-algorand-format": "uint64" + }, + "ApplicationParams": { + "description": "Stores the global information associated with an application.", + "type": "object", + "required": [ + "approval-program", + "clear-state-program" + ], + "properties": { + "creator": { + "description": "The address that created this application. This is the address where the parameters and global state for this application can be found.", + "type": "string", + "x-algorand-format": "Address" + }, + "approval-program": { + "description": "approval program.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "clear-state-program": { + "description": "clear state program.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "extra-program-pages": { + "description": "the number of extra program pages available to this app.", + "type": "integer" + }, + "local-state-schema": { + "description": "local schema", + "$ref": "#/components/definitions/ApplicationStateSchema" + }, + "global-state-schema": { + "description": "global schema", + "$ref": "#/components/definitions/ApplicationStateSchema" + }, + "global-state": { + "description": "global state", + "$ref": "#/components/definitions/TealKeyValueStore" + }, + "version": { + "description": "the number of updates to the application programs", + "type": "integer" + } } - } - }, - "Application": { - "description": "Application index and its parameters", - "type": "object", - "required": [ - "id", - "params" - ], - "properties": { - "id": { - "description": "application index.", - "type": "integer" - }, - "deleted": { - "description": "Whether or not this application is currently deleted.", - "type": "boolean" - }, - "created-at-round": { - "description": "Round when this application was created.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "deleted-at-round": { - "description": "Round when this application was deleted.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "params": { - "description": "application parameters.", - "$ref": "#/definitions/ApplicationParams" + }, + "ApplicationLogData": { + "description": "Stores the global information associated with an application.", + "type": "object", + "required": [ + "txid", + "logs" + ], + "properties": { + "txid": { + "description": "Transaction ID", + "type": "string" + }, + "logs": { + "description": "Logs for the application being executed by the transaction.", + "type": "array", + "items": { + "type": "string", + "format": "byte" + } + } } - } - }, - "ApplicationParams": { - "description": "Stores the global information associated with an application.", - "type": "object", - "required": [ - "approval-program", - "clear-state-program" - ], - "properties": { - "creator": { - "description": "The address that created this application. This is the address where the parameters and global state for this application can be found.", - "type": "string", - "x-algorand-format": "Address" - }, - "approval-program": { - "description": "approval program.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "clear-state-program": { - "description": "clear state program.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "extra-program-pages": { - "description": "the number of extra program pages available to this app.", - "type": "integer" - }, - "local-state-schema": { - "description": "local schema", - "$ref": "#/definitions/ApplicationStateSchema" - }, - "global-state-schema": { - "description": "global schema", - "$ref": "#/definitions/ApplicationStateSchema" - }, - "global-state": { - "description": "global state", - "$ref": "#/definitions/TealKeyValueStore" - }, - "version": { - "description": "the number of updates to the application programs", - "type": "integer" + }, + "Asset": { + "description": "Specifies both the unique identifier and the parameters for an asset", + "type": "object", + "required": [ + "index", + "params" + ], + "properties": { + "index": { + "description": "unique asset identifier", + "type": "integer" + }, + "deleted": { + "description": "Whether or not this asset is currently deleted.", + "type": "boolean" + }, + "created-at-round": { + "description": "Round during which this asset was created.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "destroyed-at-round": { + "description": "Round during which this asset was destroyed.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "params": { + "$ref": "#/components/definitions/AssetParams" + } } - } - }, - "ApplicationLogData": { - "description": "Stores the global information associated with an application.", - "type": "object", - "required": [ - "txid", - "logs" - ], - "properties": { - "txid": { - "description": "Transaction ID", - "type": "string" - }, - "logs": { - "description": "Logs for the application being executed by the transaction.", - "type": "array", - "items": { + }, + "AssetHolding": { + "description": "Describes an asset held by an account.\n\nDefinition:\ndata/basics/userBalance.go : AssetHolding", + "type": "object", + "required": [ + "asset-id", + "amount", + "is-frozen" + ], + "properties": { + "amount": { + "description": "number of units held.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "asset-id": { + "description": "Asset ID of the holding.", + "type": "integer" + }, + "is-frozen": { + "description": "whether or not the holding is frozen.", + "type": "boolean" + }, + "deleted": { + "description": "Whether or not the asset holding is currently deleted from its account.", + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round during which the account opted into this asset holding.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "opted-out-at-round": { + "description": "Round during which the account opted out of this asset holding.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "AssetParams": { + "description": "AssetParams specifies the parameters for an asset.\n\n\\[apar\\] when part of an AssetConfig transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetParams", + "type": "object", + "required": [ + "creator", + "total", + "decimals" + ], + "properties": { + "clawback": { + "description": "Address of account used to clawback holdings of this asset. If empty, clawback is not permitted.", + "type": "string" + }, + "creator": { + "description": "The address that created this asset. This is the address where the parameters for this asset can be found, and also the address where unwanted asset units can be sent in the worst case.", + "type": "string" + }, + "decimals": { + "description": "The number of digits to use after the decimal point when displaying this asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in tenths. If 2, the base unit of the asset is in hundredths, and so on. This value must be between 0 and 19 (inclusive).", + "type": "integer", + "maximum": 19, + "minimum": 0 + }, + "default-frozen": { + "description": "Whether holdings of this asset are frozen by default.", + "type": "boolean" + }, + "freeze": { + "description": "Address of account used to freeze holdings of this asset. If empty, freezing is not permitted.", + "type": "string" + }, + "manager": { + "description": "Address of account used to manage the keys of this asset and to destroy it.", + "type": "string" + }, + "metadata-hash": { + "description": "A commitment to some unspecified asset metadata. The format of this metadata is up to the application.", + "type": "string", + "format": "byte" + }, + "name": { + "description": "Name of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.", + "type": "string" + }, + "name-b64": { + "description": "Base64 encoded name of this asset, as supplied by the creator.", + "type": "string", + "format": "byte" + }, + "reserve": { + "description": "Address of account holding reserve (non-minted) units of this asset.", + "type": "string" + }, + "total": { + "description": "The total number of units of this asset.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "unit-name": { + "description": "Name of a unit of this asset, as supplied by the creator. Included only when the name of a unit of this asset is composed of printable utf-8 characters.", + "type": "string" + }, + "unit-name-b64": { + "description": "Base64 encoded name of a unit of this asset, as supplied by the creator.", + "type": "string", + "format": "byte" + }, + "url": { + "description": "URL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.", + "type": "string" + }, + "url-b64": { + "description": "Base64 encoded URL where more information about the asset can be retrieved.", + "type": "string", + "format": "byte" + } + } + }, + "Block": { + "description": "Block information.\n\nDefinition:\ndata/bookkeeping/block.go : Block", + "type": "object", + "required": [ + "round", + "previous-block-hash", + "seed", + "transactions-root", + "transactions-root-sha256", + "timestamp", + "genesis-id", + "genesis-hash" + ], + "properties": { + "proposer": { + "description": "the proposer of this block.", + "type": "string", + "x-algorand-format": "Address" + }, + "fees-collected": { + "description": "the sum of all fees paid by transactions in this block.", + "type": "integer" + }, + "bonus": { + "description": "the potential bonus payout for this block.", + "type": "integer" + }, + "proposer-payout": { + "description": "the actual amount transferred to the proposer from the fee sink.", + "type": "integer" + }, + "genesis-hash": { + "description": "\\[gh\\] hash to which this block belongs.", + "type": "string", + "format": "byte" + }, + "genesis-id": { + "description": "\\[gen\\] ID to which this block belongs.", + "type": "string" + }, + "previous-block-hash": { + "description": "\\[prev\\] Previous block hash.", + "type": "string", + "format": "byte" + }, + "previous-block-hash-512": { + "description": "\\[prev512\\] Previous block hash, using SHA-512.", + "type": "string", + "format": "byte" + }, + "rewards": { + "$ref": "#/components/definitions/BlockRewards" + }, + "round": { + "description": "\\[rnd\\] Current round on which this block was appended to the chain.", + "type": "integer" + }, + "seed": { + "description": "\\[seed\\] Sortition seed.", + "type": "string", + "format": "byte" + }, + "state-proof-tracking": { + "description": "Tracks the status of state proofs.", + "type": "array", + "items": { + "$ref": "#/components/definitions/StateProofTracking" + } + }, + "timestamp": { + "description": "\\[ts\\] Block creation timestamp in seconds since eposh", + "type": "integer" + }, + "transactions": { + "description": "\\[txns\\] list of transactions corresponding to a given round.", + "type": "array", + "items": { + "$ref": "#/components/definitions/Transaction" + } + }, + "transactions-root": { + "description": "\\[txn\\] TransactionsRoot authenticates the set of transactions appearing in the block. More specifically, it's the root of a merkle tree whose leaves are the block's Txids, in lexicographic order. For the empty block, it's 0. Note that the TxnRoot does not authenticate the signatures on the transactions, only the transactions themselves. Two blocks with the same transactions but in a different order and with different signatures will have the same TxnRoot.", + "type": "string", + "format": "byte" + }, + "transactions-root-sha256": { + "description": "\\[txn256\\] TransactionsRootSHA256 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA256 hash function instead of the default SHA512_256. This commitment can be used on environments where only the SHA256 function exists.", + "type": "string", + "format": "byte" + }, + "transactions-root-sha512": { + "description": "\\[txn512\\] TransactionsRootSHA512 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA512 hash function instead of the default SHA512_256.", "type": "string", "format": "byte" + }, + "txn-counter": { + "description": "\\[tc\\] TxnCounter counts the number of transactions committed in the ledger, from the time at which support for this feature was introduced.\n\nSpecifically, TxnCounter is the number of the next transaction that will be committed after this block. It is 0 when no transactions have ever been committed (since TxnCounter started being supported).", + "type": "integer" + }, + "upgrade-state": { + "$ref": "#/components/definitions/BlockUpgradeState" + }, + "upgrade-vote": { + "$ref": "#/components/definitions/BlockUpgradeVote" + }, + "participation-updates": { + "$ref": "#/components/definitions/ParticipationUpdates" } } - } - }, - "Asset": { - "description": "Specifies both the unique identifier and the parameters for an asset", - "type": "object", - "required": [ - "index", - "params" - ], - "properties": { - "index": { - "description": "unique asset identifier", - "type": "integer" - }, - "deleted": { - "description": "Whether or not this asset is currently deleted.", - "type": "boolean" - }, - "created-at-round": { - "description": "Round during which this asset was created.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "destroyed-at-round": { - "description": "Round during which this asset was destroyed.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "params": { - "$ref": "#/definitions/AssetParams" - } - } - }, - "AssetHolding": { - "description": "Describes an asset held by an account.\n\nDefinition:\ndata/basics/userBalance.go : AssetHolding", - "type": "object", - "required": [ - "asset-id", - "amount", - "is-frozen" - ], - "properties": { - "amount": { - "description": "number of units held.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "asset-id": { - "description": "Asset ID of the holding.", - "type": "integer" - }, - "is-frozen": { - "description": "whether or not the holding is frozen.", - "type": "boolean" - }, - "deleted": { - "description": "Whether or not the asset holding is currently deleted from its account.", - "type": "boolean" - }, - "opted-in-at-round": { - "description": "Round during which the account opted into this asset holding.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "opted-out-at-round": { - "description": "Round during which the account opted out of this asset holding.", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "AssetParams": { - "description": "AssetParams specifies the parameters for an asset.\n\n\\[apar\\] when part of an AssetConfig transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetParams", - "type": "object", - "required": [ - "creator", - "total", - "decimals" - ], - "properties": { - "clawback": { - "description": "Address of account used to clawback holdings of this asset. If empty, clawback is not permitted.", - "type": "string" - }, - "creator": { - "description": "The address that created this asset. This is the address where the parameters for this asset can be found, and also the address where unwanted asset units can be sent in the worst case.", - "type": "string" - }, - "decimals": { - "description": "The number of digits to use after the decimal point when displaying this asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in tenths. If 2, the base unit of the asset is in hundredths, and so on. This value must be between 0 and 19 (inclusive).", - "type": "integer", - "maximum": 19, - "minimum": 0 - }, - "default-frozen": { - "description": "Whether holdings of this asset are frozen by default.", - "type": "boolean" - }, - "freeze": { - "description": "Address of account used to freeze holdings of this asset. If empty, freezing is not permitted.", - "type": "string" - }, - "manager": { - "description": "Address of account used to manage the keys of this asset and to destroy it.", - "type": "string" - }, - "metadata-hash": { - "description": "A commitment to some unspecified asset metadata. The format of this metadata is up to the application.", - "type": "string", - "format": "byte" - }, - "name": { - "description": "Name of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.", - "type": "string" - }, - "name-b64": { - "description": "Base64 encoded name of this asset, as supplied by the creator.", - "type": "string", - "format": "byte" - }, - "reserve": { - "description": "Address of account holding reserve (non-minted) units of this asset.", - "type": "string" - }, - "total": { - "description": "The total number of units of this asset.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "unit-name": { - "description": "Name of a unit of this asset, as supplied by the creator. Included only when the name of a unit of this asset is composed of printable utf-8 characters.", - "type": "string" - }, - "unit-name-b64": { - "description": "Base64 encoded name of a unit of this asset, as supplied by the creator.", - "type": "string", - "format": "byte" - }, - "url": { - "description": "URL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.", - "type": "string" - }, - "url-b64": { - "description": "Base64 encoded URL where more information about the asset can be retrieved.", - "type": "string", - "format": "byte" - } - } - }, - "Block": { - "description": "Block information.\n\nDefinition:\ndata/bookkeeping/block.go : Block", - "type": "object", - "required": [ - "round", - "previous-block-hash", - "seed", - "transactions-root", - "transactions-root-sha256", - "timestamp", - "genesis-id", - "genesis-hash" - ], - "properties": { - "proposer": { - "description": "the proposer of this block.", - "type": "string", - "x-algorand-format": "Address" - }, - "fees-collected": { - "description": "the sum of all fees paid by transactions in this block.", - "type": "integer" - }, - "bonus": { - "description": "the potential bonus payout for this block.", - "type": "integer" - }, - "proposer-payout": { - "description": "the actual amount transferred to the proposer from the fee sink.", - "type": "integer" - }, - "genesis-hash": { - "description": "\\[gh\\] hash to which this block belongs.", - "type": "string", - "format": "byte" - }, - "genesis-id": { - "description": "\\[gen\\] ID to which this block belongs.", - "type": "string" - }, - "previous-block-hash": { - "description": "\\[prev\\] Previous block hash.", - "type": "string", - "format": "byte" - }, - "previous-block-hash-512": { - "description": "\\[prev512\\] Previous block hash, using SHA-512.", - "type": "string", - "format": "byte" - }, - "rewards": { - "$ref": "#/definitions/BlockRewards" - }, - "round": { - "description": "\\[rnd\\] Current round on which this block was appended to the chain.", - "type": "integer" - }, - "seed": { - "description": "\\[seed\\] Sortition seed.", - "type": "string", - "format": "byte" - }, - "state-proof-tracking": { - "description": "Tracks the status of state proofs.", - "type": "array", - "items": { - "$ref": "#/definitions/StateProofTracking" + }, + "BlockRewards": { + "description": "Fields relating to rewards,", + "type": "object", + "required": [ + "fee-sink", + "rewards-pool", + "rewards-level", + "rewards-rate", + "rewards-residue", + "rewards-calculation-round" + ], + "properties": { + "fee-sink": { + "description": "\\[fees\\] accepts transaction fees, it can only spend to the incentive pool.", + "type": "string" + }, + "rewards-calculation-round": { + "description": "\\[rwcalr\\] number of leftover MicroAlgos after the distribution of rewards-rate MicroAlgos for every reward unit in the next round.", + "type": "integer" + }, + "rewards-level": { + "description": "\\[earn\\] How many rewards, in MicroAlgos, have been distributed to each RewardUnit of MicroAlgos since genesis.", + "type": "integer" + }, + "rewards-pool": { + "description": "\\[rwd\\] accepts periodic injections from the fee-sink and continually redistributes them as rewards.", + "type": "string" + }, + "rewards-rate": { + "description": "\\[rate\\] Number of new MicroAlgos added to the participation stake from rewards at the next round.", + "type": "integer" + }, + "rewards-residue": { + "description": "\\[frac\\] Number of leftover MicroAlgos after the distribution of RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.", + "type": "integer" } - }, - "timestamp": { - "description": "\\[ts\\] Block creation timestamp in seconds since eposh", - "type": "integer" - }, - "transactions": { - "description": "\\[txns\\] list of transactions corresponding to a given round.", - "type": "array", - "items": { - "$ref": "#/definitions/Transaction" + } + }, + "BlockUpgradeState": { + "description": "Fields relating to a protocol upgrade.", + "type": "object", + "required": [ + "current-protocol" + ], + "properties": { + "current-protocol": { + "description": "\\[proto\\] The current protocol version.", + "type": "string" + }, + "next-protocol": { + "description": "\\[nextproto\\] The next proposed protocol version.", + "type": "string" + }, + "next-protocol-approvals": { + "description": "\\[nextyes\\] Number of blocks which approved the protocol upgrade.", + "type": "integer" + }, + "next-protocol-switch-on": { + "description": "\\[nextswitch\\] Round on which the protocol upgrade will take effect.", + "type": "integer" + }, + "next-protocol-vote-before": { + "description": "\\[nextbefore\\] Deadline round for this protocol upgrade (No votes will be consider after this round).", + "type": "integer" } - }, - "transactions-root": { - "description": "\\[txn\\] TransactionsRoot authenticates the set of transactions appearing in the block. More specifically, it's the root of a merkle tree whose leaves are the block's Txids, in lexicographic order. For the empty block, it's 0. Note that the TxnRoot does not authenticate the signatures on the transactions, only the transactions themselves. Two blocks with the same transactions but in a different order and with different signatures will have the same TxnRoot.", - "type": "string", - "format": "byte" - }, - "transactions-root-sha256": { - "description": "\\[txn256\\] TransactionsRootSHA256 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA256 hash function instead of the default SHA512_256. This commitment can be used on environments where only the SHA256 function exists.", - "type": "string", - "format": "byte" - }, - "transactions-root-sha512": { - "description": "\\[txn512\\] TransactionsRootSHA512 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA512 hash function instead of the default SHA512_256.", - "type": "string", - "format": "byte" - }, - "txn-counter": { - "description": "\\[tc\\] TxnCounter counts the number of transactions committed in the ledger, from the time at which support for this feature was introduced.\n\nSpecifically, TxnCounter is the number of the next transaction that will be committed after this block. It is 0 when no transactions have ever been committed (since TxnCounter started being supported).", - "type": "integer" - }, - "upgrade-state": { - "$ref": "#/definitions/BlockUpgradeState" - }, - "upgrade-vote": { - "$ref": "#/definitions/BlockUpgradeVote" - }, - "participation-updates": { - "$ref": "#/definitions/ParticipationUpdates" } - } - }, - "BlockRewards": { - "description": "Fields relating to rewards,", - "type": "object", - "required": [ - "fee-sink", - "rewards-pool", - "rewards-level", - "rewards-rate", - "rewards-residue", - "rewards-calculation-round" - ], - "properties": { - "fee-sink": { - "description": "\\[fees\\] accepts transaction fees, it can only spend to the incentive pool.", - "type": "string" - }, - "rewards-calculation-round": { - "description": "\\[rwcalr\\] number of leftover MicroAlgos after the distribution of rewards-rate MicroAlgos for every reward unit in the next round.", - "type": "integer" - }, - "rewards-level": { - "description": "\\[earn\\] How many rewards, in MicroAlgos, have been distributed to each RewardUnit of MicroAlgos since genesis.", - "type": "integer" - }, - "rewards-pool": { - "description": "\\[rwd\\] accepts periodic injections from the fee-sink and continually redistributes them as rewards.", - "type": "string" - }, - "rewards-rate": { - "description": "\\[rate\\] Number of new MicroAlgos added to the participation stake from rewards at the next round.", - "type": "integer" - }, - "rewards-residue": { - "description": "\\[frac\\] Number of leftover MicroAlgos after the distribution of RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.", - "type": "integer" + }, + "BlockUpgradeVote": { + "description": "Fields relating to voting for a protocol upgrade.", + "type": "object", + "properties": { + "upgrade-approve": { + "description": "\\[upgradeyes\\] Indicates a yes vote for the current proposal.", + "type": "boolean" + }, + "upgrade-delay": { + "description": "\\[upgradedelay\\] Indicates the time between acceptance and execution.", + "type": "integer" + }, + "upgrade-propose": { + "description": "\\[upgradeprop\\] Indicates a proposed upgrade.", + "type": "string" + } } - } - }, - "BlockUpgradeState": { - "description": "Fields relating to a protocol upgrade.", - "type": "object", - "required": [ - "current-protocol" - ], - "properties": { - "current-protocol": { - "description": "\\[proto\\] The current protocol version.", - "type": "string" - }, - "next-protocol": { - "description": "\\[nextproto\\] The next proposed protocol version.", - "type": "string" - }, - "next-protocol-approvals": { - "description": "\\[nextyes\\] Number of blocks which approved the protocol upgrade.", - "type": "integer" - }, - "next-protocol-switch-on": { - "description": "\\[nextswitch\\] Round on which the protocol upgrade will take effect.", - "type": "integer" - }, - "next-protocol-vote-before": { - "description": "\\[nextbefore\\] Deadline round for this protocol upgrade (No votes will be consider after this round).", - "type": "integer" + }, + "Box": { + "description": "Box name and its content.", + "required": [ + "name", + "value", + "round" + ], + "type": "object", + "properties": { + "round": { + "description": "The round for which this information is relevant", + "type": "integer" + }, + "name": { + "description": "\\[name\\] box name, base64 encoded", + "format": "byte", + "type": "string" + }, + "value": { + "description": "\\[value\\] box value, base64 encoded.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } } - } - }, - "BlockUpgradeVote": { - "description": "Fields relating to voting for a protocol upgrade.", - "type": "object", - "properties": { - "upgrade-approve": { - "description": "\\[upgradeyes\\] Indicates a yes vote for the current proposal.", - "type": "boolean" - }, - "upgrade-delay": { - "description": "\\[upgradedelay\\] Indicates the time between acceptance and execution.", - "type": "integer" - }, - "upgrade-propose": { - "description": "\\[upgradeprop\\] Indicates a proposed upgrade.", - "type": "string" + }, + "BoxDescriptor": { + "description": "Box descriptor describes an app box without a value.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Base64 encoded box name", + "format": "byte", + "type": "string" + } } - } - }, - "Box": { - "description": "Box name and its content.", - "required": [ - "name", - "value", - "round" - ], - "type": "object", - "properties": { - "round": { - "description": "The round for which this information is relevant", - "type": "integer" - }, - "name": { - "description": "\\[name\\] box name, base64 encoded", - "format": "byte", - "type": "string" - }, - "value": { - "description": "\\[value\\] box value, base64 encoded.", - "format": "byte", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", - "type": "string" + }, + "BoxReference": { + "description": "BoxReference names a box by its name and the application ID it belongs to.", + "type": "object", + "required": [ + "app", + "name" + ], + "properties": { + "app": { + "description": "Application ID to which the box belongs, or zero if referring to the called application.", + "type": "integer" + }, + "name": { + "description": "Base64 encoded box name", + "type": "string", + "format": "byte" + } } - } - }, - "BoxDescriptor": { - "description": "Box descriptor describes an app box without a value.", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "Base64 encoded box name", - "format": "byte", - "type": "string" + }, + "HealthCheck": { + "description": "A health check response.", + "type": "object", + "required": [ + "version", + "message", + "round", + "is-migrating", + "db-available" + ], + "properties": { + "version": { + "description": "Current version.", + "type": "string" + }, + "data": { + "type": "object" + }, + "round": { + "type": "integer" + }, + "is-migrating": { + "type": "boolean" + }, + "db-available": { + "type": "boolean" + }, + "message": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "string" + } + } } - } - }, - "BoxReference": { - "description": "BoxReference names a box by its name and the application ID it belongs to.", - "type": "object", - "required": [ - "app", - "name" - ], - "properties": { - "app": { - "description": "Application ID to which the box belongs, or zero if referring to the called application.", - "type": "integer" - }, - "name": { - "description": "Base64 encoded box name", - "type": "string", - "format": "byte" + }, + "HoldingRef": { + "description": "HoldingRef names a holding by referring to an Address and Asset it belongs to.", + "type": "object", + "required": [ + "address", + "asset" + ], + "properties": { + "address": { + "description": "\\[d\\] Address in access list, or the sender of the transaction.", + "type": "string", + "x-algorand-format": "Address" + }, + "asset": { + "description": "\\[s\\] Asset ID for asset in access list.", + "type": "integer" + } } - } - }, - "HealthCheck": { - "description": "A health check response.", - "type": "object", - "required": [ - "version", - "message", - "round", - "is-migrating", - "db-available" - ], - "properties": { - "version": { - "description": "Current version.", - "type": "string" - }, - "data": { - "type": "object" - }, - "round": { - "type": "integer" - }, - "is-migrating": { - "type": "boolean" - }, - "db-available": { - "type": "boolean" - }, - "message": { - "type": "string" - }, - "errors": { - "type": "array", - "items": { + }, + "LocalsRef": { + "description": "LocalsRef names a local state by referring to an Address and App it belongs to.", + "type": "object", + "required": [ + "address", + "app" + ], + "properties": { + "address": { + "description": "\\[d\\] Address in access list, or the sender of the transaction.", + "type": "string", + "x-algorand-format": "Address" + }, + "app": { + "description": "\\[p\\] Application ID for app in access list, or zero if referring to the called application.", + "type": "integer" + } + } + }, + "MiniAssetHolding": { + "description": "A simplified version of AssetHolding ", + "type": "object", + "required": [ + "address", + "amount", + "is-frozen" + ], + "properties": { + "address": { "type": "string" + }, + "amount": { + "type": "integer", + "x-algorand-format": "uint64" + }, + "is-frozen": { + "type": "boolean" + }, + "deleted": { + "description": "Whether or not this asset holding is currently deleted from its account.", + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round during which the account opted into the asset.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "opted-out-at-round": { + "description": "Round during which the account opted out of the asset.", + "type": "integer", + "x-algorand-format": "uint64" } } - } - }, - "HoldingRef": { - "description": "HoldingRef names a holding by referring to an Address and Asset it belongs to.", - "type": "object", - "required": [ - "address", - "asset" - ], - "properties": { - "address": { - "description": "\\[d\\] Address in access list, or the sender of the transaction.", - "type": "string", - "x-algorand-format": "Address" - }, - "asset": { - "description": "\\[s\\] Asset ID for asset in access list.", - "type": "integer" + }, + "OnCompletion": { + "description": "\\[apan\\] defines the what additional actions occur with the transaction.\n\nValid types:\n* noop\n* optin\n* closeout\n* clear\n* update\n* update\n* delete", + "type": "string", + "enum": [ + "noop", + "optin", + "closeout", + "clear", + "update", + "delete" + ] + }, + "ParticipationUpdates": { + "description": "Participation account data that needs to be checked/acted on by the network.", + "type": "object", + "properties": { + "expired-participation-accounts": { + "description": "\\[partupdrmv\\] a list of online accounts that needs to be converted to offline since their participation key expired.", + "type": "array", + "items": { + "type": "string" + } + }, + "absent-participation-accounts": { + "description": "\\[partupabs\\] a list of online accounts that need to be suspended.", + "type": "array", + "items": { + "type": "string" + } + } } - } - }, - "LocalsRef": { - "description": "LocalsRef names a local state by referring to an Address and App it belongs to.", - "type": "object", - "required": [ - "address", - "app" - ], - "properties": { - "address": { - "description": "\\[d\\] Address in access list, or the sender of the transaction.", - "type": "string", - "x-algorand-format": "Address" - }, - "app": { - "description": "\\[p\\] Application ID for app in access list, or zero if referring to the called application.", - "type": "integer" + }, + "ResourceRef": { + "description": "ResourceRef names a single resource. Only one of the fields should be set.", + "type": "object", + "properties": { + "address": { + "description": "\\[d\\] Account whose balance record is accessible by the executing ApprovalProgram or ClearStateProgram.", + "type": "string", + "x-algorand-format": "Address" + }, + "application-id": { + "description": "\\[p\\] Application id whose GlobalState may be read by the executing\n ApprovalProgram or ClearStateProgram.", + "type": "integer" + }, + "asset-id": { + "description": "\\[s\\] Asset whose AssetParams may be read by the executing\n ApprovalProgram or ClearStateProgram.", + "type": "integer" + }, + "box": { + "$ref": "#/components/definitions/BoxReference" + }, + "holding": { + "$ref": "#/components/definitions/HoldingRef" + }, + "local": { + "$ref": "#/components/definitions/LocalsRef" + } } - } - }, - "MiniAssetHolding": { - "description": "A simplified version of AssetHolding ", - "type": "object", - "required": [ - "address", - "amount", - "is-frozen" - ], - "properties": { - "address": { - "type": "string" - }, - "amount": { - "type": "integer", - "x-algorand-format": "uint64" - }, - "is-frozen": { - "type": "boolean" - }, - "deleted": { - "description": "Whether or not this asset holding is currently deleted from its account.", - "type": "boolean" - }, - "opted-in-at-round": { - "description": "Round during which the account opted into the asset.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "opted-out-at-round": { - "description": "Round during which the account opted out of the asset.", - "type": "integer", - "x-algorand-format": "uint64" + }, + "StateDelta": { + "description": "Application state delta.", + "type": "array", + "items": { + "$ref": "#/components/definitions/EvalDeltaKeyValue" } - } - }, - "OnCompletion": { - "description": "\\[apan\\] defines the what additional actions occur with the transaction.\n\nValid types:\n* noop\n* optin\n* closeout\n* clear\n* update\n* update\n* delete", - "type": "string", - "enum": [ - "noop", - "optin", - "closeout", - "clear", - "update", - "delete" - ] - }, - "ParticipationUpdates": { - "description": "Participation account data that needs to be checked/acted on by the network.", - "type": "object", - "properties": { - "expired-participation-accounts": { - "description": "\\[partupdrmv\\] a list of online accounts that needs to be converted to offline since their participation key expired.", - "type": "array", - "items": { + }, + "AccountStateDelta": { + "description": "Application state delta.", + "type": "object", + "required": [ + "address", + "delta" + ], + "properties": { + "address": { "type": "string" + }, + "delta": { + "$ref": "#/components/definitions/StateDelta" } - }, - "absent-participation-accounts": { - "description": "\\[partupabs\\] a list of online accounts that need to be suspended.", - "type": "array", - "items": { + } + }, + "EvalDeltaKeyValue": { + "description": "Key-value pairs for StateDelta.", + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { "type": "string" + }, + "value": { + "$ref": "#/components/definitions/EvalDelta" } } - } - }, - "ResourceRef": { - "description": "ResourceRef names a single resource. Only one of the fields should be set.", - "type": "object", - "properties": { - "address": { - "description": "\\[d\\] Account whose balance record is accessible by the executing ApprovalProgram or ClearStateProgram.", - "type": "string", - "x-algorand-format": "Address" - }, - "application-id": { - "description": "\\[p\\] Application id whose GlobalState may be read by the executing\n ApprovalProgram or ClearStateProgram.", - "type": "integer" - }, - "asset-id": { - "description": "\\[s\\] Asset whose AssetParams may be read by the executing\n ApprovalProgram or ClearStateProgram.", - "type": "integer" - }, - "box": { - "$ref": "#/definitions/BoxReference" - }, - "holding": { - "$ref": "#/definitions/HoldingRef" - }, - "local": { - "$ref": "#/definitions/LocalsRef" - } - } - }, - "StateDelta": { - "description": "Application state delta.", - "type": "array", - "items": { - "$ref": "#/definitions/EvalDeltaKeyValue" - } - }, - "AccountStateDelta": { - "description": "Application state delta.", - "type": "object", - "required": [ - "address", - "delta" - ], - "properties": { - "address": { - "type": "string" - }, - "delta": { - "$ref": "#/definitions/StateDelta" - } - } - }, - "EvalDeltaKeyValue": { - "description": "Key-value pairs for StateDelta.", - "type": "object", - "required": [ - "key", - "value" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "$ref": "#/definitions/EvalDelta" - } - } - }, - "EvalDelta": { - "description": "Represents a TEAL value delta.", - "type": "object", - "required": [ - "action" - ], - "properties": { - "action": { - "description": "\\[at\\] delta action.", - "type": "integer" - }, - "bytes": { - "description": "\\[bs\\] bytes value.", - "type": "string" - }, - "uint": { - "description": "\\[ui\\] uint value.", - "type": "integer", - "x-algorand-format": "uint64" + }, + "EvalDelta": { + "description": "Represents a TEAL value delta.", + "type": "object", + "required": [ + "action" + ], + "properties": { + "action": { + "description": "\\[at\\] delta action.", + "type": "integer" + }, + "bytes": { + "description": "\\[bs\\] bytes value.", + "type": "string" + }, + "uint": { + "description": "\\[ui\\] uint value.", + "type": "integer", + "x-algorand-format": "uint64" + } } - } - }, - "StateSchema": { - "description": "Represents a \\[apls\\] local-state or \\[apgs\\] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.", - "type": "object", - "required": [ - "num-uint", - "num-byte-slice" - ], - "properties": { - "num-uint": { - "description": "Maximum number of TEAL uints that may be stored in the key/value store.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "num-byte-slice": { - "description": "Maximum number of TEAL byte slices that may be stored in the key/value store.", - "type": "integer", - "x-algorand-format": "uint64" + }, + "StateSchema": { + "description": "Represents a \\[apls\\] local-state or \\[apgs\\] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.", + "type": "object", + "required": [ + "num-uint", + "num-byte-slice" + ], + "properties": { + "num-uint": { + "description": "Maximum number of TEAL uints that may be stored in the key/value store.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "num-byte-slice": { + "description": "Maximum number of TEAL byte slices that may be stored in the key/value store.", + "type": "integer", + "x-algorand-format": "uint64" + } } - } - }, - "Transaction": { - "description": "Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.\n\nDefinition:\ndata/transactions/signedtxn.go : SignedTxn\ndata/transactions/transaction.go : Transaction\n", - "type": "object", - "required": [ - "tx-type", - "sender", - "fee", - "first-valid", - "last-valid" - ], - "mutually-exclusive": [ - "application-transaction", - "asset-config-transaction", - "asset-freeze-transaction", - "asset-transfer-transaction", - "keyreg-transaction", - "payment-transaction", - "state-proof-transaction", - "heartbeat-transaction" - ], - "properties": { - "application-transaction": { - "$ref": "#/definitions/TransactionApplication" - }, - "asset-config-transaction": { - "$ref": "#/definitions/TransactionAssetConfig" - }, - "asset-freeze-transaction": { - "$ref": "#/definitions/TransactionAssetFreeze" - }, - "asset-transfer-transaction": { - "$ref": "#/definitions/TransactionAssetTransfer" - }, - "state-proof-transaction": { - "$ref": "#/definitions/TransactionStateProof" - }, - "heartbeat-transaction": { - "$ref": "#/definitions/TransactionHeartbeat" - }, - "auth-addr": { - "description": "\\[sgnr\\] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.", - "type": "string", - "x-algorand-format": "Address" - }, - "close-rewards": { - "description": "\\[rc\\] rewards applied to close-remainder-to account.", - "type": "integer" - }, - "closing-amount": { - "description": "\\[ca\\] closing amount for transaction.", - "type": "integer" - }, - "confirmed-round": { - "description": "Round when the transaction was confirmed.", - "type": "integer" - }, - "created-application-index": { - "description": "Specifies an application index (ID) if an application was created with this transaction.", - "type": "integer" - }, - "created-asset-index": { - "description": "Specifies an asset index (ID) if an asset was created with this transaction.", - "type": "integer" - }, - "fee": { - "description": "\\[fee\\] Transaction fee.", - "type": "integer" - }, - "first-valid": { - "description": "\\[fv\\] First valid round for this transaction.", - "type": "integer" - }, - "genesis-hash": { - "description": "\\[gh\\] Hash of genesis block.", - "type": "string", - "format": "byte" - }, - "genesis-id": { - "description": "\\[gen\\] genesis block ID.", - "type": "string" - }, - "group": { - "description": "\\[grp\\] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.", - "type": "string", - "format": "byte" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "intra-round-offset": { - "description": "Offset into the round where this transaction was confirmed.", - "type": "integer" - }, - "keyreg-transaction": { - "$ref": "#/definitions/TransactionKeyreg" - }, - "last-valid": { - "description": "\\[lv\\] Last valid round for this transaction.", - "type": "integer" - }, - "lease": { - "description": "\\[lx\\] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.", - "type": "string", - "format": "byte" - }, - "note": { - "description": "\\[note\\] Free form data.", - "type": "string", - "format": "byte" - }, - "payment-transaction": { - "$ref": "#/definitions/TransactionPayment" - }, - "receiver-rewards": { - "description": "\\[rr\\] rewards applied to receiver account.", - "type": "integer" - }, - "rekey-to": { - "description": "\\[rekey\\] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.", - "type": "string", - "x-algorand-format": "Address" - }, - "round-time": { - "description": "Time when the block this transaction is in was confirmed.", - "type": "integer" - }, - "sender": { - "description": "\\[snd\\] Sender's address.", - "type": "string" - }, - "sender-rewards": { - "description": "\\[rs\\] rewards applied to sender account.", - "type": "integer" - }, - "signature": { - "$ref": "#/definitions/TransactionSignature" - }, - "tx-type": { - "description": "\\[type\\] Indicates what type of transaction this is. Different types have different fields.\n\nValid types, and where their fields are stored:\n* \\[pay\\] payment-transaction\n* \\[keyreg\\] keyreg-transaction\n* \\[acfg\\] asset-config-transaction\n* \\[axfer\\] asset-transfer-transaction\n* \\[afrz\\] asset-freeze-transaction\n* \\[appl\\] application-transaction\n* \\[stpf\\] state-proof-transaction\n* \\[hb\\] heartbeat-transaction", - "type": "string", - "enum": [ - "pay", - "keyreg", - "acfg", - "axfer", - "afrz", - "appl", - "stpf", - "hb" - ], - "x-algorand-format": "tx-type-enum" - }, - "local-state-delta": { - "description": "\\[ld\\] Local state key/value changes for the application being executed by this transaction.", - "type": "array", - "items": { - "$ref": "#/definitions/AccountStateDelta" + }, + "Transaction": { + "description": "Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.\n\nDefinition:\ndata/transactions/signedtxn.go : SignedTxn\ndata/transactions/transaction.go : Transaction\n", + "type": "object", + "required": [ + "tx-type", + "sender", + "fee", + "first-valid", + "last-valid" + ], + "mutually-exclusive": [ + "application-transaction", + "asset-config-transaction", + "asset-freeze-transaction", + "asset-transfer-transaction", + "keyreg-transaction", + "payment-transaction", + "state-proof-transaction", + "heartbeat-transaction" + ], + "properties": { + "application-transaction": { + "$ref": "#/components/definitions/TransactionApplication" + }, + "asset-config-transaction": { + "$ref": "#/components/definitions/TransactionAssetConfig" + }, + "asset-freeze-transaction": { + "$ref": "#/components/definitions/TransactionAssetFreeze" + }, + "asset-transfer-transaction": { + "$ref": "#/components/definitions/TransactionAssetTransfer" + }, + "state-proof-transaction": { + "$ref": "#/components/definitions/TransactionStateProof" + }, + "heartbeat-transaction": { + "$ref": "#/components/definitions/TransactionHeartbeat" + }, + "auth-addr": { + "description": "\\[sgnr\\] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.", + "type": "string", + "x-algorand-format": "Address" + }, + "close-rewards": { + "description": "\\[rc\\] rewards applied to close-remainder-to account.", + "type": "integer" + }, + "closing-amount": { + "description": "\\[ca\\] closing amount for transaction.", + "type": "integer" + }, + "confirmed-round": { + "description": "Round when the transaction was confirmed.", + "type": "integer" + }, + "created-application-index": { + "description": "Specifies an application index (ID) if an application was created with this transaction.", + "type": "integer" + }, + "created-asset-index": { + "description": "Specifies an asset index (ID) if an asset was created with this transaction.", + "type": "integer" + }, + "fee": { + "description": "\\[fee\\] Transaction fee.", + "type": "integer" + }, + "first-valid": { + "description": "\\[fv\\] First valid round for this transaction.", + "type": "integer" + }, + "genesis-hash": { + "description": "\\[gh\\] Hash of genesis block.", + "type": "string", + "format": "byte" + }, + "genesis-id": { + "description": "\\[gen\\] genesis block ID.", + "type": "string" + }, + "group": { + "description": "\\[grp\\] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.", + "type": "string", + "format": "byte" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "intra-round-offset": { + "description": "Offset into the round where this transaction was confirmed.", + "type": "integer" + }, + "keyreg-transaction": { + "$ref": "#/components/definitions/TransactionKeyreg" + }, + "last-valid": { + "description": "\\[lv\\] Last valid round for this transaction.", + "type": "integer" + }, + "lease": { + "description": "\\[lx\\] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.", + "type": "string", + "format": "byte" + }, + "note": { + "description": "\\[note\\] Free form data.", + "type": "string", + "format": "byte" + }, + "payment-transaction": { + "$ref": "#/components/definitions/TransactionPayment" + }, + "receiver-rewards": { + "description": "\\[rr\\] rewards applied to receiver account.", + "type": "integer" + }, + "rekey-to": { + "description": "\\[rekey\\] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.", + "type": "string", + "x-algorand-format": "Address" + }, + "round-time": { + "description": "Time when the block this transaction is in was confirmed.", + "type": "integer" + }, + "sender": { + "description": "\\[snd\\] Sender's address.", + "type": "string" + }, + "sender-rewards": { + "description": "\\[rs\\] rewards applied to sender account.", + "type": "integer" + }, + "signature": { + "$ref": "#/components/definitions/TransactionSignature" + }, + "tx-type": { + "description": "\\[type\\] Indicates what type of transaction this is. Different types have different fields.\n\nValid types, and where their fields are stored:\n* \\[pay\\] payment-transaction\n* \\[keyreg\\] keyreg-transaction\n* \\[acfg\\] asset-config-transaction\n* \\[axfer\\] asset-transfer-transaction\n* \\[afrz\\] asset-freeze-transaction\n* \\[appl\\] application-transaction\n* \\[stpf\\] state-proof-transaction\n* \\[hb\\] heartbeat-transaction", + "type": "string", + "enum": [ + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], + "x-algorand-format": "tx-type-enum" + }, + "local-state-delta": { + "description": "\\[ld\\] Local state key/value changes for the application being executed by this transaction.", + "type": "array", + "items": { + "$ref": "#/components/definitions/AccountStateDelta" + } + }, + "global-state-delta": { + "description": "\\[gd\\] Global state key/value changes for the application being executed by this transaction.", + "$ref": "#/components/definitions/StateDelta" + }, + "logs": { + "description": "\\[lg\\] Logs for the application being executed by this transaction.", + "type": "array", + "items": { + "type": "string", + "format": "byte" + } + }, + "inner-txns": { + "description": "Inner transactions produced by application execution.", + "type": "array", + "items": { + "$ref": "#/components/definitions/Transaction" + } } - }, - "global-state-delta": { - "description": "\\[gd\\] Global state key/value changes for the application being executed by this transaction.", - "$ref": "#/definitions/StateDelta" - }, - "logs": { - "description": "\\[lg\\] Logs for the application being executed by this transaction.", - "type": "array", - "items": { + } + }, + "TransactionApplication": { + "description": "Fields for application transactions.\n\nDefinition:\ndata/transactions/application.go : ApplicationCallTxnFields", + "type": "object", + "required": [ + "application-id", + "on-completion" + ], + "properties": { + "application-id": { + "description": "\\[apid\\] ID of the application being configured or empty if creating.", + "type": "integer" + }, + "on-completion": { + "$ref": "#/components/definitions/OnCompletion" + }, + "application-args": { + "description": "\\[apaa\\] transaction specific arguments accessed from the application's approval-program and clear-state-program.", + "type": "array", + "format": "byte", + "items": { + "type": "string" + } + }, + "access": { + "description": "\\[al\\] Access unifies `accounts`, `foreign-apps`, `foreign-assets`, and `box-references` under a single list. If access is non-empty, these lists must be empty. If access is empty, those lists may be non-empty.", + "type": "array", + "items": { + "$ref": "#/components/definitions/ResourceRef" + } + }, + "accounts": { + "description": "\\[apat\\] List of accounts in addition to the sender that may be accessed from the application's approval-program and clear-state-program.", + "type": "array", + "format": "string", + "items": { + "type": "string", + "x-algorand-format": "Address" + } + }, + "box-references": { + "description": "\\[apbx\\] the boxes that can be accessed by this transaction (and others in the same group).", + "type": "array", + "items": { + "$ref": "#/components/definitions/BoxReference" + } + }, + "foreign-apps": { + "description": "\\[apfa\\] Lists the applications in addition to the application-id whose global states may be accessed by this application's approval-program and clear-state-program. The access is read-only.", + "type": "array", + "format": "string", + "items": { + "type": "integer" + } + }, + "foreign-assets": { + "description": "\\[apas\\] lists the assets whose parameters may be accessed by this application's ApprovalProgram and ClearStateProgram. The access is read-only.", + "type": "array", + "format": "string", + "items": { + "type": "integer" + } + }, + "local-state-schema": { + "$ref": "#/components/definitions/StateSchema" + }, + "global-state-schema": { + "$ref": "#/components/definitions/StateSchema" + }, + "approval-program": { + "description": "\\[apap\\] Logic executed for every application transaction, except when on-completion is set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.", "type": "string", - "format": "byte" + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "clear-state-program": { + "description": "\\[apsu\\] Logic executed for application transactions with on-completion set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "extra-program-pages": { + "description": "\\[epp\\] specifies the additional app program len requested in pages.", + "type": "integer" + }, + "reject-version": { + "description": "\\[aprv\\] the lowest application version for which this transaction should immediately fail. 0 indicates that no version check should be performed.", + "type": "integer" } - }, - "inner-txns": { - "description": "Inner transactions produced by application execution.", - "type": "array", - "items": { - "$ref": "#/definitions/Transaction" + } + }, + "TransactionAssetConfig": { + "description": "Fields for asset allocation, re-configuration, and destruction.\n\n\nA zero value for asset-id indicates asset creation.\nA zero value for the params indicates asset destruction.\n\nDefinition:\ndata/transactions/asset.go : AssetConfigTxnFields", + "type": "object", + "properties": { + "asset-id": { + "description": "\\[xaid\\] ID of the asset being configured or empty if creating.", + "type": "integer" + }, + "params": { + "$ref": "#/components/definitions/AssetParams" } } - } - }, - "TransactionApplication": { - "description": "Fields for application transactions.\n\nDefinition:\ndata/transactions/application.go : ApplicationCallTxnFields", - "type": "object", - "required": [ - "application-id", - "on-completion" - ], - "properties": { - "application-id": { - "description": "\\[apid\\] ID of the application being configured or empty if creating.", - "type": "integer" - }, - "on-completion": { - "$ref": "#/definitions/OnCompletion" - }, - "application-args": { - "description": "\\[apaa\\] transaction specific arguments accessed from the application's approval-program and clear-state-program.", - "type": "array", - "format": "byte", - "items": { + }, + "TransactionAssetFreeze": { + "description": "Fields for an asset freeze transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetFreezeTxnFields", + "type": "object", + "required": [ + "asset-id", + "address", + "new-freeze-status" + ], + "properties": { + "address": { + "description": "\\[fadd\\] Address of the account whose asset is being frozen or thawed.", "type": "string" + }, + "asset-id": { + "description": "\\[faid\\] ID of the asset being frozen or thawed.", + "type": "integer" + }, + "new-freeze-status": { + "description": "\\[afrz\\] The new freeze status.", + "type": "boolean" } - }, - "access": { - "description": "\\[al\\] Access unifies `accounts`, `foreign-apps`, `foreign-assets`, and `box-references` under a single list. If access is non-empty, these lists must be empty. If access is empty, those lists may be non-empty.", - "type": "array", - "items": { - "$ref": "#/definitions/ResourceRef" + } + }, + "TransactionStateProof": { + "description": "Fields for a state proof transaction. \n\nDefinition:\ndata/transactions/stateproof.go : StateProofTxnFields", + "type": "object", + "properties": { + "state-proof-type": { + "description": "\\[sptype\\] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go", + "type": "integer", + "x-algorand-format": "uint64" + }, + "state-proof": { + "$ref": "#/components/definitions/StateProofFields" + }, + "message": { + "$ref": "#/components/definitions/IndexerStateProofMessage", + "description": "\\[spmsg\\]" } - }, - "accounts": { - "description": "\\[apat\\] List of accounts in addition to the sender that may be accessed from the application's approval-program and clear-state-program.", - "type": "array", - "format": "string", - "items": { + } + }, + "TransactionHeartbeat": { + "description": "Fields for a heartbeat transaction.\n\nDefinition:\ndata/transactions/heartbeat.go : HeartbeatTxnFields", + "type": "object", + "required": [ + "hb-address", + "hb-proof", + "hb-seed", + "hb-vote-id", + "hb-key-dilution" + ], + "properties": { + "hb-address": { + "description": "\\[hbad\\] HbAddress is the account this txn is proving onlineness for.", + "type": "string" + }, + "hb-proof": { + "$ref": "#/components/definitions/HbProofFields" + }, + "hb-seed": { + "description": "\\[hbsd\\] HbSeed must be the block seed for the this transaction's firstValid block.", "type": "string", - "x-algorand-format": "Address" - } - }, - "box-references": { - "description": "\\[apbx\\] the boxes that can be accessed by this transaction (and others in the same group).", - "type": "array", - "items": { - "$ref": "#/definitions/BoxReference" + "format": "byte" + }, + "hb-vote-id": { + "description": "\\[hbvid\\] HbVoteID must match the HbAddress account's current VoteID.", + "type": "string", + "format": "byte" + }, + "hb-key-dilution": { + "description": "\\[hbkd\\] HbKeyDilution must match HbAddress account's current KeyDilution.", + "type": "integer", + "x-algorand-format": "uint64" } - }, - "foreign-apps": { - "description": "\\[apfa\\] Lists the applications in addition to the application-id whose global states may be accessed by this application's approval-program and clear-state-program. The access is read-only.", - "type": "array", - "format": "string", - "items": { + } + }, + "TransactionAssetTransfer": { + "description": "Fields for an asset transfer transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetTransferTxnFields", + "type": "object", + "required": [ + "asset-id", + "amount", + "receiver" + ], + "properties": { + "amount": { + "description": "\\[aamt\\] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account's Assets map.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "asset-id": { + "description": "\\[xaid\\] ID of the asset being transferred.", "type": "integer" + }, + "close-amount": { + "description": "Number of assets transferred to the close-to account as part of the transaction.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "close-to": { + "description": "\\[aclose\\] Indicates that the asset should be removed from the account's Assets map, and specifies where the remaining asset holdings should be transferred. It's always valid to transfer remaining asset holdings to the creator account.", + "type": "string" + }, + "receiver": { + "description": "\\[arcv\\] Recipient address of the transfer.", + "type": "string" + }, + "sender": { + "description": "\\[asnd\\] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.", + "type": "string" } - }, - "foreign-assets": { - "description": "\\[apas\\] lists the assets whose parameters may be accessed by this application's ApprovalProgram and ClearStateProgram. The access is read-only.", - "type": "array", - "format": "string", - "items": { + } + }, + "TransactionKeyreg": { + "description": "Fields for a keyreg transaction.\n\nDefinition:\ndata/transactions/keyreg.go : KeyregTxnFields", + "type": "object", + "properties": { + "non-participation": { + "description": "\\[nonpart\\] Mark the account as participating or non-participating.", + "type": "boolean" + }, + "selection-participation-key": { + "description": "\\[selkey\\] Public key used with the Verified Random Function (VRF) result during committee selection.", + "type": "string", + "format": "byte" + }, + "vote-first-valid": { + "description": "\\[votefst\\] First round this participation key is valid.", + "type": "integer" + }, + "vote-key-dilution": { + "description": "\\[votekd\\] Number of subkeys in each batch of participation keys.", + "type": "integer" + }, + "vote-last-valid": { + "description": "\\[votelst\\] Last round this participation key is valid.", "type": "integer" + }, + "vote-participation-key": { + "description": "\\[votekey\\] Participation public key used in key registration transactions.", + "type": "string", + "format": "byte" + }, + "state-proof-key": { + "description": "\\[sprfkey\\] State proof key used in key registration transactions.", + "type": "string", + "format": "byte" } - }, - "local-state-schema": { - "$ref": "#/definitions/StateSchema" - }, - "global-state-schema": { - "$ref": "#/definitions/StateSchema" - }, - "approval-program": { - "description": "\\[apap\\] Logic executed for every application transaction, except when on-completion is set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "clear-state-program": { - "description": "\\[apsu\\] Logic executed for application transactions with on-completion set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "extra-program-pages": { - "description": "\\[epp\\] specifies the additional app program len requested in pages.", - "type": "integer" - }, - "reject-version": { - "description": "\\[aprv\\] the lowest application version for which this transaction should immediately fail. 0 indicates that no version check should be performed.", - "type": "integer" - } - } - }, - "TransactionAssetConfig": { - "description": "Fields for asset allocation, re-configuration, and destruction.\n\n\nA zero value for asset-id indicates asset creation.\nA zero value for the params indicates asset destruction.\n\nDefinition:\ndata/transactions/asset.go : AssetConfigTxnFields", - "type": "object", - "properties": { - "asset-id": { - "description": "\\[xaid\\] ID of the asset being configured or empty if creating.", - "type": "integer" - }, - "params": { - "$ref": "#/definitions/AssetParams" } - } - }, - "TransactionAssetFreeze": { - "description": "Fields for an asset freeze transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetFreezeTxnFields", - "type": "object", - "required": [ - "asset-id", - "address", - "new-freeze-status" - ], - "properties": { - "address": { - "description": "\\[fadd\\] Address of the account whose asset is being frozen or thawed.", - "type": "string" - }, - "asset-id": { - "description": "\\[faid\\] ID of the asset being frozen or thawed.", - "type": "integer" - }, - "new-freeze-status": { - "description": "\\[afrz\\] The new freeze status.", - "type": "boolean" + }, + "TransactionPayment": { + "description": "Fields for a payment transaction.\n\nDefinition:\ndata/transactions/payment.go : PaymentTxnFields", + "type": "object", + "required": [ + "receiver", + "amount" + ], + "properties": { + "amount": { + "description": "\\[amt\\] number of MicroAlgos intended to be transferred.", + "type": "integer" + }, + "close-amount": { + "description": "Number of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.", + "type": "integer" + }, + "close-remainder-to": { + "description": "\\[close\\] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.", + "type": "string" + }, + "receiver": { + "description": "\\[rcv\\] receiver's address.", + "type": "string" + } } - } - }, - "TransactionStateProof": { - "description": "Fields for a state proof transaction. \n\nDefinition:\ndata/transactions/stateproof.go : StateProofTxnFields", - "type": "object", - "properties": { - "state-proof-type": { - "description": "\\[sptype\\] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go", - "type": "integer", - "x-algorand-format": "uint64" - }, - "state-proof": { - "$ref": "#/definitions/StateProofFields" - }, - "message": { - "$ref": "#/definitions/IndexerStateProofMessage", - "description": "\\[spmsg\\]" + }, + "TransactionSignature": { + "description": "Validation signature associated with some data. Only one of the signatures should be provided.", + "type": "object", + "mutually-exclusive": [ + "sig", + "multisig", + "logicsig" + ], + "properties": { + "logicsig": { + "$ref": "#/components/definitions/TransactionSignatureLogicsig" + }, + "multisig": { + "$ref": "#/components/definitions/TransactionSignatureMultisig" + }, + "sig": { + "description": "\\[sig\\] Standard ed25519 signature.", + "type": "string", + "format": "byte" + } } - } - }, - "TransactionHeartbeat": { - "description": "Fields for a heartbeat transaction.\n\nDefinition:\ndata/transactions/heartbeat.go : HeartbeatTxnFields", - "type": "object", - "required": [ - "hb-address", - "hb-proof", - "hb-seed", - "hb-vote-id", - "hb-key-dilution" - ], - "properties": { - "hb-address": { - "description": "\\[hbad\\] HbAddress is the account this txn is proving onlineness for.", - "type": "string" - }, - "hb-proof": { - "$ref": "#/definitions/HbProofFields" - }, - "hb-seed": { - "description": "\\[hbsd\\] HbSeed must be the block seed for the this transaction's firstValid block.", - "type": "string", - "format": "byte" - }, - "hb-vote-id": { - "description": "\\[hbvid\\] HbVoteID must match the HbAddress account's current VoteID.", - "type": "string", - "format": "byte" - }, - "hb-key-dilution": { - "description": "\\[hbkd\\] HbKeyDilution must match HbAddress account's current KeyDilution.", - "type": "integer", - "x-algorand-format": "uint64" + }, + "TransactionSignatureLogicsig": { + "description": "\\[lsig\\] Programatic transaction signature.\n\nDefinition:\ndata/transactions/logicsig.go", + "type": "object", + "required": [ + "logic" + ], + "properties": { + "args": { + "description": "\\[arg\\] Logic arguments, base64 encoded.", + "type": "array", + "format": "byte", + "items": { + "type": "string" + } + }, + "logic": { + "description": "\\[l\\] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.", + "type": "string", + "format": "byte" + }, + "multisig-signature": { + "$ref": "#/components/definitions/TransactionSignatureMultisig" + }, + "logic-multisig-signature": { + "$ref": "#/components/definitions/TransactionSignatureMultisig" + }, + "signature": { + "description": "\\[sig\\] ed25519 signature.", + "type": "string", + "format": "byte" + } } - } - }, - "TransactionAssetTransfer": { - "description": "Fields for an asset transfer transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetTransferTxnFields", - "type": "object", - "required": [ - "asset-id", - "amount", - "receiver" - ], - "properties": { - "amount": { - "description": "\\[aamt\\] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account's Assets map.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "asset-id": { - "description": "\\[xaid\\] ID of the asset being transferred.", - "type": "integer" - }, - "close-amount": { - "description": "Number of assets transferred to the close-to account as part of the transaction.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "close-to": { - "description": "\\[aclose\\] Indicates that the asset should be removed from the account's Assets map, and specifies where the remaining asset holdings should be transferred. It's always valid to transfer remaining asset holdings to the creator account.", - "type": "string" - }, - "receiver": { - "description": "\\[arcv\\] Recipient address of the transfer.", - "type": "string" - }, - "sender": { - "description": "\\[asnd\\] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.", - "type": "string" + }, + "TransactionSignatureMultisig": { + "description": "structure holding multiple subsignatures.\n\nDefinition:\ncrypto/multisig.go : MultisigSig", + "type": "object", + "properties": { + "subsignature": { + "description": "\\[subsig\\] holds pairs of public key and signatures.", + "type": "array", + "items": { + "$ref": "#/components/definitions/TransactionSignatureMultisigSubsignature" + } + }, + "threshold": { + "description": "\\[thr\\]", + "type": "integer" + }, + "version": { + "description": "\\[v\\]", + "type": "integer" + } } - } - }, - "TransactionKeyreg": { - "description": "Fields for a keyreg transaction.\n\nDefinition:\ndata/transactions/keyreg.go : KeyregTxnFields", - "type": "object", - "properties": { - "non-participation": { - "description": "\\[nonpart\\] Mark the account as participating or non-participating.", - "type": "boolean" - }, - "selection-participation-key": { - "description": "\\[selkey\\] Public key used with the Verified Random Function (VRF) result during committee selection.", - "type": "string", - "format": "byte" - }, - "vote-first-valid": { - "description": "\\[votefst\\] First round this participation key is valid.", - "type": "integer" - }, - "vote-key-dilution": { - "description": "\\[votekd\\] Number of subkeys in each batch of participation keys.", - "type": "integer" - }, - "vote-last-valid": { - "description": "\\[votelst\\] Last round this participation key is valid.", - "type": "integer" - }, - "vote-participation-key": { - "description": "\\[votekey\\] Participation public key used in key registration transactions.", - "type": "string", - "format": "byte" - }, - "state-proof-key": { - "description": "\\[sprfkey\\] State proof key used in key registration transactions.", - "type": "string", - "format": "byte" + }, + "TransactionSignatureMultisigSubsignature": { + "type": "object", + "properties": { + "public-key": { + "description": "\\[pk\\]", + "type": "string", + "format": "byte" + }, + "signature": { + "description": "\\[s\\]", + "type": "string", + "format": "byte" + } } - } - }, - "TransactionPayment": { - "description": "Fields for a payment transaction.\n\nDefinition:\ndata/transactions/payment.go : PaymentTxnFields", - "type": "object", - "required": [ - "receiver", - "amount" - ], - "properties": { - "amount": { - "description": "\\[amt\\] number of MicroAlgos intended to be transferred.", - "type": "integer" - }, - "close-amount": { - "description": "Number of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.", - "type": "integer" - }, - "close-remainder-to": { - "description": "\\[close\\] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.", - "type": "string" - }, - "receiver": { - "description": "\\[rcv\\] receiver's address.", - "type": "string" + }, + "StateProofFields": { + "description": "\\[sp\\] represents a state proof.\n\nDefinition:\ncrypto/stateproof/structs.go : StateProof", + "type": "object", + "properties": { + "sig-commit": { + "description": "\\[c\\]", + "type": "string", + "format": "byte" + }, + "signed-weight": { + "description": "\\[w\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "sig-proofs": { + "description": "\\[S\\]", + "$ref": "#/components/definitions/MerkleArrayProof" + }, + "part-proofs": { + "description": "\\[P\\]", + "$ref": "#/components/definitions/MerkleArrayProof" + }, + "salt-version": { + "description": "\\[v\\] Salt version of the merkle signature.", + "type": "integer" + }, + "reveals": { + "type": "array", + "description": "\\[r\\] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp", + "items": { + "$ref": "#/components/definitions/StateProofReveal" + } + }, + "positions-to-reveal": { + "description": "\\[pr\\] Sequence of reveal positions.", + "type": "array", + "items": { + "type": "integer", + "x-algorand-format": "uint64" + } + } } - } - }, - "TransactionSignature": { - "description": "Validation signature associated with some data. Only one of the signatures should be provided.", - "type": "object", - "mutually-exclusive": [ - "sig", - "multisig", - "logicsig" - ], - "properties": { - "logicsig": { - "$ref": "#/definitions/TransactionSignatureLogicsig" - }, - "multisig": { - "$ref": "#/definitions/TransactionSignatureMultisig" - }, - "sig": { - "description": "\\[sig\\] Standard ed25519 signature.", - "type": "string", - "format": "byte" + }, + "HbProofFields": { + "description": "\\[hbprf\\] HbProof is a signature using HeartbeatAddress's partkey, thereby showing it is online.", + "type": "object", + "properties": { + "hb-sig": { + "description": "\\[s\\] Signature of the heartbeat message.", + "type": "string", + "format": "byte" + }, + "hb-pk": { + "description": "\\[p\\] Public key of the heartbeat message.", + "type": "string", + "format": "byte" + }, + "hb-pk2": { + "description": "\\[p2\\] Key for new-style two-level ephemeral signature.", + "type": "string", + "format": "byte" + }, + "hb-pk1sig": { + "description": "\\[p1s\\] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.", + "type": "string", + "format": "byte" + }, + "hb-pk2sig": { + "description": "\\[p2s\\] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).", + "type": "string", + "format": "byte" + } } - } - }, - "TransactionSignatureLogicsig": { - "description": "\\[lsig\\] Programatic transaction signature.\n\nDefinition:\ndata/transactions/logicsig.go", - "type": "object", - "required": [ - "logic" - ], - "properties": { - "args": { - "description": "\\[arg\\] Logic arguments, base64 encoded.", - "type": "array", - "format": "byte", - "items": { - "type": "string" + }, + "IndexerStateProofMessage": { + "type": "object", + "properties": { + "block-headers-commitment": { + "description": "\\[b\\]", + "type": "string", + "format": "byte" + }, + "voters-commitment": { + "description": "\\[v\\]", + "type": "string", + "format": "byte" + }, + "ln-proven-weight": { + "description": "\\[P\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "first-attested-round": { + "description": "\\[f\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "latest-attested-round": { + "description": "\\[l\\]", + "type": "integer", + "x-algorand-format": "uint64" } - }, - "logic": { - "description": "\\[l\\] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.", - "type": "string", - "format": "byte" - }, - "multisig-signature": { - "$ref": "#/definitions/TransactionSignatureMultisig" - }, - "logic-multisig-signature": { - "$ref": "#/definitions/TransactionSignatureMultisig" - }, - "signature": { - "description": "\\[sig\\] ed25519 signature.", - "type": "string", - "format": "byte" } - } - }, - "TransactionSignatureMultisig": { - "description": "structure holding multiple subsignatures.\n\nDefinition:\ncrypto/multisig.go : MultisigSig", - "type": "object", - "properties": { - "subsignature": { - "description": "\\[subsig\\] holds pairs of public key and signatures.", - "type": "array", - "items": { - "$ref": "#/definitions/TransactionSignatureMultisigSubsignature" + }, + "StateProofReveal": { + "type": "object", + "properties": { + "position": { + "description": "The position in the signature and participants arrays corresponding to this entry.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "sig-slot": { + "description": "\\[s\\]", + "$ref": "#/components/definitions/StateProofSigSlot" + }, + "participant": { + "description": "\\[p\\]", + "$ref": "#/components/definitions/StateProofParticipant" } - }, - "threshold": { - "description": "\\[thr\\]", - "type": "integer" - }, - "version": { - "description": "\\[v\\]", - "type": "integer" } - } - }, - "TransactionSignatureMultisigSubsignature": { - "type": "object", - "properties": { - "public-key": { - "description": "\\[pk\\]", - "type": "string", - "format": "byte" - }, - "signature": { - "description": "\\[s\\]", - "type": "string", - "format": "byte" + }, + "StateProofSigSlot": { + "type": "object", + "properties": { + "signature": { + "description": "", + "$ref": "#/components/definitions/StateProofSignature" + }, + "lower-sig-weight": { + "description": "\\[l\\] The total weight of signatures in the lower-numbered slots.", + "type": "integer", + "x-algorand-format": "uint64" + } } - } - }, - "StateProofFields": { - "description": "\\[sp\\] represents a state proof.\n\nDefinition:\ncrypto/stateproof/structs.go : StateProof", - "type": "object", - "properties": { - "sig-commit": { - "description": "\\[c\\]", - "type": "string", - "format": "byte" - }, - "signed-weight": { - "description": "\\[w\\]", - "type": "integer", - "x-algorand-format": "uint64" - }, - "sig-proofs": { - "description": "\\[S\\]", - "$ref": "#/definitions/MerkleArrayProof" - }, - "part-proofs": { - "description": "\\[P\\]", - "$ref": "#/definitions/MerkleArrayProof" - }, - "salt-version": { - "description": "\\[v\\] Salt version of the merkle signature.", - "type": "integer" - }, - "reveals": { - "type": "array", - "description": "\\[r\\] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp", - "items": { - "$ref": "#/definitions/StateProofReveal" + }, + "StateProofSignature": { + "type": "object", + "properties": { + "falcon-signature": { + "type": "string", + "format": "byte" + }, + "merkle-array-index": { + "type": "integer", + "x-algorand-foramt": "uint64" + }, + "proof": { + "$ref": "#/components/definitions/MerkleArrayProof" + }, + "verifying-key": { + "description": "\\[vkey\\]", + "type": "string", + "format": "byte" } - }, - "positions-to-reveal": { - "description": "\\[pr\\] Sequence of reveal positions.", - "type": "array", - "items": { + } + }, + "StateProofParticipant": { + "type": "object", + "properties": { + "verifier": { + "description": "\\[p\\]", + "$ref": "#/components/definitions/StateProofVerifier" + }, + "weight": { + "description": "\\[w\\]", "type": "integer", "x-algorand-format": "uint64" } } - } - }, - "HbProofFields": { - "description": "\\[hbprf\\] HbProof is a signature using HeartbeatAddress's partkey, thereby showing it is online.", - "type": "object", - "properties": { - "hb-sig": { - "description": "\\[s\\] Signature of the heartbeat message.", - "type": "string", - "format": "byte" - }, - "hb-pk": { - "description": "\\[p\\] Public key of the heartbeat message.", - "type": "string", - "format": "byte" - }, - "hb-pk2": { - "description": "\\[p2\\] Key for new-style two-level ephemeral signature.", - "type": "string", - "format": "byte" - }, - "hb-pk1sig": { - "description": "\\[p1s\\] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.", - "type": "string", - "format": "byte" - }, - "hb-pk2sig": { - "description": "\\[p2s\\] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).", - "type": "string", - "format": "byte" + }, + "StateProofVerifier": { + "type": "object", + "properties": { + "commitment": { + "description": "\\[cmt\\] Represents the root of the vector commitment tree.", + "type": "string", + "format": "byte" + }, + "key-lifetime": { + "description": "\\[lf\\] Key lifetime.", + "type": "integer", + "x-algorand-format": "uint64" + } } - } - }, - "IndexerStateProofMessage": { - "type": "object", - "properties": { - "block-headers-commitment": { - "description": "\\[b\\]", - "type": "string", - "format": "byte" - }, - "voters-commitment": { - "description": "\\[v\\]", - "type": "string", - "format": "byte" - }, - "ln-proven-weight": { - "description": "\\[P\\]", - "type": "integer", - "x-algorand-format": "uint64" - }, - "first-attested-round": { - "description": "\\[f\\]", - "type": "integer", - "x-algorand-format": "uint64" - }, - "latest-attested-round": { - "description": "\\[l\\]", - "type": "integer", - "x-algorand-format": "uint64" + }, + "StateProofTracking": { + "type": "object", + "properties": { + "type": { + "description": "State Proof Type. Note the raw object uses map with this as key.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "voters-commitment": { + "description": "\\[v\\] Root of a vector commitment containing online accounts that will help sign the proof.", + "type": "string", + "format": "byte" + }, + "online-total-weight": { + "description": "\\[t\\] The total number of microalgos held by the online accounts during the StateProof round.", + "type": "integer" + }, + "next-round": { + "description": "\\[n\\] Next round for which we will accept a state proof transaction.", + "type": "integer" + } } - } - }, - "StateProofReveal": { - "type": "object", - "properties": { - "position": { - "description": "The position in the signature and participants arrays corresponding to this entry.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "sig-slot": { - "description": "\\[s\\]", - "$ref": "#/definitions/StateProofSigSlot" - }, - "participant": { - "description": "\\[p\\]", - "$ref": "#/definitions/StateProofParticipant" + }, + "MerkleArrayProof": { + "type": "object", + "properties": { + "path": { + "description": "\\[pth\\]", + "type": "array", + "items": { + "type": "string", + "format": "byte" + } + }, + "hash-factory": { + "$ref": "#/components/definitions/HashFactory" + }, + "tree-depth": { + "description": "\\[td\\]", + "type": "integer", + "x-algorand-format": "uint8" + } } - } - }, - "StateProofSigSlot": { - "type": "object", - "properties": { - "signature": { - "description": "", - "$ref": "#/definitions/StateProofSignature" - }, - "lower-sig-weight": { - "description": "\\[l\\] The total weight of signatures in the lower-numbered slots.", - "type": "integer", - "x-algorand-format": "uint64" + }, + "HashFactory": { + "type": "object", + "properties": { + "hash-type": { + "description": "\\[t\\]", + "type": "integer", + "x-algorand-format": "uint16" + } } } }, - "StateProofSignature": { - "type": "object", - "properties": { - "falcon-signature": { + "parameters": { + "proposers": { + "type": "array", + "items": { "type": "string", - "format": "byte" - }, - "merkle-array-index": { - "type": "integer", - "x-algorand-foramt": "uint64" - }, - "proof": { - "$ref": "#/definitions/MerkleArrayProof" + "x-algorand-format": "Address" }, - "verifying-key": { - "description": "\\[vkey\\]", + "description": "Accounts marked as proposer in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "name": "proposers", + "in": "query", + "required": false + }, + "absent": { + "type": "array", + "items": { "type": "string", - "format": "byte" - } - } - }, - "StateProofParticipant": { - "type": "object", - "properties": { - "verifier": { - "description": "\\[p\\]", - "$ref": "#/definitions/StateProofVerifier" + "x-algorand-format": "Address" }, - "weight": { - "description": "\\[w\\]", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "StateProofVerifier": { - "type": "object", - "properties": { - "commitment": { - "description": "\\[cmt\\] Represents the root of the vector commitment tree.", + "description": "Accounts marked as absent in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "name": "absent", + "in": "query", + "required": false + }, + "expired": { + "type": "array", + "items": { "type": "string", - "format": "byte" - }, - "key-lifetime": { - "description": "\\[lf\\] Key lifetime.", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "StateProofTracking": { - "type": "object", - "properties": { - "type": { - "description": "State Proof Type. Note the raw object uses map with this as key.", - "type": "integer", - "x-algorand-format": "uint64" + "x-algorand-format": "Address" }, - "voters-commitment": { - "description": "\\[v\\] Root of a vector commitment containing online accounts that will help sign the proof.", + "description": "Accounts marked as expired in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "name": "expired", + "in": "query", + "required": false + }, + "account-id": { + "type": "string", + "description": "account string", + "name": "account-id", + "in": "path", + "required": true + }, + "address": { + "type": "string", + "x-algorand-format": "Address", + "description": "Only include transactions with this address in one of the transaction fields.", + "name": "address", + "in": "query" + }, + "address-role": { + "enum": [ + "sender", + "receiver", + "freeze-target" + ], + "type": "string", + "description": "Combine with the address parameter to define what type of address to search for.", + "name": "address-role", + "in": "query" + }, + "after-time": { + "type": "string", + "format": "date-time", + "x-algorand-format": "RFC3339 String", + "description": "Include results after the given time. Must be an RFC 3339 formatted string.", + "name": "after-time", + "in": "query" + }, + "application-id": { + "type": "integer", + "description": "Application ID", + "name": "application-id", + "in": "query" + }, + "asset-id": { + "type": "integer", + "description": "Asset ID", + "name": "asset-id", + "in": "query" + }, + "before-time": { + "type": "string", + "format": "date-time", + "x-algorand-format": "RFC3339 String", + "description": "Include results before the given time. Must be an RFC 3339 formatted string.", + "name": "before-time", + "in": "query" + }, + "box-name": { + "description": "A box name in goal-arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", + "type": "string", + "name": "name", + "in": "query", + "required": true + }, + "currency-greater-than": { + "type": "integer", + "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "name": "currency-greater-than", + "in": "query" + }, + "currency-less-than": { + "type": "integer", + "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "name": "currency-less-than", + "in": "query" + }, + "exclude-close-to": { + "type": "boolean", + "description": "Combine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.", + "name": "exclude-close-to", + "in": "query" + }, + "header-only": { + "type": "boolean", + "description": "Header only flag. When this is set to true, returned block does not contain the transactions", + "name": "header-only", + "in": "query" + }, + "include-all": { + "type": "boolean", + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "name": "include-all", + "in": "query" + }, + "exclude": { + "description": "Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.", + "name": "exclude", + "in": "query", + "type": "array", + "items": { "type": "string", - "format": "byte" - }, - "online-total-weight": { - "description": "\\[t\\] The total number of microalgos held by the online accounts during the StateProof round.", - "type": "integer" - }, - "next-round": { - "description": "\\[n\\] Next round for which we will accept a state proof transaction.", - "type": "integer" - } - } - }, - "MerkleArrayProof": { - "type": "object", - "properties": { - "path": { - "description": "\\[pth\\]", - "type": "array", - "items": { - "type": "string", - "format": "byte" - } - }, - "hash-factory": { - "$ref": "#/definitions/HashFactory" - }, - "tree-depth": { - "description": "\\[td\\]", - "type": "integer", - "x-algorand-format": "uint8" - } - } - }, - "HashFactory": { - "type": "object", - "properties": { - "hash-type": { - "description": "\\[t\\]", - "type": "integer", - "x-algorand-format": "uint16" + "enum": [ + "all", + "assets", + "created-assets", + "apps-local-state", + "created-apps", + "none" + ] } - } - } - }, - "parameters": { - "proposers": { - "type": "array", - "items": { + }, + "limit": { + "type": "integer", + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "name": "limit", + "in": "query" + }, + "max-round": { + "type": "integer", + "description": "Include results at or before the specified max-round.", + "name": "max-round", + "in": "query" + }, + "min-round": { + "type": "integer", + "description": "Include results at or after the specified min-round.", + "name": "min-round", + "in": "query" + }, + "next": { "type": "string", - "x-algorand-format": "Address" + "description": "The next page of results. Use the next token provided by the previous results.", + "name": "next", + "in": "query" }, - "description": "Accounts marked as proposer in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "name": "proposers", - "in": "query", - "required": false - }, - "absent": { - "type": "array", - "items": { + "note-prefix": { "type": "string", - "x-algorand-format": "Address" + "description": "Specifies a prefix which must be contained in the note field.", + "name": "note-prefix", + "in": "query", + "x-algorand-format": "base64" }, - "description": "Accounts marked as absent in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "name": "absent", - "in": "query", - "required": false - }, - "expired": { - "type": "array", - "items": { + "online-only": { + "type": "boolean", + "description": "When this is set to true, return only accounts whose participation status is currently online.", + "name": "online-only", + "in": "query" + }, + "rekey-to": { + "type": "boolean", + "description": "Include results which include the rekey-to field.", + "name": "rekey-to", + "in": "query" + }, + "round": { + "type": "integer", + "description": "Include results for the specified round.", + "name": "round", + "in": "query" + }, + "round-number": { + "type": "integer", + "description": "Round number", + "name": "round-number", + "in": "path", + "required": true + }, + "sender-address": { + "type": "string", + "x-algorand-format": "Address", + "description": "Only include transactions with this sender address.", + "name": "sender-address", + "in": "query" + }, + "sig-type": { + "enum": [ + "sig", + "msig", + "lsig" + ], + "type": "string", + "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", + "name": "sig-type", + "in": "query" + }, + "auth-addr": { "type": "string", + "description": "Include accounts configured to use this spending key.", + "name": "auth-addr", + "in": "query", "x-algorand-format": "Address" }, - "description": "Accounts marked as expired in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "name": "expired", - "in": "query", - "required": false - }, - "account-id": { - "type": "string", - "description": "account string", - "name": "account-id", - "in": "path", - "required": true - }, - "address": { - "type": "string", - "x-algorand-format": "Address", - "description": "Only include transactions with this address in one of the transaction fields.", - "name": "address", - "in": "query" - }, - "address-role": { - "enum": [ - "sender", - "receiver", - "freeze-target" - ], - "type": "string", - "description": "Combine with the address parameter to define what type of address to search for.", - "name": "address-role", - "in": "query" - }, - "after-time": { - "type": "string", - "format": "date-time", - "x-algorand-format": "RFC3339 String", - "description": "Include results after the given time. Must be an RFC 3339 formatted string.", - "name": "after-time", - "in": "query" - }, - "application-id": { - "type": "integer", - "description": "Application ID", - "name": "application-id", - "in": "query" - }, - "asset-id": { - "type": "integer", - "description": "Asset ID", - "name": "asset-id", - "in": "query" - }, - "before-time": { - "type": "string", - "format": "date-time", - "x-algorand-format": "RFC3339 String", - "description": "Include results before the given time. Must be an RFC 3339 formatted string.", - "name": "before-time", - "in": "query" - }, - "box-name": { - "description": "A box name in goal-arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", - "type": "string", - "name": "name", - "in": "query", - "required": true - }, - "currency-greater-than": { - "type": "integer", - "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", - "name": "currency-greater-than", - "in": "query" - }, - "currency-less-than": { - "type": "integer", - "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", - "name": "currency-less-than", - "in": "query" - }, - "exclude-close-to": { - "type": "boolean", - "description": "Combine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.", - "name": "exclude-close-to", - "in": "query" - }, - "header-only": { - "type": "boolean", - "description": "Header only flag. When this is set to true, returned block does not contain the transactions", - "name": "header-only", - "in": "query" - }, - "include-all": { - "type": "boolean", - "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", - "name": "include-all", - "in": "query" - }, - "exclude": { - "description": "Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.", - "name": "exclude", - "in": "query", - "type": "array", - "items": { + "group-id": { + "type": "string", + "description": "Lookup transactions by group ID. This field must be base64-encoded, and afterwards, base64 characters that are URL-unsafe (i.e. =, /, +) must be URL-encoded", + "name": "group-id", + "in": "query", + "x-algorand-format": "base64" + }, + "txid": { "type": "string", + "description": "Lookup the specific transaction by ID.", + "name": "txid", + "in": "query" + }, + "tx-type": { "enum": [ - "all", - "assets", - "created-assets", - "apps-local-state", - "created-apps", - "none" - ] + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], + "type": "string", + "name": "tx-type", + "in": "query" } }, - "limit": { - "type": "integer", - "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", - "name": "limit", - "in": "query" - }, - "max-round": { - "type": "integer", - "description": "Include results at or before the specified max-round.", - "name": "max-round", - "in": "query" - }, - "min-round": { - "type": "integer", - "description": "Include results at or after the specified min-round.", - "name": "min-round", - "in": "query" - }, - "next": { - "type": "string", - "description": "The next page of results. Use the next token provided by the previous results.", - "name": "next", - "in": "query" - }, - "note-prefix": { - "type": "string", - "description": "Specifies a prefix which must be contained in the note field.", - "name": "note-prefix", - "in": "query", - "x-algorand-format": "base64" - }, - "online-only": { - "type": "boolean", - "description": "When this is set to true, return only accounts whose participation status is currently online.", - "name": "online-only", - "in": "query" - }, - "rekey-to": { - "type": "boolean", - "description": "Include results which include the rekey-to field.", - "name": "rekey-to", - "in": "query" - }, - "round": { - "type": "integer", - "description": "Include results for the specified round.", - "name": "round", - "in": "query" - }, - "round-number": { - "type": "integer", - "description": "Round number", - "name": "round-number", - "in": "path", - "required": true - }, - "sender-address": { - "type": "string", - "x-algorand-format": "Address", - "description": "Only include transactions with this sender address.", - "name": "sender-address", - "in": "query" - }, - "sig-type": { - "enum": [ - "sig", - "msig", - "lsig" - ], - "type": "string", - "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", - "name": "sig-type", - "in": "query" - }, - "auth-addr": { - "type": "string", - "description": "Include accounts configured to use this spending key.", - "name": "auth-addr", - "in": "query", - "x-algorand-format": "Address" - }, - "group-id": { - "type": "string", - "description": "Lookup transactions by group ID. This field must be base64-encoded, and afterwards, base64 characters that are URL-unsafe (i.e. =, /, +) must be URL-encoded", - "name": "group-id", - "in": "query", - "x-algorand-format": "base64" - }, - "txid": { - "type": "string", - "description": "Lookup the specific transaction by ID.", - "name": "txid", - "in": "query" - }, - "tx-type": { - "enum": [ - "pay", - "keyreg", - "acfg", - "axfer", - "afrz", - "appl", - "stpf", - "hb" - ], - "type": "string", - "name": "tx-type", - "in": "query" - } - }, - "responses": { - "AccountResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "account" - ], - "properties": { - "account": { - "$ref": "#/definitions/Account" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + "responses": { + "AccountResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "account" + ], + "properties": { + "account": { + "$ref": "#/components/definitions/Account" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } } } - } - }, - "AssetHoldingsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "assets" - ], - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "assets": { - "type": "array", - "items": { - "$ref": "#/definitions/AssetHolding" + }, + "AssetHoldingsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "assets" + ], + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "assets": { + "type": "array", + "items": { + "$ref": "#/components/definitions/AssetHolding" + } } } } - } - }, - "AccountsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "accounts" - ], - "properties": { - "accounts": { - "type": "array", - "items": { - "$ref": "#/definitions/Account" + }, + "AccountsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "accounts" + ], + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/components/definitions/Account" + } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" } } - } - }, - "AssetBalancesResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "balances" - ], - "properties": { - "balances": { - "type": "array", - "items": { - "$ref": "#/definitions/MiniAssetHolding" + }, + "AssetBalancesResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "balances" + ], + "properties": { + "balances": { + "type": "array", + "items": { + "$ref": "#/components/definitions/MiniAssetHolding" + } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" } } - } - }, - "ApplicationResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "applications" - ], - "properties": { - "application": { - "$ref": "#/definitions/Application" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + }, + "ApplicationResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "applications" + ], + "properties": { + "application": { + "$ref": "#/components/definitions/Application" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } } } - } - }, - "ApplicationsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "applications" - ], - "properties": { - "applications": { - "type": "array", - "items": { - "$ref": "#/definitions/Application" + }, + "ApplicationsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "applications" + ], + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/components/definitions/Application" + } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" } } - } - }, - "ApplicationLogsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "application-id", - "current-round" - ], - "properties": { - "application-id": { - "description": "\\[appidx\\] application index.", - "type": "integer" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "log-data": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationLogData" + }, + "ApplicationLogsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "application-id", + "current-round" + ], + "properties": { + "application-id": { + "description": "\\[appidx\\] application index.", + "type": "integer" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "log-data": { + "type": "array", + "items": { + "$ref": "#/components/definitions/ApplicationLogData" + } } } } - } - }, - "ApplicationLocalStatesResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "apps-local-states" - ], - "properties": { - "apps-local-states": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationLocalState" + }, + "ApplicationLocalStatesResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "apps-local-states" + ], + "properties": { + "apps-local-states": { + "type": "array", + "items": { + "$ref": "#/components/definitions/ApplicationLocalState" + } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" } } - } - }, - "AssetResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "asset" - ], - "properties": { - "asset": { - "$ref": "#/definitions/Asset" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + }, + "AssetResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "asset" + ], + "properties": { + "asset": { + "$ref": "#/components/definitions/Asset" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } } } - } - }, - "BoxesResponse": { - "description": "Box names of an application", - "schema": { - "type": "object", - "required": [ - "application-id", - "boxes" - ], - "properties": { - "application-id": { - "description": "\\[appidx\\] application index.", - "type": "integer" - }, - "boxes": { - "type": "array", - "items": { - "$ref": "#/definitions/BoxDescriptor" + }, + "BoxesResponse": { + "description": "Box names of an application", + "schema": { + "type": "object", + "required": [ + "application-id", + "boxes" + ], + "properties": { + "application-id": { + "description": "\\[appidx\\] application index.", + "type": "integer" + }, + "boxes": { + "type": "array", + "items": { + "$ref": "#/components/definitions/BoxDescriptor" + } + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" } } - } - }, - "BoxResponse": { - "description": "Box information", - "schema": { - "$ref": "#/definitions/Box" - } - }, - "ErrorResponse": { - "description": "Response for errors", - "schema": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "data": { - "type": "object" - }, - "message": { - "type": "string" + }, + "BoxResponse": { + "description": "Box information", + "schema": { + "$ref": "#/components/definitions/Box" + } + }, + "ErrorResponse": { + "description": "Response for errors", + "schema": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "data": { + "type": "object" + }, + "message": { + "type": "string" + } } } - } - }, - "AssetsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "assets" - ], - "properties": { - "assets": { - "type": "array", - "items": { - "$ref": "#/definitions/Asset" + }, + "AssetsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "assets" + ], + "properties": { + "assets": { + "type": "array", + "items": { + "$ref": "#/components/definitions/Asset" + } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" } } - } - }, - "BlockResponse": { - "description": "(empty)", - "schema": { - "$ref": "#/definitions/Block" - } - }, - "BlockHeadersResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "blocks" - ], - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "blocks": { - "type": "array", - "items": { - "$ref": "#/definitions/Block" + }, + "BlockResponse": { + "description": "(empty)", + "schema": { + "$ref": "#/components/definitions/Block" + } + }, + "BlockHeadersResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "blocks" + ], + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "blocks": { + "type": "array", + "items": { + "$ref": "#/components/definitions/Block" + } } } } - } - }, - "HealthCheckResponse": { - "description": "(empty)", - "schema": { - "$ref": "#/definitions/HealthCheck" - } - }, - "TransactionResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "transaction" - ], - "properties": { - "transaction": { - "$ref": "#/definitions/Transaction" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + }, + "HealthCheckResponse": { + "description": "(empty)", + "schema": { + "$ref": "#/components/definitions/HealthCheck" + } + }, + "TransactionResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "transaction" + ], + "properties": { + "transaction": { + "$ref": "#/components/definitions/Transaction" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } } } - } - }, - "TransactionsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "transactions" - ], - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "transactions": { - "type": "array", - "items": { - "$ref": "#/definitions/Transaction" + }, + "TransactionsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "transactions" + ], + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "transactions": { + "type": "array", + "items": { + "$ref": "#/components/definitions/Transaction" + } } } } From ebd290858b9339593acb4f90a80120a4d995337d Mon Sep 17 00:00:00 2001 From: Dzmitry Kliapkou Date: Thu, 12 Feb 2026 16:54:47 +0300 Subject: [PATCH 3/6] change openapi version --- algorand-indexer/rest-api/openapi.json | 5072 ++++++++++++------------ 1 file changed, 2535 insertions(+), 2537 deletions(-) diff --git a/algorand-indexer/rest-api/openapi.json b/algorand-indexer/rest-api/openapi.json index dc244d3..3a4eab9 100644 --- a/algorand-indexer/rest-api/openapi.json +++ b/algorand-indexer/rest-api/openapi.json @@ -1,5 +1,5 @@ { - "openapi": "3.0.1", + "openapi": "2.0", "info": { "title": "Algorand-Indexer REST API Specification", "description": "A specification of the Algorand indexer REST API provided by Chain.Love platform.", @@ -25,7 +25,7 @@ "operationId": "makeHealthCheck", "responses": { "200": { - "$ref": "#/components/responses/HealthCheckResponse" + "$ref": "#/responses/HealthCheckResponse" }, "default": { "description": "Unknown Error" @@ -48,28 +48,28 @@ "operationId": "searchForAccounts", "parameters": [ { - "$ref": "#/components/parameters/asset-id" + "$ref": "#/parameters/asset-id" }, { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" }, { - "$ref": "#/components/parameters/currency-greater-than" + "$ref": "#/parameters/currency-greater-than" }, { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" }, { - "$ref": "#/components/parameters/exclude" + "$ref": "#/parameters/exclude" }, { - "$ref": "#/components/parameters/currency-less-than" + "$ref": "#/parameters/currency-less-than" }, { - "$ref": "#/components/parameters/auth-addr" + "$ref": "#/parameters/auth-addr" }, { "type": "integer", @@ -78,21 +78,21 @@ "in": "query" }, { - "$ref": "#/components/parameters/application-id" + "$ref": "#/parameters/application-id" }, { - "$ref": "#/components/parameters/online-only" + "$ref": "#/parameters/online-only" } ], "responses": { "200": { - "$ref": "#/components/responses/AccountsResponse" + "$ref": "#/responses/AccountsResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -112,30 +112,30 @@ "operationId": "lookupAccountByID", "parameters": [ { - "$ref": "#/components/parameters/account-id" + "$ref": "#/parameters/account-id" }, { - "$ref": "#/components/parameters/round" + "$ref": "#/parameters/round" }, { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" }, { - "$ref": "#/components/parameters/exclude" + "$ref": "#/parameters/exclude" } ], "responses": { "200": { - "$ref": "#/components/responses/AccountResponse" + "$ref": "#/responses/AccountResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -155,33 +155,33 @@ "operationId": "lookupAccountAppLocalStates", "parameters": [ { - "$ref": "#/components/parameters/account-id" + "$ref": "#/parameters/account-id" }, { - "$ref": "#/components/parameters/application-id" + "$ref": "#/parameters/application-id" }, { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" }, { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" } ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationLocalStatesResponse" + "$ref": "#/responses/ApplicationLocalStatesResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -201,33 +201,33 @@ "operationId": "lookupAccountAssets", "parameters": [ { - "$ref": "#/components/parameters/account-id" + "$ref": "#/parameters/account-id" }, { - "$ref": "#/components/parameters/asset-id" + "$ref": "#/parameters/asset-id" }, { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" }, { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" } ], "responses": { "200": { - "$ref": "#/components/responses/AssetHoldingsResponse" + "$ref": "#/responses/AssetHoldingsResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -247,33 +247,33 @@ "operationId": "lookupAccountCreatedApplications", "parameters": [ { - "$ref": "#/components/parameters/account-id" + "$ref": "#/parameters/account-id" }, { - "$ref": "#/components/parameters/application-id" + "$ref": "#/parameters/application-id" }, { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" }, { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" } ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationsResponse" + "$ref": "#/responses/ApplicationsResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -293,33 +293,33 @@ "operationId": "lookupAccountCreatedAssets", "parameters": [ { - "$ref": "#/components/parameters/account-id" + "$ref": "#/parameters/account-id" }, { - "$ref": "#/components/parameters/asset-id" + "$ref": "#/parameters/asset-id" }, { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" }, { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" } ], "responses": { "200": { - "$ref": "#/components/responses/AssetsResponse" + "$ref": "#/responses/AssetsResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -339,63 +339,63 @@ "operationId": "lookupAccountTransactions", "parameters": [ { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" }, { - "$ref": "#/components/parameters/note-prefix" + "$ref": "#/parameters/note-prefix" }, { - "$ref": "#/components/parameters/tx-type" + "$ref": "#/parameters/tx-type" }, { - "$ref": "#/components/parameters/sig-type" + "$ref": "#/parameters/sig-type" }, { - "$ref": "#/components/parameters/txid" + "$ref": "#/parameters/txid" }, { - "$ref": "#/components/parameters/round" + "$ref": "#/parameters/round" }, { - "$ref": "#/components/parameters/min-round" + "$ref": "#/parameters/min-round" }, { - "$ref": "#/components/parameters/max-round" + "$ref": "#/parameters/max-round" }, { - "$ref": "#/components/parameters/asset-id" + "$ref": "#/parameters/asset-id" }, { - "$ref": "#/components/parameters/before-time" + "$ref": "#/parameters/before-time" }, { - "$ref": "#/components/parameters/after-time" + "$ref": "#/parameters/after-time" }, { - "$ref": "#/components/parameters/currency-greater-than" + "$ref": "#/parameters/currency-greater-than" }, { - "$ref": "#/components/parameters/currency-less-than" + "$ref": "#/parameters/currency-less-than" }, { - "$ref": "#/components/parameters/account-id" + "$ref": "#/parameters/account-id" }, { - "$ref": "#/components/parameters/rekey-to" + "$ref": "#/parameters/rekey-to" } ], "responses": { "200": { - "$ref": "#/components/responses/TransactionsResponse" + "$ref": "#/responses/TransactionsResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -415,7 +415,7 @@ "operationId": "searchForApplications", "parameters": [ { - "$ref": "#/components/parameters/application-id" + "$ref": "#/parameters/application-id" }, { "type": "string", @@ -424,21 +424,21 @@ "in": "query" }, { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" }, { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" } ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationsResponse" + "$ref": "#/responses/ApplicationsResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -464,18 +464,18 @@ "required": true }, { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" } ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationResponse" + "$ref": "#/responses/ApplicationResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -505,21 +505,21 @@ "required": true }, { - "$ref": "#/components/parameters/box-name" + "$ref": "#/parameters/box-name" } ], "responses": { "200": { - "$ref": "#/components/responses/BoxResponse" + "$ref": "#/responses/BoxResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -546,24 +546,24 @@ "required": true }, { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" } ], "responses": { "200": { - "$ref": "#/components/responses/BoxesResponse" + "$ref": "#/responses/BoxesResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -589,27 +589,27 @@ "required": true }, { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" }, { - "$ref": "#/components/parameters/txid" + "$ref": "#/parameters/txid" }, { - "$ref": "#/components/parameters/min-round" + "$ref": "#/parameters/min-round" }, { - "$ref": "#/components/parameters/max-round" + "$ref": "#/parameters/max-round" }, { - "$ref": "#/components/parameters/sender-address" + "$ref": "#/parameters/sender-address" } ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationLogsResponse" + "$ref": "#/responses/ApplicationLogsResponse" } } } @@ -629,13 +629,13 @@ "operationId": "searchForAssets", "parameters": [ { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" }, { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" }, { "type": "string", @@ -656,18 +656,18 @@ "in": "query" }, { - "$ref": "#/components/parameters/asset-id" + "$ref": "#/parameters/asset-id" } ], "responses": { "200": { - "$ref": "#/components/responses/AssetsResponse" + "$ref": "#/responses/AssetsResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -693,21 +693,21 @@ "required": true }, { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" } ], "responses": { "200": { - "$ref": "#/components/responses/AssetResponse" + "$ref": "#/responses/AssetResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -727,19 +727,19 @@ "operationId": "lookupAssetBalances", "parameters": [ { - "$ref": "#/components/parameters/include-all" + "$ref": "#/parameters/include-all" }, { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" }, { - "$ref": "#/components/parameters/currency-greater-than" + "$ref": "#/parameters/currency-greater-than" }, { - "$ref": "#/components/parameters/currency-less-than" + "$ref": "#/parameters/currency-less-than" }, { "type": "integer", @@ -750,13 +750,13 @@ ], "responses": { "200": { - "$ref": "#/components/responses/AssetBalancesResponse" + "$ref": "#/responses/AssetBalancesResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -776,52 +776,52 @@ "operationId": "lookupAssetTransactions", "parameters": [ { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" }, { - "$ref": "#/components/parameters/note-prefix" + "$ref": "#/parameters/note-prefix" }, { - "$ref": "#/components/parameters/tx-type" + "$ref": "#/parameters/tx-type" }, { - "$ref": "#/components/parameters/sig-type" + "$ref": "#/parameters/sig-type" }, { - "$ref": "#/components/parameters/txid" + "$ref": "#/parameters/txid" }, { - "$ref": "#/components/parameters/round" + "$ref": "#/parameters/round" }, { - "$ref": "#/components/parameters/min-round" + "$ref": "#/parameters/min-round" }, { - "$ref": "#/components/parameters/max-round" + "$ref": "#/parameters/max-round" }, { - "$ref": "#/components/parameters/before-time" + "$ref": "#/parameters/before-time" }, { - "$ref": "#/components/parameters/after-time" + "$ref": "#/parameters/after-time" }, { - "$ref": "#/components/parameters/currency-greater-than" + "$ref": "#/parameters/currency-greater-than" }, { - "$ref": "#/components/parameters/currency-less-than" + "$ref": "#/parameters/currency-less-than" }, { - "$ref": "#/components/parameters/address" + "$ref": "#/parameters/address" }, { - "$ref": "#/components/parameters/address-role" + "$ref": "#/parameters/address-role" }, { - "$ref": "#/components/parameters/exclude-close-to" + "$ref": "#/parameters/exclude-close-to" }, { "type": "integer", @@ -830,18 +830,18 @@ "required": true }, { - "$ref": "#/components/parameters/rekey-to" + "$ref": "#/parameters/rekey-to" } ], "responses": { "200": { - "$ref": "#/components/responses/TransactionsResponse" + "$ref": "#/responses/TransactionsResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -861,21 +861,21 @@ "operationId": "lookupBlock", "parameters": [ { - "$ref": "#/components/parameters/round-number" + "$ref": "#/parameters/round-number" }, { - "$ref": "#/components/parameters/header-only" + "$ref": "#/parameters/header-only" } ], "responses": { "200": { - "$ref": "#/components/responses/BlockResponse" + "$ref": "#/responses/BlockResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -895,75 +895,75 @@ "operationId": "searchForTransactions", "parameters": [ { - "$ref": "#/components/parameters/limit" + "$ref": "#/parameters/limit" }, { - "$ref": "#/components/parameters/next" + "$ref": "#/parameters/next" }, { - "$ref": "#/components/parameters/note-prefix" + "$ref": "#/parameters/note-prefix" }, { - "$ref": "#/components/parameters/tx-type" + "$ref": "#/parameters/tx-type" }, { - "$ref": "#/components/parameters/sig-type" + "$ref": "#/parameters/sig-type" }, { - "$ref": "#/components/parameters/group-id" + "$ref": "#/parameters/group-id" }, { - "$ref": "#/components/parameters/txid" + "$ref": "#/parameters/txid" }, { - "$ref": "#/components/parameters/round" + "$ref": "#/parameters/round" }, { - "$ref": "#/components/parameters/min-round" + "$ref": "#/parameters/min-round" }, { - "$ref": "#/components/parameters/max-round" + "$ref": "#/parameters/max-round" }, { - "$ref": "#/components/parameters/asset-id" + "$ref": "#/parameters/asset-id" }, { - "$ref": "#/components/parameters/before-time" + "$ref": "#/parameters/before-time" }, { - "$ref": "#/components/parameters/after-time" + "$ref": "#/parameters/after-time" }, { - "$ref": "#/components/parameters/currency-greater-than" + "$ref": "#/parameters/currency-greater-than" }, { - "$ref": "#/components/parameters/currency-less-than" + "$ref": "#/parameters/currency-less-than" }, { - "$ref": "#/components/parameters/address" + "$ref": "#/parameters/address" }, { - "$ref": "#/components/parameters/address-role" + "$ref": "#/parameters/address-role" }, { - "$ref": "#/components/parameters/exclude-close-to" + "$ref": "#/parameters/exclude-close-to" }, { - "$ref": "#/components/parameters/rekey-to" + "$ref": "#/parameters/rekey-to" }, { - "$ref": "#/components/parameters/application-id" + "$ref": "#/parameters/application-id" } ], "responses": { "200": { - "$ref": "#/components/responses/TransactionsResponse" + "$ref": "#/responses/TransactionsResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } @@ -991,2502 +991,2500 @@ ], "responses": { "200": { - "$ref": "#/components/responses/TransactionResponse" + "$ref": "#/responses/TransactionResponse" }, "400": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "404": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" }, "500": { - "$ref": "#/components/responses/ErrorResponse" + "$ref": "#/responses/ErrorResponse" } } } } }, - "components": { - "definitions": { - "Hashtype": { - "description": "The type of hash function used to create the proof, must be one of: \n* sha512_256 \n* sha256", - "type": "string", - "enum": [ - "sha512_256", - "sha256" - ] - }, - "Account": { - "description": "Account information at a given round.\n\nDefinition:\ndata/basics/userBalance.go : AccountData\n", - "type": "object", - "required": [ - "round", - "address", - "amount", - "pending-rewards", - "amount-without-pending-rewards", - "rewards", - "status", - "min-balance", - "total-apps-opted-in", - "total-assets-opted-in", - "total-box-bytes", - "total-boxes", - "total-created-apps", - "total-created-assets" - ], - "properties": { - "address": { - "description": "the account public key", - "type": "string" - }, - "amount": { - "description": "total number of MicroAlgos in the account", - "type": "integer" - }, - "min-balance": { - "description": "MicroAlgo balance required by the account.\n\nThe requirement grows based on asset and application usage.", - "type": "integer" - }, - "amount-without-pending-rewards": { - "description": "specifies the amount of MicroAlgos in the account, without the pending rewards.", - "type": "integer" - }, - "apps-local-state": { - "description": "application local data stored in this account.\n\nNote the raw object uses `map[int] -\u003e AppLocalState` for this type.", - "type": "array", - "items": { - "$ref": "#/components/definitions/ApplicationLocalState" - } - }, - "apps-total-schema": { - "description": "the sum of all of the local schemas and global schemas in this account.\n\nNote: the raw account uses `StateSchema` for this type.", - "$ref": "#/components/definitions/ApplicationStateSchema" - }, - "apps-total-extra-pages": { - "description": "the sum of all extra application program pages for this account.", - "type": "integer" - }, - "assets": { - "description": "assets held by this account.\n\nNote the raw object uses `map[int] -\u003e AssetHolding` for this type.", - "type": "array", - "items": { - "$ref": "#/components/definitions/AssetHolding" - } - }, - "created-apps": { - "description": "parameters of applications created by this account including app global data.\n\nNote: the raw account uses `map[int] -\u003e AppParams` for this type.", - "type": "array", - "items": { - "$ref": "#/components/definitions/Application" - } - }, - "created-assets": { - "description": "parameters of assets created by this account.\n\nNote: the raw account uses `map[int] -\u003e Asset` for this type.", - "type": "array", - "items": { - "$ref": "#/components/definitions/Asset" - } - }, - "participation": { - "$ref": "#/components/definitions/AccountParticipation" - }, - "incentive-eligible": { - "description": "can the account receive block incentives if its balance is in range at proposal time.", - "type": "boolean" - }, - "pending-rewards": { - "description": "amount of MicroAlgos of pending rewards in this account.", - "type": "integer" - }, - "reward-base": { - "description": "used as part of the rewards computation. Only applicable to accounts which are participating.", - "type": "integer" - }, - "rewards": { - "description": "total rewards of MicroAlgos the account has received, including pending rewards.", - "type": "integer" - }, - "round": { - "description": "The round for which this information is relevant.", - "type": "integer" - }, - "status": { - "description": "voting status of the account's MicroAlgos\n* Offline - indicates that the associated account is delegated.\n* Online - indicates that the associated account used as part of the delegation pool.\n* NotParticipating - indicates that the associated account is neither a delegator nor a delegate.", - "type": "string" - }, - "sig-type": { - "description": "the type of signature used by this account, must be one of:\n* sig\n* msig\n* lsig\n* or null if unknown", - "type": "string", - "enum": [ - "sig", - "msig", - "lsig" - ] - }, - "total-apps-opted-in": { - "description": "The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.", - "type": "integer" - }, - "total-assets-opted-in": { - "description": "The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.", - "type": "integer" - }, - "total-box-bytes": { - "description": "For app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.", - "type": "integer" - }, - "total-boxes": { - "description": "For app-accounts only. The total number of boxes which belong to the associated application.", - "type": "integer" - }, - "total-created-apps": { - "description": "The count of all apps (AppParams objects) created by this account.", - "type": "integer" - }, - "total-created-assets": { - "description": "The count of all assets (AssetParams objects) created by this account.", - "type": "integer" - }, - "auth-addr": { - "description": "The address against which signing should be checked. If empty, the address of the current account is used. This field can be updated in any transaction by setting the RekeyTo field.", - "type": "string", - "x-algorand-format": "Address" - }, - "last-proposed": { - "description": "The round in which this account last proposed the block.", - "type": "integer" - }, - "last-heartbeat": { - "description": "The round in which this account last went online, or explicitly renewed their online status.", - "type": "integer" - }, - "deleted": { - "description": "Whether or not this account is currently closed.", - "type": "boolean" - }, - "created-at-round": { - "description": "Round during which this account first appeared in a transaction.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "closed-at-round": { - "description": "Round during which this account was most recently closed.", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "AccountParticipation": { - "description": "AccountParticipation describes the parameters used by this account in consensus protocol.", - "type": "object", - "required": [ - "vote-participation-key", - "selection-participation-key", - "vote-first-valid", - "vote-last-valid", - "vote-key-dilution" - ], - "properties": { - "selection-participation-key": { - "description": "Selection public key (if any) currently registered for this round.", - "type": "string", - "format": "byte" - }, - "vote-first-valid": { - "description": "First round for which this participation is valid.", - "type": "integer" - }, - "vote-key-dilution": { - "description": "Number of subkeys in each batch of participation keys.", - "type": "integer" - }, - "vote-last-valid": { - "description": "Last round for which this participation is valid.", - "type": "integer" - }, - "vote-participation-key": { - "description": "root participation public key (if any) currently registered for this round.", - "type": "string", - "format": "byte" - }, - "state-proof-key": { - "description": "Root of the state proof key (if any)", - "type": "string", - "format": "byte" - } - } - }, - "ApplicationStateSchema": { - "description": "Specifies maximums on the number of each type that may be stored.", - "type": "object", - "required": [ - "num-uint", - "num-byte-slice" - ], - "properties": { - "num-uint": { - "description": "number of uints.", - "type": "integer" - }, - "num-byte-slice": { - "description": "number of byte slices.", - "type": "integer" - } - } - }, - "ApplicationLocalState": { - "description": "Stores local state associated with an application.", - "type": "object", - "required": [ - "id", - "schema" - ], - "properties": { - "id": { - "description": "The application which this local state is for.", - "type": "integer" - }, - "deleted": { - "description": "Whether or not the application local state is currently deleted from its account.", - "type": "boolean" - }, - "opted-in-at-round": { - "description": "Round when the account opted into the application.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "closed-out-at-round": { - "description": "Round when account closed out of the application.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "schema": { - "description": "schema.", - "$ref": "#/components/definitions/ApplicationStateSchema" - }, - "key-value": { - "description": "storage.", - "$ref": "#/components/definitions/TealKeyValueStore" - } - } - }, - "TealKeyValueStore": { - "description": "Represents a key-value store for use in an application.", - "type": "array", - "items": { - "$ref": "#/components/definitions/TealKeyValue" - } - }, - "TealKeyValue": { - "description": "Represents a key-value pair in an application store.", - "type": "object", - "required": [ - "key", - "value" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "$ref": "#/components/definitions/TealValue" - } - } - }, - "TealValue": { - "description": "Represents a TEAL value.", - "type": "object", - "required": [ - "type", - "uint", - "bytes" - ], - "properties": { - "type": { - "description": "type of the value. Value `1` refers to **bytes**, value `2` refers to **uint**", - "type": "integer" - }, - "bytes": { - "description": "bytes value.", - "type": "string" - }, - "uint": { - "description": "uint value.", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "Application": { - "description": "Application index and its parameters", - "type": "object", - "required": [ - "id", - "params" - ], - "properties": { - "id": { - "description": "application index.", - "type": "integer" - }, - "deleted": { - "description": "Whether or not this application is currently deleted.", - "type": "boolean" - }, - "created-at-round": { - "description": "Round when this application was created.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "deleted-at-round": { - "description": "Round when this application was deleted.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "params": { - "description": "application parameters.", - "$ref": "#/components/definitions/ApplicationParams" - } - } - }, - "ApplicationParams": { - "description": "Stores the global information associated with an application.", - "type": "object", - "required": [ - "approval-program", - "clear-state-program" - ], - "properties": { - "creator": { - "description": "The address that created this application. This is the address where the parameters and global state for this application can be found.", - "type": "string", - "x-algorand-format": "Address" - }, - "approval-program": { - "description": "approval program.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "clear-state-program": { - "description": "clear state program.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "extra-program-pages": { - "description": "the number of extra program pages available to this app.", - "type": "integer" - }, - "local-state-schema": { - "description": "local schema", - "$ref": "#/components/definitions/ApplicationStateSchema" - }, - "global-state-schema": { - "description": "global schema", - "$ref": "#/components/definitions/ApplicationStateSchema" - }, - "global-state": { - "description": "global state", - "$ref": "#/components/definitions/TealKeyValueStore" - }, - "version": { - "description": "the number of updates to the application programs", - "type": "integer" - } - } - }, - "ApplicationLogData": { - "description": "Stores the global information associated with an application.", - "type": "object", - "required": [ - "txid", - "logs" - ], - "properties": { - "txid": { - "description": "Transaction ID", - "type": "string" - }, - "logs": { - "description": "Logs for the application being executed by the transaction.", - "type": "array", - "items": { - "type": "string", - "format": "byte" - } - } - } - }, - "Asset": { - "description": "Specifies both the unique identifier and the parameters for an asset", - "type": "object", - "required": [ - "index", - "params" - ], - "properties": { - "index": { - "description": "unique asset identifier", - "type": "integer" - }, - "deleted": { - "description": "Whether or not this asset is currently deleted.", - "type": "boolean" - }, - "created-at-round": { - "description": "Round during which this asset was created.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "destroyed-at-round": { - "description": "Round during which this asset was destroyed.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "params": { - "$ref": "#/components/definitions/AssetParams" - } - } - }, - "AssetHolding": { - "description": "Describes an asset held by an account.\n\nDefinition:\ndata/basics/userBalance.go : AssetHolding", - "type": "object", - "required": [ - "asset-id", - "amount", - "is-frozen" - ], - "properties": { - "amount": { - "description": "number of units held.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "asset-id": { - "description": "Asset ID of the holding.", - "type": "integer" - }, - "is-frozen": { - "description": "whether or not the holding is frozen.", - "type": "boolean" - }, - "deleted": { - "description": "Whether or not the asset holding is currently deleted from its account.", - "type": "boolean" - }, - "opted-in-at-round": { - "description": "Round during which the account opted into this asset holding.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "opted-out-at-round": { - "description": "Round during which the account opted out of this asset holding.", - "type": "integer", - "x-algorand-format": "uint64" + "definitions": { + "Hashtype": { + "description": "The type of hash function used to create the proof, must be one of: \n* sha512_256 \n* sha256", + "type": "string", + "enum": [ + "sha512_256", + "sha256" + ] + }, + "Account": { + "description": "Account information at a given round.\n\nDefinition:\ndata/basics/userBalance.go : AccountData\n", + "type": "object", + "required": [ + "round", + "address", + "amount", + "pending-rewards", + "amount-without-pending-rewards", + "rewards", + "status", + "min-balance", + "total-apps-opted-in", + "total-assets-opted-in", + "total-box-bytes", + "total-boxes", + "total-created-apps", + "total-created-assets" + ], + "properties": { + "address": { + "description": "the account public key", + "type": "string" + }, + "amount": { + "description": "total number of MicroAlgos in the account", + "type": "integer" + }, + "min-balance": { + "description": "MicroAlgo balance required by the account.\n\nThe requirement grows based on asset and application usage.", + "type": "integer" + }, + "amount-without-pending-rewards": { + "description": "specifies the amount of MicroAlgos in the account, without the pending rewards.", + "type": "integer" + }, + "apps-local-state": { + "description": "application local data stored in this account.\n\nNote the raw object uses `map[int] -\u003e AppLocalState` for this type.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationLocalState" } - } - }, - "AssetParams": { - "description": "AssetParams specifies the parameters for an asset.\n\n\\[apar\\] when part of an AssetConfig transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetParams", - "type": "object", - "required": [ - "creator", - "total", - "decimals" - ], - "properties": { - "clawback": { - "description": "Address of account used to clawback holdings of this asset. If empty, clawback is not permitted.", - "type": "string" - }, - "creator": { - "description": "The address that created this asset. This is the address where the parameters for this asset can be found, and also the address where unwanted asset units can be sent in the worst case.", - "type": "string" - }, - "decimals": { - "description": "The number of digits to use after the decimal point when displaying this asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in tenths. If 2, the base unit of the asset is in hundredths, and so on. This value must be between 0 and 19 (inclusive).", - "type": "integer", - "maximum": 19, - "minimum": 0 - }, - "default-frozen": { - "description": "Whether holdings of this asset are frozen by default.", - "type": "boolean" - }, - "freeze": { - "description": "Address of account used to freeze holdings of this asset. If empty, freezing is not permitted.", - "type": "string" - }, - "manager": { - "description": "Address of account used to manage the keys of this asset and to destroy it.", - "type": "string" - }, - "metadata-hash": { - "description": "A commitment to some unspecified asset metadata. The format of this metadata is up to the application.", - "type": "string", - "format": "byte" - }, - "name": { - "description": "Name of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.", - "type": "string" - }, - "name-b64": { - "description": "Base64 encoded name of this asset, as supplied by the creator.", - "type": "string", - "format": "byte" - }, - "reserve": { - "description": "Address of account holding reserve (non-minted) units of this asset.", - "type": "string" - }, - "total": { - "description": "The total number of units of this asset.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "unit-name": { - "description": "Name of a unit of this asset, as supplied by the creator. Included only when the name of a unit of this asset is composed of printable utf-8 characters.", - "type": "string" - }, - "unit-name-b64": { - "description": "Base64 encoded name of a unit of this asset, as supplied by the creator.", - "type": "string", - "format": "byte" - }, - "url": { - "description": "URL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.", - "type": "string" - }, - "url-b64": { - "description": "Base64 encoded URL where more information about the asset can be retrieved.", - "type": "string", - "format": "byte" + }, + "apps-total-schema": { + "description": "the sum of all of the local schemas and global schemas in this account.\n\nNote: the raw account uses `StateSchema` for this type.", + "$ref": "#/definitions/ApplicationStateSchema" + }, + "apps-total-extra-pages": { + "description": "the sum of all extra application program pages for this account.", + "type": "integer" + }, + "assets": { + "description": "assets held by this account.\n\nNote the raw object uses `map[int] -\u003e AssetHolding` for this type.", + "type": "array", + "items": { + "$ref": "#/definitions/AssetHolding" } - } - }, - "Block": { - "description": "Block information.\n\nDefinition:\ndata/bookkeeping/block.go : Block", - "type": "object", - "required": [ - "round", - "previous-block-hash", - "seed", - "transactions-root", - "transactions-root-sha256", - "timestamp", - "genesis-id", - "genesis-hash" - ], - "properties": { - "proposer": { - "description": "the proposer of this block.", - "type": "string", - "x-algorand-format": "Address" - }, - "fees-collected": { - "description": "the sum of all fees paid by transactions in this block.", - "type": "integer" - }, - "bonus": { - "description": "the potential bonus payout for this block.", - "type": "integer" - }, - "proposer-payout": { - "description": "the actual amount transferred to the proposer from the fee sink.", - "type": "integer" - }, - "genesis-hash": { - "description": "\\[gh\\] hash to which this block belongs.", - "type": "string", - "format": "byte" - }, - "genesis-id": { - "description": "\\[gen\\] ID to which this block belongs.", - "type": "string" - }, - "previous-block-hash": { - "description": "\\[prev\\] Previous block hash.", - "type": "string", - "format": "byte" - }, - "previous-block-hash-512": { - "description": "\\[prev512\\] Previous block hash, using SHA-512.", - "type": "string", - "format": "byte" - }, - "rewards": { - "$ref": "#/components/definitions/BlockRewards" - }, - "round": { - "description": "\\[rnd\\] Current round on which this block was appended to the chain.", - "type": "integer" - }, - "seed": { - "description": "\\[seed\\] Sortition seed.", - "type": "string", - "format": "byte" - }, - "state-proof-tracking": { - "description": "Tracks the status of state proofs.", - "type": "array", - "items": { - "$ref": "#/components/definitions/StateProofTracking" - } - }, - "timestamp": { - "description": "\\[ts\\] Block creation timestamp in seconds since eposh", - "type": "integer" - }, - "transactions": { - "description": "\\[txns\\] list of transactions corresponding to a given round.", - "type": "array", - "items": { - "$ref": "#/components/definitions/Transaction" - } - }, - "transactions-root": { - "description": "\\[txn\\] TransactionsRoot authenticates the set of transactions appearing in the block. More specifically, it's the root of a merkle tree whose leaves are the block's Txids, in lexicographic order. For the empty block, it's 0. Note that the TxnRoot does not authenticate the signatures on the transactions, only the transactions themselves. Two blocks with the same transactions but in a different order and with different signatures will have the same TxnRoot.", - "type": "string", - "format": "byte" - }, - "transactions-root-sha256": { - "description": "\\[txn256\\] TransactionsRootSHA256 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA256 hash function instead of the default SHA512_256. This commitment can be used on environments where only the SHA256 function exists.", - "type": "string", - "format": "byte" - }, - "transactions-root-sha512": { - "description": "\\[txn512\\] TransactionsRootSHA512 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA512 hash function instead of the default SHA512_256.", - "type": "string", - "format": "byte" - }, - "txn-counter": { - "description": "\\[tc\\] TxnCounter counts the number of transactions committed in the ledger, from the time at which support for this feature was introduced.\n\nSpecifically, TxnCounter is the number of the next transaction that will be committed after this block. It is 0 when no transactions have ever been committed (since TxnCounter started being supported).", - "type": "integer" - }, - "upgrade-state": { - "$ref": "#/components/definitions/BlockUpgradeState" - }, - "upgrade-vote": { - "$ref": "#/components/definitions/BlockUpgradeVote" - }, - "participation-updates": { - "$ref": "#/components/definitions/ParticipationUpdates" + }, + "created-apps": { + "description": "parameters of applications created by this account including app global data.\n\nNote: the raw account uses `map[int] -\u003e AppParams` for this type.", + "type": "array", + "items": { + "$ref": "#/definitions/Application" } - } - }, - "BlockRewards": { - "description": "Fields relating to rewards,", - "type": "object", - "required": [ - "fee-sink", - "rewards-pool", - "rewards-level", - "rewards-rate", - "rewards-residue", - "rewards-calculation-round" - ], - "properties": { - "fee-sink": { - "description": "\\[fees\\] accepts transaction fees, it can only spend to the incentive pool.", - "type": "string" - }, - "rewards-calculation-round": { - "description": "\\[rwcalr\\] number of leftover MicroAlgos after the distribution of rewards-rate MicroAlgos for every reward unit in the next round.", - "type": "integer" - }, - "rewards-level": { - "description": "\\[earn\\] How many rewards, in MicroAlgos, have been distributed to each RewardUnit of MicroAlgos since genesis.", - "type": "integer" - }, - "rewards-pool": { - "description": "\\[rwd\\] accepts periodic injections from the fee-sink and continually redistributes them as rewards.", - "type": "string" - }, - "rewards-rate": { - "description": "\\[rate\\] Number of new MicroAlgos added to the participation stake from rewards at the next round.", - "type": "integer" - }, - "rewards-residue": { - "description": "\\[frac\\] Number of leftover MicroAlgos after the distribution of RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.", - "type": "integer" + }, + "created-assets": { + "description": "parameters of assets created by this account.\n\nNote: the raw account uses `map[int] -\u003e Asset` for this type.", + "type": "array", + "items": { + "$ref": "#/definitions/Asset" } + }, + "participation": { + "$ref": "#/definitions/AccountParticipation" + }, + "incentive-eligible": { + "description": "can the account receive block incentives if its balance is in range at proposal time.", + "type": "boolean" + }, + "pending-rewards": { + "description": "amount of MicroAlgos of pending rewards in this account.", + "type": "integer" + }, + "reward-base": { + "description": "used as part of the rewards computation. Only applicable to accounts which are participating.", + "type": "integer" + }, + "rewards": { + "description": "total rewards of MicroAlgos the account has received, including pending rewards.", + "type": "integer" + }, + "round": { + "description": "The round for which this information is relevant.", + "type": "integer" + }, + "status": { + "description": "voting status of the account's MicroAlgos\n* Offline - indicates that the associated account is delegated.\n* Online - indicates that the associated account used as part of the delegation pool.\n* NotParticipating - indicates that the associated account is neither a delegator nor a delegate.", + "type": "string" + }, + "sig-type": { + "description": "the type of signature used by this account, must be one of:\n* sig\n* msig\n* lsig\n* or null if unknown", + "type": "string", + "enum": [ + "sig", + "msig", + "lsig" + ] + }, + "total-apps-opted-in": { + "description": "The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.", + "type": "integer" + }, + "total-assets-opted-in": { + "description": "The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.", + "type": "integer" + }, + "total-box-bytes": { + "description": "For app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.", + "type": "integer" + }, + "total-boxes": { + "description": "For app-accounts only. The total number of boxes which belong to the associated application.", + "type": "integer" + }, + "total-created-apps": { + "description": "The count of all apps (AppParams objects) created by this account.", + "type": "integer" + }, + "total-created-assets": { + "description": "The count of all assets (AssetParams objects) created by this account.", + "type": "integer" + }, + "auth-addr": { + "description": "The address against which signing should be checked. If empty, the address of the current account is used. This field can be updated in any transaction by setting the RekeyTo field.", + "type": "string", + "x-algorand-format": "Address" + }, + "last-proposed": { + "description": "The round in which this account last proposed the block.", + "type": "integer" + }, + "last-heartbeat": { + "description": "The round in which this account last went online, or explicitly renewed their online status.", + "type": "integer" + }, + "deleted": { + "description": "Whether or not this account is currently closed.", + "type": "boolean" + }, + "created-at-round": { + "description": "Round during which this account first appeared in a transaction.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "closed-at-round": { + "description": "Round during which this account was most recently closed.", + "type": "integer", + "x-algorand-format": "uint64" } - }, - "BlockUpgradeState": { - "description": "Fields relating to a protocol upgrade.", - "type": "object", - "required": [ - "current-protocol" - ], - "properties": { - "current-protocol": { - "description": "\\[proto\\] The current protocol version.", - "type": "string" - }, - "next-protocol": { - "description": "\\[nextproto\\] The next proposed protocol version.", - "type": "string" - }, - "next-protocol-approvals": { - "description": "\\[nextyes\\] Number of blocks which approved the protocol upgrade.", - "type": "integer" - }, - "next-protocol-switch-on": { - "description": "\\[nextswitch\\] Round on which the protocol upgrade will take effect.", - "type": "integer" - }, - "next-protocol-vote-before": { - "description": "\\[nextbefore\\] Deadline round for this protocol upgrade (No votes will be consider after this round).", - "type": "integer" - } + } + }, + "AccountParticipation": { + "description": "AccountParticipation describes the parameters used by this account in consensus protocol.", + "type": "object", + "required": [ + "vote-participation-key", + "selection-participation-key", + "vote-first-valid", + "vote-last-valid", + "vote-key-dilution" + ], + "properties": { + "selection-participation-key": { + "description": "Selection public key (if any) currently registered for this round.", + "type": "string", + "format": "byte" + }, + "vote-first-valid": { + "description": "First round for which this participation is valid.", + "type": "integer" + }, + "vote-key-dilution": { + "description": "Number of subkeys in each batch of participation keys.", + "type": "integer" + }, + "vote-last-valid": { + "description": "Last round for which this participation is valid.", + "type": "integer" + }, + "vote-participation-key": { + "description": "root participation public key (if any) currently registered for this round.", + "type": "string", + "format": "byte" + }, + "state-proof-key": { + "description": "Root of the state proof key (if any)", + "type": "string", + "format": "byte" } - }, - "BlockUpgradeVote": { - "description": "Fields relating to voting for a protocol upgrade.", - "type": "object", - "properties": { - "upgrade-approve": { - "description": "\\[upgradeyes\\] Indicates a yes vote for the current proposal.", - "type": "boolean" - }, - "upgrade-delay": { - "description": "\\[upgradedelay\\] Indicates the time between acceptance and execution.", - "type": "integer" - }, - "upgrade-propose": { - "description": "\\[upgradeprop\\] Indicates a proposed upgrade.", - "type": "string" - } + } + }, + "ApplicationStateSchema": { + "description": "Specifies maximums on the number of each type that may be stored.", + "type": "object", + "required": [ + "num-uint", + "num-byte-slice" + ], + "properties": { + "num-uint": { + "description": "number of uints.", + "type": "integer" + }, + "num-byte-slice": { + "description": "number of byte slices.", + "type": "integer" } - }, - "Box": { - "description": "Box name and its content.", - "required": [ - "name", - "value", - "round" - ], - "type": "object", - "properties": { - "round": { - "description": "The round for which this information is relevant", - "type": "integer" - }, - "name": { - "description": "\\[name\\] box name, base64 encoded", - "format": "byte", - "type": "string" - }, - "value": { - "description": "\\[value\\] box value, base64 encoded.", - "format": "byte", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", - "type": "string" - } + } + }, + "ApplicationLocalState": { + "description": "Stores local state associated with an application.", + "type": "object", + "required": [ + "id", + "schema" + ], + "properties": { + "id": { + "description": "The application which this local state is for.", + "type": "integer" + }, + "deleted": { + "description": "Whether or not the application local state is currently deleted from its account.", + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round when the account opted into the application.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "closed-out-at-round": { + "description": "Round when account closed out of the application.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "schema": { + "description": "schema.", + "$ref": "#/definitions/ApplicationStateSchema" + }, + "key-value": { + "description": "storage.", + "$ref": "#/definitions/TealKeyValueStore" } - }, - "BoxDescriptor": { - "description": "Box descriptor describes an app box without a value.", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "Base64 encoded box name", - "format": "byte", - "type": "string" - } + } + }, + "TealKeyValueStore": { + "description": "Represents a key-value store for use in an application.", + "type": "array", + "items": { + "$ref": "#/definitions/TealKeyValue" + } + }, + "TealKeyValue": { + "description": "Represents a key-value pair in an application store.", + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/definitions/TealValue" } - }, - "BoxReference": { - "description": "BoxReference names a box by its name and the application ID it belongs to.", - "type": "object", - "required": [ - "app", - "name" - ], - "properties": { - "app": { - "description": "Application ID to which the box belongs, or zero if referring to the called application.", - "type": "integer" - }, - "name": { - "description": "Base64 encoded box name", - "type": "string", - "format": "byte" - } + } + }, + "TealValue": { + "description": "Represents a TEAL value.", + "type": "object", + "required": [ + "type", + "uint", + "bytes" + ], + "properties": { + "type": { + "description": "type of the value. Value `1` refers to **bytes**, value `2` refers to **uint**", + "type": "integer" + }, + "bytes": { + "description": "bytes value.", + "type": "string" + }, + "uint": { + "description": "uint value.", + "type": "integer", + "x-algorand-format": "uint64" } - }, - "HealthCheck": { - "description": "A health check response.", - "type": "object", - "required": [ - "version", - "message", - "round", - "is-migrating", - "db-available" - ], - "properties": { - "version": { - "description": "Current version.", - "type": "string" - }, - "data": { - "type": "object" - }, - "round": { - "type": "integer" - }, - "is-migrating": { - "type": "boolean" - }, - "db-available": { - "type": "boolean" - }, - "message": { - "type": "string" - }, - "errors": { - "type": "array", - "items": { - "type": "string" - } - } + } + }, + "Application": { + "description": "Application index and its parameters", + "type": "object", + "required": [ + "id", + "params" + ], + "properties": { + "id": { + "description": "application index.", + "type": "integer" + }, + "deleted": { + "description": "Whether or not this application is currently deleted.", + "type": "boolean" + }, + "created-at-round": { + "description": "Round when this application was created.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "deleted-at-round": { + "description": "Round when this application was deleted.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "params": { + "description": "application parameters.", + "$ref": "#/definitions/ApplicationParams" } - }, - "HoldingRef": { - "description": "HoldingRef names a holding by referring to an Address and Asset it belongs to.", - "type": "object", - "required": [ - "address", - "asset" - ], - "properties": { - "address": { - "description": "\\[d\\] Address in access list, or the sender of the transaction.", - "type": "string", - "x-algorand-format": "Address" - }, - "asset": { - "description": "\\[s\\] Asset ID for asset in access list.", - "type": "integer" - } + } + }, + "ApplicationParams": { + "description": "Stores the global information associated with an application.", + "type": "object", + "required": [ + "approval-program", + "clear-state-program" + ], + "properties": { + "creator": { + "description": "The address that created this application. This is the address where the parameters and global state for this application can be found.", + "type": "string", + "x-algorand-format": "Address" + }, + "approval-program": { + "description": "approval program.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "clear-state-program": { + "description": "clear state program.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "extra-program-pages": { + "description": "the number of extra program pages available to this app.", + "type": "integer" + }, + "local-state-schema": { + "description": "local schema", + "$ref": "#/definitions/ApplicationStateSchema" + }, + "global-state-schema": { + "description": "global schema", + "$ref": "#/definitions/ApplicationStateSchema" + }, + "global-state": { + "description": "global state", + "$ref": "#/definitions/TealKeyValueStore" + }, + "version": { + "description": "the number of updates to the application programs", + "type": "integer" } - }, - "LocalsRef": { - "description": "LocalsRef names a local state by referring to an Address and App it belongs to.", - "type": "object", - "required": [ - "address", - "app" - ], - "properties": { - "address": { - "description": "\\[d\\] Address in access list, or the sender of the transaction.", + } + }, + "ApplicationLogData": { + "description": "Stores the global information associated with an application.", + "type": "object", + "required": [ + "txid", + "logs" + ], + "properties": { + "txid": { + "description": "Transaction ID", + "type": "string" + }, + "logs": { + "description": "Logs for the application being executed by the transaction.", + "type": "array", + "items": { "type": "string", - "x-algorand-format": "Address" - }, - "app": { - "description": "\\[p\\] Application ID for app in access list, or zero if referring to the called application.", - "type": "integer" - } - } - }, - "MiniAssetHolding": { - "description": "A simplified version of AssetHolding ", - "type": "object", - "required": [ - "address", - "amount", - "is-frozen" - ], - "properties": { - "address": { - "type": "string" - }, - "amount": { - "type": "integer", - "x-algorand-format": "uint64" - }, - "is-frozen": { - "type": "boolean" - }, - "deleted": { - "description": "Whether or not this asset holding is currently deleted from its account.", - "type": "boolean" - }, - "opted-in-at-round": { - "description": "Round during which the account opted into the asset.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "opted-out-at-round": { - "description": "Round during which the account opted out of the asset.", - "type": "integer", - "x-algorand-format": "uint64" + "format": "byte" } } - }, - "OnCompletion": { - "description": "\\[apan\\] defines the what additional actions occur with the transaction.\n\nValid types:\n* noop\n* optin\n* closeout\n* clear\n* update\n* update\n* delete", - "type": "string", - "enum": [ - "noop", - "optin", - "closeout", - "clear", - "update", - "delete" - ] - }, - "ParticipationUpdates": { - "description": "Participation account data that needs to be checked/acted on by the network.", - "type": "object", - "properties": { - "expired-participation-accounts": { - "description": "\\[partupdrmv\\] a list of online accounts that needs to be converted to offline since their participation key expired.", - "type": "array", - "items": { - "type": "string" - } - }, - "absent-participation-accounts": { - "description": "\\[partupabs\\] a list of online accounts that need to be suspended.", - "type": "array", - "items": { - "type": "string" - } - } + } + }, + "Asset": { + "description": "Specifies both the unique identifier and the parameters for an asset", + "type": "object", + "required": [ + "index", + "params" + ], + "properties": { + "index": { + "description": "unique asset identifier", + "type": "integer" + }, + "deleted": { + "description": "Whether or not this asset is currently deleted.", + "type": "boolean" + }, + "created-at-round": { + "description": "Round during which this asset was created.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "destroyed-at-round": { + "description": "Round during which this asset was destroyed.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "params": { + "$ref": "#/definitions/AssetParams" } - }, - "ResourceRef": { - "description": "ResourceRef names a single resource. Only one of the fields should be set.", - "type": "object", - "properties": { - "address": { - "description": "\\[d\\] Account whose balance record is accessible by the executing ApprovalProgram or ClearStateProgram.", - "type": "string", - "x-algorand-format": "Address" - }, - "application-id": { - "description": "\\[p\\] Application id whose GlobalState may be read by the executing\n ApprovalProgram or ClearStateProgram.", - "type": "integer" - }, - "asset-id": { - "description": "\\[s\\] Asset whose AssetParams may be read by the executing\n ApprovalProgram or ClearStateProgram.", - "type": "integer" - }, - "box": { - "$ref": "#/components/definitions/BoxReference" - }, - "holding": { - "$ref": "#/components/definitions/HoldingRef" - }, - "local": { - "$ref": "#/components/definitions/LocalsRef" - } + } + }, + "AssetHolding": { + "description": "Describes an asset held by an account.\n\nDefinition:\ndata/basics/userBalance.go : AssetHolding", + "type": "object", + "required": [ + "asset-id", + "amount", + "is-frozen" + ], + "properties": { + "amount": { + "description": "number of units held.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "asset-id": { + "description": "Asset ID of the holding.", + "type": "integer" + }, + "is-frozen": { + "description": "whether or not the holding is frozen.", + "type": "boolean" + }, + "deleted": { + "description": "Whether or not the asset holding is currently deleted from its account.", + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round during which the account opted into this asset holding.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "opted-out-at-round": { + "description": "Round during which the account opted out of this asset holding.", + "type": "integer", + "x-algorand-format": "uint64" } - }, - "StateDelta": { - "description": "Application state delta.", - "type": "array", - "items": { - "$ref": "#/components/definitions/EvalDeltaKeyValue" + } + }, + "AssetParams": { + "description": "AssetParams specifies the parameters for an asset.\n\n\\[apar\\] when part of an AssetConfig transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetParams", + "type": "object", + "required": [ + "creator", + "total", + "decimals" + ], + "properties": { + "clawback": { + "description": "Address of account used to clawback holdings of this asset. If empty, clawback is not permitted.", + "type": "string" + }, + "creator": { + "description": "The address that created this asset. This is the address where the parameters for this asset can be found, and also the address where unwanted asset units can be sent in the worst case.", + "type": "string" + }, + "decimals": { + "description": "The number of digits to use after the decimal point when displaying this asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in tenths. If 2, the base unit of the asset is in hundredths, and so on. This value must be between 0 and 19 (inclusive).", + "type": "integer", + "maximum": 19, + "minimum": 0 + }, + "default-frozen": { + "description": "Whether holdings of this asset are frozen by default.", + "type": "boolean" + }, + "freeze": { + "description": "Address of account used to freeze holdings of this asset. If empty, freezing is not permitted.", + "type": "string" + }, + "manager": { + "description": "Address of account used to manage the keys of this asset and to destroy it.", + "type": "string" + }, + "metadata-hash": { + "description": "A commitment to some unspecified asset metadata. The format of this metadata is up to the application.", + "type": "string", + "format": "byte" + }, + "name": { + "description": "Name of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.", + "type": "string" + }, + "name-b64": { + "description": "Base64 encoded name of this asset, as supplied by the creator.", + "type": "string", + "format": "byte" + }, + "reserve": { + "description": "Address of account holding reserve (non-minted) units of this asset.", + "type": "string" + }, + "total": { + "description": "The total number of units of this asset.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "unit-name": { + "description": "Name of a unit of this asset, as supplied by the creator. Included only when the name of a unit of this asset is composed of printable utf-8 characters.", + "type": "string" + }, + "unit-name-b64": { + "description": "Base64 encoded name of a unit of this asset, as supplied by the creator.", + "type": "string", + "format": "byte" + }, + "url": { + "description": "URL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.", + "type": "string" + }, + "url-b64": { + "description": "Base64 encoded URL where more information about the asset can be retrieved.", + "type": "string", + "format": "byte" } - }, - "AccountStateDelta": { - "description": "Application state delta.", - "type": "object", - "required": [ - "address", - "delta" - ], - "properties": { - "address": { - "type": "string" - }, - "delta": { - "$ref": "#/components/definitions/StateDelta" + } + }, + "Block": { + "description": "Block information.\n\nDefinition:\ndata/bookkeeping/block.go : Block", + "type": "object", + "required": [ + "round", + "previous-block-hash", + "seed", + "transactions-root", + "transactions-root-sha256", + "timestamp", + "genesis-id", + "genesis-hash" + ], + "properties": { + "proposer": { + "description": "the proposer of this block.", + "type": "string", + "x-algorand-format": "Address" + }, + "fees-collected": { + "description": "the sum of all fees paid by transactions in this block.", + "type": "integer" + }, + "bonus": { + "description": "the potential bonus payout for this block.", + "type": "integer" + }, + "proposer-payout": { + "description": "the actual amount transferred to the proposer from the fee sink.", + "type": "integer" + }, + "genesis-hash": { + "description": "\\[gh\\] hash to which this block belongs.", + "type": "string", + "format": "byte" + }, + "genesis-id": { + "description": "\\[gen\\] ID to which this block belongs.", + "type": "string" + }, + "previous-block-hash": { + "description": "\\[prev\\] Previous block hash.", + "type": "string", + "format": "byte" + }, + "previous-block-hash-512": { + "description": "\\[prev512\\] Previous block hash, using SHA-512.", + "type": "string", + "format": "byte" + }, + "rewards": { + "$ref": "#/definitions/BlockRewards" + }, + "round": { + "description": "\\[rnd\\] Current round on which this block was appended to the chain.", + "type": "integer" + }, + "seed": { + "description": "\\[seed\\] Sortition seed.", + "type": "string", + "format": "byte" + }, + "state-proof-tracking": { + "description": "Tracks the status of state proofs.", + "type": "array", + "items": { + "$ref": "#/definitions/StateProofTracking" + } + }, + "timestamp": { + "description": "\\[ts\\] Block creation timestamp in seconds since eposh", + "type": "integer" + }, + "transactions": { + "description": "\\[txns\\] list of transactions corresponding to a given round.", + "type": "array", + "items": { + "$ref": "#/definitions/Transaction" } + }, + "transactions-root": { + "description": "\\[txn\\] TransactionsRoot authenticates the set of transactions appearing in the block. More specifically, it's the root of a merkle tree whose leaves are the block's Txids, in lexicographic order. For the empty block, it's 0. Note that the TxnRoot does not authenticate the signatures on the transactions, only the transactions themselves. Two blocks with the same transactions but in a different order and with different signatures will have the same TxnRoot.", + "type": "string", + "format": "byte" + }, + "transactions-root-sha256": { + "description": "\\[txn256\\] TransactionsRootSHA256 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA256 hash function instead of the default SHA512_256. This commitment can be used on environments where only the SHA256 function exists.", + "type": "string", + "format": "byte" + }, + "transactions-root-sha512": { + "description": "\\[txn512\\] TransactionsRootSHA512 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA512 hash function instead of the default SHA512_256.", + "type": "string", + "format": "byte" + }, + "txn-counter": { + "description": "\\[tc\\] TxnCounter counts the number of transactions committed in the ledger, from the time at which support for this feature was introduced.\n\nSpecifically, TxnCounter is the number of the next transaction that will be committed after this block. It is 0 when no transactions have ever been committed (since TxnCounter started being supported).", + "type": "integer" + }, + "upgrade-state": { + "$ref": "#/definitions/BlockUpgradeState" + }, + "upgrade-vote": { + "$ref": "#/definitions/BlockUpgradeVote" + }, + "participation-updates": { + "$ref": "#/definitions/ParticipationUpdates" } - }, - "EvalDeltaKeyValue": { - "description": "Key-value pairs for StateDelta.", - "type": "object", - "required": [ - "key", - "value" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "$ref": "#/components/definitions/EvalDelta" - } + } + }, + "BlockRewards": { + "description": "Fields relating to rewards,", + "type": "object", + "required": [ + "fee-sink", + "rewards-pool", + "rewards-level", + "rewards-rate", + "rewards-residue", + "rewards-calculation-round" + ], + "properties": { + "fee-sink": { + "description": "\\[fees\\] accepts transaction fees, it can only spend to the incentive pool.", + "type": "string" + }, + "rewards-calculation-round": { + "description": "\\[rwcalr\\] number of leftover MicroAlgos after the distribution of rewards-rate MicroAlgos for every reward unit in the next round.", + "type": "integer" + }, + "rewards-level": { + "description": "\\[earn\\] How many rewards, in MicroAlgos, have been distributed to each RewardUnit of MicroAlgos since genesis.", + "type": "integer" + }, + "rewards-pool": { + "description": "\\[rwd\\] accepts periodic injections from the fee-sink and continually redistributes them as rewards.", + "type": "string" + }, + "rewards-rate": { + "description": "\\[rate\\] Number of new MicroAlgos added to the participation stake from rewards at the next round.", + "type": "integer" + }, + "rewards-residue": { + "description": "\\[frac\\] Number of leftover MicroAlgos after the distribution of RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.", + "type": "integer" } - }, - "EvalDelta": { - "description": "Represents a TEAL value delta.", - "type": "object", - "required": [ - "action" - ], - "properties": { - "action": { - "description": "\\[at\\] delta action.", - "type": "integer" - }, - "bytes": { - "description": "\\[bs\\] bytes value.", - "type": "string" - }, - "uint": { - "description": "\\[ui\\] uint value.", - "type": "integer", - "x-algorand-format": "uint64" - } + } + }, + "BlockUpgradeState": { + "description": "Fields relating to a protocol upgrade.", + "type": "object", + "required": [ + "current-protocol" + ], + "properties": { + "current-protocol": { + "description": "\\[proto\\] The current protocol version.", + "type": "string" + }, + "next-protocol": { + "description": "\\[nextproto\\] The next proposed protocol version.", + "type": "string" + }, + "next-protocol-approvals": { + "description": "\\[nextyes\\] Number of blocks which approved the protocol upgrade.", + "type": "integer" + }, + "next-protocol-switch-on": { + "description": "\\[nextswitch\\] Round on which the protocol upgrade will take effect.", + "type": "integer" + }, + "next-protocol-vote-before": { + "description": "\\[nextbefore\\] Deadline round for this protocol upgrade (No votes will be consider after this round).", + "type": "integer" } - }, - "StateSchema": { - "description": "Represents a \\[apls\\] local-state or \\[apgs\\] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.", - "type": "object", - "required": [ - "num-uint", - "num-byte-slice" - ], - "properties": { - "num-uint": { - "description": "Maximum number of TEAL uints that may be stored in the key/value store.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "num-byte-slice": { - "description": "Maximum number of TEAL byte slices that may be stored in the key/value store.", - "type": "integer", - "x-algorand-format": "uint64" - } + } + }, + "BlockUpgradeVote": { + "description": "Fields relating to voting for a protocol upgrade.", + "type": "object", + "properties": { + "upgrade-approve": { + "description": "\\[upgradeyes\\] Indicates a yes vote for the current proposal.", + "type": "boolean" + }, + "upgrade-delay": { + "description": "\\[upgradedelay\\] Indicates the time between acceptance and execution.", + "type": "integer" + }, + "upgrade-propose": { + "description": "\\[upgradeprop\\] Indicates a proposed upgrade.", + "type": "string" } - }, - "Transaction": { - "description": "Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.\n\nDefinition:\ndata/transactions/signedtxn.go : SignedTxn\ndata/transactions/transaction.go : Transaction\n", - "type": "object", - "required": [ - "tx-type", - "sender", - "fee", - "first-valid", - "last-valid" - ], - "mutually-exclusive": [ - "application-transaction", - "asset-config-transaction", - "asset-freeze-transaction", - "asset-transfer-transaction", - "keyreg-transaction", - "payment-transaction", - "state-proof-transaction", - "heartbeat-transaction" - ], - "properties": { - "application-transaction": { - "$ref": "#/components/definitions/TransactionApplication" - }, - "asset-config-transaction": { - "$ref": "#/components/definitions/TransactionAssetConfig" - }, - "asset-freeze-transaction": { - "$ref": "#/components/definitions/TransactionAssetFreeze" - }, - "asset-transfer-transaction": { - "$ref": "#/components/definitions/TransactionAssetTransfer" - }, - "state-proof-transaction": { - "$ref": "#/components/definitions/TransactionStateProof" - }, - "heartbeat-transaction": { - "$ref": "#/components/definitions/TransactionHeartbeat" - }, - "auth-addr": { - "description": "\\[sgnr\\] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.", - "type": "string", - "x-algorand-format": "Address" - }, - "close-rewards": { - "description": "\\[rc\\] rewards applied to close-remainder-to account.", - "type": "integer" - }, - "closing-amount": { - "description": "\\[ca\\] closing amount for transaction.", - "type": "integer" - }, - "confirmed-round": { - "description": "Round when the transaction was confirmed.", - "type": "integer" - }, - "created-application-index": { - "description": "Specifies an application index (ID) if an application was created with this transaction.", - "type": "integer" - }, - "created-asset-index": { - "description": "Specifies an asset index (ID) if an asset was created with this transaction.", - "type": "integer" - }, - "fee": { - "description": "\\[fee\\] Transaction fee.", - "type": "integer" - }, - "first-valid": { - "description": "\\[fv\\] First valid round for this transaction.", - "type": "integer" - }, - "genesis-hash": { - "description": "\\[gh\\] Hash of genesis block.", - "type": "string", - "format": "byte" - }, - "genesis-id": { - "description": "\\[gen\\] genesis block ID.", - "type": "string" - }, - "group": { - "description": "\\[grp\\] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.", - "type": "string", - "format": "byte" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "intra-round-offset": { - "description": "Offset into the round where this transaction was confirmed.", - "type": "integer" - }, - "keyreg-transaction": { - "$ref": "#/components/definitions/TransactionKeyreg" - }, - "last-valid": { - "description": "\\[lv\\] Last valid round for this transaction.", - "type": "integer" - }, - "lease": { - "description": "\\[lx\\] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.", - "type": "string", - "format": "byte" - }, - "note": { - "description": "\\[note\\] Free form data.", - "type": "string", - "format": "byte" - }, - "payment-transaction": { - "$ref": "#/components/definitions/TransactionPayment" - }, - "receiver-rewards": { - "description": "\\[rr\\] rewards applied to receiver account.", - "type": "integer" - }, - "rekey-to": { - "description": "\\[rekey\\] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.", - "type": "string", - "x-algorand-format": "Address" - }, - "round-time": { - "description": "Time when the block this transaction is in was confirmed.", - "type": "integer" - }, - "sender": { - "description": "\\[snd\\] Sender's address.", - "type": "string" - }, - "sender-rewards": { - "description": "\\[rs\\] rewards applied to sender account.", - "type": "integer" - }, - "signature": { - "$ref": "#/components/definitions/TransactionSignature" - }, - "tx-type": { - "description": "\\[type\\] Indicates what type of transaction this is. Different types have different fields.\n\nValid types, and where their fields are stored:\n* \\[pay\\] payment-transaction\n* \\[keyreg\\] keyreg-transaction\n* \\[acfg\\] asset-config-transaction\n* \\[axfer\\] asset-transfer-transaction\n* \\[afrz\\] asset-freeze-transaction\n* \\[appl\\] application-transaction\n* \\[stpf\\] state-proof-transaction\n* \\[hb\\] heartbeat-transaction", - "type": "string", - "enum": [ - "pay", - "keyreg", - "acfg", - "axfer", - "afrz", - "appl", - "stpf", - "hb" - ], - "x-algorand-format": "tx-type-enum" - }, - "local-state-delta": { - "description": "\\[ld\\] Local state key/value changes for the application being executed by this transaction.", - "type": "array", - "items": { - "$ref": "#/components/definitions/AccountStateDelta" - } - }, - "global-state-delta": { - "description": "\\[gd\\] Global state key/value changes for the application being executed by this transaction.", - "$ref": "#/components/definitions/StateDelta" - }, - "logs": { - "description": "\\[lg\\] Logs for the application being executed by this transaction.", - "type": "array", - "items": { - "type": "string", - "format": "byte" - } - }, - "inner-txns": { - "description": "Inner transactions produced by application execution.", - "type": "array", - "items": { - "$ref": "#/components/definitions/Transaction" - } - } + } + }, + "Box": { + "description": "Box name and its content.", + "required": [ + "name", + "value", + "round" + ], + "type": "object", + "properties": { + "round": { + "description": "The round for which this information is relevant", + "type": "integer" + }, + "name": { + "description": "\\[name\\] box name, base64 encoded", + "format": "byte", + "type": "string" + }, + "value": { + "description": "\\[value\\] box value, base64 encoded.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" } - }, - "TransactionApplication": { - "description": "Fields for application transactions.\n\nDefinition:\ndata/transactions/application.go : ApplicationCallTxnFields", - "type": "object", - "required": [ - "application-id", - "on-completion" - ], - "properties": { - "application-id": { - "description": "\\[apid\\] ID of the application being configured or empty if creating.", - "type": "integer" - }, - "on-completion": { - "$ref": "#/components/definitions/OnCompletion" - }, - "application-args": { - "description": "\\[apaa\\] transaction specific arguments accessed from the application's approval-program and clear-state-program.", - "type": "array", - "format": "byte", - "items": { - "type": "string" - } - }, - "access": { - "description": "\\[al\\] Access unifies `accounts`, `foreign-apps`, `foreign-assets`, and `box-references` under a single list. If access is non-empty, these lists must be empty. If access is empty, those lists may be non-empty.", - "type": "array", - "items": { - "$ref": "#/components/definitions/ResourceRef" - } - }, - "accounts": { - "description": "\\[apat\\] List of accounts in addition to the sender that may be accessed from the application's approval-program and clear-state-program.", - "type": "array", - "format": "string", - "items": { - "type": "string", - "x-algorand-format": "Address" - } - }, - "box-references": { - "description": "\\[apbx\\] the boxes that can be accessed by this transaction (and others in the same group).", - "type": "array", - "items": { - "$ref": "#/components/definitions/BoxReference" - } - }, - "foreign-apps": { - "description": "\\[apfa\\] Lists the applications in addition to the application-id whose global states may be accessed by this application's approval-program and clear-state-program. The access is read-only.", - "type": "array", - "format": "string", - "items": { - "type": "integer" - } - }, - "foreign-assets": { - "description": "\\[apas\\] lists the assets whose parameters may be accessed by this application's ApprovalProgram and ClearStateProgram. The access is read-only.", - "type": "array", - "format": "string", - "items": { - "type": "integer" - } - }, - "local-state-schema": { - "$ref": "#/components/definitions/StateSchema" - }, - "global-state-schema": { - "$ref": "#/components/definitions/StateSchema" - }, - "approval-program": { - "description": "\\[apap\\] Logic executed for every application transaction, except when on-completion is set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "clear-state-program": { - "description": "\\[apsu\\] Logic executed for application transactions with on-completion set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "extra-program-pages": { - "description": "\\[epp\\] specifies the additional app program len requested in pages.", - "type": "integer" - }, - "reject-version": { - "description": "\\[aprv\\] the lowest application version for which this transaction should immediately fail. 0 indicates that no version check should be performed.", - "type": "integer" - } + } + }, + "BoxDescriptor": { + "description": "Box descriptor describes an app box without a value.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Base64 encoded box name", + "format": "byte", + "type": "string" } - }, - "TransactionAssetConfig": { - "description": "Fields for asset allocation, re-configuration, and destruction.\n\n\nA zero value for asset-id indicates asset creation.\nA zero value for the params indicates asset destruction.\n\nDefinition:\ndata/transactions/asset.go : AssetConfigTxnFields", - "type": "object", - "properties": { - "asset-id": { - "description": "\\[xaid\\] ID of the asset being configured or empty if creating.", - "type": "integer" - }, - "params": { - "$ref": "#/components/definitions/AssetParams" - } + } + }, + "BoxReference": { + "description": "BoxReference names a box by its name and the application ID it belongs to.", + "type": "object", + "required": [ + "app", + "name" + ], + "properties": { + "app": { + "description": "Application ID to which the box belongs, or zero if referring to the called application.", + "type": "integer" + }, + "name": { + "description": "Base64 encoded box name", + "type": "string", + "format": "byte" } - }, - "TransactionAssetFreeze": { - "description": "Fields for an asset freeze transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetFreezeTxnFields", - "type": "object", - "required": [ - "asset-id", - "address", - "new-freeze-status" - ], - "properties": { - "address": { - "description": "\\[fadd\\] Address of the account whose asset is being frozen or thawed.", + } + }, + "HealthCheck": { + "description": "A health check response.", + "type": "object", + "required": [ + "version", + "message", + "round", + "is-migrating", + "db-available" + ], + "properties": { + "version": { + "description": "Current version.", + "type": "string" + }, + "data": { + "type": "object" + }, + "round": { + "type": "integer" + }, + "is-migrating": { + "type": "boolean" + }, + "db-available": { + "type": "boolean" + }, + "message": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { "type": "string" - }, - "asset-id": { - "description": "\\[faid\\] ID of the asset being frozen or thawed.", - "type": "integer" - }, - "new-freeze-status": { - "description": "\\[afrz\\] The new freeze status.", - "type": "boolean" } } - }, - "TransactionStateProof": { - "description": "Fields for a state proof transaction. \n\nDefinition:\ndata/transactions/stateproof.go : StateProofTxnFields", - "type": "object", - "properties": { - "state-proof-type": { - "description": "\\[sptype\\] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go", - "type": "integer", - "x-algorand-format": "uint64" - }, - "state-proof": { - "$ref": "#/components/definitions/StateProofFields" - }, - "message": { - "$ref": "#/components/definitions/IndexerStateProofMessage", - "description": "\\[spmsg\\]" - } + } + }, + "HoldingRef": { + "description": "HoldingRef names a holding by referring to an Address and Asset it belongs to.", + "type": "object", + "required": [ + "address", + "asset" + ], + "properties": { + "address": { + "description": "\\[d\\] Address in access list, or the sender of the transaction.", + "type": "string", + "x-algorand-format": "Address" + }, + "asset": { + "description": "\\[s\\] Asset ID for asset in access list.", + "type": "integer" } - }, - "TransactionHeartbeat": { - "description": "Fields for a heartbeat transaction.\n\nDefinition:\ndata/transactions/heartbeat.go : HeartbeatTxnFields", - "type": "object", - "required": [ - "hb-address", - "hb-proof", - "hb-seed", - "hb-vote-id", - "hb-key-dilution" - ], - "properties": { - "hb-address": { - "description": "\\[hbad\\] HbAddress is the account this txn is proving onlineness for.", - "type": "string" - }, - "hb-proof": { - "$ref": "#/components/definitions/HbProofFields" - }, - "hb-seed": { - "description": "\\[hbsd\\] HbSeed must be the block seed for the this transaction's firstValid block.", - "type": "string", - "format": "byte" - }, - "hb-vote-id": { - "description": "\\[hbvid\\] HbVoteID must match the HbAddress account's current VoteID.", - "type": "string", - "format": "byte" - }, - "hb-key-dilution": { - "description": "\\[hbkd\\] HbKeyDilution must match HbAddress account's current KeyDilution.", - "type": "integer", - "x-algorand-format": "uint64" - } + } + }, + "LocalsRef": { + "description": "LocalsRef names a local state by referring to an Address and App it belongs to.", + "type": "object", + "required": [ + "address", + "app" + ], + "properties": { + "address": { + "description": "\\[d\\] Address in access list, or the sender of the transaction.", + "type": "string", + "x-algorand-format": "Address" + }, + "app": { + "description": "\\[p\\] Application ID for app in access list, or zero if referring to the called application.", + "type": "integer" + } + } + }, + "MiniAssetHolding": { + "description": "A simplified version of AssetHolding ", + "type": "object", + "required": [ + "address", + "amount", + "is-frozen" + ], + "properties": { + "address": { + "type": "string" + }, + "amount": { + "type": "integer", + "x-algorand-format": "uint64" + }, + "is-frozen": { + "type": "boolean" + }, + "deleted": { + "description": "Whether or not this asset holding is currently deleted from its account.", + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round during which the account opted into the asset.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "opted-out-at-round": { + "description": "Round during which the account opted out of the asset.", + "type": "integer", + "x-algorand-format": "uint64" } - }, - "TransactionAssetTransfer": { - "description": "Fields for an asset transfer transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetTransferTxnFields", - "type": "object", - "required": [ - "asset-id", - "amount", - "receiver" - ], - "properties": { - "amount": { - "description": "\\[aamt\\] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account's Assets map.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "asset-id": { - "description": "\\[xaid\\] ID of the asset being transferred.", - "type": "integer" - }, - "close-amount": { - "description": "Number of assets transferred to the close-to account as part of the transaction.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "close-to": { - "description": "\\[aclose\\] Indicates that the asset should be removed from the account's Assets map, and specifies where the remaining asset holdings should be transferred. It's always valid to transfer remaining asset holdings to the creator account.", - "type": "string" - }, - "receiver": { - "description": "\\[arcv\\] Recipient address of the transfer.", + } + }, + "OnCompletion": { + "description": "\\[apan\\] defines the what additional actions occur with the transaction.\n\nValid types:\n* noop\n* optin\n* closeout\n* clear\n* update\n* update\n* delete", + "type": "string", + "enum": [ + "noop", + "optin", + "closeout", + "clear", + "update", + "delete" + ] + }, + "ParticipationUpdates": { + "description": "Participation account data that needs to be checked/acted on by the network.", + "type": "object", + "properties": { + "expired-participation-accounts": { + "description": "\\[partupdrmv\\] a list of online accounts that needs to be converted to offline since their participation key expired.", + "type": "array", + "items": { "type": "string" - }, - "sender": { - "description": "\\[asnd\\] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.", + } + }, + "absent-participation-accounts": { + "description": "\\[partupabs\\] a list of online accounts that need to be suspended.", + "type": "array", + "items": { "type": "string" } } - }, - "TransactionKeyreg": { - "description": "Fields for a keyreg transaction.\n\nDefinition:\ndata/transactions/keyreg.go : KeyregTxnFields", - "type": "object", - "properties": { - "non-participation": { - "description": "\\[nonpart\\] Mark the account as participating or non-participating.", - "type": "boolean" - }, - "selection-participation-key": { - "description": "\\[selkey\\] Public key used with the Verified Random Function (VRF) result during committee selection.", - "type": "string", - "format": "byte" - }, - "vote-first-valid": { - "description": "\\[votefst\\] First round this participation key is valid.", - "type": "integer" - }, - "vote-key-dilution": { - "description": "\\[votekd\\] Number of subkeys in each batch of participation keys.", - "type": "integer" - }, - "vote-last-valid": { - "description": "\\[votelst\\] Last round this participation key is valid.", - "type": "integer" - }, - "vote-participation-key": { - "description": "\\[votekey\\] Participation public key used in key registration transactions.", - "type": "string", - "format": "byte" - }, - "state-proof-key": { - "description": "\\[sprfkey\\] State proof key used in key registration transactions.", + } + }, + "ResourceRef": { + "description": "ResourceRef names a single resource. Only one of the fields should be set.", + "type": "object", + "properties": { + "address": { + "description": "\\[d\\] Account whose balance record is accessible by the executing ApprovalProgram or ClearStateProgram.", + "type": "string", + "x-algorand-format": "Address" + }, + "application-id": { + "description": "\\[p\\] Application id whose GlobalState may be read by the executing\n ApprovalProgram or ClearStateProgram.", + "type": "integer" + }, + "asset-id": { + "description": "\\[s\\] Asset whose AssetParams may be read by the executing\n ApprovalProgram or ClearStateProgram.", + "type": "integer" + }, + "box": { + "$ref": "#/definitions/BoxReference" + }, + "holding": { + "$ref": "#/definitions/HoldingRef" + }, + "local": { + "$ref": "#/definitions/LocalsRef" + } + } + }, + "StateDelta": { + "description": "Application state delta.", + "type": "array", + "items": { + "$ref": "#/definitions/EvalDeltaKeyValue" + } + }, + "AccountStateDelta": { + "description": "Application state delta.", + "type": "object", + "required": [ + "address", + "delta" + ], + "properties": { + "address": { + "type": "string" + }, + "delta": { + "$ref": "#/definitions/StateDelta" + } + } + }, + "EvalDeltaKeyValue": { + "description": "Key-value pairs for StateDelta.", + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/definitions/EvalDelta" + } + } + }, + "EvalDelta": { + "description": "Represents a TEAL value delta.", + "type": "object", + "required": [ + "action" + ], + "properties": { + "action": { + "description": "\\[at\\] delta action.", + "type": "integer" + }, + "bytes": { + "description": "\\[bs\\] bytes value.", + "type": "string" + }, + "uint": { + "description": "\\[ui\\] uint value.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "StateSchema": { + "description": "Represents a \\[apls\\] local-state or \\[apgs\\] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.", + "type": "object", + "required": [ + "num-uint", + "num-byte-slice" + ], + "properties": { + "num-uint": { + "description": "Maximum number of TEAL uints that may be stored in the key/value store.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "num-byte-slice": { + "description": "Maximum number of TEAL byte slices that may be stored in the key/value store.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "Transaction": { + "description": "Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.\n\nDefinition:\ndata/transactions/signedtxn.go : SignedTxn\ndata/transactions/transaction.go : Transaction\n", + "type": "object", + "required": [ + "tx-type", + "sender", + "fee", + "first-valid", + "last-valid" + ], + "mutually-exclusive": [ + "application-transaction", + "asset-config-transaction", + "asset-freeze-transaction", + "asset-transfer-transaction", + "keyreg-transaction", + "payment-transaction", + "state-proof-transaction", + "heartbeat-transaction" + ], + "properties": { + "application-transaction": { + "$ref": "#/definitions/TransactionApplication" + }, + "asset-config-transaction": { + "$ref": "#/definitions/TransactionAssetConfig" + }, + "asset-freeze-transaction": { + "$ref": "#/definitions/TransactionAssetFreeze" + }, + "asset-transfer-transaction": { + "$ref": "#/definitions/TransactionAssetTransfer" + }, + "state-proof-transaction": { + "$ref": "#/definitions/TransactionStateProof" + }, + "heartbeat-transaction": { + "$ref": "#/definitions/TransactionHeartbeat" + }, + "auth-addr": { + "description": "\\[sgnr\\] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.", + "type": "string", + "x-algorand-format": "Address" + }, + "close-rewards": { + "description": "\\[rc\\] rewards applied to close-remainder-to account.", + "type": "integer" + }, + "closing-amount": { + "description": "\\[ca\\] closing amount for transaction.", + "type": "integer" + }, + "confirmed-round": { + "description": "Round when the transaction was confirmed.", + "type": "integer" + }, + "created-application-index": { + "description": "Specifies an application index (ID) if an application was created with this transaction.", + "type": "integer" + }, + "created-asset-index": { + "description": "Specifies an asset index (ID) if an asset was created with this transaction.", + "type": "integer" + }, + "fee": { + "description": "\\[fee\\] Transaction fee.", + "type": "integer" + }, + "first-valid": { + "description": "\\[fv\\] First valid round for this transaction.", + "type": "integer" + }, + "genesis-hash": { + "description": "\\[gh\\] Hash of genesis block.", + "type": "string", + "format": "byte" + }, + "genesis-id": { + "description": "\\[gen\\] genesis block ID.", + "type": "string" + }, + "group": { + "description": "\\[grp\\] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.", + "type": "string", + "format": "byte" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "intra-round-offset": { + "description": "Offset into the round where this transaction was confirmed.", + "type": "integer" + }, + "keyreg-transaction": { + "$ref": "#/definitions/TransactionKeyreg" + }, + "last-valid": { + "description": "\\[lv\\] Last valid round for this transaction.", + "type": "integer" + }, + "lease": { + "description": "\\[lx\\] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.", + "type": "string", + "format": "byte" + }, + "note": { + "description": "\\[note\\] Free form data.", + "type": "string", + "format": "byte" + }, + "payment-transaction": { + "$ref": "#/definitions/TransactionPayment" + }, + "receiver-rewards": { + "description": "\\[rr\\] rewards applied to receiver account.", + "type": "integer" + }, + "rekey-to": { + "description": "\\[rekey\\] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.", + "type": "string", + "x-algorand-format": "Address" + }, + "round-time": { + "description": "Time when the block this transaction is in was confirmed.", + "type": "integer" + }, + "sender": { + "description": "\\[snd\\] Sender's address.", + "type": "string" + }, + "sender-rewards": { + "description": "\\[rs\\] rewards applied to sender account.", + "type": "integer" + }, + "signature": { + "$ref": "#/definitions/TransactionSignature" + }, + "tx-type": { + "description": "\\[type\\] Indicates what type of transaction this is. Different types have different fields.\n\nValid types, and where their fields are stored:\n* \\[pay\\] payment-transaction\n* \\[keyreg\\] keyreg-transaction\n* \\[acfg\\] asset-config-transaction\n* \\[axfer\\] asset-transfer-transaction\n* \\[afrz\\] asset-freeze-transaction\n* \\[appl\\] application-transaction\n* \\[stpf\\] state-proof-transaction\n* \\[hb\\] heartbeat-transaction", + "type": "string", + "enum": [ + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], + "x-algorand-format": "tx-type-enum" + }, + "local-state-delta": { + "description": "\\[ld\\] Local state key/value changes for the application being executed by this transaction.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountStateDelta" + } + }, + "global-state-delta": { + "description": "\\[gd\\] Global state key/value changes for the application being executed by this transaction.", + "$ref": "#/definitions/StateDelta" + }, + "logs": { + "description": "\\[lg\\] Logs for the application being executed by this transaction.", + "type": "array", + "items": { "type": "string", "format": "byte" } + }, + "inner-txns": { + "description": "Inner transactions produced by application execution.", + "type": "array", + "items": { + "$ref": "#/definitions/Transaction" + } } - }, - "TransactionPayment": { - "description": "Fields for a payment transaction.\n\nDefinition:\ndata/transactions/payment.go : PaymentTxnFields", - "type": "object", - "required": [ - "receiver", - "amount" - ], - "properties": { - "amount": { - "description": "\\[amt\\] number of MicroAlgos intended to be transferred.", - "type": "integer" - }, - "close-amount": { - "description": "Number of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.", - "type": "integer" - }, - "close-remainder-to": { - "description": "\\[close\\] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.", - "type": "string" - }, - "receiver": { - "description": "\\[rcv\\] receiver's address.", + } + }, + "TransactionApplication": { + "description": "Fields for application transactions.\n\nDefinition:\ndata/transactions/application.go : ApplicationCallTxnFields", + "type": "object", + "required": [ + "application-id", + "on-completion" + ], + "properties": { + "application-id": { + "description": "\\[apid\\] ID of the application being configured or empty if creating.", + "type": "integer" + }, + "on-completion": { + "$ref": "#/definitions/OnCompletion" + }, + "application-args": { + "description": "\\[apaa\\] transaction specific arguments accessed from the application's approval-program and clear-state-program.", + "type": "array", + "format": "byte", + "items": { "type": "string" } - } - }, - "TransactionSignature": { - "description": "Validation signature associated with some data. Only one of the signatures should be provided.", - "type": "object", - "mutually-exclusive": [ - "sig", - "multisig", - "logicsig" - ], - "properties": { - "logicsig": { - "$ref": "#/components/definitions/TransactionSignatureLogicsig" - }, - "multisig": { - "$ref": "#/components/definitions/TransactionSignatureMultisig" - }, - "sig": { - "description": "\\[sig\\] Standard ed25519 signature.", - "type": "string", - "format": "byte" + }, + "access": { + "description": "\\[al\\] Access unifies `accounts`, `foreign-apps`, `foreign-assets`, and `box-references` under a single list. If access is non-empty, these lists must be empty. If access is empty, those lists may be non-empty.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRef" } - } - }, - "TransactionSignatureLogicsig": { - "description": "\\[lsig\\] Programatic transaction signature.\n\nDefinition:\ndata/transactions/logicsig.go", - "type": "object", - "required": [ - "logic" - ], - "properties": { - "args": { - "description": "\\[arg\\] Logic arguments, base64 encoded.", - "type": "array", - "format": "byte", - "items": { - "type": "string" - } - }, - "logic": { - "description": "\\[l\\] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.", - "type": "string", - "format": "byte" - }, - "multisig-signature": { - "$ref": "#/components/definitions/TransactionSignatureMultisig" - }, - "logic-multisig-signature": { - "$ref": "#/components/definitions/TransactionSignatureMultisig" - }, - "signature": { - "description": "\\[sig\\] ed25519 signature.", + }, + "accounts": { + "description": "\\[apat\\] List of accounts in addition to the sender that may be accessed from the application's approval-program and clear-state-program.", + "type": "array", + "format": "string", + "items": { "type": "string", - "format": "byte" + "x-algorand-format": "Address" } - } - }, - "TransactionSignatureMultisig": { - "description": "structure holding multiple subsignatures.\n\nDefinition:\ncrypto/multisig.go : MultisigSig", - "type": "object", - "properties": { - "subsignature": { - "description": "\\[subsig\\] holds pairs of public key and signatures.", - "type": "array", - "items": { - "$ref": "#/components/definitions/TransactionSignatureMultisigSubsignature" - } - }, - "threshold": { - "description": "\\[thr\\]", + }, + "box-references": { + "description": "\\[apbx\\] the boxes that can be accessed by this transaction (and others in the same group).", + "type": "array", + "items": { + "$ref": "#/definitions/BoxReference" + } + }, + "foreign-apps": { + "description": "\\[apfa\\] Lists the applications in addition to the application-id whose global states may be accessed by this application's approval-program and clear-state-program. The access is read-only.", + "type": "array", + "format": "string", + "items": { "type": "integer" - }, - "version": { - "description": "\\[v\\]", + } + }, + "foreign-assets": { + "description": "\\[apas\\] lists the assets whose parameters may be accessed by this application's ApprovalProgram and ClearStateProgram. The access is read-only.", + "type": "array", + "format": "string", + "items": { "type": "integer" } + }, + "local-state-schema": { + "$ref": "#/definitions/StateSchema" + }, + "global-state-schema": { + "$ref": "#/definitions/StateSchema" + }, + "approval-program": { + "description": "\\[apap\\] Logic executed for every application transaction, except when on-completion is set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "clear-state-program": { + "description": "\\[apsu\\] Logic executed for application transactions with on-completion set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.", + "type": "string", + "format": "byte", + "x-algorand-format": "TEALProgram" + }, + "extra-program-pages": { + "description": "\\[epp\\] specifies the additional app program len requested in pages.", + "type": "integer" + }, + "reject-version": { + "description": "\\[aprv\\] the lowest application version for which this transaction should immediately fail. 0 indicates that no version check should be performed.", + "type": "integer" } - }, - "TransactionSignatureMultisigSubsignature": { - "type": "object", - "properties": { - "public-key": { - "description": "\\[pk\\]", - "type": "string", - "format": "byte" - }, - "signature": { - "description": "\\[s\\]", - "type": "string", - "format": "byte" - } + } + }, + "TransactionAssetConfig": { + "description": "Fields for asset allocation, re-configuration, and destruction.\n\n\nA zero value for asset-id indicates asset creation.\nA zero value for the params indicates asset destruction.\n\nDefinition:\ndata/transactions/asset.go : AssetConfigTxnFields", + "type": "object", + "properties": { + "asset-id": { + "description": "\\[xaid\\] ID of the asset being configured or empty if creating.", + "type": "integer" + }, + "params": { + "$ref": "#/definitions/AssetParams" } - }, - "StateProofFields": { - "description": "\\[sp\\] represents a state proof.\n\nDefinition:\ncrypto/stateproof/structs.go : StateProof", - "type": "object", - "properties": { - "sig-commit": { - "description": "\\[c\\]", - "type": "string", - "format": "byte" - }, - "signed-weight": { - "description": "\\[w\\]", - "type": "integer", - "x-algorand-format": "uint64" - }, - "sig-proofs": { - "description": "\\[S\\]", - "$ref": "#/components/definitions/MerkleArrayProof" - }, - "part-proofs": { - "description": "\\[P\\]", - "$ref": "#/components/definitions/MerkleArrayProof" - }, - "salt-version": { - "description": "\\[v\\] Salt version of the merkle signature.", - "type": "integer" - }, - "reveals": { - "type": "array", - "description": "\\[r\\] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp", - "items": { - "$ref": "#/components/definitions/StateProofReveal" - } - }, - "positions-to-reveal": { - "description": "\\[pr\\] Sequence of reveal positions.", - "type": "array", - "items": { - "type": "integer", - "x-algorand-format": "uint64" - } - } + } + }, + "TransactionAssetFreeze": { + "description": "Fields for an asset freeze transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetFreezeTxnFields", + "type": "object", + "required": [ + "asset-id", + "address", + "new-freeze-status" + ], + "properties": { + "address": { + "description": "\\[fadd\\] Address of the account whose asset is being frozen or thawed.", + "type": "string" + }, + "asset-id": { + "description": "\\[faid\\] ID of the asset being frozen or thawed.", + "type": "integer" + }, + "new-freeze-status": { + "description": "\\[afrz\\] The new freeze status.", + "type": "boolean" + } + } + }, + "TransactionStateProof": { + "description": "Fields for a state proof transaction. \n\nDefinition:\ndata/transactions/stateproof.go : StateProofTxnFields", + "type": "object", + "properties": { + "state-proof-type": { + "description": "\\[sptype\\] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go", + "type": "integer", + "x-algorand-format": "uint64" + }, + "state-proof": { + "$ref": "#/definitions/StateProofFields" + }, + "message": { + "$ref": "#/definitions/IndexerStateProofMessage", + "description": "\\[spmsg\\]" + } + } + }, + "TransactionHeartbeat": { + "description": "Fields for a heartbeat transaction.\n\nDefinition:\ndata/transactions/heartbeat.go : HeartbeatTxnFields", + "type": "object", + "required": [ + "hb-address", + "hb-proof", + "hb-seed", + "hb-vote-id", + "hb-key-dilution" + ], + "properties": { + "hb-address": { + "description": "\\[hbad\\] HbAddress is the account this txn is proving onlineness for.", + "type": "string" + }, + "hb-proof": { + "$ref": "#/definitions/HbProofFields" + }, + "hb-seed": { + "description": "\\[hbsd\\] HbSeed must be the block seed for the this transaction's firstValid block.", + "type": "string", + "format": "byte" + }, + "hb-vote-id": { + "description": "\\[hbvid\\] HbVoteID must match the HbAddress account's current VoteID.", + "type": "string", + "format": "byte" + }, + "hb-key-dilution": { + "description": "\\[hbkd\\] HbKeyDilution must match HbAddress account's current KeyDilution.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "TransactionAssetTransfer": { + "description": "Fields for an asset transfer transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetTransferTxnFields", + "type": "object", + "required": [ + "asset-id", + "amount", + "receiver" + ], + "properties": { + "amount": { + "description": "\\[aamt\\] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account's Assets map.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "asset-id": { + "description": "\\[xaid\\] ID of the asset being transferred.", + "type": "integer" + }, + "close-amount": { + "description": "Number of assets transferred to the close-to account as part of the transaction.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "close-to": { + "description": "\\[aclose\\] Indicates that the asset should be removed from the account's Assets map, and specifies where the remaining asset holdings should be transferred. It's always valid to transfer remaining asset holdings to the creator account.", + "type": "string" + }, + "receiver": { + "description": "\\[arcv\\] Recipient address of the transfer.", + "type": "string" + }, + "sender": { + "description": "\\[asnd\\] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.", + "type": "string" + } + } + }, + "TransactionKeyreg": { + "description": "Fields for a keyreg transaction.\n\nDefinition:\ndata/transactions/keyreg.go : KeyregTxnFields", + "type": "object", + "properties": { + "non-participation": { + "description": "\\[nonpart\\] Mark the account as participating or non-participating.", + "type": "boolean" + }, + "selection-participation-key": { + "description": "\\[selkey\\] Public key used with the Verified Random Function (VRF) result during committee selection.", + "type": "string", + "format": "byte" + }, + "vote-first-valid": { + "description": "\\[votefst\\] First round this participation key is valid.", + "type": "integer" + }, + "vote-key-dilution": { + "description": "\\[votekd\\] Number of subkeys in each batch of participation keys.", + "type": "integer" + }, + "vote-last-valid": { + "description": "\\[votelst\\] Last round this participation key is valid.", + "type": "integer" + }, + "vote-participation-key": { + "description": "\\[votekey\\] Participation public key used in key registration transactions.", + "type": "string", + "format": "byte" + }, + "state-proof-key": { + "description": "\\[sprfkey\\] State proof key used in key registration transactions.", + "type": "string", + "format": "byte" + } + } + }, + "TransactionPayment": { + "description": "Fields for a payment transaction.\n\nDefinition:\ndata/transactions/payment.go : PaymentTxnFields", + "type": "object", + "required": [ + "receiver", + "amount" + ], + "properties": { + "amount": { + "description": "\\[amt\\] number of MicroAlgos intended to be transferred.", + "type": "integer" + }, + "close-amount": { + "description": "Number of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.", + "type": "integer" + }, + "close-remainder-to": { + "description": "\\[close\\] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.", + "type": "string" + }, + "receiver": { + "description": "\\[rcv\\] receiver's address.", + "type": "string" } - }, - "HbProofFields": { - "description": "\\[hbprf\\] HbProof is a signature using HeartbeatAddress's partkey, thereby showing it is online.", - "type": "object", - "properties": { - "hb-sig": { - "description": "\\[s\\] Signature of the heartbeat message.", - "type": "string", - "format": "byte" - }, - "hb-pk": { - "description": "\\[p\\] Public key of the heartbeat message.", - "type": "string", - "format": "byte" - }, - "hb-pk2": { - "description": "\\[p2\\] Key for new-style two-level ephemeral signature.", - "type": "string", - "format": "byte" - }, - "hb-pk1sig": { - "description": "\\[p1s\\] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.", - "type": "string", - "format": "byte" - }, - "hb-pk2sig": { - "description": "\\[p2s\\] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).", - "type": "string", - "format": "byte" - } + } + }, + "TransactionSignature": { + "description": "Validation signature associated with some data. Only one of the signatures should be provided.", + "type": "object", + "mutually-exclusive": [ + "sig", + "multisig", + "logicsig" + ], + "properties": { + "logicsig": { + "$ref": "#/definitions/TransactionSignatureLogicsig" + }, + "multisig": { + "$ref": "#/definitions/TransactionSignatureMultisig" + }, + "sig": { + "description": "\\[sig\\] Standard ed25519 signature.", + "type": "string", + "format": "byte" } - }, - "IndexerStateProofMessage": { - "type": "object", - "properties": { - "block-headers-commitment": { - "description": "\\[b\\]", - "type": "string", - "format": "byte" - }, - "voters-commitment": { - "description": "\\[v\\]", - "type": "string", - "format": "byte" - }, - "ln-proven-weight": { - "description": "\\[P\\]", - "type": "integer", - "x-algorand-format": "uint64" - }, - "first-attested-round": { - "description": "\\[f\\]", - "type": "integer", - "x-algorand-format": "uint64" - }, - "latest-attested-round": { - "description": "\\[l\\]", - "type": "integer", - "x-algorand-format": "uint64" + } + }, + "TransactionSignatureLogicsig": { + "description": "\\[lsig\\] Programatic transaction signature.\n\nDefinition:\ndata/transactions/logicsig.go", + "type": "object", + "required": [ + "logic" + ], + "properties": { + "args": { + "description": "\\[arg\\] Logic arguments, base64 encoded.", + "type": "array", + "format": "byte", + "items": { + "type": "string" } + }, + "logic": { + "description": "\\[l\\] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.", + "type": "string", + "format": "byte" + }, + "multisig-signature": { + "$ref": "#/definitions/TransactionSignatureMultisig" + }, + "logic-multisig-signature": { + "$ref": "#/definitions/TransactionSignatureMultisig" + }, + "signature": { + "description": "\\[sig\\] ed25519 signature.", + "type": "string", + "format": "byte" } - }, - "StateProofReveal": { - "type": "object", - "properties": { - "position": { - "description": "The position in the signature and participants arrays corresponding to this entry.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "sig-slot": { - "description": "\\[s\\]", - "$ref": "#/components/definitions/StateProofSigSlot" - }, - "participant": { - "description": "\\[p\\]", - "$ref": "#/components/definitions/StateProofParticipant" + } + }, + "TransactionSignatureMultisig": { + "description": "structure holding multiple subsignatures.\n\nDefinition:\ncrypto/multisig.go : MultisigSig", + "type": "object", + "properties": { + "subsignature": { + "description": "\\[subsig\\] holds pairs of public key and signatures.", + "type": "array", + "items": { + "$ref": "#/definitions/TransactionSignatureMultisigSubsignature" } + }, + "threshold": { + "description": "\\[thr\\]", + "type": "integer" + }, + "version": { + "description": "\\[v\\]", + "type": "integer" } - }, - "StateProofSigSlot": { - "type": "object", - "properties": { - "signature": { - "description": "", - "$ref": "#/components/definitions/StateProofSignature" - }, - "lower-sig-weight": { - "description": "\\[l\\] The total weight of signatures in the lower-numbered slots.", - "type": "integer", - "x-algorand-format": "uint64" - } + } + }, + "TransactionSignatureMultisigSubsignature": { + "type": "object", + "properties": { + "public-key": { + "description": "\\[pk\\]", + "type": "string", + "format": "byte" + }, + "signature": { + "description": "\\[s\\]", + "type": "string", + "format": "byte" } - }, - "StateProofSignature": { - "type": "object", - "properties": { - "falcon-signature": { - "type": "string", - "format": "byte" - }, - "merkle-array-index": { - "type": "integer", - "x-algorand-foramt": "uint64" - }, - "proof": { - "$ref": "#/components/definitions/MerkleArrayProof" - }, - "verifying-key": { - "description": "\\[vkey\\]", - "type": "string", - "format": "byte" + } + }, + "StateProofFields": { + "description": "\\[sp\\] represents a state proof.\n\nDefinition:\ncrypto/stateproof/structs.go : StateProof", + "type": "object", + "properties": { + "sig-commit": { + "description": "\\[c\\]", + "type": "string", + "format": "byte" + }, + "signed-weight": { + "description": "\\[w\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "sig-proofs": { + "description": "\\[S\\]", + "$ref": "#/definitions/MerkleArrayProof" + }, + "part-proofs": { + "description": "\\[P\\]", + "$ref": "#/definitions/MerkleArrayProof" + }, + "salt-version": { + "description": "\\[v\\] Salt version of the merkle signature.", + "type": "integer" + }, + "reveals": { + "type": "array", + "description": "\\[r\\] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp", + "items": { + "$ref": "#/definitions/StateProofReveal" } - } - }, - "StateProofParticipant": { - "type": "object", - "properties": { - "verifier": { - "description": "\\[p\\]", - "$ref": "#/components/definitions/StateProofVerifier" - }, - "weight": { - "description": "\\[w\\]", + }, + "positions-to-reveal": { + "description": "\\[pr\\] Sequence of reveal positions.", + "type": "array", + "items": { "type": "integer", "x-algorand-format": "uint64" } } - }, - "StateProofVerifier": { - "type": "object", - "properties": { - "commitment": { - "description": "\\[cmt\\] Represents the root of the vector commitment tree.", - "type": "string", - "format": "byte" - }, - "key-lifetime": { - "description": "\\[lf\\] Key lifetime.", - "type": "integer", - "x-algorand-format": "uint64" - } + } + }, + "HbProofFields": { + "description": "\\[hbprf\\] HbProof is a signature using HeartbeatAddress's partkey, thereby showing it is online.", + "type": "object", + "properties": { + "hb-sig": { + "description": "\\[s\\] Signature of the heartbeat message.", + "type": "string", + "format": "byte" + }, + "hb-pk": { + "description": "\\[p\\] Public key of the heartbeat message.", + "type": "string", + "format": "byte" + }, + "hb-pk2": { + "description": "\\[p2\\] Key for new-style two-level ephemeral signature.", + "type": "string", + "format": "byte" + }, + "hb-pk1sig": { + "description": "\\[p1s\\] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.", + "type": "string", + "format": "byte" + }, + "hb-pk2sig": { + "description": "\\[p2s\\] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).", + "type": "string", + "format": "byte" } - }, - "StateProofTracking": { - "type": "object", - "properties": { - "type": { - "description": "State Proof Type. Note the raw object uses map with this as key.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "voters-commitment": { - "description": "\\[v\\] Root of a vector commitment containing online accounts that will help sign the proof.", - "type": "string", - "format": "byte" - }, - "online-total-weight": { - "description": "\\[t\\] The total number of microalgos held by the online accounts during the StateProof round.", - "type": "integer" - }, - "next-round": { - "description": "\\[n\\] Next round for which we will accept a state proof transaction.", - "type": "integer" - } + } + }, + "IndexerStateProofMessage": { + "type": "object", + "properties": { + "block-headers-commitment": { + "description": "\\[b\\]", + "type": "string", + "format": "byte" + }, + "voters-commitment": { + "description": "\\[v\\]", + "type": "string", + "format": "byte" + }, + "ln-proven-weight": { + "description": "\\[P\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "first-attested-round": { + "description": "\\[f\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "latest-attested-round": { + "description": "\\[l\\]", + "type": "integer", + "x-algorand-format": "uint64" } - }, - "MerkleArrayProof": { - "type": "object", - "properties": { - "path": { - "description": "\\[pth\\]", - "type": "array", - "items": { - "type": "string", - "format": "byte" - } - }, - "hash-factory": { - "$ref": "#/components/definitions/HashFactory" - }, - "tree-depth": { - "description": "\\[td\\]", - "type": "integer", - "x-algorand-format": "uint8" - } + } + }, + "StateProofReveal": { + "type": "object", + "properties": { + "position": { + "description": "The position in the signature and participants arrays corresponding to this entry.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "sig-slot": { + "description": "\\[s\\]", + "$ref": "#/definitions/StateProofSigSlot" + }, + "participant": { + "description": "\\[p\\]", + "$ref": "#/definitions/StateProofParticipant" } - }, - "HashFactory": { - "type": "object", - "properties": { - "hash-type": { - "description": "\\[t\\]", - "type": "integer", - "x-algorand-format": "uint16" - } + } + }, + "StateProofSigSlot": { + "type": "object", + "properties": { + "signature": { + "description": "", + "$ref": "#/definitions/StateProofSignature" + }, + "lower-sig-weight": { + "description": "\\[l\\] The total weight of signatures in the lower-numbered slots.", + "type": "integer", + "x-algorand-format": "uint64" } } }, - "parameters": { - "proposers": { - "type": "array", - "items": { + "StateProofSignature": { + "type": "object", + "properties": { + "falcon-signature": { "type": "string", - "x-algorand-format": "Address" + "format": "byte" }, - "description": "Accounts marked as proposer in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "name": "proposers", - "in": "query", - "required": false - }, - "absent": { - "type": "array", - "items": { + "merkle-array-index": { + "type": "integer", + "x-algorand-foramt": "uint64" + }, + "proof": { + "$ref": "#/definitions/MerkleArrayProof" + }, + "verifying-key": { + "description": "\\[vkey\\]", "type": "string", - "x-algorand-format": "Address" + "format": "byte" + } + } + }, + "StateProofParticipant": { + "type": "object", + "properties": { + "verifier": { + "description": "\\[p\\]", + "$ref": "#/definitions/StateProofVerifier" }, - "description": "Accounts marked as absent in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "name": "absent", - "in": "query", - "required": false - }, - "expired": { - "type": "array", - "items": { + "weight": { + "description": "\\[w\\]", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "StateProofVerifier": { + "type": "object", + "properties": { + "commitment": { + "description": "\\[cmt\\] Represents the root of the vector commitment tree.", "type": "string", - "x-algorand-format": "Address" + "format": "byte" }, - "description": "Accounts marked as expired in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "name": "expired", - "in": "query", - "required": false - }, - "account-id": { - "type": "string", - "description": "account string", - "name": "account-id", - "in": "path", - "required": true - }, - "address": { - "type": "string", - "x-algorand-format": "Address", - "description": "Only include transactions with this address in one of the transaction fields.", - "name": "address", - "in": "query" - }, - "address-role": { - "enum": [ - "sender", - "receiver", - "freeze-target" - ], - "type": "string", - "description": "Combine with the address parameter to define what type of address to search for.", - "name": "address-role", - "in": "query" - }, - "after-time": { - "type": "string", - "format": "date-time", - "x-algorand-format": "RFC3339 String", - "description": "Include results after the given time. Must be an RFC 3339 formatted string.", - "name": "after-time", - "in": "query" - }, - "application-id": { - "type": "integer", - "description": "Application ID", - "name": "application-id", - "in": "query" - }, - "asset-id": { - "type": "integer", - "description": "Asset ID", - "name": "asset-id", - "in": "query" - }, - "before-time": { - "type": "string", - "format": "date-time", - "x-algorand-format": "RFC3339 String", - "description": "Include results before the given time. Must be an RFC 3339 formatted string.", - "name": "before-time", - "in": "query" - }, - "box-name": { - "description": "A box name in goal-arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", - "type": "string", - "name": "name", - "in": "query", - "required": true - }, - "currency-greater-than": { - "type": "integer", - "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", - "name": "currency-greater-than", - "in": "query" - }, - "currency-less-than": { - "type": "integer", - "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", - "name": "currency-less-than", - "in": "query" - }, - "exclude-close-to": { - "type": "boolean", - "description": "Combine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.", - "name": "exclude-close-to", - "in": "query" - }, - "header-only": { - "type": "boolean", - "description": "Header only flag. When this is set to true, returned block does not contain the transactions", - "name": "header-only", - "in": "query" - }, - "include-all": { - "type": "boolean", - "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", - "name": "include-all", - "in": "query" - }, - "exclude": { - "description": "Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.", - "name": "exclude", - "in": "query", - "type": "array", - "items": { + "key-lifetime": { + "description": "\\[lf\\] Key lifetime.", + "type": "integer", + "x-algorand-format": "uint64" + } + } + }, + "StateProofTracking": { + "type": "object", + "properties": { + "type": { + "description": "State Proof Type. Note the raw object uses map with this as key.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "voters-commitment": { + "description": "\\[v\\] Root of a vector commitment containing online accounts that will help sign the proof.", "type": "string", - "enum": [ - "all", - "assets", - "created-assets", - "apps-local-state", - "created-apps", - "none" - ] + "format": "byte" + }, + "online-total-weight": { + "description": "\\[t\\] The total number of microalgos held by the online accounts during the StateProof round.", + "type": "integer" + }, + "next-round": { + "description": "\\[n\\] Next round for which we will accept a state proof transaction.", + "type": "integer" } - }, - "limit": { - "type": "integer", - "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", - "name": "limit", - "in": "query" - }, - "max-round": { - "type": "integer", - "description": "Include results at or before the specified max-round.", - "name": "max-round", - "in": "query" - }, - "min-round": { - "type": "integer", - "description": "Include results at or after the specified min-round.", - "name": "min-round", - "in": "query" - }, - "next": { - "type": "string", - "description": "The next page of results. Use the next token provided by the previous results.", - "name": "next", - "in": "query" - }, - "note-prefix": { - "type": "string", - "description": "Specifies a prefix which must be contained in the note field.", - "name": "note-prefix", - "in": "query", - "x-algorand-format": "base64" - }, - "online-only": { - "type": "boolean", - "description": "When this is set to true, return only accounts whose participation status is currently online.", - "name": "online-only", - "in": "query" - }, - "rekey-to": { - "type": "boolean", - "description": "Include results which include the rekey-to field.", - "name": "rekey-to", - "in": "query" - }, - "round": { - "type": "integer", - "description": "Include results for the specified round.", - "name": "round", - "in": "query" - }, - "round-number": { - "type": "integer", - "description": "Round number", - "name": "round-number", - "in": "path", - "required": true - }, - "sender-address": { - "type": "string", - "x-algorand-format": "Address", - "description": "Only include transactions with this sender address.", - "name": "sender-address", - "in": "query" - }, - "sig-type": { - "enum": [ - "sig", - "msig", - "lsig" - ], - "type": "string", - "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", - "name": "sig-type", - "in": "query" - }, - "auth-addr": { + } + }, + "MerkleArrayProof": { + "type": "object", + "properties": { + "path": { + "description": "\\[pth\\]", + "type": "array", + "items": { + "type": "string", + "format": "byte" + } + }, + "hash-factory": { + "$ref": "#/definitions/HashFactory" + }, + "tree-depth": { + "description": "\\[td\\]", + "type": "integer", + "x-algorand-format": "uint8" + } + } + }, + "HashFactory": { + "type": "object", + "properties": { + "hash-type": { + "description": "\\[t\\]", + "type": "integer", + "x-algorand-format": "uint16" + } + } + } + }, + "parameters": { + "proposers": { + "type": "array", + "items": { "type": "string", - "description": "Include accounts configured to use this spending key.", - "name": "auth-addr", - "in": "query", "x-algorand-format": "Address" }, - "group-id": { + "description": "Accounts marked as proposer in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "name": "proposers", + "in": "query", + "required": false + }, + "absent": { + "type": "array", + "items": { "type": "string", - "description": "Lookup transactions by group ID. This field must be base64-encoded, and afterwards, base64 characters that are URL-unsafe (i.e. =, /, +) must be URL-encoded", - "name": "group-id", - "in": "query", - "x-algorand-format": "base64" + "x-algorand-format": "Address" }, - "txid": { + "description": "Accounts marked as absent in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "name": "absent", + "in": "query", + "required": false + }, + "expired": { + "type": "array", + "items": { "type": "string", - "description": "Lookup the specific transaction by ID.", - "name": "txid", - "in": "query" + "x-algorand-format": "Address" }, - "tx-type": { - "enum": [ - "pay", - "keyreg", - "acfg", - "axfer", - "afrz", - "appl", - "stpf", - "hb" - ], + "description": "Accounts marked as expired in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "name": "expired", + "in": "query", + "required": false + }, + "account-id": { + "type": "string", + "description": "account string", + "name": "account-id", + "in": "path", + "required": true + }, + "address": { + "type": "string", + "x-algorand-format": "Address", + "description": "Only include transactions with this address in one of the transaction fields.", + "name": "address", + "in": "query" + }, + "address-role": { + "enum": [ + "sender", + "receiver", + "freeze-target" + ], + "type": "string", + "description": "Combine with the address parameter to define what type of address to search for.", + "name": "address-role", + "in": "query" + }, + "after-time": { + "type": "string", + "format": "date-time", + "x-algorand-format": "RFC3339 String", + "description": "Include results after the given time. Must be an RFC 3339 formatted string.", + "name": "after-time", + "in": "query" + }, + "application-id": { + "type": "integer", + "description": "Application ID", + "name": "application-id", + "in": "query" + }, + "asset-id": { + "type": "integer", + "description": "Asset ID", + "name": "asset-id", + "in": "query" + }, + "before-time": { + "type": "string", + "format": "date-time", + "x-algorand-format": "RFC3339 String", + "description": "Include results before the given time. Must be an RFC 3339 formatted string.", + "name": "before-time", + "in": "query" + }, + "box-name": { + "description": "A box name in goal-arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", + "type": "string", + "name": "name", + "in": "query", + "required": true + }, + "currency-greater-than": { + "type": "integer", + "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "name": "currency-greater-than", + "in": "query" + }, + "currency-less-than": { + "type": "integer", + "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "name": "currency-less-than", + "in": "query" + }, + "exclude-close-to": { + "type": "boolean", + "description": "Combine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.", + "name": "exclude-close-to", + "in": "query" + }, + "header-only": { + "type": "boolean", + "description": "Header only flag. When this is set to true, returned block does not contain the transactions", + "name": "header-only", + "in": "query" + }, + "include-all": { + "type": "boolean", + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "name": "include-all", + "in": "query" + }, + "exclude": { + "description": "Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.", + "name": "exclude", + "in": "query", + "type": "array", + "items": { "type": "string", - "name": "tx-type", - "in": "query" + "enum": [ + "all", + "assets", + "created-assets", + "apps-local-state", + "created-apps", + "none" + ] } }, - "responses": { - "AccountResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "account" - ], - "properties": { - "account": { - "$ref": "#/components/definitions/Account" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - } + "limit": { + "type": "integer", + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "name": "limit", + "in": "query" + }, + "max-round": { + "type": "integer", + "description": "Include results at or before the specified max-round.", + "name": "max-round", + "in": "query" + }, + "min-round": { + "type": "integer", + "description": "Include results at or after the specified min-round.", + "name": "min-round", + "in": "query" + }, + "next": { + "type": "string", + "description": "The next page of results. Use the next token provided by the previous results.", + "name": "next", + "in": "query" + }, + "note-prefix": { + "type": "string", + "description": "Specifies a prefix which must be contained in the note field.", + "name": "note-prefix", + "in": "query", + "x-algorand-format": "base64" + }, + "online-only": { + "type": "boolean", + "description": "When this is set to true, return only accounts whose participation status is currently online.", + "name": "online-only", + "in": "query" + }, + "rekey-to": { + "type": "boolean", + "description": "Include results which include the rekey-to field.", + "name": "rekey-to", + "in": "query" + }, + "round": { + "type": "integer", + "description": "Include results for the specified round.", + "name": "round", + "in": "query" + }, + "round-number": { + "type": "integer", + "description": "Round number", + "name": "round-number", + "in": "path", + "required": true + }, + "sender-address": { + "type": "string", + "x-algorand-format": "Address", + "description": "Only include transactions with this sender address.", + "name": "sender-address", + "in": "query" + }, + "sig-type": { + "enum": [ + "sig", + "msig", + "lsig" + ], + "type": "string", + "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", + "name": "sig-type", + "in": "query" + }, + "auth-addr": { + "type": "string", + "description": "Include accounts configured to use this spending key.", + "name": "auth-addr", + "in": "query", + "x-algorand-format": "Address" + }, + "group-id": { + "type": "string", + "description": "Lookup transactions by group ID. This field must be base64-encoded, and afterwards, base64 characters that are URL-unsafe (i.e. =, /, +) must be URL-encoded", + "name": "group-id", + "in": "query", + "x-algorand-format": "base64" + }, + "txid": { + "type": "string", + "description": "Lookup the specific transaction by ID.", + "name": "txid", + "in": "query" + }, + "tx-type": { + "enum": [ + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], + "type": "string", + "name": "tx-type", + "in": "query" + } + }, + "responses": { + "AccountResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "account" + ], + "properties": { + "account": { + "$ref": "#/definitions/Account" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" } } - }, - "AssetHoldingsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "assets" - ], - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "assets": { - "type": "array", - "items": { - "$ref": "#/components/definitions/AssetHolding" - } + } + }, + "AssetHoldingsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "assets" + ], + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetHolding" } } } - }, - "AccountsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "accounts" - ], - "properties": { - "accounts": { - "type": "array", - "items": { - "$ref": "#/components/definitions/Account" - } - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + } + }, + "AccountsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "accounts" + ], + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/Account" } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } } - }, - "AssetBalancesResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "balances" - ], - "properties": { - "balances": { - "type": "array", - "items": { - "$ref": "#/components/definitions/MiniAssetHolding" - } - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + } + }, + "AssetBalancesResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "balances" + ], + "properties": { + "balances": { + "type": "array", + "items": { + "$ref": "#/definitions/MiniAssetHolding" } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } } - }, - "ApplicationResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "applications" - ], - "properties": { - "application": { - "$ref": "#/components/definitions/Application" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - } + } + }, + "ApplicationResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "applications" + ], + "properties": { + "application": { + "$ref": "#/definitions/Application" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" } } - }, - "ApplicationsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "applications" - ], - "properties": { - "applications": { - "type": "array", - "items": { - "$ref": "#/components/definitions/Application" - } - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + } + }, + "ApplicationsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "applications" + ], + "properties": { + "applications": { + "type": "array", + "items": { + "$ref": "#/definitions/Application" } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } } - }, - "ApplicationLogsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "application-id", - "current-round" - ], - "properties": { - "application-id": { - "description": "\\[appidx\\] application index.", - "type": "integer" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "log-data": { - "type": "array", - "items": { - "$ref": "#/components/definitions/ApplicationLogData" - } + } + }, + "ApplicationLogsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "application-id", + "current-round" + ], + "properties": { + "application-id": { + "description": "\\[appidx\\] application index.", + "type": "integer" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "log-data": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationLogData" } } } - }, - "ApplicationLocalStatesResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "apps-local-states" - ], - "properties": { - "apps-local-states": { - "type": "array", - "items": { - "$ref": "#/components/definitions/ApplicationLocalState" - } - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + } + }, + "ApplicationLocalStatesResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "apps-local-states" + ], + "properties": { + "apps-local-states": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationLocalState" } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } } - }, - "AssetResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "asset" - ], - "properties": { - "asset": { - "$ref": "#/components/definitions/Asset" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - } + } + }, + "AssetResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "asset" + ], + "properties": { + "asset": { + "$ref": "#/definitions/Asset" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" } } - }, - "BoxesResponse": { - "description": "Box names of an application", - "schema": { - "type": "object", - "required": [ - "application-id", - "boxes" - ], - "properties": { - "application-id": { - "description": "\\[appidx\\] application index.", - "type": "integer" - }, - "boxes": { - "type": "array", - "items": { - "$ref": "#/components/definitions/BoxDescriptor" - } - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + } + }, + "BoxesResponse": { + "description": "Box names of an application", + "schema": { + "type": "object", + "required": [ + "application-id", + "boxes" + ], + "properties": { + "application-id": { + "description": "\\[appidx\\] application index.", + "type": "integer" + }, + "boxes": { + "type": "array", + "items": { + "$ref": "#/definitions/BoxDescriptor" } + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } } - }, - "BoxResponse": { - "description": "Box information", - "schema": { - "$ref": "#/components/definitions/Box" - } - }, - "ErrorResponse": { - "description": "Response for errors", - "schema": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "data": { - "type": "object" - }, - "message": { - "type": "string" - } + } + }, + "BoxResponse": { + "description": "Box information", + "schema": { + "$ref": "#/definitions/Box" + } + }, + "ErrorResponse": { + "description": "Response for errors", + "schema": { + "type": "object", + "required": [ + "message" + ], + "properties": { + "data": { + "type": "object" + }, + "message": { + "type": "string" } } - }, - "AssetsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "assets" - ], - "properties": { - "assets": { - "type": "array", - "items": { - "$ref": "#/components/definitions/Asset" - } - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + } + }, + "AssetsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "assets" + ], + "properties": { + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/Asset" } + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" } } - }, - "BlockResponse": { - "description": "(empty)", - "schema": { - "$ref": "#/components/definitions/Block" - } - }, - "BlockHeadersResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "blocks" - ], - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "blocks": { - "type": "array", - "items": { - "$ref": "#/components/definitions/Block" - } + } + }, + "BlockResponse": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/Block" + } + }, + "BlockHeadersResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "blocks" + ], + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "blocks": { + "type": "array", + "items": { + "$ref": "#/definitions/Block" } } } - }, - "HealthCheckResponse": { - "description": "(empty)", - "schema": { - "$ref": "#/components/definitions/HealthCheck" - } - }, - "TransactionResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "transaction" - ], - "properties": { - "transaction": { - "$ref": "#/components/definitions/Transaction" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - } + } + }, + "HealthCheckResponse": { + "description": "(empty)", + "schema": { + "$ref": "#/definitions/HealthCheck" + } + }, + "TransactionResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "transaction" + ], + "properties": { + "transaction": { + "$ref": "#/definitions/Transaction" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" } } - }, - "TransactionsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "transactions" - ], - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "transactions": { - "type": "array", - "items": { - "$ref": "#/components/definitions/Transaction" - } + } + }, + "TransactionsResponse": { + "description": "(empty)", + "schema": { + "type": "object", + "required": [ + "current-round", + "transactions" + ], + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "transactions": { + "type": "array", + "items": { + "$ref": "#/definitions/Transaction" } } } From 8681c24d49435b23b774ea7e131e06c73a28b02c Mon Sep 17 00:00:00 2001 From: Dzmitry Kliapkou Date: Thu, 12 Feb 2026 16:58:55 +0300 Subject: [PATCH 4/6] change openapi version --- algorand-indexer/rest-api/openapi.json | 8716 +++++++++++++++--------- 1 file changed, 5473 insertions(+), 3243 deletions(-) diff --git a/algorand-indexer/rest-api/openapi.json b/algorand-indexer/rest-api/openapi.json index 3a4eab9..aaceaea 100644 --- a/algorand-indexer/rest-api/openapi.json +++ b/algorand-indexer/rest-api/openapi.json @@ -1,5 +1,5 @@ { - "openapi": "2.0", + "openapi": "3.0.1", "info": { "title": "Algorand-Indexer REST API Specification", "description": "A specification of the Algorand indexer REST API provided by Chain.Love platform.", @@ -9,3486 +9,5716 @@ "email": "devs@chain.love" } }, - "paths": { - "/health": { - "get": { - "tags": [ - "common" - ], - "produces": [ - "application/json" - ], - "schemes": [ - "http" - ], - "summary": "Returns 200 if healthy.", - "operationId": "makeHealthCheck", - "responses": { - "200": { - "$ref": "#/responses/HealthCheckResponse" - }, - "default": { - "description": "Unknown Error" - } - } - } - }, - "/v2/accounts": { - "get": { - "description": "Search for accounts.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "search" - ], - "operationId": "searchForAccounts", - "parameters": [ - { - "$ref": "#/parameters/asset-id" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - }, - { - "$ref": "#/parameters/currency-greater-than" - }, - { - "$ref": "#/parameters/include-all" - }, - { - "$ref": "#/parameters/exclude" - }, - { - "$ref": "#/parameters/currency-less-than" - }, - { - "$ref": "#/parameters/auth-addr" - }, - { - "type": "integer", - "description": "Include results for the specified round. For performance reasons, this parameter may be disabled on some configurations. Using application-id or asset-id filters will return both creator and opt-in accounts. Filtering by include-all will return creator and opt-in accounts for deleted assets and accounts. Non-opt-in managers are not included in the results when asset-id is used.", - "name": "round", - "in": "query" - }, - { - "$ref": "#/parameters/application-id" - }, - { - "$ref": "#/parameters/online-only" - } - ], - "responses": { - "200": { - "$ref": "#/responses/AccountsResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/accounts/{account-id}": { - "get": { - "description": "Lookup account information.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupAccountByID", - "parameters": [ - { - "$ref": "#/parameters/account-id" - }, - { - "$ref": "#/parameters/round" - }, - { - "$ref": "#/parameters/include-all" - }, - { - "$ref": "#/parameters/exclude" - } - ], - "responses": { - "200": { - "$ref": "#/responses/AccountResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/accounts/{account-id}/apps-local-state": { - "get": { - "description": "Lookup an account's asset holdings, optionally for a specific ID.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupAccountAppLocalStates", - "parameters": [ - { - "$ref": "#/parameters/account-id" - }, - { - "$ref": "#/parameters/application-id" - }, - { - "$ref": "#/parameters/include-all" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - } - ], - "responses": { - "200": { - "$ref": "#/responses/ApplicationLocalStatesResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/accounts/{account-id}/assets": { - "get": { - "description": "Lookup an account's asset holdings, optionally for a specific ID.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupAccountAssets", - "parameters": [ - { - "$ref": "#/parameters/account-id" - }, - { - "$ref": "#/parameters/asset-id" - }, - { - "$ref": "#/parameters/include-all" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - } - ], - "responses": { - "200": { - "$ref": "#/responses/AssetHoldingsResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/accounts/{account-id}/created-applications": { - "get": { - "description": "Lookup an account's created application parameters, optionally for a specific ID.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupAccountCreatedApplications", - "parameters": [ - { - "$ref": "#/parameters/account-id" - }, - { - "$ref": "#/parameters/application-id" - }, - { - "$ref": "#/parameters/include-all" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - } - ], - "responses": { - "200": { - "$ref": "#/responses/ApplicationsResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/accounts/{account-id}/created-assets": { - "get": { - "description": "Lookup an account's created asset parameters, optionally for a specific ID.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupAccountCreatedAssets", - "parameters": [ - { - "$ref": "#/parameters/account-id" - }, - { - "$ref": "#/parameters/asset-id" - }, - { - "$ref": "#/parameters/include-all" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - } - ], - "responses": { - "200": { - "$ref": "#/responses/AssetsResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/accounts/{account-id}/transactions": { - "get": { - "description": "Lookup account transactions. Transactions are returned newest to oldest.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupAccountTransactions", - "parameters": [ - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - }, - { - "$ref": "#/parameters/note-prefix" - }, - { - "$ref": "#/parameters/tx-type" - }, - { - "$ref": "#/parameters/sig-type" - }, - { - "$ref": "#/parameters/txid" - }, - { - "$ref": "#/parameters/round" - }, - { - "$ref": "#/parameters/min-round" - }, - { - "$ref": "#/parameters/max-round" - }, - { - "$ref": "#/parameters/asset-id" - }, - { - "$ref": "#/parameters/before-time" - }, - { - "$ref": "#/parameters/after-time" - }, - { - "$ref": "#/parameters/currency-greater-than" - }, - { - "$ref": "#/parameters/currency-less-than" - }, - { - "$ref": "#/parameters/account-id" - }, - { - "$ref": "#/parameters/rekey-to" - } - ], - "responses": { - "200": { - "$ref": "#/responses/TransactionsResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/applications": { - "get": { - "description": "Search for applications", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "search" - ], - "operationId": "searchForApplications", - "parameters": [ - { - "$ref": "#/parameters/application-id" - }, - { - "type": "string", - "description": "Filter just applications with the given creator address.", - "name": "creator", - "in": "query" - }, - { - "$ref": "#/parameters/include-all" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - } - ], - "responses": { - "200": { - "$ref": "#/responses/ApplicationsResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/applications/{application-id}": { - "get": { - "description": "Lookup application.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupApplicationByID", - "parameters": [ - { - "type": "integer", - "name": "application-id", - "in": "path", - "required": true - }, - { - "$ref": "#/parameters/include-all" - } - ], - "responses": { - "200": { - "$ref": "#/responses/ApplicationResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/applications/{application-id}/box": { - "get": { - "description": "Given an application ID and box name, returns base64 encoded box name and value. Box names must be in the goal app call arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, encode base 64 and use 'b64' prefix as in 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupApplicationBoxByIDAndName", - "schemes": [ - "http" - ], - "summary": "Get box information for a given application.", - "parameters": [ - { - "type": "integer", - "name": "application-id", - "in": "path", - "required": true - }, - { - "$ref": "#/parameters/box-name" - } - ], - "responses": { - "200": { - "$ref": "#/responses/BoxResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/applications/{application-id}/boxes": { - "get": { - "description": "Given an application ID, returns the box names of that application sorted lexicographically.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "search" - ], - "operationId": "searchForApplicationBoxes", - "summary": "Get box names for a given application.", - "parameters": [ - { - "type": "integer", - "name": "application-id", - "in": "path", - "required": true - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - } - ], - "responses": { - "200": { - "$ref": "#/responses/BoxesResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/applications/{application-id}/logs": { - "get": { - "description": "Lookup application logs.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupApplicationLogsByID", - "parameters": [ - { - "type": "integer", - "name": "application-id", - "in": "path", - "required": true - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - }, - { - "$ref": "#/parameters/txid" - }, - { - "$ref": "#/parameters/min-round" - }, - { - "$ref": "#/parameters/max-round" - }, - { - "$ref": "#/parameters/sender-address" - } - ], - "responses": { - "200": { - "$ref": "#/responses/ApplicationLogsResponse" - } - } - } - }, - "/v2/assets": { - "get": { - "description": "Search for assets.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "search" - ], - "operationId": "searchForAssets", - "parameters": [ - { - "$ref": "#/parameters/include-all" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - }, - { - "type": "string", - "description": "Filter just assets with the given creator address.", - "name": "creator", - "in": "query" - }, - { - "type": "string", - "description": "Filter just assets with the given name.", - "name": "name", - "in": "query" - }, - { - "type": "string", - "description": "Filter just assets with the given unit.", - "name": "unit", - "in": "query" - }, - { - "$ref": "#/parameters/asset-id" - } - ], - "responses": { - "200": { - "$ref": "#/responses/AssetsResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/assets/{asset-id}": { - "get": { - "description": "Lookup asset information.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupAssetByID", - "parameters": [ - { - "type": "integer", - "name": "asset-id", - "in": "path", - "required": true - }, - { - "$ref": "#/parameters/include-all" - } - ], - "responses": { - "200": { - "$ref": "#/responses/AssetResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/assets/{asset-id}/balances": { - "get": { - "description": "Lookup the list of accounts who hold this asset ", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupAssetBalances", - "parameters": [ - { - "$ref": "#/parameters/include-all" - }, - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - }, - { - "$ref": "#/parameters/currency-greater-than" - }, - { - "$ref": "#/parameters/currency-less-than" - }, - { - "type": "integer", - "name": "asset-id", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "$ref": "#/responses/AssetBalancesResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/assets/{asset-id}/transactions": { - "get": { - "description": "Lookup transactions for an asset. Transactions are returned oldest to newest.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupAssetTransactions", - "parameters": [ - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - }, - { - "$ref": "#/parameters/note-prefix" - }, - { - "$ref": "#/parameters/tx-type" - }, - { - "$ref": "#/parameters/sig-type" - }, - { - "$ref": "#/parameters/txid" - }, - { - "$ref": "#/parameters/round" - }, - { - "$ref": "#/parameters/min-round" - }, - { - "$ref": "#/parameters/max-round" - }, - { - "$ref": "#/parameters/before-time" - }, - { - "$ref": "#/parameters/after-time" - }, - { - "$ref": "#/parameters/currency-greater-than" - }, - { - "$ref": "#/parameters/currency-less-than" - }, - { - "$ref": "#/parameters/address" - }, - { - "$ref": "#/parameters/address-role" - }, - { - "$ref": "#/parameters/exclude-close-to" - }, - { - "type": "integer", - "name": "asset-id", - "in": "path", - "required": true - }, - { - "$ref": "#/parameters/rekey-to" - } - ], - "responses": { - "200": { - "$ref": "#/responses/TransactionsResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/blocks/{round-number}": { - "get": { - "description": "Lookup block.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupBlock", - "parameters": [ - { - "$ref": "#/parameters/round-number" - }, - { - "$ref": "#/parameters/header-only" - } - ], - "responses": { - "200": { - "$ref": "#/responses/BlockResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/transactions": { - "get": { - "description": "Search for transactions. Transactions are returned oldest to newest unless the address parameter is used, in which case results are returned newest to oldest.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "search" - ], - "operationId": "searchForTransactions", - "parameters": [ - { - "$ref": "#/parameters/limit" - }, - { - "$ref": "#/parameters/next" - }, - { - "$ref": "#/parameters/note-prefix" - }, - { - "$ref": "#/parameters/tx-type" - }, - { - "$ref": "#/parameters/sig-type" - }, - { - "$ref": "#/parameters/group-id" - }, - { - "$ref": "#/parameters/txid" - }, - { - "$ref": "#/parameters/round" - }, - { - "$ref": "#/parameters/min-round" - }, - { - "$ref": "#/parameters/max-round" - }, - { - "$ref": "#/parameters/asset-id" - }, - { - "$ref": "#/parameters/before-time" - }, - { - "$ref": "#/parameters/after-time" - }, - { - "$ref": "#/parameters/currency-greater-than" - }, - { - "$ref": "#/parameters/currency-less-than" - }, - { - "$ref": "#/parameters/address" - }, - { - "$ref": "#/parameters/address-role" - }, - { - "$ref": "#/parameters/exclude-close-to" - }, - { - "$ref": "#/parameters/rekey-to" - }, - { - "$ref": "#/parameters/application-id" - } - ], - "responses": { - "200": { - "$ref": "#/responses/TransactionsResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - }, - "/v2/transactions/{txid}": { - "get": { - "description": "Lookup a single transaction.", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "lookup" - ], - "operationId": "lookupTransaction", - "parameters": [ - { - "type": "string", - "name": "txid", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "$ref": "#/responses/TransactionResponse" - }, - "400": { - "$ref": "#/responses/ErrorResponse" - }, - "404": { - "$ref": "#/responses/ErrorResponse" - }, - "500": { - "$ref": "#/responses/ErrorResponse" - } - } - } - } - }, - "definitions": { - "Hashtype": { - "description": "The type of hash function used to create the proof, must be one of: \n* sha512_256 \n* sha256", - "type": "string", - "enum": [ - "sha512_256", - "sha256" - ] - }, - "Account": { - "description": "Account information at a given round.\n\nDefinition:\ndata/basics/userBalance.go : AccountData\n", - "type": "object", - "required": [ - "round", - "address", - "amount", - "pending-rewards", - "amount-without-pending-rewards", - "rewards", - "status", - "min-balance", - "total-apps-opted-in", - "total-assets-opted-in", - "total-box-bytes", - "total-boxes", - "total-created-apps", - "total-created-assets" - ], - "properties": { - "address": { - "description": "the account public key", - "type": "string" - }, - "amount": { - "description": "total number of MicroAlgos in the account", - "type": "integer" - }, - "min-balance": { - "description": "MicroAlgo balance required by the account.\n\nThe requirement grows based on asset and application usage.", - "type": "integer" - }, - "amount-without-pending-rewards": { - "description": "specifies the amount of MicroAlgos in the account, without the pending rewards.", - "type": "integer" - }, - "apps-local-state": { - "description": "application local data stored in this account.\n\nNote the raw object uses `map[int] -\u003e AppLocalState` for this type.", - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationLocalState" - } - }, - "apps-total-schema": { - "description": "the sum of all of the local schemas and global schemas in this account.\n\nNote: the raw account uses `StateSchema` for this type.", - "$ref": "#/definitions/ApplicationStateSchema" - }, - "apps-total-extra-pages": { - "description": "the sum of all extra application program pages for this account.", - "type": "integer" - }, - "assets": { - "description": "assets held by this account.\n\nNote the raw object uses `map[int] -\u003e AssetHolding` for this type.", - "type": "array", - "items": { - "$ref": "#/definitions/AssetHolding" - } - }, - "created-apps": { - "description": "parameters of applications created by this account including app global data.\n\nNote: the raw account uses `map[int] -\u003e AppParams` for this type.", - "type": "array", - "items": { - "$ref": "#/definitions/Application" - } - }, - "created-assets": { - "description": "parameters of assets created by this account.\n\nNote: the raw account uses `map[int] -\u003e Asset` for this type.", - "type": "array", + "components": { + "parameters": { + "absent": { + "description": "Accounts marked as absent in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "explode": false, + "in": "query", + "name": "absent", + "schema": { "items": { - "$ref": "#/definitions/Asset" - } - }, - "participation": { - "$ref": "#/definitions/AccountParticipation" - }, - "incentive-eligible": { - "description": "can the account receive block incentives if its balance is in range at proposal time.", - "type": "boolean" - }, - "pending-rewards": { - "description": "amount of MicroAlgos of pending rewards in this account.", - "type": "integer" - }, - "reward-base": { - "description": "used as part of the rewards computation. Only applicable to accounts which are participating.", - "type": "integer" - }, - "rewards": { - "description": "total rewards of MicroAlgos the account has received, including pending rewards.", - "type": "integer" - }, - "round": { - "description": "The round for which this information is relevant.", - "type": "integer" + "type": "string", + "x-algorand-format": "Address" + }, + "type": "array" }, - "status": { - "description": "voting status of the account's MicroAlgos\n* Offline - indicates that the associated account is delegated.\n* Online - indicates that the associated account used as part of the delegation pool.\n* NotParticipating - indicates that the associated account is neither a delegator nor a delegate.", + "style": "form" + }, + "account-id": { + "description": "account string", + "in": "path", + "name": "account-id", + "required": true, + "schema": { "type": "string" - }, - "sig-type": { - "description": "the type of signature used by this account, must be one of:\n* sig\n* msig\n* lsig\n* or null if unknown", + } + }, + "address": { + "description": "Only include transactions with this address in one of the transaction fields.", + "in": "query", + "name": "address", + "schema": { "type": "string", - "enum": [ - "sig", - "msig", - "lsig" - ] - }, - "total-apps-opted-in": { - "description": "The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.", - "type": "integer" - }, - "total-assets-opted-in": { - "description": "The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.", - "type": "integer" - }, - "total-box-bytes": { - "description": "For app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.", - "type": "integer" + "x-algorand-format": "Address" }, - "total-boxes": { - "description": "For app-accounts only. The total number of boxes which belong to the associated application.", - "type": "integer" + "x-algorand-format": "Address" + }, + "address-role": { + "description": "Combine with the address parameter to define what type of address to search for.", + "in": "query", + "name": "address-role", + "schema": { + "enum": [ + "sender", + "receiver", + "freeze-target" + ], + "type": "string" + } + }, + "after-time": { + "description": "Include results after the given time. Must be an RFC 3339 formatted string.", + "in": "query", + "name": "after-time", + "schema": { + "format": "date-time", + "type": "string", + "x-algorand-format": "RFC3339 String" }, - "total-created-apps": { - "description": "The count of all apps (AppParams objects) created by this account.", + "x-algorand-format": "RFC3339 String" + }, + "application-id": { + "description": "Application ID", + "in": "query", + "name": "application-id", + "schema": { "type": "integer" - }, - "total-created-assets": { - "description": "The count of all assets (AssetParams objects) created by this account.", + } + }, + "asset-id": { + "description": "Asset ID", + "in": "query", + "name": "asset-id", + "schema": { "type": "integer" - }, - "auth-addr": { - "description": "The address against which signing should be checked. If empty, the address of the current account is used. This field can be updated in any transaction by setting the RekeyTo field.", + } + }, + "auth-addr": { + "description": "Include accounts configured to use this spending key.", + "in": "query", + "name": "auth-addr", + "schema": { "type": "string", "x-algorand-format": "Address" }, - "last-proposed": { - "description": "The round in which this account last proposed the block.", - "type": "integer" - }, - "last-heartbeat": { - "description": "The round in which this account last went online, or explicitly renewed their online status.", - "type": "integer" - }, - "deleted": { - "description": "Whether or not this account is currently closed.", - "type": "boolean" - }, - "created-at-round": { - "description": "Round during which this account first appeared in a transaction.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "closed-at-round": { - "description": "Round during which this account was most recently closed.", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "AccountParticipation": { - "description": "AccountParticipation describes the parameters used by this account in consensus protocol.", - "type": "object", - "required": [ - "vote-participation-key", - "selection-participation-key", - "vote-first-valid", - "vote-last-valid", - "vote-key-dilution" - ], - "properties": { - "selection-participation-key": { - "description": "Selection public key (if any) currently registered for this round.", + "x-algorand-format": "Address" + }, + "before-time": { + "description": "Include results before the given time. Must be an RFC 3339 formatted string.", + "in": "query", + "name": "before-time", + "schema": { + "format": "date-time", "type": "string", - "format": "byte" + "x-algorand-format": "RFC3339 String" }, - "vote-first-valid": { - "description": "First round for which this participation is valid.", + "x-algorand-format": "RFC3339 String" + }, + "box-name": { + "description": "A box name in goal-arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", + "in": "query", + "name": "name", + "required": true, + "schema": { + "type": "string" + } + }, + "currency-greater-than": { + "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-greater-than", + "schema": { "type": "integer" - }, - "vote-key-dilution": { - "description": "Number of subkeys in each batch of participation keys.", + } + }, + "currency-less-than": { + "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-less-than", + "schema": { "type": "integer" + } + }, + "exclude": { + "description": "Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.", + "explode": false, + "in": "query", + "name": "exclude", + "schema": { + "items": { + "enum": [ + "all", + "assets", + "created-assets", + "apps-local-state", + "created-apps", + "none" + ], + "type": "string" + }, + "type": "array" }, - "vote-last-valid": { - "description": "Last round for which this participation is valid.", - "type": "integer" + "style": "form" + }, + "exclude-close-to": { + "description": "Combine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.", + "in": "query", + "name": "exclude-close-to", + "schema": { + "type": "boolean" + } + }, + "expired": { + "description": "Accounts marked as expired in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "explode": false, + "in": "query", + "name": "expired", + "schema": { + "items": { + "type": "string", + "x-algorand-format": "Address" + }, + "type": "array" }, - "vote-participation-key": { - "description": "root participation public key (if any) currently registered for this round.", + "style": "form" + }, + "group-id": { + "description": "Lookup transactions by group ID. This field must be base64-encoded, and afterwards, base64 characters that are URL-unsafe (i.e. =, /, +) must be URL-encoded", + "in": "query", + "name": "group-id", + "schema": { "type": "string", - "format": "byte" + "x-algorand-format": "base64" }, - "state-proof-key": { - "description": "Root of the state proof key (if any)", - "type": "string", - "format": "byte" + "x-algorand-format": "base64" + }, + "header-only": { + "description": "Header only flag. When this is set to true, returned block does not contain the transactions", + "in": "query", + "name": "header-only", + "schema": { + "type": "boolean" } - } - }, - "ApplicationStateSchema": { - "description": "Specifies maximums on the number of each type that may be stored.", - "type": "object", - "required": [ - "num-uint", - "num-byte-slice" - ], - "properties": { - "num-uint": { - "description": "number of uints.", + }, + "include-all": { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + }, + "limit": { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { "type": "integer" - }, - "num-byte-slice": { - "description": "number of byte slices.", + } + }, + "max-round": { + "description": "Include results at or before the specified max-round.", + "in": "query", + "name": "max-round", + "schema": { "type": "integer" } - } - }, - "ApplicationLocalState": { - "description": "Stores local state associated with an application.", - "type": "object", - "required": [ - "id", - "schema" - ], - "properties": { - "id": { - "description": "The application which this local state is for.", + }, + "min-round": { + "description": "Include results at or after the specified min-round.", + "in": "query", + "name": "min-round", + "schema": { "type": "integer" - }, - "deleted": { - "description": "Whether or not the application local state is currently deleted from its account.", - "type": "boolean" - }, - "opted-in-at-round": { - "description": "Round when the account opted into the application.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "closed-out-at-round": { - "description": "Round when account closed out of the application.", - "type": "integer", - "x-algorand-format": "uint64" - }, + } + }, + "next": { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + }, + "note-prefix": { + "description": "Specifies a prefix which must be contained in the note field.", + "in": "query", + "name": "note-prefix", "schema": { - "description": "schema.", - "$ref": "#/definitions/ApplicationStateSchema" + "type": "string", + "x-algorand-format": "base64" }, - "key-value": { - "description": "storage.", - "$ref": "#/definitions/TealKeyValueStore" + "x-algorand-format": "base64" + }, + "online-only": { + "description": "When this is set to true, return only accounts whose participation status is currently online.", + "in": "query", + "name": "online-only", + "schema": { + "type": "boolean" } - } - }, - "TealKeyValueStore": { - "description": "Represents a key-value store for use in an application.", - "type": "array", - "items": { - "$ref": "#/definitions/TealKeyValue" - } - }, - "TealKeyValue": { - "description": "Represents a key-value pair in an application store.", - "type": "object", - "required": [ - "key", - "value" - ], - "properties": { - "key": { - "type": "string" + }, + "proposers": { + "description": "Accounts marked as proposer in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "explode": false, + "in": "query", + "name": "proposers", + "schema": { + "items": { + "type": "string", + "x-algorand-format": "Address" + }, + "type": "array" }, - "value": { - "$ref": "#/definitions/TealValue" + "style": "form" + }, + "rekey-to": { + "description": "Include results which include the rekey-to field.", + "in": "query", + "name": "rekey-to", + "schema": { + "type": "boolean" } - } - }, - "TealValue": { - "description": "Represents a TEAL value.", - "type": "object", - "required": [ - "type", - "uint", - "bytes" - ], - "properties": { - "type": { - "description": "type of the value. Value `1` refers to **bytes**, value `2` refers to **uint**", + }, + "round": { + "description": "Include results for the specified round.", + "in": "query", + "name": "round", + "schema": { "type": "integer" - }, - "bytes": { - "description": "bytes value.", - "type": "string" - }, - "uint": { - "description": "uint value.", - "type": "integer", - "x-algorand-format": "uint64" } - } - }, - "Application": { - "description": "Application index and its parameters", - "type": "object", - "required": [ - "id", - "params" - ], - "properties": { - "id": { - "description": "application index.", + }, + "round-number": { + "description": "Round number", + "in": "path", + "name": "round-number", + "required": true, + "schema": { "type": "integer" - }, - "deleted": { - "description": "Whether or not this application is currently deleted.", - "type": "boolean" - }, - "created-at-round": { - "description": "Round when this application was created.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "deleted-at-round": { - "description": "Round when this application was deleted.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "params": { - "description": "application parameters.", - "$ref": "#/definitions/ApplicationParams" } - } - }, - "ApplicationParams": { - "description": "Stores the global information associated with an application.", - "type": "object", - "required": [ - "approval-program", - "clear-state-program" - ], - "properties": { - "creator": { - "description": "The address that created this application. This is the address where the parameters and global state for this application can be found.", + }, + "sender-address": { + "description": "Only include transactions with this sender address.", + "in": "query", + "name": "sender-address", + "schema": { "type": "string", "x-algorand-format": "Address" }, - "approval-program": { - "description": "approval program.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "clear-state-program": { - "description": "clear state program.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "extra-program-pages": { - "description": "the number of extra program pages available to this app.", - "type": "integer" - }, - "local-state-schema": { - "description": "local schema", - "$ref": "#/definitions/ApplicationStateSchema" - }, - "global-state-schema": { - "description": "global schema", - "$ref": "#/definitions/ApplicationStateSchema" - }, - "global-state": { - "description": "global state", - "$ref": "#/definitions/TealKeyValueStore" - }, - "version": { - "description": "the number of updates to the application programs", - "type": "integer" + "x-algorand-format": "Address" + }, + "sig-type": { + "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", + "in": "query", + "name": "sig-type", + "schema": { + "enum": [ + "sig", + "msig", + "lsig" + ], + "type": "string" } - } - }, - "ApplicationLogData": { - "description": "Stores the global information associated with an application.", - "type": "object", - "required": [ - "txid", - "logs" - ], - "properties": { - "txid": { - "description": "Transaction ID", + }, + "tx-type": { + "in": "query", + "name": "tx-type", + "schema": { + "enum": [ + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], "type": "string" - }, - "logs": { - "description": "Logs for the application being executed by the transaction.", - "type": "array", - "items": { - "type": "string", - "format": "byte" - } } - } - }, - "Asset": { - "description": "Specifies both the unique identifier and the parameters for an asset", - "type": "object", - "required": [ - "index", - "params" - ], - "properties": { - "index": { - "description": "unique asset identifier", - "type": "integer" - }, - "deleted": { - "description": "Whether or not this asset is currently deleted.", - "type": "boolean" - }, - "created-at-round": { - "description": "Round during which this asset was created.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "destroyed-at-round": { - "description": "Round during which this asset was destroyed.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "params": { - "$ref": "#/definitions/AssetParams" + }, + "txid": { + "description": "Lookup the specific transaction by ID.", + "in": "query", + "name": "txid", + "schema": { + "type": "string" } } }, - "AssetHolding": { - "description": "Describes an asset held by an account.\n\nDefinition:\ndata/basics/userBalance.go : AssetHolding", - "type": "object", - "required": [ - "asset-id", - "amount", - "is-frozen" - ], - "properties": { - "amount": { - "description": "number of units held.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "asset-id": { - "description": "Asset ID of the holding.", - "type": "integer" + "responses": { + "AccountResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "account": { + "$ref": "#/components/schemas/Account" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } + }, + "required": [ + "account", + "current-round" + ], + "type": "object" + } + } }, - "is-frozen": { - "description": "whether or not the holding is frozen.", - "type": "boolean" + "description": "(empty)" + }, + "AccountsResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "accounts": { + "items": { + "$ref": "#/components/schemas/Account" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "accounts", + "current-round" + ], + "type": "object" + } + } }, - "deleted": { - "description": "Whether or not the asset holding is currently deleted from its account.", - "type": "boolean" + "description": "(empty)" + }, + "ApplicationLocalStatesResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "apps-local-states": { + "items": { + "$ref": "#/components/schemas/ApplicationLocalState" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "apps-local-states", + "current-round" + ], + "type": "object" + } + } }, - "opted-in-at-round": { - "description": "Round during which the account opted into this asset holding.", - "type": "integer", - "x-algorand-format": "uint64" + "description": "(empty)" + }, + "ApplicationLogsResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "application-id": { + "description": "\\[appidx\\] application index.", + "type": "integer" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "log-data": { + "items": { + "$ref": "#/components/schemas/ApplicationLogData" + }, + "type": "array" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "application-id", + "current-round" + ], + "type": "object" + } + } }, - "opted-out-at-round": { - "description": "Round during which the account opted out of this asset holding.", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "AssetParams": { - "description": "AssetParams specifies the parameters for an asset.\n\n\\[apar\\] when part of an AssetConfig transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetParams", - "type": "object", - "required": [ - "creator", - "total", - "decimals" - ], - "properties": { - "clawback": { - "description": "Address of account used to clawback holdings of this asset. If empty, clawback is not permitted.", - "type": "string" + "description": "(empty)" + }, + "ApplicationResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "application": { + "$ref": "#/components/schemas/Application" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } + }, + "required": [ + "current-round" + ], + "type": "object" + } + } }, - "creator": { - "description": "The address that created this asset. This is the address where the parameters for this asset can be found, and also the address where unwanted asset units can be sent in the worst case.", - "type": "string" + "description": "(empty)" + }, + "ApplicationsResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "applications": { + "items": { + "$ref": "#/components/schemas/Application" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "applications", + "current-round" + ], + "type": "object" + } + } }, - "decimals": { - "description": "The number of digits to use after the decimal point when displaying this asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in tenths. If 2, the base unit of the asset is in hundredths, and so on. This value must be between 0 and 19 (inclusive).", - "type": "integer", - "maximum": 19, - "minimum": 0 + "description": "(empty)" + }, + "AssetBalancesResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "balances": { + "items": { + "$ref": "#/components/schemas/MiniAssetHolding" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "balances", + "current-round" + ], + "type": "object" + } + } }, - "default-frozen": { - "description": "Whether holdings of this asset are frozen by default.", - "type": "boolean" + "description": "(empty)" + }, + "AssetHoldingsResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "assets": { + "items": { + "$ref": "#/components/schemas/AssetHolding" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "assets", + "current-round" + ], + "type": "object" + } + } }, - "freeze": { - "description": "Address of account used to freeze holdings of this asset. If empty, freezing is not permitted.", - "type": "string" + "description": "(empty)" + }, + "AssetResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "asset": { + "$ref": "#/components/schemas/Asset" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } + }, + "required": [ + "asset", + "current-round" + ], + "type": "object" + } + } }, - "manager": { - "description": "Address of account used to manage the keys of this asset and to destroy it.", - "type": "string" + "description": "(empty)" + }, + "AssetsResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "assets": { + "items": { + "$ref": "#/components/schemas/Asset" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "assets", + "current-round" + ], + "type": "object" + } + } }, - "metadata-hash": { - "description": "A commitment to some unspecified asset metadata. The format of this metadata is up to the application.", - "type": "string", - "format": "byte" + "description": "(empty)" + }, + "BlockHeadersResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "blocks": { + "items": { + "$ref": "#/components/schemas/Block" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "blocks", + "current-round" + ], + "type": "object" + } + } }, - "name": { - "description": "Name of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.", - "type": "string" + "description": "(empty)" + }, + "BlockResponse": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Block" + } + } }, - "name-b64": { - "description": "Base64 encoded name of this asset, as supplied by the creator.", - "type": "string", - "format": "byte" + "description": "(empty)" + }, + "BoxResponse": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Box" + } + } }, - "reserve": { - "description": "Address of account holding reserve (non-minted) units of this asset.", - "type": "string" + "description": "Box information" + }, + "BoxesResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "application-id": { + "description": "\\[appidx\\] application index.", + "type": "integer" + }, + "boxes": { + "items": { + "$ref": "#/components/schemas/BoxDescriptor" + }, + "type": "array" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "application-id", + "boxes" + ], + "type": "object" + } + } }, - "total": { - "description": "The total number of units of this asset.", - "type": "integer", - "x-algorand-format": "uint64" + "description": "Box names of an application" + }, + "ErrorResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } }, - "unit-name": { - "description": "Name of a unit of this asset, as supplied by the creator. Included only when the name of a unit of this asset is composed of printable utf-8 characters.", - "type": "string" + "description": "Response for errors" + }, + "HealthCheckResponse": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HealthCheck" + } + } }, - "unit-name-b64": { - "description": "Base64 encoded name of a unit of this asset, as supplied by the creator.", - "type": "string", - "format": "byte" + "description": "(empty)" + }, + "TransactionResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "transaction": { + "$ref": "#/components/schemas/Transaction" + } + }, + "required": [ + "current-round", + "transaction" + ], + "type": "object" + } + } }, - "url": { - "description": "URL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.", - "type": "string" + "description": "(empty)" + }, + "TransactionsResponse": { + "content": { + "application/json": { + "schema": { + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "transactions": { + "items": { + "$ref": "#/components/schemas/Transaction" + }, + "type": "array" + } + }, + "required": [ + "current-round", + "transactions" + ], + "type": "object" + } + } }, - "url-b64": { - "description": "Base64 encoded URL where more information about the asset can be retrieved.", - "type": "string", - "format": "byte" - } + "description": "(empty)" } }, - "Block": { - "description": "Block information.\n\nDefinition:\ndata/bookkeeping/block.go : Block", - "type": "object", - "required": [ - "round", - "previous-block-hash", - "seed", - "transactions-root", - "transactions-root-sha256", - "timestamp", - "genesis-id", - "genesis-hash" - ], - "properties": { - "proposer": { - "description": "the proposer of this block.", - "type": "string", - "x-algorand-format": "Address" - }, - "fees-collected": { - "description": "the sum of all fees paid by transactions in this block.", - "type": "integer" + "schemas": { + "Account": { + "description": "Account information at a given round.\n\nDefinition:\ndata/basics/userBalance.go : AccountData\n", + "properties": { + "address": { + "description": "the account public key", + "type": "string" + }, + "amount": { + "description": "total number of MicroAlgos in the account", + "type": "integer" + }, + "amount-without-pending-rewards": { + "description": "specifies the amount of MicroAlgos in the account, without the pending rewards.", + "type": "integer" + }, + "apps-local-state": { + "description": "application local data stored in this account.\n\nNote the raw object uses `map[int] -> AppLocalState` for this type.", + "items": { + "$ref": "#/components/schemas/ApplicationLocalState" + }, + "type": "array" + }, + "apps-total-extra-pages": { + "description": "the sum of all extra application program pages for this account.", + "type": "integer" + }, + "apps-total-schema": { + "$ref": "#/components/schemas/ApplicationStateSchema" + }, + "assets": { + "description": "assets held by this account.\n\nNote the raw object uses `map[int] -> AssetHolding` for this type.", + "items": { + "$ref": "#/components/schemas/AssetHolding" + }, + "type": "array" + }, + "auth-addr": { + "description": "The address against which signing should be checked. If empty, the address of the current account is used. This field can be updated in any transaction by setting the RekeyTo field.", + "type": "string", + "x-algorand-format": "Address" + }, + "closed-at-round": { + "description": "Round during which this account was most recently closed.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "created-apps": { + "description": "parameters of applications created by this account including app global data.\n\nNote: the raw account uses `map[int] -> AppParams` for this type.", + "items": { + "$ref": "#/components/schemas/Application" + }, + "type": "array" + }, + "created-assets": { + "description": "parameters of assets created by this account.\n\nNote: the raw account uses `map[int] -> Asset` for this type.", + "items": { + "$ref": "#/components/schemas/Asset" + }, + "type": "array" + }, + "created-at-round": { + "description": "Round during which this account first appeared in a transaction.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "deleted": { + "description": "Whether or not this account is currently closed.", + "type": "boolean" + }, + "incentive-eligible": { + "description": "can the account receive block incentives if its balance is in range at proposal time.", + "type": "boolean" + }, + "last-heartbeat": { + "description": "The round in which this account last went online, or explicitly renewed their online status.", + "type": "integer" + }, + "last-proposed": { + "description": "The round in which this account last proposed the block.", + "type": "integer" + }, + "min-balance": { + "description": "MicroAlgo balance required by the account.\n\nThe requirement grows based on asset and application usage.", + "type": "integer" + }, + "participation": { + "$ref": "#/components/schemas/AccountParticipation" + }, + "pending-rewards": { + "description": "amount of MicroAlgos of pending rewards in this account.", + "type": "integer" + }, + "reward-base": { + "description": "used as part of the rewards computation. Only applicable to accounts which are participating.", + "type": "integer" + }, + "rewards": { + "description": "total rewards of MicroAlgos the account has received, including pending rewards.", + "type": "integer" + }, + "round": { + "description": "The round for which this information is relevant.", + "type": "integer" + }, + "sig-type": { + "description": "the type of signature used by this account, must be one of:\n* sig\n* msig\n* lsig\n* or null if unknown", + "enum": [ + "sig", + "msig", + "lsig" + ], + "type": "string" + }, + "status": { + "description": "voting status of the account's MicroAlgos\n* Offline - indicates that the associated account is delegated.\n* Online - indicates that the associated account used as part of the delegation pool.\n* NotParticipating - indicates that the associated account is neither a delegator nor a delegate.", + "type": "string" + }, + "total-apps-opted-in": { + "description": "The count of all applications that have been opted in, equivalent to the count of application local data (AppLocalState objects) stored in this account.", + "type": "integer" + }, + "total-assets-opted-in": { + "description": "The count of all assets that have been opted in, equivalent to the count of AssetHolding objects held by this account.", + "type": "integer" + }, + "total-box-bytes": { + "description": "For app-accounts only. The total number of bytes allocated for the keys and values of boxes which belong to the associated application.", + "type": "integer" + }, + "total-boxes": { + "description": "For app-accounts only. The total number of boxes which belong to the associated application.", + "type": "integer" + }, + "total-created-apps": { + "description": "The count of all apps (AppParams objects) created by this account.", + "type": "integer" + }, + "total-created-assets": { + "description": "The count of all assets (AssetParams objects) created by this account.", + "type": "integer" + } }, - "bonus": { - "description": "the potential bonus payout for this block.", - "type": "integer" + "required": [ + "address", + "amount", + "amount-without-pending-rewards", + "min-balance", + "pending-rewards", + "rewards", + "round", + "status", + "total-apps-opted-in", + "total-assets-opted-in", + "total-box-bytes", + "total-boxes", + "total-created-apps", + "total-created-assets" + ], + "type": "object" + }, + "AccountParticipation": { + "description": "AccountParticipation describes the parameters used by this account in consensus protocol.", + "properties": { + "selection-participation-key": { + "description": "Selection public key (if any) currently registered for this round.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "state-proof-key": { + "description": "Root of the state proof key (if any)", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "vote-first-valid": { + "description": "First round for which this participation is valid.", + "type": "integer" + }, + "vote-key-dilution": { + "description": "Number of subkeys in each batch of participation keys.", + "type": "integer" + }, + "vote-last-valid": { + "description": "Last round for which this participation is valid.", + "type": "integer" + }, + "vote-participation-key": { + "description": "root participation public key (if any) currently registered for this round.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } }, - "proposer-payout": { - "description": "the actual amount transferred to the proposer from the fee sink.", - "type": "integer" + "required": [ + "selection-participation-key", + "vote-first-valid", + "vote-key-dilution", + "vote-last-valid", + "vote-participation-key" + ], + "type": "object" + }, + "AccountStateDelta": { + "description": "Application state delta.", + "properties": { + "address": { + "type": "string" + }, + "delta": { + "$ref": "#/components/schemas/StateDelta" + } }, - "genesis-hash": { - "description": "\\[gh\\] hash to which this block belongs.", - "type": "string", - "format": "byte" + "required": [ + "address", + "delta" + ], + "type": "object" + }, + "Application": { + "description": "Application index and its parameters", + "properties": { + "created-at-round": { + "description": "Round when this application was created.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "deleted": { + "description": "Whether or not this application is currently deleted.", + "type": "boolean" + }, + "deleted-at-round": { + "description": "Round when this application was deleted.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "id": { + "description": "application index.", + "type": "integer" + }, + "params": { + "$ref": "#/components/schemas/ApplicationParams" + } }, - "genesis-id": { - "description": "\\[gen\\] ID to which this block belongs.", - "type": "string" + "required": [ + "id", + "params" + ], + "type": "object" + }, + "ApplicationLocalState": { + "description": "Stores local state associated with an application.", + "properties": { + "closed-out-at-round": { + "description": "Round when account closed out of the application.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "deleted": { + "description": "Whether or not the application local state is currently deleted from its account.", + "type": "boolean" + }, + "id": { + "description": "The application which this local state is for.", + "type": "integer" + }, + "key-value": { + "$ref": "#/components/schemas/TealKeyValueStore" + }, + "opted-in-at-round": { + "description": "Round when the account opted into the application.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "schema": { + "$ref": "#/components/schemas/ApplicationStateSchema" + } }, - "previous-block-hash": { - "description": "\\[prev\\] Previous block hash.", - "type": "string", - "format": "byte" + "required": [ + "id", + "schema" + ], + "type": "object" + }, + "ApplicationLogData": { + "description": "Stores the global information associated with an application.", + "properties": { + "logs": { + "description": "Logs for the application being executed by the transaction.", + "items": { + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "type": "array" + }, + "txid": { + "description": "Transaction ID", + "type": "string" + } }, - "previous-block-hash-512": { - "description": "\\[prev512\\] Previous block hash, using SHA-512.", - "type": "string", - "format": "byte" + "required": [ + "logs", + "txid" + ], + "type": "object" + }, + "ApplicationParams": { + "description": "Stores the global information associated with an application.", + "properties": { + "approval-program": { + "description": "approval program.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string", + "x-algorand-format": "TEALProgram" + }, + "clear-state-program": { + "description": "clear state program.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string", + "x-algorand-format": "TEALProgram" + }, + "creator": { + "description": "The address that created this application. This is the address where the parameters and global state for this application can be found.", + "type": "string", + "x-algorand-format": "Address" + }, + "extra-program-pages": { + "description": "the number of extra program pages available to this app.", + "type": "integer" + }, + "global-state": { + "$ref": "#/components/schemas/TealKeyValueStore" + }, + "global-state-schema": { + "$ref": "#/components/schemas/ApplicationStateSchema" + }, + "local-state-schema": { + "$ref": "#/components/schemas/ApplicationStateSchema" + }, + "version": { + "description": "the number of updates to the application programs", + "type": "integer" + } }, - "rewards": { - "$ref": "#/definitions/BlockRewards" + "required": [ + "approval-program", + "clear-state-program" + ], + "type": "object" + }, + "ApplicationStateSchema": { + "description": "Specifies maximums on the number of each type that may be stored.", + "properties": { + "num-byte-slice": { + "description": "number of byte slices.", + "type": "integer" + }, + "num-uint": { + "description": "number of uints.", + "type": "integer" + } }, - "round": { - "description": "\\[rnd\\] Current round on which this block was appended to the chain.", - "type": "integer" + "required": [ + "num-byte-slice", + "num-uint" + ], + "type": "object" + }, + "Asset": { + "description": "Specifies both the unique identifier and the parameters for an asset", + "properties": { + "created-at-round": { + "description": "Round during which this asset was created.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "deleted": { + "description": "Whether or not this asset is currently deleted.", + "type": "boolean" + }, + "destroyed-at-round": { + "description": "Round during which this asset was destroyed.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "index": { + "description": "unique asset identifier", + "type": "integer" + }, + "params": { + "$ref": "#/components/schemas/AssetParams" + } }, - "seed": { - "description": "\\[seed\\] Sortition seed.", - "type": "string", - "format": "byte" + "required": [ + "index", + "params" + ], + "type": "object" + }, + "AssetHolding": { + "description": "Describes an asset held by an account.\n\nDefinition:\ndata/basics/userBalance.go : AssetHolding", + "properties": { + "amount": { + "description": "number of units held.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "asset-id": { + "description": "Asset ID of the holding.", + "type": "integer" + }, + "deleted": { + "description": "Whether or not the asset holding is currently deleted from its account.", + "type": "boolean" + }, + "is-frozen": { + "description": "whether or not the holding is frozen.", + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round during which the account opted into this asset holding.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "opted-out-at-round": { + "description": "Round during which the account opted out of this asset holding.", + "type": "integer", + "x-algorand-format": "uint64" + } }, - "state-proof-tracking": { - "description": "Tracks the status of state proofs.", - "type": "array", - "items": { - "$ref": "#/definitions/StateProofTracking" + "required": [ + "amount", + "asset-id", + "is-frozen" + ], + "type": "object" + }, + "AssetParams": { + "description": "AssetParams specifies the parameters for an asset.\n\n\\[apar\\] when part of an AssetConfig transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetParams", + "properties": { + "clawback": { + "description": "Address of account used to clawback holdings of this asset. If empty, clawback is not permitted.", + "type": "string" + }, + "creator": { + "description": "The address that created this asset. This is the address where the parameters for this asset can be found, and also the address where unwanted asset units can be sent in the worst case.", + "type": "string" + }, + "decimals": { + "description": "The number of digits to use after the decimal point when displaying this asset. If 0, the asset is not divisible. If 1, the base unit of the asset is in tenths. If 2, the base unit of the asset is in hundredths, and so on. This value must be between 0 and 19 (inclusive).", + "maximum": 19, + "minimum": 0, + "type": "integer" + }, + "default-frozen": { + "description": "Whether holdings of this asset are frozen by default.", + "type": "boolean" + }, + "freeze": { + "description": "Address of account used to freeze holdings of this asset. If empty, freezing is not permitted.", + "type": "string" + }, + "manager": { + "description": "Address of account used to manage the keys of this asset and to destroy it.", + "type": "string" + }, + "metadata-hash": { + "description": "A commitment to some unspecified asset metadata. The format of this metadata is up to the application.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "name": { + "description": "Name of this asset, as supplied by the creator. Included only when the asset name is composed of printable utf-8 characters.", + "type": "string" + }, + "name-b64": { + "description": "Base64 encoded name of this asset, as supplied by the creator.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "reserve": { + "description": "Address of account holding reserve (non-minted) units of this asset.", + "type": "string" + }, + "total": { + "description": "The total number of units of this asset.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "unit-name": { + "description": "Name of a unit of this asset, as supplied by the creator. Included only when the name of a unit of this asset is composed of printable utf-8 characters.", + "type": "string" + }, + "unit-name-b64": { + "description": "Base64 encoded name of a unit of this asset, as supplied by the creator.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "url": { + "description": "URL where more information about the asset can be retrieved. Included only when the URL is composed of printable utf-8 characters.", + "type": "string" + }, + "url-b64": { + "description": "Base64 encoded URL where more information about the asset can be retrieved.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" } }, - "timestamp": { - "description": "\\[ts\\] Block creation timestamp in seconds since eposh", - "type": "integer" - }, - "transactions": { - "description": "\\[txns\\] list of transactions corresponding to a given round.", - "type": "array", - "items": { - "$ref": "#/definitions/Transaction" + "required": [ + "creator", + "decimals", + "total" + ], + "type": "object" + }, + "Block": { + "description": "Block information.\n\nDefinition:\ndata/bookkeeping/block.go : Block", + "properties": { + "bonus": { + "description": "the potential bonus payout for this block.", + "type": "integer" + }, + "fees-collected": { + "description": "the sum of all fees paid by transactions in this block.", + "type": "integer" + }, + "genesis-hash": { + "description": "\\[gh\\] hash to which this block belongs.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "genesis-id": { + "description": "\\[gen\\] ID to which this block belongs.", + "type": "string" + }, + "participation-updates": { + "$ref": "#/components/schemas/ParticipationUpdates" + }, + "previous-block-hash": { + "description": "\\[prev\\] Previous block hash.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "previous-block-hash-512": { + "description": "\\[prev512\\] Previous block hash, using SHA-512.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "proposer": { + "description": "the proposer of this block.", + "type": "string", + "x-algorand-format": "Address" + }, + "proposer-payout": { + "description": "the actual amount transferred to the proposer from the fee sink.", + "type": "integer" + }, + "rewards": { + "$ref": "#/components/schemas/BlockRewards" + }, + "round": { + "description": "\\[rnd\\] Current round on which this block was appended to the chain.", + "type": "integer" + }, + "seed": { + "description": "\\[seed\\] Sortition seed.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "state-proof-tracking": { + "description": "Tracks the status of state proofs.", + "items": { + "$ref": "#/components/schemas/StateProofTracking" + }, + "type": "array" + }, + "timestamp": { + "description": "\\[ts\\] Block creation timestamp in seconds since eposh", + "type": "integer" + }, + "transactions": { + "description": "\\[txns\\] list of transactions corresponding to a given round.", + "items": { + "$ref": "#/components/schemas/Transaction" + }, + "type": "array" + }, + "transactions-root": { + "description": "\\[txn\\] TransactionsRoot authenticates the set of transactions appearing in the block. More specifically, it's the root of a merkle tree whose leaves are the block's Txids, in lexicographic order. For the empty block, it's 0. Note that the TxnRoot does not authenticate the signatures on the transactions, only the transactions themselves. Two blocks with the same transactions but in a different order and with different signatures will have the same TxnRoot.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "transactions-root-sha256": { + "description": "\\[txn256\\] TransactionsRootSHA256 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA256 hash function instead of the default SHA512_256. This commitment can be used on environments where only the SHA256 function exists.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "transactions-root-sha512": { + "description": "\\[txn512\\] TransactionsRootSHA512 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA512 hash function instead of the default SHA512_256.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "txn-counter": { + "description": "\\[tc\\] TxnCounter counts the number of transactions committed in the ledger, from the time at which support for this feature was introduced.\n\nSpecifically, TxnCounter is the number of the next transaction that will be committed after this block. It is 0 when no transactions have ever been committed (since TxnCounter started being supported).", + "type": "integer" + }, + "upgrade-state": { + "$ref": "#/components/schemas/BlockUpgradeState" + }, + "upgrade-vote": { + "$ref": "#/components/schemas/BlockUpgradeVote" } }, - "transactions-root": { - "description": "\\[txn\\] TransactionsRoot authenticates the set of transactions appearing in the block. More specifically, it's the root of a merkle tree whose leaves are the block's Txids, in lexicographic order. For the empty block, it's 0. Note that the TxnRoot does not authenticate the signatures on the transactions, only the transactions themselves. Two blocks with the same transactions but in a different order and with different signatures will have the same TxnRoot.", - "type": "string", - "format": "byte" - }, - "transactions-root-sha256": { - "description": "\\[txn256\\] TransactionsRootSHA256 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA256 hash function instead of the default SHA512_256. This commitment can be used on environments where only the SHA256 function exists.", - "type": "string", - "format": "byte" + "required": [ + "genesis-hash", + "genesis-id", + "previous-block-hash", + "round", + "seed", + "timestamp", + "transactions-root", + "transactions-root-sha256" + ], + "type": "object" + }, + "BlockRewards": { + "description": "Fields relating to rewards,", + "properties": { + "fee-sink": { + "description": "\\[fees\\] accepts transaction fees, it can only spend to the incentive pool.", + "type": "string" + }, + "rewards-calculation-round": { + "description": "\\[rwcalr\\] number of leftover MicroAlgos after the distribution of rewards-rate MicroAlgos for every reward unit in the next round.", + "type": "integer" + }, + "rewards-level": { + "description": "\\[earn\\] How many rewards, in MicroAlgos, have been distributed to each RewardUnit of MicroAlgos since genesis.", + "type": "integer" + }, + "rewards-pool": { + "description": "\\[rwd\\] accepts periodic injections from the fee-sink and continually redistributes them as rewards.", + "type": "string" + }, + "rewards-rate": { + "description": "\\[rate\\] Number of new MicroAlgos added to the participation stake from rewards at the next round.", + "type": "integer" + }, + "rewards-residue": { + "description": "\\[frac\\] Number of leftover MicroAlgos after the distribution of RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.", + "type": "integer" + } }, - "transactions-root-sha512": { - "description": "\\[txn512\\] TransactionsRootSHA512 is an auxiliary TransactionRoot, built using a vector commitment instead of a merkle tree, and SHA512 hash function instead of the default SHA512_256.", - "type": "string", - "format": "byte" + "required": [ + "fee-sink", + "rewards-calculation-round", + "rewards-level", + "rewards-pool", + "rewards-rate", + "rewards-residue" + ], + "type": "object" + }, + "BlockUpgradeState": { + "description": "Fields relating to a protocol upgrade.", + "properties": { + "current-protocol": { + "description": "\\[proto\\] The current protocol version.", + "type": "string" + }, + "next-protocol": { + "description": "\\[nextproto\\] The next proposed protocol version.", + "type": "string" + }, + "next-protocol-approvals": { + "description": "\\[nextyes\\] Number of blocks which approved the protocol upgrade.", + "type": "integer" + }, + "next-protocol-switch-on": { + "description": "\\[nextswitch\\] Round on which the protocol upgrade will take effect.", + "type": "integer" + }, + "next-protocol-vote-before": { + "description": "\\[nextbefore\\] Deadline round for this protocol upgrade (No votes will be consider after this round).", + "type": "integer" + } }, - "txn-counter": { - "description": "\\[tc\\] TxnCounter counts the number of transactions committed in the ledger, from the time at which support for this feature was introduced.\n\nSpecifically, TxnCounter is the number of the next transaction that will be committed after this block. It is 0 when no transactions have ever been committed (since TxnCounter started being supported).", - "type": "integer" + "required": [ + "current-protocol" + ], + "type": "object" + }, + "BlockUpgradeVote": { + "description": "Fields relating to voting for a protocol upgrade.", + "properties": { + "upgrade-approve": { + "description": "\\[upgradeyes\\] Indicates a yes vote for the current proposal.", + "type": "boolean" + }, + "upgrade-delay": { + "description": "\\[upgradedelay\\] Indicates the time between acceptance and execution.", + "type": "integer" + }, + "upgrade-propose": { + "description": "\\[upgradeprop\\] Indicates a proposed upgrade.", + "type": "string" + } }, - "upgrade-state": { - "$ref": "#/definitions/BlockUpgradeState" + "type": "object" + }, + "Box": { + "description": "Box name and its content.", + "properties": { + "name": { + "description": "\\[name\\] box name, base64 encoded", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "round": { + "description": "The round for which this information is relevant", + "type": "integer" + }, + "value": { + "description": "\\[value\\] box value, base64 encoded.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } }, - "upgrade-vote": { - "$ref": "#/definitions/BlockUpgradeVote" + "required": [ + "name", + "round", + "value" + ], + "type": "object" + }, + "BoxDescriptor": { + "description": "Box descriptor describes an app box without a value.", + "properties": { + "name": { + "description": "Base64 encoded box name", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } }, - "participation-updates": { - "$ref": "#/definitions/ParticipationUpdates" - } - } - }, - "BlockRewards": { - "description": "Fields relating to rewards,", - "type": "object", - "required": [ - "fee-sink", - "rewards-pool", - "rewards-level", - "rewards-rate", - "rewards-residue", - "rewards-calculation-round" - ], - "properties": { - "fee-sink": { - "description": "\\[fees\\] accepts transaction fees, it can only spend to the incentive pool.", - "type": "string" + "required": [ + "name" + ], + "type": "object" + }, + "BoxReference": { + "description": "BoxReference names a box by its name and the application ID it belongs to.", + "properties": { + "app": { + "description": "Application ID to which the box belongs, or zero if referring to the called application.", + "type": "integer" + }, + "name": { + "description": "Base64 encoded box name", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } }, - "rewards-calculation-round": { - "description": "\\[rwcalr\\] number of leftover MicroAlgos after the distribution of rewards-rate MicroAlgos for every reward unit in the next round.", - "type": "integer" + "required": [ + "app", + "name" + ], + "type": "object" + }, + "EvalDelta": { + "description": "Represents a TEAL value delta.", + "properties": { + "action": { + "description": "\\[at\\] delta action.", + "type": "integer" + }, + "bytes": { + "description": "\\[bs\\] bytes value.", + "type": "string" + }, + "uint": { + "description": "\\[ui\\] uint value.", + "type": "integer", + "x-algorand-format": "uint64" + } }, - "rewards-level": { - "description": "\\[earn\\] How many rewards, in MicroAlgos, have been distributed to each RewardUnit of MicroAlgos since genesis.", - "type": "integer" + "required": [ + "action" + ], + "type": "object" + }, + "EvalDeltaKeyValue": { + "description": "Key-value pairs for StateDelta.", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/EvalDelta" + } }, - "rewards-pool": { - "description": "\\[rwd\\] accepts periodic injections from the fee-sink and continually redistributes them as rewards.", - "type": "string" + "required": [ + "key", + "value" + ], + "type": "object" + }, + "HashFactory": { + "properties": { + "hash-type": { + "description": "\\[t\\]", + "type": "integer", + "x-algorand-format": "uint16" + } }, - "rewards-rate": { - "description": "\\[rate\\] Number of new MicroAlgos added to the participation stake from rewards at the next round.", - "type": "integer" + "type": "object" + }, + "Hashtype": { + "description": "The type of hash function used to create the proof, must be one of: \n* sha512_256 \n* sha256", + "enum": [ + "sha512_256", + "sha256" + ], + "type": "string" + }, + "HbProofFields": { + "description": "\\[hbprf\\] HbProof is a signature using HeartbeatAddress's partkey, thereby showing it is online.", + "properties": { + "hb-pk": { + "description": "\\[p\\] Public key of the heartbeat message.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "hb-pk1sig": { + "description": "\\[p1s\\] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "hb-pk2": { + "description": "\\[p2\\] Key for new-style two-level ephemeral signature.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "hb-pk2sig": { + "description": "\\[p2s\\] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "hb-sig": { + "description": "\\[s\\] Signature of the heartbeat message.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } }, - "rewards-residue": { - "description": "\\[frac\\] Number of leftover MicroAlgos after the distribution of RewardsRate/rewardUnits MicroAlgos for every reward unit in the next round.", - "type": "integer" - } - } - }, - "BlockUpgradeState": { - "description": "Fields relating to a protocol upgrade.", - "type": "object", - "required": [ - "current-protocol" - ], - "properties": { - "current-protocol": { - "description": "\\[proto\\] The current protocol version.", - "type": "string" + "type": "object" + }, + "HealthCheck": { + "description": "A health check response.", + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "db-available": { + "type": "boolean" + }, + "errors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "is-migrating": { + "type": "boolean" + }, + "message": { + "type": "string" + }, + "round": { + "type": "integer" + }, + "version": { + "description": "Current version.", + "type": "string" + } }, - "next-protocol": { - "description": "\\[nextproto\\] The next proposed protocol version.", - "type": "string" + "required": [ + "db-available", + "is-migrating", + "message", + "round", + "version" + ], + "type": "object" + }, + "HoldingRef": { + "description": "HoldingRef names a holding by referring to an Address and Asset it belongs to.", + "properties": { + "address": { + "description": "\\[d\\] Address in access list, or the sender of the transaction.", + "type": "string", + "x-algorand-format": "Address" + }, + "asset": { + "description": "\\[s\\] Asset ID for asset in access list.", + "type": "integer" + } }, - "next-protocol-approvals": { - "description": "\\[nextyes\\] Number of blocks which approved the protocol upgrade.", - "type": "integer" + "required": [ + "address", + "asset" + ], + "type": "object" + }, + "IndexerStateProofMessage": { + "properties": { + "block-headers-commitment": { + "description": "\\[b\\]", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "first-attested-round": { + "description": "\\[f\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "latest-attested-round": { + "description": "\\[l\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "ln-proven-weight": { + "description": "\\[P\\]", + "type": "integer", + "x-algorand-format": "uint64" + }, + "voters-commitment": { + "description": "\\[v\\]", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } }, - "next-protocol-switch-on": { - "description": "\\[nextswitch\\] Round on which the protocol upgrade will take effect.", - "type": "integer" + "type": "object" + }, + "LocalsRef": { + "description": "LocalsRef names a local state by referring to an Address and App it belongs to.", + "properties": { + "address": { + "description": "\\[d\\] Address in access list, or the sender of the transaction.", + "type": "string", + "x-algorand-format": "Address" + }, + "app": { + "description": "\\[p\\] Application ID for app in access list, or zero if referring to the called application.", + "type": "integer" + } }, - "next-protocol-vote-before": { - "description": "\\[nextbefore\\] Deadline round for this protocol upgrade (No votes will be consider after this round).", - "type": "integer" - } - } - }, - "BlockUpgradeVote": { - "description": "Fields relating to voting for a protocol upgrade.", - "type": "object", - "properties": { - "upgrade-approve": { - "description": "\\[upgradeyes\\] Indicates a yes vote for the current proposal.", - "type": "boolean" + "required": [ + "address", + "app" + ], + "type": "object" + }, + "MerkleArrayProof": { + "properties": { + "hash-factory": { + "$ref": "#/components/schemas/HashFactory" + }, + "path": { + "description": "\\[pth\\]", + "items": { + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "type": "array" + }, + "tree-depth": { + "description": "\\[td\\]", + "type": "integer", + "x-algorand-format": "uint8" + } }, - "upgrade-delay": { - "description": "\\[upgradedelay\\] Indicates the time between acceptance and execution.", - "type": "integer" + "type": "object" + }, + "MiniAssetHolding": { + "description": "A simplified version of AssetHolding ", + "properties": { + "address": { + "type": "string" + }, + "amount": { + "type": "integer", + "x-algorand-format": "uint64" + }, + "deleted": { + "description": "Whether or not this asset holding is currently deleted from its account.", + "type": "boolean" + }, + "is-frozen": { + "type": "boolean" + }, + "opted-in-at-round": { + "description": "Round during which the account opted into the asset.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "opted-out-at-round": { + "description": "Round during which the account opted out of the asset.", + "type": "integer", + "x-algorand-format": "uint64" + } }, - "upgrade-propose": { - "description": "\\[upgradeprop\\] Indicates a proposed upgrade.", - "type": "string" - } - } - }, - "Box": { - "description": "Box name and its content.", - "required": [ - "name", - "value", - "round" - ], - "type": "object", - "properties": { - "round": { - "description": "The round for which this information is relevant", - "type": "integer" + "required": [ + "address", + "amount", + "is-frozen" + ], + "type": "object" + }, + "OnCompletion": { + "description": "\\[apan\\] defines the what additional actions occur with the transaction.\n\nValid types:\n* noop\n* optin\n* closeout\n* clear\n* update\n* update\n* delete", + "enum": [ + "noop", + "optin", + "closeout", + "clear", + "update", + "delete" + ], + "type": "string" + }, + "ParticipationUpdates": { + "description": "Participation account data that needs to be checked/acted on by the network.", + "properties": { + "absent-participation-accounts": { + "description": "\\[partupabs\\] a list of online accounts that need to be suspended.", + "items": { + "type": "string" + }, + "type": "array" + }, + "expired-participation-accounts": { + "description": "\\[partupdrmv\\] a list of online accounts that needs to be converted to offline since their participation key expired.", + "items": { + "type": "string" + }, + "type": "array" + } }, - "name": { - "description": "\\[name\\] box name, base64 encoded", - "format": "byte", - "type": "string" + "type": "object" + }, + "ResourceRef": { + "description": "ResourceRef names a single resource. Only one of the fields should be set.", + "properties": { + "address": { + "description": "\\[d\\] Account whose balance record is accessible by the executing ApprovalProgram or ClearStateProgram.", + "type": "string", + "x-algorand-format": "Address" + }, + "application-id": { + "description": "\\[p\\] Application id whose GlobalState may be read by the executing\n ApprovalProgram or ClearStateProgram.", + "type": "integer" + }, + "asset-id": { + "description": "\\[s\\] Asset whose AssetParams may be read by the executing\n ApprovalProgram or ClearStateProgram.", + "type": "integer" + }, + "box": { + "$ref": "#/components/schemas/BoxReference" + }, + "holding": { + "$ref": "#/components/schemas/HoldingRef" + }, + "local": { + "$ref": "#/components/schemas/LocalsRef" + } }, - "value": { - "description": "\\[value\\] box value, base64 encoded.", - "format": "byte", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", - "type": "string" - } - } - }, - "BoxDescriptor": { - "description": "Box descriptor describes an app box without a value.", - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "Base64 encoded box name", - "format": "byte", - "type": "string" - } - } - }, - "BoxReference": { - "description": "BoxReference names a box by its name and the application ID it belongs to.", - "type": "object", - "required": [ - "app", - "name" - ], - "properties": { - "app": { - "description": "Application ID to which the box belongs, or zero if referring to the called application.", - "type": "integer" + "type": "object" + }, + "StateDelta": { + "description": "Application state delta.", + "items": { + "$ref": "#/components/schemas/EvalDeltaKeyValue" }, - "name": { - "description": "Base64 encoded box name", - "type": "string", - "format": "byte" - } - } - }, - "HealthCheck": { - "description": "A health check response.", - "type": "object", - "required": [ - "version", - "message", - "round", - "is-migrating", - "db-available" - ], - "properties": { - "version": { - "description": "Current version.", - "type": "string" + "type": "array" + }, + "StateProofFields": { + "description": "\\[sp\\] represents a state proof.\n\nDefinition:\ncrypto/stateproof/structs.go : StateProof", + "properties": { + "part-proofs": { + "$ref": "#/components/schemas/MerkleArrayProof" + }, + "positions-to-reveal": { + "description": "\\[pr\\] Sequence of reveal positions.", + "items": { + "type": "integer", + "x-algorand-format": "uint64" + }, + "type": "array" + }, + "reveals": { + "description": "\\[r\\] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp", + "items": { + "$ref": "#/components/schemas/StateProofReveal" + }, + "type": "array" + }, + "salt-version": { + "description": "\\[v\\] Salt version of the merkle signature.", + "type": "integer" + }, + "sig-commit": { + "description": "\\[c\\]", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "sig-proofs": { + "$ref": "#/components/schemas/MerkleArrayProof" + }, + "signed-weight": { + "description": "\\[w\\]", + "type": "integer", + "x-algorand-format": "uint64" + } }, - "data": { - "type": "object" + "type": "object" + }, + "StateProofParticipant": { + "properties": { + "verifier": { + "$ref": "#/components/schemas/StateProofVerifier" + }, + "weight": { + "description": "\\[w\\]", + "type": "integer", + "x-algorand-format": "uint64" + } }, - "round": { - "type": "integer" + "type": "object" + }, + "StateProofReveal": { + "properties": { + "participant": { + "$ref": "#/components/schemas/StateProofParticipant" + }, + "position": { + "description": "The position in the signature and participants arrays corresponding to this entry.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "sig-slot": { + "$ref": "#/components/schemas/StateProofSigSlot" + } }, - "is-migrating": { - "type": "boolean" + "type": "object" + }, + "StateProofSigSlot": { + "properties": { + "lower-sig-weight": { + "description": "\\[l\\] The total weight of signatures in the lower-numbered slots.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "signature": { + "$ref": "#/components/schemas/StateProofSignature" + } }, - "db-available": { - "type": "boolean" + "type": "object" + }, + "StateProofSignature": { + "properties": { + "falcon-signature": { + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "merkle-array-index": { + "type": "integer", + "x-algorand-foramt": "uint64" + }, + "proof": { + "$ref": "#/components/schemas/MerkleArrayProof" + }, + "verifying-key": { + "description": "\\[vkey\\]", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } }, - "message": { - "type": "string" + "type": "object" + }, + "StateProofTracking": { + "properties": { + "next-round": { + "description": "\\[n\\] Next round for which we will accept a state proof transaction.", + "type": "integer" + }, + "online-total-weight": { + "description": "\\[t\\] The total number of microalgos held by the online accounts during the StateProof round.", + "type": "integer" + }, + "type": { + "description": "State Proof Type. Note the raw object uses map with this as key.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "voters-commitment": { + "description": "\\[v\\] Root of a vector commitment containing online accounts that will help sign the proof.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } }, - "errors": { - "type": "array", - "items": { + "type": "object" + }, + "StateProofVerifier": { + "properties": { + "commitment": { + "description": "\\[cmt\\] Represents the root of the vector commitment tree.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", "type": "string" + }, + "key-lifetime": { + "description": "\\[lf\\] Key lifetime.", + "type": "integer", + "x-algorand-format": "uint64" } - } - } - }, - "HoldingRef": { - "description": "HoldingRef names a holding by referring to an Address and Asset it belongs to.", - "type": "object", - "required": [ - "address", - "asset" - ], - "properties": { - "address": { - "description": "\\[d\\] Address in access list, or the sender of the transaction.", - "type": "string", - "x-algorand-format": "Address" }, - "asset": { - "description": "\\[s\\] Asset ID for asset in access list.", - "type": "integer" - } - } - }, - "LocalsRef": { - "description": "LocalsRef names a local state by referring to an Address and App it belongs to.", - "type": "object", - "required": [ - "address", - "app" - ], - "properties": { - "address": { - "description": "\\[d\\] Address in access list, or the sender of the transaction.", - "type": "string", - "x-algorand-format": "Address" + "type": "object" + }, + "StateSchema": { + "description": "Represents a \\[apls\\] local-state or \\[apgs\\] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.", + "properties": { + "num-byte-slice": { + "description": "Maximum number of TEAL byte slices that may be stored in the key/value store.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "num-uint": { + "description": "Maximum number of TEAL uints that may be stored in the key/value store.", + "type": "integer", + "x-algorand-format": "uint64" + } }, - "app": { - "description": "\\[p\\] Application ID for app in access list, or zero if referring to the called application.", - "type": "integer" - } - } - }, - "MiniAssetHolding": { - "description": "A simplified version of AssetHolding ", - "type": "object", - "required": [ - "address", - "amount", - "is-frozen" - ], - "properties": { - "address": { - "type": "string" + "required": [ + "num-byte-slice", + "num-uint" + ], + "type": "object" + }, + "TealKeyValue": { + "description": "Represents a key-value pair in an application store.", + "properties": { + "key": { + "type": "string" + }, + "value": { + "$ref": "#/components/schemas/TealValue" + } }, - "amount": { - "type": "integer", - "x-algorand-format": "uint64" + "required": [ + "key", + "value" + ], + "type": "object" + }, + "TealKeyValueStore": { + "description": "Represents a key-value store for use in an application.", + "items": { + "$ref": "#/components/schemas/TealKeyValue" }, - "is-frozen": { - "type": "boolean" + "type": "array" + }, + "TealValue": { + "description": "Represents a TEAL value.", + "properties": { + "bytes": { + "description": "bytes value.", + "type": "string" + }, + "type": { + "description": "type of the value. Value `1` refers to **bytes**, value `2` refers to **uint**", + "type": "integer" + }, + "uint": { + "description": "uint value.", + "type": "integer", + "x-algorand-format": "uint64" + } }, - "deleted": { - "description": "Whether or not this asset holding is currently deleted from its account.", - "type": "boolean" + "required": [ + "bytes", + "type", + "uint" + ], + "type": "object" + }, + "Transaction": { + "description": "Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.\n\nDefinition:\ndata/transactions/signedtxn.go : SignedTxn\ndata/transactions/transaction.go : Transaction\n", + "properties": { + "application-transaction": { + "$ref": "#/components/schemas/TransactionApplication" + }, + "asset-config-transaction": { + "$ref": "#/components/schemas/TransactionAssetConfig" + }, + "asset-freeze-transaction": { + "$ref": "#/components/schemas/TransactionAssetFreeze" + }, + "asset-transfer-transaction": { + "$ref": "#/components/schemas/TransactionAssetTransfer" + }, + "auth-addr": { + "description": "\\[sgnr\\] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.", + "type": "string", + "x-algorand-format": "Address" + }, + "close-rewards": { + "description": "\\[rc\\] rewards applied to close-remainder-to account.", + "type": "integer" + }, + "closing-amount": { + "description": "\\[ca\\] closing amount for transaction.", + "type": "integer" + }, + "confirmed-round": { + "description": "Round when the transaction was confirmed.", + "type": "integer" + }, + "created-application-index": { + "description": "Specifies an application index (ID) if an application was created with this transaction.", + "type": "integer" + }, + "created-asset-index": { + "description": "Specifies an asset index (ID) if an asset was created with this transaction.", + "type": "integer" + }, + "fee": { + "description": "\\[fee\\] Transaction fee.", + "type": "integer" + }, + "first-valid": { + "description": "\\[fv\\] First valid round for this transaction.", + "type": "integer" + }, + "genesis-hash": { + "description": "\\[gh\\] Hash of genesis block.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "genesis-id": { + "description": "\\[gen\\] genesis block ID.", + "type": "string" + }, + "global-state-delta": { + "$ref": "#/components/schemas/StateDelta" + }, + "group": { + "description": "\\[grp\\] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "heartbeat-transaction": { + "$ref": "#/components/schemas/TransactionHeartbeat" + }, + "id": { + "description": "Transaction ID", + "type": "string" + }, + "inner-txns": { + "description": "Inner transactions produced by application execution.", + "items": { + "$ref": "#/components/schemas/Transaction" + }, + "type": "array" + }, + "intra-round-offset": { + "description": "Offset into the round where this transaction was confirmed.", + "type": "integer" + }, + "keyreg-transaction": { + "$ref": "#/components/schemas/TransactionKeyreg" + }, + "last-valid": { + "description": "\\[lv\\] Last valid round for this transaction.", + "type": "integer" + }, + "lease": { + "description": "\\[lx\\] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "local-state-delta": { + "description": "\\[ld\\] Local state key/value changes for the application being executed by this transaction.", + "items": { + "$ref": "#/components/schemas/AccountStateDelta" + }, + "type": "array" + }, + "logs": { + "description": "\\[lg\\] Logs for the application being executed by this transaction.", + "items": { + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "type": "array" + }, + "note": { + "description": "\\[note\\] Free form data.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "payment-transaction": { + "$ref": "#/components/schemas/TransactionPayment" + }, + "receiver-rewards": { + "description": "\\[rr\\] rewards applied to receiver account.", + "type": "integer" + }, + "rekey-to": { + "description": "\\[rekey\\] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.", + "type": "string", + "x-algorand-format": "Address" + }, + "round-time": { + "description": "Time when the block this transaction is in was confirmed.", + "type": "integer" + }, + "sender": { + "description": "\\[snd\\] Sender's address.", + "type": "string" + }, + "sender-rewards": { + "description": "\\[rs\\] rewards applied to sender account.", + "type": "integer" + }, + "signature": { + "$ref": "#/components/schemas/TransactionSignature" + }, + "state-proof-transaction": { + "$ref": "#/components/schemas/TransactionStateProof" + }, + "tx-type": { + "description": "\\[type\\] Indicates what type of transaction this is. Different types have different fields.\n\nValid types, and where their fields are stored:\n* \\[pay\\] payment-transaction\n* \\[keyreg\\] keyreg-transaction\n* \\[acfg\\] asset-config-transaction\n* \\[axfer\\] asset-transfer-transaction\n* \\[afrz\\] asset-freeze-transaction\n* \\[appl\\] application-transaction\n* \\[stpf\\] state-proof-transaction\n* \\[hb\\] heartbeat-transaction", + "enum": [ + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], + "type": "string", + "x-algorand-format": "tx-type-enum" + } + }, + "required": [ + "fee", + "first-valid", + "last-valid", + "sender", + "tx-type" + ], + "type": "object" + }, + "TransactionApplication": { + "description": "Fields for application transactions.\n\nDefinition:\ndata/transactions/application.go : ApplicationCallTxnFields", + "properties": { + "access": { + "description": "\\[al\\] Access unifies `accounts`, `foreign-apps`, `foreign-assets`, and `box-references` under a single list. If access is non-empty, these lists must be empty. If access is empty, those lists may be non-empty.", + "items": { + "$ref": "#/components/schemas/ResourceRef" + }, + "type": "array" + }, + "accounts": { + "description": "\\[apat\\] List of accounts in addition to the sender that may be accessed from the application's approval-program and clear-state-program.", + "items": { + "type": "string", + "x-algorand-format": "Address" + }, + "type": "array" + }, + "application-args": { + "description": "\\[apaa\\] transaction specific arguments accessed from the application's approval-program and clear-state-program.", + "items": { + "type": "string" + }, + "type": "array" + }, + "application-id": { + "description": "\\[apid\\] ID of the application being configured or empty if creating.", + "type": "integer" + }, + "approval-program": { + "description": "\\[apap\\] Logic executed for every application transaction, except when on-completion is set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string", + "x-algorand-format": "TEALProgram" + }, + "box-references": { + "description": "\\[apbx\\] the boxes that can be accessed by this transaction (and others in the same group).", + "items": { + "$ref": "#/components/schemas/BoxReference" + }, + "type": "array" + }, + "clear-state-program": { + "description": "\\[apsu\\] Logic executed for application transactions with on-completion set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string", + "x-algorand-format": "TEALProgram" + }, + "extra-program-pages": { + "description": "\\[epp\\] specifies the additional app program len requested in pages.", + "type": "integer" + }, + "foreign-apps": { + "description": "\\[apfa\\] Lists the applications in addition to the application-id whose global states may be accessed by this application's approval-program and clear-state-program. The access is read-only.", + "items": { + "type": "integer" + }, + "type": "array" + }, + "foreign-assets": { + "description": "\\[apas\\] lists the assets whose parameters may be accessed by this application's ApprovalProgram and ClearStateProgram. The access is read-only.", + "items": { + "type": "integer" + }, + "type": "array" + }, + "global-state-schema": { + "$ref": "#/components/schemas/StateSchema" + }, + "local-state-schema": { + "$ref": "#/components/schemas/StateSchema" + }, + "on-completion": { + "$ref": "#/components/schemas/OnCompletion" + }, + "reject-version": { + "description": "\\[aprv\\] the lowest application version for which this transaction should immediately fail. 0 indicates that no version check should be performed.", + "type": "integer" + } }, - "opted-in-at-round": { - "description": "Round during which the account opted into the asset.", - "type": "integer", - "x-algorand-format": "uint64" + "required": [ + "application-id", + "on-completion" + ], + "type": "object" + }, + "TransactionAssetConfig": { + "description": "Fields for asset allocation, re-configuration, and destruction.\n\n\nA zero value for asset-id indicates asset creation.\nA zero value for the params indicates asset destruction.\n\nDefinition:\ndata/transactions/asset.go : AssetConfigTxnFields", + "properties": { + "asset-id": { + "description": "\\[xaid\\] ID of the asset being configured or empty if creating.", + "type": "integer" + }, + "params": { + "$ref": "#/components/schemas/AssetParams" + } }, - "opted-out-at-round": { - "description": "Round during which the account opted out of the asset.", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "OnCompletion": { - "description": "\\[apan\\] defines the what additional actions occur with the transaction.\n\nValid types:\n* noop\n* optin\n* closeout\n* clear\n* update\n* update\n* delete", - "type": "string", - "enum": [ - "noop", - "optin", - "closeout", - "clear", - "update", - "delete" - ] - }, - "ParticipationUpdates": { - "description": "Participation account data that needs to be checked/acted on by the network.", - "type": "object", - "properties": { - "expired-participation-accounts": { - "description": "\\[partupdrmv\\] a list of online accounts that needs to be converted to offline since their participation key expired.", - "type": "array", - "items": { + "type": "object" + }, + "TransactionAssetFreeze": { + "description": "Fields for an asset freeze transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetFreezeTxnFields", + "properties": { + "address": { + "description": "\\[fadd\\] Address of the account whose asset is being frozen or thawed.", "type": "string" + }, + "asset-id": { + "description": "\\[faid\\] ID of the asset being frozen or thawed.", + "type": "integer" + }, + "new-freeze-status": { + "description": "\\[afrz\\] The new freeze status.", + "type": "boolean" } }, - "absent-participation-accounts": { - "description": "\\[partupabs\\] a list of online accounts that need to be suspended.", - "type": "array", - "items": { + "required": [ + "address", + "asset-id", + "new-freeze-status" + ], + "type": "object" + }, + "TransactionAssetTransfer": { + "description": "Fields for an asset transfer transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetTransferTxnFields", + "properties": { + "amount": { + "description": "\\[aamt\\] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account's Assets map.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "asset-id": { + "description": "\\[xaid\\] ID of the asset being transferred.", + "type": "integer" + }, + "close-amount": { + "description": "Number of assets transferred to the close-to account as part of the transaction.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "close-to": { + "description": "\\[aclose\\] Indicates that the asset should be removed from the account's Assets map, and specifies where the remaining asset holdings should be transferred. It's always valid to transfer remaining asset holdings to the creator account.", + "type": "string" + }, + "receiver": { + "description": "\\[arcv\\] Recipient address of the transfer.", + "type": "string" + }, + "sender": { + "description": "\\[asnd\\] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.", "type": "string" } - } - } - }, - "ResourceRef": { - "description": "ResourceRef names a single resource. Only one of the fields should be set.", - "type": "object", - "properties": { - "address": { - "description": "\\[d\\] Account whose balance record is accessible by the executing ApprovalProgram or ClearStateProgram.", - "type": "string", - "x-algorand-format": "Address" - }, - "application-id": { - "description": "\\[p\\] Application id whose GlobalState may be read by the executing\n ApprovalProgram or ClearStateProgram.", - "type": "integer" - }, - "asset-id": { - "description": "\\[s\\] Asset whose AssetParams may be read by the executing\n ApprovalProgram or ClearStateProgram.", - "type": "integer" - }, - "box": { - "$ref": "#/definitions/BoxReference" - }, - "holding": { - "$ref": "#/definitions/HoldingRef" - }, - "local": { - "$ref": "#/definitions/LocalsRef" - } - } - }, - "StateDelta": { - "description": "Application state delta.", - "type": "array", - "items": { - "$ref": "#/definitions/EvalDeltaKeyValue" - } - }, - "AccountStateDelta": { - "description": "Application state delta.", - "type": "object", - "required": [ - "address", - "delta" - ], - "properties": { - "address": { - "type": "string" - }, - "delta": { - "$ref": "#/definitions/StateDelta" - } - } - }, - "EvalDeltaKeyValue": { - "description": "Key-value pairs for StateDelta.", - "type": "object", - "required": [ - "key", - "value" - ], - "properties": { - "key": { - "type": "string" - }, - "value": { - "$ref": "#/definitions/EvalDelta" - } - } - }, - "EvalDelta": { - "description": "Represents a TEAL value delta.", - "type": "object", - "required": [ - "action" - ], - "properties": { - "action": { - "description": "\\[at\\] delta action.", - "type": "integer" - }, - "bytes": { - "description": "\\[bs\\] bytes value.", - "type": "string" - }, - "uint": { - "description": "\\[ui\\] uint value.", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "StateSchema": { - "description": "Represents a \\[apls\\] local-state or \\[apgs\\] global-state schema. These schemas determine how much storage may be used in a local-state or global-state for an application. The more space used, the larger minimum balance must be maintained in the account holding the data.", - "type": "object", - "required": [ - "num-uint", - "num-byte-slice" - ], - "properties": { - "num-uint": { - "description": "Maximum number of TEAL uints that may be stored in the key/value store.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "num-byte-slice": { - "description": "Maximum number of TEAL byte slices that may be stored in the key/value store.", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "Transaction": { - "description": "Contains all fields common to all transactions and serves as an envelope to all transactions type. Represents both regular and inner transactions.\n\nDefinition:\ndata/transactions/signedtxn.go : SignedTxn\ndata/transactions/transaction.go : Transaction\n", - "type": "object", - "required": [ - "tx-type", - "sender", - "fee", - "first-valid", - "last-valid" - ], - "mutually-exclusive": [ - "application-transaction", - "asset-config-transaction", - "asset-freeze-transaction", - "asset-transfer-transaction", - "keyreg-transaction", - "payment-transaction", - "state-proof-transaction", - "heartbeat-transaction" - ], - "properties": { - "application-transaction": { - "$ref": "#/definitions/TransactionApplication" - }, - "asset-config-transaction": { - "$ref": "#/definitions/TransactionAssetConfig" - }, - "asset-freeze-transaction": { - "$ref": "#/definitions/TransactionAssetFreeze" - }, - "asset-transfer-transaction": { - "$ref": "#/definitions/TransactionAssetTransfer" - }, - "state-proof-transaction": { - "$ref": "#/definitions/TransactionStateProof" - }, - "heartbeat-transaction": { - "$ref": "#/definitions/TransactionHeartbeat" - }, - "auth-addr": { - "description": "\\[sgnr\\] this is included with signed transactions when the signing address does not equal the sender. The backend can use this to ensure that auth addr is equal to the accounts auth addr.", - "type": "string", - "x-algorand-format": "Address" - }, - "close-rewards": { - "description": "\\[rc\\] rewards applied to close-remainder-to account.", - "type": "integer" - }, - "closing-amount": { - "description": "\\[ca\\] closing amount for transaction.", - "type": "integer" - }, - "confirmed-round": { - "description": "Round when the transaction was confirmed.", - "type": "integer" - }, - "created-application-index": { - "description": "Specifies an application index (ID) if an application was created with this transaction.", - "type": "integer" - }, - "created-asset-index": { - "description": "Specifies an asset index (ID) if an asset was created with this transaction.", - "type": "integer" - }, - "fee": { - "description": "\\[fee\\] Transaction fee.", - "type": "integer" - }, - "first-valid": { - "description": "\\[fv\\] First valid round for this transaction.", - "type": "integer" - }, - "genesis-hash": { - "description": "\\[gh\\] Hash of genesis block.", - "type": "string", - "format": "byte" - }, - "genesis-id": { - "description": "\\[gen\\] genesis block ID.", - "type": "string" - }, - "group": { - "description": "\\[grp\\] Base64 encoded byte array of a sha512/256 digest. When present indicates that this transaction is part of a transaction group and the value is the sha512/256 hash of the transactions in that group.", - "type": "string", - "format": "byte" - }, - "id": { - "description": "Transaction ID", - "type": "string" - }, - "intra-round-offset": { - "description": "Offset into the round where this transaction was confirmed.", - "type": "integer" - }, - "keyreg-transaction": { - "$ref": "#/definitions/TransactionKeyreg" - }, - "last-valid": { - "description": "\\[lv\\] Last valid round for this transaction.", - "type": "integer" - }, - "lease": { - "description": "\\[lx\\] Base64 encoded 32-byte array. Lease enforces mutual exclusion of transactions. If this field is nonzero, then once the transaction is confirmed, it acquires the lease identified by the (Sender, Lease) pair of the transaction until the LastValid round passes. While this transaction possesses the lease, no other transaction specifying this lease can be confirmed.", - "type": "string", - "format": "byte" - }, - "note": { - "description": "\\[note\\] Free form data.", - "type": "string", - "format": "byte" - }, - "payment-transaction": { - "$ref": "#/definitions/TransactionPayment" - }, - "receiver-rewards": { - "description": "\\[rr\\] rewards applied to receiver account.", - "type": "integer" - }, - "rekey-to": { - "description": "\\[rekey\\] when included in a valid transaction, the accounts auth addr will be updated with this value and future signatures must be signed with the key represented by this address.", - "type": "string", - "x-algorand-format": "Address" - }, - "round-time": { - "description": "Time when the block this transaction is in was confirmed.", - "type": "integer" - }, - "sender": { - "description": "\\[snd\\] Sender's address.", - "type": "string" - }, - "sender-rewards": { - "description": "\\[rs\\] rewards applied to sender account.", - "type": "integer" - }, - "signature": { - "$ref": "#/definitions/TransactionSignature" }, - "tx-type": { - "description": "\\[type\\] Indicates what type of transaction this is. Different types have different fields.\n\nValid types, and where their fields are stored:\n* \\[pay\\] payment-transaction\n* \\[keyreg\\] keyreg-transaction\n* \\[acfg\\] asset-config-transaction\n* \\[axfer\\] asset-transfer-transaction\n* \\[afrz\\] asset-freeze-transaction\n* \\[appl\\] application-transaction\n* \\[stpf\\] state-proof-transaction\n* \\[hb\\] heartbeat-transaction", - "type": "string", - "enum": [ - "pay", - "keyreg", - "acfg", - "axfer", - "afrz", - "appl", - "stpf", - "hb" - ], - "x-algorand-format": "tx-type-enum" + "required": [ + "amount", + "asset-id", + "receiver" + ], + "type": "object" + }, + "TransactionHeartbeat": { + "description": "Fields for a heartbeat transaction.\n\nDefinition:\ndata/transactions/heartbeat.go : HeartbeatTxnFields", + "properties": { + "hb-address": { + "description": "\\[hbad\\] HbAddress is the account this txn is proving onlineness for.", + "type": "string" + }, + "hb-key-dilution": { + "description": "\\[hbkd\\] HbKeyDilution must match HbAddress account's current KeyDilution.", + "type": "integer", + "x-algorand-format": "uint64" + }, + "hb-proof": { + "$ref": "#/components/schemas/HbProofFields" + }, + "hb-seed": { + "description": "\\[hbsd\\] HbSeed must be the block seed for the this transaction's firstValid block.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "hb-vote-id": { + "description": "\\[hbvid\\] HbVoteID must match the HbAddress account's current VoteID.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + } }, - "local-state-delta": { - "description": "\\[ld\\] Local state key/value changes for the application being executed by this transaction.", - "type": "array", - "items": { - "$ref": "#/definitions/AccountStateDelta" + "required": [ + "hb-address", + "hb-key-dilution", + "hb-proof", + "hb-seed", + "hb-vote-id" + ], + "type": "object" + }, + "TransactionKeyreg": { + "description": "Fields for a keyreg transaction.\n\nDefinition:\ndata/transactions/keyreg.go : KeyregTxnFields", + "properties": { + "non-participation": { + "description": "\\[nonpart\\] Mark the account as participating or non-participating.", + "type": "boolean" + }, + "selection-participation-key": { + "description": "\\[selkey\\] Public key used with the Verified Random Function (VRF) result during committee selection.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "state-proof-key": { + "description": "\\[sprfkey\\] State proof key used in key registration transactions.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "vote-first-valid": { + "description": "\\[votefst\\] First round this participation key is valid.", + "type": "integer" + }, + "vote-key-dilution": { + "description": "\\[votekd\\] Number of subkeys in each batch of participation keys.", + "type": "integer" + }, + "vote-last-valid": { + "description": "\\[votelst\\] Last round this participation key is valid.", + "type": "integer" + }, + "vote-participation-key": { + "description": "\\[votekey\\] Participation public key used in key registration transactions.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" } }, - "global-state-delta": { - "description": "\\[gd\\] Global state key/value changes for the application being executed by this transaction.", - "$ref": "#/definitions/StateDelta" + "type": "object" + }, + "TransactionPayment": { + "description": "Fields for a payment transaction.\n\nDefinition:\ndata/transactions/payment.go : PaymentTxnFields", + "properties": { + "amount": { + "description": "\\[amt\\] number of MicroAlgos intended to be transferred.", + "type": "integer" + }, + "close-amount": { + "description": "Number of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.", + "type": "integer" + }, + "close-remainder-to": { + "description": "\\[close\\] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.", + "type": "string" + }, + "receiver": { + "description": "\\[rcv\\] receiver's address.", + "type": "string" + } }, - "logs": { - "description": "\\[lg\\] Logs for the application being executed by this transaction.", - "type": "array", - "items": { - "type": "string", - "format": "byte" + "required": [ + "amount", + "receiver" + ], + "type": "object" + }, + "TransactionSignature": { + "description": "Validation signature associated with some data. Only one of the signatures should be provided.", + "properties": { + "logicsig": { + "$ref": "#/components/schemas/TransactionSignatureLogicsig" + }, + "multisig": { + "$ref": "#/components/schemas/TransactionSignatureMultisig" + }, + "sig": { + "description": "\\[sig\\] Standard ed25519 signature.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" } }, - "inner-txns": { - "description": "Inner transactions produced by application execution.", - "type": "array", - "items": { - "$ref": "#/definitions/Transaction" + "type": "object" + }, + "TransactionSignatureLogicsig": { + "description": "\\[lsig\\] Programatic transaction signature.\n\nDefinition:\ndata/transactions/logicsig.go", + "properties": { + "args": { + "description": "\\[arg\\] Logic arguments, base64 encoded.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logic": { + "description": "\\[l\\] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "logic-multisig-signature": { + "$ref": "#/components/schemas/TransactionSignatureMultisig" + }, + "multisig-signature": { + "$ref": "#/components/schemas/TransactionSignatureMultisig" + }, + "signature": { + "description": "\\[sig\\] ed25519 signature.", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" } - } - } - }, - "TransactionApplication": { - "description": "Fields for application transactions.\n\nDefinition:\ndata/transactions/application.go : ApplicationCallTxnFields", - "type": "object", - "required": [ - "application-id", - "on-completion" - ], - "properties": { - "application-id": { - "description": "\\[apid\\] ID of the application being configured or empty if creating.", - "type": "integer" }, - "on-completion": { - "$ref": "#/definitions/OnCompletion" + "required": [ + "logic" + ], + "type": "object" + }, + "TransactionSignatureMultisig": { + "description": "structure holding multiple subsignatures.\n\nDefinition:\ncrypto/multisig.go : MultisigSig", + "properties": { + "subsignature": { + "description": "\\[subsig\\] holds pairs of public key and signatures.", + "items": { + "$ref": "#/components/schemas/TransactionSignatureMultisigSubsignature" + }, + "type": "array" + }, + "threshold": { + "description": "\\[thr\\]", + "type": "integer" + }, + "version": { + "description": "\\[v\\]", + "type": "integer" + } }, - "application-args": { - "description": "\\[apaa\\] transaction specific arguments accessed from the application's approval-program and clear-state-program.", - "type": "array", - "format": "byte", - "items": { + "type": "object" + }, + "TransactionSignatureMultisigSubsignature": { + "properties": { + "public-key": { + "description": "\\[pk\\]", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", + "type": "string" + }, + "signature": { + "description": "\\[s\\]", + "format": "byte", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", "type": "string" } }, - "access": { - "description": "\\[al\\] Access unifies `accounts`, `foreign-apps`, `foreign-assets`, and `box-references` under a single list. If access is non-empty, these lists must be empty. If access is empty, those lists may be non-empty.", - "type": "array", - "items": { - "$ref": "#/definitions/ResourceRef" + "type": "object" + }, + "TransactionStateProof": { + "description": "Fields for a state proof transaction. \n\nDefinition:\ndata/transactions/stateproof.go : StateProofTxnFields", + "properties": { + "message": { + "$ref": "#/components/schemas/IndexerStateProofMessage" + }, + "state-proof": { + "$ref": "#/components/schemas/StateProofFields" + }, + "state-proof-type": { + "description": "\\[sptype\\] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go", + "type": "integer", + "x-algorand-format": "uint64" } }, - "accounts": { - "description": "\\[apat\\] List of accounts in addition to the sender that may be accessed from the application's approval-program and clear-state-program.", - "type": "array", - "format": "string", - "items": { - "type": "string", + "type": "object" + } + } + }, + "paths": { + "/health": { + "get": { + "operationId": "makeHealthCheck", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HealthCheck" + } + } + }, + "description": "(empty)" + }, + "default": { + "content": {}, + "description": "Unknown Error" + } + }, + "summary": "Returns 200 if healthy.", + "tags": [ + "common" + ] + } + }, + "/v2/accounts": { + "get": { + "description": "Search for accounts.", + "operationId": "searchForAccounts", + "parameters": [ + { + "description": "Asset ID", + "in": "query", + "name": "asset-id", + "schema": { + "type": "integer" + } + }, + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + }, + { + "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-greater-than", + "schema": { + "type": "integer" + } + }, + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + }, + { + "description": "Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.", + "explode": false, + "in": "query", + "name": "exclude", + "schema": { + "items": { + "enum": [ + "all", + "assets", + "created-assets", + "apps-local-state", + "created-apps", + "none" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" + }, + { + "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-less-than", + "schema": { + "type": "integer" + } + }, + { + "description": "Include accounts configured to use this spending key.", + "in": "query", + "name": "auth-addr", + "schema": { + "type": "string", + "x-algorand-format": "Address" + }, "x-algorand-format": "Address" + }, + { + "description": "Include results for the specified round. For performance reasons, this parameter may be disabled on some configurations. Using application-id or asset-id filters will return both creator and opt-in accounts. Filtering by include-all will return creator and opt-in accounts for deleted assets and accounts. Non-opt-in managers are not included in the results when asset-id is used.", + "in": "query", + "name": "round", + "schema": { + "type": "integer" + } + }, + { + "description": "Application ID", + "in": "query", + "name": "application-id", + "schema": { + "type": "integer" + } + }, + { + "description": "When this is set to true, return only accounts whose participation status is currently online.", + "in": "query", + "name": "online-only", + "schema": { + "type": "boolean" + } } - }, - "box-references": { - "description": "\\[apbx\\] the boxes that can be accessed by this transaction (and others in the same group).", - "type": "array", - "items": { - "$ref": "#/definitions/BoxReference" - } - }, - "foreign-apps": { - "description": "\\[apfa\\] Lists the applications in addition to the application-id whose global states may be accessed by this application's approval-program and clear-state-program. The access is read-only.", - "type": "array", - "format": "string", - "items": { - "type": "integer" - } - }, - "foreign-assets": { - "description": "\\[apas\\] lists the assets whose parameters may be accessed by this application's ApprovalProgram and ClearStateProgram. The access is read-only.", - "type": "array", - "format": "string", - "items": { - "type": "integer" + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "accounts": { + "items": { + "$ref": "#/components/schemas/Account" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "accounts", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" } }, - "local-state-schema": { - "$ref": "#/definitions/StateSchema" - }, - "global-state-schema": { - "$ref": "#/definitions/StateSchema" - }, - "approval-program": { - "description": "\\[apap\\] Logic executed for every application transaction, except when on-completion is set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Approval programs may reject the transaction.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "clear-state-program": { - "description": "\\[apsu\\] Logic executed for application transactions with on-completion set to \"clear\". It can read and write global state for the application, as well as account-specific local state. Clear state programs cannot reject the transaction.", - "type": "string", - "format": "byte", - "x-algorand-format": "TEALProgram" - }, - "extra-program-pages": { - "description": "\\[epp\\] specifies the additional app program len requested in pages.", - "type": "integer" - }, - "reject-version": { - "description": "\\[aprv\\] the lowest application version for which this transaction should immediately fail. 0 indicates that no version check should be performed.", - "type": "integer" - } - } - }, - "TransactionAssetConfig": { - "description": "Fields for asset allocation, re-configuration, and destruction.\n\n\nA zero value for asset-id indicates asset creation.\nA zero value for the params indicates asset destruction.\n\nDefinition:\ndata/transactions/asset.go : AssetConfigTxnFields", - "type": "object", - "properties": { - "asset-id": { - "description": "\\[xaid\\] ID of the asset being configured or empty if creating.", - "type": "integer" - }, - "params": { - "$ref": "#/definitions/AssetParams" - } + "tags": [ + "search" + ] } }, - "TransactionAssetFreeze": { - "description": "Fields for an asset freeze transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetFreezeTxnFields", - "type": "object", - "required": [ - "asset-id", - "address", - "new-freeze-status" - ], - "properties": { - "address": { - "description": "\\[fadd\\] Address of the account whose asset is being frozen or thawed.", - "type": "string" - }, - "asset-id": { - "description": "\\[faid\\] ID of the asset being frozen or thawed.", - "type": "integer" + "/v2/accounts/{account-id}": { + "get": { + "description": "Lookup account information.", + "operationId": "lookupAccountByID", + "parameters": [ + { + "description": "account string", + "in": "path", + "name": "account-id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Include results for the specified round.", + "in": "query", + "name": "round", + "schema": { + "type": "integer" + } + }, + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + }, + { + "description": "Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.", + "explode": false, + "in": "query", + "name": "exclude", + "schema": { + "items": { + "enum": [ + "all", + "assets", + "created-assets", + "apps-local-state", + "created-apps", + "none" + ], + "type": "string" + }, + "type": "array" + }, + "style": "form" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "account": { + "$ref": "#/components/schemas/Account" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } + }, + "required": [ + "account", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + } }, - "new-freeze-status": { - "description": "\\[afrz\\] The new freeze status.", - "type": "boolean" - } - } - }, - "TransactionStateProof": { - "description": "Fields for a state proof transaction. \n\nDefinition:\ndata/transactions/stateproof.go : StateProofTxnFields", - "type": "object", - "properties": { - "state-proof-type": { - "description": "\\[sptype\\] Type of the state proof. Integer representing an entry defined in protocol/stateproof.go", - "type": "integer", - "x-algorand-format": "uint64" - }, - "state-proof": { - "$ref": "#/definitions/StateProofFields" - }, - "message": { - "$ref": "#/definitions/IndexerStateProofMessage", - "description": "\\[spmsg\\]" - } + "tags": [ + "lookup" + ] } }, - "TransactionHeartbeat": { - "description": "Fields for a heartbeat transaction.\n\nDefinition:\ndata/transactions/heartbeat.go : HeartbeatTxnFields", - "type": "object", - "required": [ - "hb-address", - "hb-proof", - "hb-seed", - "hb-vote-id", - "hb-key-dilution" - ], - "properties": { - "hb-address": { - "description": "\\[hbad\\] HbAddress is the account this txn is proving onlineness for.", - "type": "string" - }, - "hb-proof": { - "$ref": "#/definitions/HbProofFields" - }, - "hb-seed": { - "description": "\\[hbsd\\] HbSeed must be the block seed for the this transaction's firstValid block.", - "type": "string", - "format": "byte" - }, - "hb-vote-id": { - "description": "\\[hbvid\\] HbVoteID must match the HbAddress account's current VoteID.", - "type": "string", - "format": "byte" + "/v2/accounts/{account-id}/apps-local-state": { + "get": { + "description": "Lookup an account's asset holdings, optionally for a specific ID.", + "operationId": "lookupAccountAppLocalStates", + "parameters": [ + { + "description": "account string", + "in": "path", + "name": "account-id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Application ID", + "in": "query", + "name": "application-id", + "schema": { + "type": "integer" + } + }, + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + }, + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "apps-local-states": { + "items": { + "$ref": "#/components/schemas/ApplicationLocalState" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "apps-local-states", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + } }, - "hb-key-dilution": { - "description": "\\[hbkd\\] HbKeyDilution must match HbAddress account's current KeyDilution.", - "type": "integer", - "x-algorand-format": "uint64" - } + "tags": [ + "lookup" + ] } }, - "TransactionAssetTransfer": { - "description": "Fields for an asset transfer transaction.\n\nDefinition:\ndata/transactions/asset.go : AssetTransferTxnFields", - "type": "object", - "required": [ - "asset-id", - "amount", - "receiver" - ], - "properties": { - "amount": { - "description": "\\[aamt\\] Amount of asset to transfer. A zero amount transferred to self allocates that asset in the account's Assets map.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "asset-id": { - "description": "\\[xaid\\] ID of the asset being transferred.", - "type": "integer" - }, - "close-amount": { - "description": "Number of assets transferred to the close-to account as part of the transaction.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "close-to": { - "description": "\\[aclose\\] Indicates that the asset should be removed from the account's Assets map, and specifies where the remaining asset holdings should be transferred. It's always valid to transfer remaining asset holdings to the creator account.", - "type": "string" - }, - "receiver": { - "description": "\\[arcv\\] Recipient address of the transfer.", - "type": "string" + "/v2/accounts/{account-id}/assets": { + "get": { + "description": "Lookup an account's asset holdings, optionally for a specific ID.", + "operationId": "lookupAccountAssets", + "parameters": [ + { + "description": "account string", + "in": "path", + "name": "account-id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Asset ID", + "in": "query", + "name": "asset-id", + "schema": { + "type": "integer" + } + }, + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + }, + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "assets": { + "items": { + "$ref": "#/components/schemas/AssetHolding" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "assets", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + } }, - "sender": { - "description": "\\[asnd\\] The effective sender during a clawback transactions. If this is not a zero value, the real transaction sender must be the Clawback address from the AssetParams.", - "type": "string" - } + "tags": [ + "lookup" + ] } }, - "TransactionKeyreg": { - "description": "Fields for a keyreg transaction.\n\nDefinition:\ndata/transactions/keyreg.go : KeyregTxnFields", - "type": "object", - "properties": { - "non-participation": { - "description": "\\[nonpart\\] Mark the account as participating or non-participating.", - "type": "boolean" - }, - "selection-participation-key": { - "description": "\\[selkey\\] Public key used with the Verified Random Function (VRF) result during committee selection.", - "type": "string", - "format": "byte" - }, - "vote-first-valid": { - "description": "\\[votefst\\] First round this participation key is valid.", - "type": "integer" - }, - "vote-key-dilution": { - "description": "\\[votekd\\] Number of subkeys in each batch of participation keys.", - "type": "integer" - }, - "vote-last-valid": { - "description": "\\[votelst\\] Last round this participation key is valid.", - "type": "integer" - }, - "vote-participation-key": { - "description": "\\[votekey\\] Participation public key used in key registration transactions.", - "type": "string", - "format": "byte" + "/v2/accounts/{account-id}/created-applications": { + "get": { + "description": "Lookup an account's created application parameters, optionally for a specific ID.", + "operationId": "lookupAccountCreatedApplications", + "parameters": [ + { + "description": "account string", + "in": "path", + "name": "account-id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Application ID", + "in": "query", + "name": "application-id", + "schema": { + "type": "integer" + } + }, + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + }, + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "applications": { + "items": { + "$ref": "#/components/schemas/Application" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "applications", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + } }, - "state-proof-key": { - "description": "\\[sprfkey\\] State proof key used in key registration transactions.", - "type": "string", - "format": "byte" - } + "tags": [ + "lookup" + ] } }, - "TransactionPayment": { - "description": "Fields for a payment transaction.\n\nDefinition:\ndata/transactions/payment.go : PaymentTxnFields", - "type": "object", - "required": [ - "receiver", - "amount" - ], - "properties": { - "amount": { - "description": "\\[amt\\] number of MicroAlgos intended to be transferred.", - "type": "integer" - }, - "close-amount": { - "description": "Number of MicroAlgos that were sent to the close-remainder-to address when closing the sender account.", - "type": "integer" - }, - "close-remainder-to": { - "description": "\\[close\\] when set, indicates that the sending account should be closed and all remaining funds be transferred to this address.", - "type": "string" + "/v2/accounts/{account-id}/created-assets": { + "get": { + "description": "Lookup an account's created asset parameters, optionally for a specific ID.", + "operationId": "lookupAccountCreatedAssets", + "parameters": [ + { + "description": "account string", + "in": "path", + "name": "account-id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Asset ID", + "in": "query", + "name": "asset-id", + "schema": { + "type": "integer" + } + }, + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + }, + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "assets": { + "items": { + "$ref": "#/components/schemas/Asset" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "assets", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + } }, - "receiver": { - "description": "\\[rcv\\] receiver's address.", - "type": "string" - } - } - }, - "TransactionSignature": { - "description": "Validation signature associated with some data. Only one of the signatures should be provided.", - "type": "object", - "mutually-exclusive": [ - "sig", - "multisig", - "logicsig" - ], - "properties": { - "logicsig": { - "$ref": "#/definitions/TransactionSignatureLogicsig" - }, - "multisig": { - "$ref": "#/definitions/TransactionSignatureMultisig" - }, - "sig": { - "description": "\\[sig\\] Standard ed25519 signature.", - "type": "string", - "format": "byte" - } + "tags": [ + "lookup" + ] } }, - "TransactionSignatureLogicsig": { - "description": "\\[lsig\\] Programatic transaction signature.\n\nDefinition:\ndata/transactions/logicsig.go", - "type": "object", - "required": [ - "logic" - ], - "properties": { - "args": { - "description": "\\[arg\\] Logic arguments, base64 encoded.", - "type": "array", - "format": "byte", - "items": { - "type": "string" + "/v2/accounts/{account-id}/transactions": { + "get": { + "description": "Lookup account transactions. Transactions are returned newest to oldest.", + "operationId": "lookupAccountTransactions", + "parameters": [ + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + }, + { + "description": "Specifies a prefix which must be contained in the note field.", + "in": "query", + "name": "note-prefix", + "schema": { + "type": "string", + "x-algorand-format": "base64" + }, + "x-algorand-format": "base64" + }, + { + "in": "query", + "name": "tx-type", + "schema": { + "enum": [ + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], + "type": "string" + } + }, + { + "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", + "in": "query", + "name": "sig-type", + "schema": { + "enum": [ + "sig", + "msig", + "lsig" + ], + "type": "string" + } + }, + { + "description": "Lookup the specific transaction by ID.", + "in": "query", + "name": "txid", + "schema": { + "type": "string" + } + }, + { + "description": "Include results for the specified round.", + "in": "query", + "name": "round", + "schema": { + "type": "integer" + } + }, + { + "description": "Include results at or after the specified min-round.", + "in": "query", + "name": "min-round", + "schema": { + "type": "integer" + } + }, + { + "description": "Include results at or before the specified max-round.", + "in": "query", + "name": "max-round", + "schema": { + "type": "integer" + } + }, + { + "description": "Asset ID", + "in": "query", + "name": "asset-id", + "schema": { + "type": "integer" + } + }, + { + "description": "Include results before the given time. Must be an RFC 3339 formatted string.", + "in": "query", + "name": "before-time", + "schema": { + "format": "date-time", + "type": "string", + "x-algorand-format": "RFC3339 String" + }, + "x-algorand-format": "RFC3339 String" + }, + { + "description": "Include results after the given time. Must be an RFC 3339 formatted string.", + "in": "query", + "name": "after-time", + "schema": { + "format": "date-time", + "type": "string", + "x-algorand-format": "RFC3339 String" + }, + "x-algorand-format": "RFC3339 String" + }, + { + "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-greater-than", + "schema": { + "type": "integer" + } + }, + { + "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-less-than", + "schema": { + "type": "integer" + } + }, + { + "description": "account string", + "in": "path", + "name": "account-id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Include results which include the rekey-to field.", + "in": "query", + "name": "rekey-to", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "transactions": { + "items": { + "$ref": "#/components/schemas/Transaction" + }, + "type": "array" + } + }, + "required": [ + "current-round", + "transactions" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" } }, - "logic": { - "description": "\\[l\\] Program signed by a signature or multi signature, or hashed to be the address of ana ccount. Base64 encoded TEAL program.", - "type": "string", - "format": "byte" - }, - "multisig-signature": { - "$ref": "#/definitions/TransactionSignatureMultisig" - }, - "logic-multisig-signature": { - "$ref": "#/definitions/TransactionSignatureMultisig" - }, - "signature": { - "description": "\\[sig\\] ed25519 signature.", - "type": "string", - "format": "byte" - } + "tags": [ + "lookup" + ] } }, - "TransactionSignatureMultisig": { - "description": "structure holding multiple subsignatures.\n\nDefinition:\ncrypto/multisig.go : MultisigSig", - "type": "object", - "properties": { - "subsignature": { - "description": "\\[subsig\\] holds pairs of public key and signatures.", - "type": "array", - "items": { - "$ref": "#/definitions/TransactionSignatureMultisigSubsignature" + "/v2/applications": { + "get": { + "description": "Search for applications", + "operationId": "searchForApplications", + "parameters": [ + { + "description": "Application ID", + "in": "query", + "name": "application-id", + "schema": { + "type": "integer" + } + }, + { + "description": "Filter just applications with the given creator address.", + "in": "query", + "name": "creator", + "schema": { + "type": "string" + } + }, + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + }, + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "applications": { + "items": { + "$ref": "#/components/schemas/Application" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "applications", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" } }, - "threshold": { - "description": "\\[thr\\]", - "type": "integer" - }, - "version": { - "description": "\\[v\\]", - "type": "integer" - } + "tags": [ + "search" + ] } }, - "TransactionSignatureMultisigSubsignature": { - "type": "object", - "properties": { - "public-key": { - "description": "\\[pk\\]", - "type": "string", - "format": "byte" + "/v2/applications/{application-id}": { + "get": { + "description": "Lookup application.", + "operationId": "lookupApplicationByID", + "parameters": [ + { + "in": "path", + "name": "application-id", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "application": { + "$ref": "#/components/schemas/Application" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } + }, + "required": [ + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + } }, - "signature": { - "description": "\\[s\\]", - "type": "string", - "format": "byte" - } + "tags": [ + "lookup" + ] } }, - "StateProofFields": { - "description": "\\[sp\\] represents a state proof.\n\nDefinition:\ncrypto/stateproof/structs.go : StateProof", - "type": "object", - "properties": { - "sig-commit": { - "description": "\\[c\\]", - "type": "string", - "format": "byte" - }, - "signed-weight": { - "description": "\\[w\\]", - "type": "integer", - "x-algorand-format": "uint64" - }, - "sig-proofs": { - "description": "\\[S\\]", - "$ref": "#/definitions/MerkleArrayProof" - }, - "part-proofs": { - "description": "\\[P\\]", - "$ref": "#/definitions/MerkleArrayProof" - }, - "salt-version": { - "description": "\\[v\\] Salt version of the merkle signature.", - "type": "integer" - }, - "reveals": { - "type": "array", - "description": "\\[r\\] Note that this is actually stored as a map[uint64] - Reveal in the actual msgp", - "items": { - "$ref": "#/definitions/StateProofReveal" + "/v2/applications/{application-id}/box": { + "get": { + "description": "Given an application ID and box name, returns base64 encoded box name and value. Box names must be in the goal app call arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, encode base 64 and use 'b64' prefix as in 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", + "operationId": "lookupApplicationBoxByIDAndName", + "parameters": [ + { + "in": "path", + "name": "application-id", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "description": "A box name in goal-arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", + "in": "query", + "name": "name", + "required": true, + "schema": { + "type": "string" + } } - }, - "positions-to-reveal": { - "description": "\\[pr\\] Sequence of reveal positions.", - "type": "array", - "items": { - "type": "integer", - "x-algorand-format": "uint64" + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Box" + } + } + }, + "description": "Box information" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" } - } - } - }, - "HbProofFields": { - "description": "\\[hbprf\\] HbProof is a signature using HeartbeatAddress's partkey, thereby showing it is online.", - "type": "object", - "properties": { - "hb-sig": { - "description": "\\[s\\] Signature of the heartbeat message.", - "type": "string", - "format": "byte" - }, - "hb-pk": { - "description": "\\[p\\] Public key of the heartbeat message.", - "type": "string", - "format": "byte" - }, - "hb-pk2": { - "description": "\\[p2\\] Key for new-style two-level ephemeral signature.", - "type": "string", - "format": "byte" - }, - "hb-pk1sig": { - "description": "\\[p1s\\] Signature of OneTimeSignatureSubkeyOffsetID(PK, Batch, Offset) under the key PK2.", - "type": "string", - "format": "byte" }, - "hb-pk2sig": { - "description": "\\[p2s\\] Signature of OneTimeSignatureSubkeyBatchID(PK2, Batch) under the master key (OneTimeSignatureVerifier).", - "type": "string", - "format": "byte" - } + "summary": "Get box information for a given application.", + "tags": [ + "lookup" + ] } }, - "IndexerStateProofMessage": { - "type": "object", - "properties": { - "block-headers-commitment": { - "description": "\\[b\\]", - "type": "string", - "format": "byte" + "/v2/applications/{application-id}/boxes": { + "get": { + "description": "Given an application ID, returns the box names of that application sorted lexicographically.", + "operationId": "searchForApplicationBoxes", + "parameters": [ + { + "in": "path", + "name": "application-id", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "application-id": { + "description": "\\[appidx\\] application index.", + "type": "integer" + }, + "boxes": { + "items": { + "$ref": "#/components/schemas/BoxDescriptor" + }, + "type": "array" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "application-id", + "boxes" + ], + "type": "object" + } + } + }, + "description": "Box names of an application" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + } }, - "voters-commitment": { - "description": "\\[v\\]", - "type": "string", - "format": "byte" - }, - "ln-proven-weight": { - "description": "\\[P\\]", - "type": "integer", - "x-algorand-format": "uint64" - }, - "first-attested-round": { - "description": "\\[f\\]", - "type": "integer", - "x-algorand-format": "uint64" - }, - "latest-attested-round": { - "description": "\\[l\\]", - "type": "integer", - "x-algorand-format": "uint64" - } - } - }, - "StateProofReveal": { - "type": "object", - "properties": { - "position": { - "description": "The position in the signature and participants arrays corresponding to this entry.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "sig-slot": { - "description": "\\[s\\]", - "$ref": "#/definitions/StateProofSigSlot" - }, - "participant": { - "description": "\\[p\\]", - "$ref": "#/definitions/StateProofParticipant" - } - } - }, - "StateProofSigSlot": { - "type": "object", - "properties": { - "signature": { - "description": "", - "$ref": "#/definitions/StateProofSignature" - }, - "lower-sig-weight": { - "description": "\\[l\\] The total weight of signatures in the lower-numbered slots.", - "type": "integer", - "x-algorand-format": "uint64" - } + "summary": "Get box names for a given application.", + "tags": [ + "search" + ] } }, - "StateProofSignature": { - "type": "object", - "properties": { - "falcon-signature": { - "type": "string", - "format": "byte" - }, - "merkle-array-index": { - "type": "integer", - "x-algorand-foramt": "uint64" - }, - "proof": { - "$ref": "#/definitions/MerkleArrayProof" + "/v2/applications/{application-id}/logs": { + "get": { + "description": "Lookup application logs.", + "operationId": "lookupApplicationLogsByID", + "parameters": [ + { + "in": "path", + "name": "application-id", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + }, + { + "description": "Lookup the specific transaction by ID.", + "in": "query", + "name": "txid", + "schema": { + "type": "string" + } + }, + { + "description": "Include results at or after the specified min-round.", + "in": "query", + "name": "min-round", + "schema": { + "type": "integer" + } + }, + { + "description": "Include results at or before the specified max-round.", + "in": "query", + "name": "max-round", + "schema": { + "type": "integer" + } + }, + { + "description": "Only include transactions with this sender address.", + "in": "query", + "name": "sender-address", + "schema": { + "type": "string", + "x-algorand-format": "Address" + }, + "x-algorand-format": "Address" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "application-id": { + "description": "\\[appidx\\] application index.", + "type": "integer" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "log-data": { + "items": { + "$ref": "#/components/schemas/ApplicationLogData" + }, + "type": "array" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "application-id", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + } }, - "verifying-key": { - "description": "\\[vkey\\]", - "type": "string", - "format": "byte" - } - } - }, - "StateProofParticipant": { - "type": "object", - "properties": { - "verifier": { - "description": "\\[p\\]", - "$ref": "#/definitions/StateProofVerifier" - }, - "weight": { - "description": "\\[w\\]", - "type": "integer", - "x-algorand-format": "uint64" - } + "tags": [ + "lookup" + ] } }, - "StateProofVerifier": { - "type": "object", - "properties": { - "commitment": { - "description": "\\[cmt\\] Represents the root of the vector commitment tree.", - "type": "string", - "format": "byte" + "/v2/assets": { + "get": { + "description": "Search for assets.", + "operationId": "searchForAssets", + "parameters": [ + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + }, + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + }, + { + "description": "Filter just assets with the given creator address.", + "in": "query", + "name": "creator", + "schema": { + "type": "string" + } + }, + { + "description": "Filter just assets with the given name.", + "in": "query", + "name": "name", + "schema": { + "type": "string" + } + }, + { + "description": "Filter just assets with the given unit.", + "in": "query", + "name": "unit", + "schema": { + "type": "string" + } + }, + { + "description": "Asset ID", + "in": "query", + "name": "asset-id", + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "assets": { + "items": { + "$ref": "#/components/schemas/Asset" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "assets", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + } }, - "key-lifetime": { - "description": "\\[lf\\] Key lifetime.", - "type": "integer", - "x-algorand-format": "uint64" - } + "tags": [ + "search" + ] } }, - "StateProofTracking": { - "type": "object", - "properties": { - "type": { - "description": "State Proof Type. Note the raw object uses map with this as key.", - "type": "integer", - "x-algorand-format": "uint64" - }, - "voters-commitment": { - "description": "\\[v\\] Root of a vector commitment containing online accounts that will help sign the proof.", - "type": "string", - "format": "byte" - }, - "online-total-weight": { - "description": "\\[t\\] The total number of microalgos held by the online accounts during the StateProof round.", - "type": "integer" + "/v2/assets/{asset-id}": { + "get": { + "description": "Lookup asset information.", + "operationId": "lookupAssetByID", + "parameters": [ + { + "in": "path", + "name": "asset-id", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "asset": { + "$ref": "#/components/schemas/Asset" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + } + }, + "required": [ + "asset", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + } }, - "next-round": { - "description": "\\[n\\] Next round for which we will accept a state proof transaction.", - "type": "integer" - } + "tags": [ + "lookup" + ] } }, - "MerkleArrayProof": { - "type": "object", - "properties": { - "path": { - "description": "\\[pth\\]", - "type": "array", - "items": { - "type": "string", - "format": "byte" + "/v2/assets/{asset-id}/balances": { + "get": { + "description": "Lookup the list of accounts who hold this asset ", + "operationId": "lookupAssetBalances", + "parameters": [ + { + "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", + "in": "query", + "name": "include-all", + "schema": { + "type": "boolean" + } + }, + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + }, + { + "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-greater-than", + "schema": { + "type": "integer" + } + }, + { + "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-less-than", + "schema": { + "type": "integer" + } + }, + { + "in": "path", + "name": "asset-id", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "balances": { + "items": { + "$ref": "#/components/schemas/MiniAssetHolding" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "balances", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" + }, + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" } }, - "hash-factory": { - "$ref": "#/definitions/HashFactory" - }, - "tree-depth": { - "description": "\\[td\\]", - "type": "integer", - "x-algorand-format": "uint8" - } - } - }, - "HashFactory": { - "type": "object", - "properties": { - "hash-type": { - "description": "\\[t\\]", - "type": "integer", - "x-algorand-format": "uint16" - } - } - } - }, - "parameters": { - "proposers": { - "type": "array", - "items": { - "type": "string", - "x-algorand-format": "Address" - }, - "description": "Accounts marked as proposer in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "name": "proposers", - "in": "query", - "required": false - }, - "absent": { - "type": "array", - "items": { - "type": "string", - "x-algorand-format": "Address" - }, - "description": "Accounts marked as absent in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "name": "absent", - "in": "query", - "required": false - }, - "expired": { - "type": "array", - "items": { - "type": "string", - "x-algorand-format": "Address" - }, - "description": "Accounts marked as expired in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "name": "expired", - "in": "query", - "required": false - }, - "account-id": { - "type": "string", - "description": "account string", - "name": "account-id", - "in": "path", - "required": true - }, - "address": { - "type": "string", - "x-algorand-format": "Address", - "description": "Only include transactions with this address in one of the transaction fields.", - "name": "address", - "in": "query" - }, - "address-role": { - "enum": [ - "sender", - "receiver", - "freeze-target" - ], - "type": "string", - "description": "Combine with the address parameter to define what type of address to search for.", - "name": "address-role", - "in": "query" - }, - "after-time": { - "type": "string", - "format": "date-time", - "x-algorand-format": "RFC3339 String", - "description": "Include results after the given time. Must be an RFC 3339 formatted string.", - "name": "after-time", - "in": "query" - }, - "application-id": { - "type": "integer", - "description": "Application ID", - "name": "application-id", - "in": "query" - }, - "asset-id": { - "type": "integer", - "description": "Asset ID", - "name": "asset-id", - "in": "query" - }, - "before-time": { - "type": "string", - "format": "date-time", - "x-algorand-format": "RFC3339 String", - "description": "Include results before the given time. Must be an RFC 3339 formatted string.", - "name": "before-time", - "in": "query" - }, - "box-name": { - "description": "A box name in goal-arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", - "type": "string", - "name": "name", - "in": "query", - "required": true - }, - "currency-greater-than": { - "type": "integer", - "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", - "name": "currency-greater-than", - "in": "query" - }, - "currency-less-than": { - "type": "integer", - "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", - "name": "currency-less-than", - "in": "query" - }, - "exclude-close-to": { - "type": "boolean", - "description": "Combine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.", - "name": "exclude-close-to", - "in": "query" - }, - "header-only": { - "type": "boolean", - "description": "Header only flag. When this is set to true, returned block does not contain the transactions", - "name": "header-only", - "in": "query" - }, - "include-all": { - "type": "boolean", - "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", - "name": "include-all", - "in": "query" - }, - "exclude": { - "description": "Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.", - "name": "exclude", - "in": "query", - "type": "array", - "items": { - "type": "string", - "enum": [ - "all", - "assets", - "created-assets", - "apps-local-state", - "created-apps", - "none" + "tags": [ + "lookup" ] } }, - "limit": { - "type": "integer", - "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", - "name": "limit", - "in": "query" - }, - "max-round": { - "type": "integer", - "description": "Include results at or before the specified max-round.", - "name": "max-round", - "in": "query" - }, - "min-round": { - "type": "integer", - "description": "Include results at or after the specified min-round.", - "name": "min-round", - "in": "query" - }, - "next": { - "type": "string", - "description": "The next page of results. Use the next token provided by the previous results.", - "name": "next", - "in": "query" - }, - "note-prefix": { - "type": "string", - "description": "Specifies a prefix which must be contained in the note field.", - "name": "note-prefix", - "in": "query", - "x-algorand-format": "base64" - }, - "online-only": { - "type": "boolean", - "description": "When this is set to true, return only accounts whose participation status is currently online.", - "name": "online-only", - "in": "query" - }, - "rekey-to": { - "type": "boolean", - "description": "Include results which include the rekey-to field.", - "name": "rekey-to", - "in": "query" - }, - "round": { - "type": "integer", - "description": "Include results for the specified round.", - "name": "round", - "in": "query" - }, - "round-number": { - "type": "integer", - "description": "Round number", - "name": "round-number", - "in": "path", - "required": true - }, - "sender-address": { - "type": "string", - "x-algorand-format": "Address", - "description": "Only include transactions with this sender address.", - "name": "sender-address", - "in": "query" - }, - "sig-type": { - "enum": [ - "sig", - "msig", - "lsig" - ], - "type": "string", - "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", - "name": "sig-type", - "in": "query" - }, - "auth-addr": { - "type": "string", - "description": "Include accounts configured to use this spending key.", - "name": "auth-addr", - "in": "query", - "x-algorand-format": "Address" - }, - "group-id": { - "type": "string", - "description": "Lookup transactions by group ID. This field must be base64-encoded, and afterwards, base64 characters that are URL-unsafe (i.e. =, /, +) must be URL-encoded", - "name": "group-id", - "in": "query", - "x-algorand-format": "base64" - }, - "txid": { - "type": "string", - "description": "Lookup the specific transaction by ID.", - "name": "txid", - "in": "query" - }, - "tx-type": { - "enum": [ - "pay", - "keyreg", - "acfg", - "axfer", - "afrz", - "appl", - "stpf", - "hb" - ], - "type": "string", - "name": "tx-type", - "in": "query" - } - }, - "responses": { - "AccountResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "account" + "/v2/assets/{asset-id}/transactions": { + "get": { + "description": "Lookup transactions for an asset. Transactions are returned oldest to newest.", + "operationId": "lookupAssetTransactions", + "parameters": [ + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } + }, + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } + }, + { + "description": "Specifies a prefix which must be contained in the note field.", + "in": "query", + "name": "note-prefix", + "schema": { + "type": "string", + "x-algorand-format": "base64" + }, + "x-algorand-format": "base64" + }, + { + "in": "query", + "name": "tx-type", + "schema": { + "enum": [ + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], + "type": "string" + } + }, + { + "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", + "in": "query", + "name": "sig-type", + "schema": { + "enum": [ + "sig", + "msig", + "lsig" + ], + "type": "string" + } + }, + { + "description": "Lookup the specific transaction by ID.", + "in": "query", + "name": "txid", + "schema": { + "type": "string" + } + }, + { + "description": "Include results for the specified round.", + "in": "query", + "name": "round", + "schema": { + "type": "integer" + } + }, + { + "description": "Include results at or after the specified min-round.", + "in": "query", + "name": "min-round", + "schema": { + "type": "integer" + } + }, + { + "description": "Include results at or before the specified max-round.", + "in": "query", + "name": "max-round", + "schema": { + "type": "integer" + } + }, + { + "description": "Include results before the given time. Must be an RFC 3339 formatted string.", + "in": "query", + "name": "before-time", + "schema": { + "format": "date-time", + "type": "string", + "x-algorand-format": "RFC3339 String" + }, + "x-algorand-format": "RFC3339 String" + }, + { + "description": "Include results after the given time. Must be an RFC 3339 formatted string.", + "in": "query", + "name": "after-time", + "schema": { + "format": "date-time", + "type": "string", + "x-algorand-format": "RFC3339 String" + }, + "x-algorand-format": "RFC3339 String" + }, + { + "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-greater-than", + "schema": { + "type": "integer" + } + }, + { + "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-less-than", + "schema": { + "type": "integer" + } + }, + { + "description": "Only include transactions with this address in one of the transaction fields.", + "in": "query", + "name": "address", + "schema": { + "type": "string", + "x-algorand-format": "Address" + }, + "x-algorand-format": "Address" + }, + { + "description": "Combine with the address parameter to define what type of address to search for.", + "in": "query", + "name": "address-role", + "schema": { + "enum": [ + "sender", + "receiver", + "freeze-target" + ], + "type": "string" + } + }, + { + "description": "Combine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.", + "in": "query", + "name": "exclude-close-to", + "schema": { + "type": "boolean" + } + }, + { + "in": "path", + "name": "asset-id", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "description": "Include results which include the rekey-to field.", + "in": "query", + "name": "rekey-to", + "schema": { + "type": "boolean" + } + } ], - "properties": { - "account": { - "$ref": "#/definitions/Account" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "transactions": { + "items": { + "$ref": "#/components/schemas/Transaction" + }, + "type": "array" + } + }, + "required": [ + "current-round", + "transactions" + ], + "type": "object" + } + } + }, + "description": "(empty)" }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" } - } + }, + "tags": [ + "lookup" + ] } }, - "AssetHoldingsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "assets" - ], - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + "/v2/block-headers": { + "get": { + "description": "Search for block headers. Block headers are returned in ascending round order. Transactions are not included in the output.", + "operationId": "searchForBlockHeaders", + "parameters": [ + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } }, - "assets": { - "type": "array", - "items": { - "$ref": "#/definitions/AssetHolding" + { + "description": "Include results at or after the specified min-round.", + "in": "query", + "name": "min-round", + "schema": { + "type": "integer" } - } - } - } - }, - "AccountsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "accounts" - ], - "properties": { - "accounts": { - "type": "array", - "items": { - "$ref": "#/definitions/Account" + }, + { + "description": "Include results at or before the specified max-round.", + "in": "query", + "name": "max-round", + "schema": { + "type": "integer" } }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + { + "description": "Include results before the given time. Must be an RFC 3339 formatted string.", + "in": "query", + "name": "before-time", + "schema": { + "format": "date-time", + "type": "string", + "x-algorand-format": "RFC3339 String" + }, + "x-algorand-format": "RFC3339 String" }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + { + "description": "Include results after the given time. Must be an RFC 3339 formatted string.", + "in": "query", + "name": "after-time", + "schema": { + "format": "date-time", + "type": "string", + "x-algorand-format": "RFC3339 String" + }, + "x-algorand-format": "RFC3339 String" + }, + { + "description": "Accounts marked as proposer in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "explode": false, + "in": "query", + "name": "proposers", + "schema": { + "items": { + "type": "string", + "x-algorand-format": "Address" + }, + "type": "array" + }, + "style": "form" + }, + { + "description": "Accounts marked as expired in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "explode": false, + "in": "query", + "name": "expired", + "schema": { + "items": { + "type": "string", + "x-algorand-format": "Address" + }, + "type": "array" + }, + "style": "form" + }, + { + "description": "Accounts marked as absent in the block header's participation updates. This parameter accepts a comma separated list of addresses.", + "explode": false, + "in": "query", + "name": "absent", + "schema": { + "items": { + "type": "string", + "x-algorand-format": "Address" + }, + "type": "array" + }, + "style": "form" } - } - } - }, - "AssetBalancesResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "balances" ], - "properties": { - "balances": { - "type": "array", - "items": { - "$ref": "#/definitions/MiniAssetHolding" - } + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "blocks": { + "items": { + "$ref": "#/components/schemas/Block" + }, + "type": "array" + }, + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + } + }, + "required": [ + "blocks", + "current-round" + ], + "type": "object" + } + } + }, + "description": "(empty)" }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" } - } + }, + "tags": [ + "search" + ] } }, - "ApplicationResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "applications" - ], - "properties": { - "application": { - "$ref": "#/definitions/Application" + "/v2/blocks/{round-number}": { + "get": { + "description": "Lookup block.", + "operationId": "lookupBlock", + "parameters": [ + { + "description": "Round number", + "in": "path", + "name": "round-number", + "required": true, + "schema": { + "type": "integer" + } }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + { + "description": "Header only flag. When this is set to true, returned block does not contain the transactions", + "in": "query", + "name": "header-only", + "schema": { + "type": "boolean" + } } - } - } - }, - "ApplicationsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "applications" ], - "properties": { - "applications": { - "type": "array", - "items": { - "$ref": "#/definitions/Application" - } + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Block" + } + } + }, + "description": "(empty)" }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" } - } + }, + "tags": [ + "lookup" + ] } }, - "ApplicationLogsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "application-id", - "current-round" - ], - "properties": { - "application-id": { - "description": "\\[appidx\\] application index.", - "type": "integer" + "/v2/transactions": { + "get": { + "description": "Search for transactions. Transactions are returned oldest to newest unless the address parameter is used, in which case results are returned newest to oldest.", + "operationId": "searchForTransactions", + "parameters": [ + { + "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", + "in": "query", + "name": "limit", + "schema": { + "type": "integer" + } }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + { + "description": "The next page of results. Use the next token provided by the previous results.", + "in": "query", + "name": "next", + "schema": { + "type": "string" + } }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + { + "description": "Specifies a prefix which must be contained in the note field.", + "in": "query", + "name": "note-prefix", + "schema": { + "type": "string", + "x-algorand-format": "base64" + }, + "x-algorand-format": "base64" }, - "log-data": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationLogData" + { + "in": "query", + "name": "tx-type", + "schema": { + "enum": [ + "pay", + "keyreg", + "acfg", + "axfer", + "afrz", + "appl", + "stpf", + "hb" + ], + "type": "string" } - } - } - } - }, - "ApplicationLocalStatesResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "apps-local-states" - ], - "properties": { - "apps-local-states": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationLocalState" + }, + { + "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", + "in": "query", + "name": "sig-type", + "schema": { + "enum": [ + "sig", + "msig", + "lsig" + ], + "type": "string" } }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + { + "description": "Lookup transactions by group ID. This field must be base64-encoded, and afterwards, base64 characters that are URL-unsafe (i.e. =, /, +) must be URL-encoded", + "in": "query", + "name": "group-id", + "schema": { + "type": "string", + "x-algorand-format": "base64" + }, + "x-algorand-format": "base64" }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - } - } - }, - "AssetResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "asset" - ], - "properties": { - "asset": { - "$ref": "#/definitions/Asset" + { + "description": "Lookup the specific transaction by ID.", + "in": "query", + "name": "txid", + "schema": { + "type": "string" + } }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - } - } - } - }, - "BoxesResponse": { - "description": "Box names of an application", - "schema": { - "type": "object", - "required": [ - "application-id", - "boxes" - ], - "properties": { - "application-id": { - "description": "\\[appidx\\] application index.", - "type": "integer" + { + "description": "Include results for the specified round.", + "in": "query", + "name": "round", + "schema": { + "type": "integer" + } }, - "boxes": { - "type": "array", - "items": { - "$ref": "#/definitions/BoxDescriptor" + { + "description": "Include results at or after the specified min-round.", + "in": "query", + "name": "min-round", + "schema": { + "type": "integer" } }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - } - } - }, - "BoxResponse": { - "description": "Box information", - "schema": { - "$ref": "#/definitions/Box" - } - }, - "ErrorResponse": { - "description": "Response for errors", - "schema": { - "type": "object", - "required": [ - "message" - ], - "properties": { - "data": { - "type": "object" + { + "description": "Include results at or before the specified max-round.", + "in": "query", + "name": "max-round", + "schema": { + "type": "integer" + } }, - "message": { - "type": "string" - } - } - } - }, - "AssetsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "assets" - ], - "properties": { - "assets": { - "type": "array", - "items": { - "$ref": "#/definitions/Asset" + { + "description": "Asset ID", + "in": "query", + "name": "asset-id", + "schema": { + "type": "integer" } }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + { + "description": "Include results before the given time. Must be an RFC 3339 formatted string.", + "in": "query", + "name": "before-time", + "schema": { + "format": "date-time", + "type": "string", + "x-algorand-format": "RFC3339 String" + }, + "x-algorand-format": "RFC3339 String" }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - } - } - }, - "BlockResponse": { - "description": "(empty)", - "schema": { - "$ref": "#/definitions/Block" - } - }, - "BlockHeadersResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "blocks" - ], - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + { + "description": "Include results after the given time. Must be an RFC 3339 formatted string.", + "in": "query", + "name": "after-time", + "schema": { + "format": "date-time", + "type": "string", + "x-algorand-format": "RFC3339 String" + }, + "x-algorand-format": "RFC3339 String" }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + { + "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-greater-than", + "schema": { + "type": "integer" + } }, - "blocks": { - "type": "array", - "items": { - "$ref": "#/definitions/Block" + { + "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", + "in": "query", + "name": "currency-less-than", + "schema": { + "type": "integer" + } + }, + { + "description": "Only include transactions with this address in one of the transaction fields.", + "in": "query", + "name": "address", + "schema": { + "type": "string", + "x-algorand-format": "Address" + }, + "x-algorand-format": "Address" + }, + { + "description": "Combine with the address parameter to define what type of address to search for.", + "in": "query", + "name": "address-role", + "schema": { + "enum": [ + "sender", + "receiver", + "freeze-target" + ], + "type": "string" + } + }, + { + "description": "Combine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.", + "in": "query", + "name": "exclude-close-to", + "schema": { + "type": "boolean" + } + }, + { + "description": "Include results which include the rekey-to field.", + "in": "query", + "name": "rekey-to", + "schema": { + "type": "boolean" + } + }, + { + "description": "Application ID", + "in": "query", + "name": "application-id", + "schema": { + "type": "integer" } } - } - } - }, - "HealthCheckResponse": { - "description": "(empty)", - "schema": { - "$ref": "#/definitions/HealthCheck" - } - }, - "TransactionResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "transaction" ], - "properties": { - "transaction": { - "$ref": "#/definitions/Transaction" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "next-token": { + "description": "Used for pagination, when making another request provide this token with the next parameter.", + "type": "string" + }, + "transactions": { + "items": { + "$ref": "#/components/schemas/Transaction" + }, + "type": "array" + } + }, + "required": [ + "current-round", + "transactions" + ], + "type": "object" + } + } + }, + "description": "(empty)" }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" } - } + }, + "tags": [ + "search" + ] } }, - "TransactionsResponse": { - "description": "(empty)", - "schema": { - "type": "object", - "required": [ - "current-round", - "transactions" + "/v2/transactions/{txid}": { + "get": { + "description": "Lookup a single transaction.", + "operationId": "lookupTransaction", + "parameters": [ + { + "in": "path", + "name": "txid", + "required": true, + "schema": { + "type": "string" + } + } ], - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "properties": { + "current-round": { + "description": "Round at which the results were computed.", + "type": "integer" + }, + "transaction": { + "$ref": "#/components/schemas/Transaction" + } + }, + "required": [ + "current-round", + "transaction" + ], + "type": "object" + } + } + }, + "description": "(empty)" }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" + "400": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" }, - "transactions": { - "type": "array", - "items": { - "$ref": "#/definitions/Transaction" - } + "404": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" + }, + "500": { + "content": { + "application/json": { + "schema": { + "properties": { + "data": { + "properties": {}, + "type": "object" + }, + "message": { + "type": "string" + } + }, + "required": [ + "message" + ], + "type": "object" + } + } + }, + "description": "Response for errors" } - } + }, + "tags": [ + "lookup" + ] } } - } + }, + "x-original-swagger-version": "2.0" } \ No newline at end of file From 242613d1a39988d0cfd836c1bf38bba8c895986c Mon Sep 17 00:00:00 2001 From: Dzmitry Kliapkou Date: Thu, 12 Feb 2026 17:03:40 +0300 Subject: [PATCH 5/6] delete unused components --- algorand-indexer/rest-api/openapi.json | 776 ------------------------- 1 file changed, 776 deletions(-) diff --git a/algorand-indexer/rest-api/openapi.json b/algorand-indexer/rest-api/openapi.json index aaceaea..d15e519 100644 --- a/algorand-indexer/rest-api/openapi.json +++ b/algorand-indexer/rest-api/openapi.json @@ -10,782 +10,6 @@ } }, "components": { - "parameters": { - "absent": { - "description": "Accounts marked as absent in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "explode": false, - "in": "query", - "name": "absent", - "schema": { - "items": { - "type": "string", - "x-algorand-format": "Address" - }, - "type": "array" - }, - "style": "form" - }, - "account-id": { - "description": "account string", - "in": "path", - "name": "account-id", - "required": true, - "schema": { - "type": "string" - } - }, - "address": { - "description": "Only include transactions with this address in one of the transaction fields.", - "in": "query", - "name": "address", - "schema": { - "type": "string", - "x-algorand-format": "Address" - }, - "x-algorand-format": "Address" - }, - "address-role": { - "description": "Combine with the address parameter to define what type of address to search for.", - "in": "query", - "name": "address-role", - "schema": { - "enum": [ - "sender", - "receiver", - "freeze-target" - ], - "type": "string" - } - }, - "after-time": { - "description": "Include results after the given time. Must be an RFC 3339 formatted string.", - "in": "query", - "name": "after-time", - "schema": { - "format": "date-time", - "type": "string", - "x-algorand-format": "RFC3339 String" - }, - "x-algorand-format": "RFC3339 String" - }, - "application-id": { - "description": "Application ID", - "in": "query", - "name": "application-id", - "schema": { - "type": "integer" - } - }, - "asset-id": { - "description": "Asset ID", - "in": "query", - "name": "asset-id", - "schema": { - "type": "integer" - } - }, - "auth-addr": { - "description": "Include accounts configured to use this spending key.", - "in": "query", - "name": "auth-addr", - "schema": { - "type": "string", - "x-algorand-format": "Address" - }, - "x-algorand-format": "Address" - }, - "before-time": { - "description": "Include results before the given time. Must be an RFC 3339 formatted string.", - "in": "query", - "name": "before-time", - "schema": { - "format": "date-time", - "type": "string", - "x-algorand-format": "RFC3339 String" - }, - "x-algorand-format": "RFC3339 String" - }, - "box-name": { - "description": "A box name in goal-arg form 'encoding:value'. For ints, use the form 'int:1234'. For raw bytes, use the form 'b64:A=='. For printable strings, use the form 'str:hello'. For addresses, use the form 'addr:XYZ...'.", - "in": "query", - "name": "name", - "required": true, - "schema": { - "type": "string" - } - }, - "currency-greater-than": { - "description": "Results should have an amount greater than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", - "in": "query", - "name": "currency-greater-than", - "schema": { - "type": "integer" - } - }, - "currency-less-than": { - "description": "Results should have an amount less than this value. MicroAlgos are the default currency unless an asset-id is provided, in which case the asset will be used.", - "in": "query", - "name": "currency-less-than", - "schema": { - "type": "integer" - } - }, - "exclude": { - "description": "Exclude additional items such as asset holdings, application local data stored for this account, asset parameters created by this account, and application parameters created by this account.", - "explode": false, - "in": "query", - "name": "exclude", - "schema": { - "items": { - "enum": [ - "all", - "assets", - "created-assets", - "apps-local-state", - "created-apps", - "none" - ], - "type": "string" - }, - "type": "array" - }, - "style": "form" - }, - "exclude-close-to": { - "description": "Combine with address and address-role parameters to define what type of address to search for. The close to fields are normally treated as a receiver, if you would like to exclude them set this parameter to true.", - "in": "query", - "name": "exclude-close-to", - "schema": { - "type": "boolean" - } - }, - "expired": { - "description": "Accounts marked as expired in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "explode": false, - "in": "query", - "name": "expired", - "schema": { - "items": { - "type": "string", - "x-algorand-format": "Address" - }, - "type": "array" - }, - "style": "form" - }, - "group-id": { - "description": "Lookup transactions by group ID. This field must be base64-encoded, and afterwards, base64 characters that are URL-unsafe (i.e. =, /, +) must be URL-encoded", - "in": "query", - "name": "group-id", - "schema": { - "type": "string", - "x-algorand-format": "base64" - }, - "x-algorand-format": "base64" - }, - "header-only": { - "description": "Header only flag. When this is set to true, returned block does not contain the transactions", - "in": "query", - "name": "header-only", - "schema": { - "type": "boolean" - } - }, - "include-all": { - "description": "Include all items including closed accounts, deleted applications, destroyed assets, opted-out asset holdings, and closed-out application localstates.", - "in": "query", - "name": "include-all", - "schema": { - "type": "boolean" - } - }, - "limit": { - "description": "Maximum number of results to return. There could be additional pages even if the limit is not reached.", - "in": "query", - "name": "limit", - "schema": { - "type": "integer" - } - }, - "max-round": { - "description": "Include results at or before the specified max-round.", - "in": "query", - "name": "max-round", - "schema": { - "type": "integer" - } - }, - "min-round": { - "description": "Include results at or after the specified min-round.", - "in": "query", - "name": "min-round", - "schema": { - "type": "integer" - } - }, - "next": { - "description": "The next page of results. Use the next token provided by the previous results.", - "in": "query", - "name": "next", - "schema": { - "type": "string" - } - }, - "note-prefix": { - "description": "Specifies a prefix which must be contained in the note field.", - "in": "query", - "name": "note-prefix", - "schema": { - "type": "string", - "x-algorand-format": "base64" - }, - "x-algorand-format": "base64" - }, - "online-only": { - "description": "When this is set to true, return only accounts whose participation status is currently online.", - "in": "query", - "name": "online-only", - "schema": { - "type": "boolean" - } - }, - "proposers": { - "description": "Accounts marked as proposer in the block header's participation updates. This parameter accepts a comma separated list of addresses.", - "explode": false, - "in": "query", - "name": "proposers", - "schema": { - "items": { - "type": "string", - "x-algorand-format": "Address" - }, - "type": "array" - }, - "style": "form" - }, - "rekey-to": { - "description": "Include results which include the rekey-to field.", - "in": "query", - "name": "rekey-to", - "schema": { - "type": "boolean" - } - }, - "round": { - "description": "Include results for the specified round.", - "in": "query", - "name": "round", - "schema": { - "type": "integer" - } - }, - "round-number": { - "description": "Round number", - "in": "path", - "name": "round-number", - "required": true, - "schema": { - "type": "integer" - } - }, - "sender-address": { - "description": "Only include transactions with this sender address.", - "in": "query", - "name": "sender-address", - "schema": { - "type": "string", - "x-algorand-format": "Address" - }, - "x-algorand-format": "Address" - }, - "sig-type": { - "description": "SigType filters just results using the specified type of signature:\n* sig - Standard\n* msig - MultiSig\n* lsig - LogicSig", - "in": "query", - "name": "sig-type", - "schema": { - "enum": [ - "sig", - "msig", - "lsig" - ], - "type": "string" - } - }, - "tx-type": { - "in": "query", - "name": "tx-type", - "schema": { - "enum": [ - "pay", - "keyreg", - "acfg", - "axfer", - "afrz", - "appl", - "stpf", - "hb" - ], - "type": "string" - } - }, - "txid": { - "description": "Lookup the specific transaction by ID.", - "in": "query", - "name": "txid", - "schema": { - "type": "string" - } - } - }, - "responses": { - "AccountResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "account": { - "$ref": "#/components/schemas/Account" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - } - }, - "required": [ - "account", - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "AccountsResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "accounts": { - "items": { - "$ref": "#/components/schemas/Account" - }, - "type": "array" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - }, - "required": [ - "accounts", - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "ApplicationLocalStatesResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "apps-local-states": { - "items": { - "$ref": "#/components/schemas/ApplicationLocalState" - }, - "type": "array" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - }, - "required": [ - "apps-local-states", - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "ApplicationLogsResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "application-id": { - "description": "\\[appidx\\] application index.", - "type": "integer" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "log-data": { - "items": { - "$ref": "#/components/schemas/ApplicationLogData" - }, - "type": "array" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - }, - "required": [ - "application-id", - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "ApplicationResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "application": { - "$ref": "#/components/schemas/Application" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - } - }, - "required": [ - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "ApplicationsResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "applications": { - "items": { - "$ref": "#/components/schemas/Application" - }, - "type": "array" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - }, - "required": [ - "applications", - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "AssetBalancesResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "balances": { - "items": { - "$ref": "#/components/schemas/MiniAssetHolding" - }, - "type": "array" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - }, - "required": [ - "balances", - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "AssetHoldingsResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "assets": { - "items": { - "$ref": "#/components/schemas/AssetHolding" - }, - "type": "array" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - }, - "required": [ - "assets", - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "AssetResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "asset": { - "$ref": "#/components/schemas/Asset" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - } - }, - "required": [ - "asset", - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "AssetsResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "assets": { - "items": { - "$ref": "#/components/schemas/Asset" - }, - "type": "array" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - }, - "required": [ - "assets", - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "BlockHeadersResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "blocks": { - "items": { - "$ref": "#/components/schemas/Block" - }, - "type": "array" - }, - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - }, - "required": [ - "blocks", - "current-round" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "BlockResponse": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Block" - } - } - }, - "description": "(empty)" - }, - "BoxResponse": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Box" - } - } - }, - "description": "Box information" - }, - "BoxesResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "application-id": { - "description": "\\[appidx\\] application index.", - "type": "integer" - }, - "boxes": { - "items": { - "$ref": "#/components/schemas/BoxDescriptor" - }, - "type": "array" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - } - }, - "required": [ - "application-id", - "boxes" - ], - "type": "object" - } - } - }, - "description": "Box names of an application" - }, - "ErrorResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "data": { - "properties": {}, - "type": "object" - }, - "message": { - "type": "string" - } - }, - "required": [ - "message" - ], - "type": "object" - } - } - }, - "description": "Response for errors" - }, - "HealthCheckResponse": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HealthCheck" - } - } - }, - "description": "(empty)" - }, - "TransactionResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "transaction": { - "$ref": "#/components/schemas/Transaction" - } - }, - "required": [ - "current-round", - "transaction" - ], - "type": "object" - } - } - }, - "description": "(empty)" - }, - "TransactionsResponse": { - "content": { - "application/json": { - "schema": { - "properties": { - "current-round": { - "description": "Round at which the results were computed.", - "type": "integer" - }, - "next-token": { - "description": "Used for pagination, when making another request provide this token with the next parameter.", - "type": "string" - }, - "transactions": { - "items": { - "$ref": "#/components/schemas/Transaction" - }, - "type": "array" - } - }, - "required": [ - "current-round", - "transactions" - ], - "type": "object" - } - } - }, - "description": "(empty)" - } - }, "schemas": { "Account": { "description": "Account information at a given round.\n\nDefinition:\ndata/basics/userBalance.go : AccountData\n", From 553c70b37c72f825cbf6a88fe3ca6d48b0510f98 Mon Sep 17 00:00:00 2001 From: Dzmitry Kliapkou Date: Thu, 12 Feb 2026 17:07:41 +0300 Subject: [PATCH 6/6] add cu costs --- algorand-indexer/rest-api/openapi.json | 71 +++++++++++++++----------- 1 file changed, 42 insertions(+), 29 deletions(-) diff --git a/algorand-indexer/rest-api/openapi.json b/algorand-indexer/rest-api/openapi.json index d15e519..521dfbb 100644 --- a/algorand-indexer/rest-api/openapi.json +++ b/algorand-indexer/rest-api/openapi.json @@ -845,14 +845,6 @@ }, "type": "object" }, - "Hashtype": { - "description": "The type of hash function used to create the proof, must be one of: \n* sha512_256 \n* sha256", - "enum": [ - "sha512_256", - "sha256" - ], - "type": "string" - }, "HbProofFields": { "description": "\\[hbprf\\] HbProof is a signature using HeartbeatAddress's partkey, thereby showing it is online.", "properties": { @@ -1907,7 +1899,8 @@ "summary": "Returns 200 if healthy.", "tags": [ "common" - ] + ], + "x-cu-cost": 1 } }, "/v2/accounts": { @@ -2097,7 +2090,8 @@ }, "tags": [ "search" - ] + ], + "x-cu-cost": 1 } }, "/v2/accounts/{account-id}": { @@ -2245,7 +2239,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/accounts/{account-id}/apps-local-state": { @@ -2395,7 +2390,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/accounts/{account-id}/assets": { @@ -2545,7 +2541,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/accounts/{account-id}/created-applications": { @@ -2695,7 +2692,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/accounts/{account-id}/created-assets": { @@ -2845,7 +2843,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/accounts/{account-id}/transactions": { @@ -3083,7 +3082,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/applications": { @@ -3188,7 +3188,8 @@ }, "tags": [ "search" - ] + ], + "x-cu-cost": 1 } }, "/v2/applications/{application-id}": { @@ -3283,7 +3284,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/applications/{application-id}/box": { @@ -3390,7 +3392,8 @@ "summary": "Get box information for a given application.", "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/applications/{application-id}/boxes": { @@ -3524,7 +3527,8 @@ "summary": "Get box names for a given application.", "tags": [ "search" - ] + ], + "x-cu-cost": 1 } }, "/v2/applications/{application-id}/logs": { @@ -3629,7 +3633,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/assets": { @@ -3772,7 +3777,8 @@ }, "tags": [ "search" - ] + ], + "x-cu-cost": 1 } }, "/v2/assets/{asset-id}": { @@ -3890,7 +3896,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/assets/{asset-id}/balances": { @@ -4025,7 +4032,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/assets/{asset-id}/transactions": { @@ -4285,7 +4293,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/block-headers": { @@ -4468,7 +4477,8 @@ }, "tags": [ "search" - ] + ], + "x-cu-cost": 1 } }, "/v2/blocks/{round-number}": { @@ -4552,7 +4562,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } }, "/v2/transactions": { @@ -4830,7 +4841,8 @@ }, "tags": [ "search" - ] + ], + "x-cu-cost": 1 } }, "/v2/transactions/{txid}": { @@ -4940,7 +4952,8 @@ }, "tags": [ "lookup" - ] + ], + "x-cu-cost": 1 } } },