openapi: 3.0.1 info: contact: email: contact@algorand.com name: algorand url: https://www.algorand.com/get-in-touch/contact description: API endpoint for algod operations. title: Algod REST API. common search API version: 0.0.1 servers: - url: http://localhost/ - url: https://localhost/ security: - api_key: [] tags: - name: search paths: /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 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 tags: - search /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 tags: - search /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 summary: Get box names for a given application. tags: - search /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 tags: - search /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 - description: The next page of results. Use the next token provided by the previous results. in: query name: next 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: 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: 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 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) '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: - search /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 - 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: * sig - Standard * msig - MultiSig * lsig - LogicSig' in: query name: sig-type schema: enum: - sig - msig - lsig 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 in: query name: group-id schema: type: string x-algorand-format: base64 x-algorand-format: base64 - 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: 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 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 tags: - search components: schemas: StateProofParticipant: properties: verifier: $ref: '#/components/schemas/StateProofVerifier' weight: description: \[w\] type: integer x-algorand-format: uint64 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' required: - index - params 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 required: - app - name 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 required: - address - asset 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 required: - action 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 type: object TransactionSignatureLogicsig: description: '\[lsig\] Programatic transaction signature. Definition: data/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 required: - logic 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 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 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 required: - address - app 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' 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. Definition: data/transactions/signedtxn.go : SignedTxn data/transactions/transaction.go : Transaction ' 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. Valid types, and where their fields are stored: * \[pay\] payment-transaction * \[keyreg\] keyreg-transaction * \[acfg\] asset-config-transaction * \[axfer\] asset-transfer-transaction * \[afrz\] asset-freeze-transaction * \[appl\] application-transaction * \[stpf\] state-proof-transaction * \[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 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 required: - selection-participation-key - vote-first-valid - vote-key-dilution - vote-last-valid - vote-participation-key type: object 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 required: - bytes - type - uint 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 required: - num-byte-slice - num-uint type: object TransactionKeyreg: description: 'Fields for a keyreg transaction. Definition: data/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 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 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 required: - approval-program - clear-state-program type: object TransactionSignatureMultisig: description: 'structure holding multiple subsignatures. Definition: crypto/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 type: object AssetHolding: description: 'Describes an asset held by an account. Definition: data/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 required: - amount - asset-id - is-frozen type: object StateProofFields: description: '\[sp\] represents a state proof. Definition: crypto/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 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' required: - id - params type: object Account: description: 'Account information at a given round. Definition: data/basics/userBalance.go : AccountData ' 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. Note 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. Note 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. Note: 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. Note: 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. The 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: * sig * msig * lsig * or null if unknown' enum: - sig - msig - lsig type: string status: description: 'voting status of the account''s MicroAlgos * Offline - indicates that the associated account is delegated. * Online - indicates that the associated account used as part of the delegation pool. * 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 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 StateDelta: description: Application state delta. items: $ref: '#/components/schemas/EvalDeltaKeyValue' type: array 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' required: - id - schema 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 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 required: - current-protocol type: object TealKeyValue: description: Represents a key-value pair in an application store. properties: key: type: string value: $ref: '#/components/schemas/TealValue' required: - key - value type: object AssetParams: description: 'AssetParams specifies the parameters for an asset. \[apar\] when part of an AssetConfig transaction. Definition: data/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 required: - creator - decimals - total type: object TransactionAssetTransfer: description: 'Fields for an asset transfer transaction. Definition: data/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 required: - amount - asset-id - receiver type: object 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 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 required: - fee-sink - rewards-calculation-round - rewards-level - rewards-pool - rewards-rate - rewards-residue type: object OnCompletion: description: '\[apan\] defines the what additional actions occur with the transaction. Valid types: * noop * optin * closeout * clear * update * update * delete' enum: - noop - optin - closeout - clear - update - delete type: string HashFactory: properties: hash-type: description: \[t\] type: integer x-algorand-format: uint16 type: object Block: description: 'Block information. Definition: data/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. Specifically, 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' required: - genesis-hash - genesis-id - previous-block-hash - round - seed - timestamp - transactions-root - transactions-root-sha256 type: object TealKeyValueStore: description: Represents a key-value store for use in an application. items: $ref: '#/components/schemas/TealKeyValue' type: array TransactionAssetFreeze: description: 'Fields for an asset freeze transaction. Definition: data/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 required: - address - asset-id - new-freeze-status 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 required: - name type: object TransactionHeartbeat: description: 'Fields for a heartbeat transaction. Definition: data/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 required: - hb-address - hb-key-dilution - hb-proof - hb-seed - hb-vote-id 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 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' 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' 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 type: object TransactionAssetConfig: description: 'Fields for asset allocation, re-configuration, and destruction. A zero value for asset-id indicates asset creation. A zero value for the params indicates asset destruction. Definition: data/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' type: object TransactionPayment: description: 'Fields for a payment transaction. Definition: data/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 required: - amount - receiver type: object 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 type: object AccountStateDelta: description: Application state delta. properties: address: type: string delta: $ref: '#/components/schemas/StateDelta' required: - address - delta type: object TransactionApplication: description: 'Fields for application transactions. Definition: data/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 required: - application-id - on-completion 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 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 type: object EvalDeltaKeyValue: description: Key-value pairs for StateDelta. properties: key: type: string value: $ref: '#/components/schemas/EvalDelta' required: - key - value 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 required: - num-byte-slice - num-uint type: object securitySchemes: api_key: description: Generated header parameter. This token can be generated using the Goal command line tool. Example value ='b7e384d0317b8050ce45900a94a1931e28540e1f69b2d242b424659c341b4697' in: header name: X-Algo-API-Token type: apiKey x-original-swagger-version: '2.0'