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 nonparticipating API
version: 0.0.1
servers:
- url: http://localhost/
- url: https://localhost/
security:
- api_key: []
tags:
- name: nonparticipating
paths:
/v2/accounts/{address}:
get:
description: Given a specific account public key, this call returns the account's status, balance and spendable amounts
operationId: AccountInformation
parameters:
- description: An account public key.
in: path
name: address
required: true
schema:
pattern: '[A-Z0-9]{58}'
type: string
x-go-type: basics.Address
x-go-type: basics.Address
- description: 'Exclude additional items from the account. Use `all` to exclude asset holdings, application local state, created asset parameters, and created application parameters. Use `created-apps-params` to exclude only the parameters of created applications (returns only application IDs). Use `created-assets-params` to exclude only the parameters of created assets (returns only asset IDs). Multiple values can be comma-separated (e.g., `created-apps-params,created-assets-params`). Note: `all` and `none` cannot be combined with other values. Defaults to `none`.'
explode: false
in: query
name: exclude
schema:
items:
enum:
- all
- none
- created-apps-params
- created-assets-params
type: string
type: array
style: form
- description: Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.
in: query
name: format
schema:
enum:
- json
- msgpack
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
application/msgpack:
schema:
$ref: '#/components/schemas/Account'
description: AccountResponse wraps the Account type in a response.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get account information.
tags:
- nonparticipating
/v2/accounts/{address}/applications:
get:
description: Lookup an account's application holdings (local state and params if the account is the creator).
operationId: AccountApplicationsInformation
parameters:
- description: An account public key.
in: path
name: address
required: true
schema:
pattern: '[A-Z0-9]{58}'
type: string
x-go-type: basics.Address
x-go-type: basics.Address
- description: Maximum number of results to return.
in: query
name: limit
schema:
type: integer
x-go-type: uint64
x-go-type: uint64
- description: The next page of results. Use the next token provided by the previous results.
in: query
name: next
schema:
type: string
- description: Include additional items in the response. Use `params` to include full application parameters (global state, schema, etc.). Multiple values can be comma-separated. Defaults to returning only application IDs and local state.
explode: false
in: query
name: include
schema:
items:
enum:
- params
type: string
type: array
style: form
responses:
'200':
content:
application/json:
schema:
properties:
application-resources:
items:
$ref: '#/components/schemas/AccountApplicationResource'
type: array
next-token:
description: Used for pagination, when making another request provide this token with the next parameter. The next token is the next application ID to use as the pagination cursor.
type: string
round:
description: The round for which this information is relevant.
type: integer
x-go-type: basics.Round
required:
- round
type: object
description: AccountApplicationsInformationResponse contains a list of application resources for an account.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Malformed address
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get a list of applications held by an account.
tags:
- nonparticipating
/v2/accounts/{address}/applications/{application-id}:
get:
description: Given a specific account public key and application ID, this call returns the account's application local state and global state (AppLocalState and AppParams, if either exists). Global state will only be returned if the provided address is the application's creator.
operationId: AccountApplicationInformation
parameters:
- description: An account public key.
in: path
name: address
required: true
schema:
pattern: '[A-Z0-9]{58}'
type: string
x-go-type: basics.Address
x-go-type: basics.Address
- description: An application identifier.
in: path
name: application-id
required: true
schema:
minimum: 0
type: integer
x-go-type: basics.AppIndex
x-go-type: basics.AppIndex
- description: Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.
in: query
name: format
schema:
enum:
- json
- msgpack
type: string
responses:
'200':
content:
application/json:
schema:
properties:
app-local-state:
$ref: '#/components/schemas/ApplicationLocalState'
created-app:
$ref: '#/components/schemas/ApplicationParams'
round:
description: The round for which this information is relevant.
type: integer
x-go-type: basics.Round
required:
- round
type: object
application/msgpack:
schema:
properties:
app-local-state:
$ref: '#/components/schemas/ApplicationLocalState'
created-app:
$ref: '#/components/schemas/ApplicationParams'
round:
description: The round for which this information is relevant.
type: integer
x-go-type: basics.Round
required:
- round
type: object
description: AccountApplicationResponse describes the account's application local state and global state (AppLocalState and AppParams, if either exists) for a specific application ID. Global state will only be returned if the provided address is the application's creator.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Malformed address or application ID
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get account information about a given app.
tags:
- nonparticipating
/v2/accounts/{address}/assets:
get:
description: Lookup an account's asset holdings.
operationId: AccountAssetsInformation
parameters:
- description: An account public key.
in: path
name: address
required: true
schema:
pattern: '[A-Z0-9]{58}'
type: string
x-go-type: basics.Address
x-go-type: basics.Address
- description: Maximum number of results to return.
in: query
name: limit
schema:
type: integer
x-go-type: uint64
x-go-type: uint64
- 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:
asset-holdings:
items:
$ref: '#/components/schemas/AccountAssetHolding'
type: array
next-token:
description: Used for pagination, when making another request provide this token with the next parameter.
type: string
round:
description: The round for which this information is relevant.
type: integer
x-go-type: basics.Round
required:
- round
type: object
description: AccountAssetsInformationResponse contains a list of assets held by an account.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Malformed address
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get a list of assets held by an account, inclusive of asset params.
tags:
- nonparticipating
/v2/accounts/{address}/assets/{asset-id}:
get:
description: Given a specific account public key and asset ID, this call returns the account's asset holding and asset parameters (if either exist). Asset parameters will only be returned if the provided address is the asset's creator.
operationId: AccountAssetInformation
parameters:
- description: An account public key.
in: path
name: address
required: true
schema:
pattern: '[A-Z0-9]{58}'
type: string
x-go-type: basics.Address
x-go-type: basics.Address
- description: An asset identifier.
in: path
name: asset-id
required: true
schema:
minimum: 0
type: integer
x-go-type: basics.AssetIndex
x-go-type: basics.AssetIndex
- description: Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.
in: query
name: format
schema:
enum:
- json
- msgpack
type: string
responses:
'200':
content:
application/json:
schema:
properties:
asset-holding:
$ref: '#/components/schemas/AssetHolding'
created-asset:
$ref: '#/components/schemas/AssetParams'
round:
description: The round for which this information is relevant.
type: integer
x-go-type: basics.Round
required:
- round
type: object
application/msgpack:
schema:
properties:
asset-holding:
$ref: '#/components/schemas/AssetHolding'
created-asset:
$ref: '#/components/schemas/AssetParams'
round:
description: The round for which this information is relevant.
type: integer
x-go-type: basics.Round
required:
- round
type: object
description: AccountAssetResponse describes the account's asset holding and asset parameters (if either exist) for a specific asset ID. Asset parameters will only be returned if the provided address is the asset's creator.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Malformed address or asset ID
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get account information about a given asset.
tags:
- nonparticipating
/v2/applications/{application-id}:
get:
description: Given a application ID, it returns application information including creator, approval and clear programs, global and local schemas, and global state.
operationId: GetApplicationByID
parameters:
- description: An application identifier.
in: path
name: application-id
required: true
schema:
minimum: 0
type: integer
x-go-type: basics.AppIndex
x-go-type: basics.AppIndex
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: Application information
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Application Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get application information.
tags:
- nonparticipating
/v2/applications/{application-id}/box:
get:
description: Given an application ID and box name, it returns the round, box name, and value (each base64 encoded). Box names must be in the goal app call arg encoding 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...'.
operationId: GetApplicationBoxByName
parameters:
- description: An application identifier.
in: path
name: application-id
required: true
schema:
minimum: 0
type: integer
x-go-type: basics.AppIndex
x-go-type: basics.AppIndex
- description: A box name, in the goal app call 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
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Box'
description: Box information
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Box Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get box information for a given application.
tags:
- nonparticipating
/v2/applications/{application-id}/boxes:
get:
description: 'Given an application ID, return all box names. No particular ordering is guaranteed. Request fails when client or server-side configured limits prevent returning all box names.
Pagination mode is enabled when any of the following parameters are provided: limit, next, prefix, include, or round. In pagination mode box values can be requested and results are returned in sorted order.
To paginate: use the next-token from a previous response as the next parameter in the following request. Pin the round parameter to the round value from the first page''s response to ensure consistent results across pages. The server enforces a per-response byte limit, so fewer results than limit may be returned even when more exist; the presence of next-token is the only reliable signal that more data is available.'
operationId: GetApplicationBoxes
parameters:
- description: An application identifier.
in: path
name: application-id
required: true
schema:
minimum: 0
type: integer
x-go-type: basics.AppIndex
x-go-type: basics.AppIndex
- description: Max number of box names to return. If max is not set, or max == 0, returns all box-names.
in: query
name: max
schema:
type: integer
x-go-type: uint64
x-go-type: uint64
- description: Maximum number of boxes to return per page.
in: query
name: limit
schema:
type: integer
x-go-type: uint64
x-go-type: uint64
- description: A box name, in the goal app call arg form 'encoding:value', representing the earliest box name to include in results. Use the next-token from a previous response.
in: query
name: next
schema:
type: string
- description: A box name prefix, in the goal app call arg form 'encoding:value', to filter results by. Only boxes whose names start with this prefix will be returned.
in: query
name: prefix
schema:
type: string
- description: Include additional items in the response. Use `values` to include box values. Multiple values can be comma-separated.
explode: false
in: query
name: include
schema:
items:
enum:
- values
type: string
type: array
style: form
- description: Return box data from the given round. The round must be within the node's available range.
in: query
name: round
schema:
format: uint64
type: integer
x-go-type: basics.Round
x-go-type: basics.Round
responses:
'200':
content:
application/json:
schema:
properties:
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. The next token is the box name to use as the pagination cursor, encoded in the goal app call arg form.
type: string
round:
description: The round for which this information is relevant.
type: integer
x-go-type: basics.Round
required:
- boxes
type: object
description: Boxes of an application
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get all box names for a given application.
tags:
- nonparticipating
/v2/assets/{asset-id}:
get:
description: Given a asset ID, it returns asset information including creator, name, total supply and special addresses.
operationId: GetAssetByID
parameters:
- description: An asset identifier.
in: path
name: asset-id
required: true
schema:
minimum: 0
type: integer
x-go-type: basics.AssetIndex
x-go-type: basics.AssetIndex
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Asset'
description: Asset information
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Application Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get asset information.
tags:
- nonparticipating
/v2/blocks/{round}:
get:
operationId: GetBlock
parameters:
- description: A round number.
in: path
name: round
required: true
schema:
minimum: 0
type: integer
x-go-type: basics.Round
x-go-type: basics.Round
- description: If true, only the block header (exclusive of payset or certificate) may be included in response.
in: query
name: header-only
schema:
type: boolean
- description: Configures whether the response object is JSON or MessagePack encoded. If not provided, defaults to JSON.
in: query
name: format
schema:
enum:
- json
- msgpack
type: string
responses:
'200':
content:
application/json:
schema:
properties:
block:
description: Block header data.
properties: {}
type: object
x-algorand-format: BlockHeader
cert:
description: Optional certificate object. This is only included when the format is set to message pack.
properties: {}
type: object
x-algorand-format: BlockCertificate
required:
- block
type: object
application/msgpack:
schema:
properties:
block:
description: Block header data.
properties: {}
type: object
x-algorand-format: BlockHeader
cert:
description: Optional certificate object. This is only included when the format is set to message pack.
properties: {}
type: object
x-algorand-format: BlockCertificate
required:
- block
type: object
description: Encoded block object.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad Request - Non integer number
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 'None existing block '
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/msgpack:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get the block for the given round.
tags:
- nonparticipating
/v2/blocks/{round}/hash:
get:
operationId: GetBlockHash
parameters:
- description: A round number.
in: path
name: round
required: true
schema:
minimum: 0
type: integer
x-go-type: basics.Round
x-go-type: basics.Round
responses:
'200':
content:
application/json:
schema:
properties:
blockHash:
description: Block header hash.
type: string
required:
- blockHash
type: object
description: Hash of a block header.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Bad Request - Non integer number
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: 'None existing block '
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
default:
content: {}
description: Unknown Error
summary: Get the block hash for the block on the given round.
tags:
- nonparticipating
/v2/blocks/{round}/lightheader/proof:
get:
operationId: GetLightBlockHeaderProof
parameters:
- description: A round number.
in: path
name: round
required: true
schema:
minimum: 0
type: integer
x-go-type: basics.Round
x-go-type: basics.Round
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LightBlockHeaderProof'
description: Proof of a light block header.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Invalid API Token
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Could not create proof since some data is missing
'408':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: timed out on request
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Internal Error
'503':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
description: Service Temporarily Unavailable
default:
content: {}
description: Unknown Error
summary: Gets a proof for a given light block header inside a state proof commitment
tags:
- nonparticipating
/v2/blocks/{round}/logs:
get:
description: Get all of the logs from outer and inner app calls in the given round
operationId: GetBlockLogs
parameters:
- description: A round number.
in: path
name: round
# --- truncated at 32 KB (132 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/algorand/refs/heads/main/openapi/algorand-nonparticipating-api-openapi.yml