Sei

Sei Info API

Informations about the node APIs

OpenAPI Specification

sei-info-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: HTTP API Console ABCI Info API
  name: ''
  description: ABCI APIs
tags:
- name: Info
  description: Informations about the node APIs
paths:
  /health:
    get:
      summary: Node heartbeat
      tags:
      - Info
      operationId: health
      description: 'Get node health. Returns empty result (200 OK) on success, no response - in case of an error.

        '
      responses:
        '200':
          description: Gets Node Health
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyResponse'
        '500':
          description: empty error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /status:
    get:
      summary: Node Status
      operationId: status
      tags:
      - Info
      description: 'Get Tendermint status including node info, pubkey, latest block hash, app hash, block height, current max peer height, and time.

        '
      responses:
        '200':
          description: Status of the node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
        '500':
          description: empty error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /lag_status:
    get:
      summary: Lag Status
      operationId: lag_status
      tags:
      - Info
      description: 'Get Tendermint lag status including latest height, current max peer height, and lag height.

        '
      responses:
        '200':
          description: Lag Status of the node and is not lagging
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LagStatusResponse'
        '299':
          description: Lag Status of the node and is lagging over the threshold
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LagStatusResponse'
        '500':
          description: lag is high error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /net_info:
    get:
      summary: Network information
      operationId: net_info
      tags:
      - Info
      description: 'Get network info.

        '
      responses:
        '200':
          description: empty answer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetInfoResponse'
        '500':
          description: empty error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /blockchain:
    get:
      summary: 'Get block headers (max: 20) for minHeight <= height <= maxHeight.'
      operationId: blockchain
      parameters:
      - in: query
        name: minHeight
        description: Minimum block height to return
        schema:
          type: integer
          example: 1
      - in: query
        name: maxHeight
        description: Maximum block height to return
        schema:
          type: integer
          example: 2
      tags:
      - Info
      description: 'Get block headers for minHeight <= height maxHeight.


        If maxHeight does not yet exist, blocks up to the current height will

        be returned. If minHeight does not exist (due to pruning), earliest

        existing height will be used.


        At most 20 items will be returned. Block headers are returned in

        descending order (highest first).

        '
      responses:
        '200':
          description: Block headers, returned in descending order (highest first).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockchainResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /header:
    get:
      summary: Get the header at a specified height
      operationId: header
      parameters:
      - in: query
        name: height
        schema:
          type: integer
          default: 0
          example: 1
        description: height to return. If no height is provided, it will fetch the latest height.
      tags:
      - Info
      description: 'Retrieve the block header corresponding to a specified height.

        '
      responses:
        '200':
          description: Header information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeaderResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /header_by_hash:
    get:
      summary: Get header by hash
      operationId: header_by_hash
      parameters:
      - in: query
        name: hash
        description: header hash
        required: true
        schema:
          type: string
          example: '0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED'
      tags:
      - Info
      description: 'Retrieve the block header corresponding to a block hash.

        '
      responses:
        '200':
          description: Header information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HeaderResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /block:
    get:
      summary: Get block at a specified height
      operationId: block
      parameters:
      - in: query
        name: height
        schema:
          type: integer
          default: 0
          example: 1
        description: height to return. If no height is provided, it will fetch the latest block.
      tags:
      - Info
      description: 'Get Block.

        '
      responses:
        '200':
          description: Block information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /block_by_hash:
    get:
      summary: Get block by hash
      operationId: block_by_hash
      parameters:
      - in: query
        name: hash
        description: block hash
        required: true
        schema:
          type: string
          example: '0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED'
      tags:
      - Info
      description: 'Get Block By Hash.

        '
      responses:
        '200':
          description: Block information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /block_results:
    get:
      summary: Get block results at a specified height
      operationId: block_results
      parameters:
      - in: query
        name: height
        description: height to return. If no height is provided, it will fetch information regarding the latest block.
        schema:
          type: integer
          default: 0
          example: 1
      tags:
      - Info
      description: 'Get block_results.

        '
      responses:
        '200':
          description: Block results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockSearchResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /commit:
    get:
      summary: Get commit results at a specified height
      operationId: commit
      parameters:
      - in: query
        name: height
        description: height to return. If no height is provided, it will fetch commit information regarding the latest block.
        schema:
          type: integer
          default: 0
          example: 1
      tags:
      - Info
      description: 'Get Commit.

        '
      responses:
        '200':
          description: 'Commit results.


            canonical switches from false to true for block H once block H+1 has been committed. Until then it''s subjective and only reflects what this node has seen so far.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommitResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /validators:
    get:
      summary: Get validator set at a specified height
      operationId: validators
      parameters:
      - in: query
        name: height
        description: height to return. If no height is provided, it will fetch validator set which corresponds to the latest block.
        schema:
          type: integer
          default: 0
          example: 1
      - in: query
        name: page
        description: Page number (1-based)
        required: false
        schema:
          type: integer
          default: 1
          example: 1
      - in: query
        name: per_page
        description: 'Number of entries per page (max: 100)'
        required: false
        schema:
          type: integer
          example: 30
          default: 30
      tags:
      - Info
      description: 'Get Validators. Validators are sorted first by voting power (descending), then by address (ascending).

        '
      responses:
        '200':
          description: Commit results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidatorsResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /genesis:
    get:
      summary: Get Genesis
      operationId: genesis
      tags:
      - Info
      description: 'Get the genesis document.

        '
      responses:
        '200':
          description: Genesis results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenesisResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /genesis_chunked:
    get:
      summary: Get Genesis in paginated chunks
      operationId: genesis_chunked
      tags:
      - Info
      description: 'Get genesis document in a paginated/chunked format to make it

        easier to iterate through larger genesis structures.

        '
      parameters:
      - in: query
        name: chunkID
        description: Sequence number of the chunk to download.
        schema:
          type: integer
          default: 0
          example: 1
      responses:
        '200':
          description: Genesis results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenesisChunkedResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /dump_consensus_state:
    get:
      summary: Get consensus state
      operationId: dump_consensus_state
      tags:
      - Info
      description: 'Get consensus state.


        Not safe to call from inside the ABCI application during a block execution.

        '
      responses:
        '200':
          description: 'Complete consensus state.


            See https://pkg.go.dev/github.com/tendermint/tendermint/types?tab=doc#Vote.String for Vote string description.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DumpConsensusResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /consensus_state:
    get:
      summary: Get consensus state
      operationId: consensus_state
      tags:
      - Info
      description: 'Get consensus state.


        Not safe to call from inside the ABCI application during a block execution.

        '
      responses:
        '200':
          description: consensus state results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsensusStateResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /consensus_params:
    get:
      summary: Get consensus parameters
      operationId: consensus_params
      parameters:
      - in: query
        name: height
        description: height to return. If no height is provided, it will fetch commit information regarding the latest block.
        schema:
          type: integer
          default: 0
          example: 1
      tags:
      - Info
      description: 'Get consensus parameters.

        '
      responses:
        '200':
          description: consensus parameters results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsensusParamsResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /unconfirmed_txs:
    get:
      summary: Get the list of unconfirmed transactions
      operationId: unconfirmed_txs
      parameters:
      - in: query
        name: page
        description: Page number (1-based)
        required: false
        schema:
          type: integer
          default: 1
          example: 1
      - in: query
        name: per_page
        description: 'Number of entries per page (max: 100)'
        required: false
        schema:
          type: integer
          example: 100
          default: 30
      tags:
      - Info
      description: 'Get list of unconfirmed transactions

        '
      responses:
        '200':
          description: List of unconfirmed transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnconfirmedTransactionsResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /num_unconfirmed_txs:
    get:
      summary: Get data about unconfirmed transactions
      operationId: num_unconfirmed_txs
      tags:
      - Info
      description: 'Get data about unconfirmed transactions

        '
      responses:
        '200':
          description: status about unconfirmed transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NumUnconfirmedTransactionsResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tx_search:
    get:
      summary: Search for transactions
      description: 'Search for transactions w/ their results.


        See /subscribe for the query syntax.

        '
      operationId: tx_search
      parameters:
      - in: query
        name: query
        description: Query
        required: true
        schema:
          type: string
          example: tx.height=1000
      - in: query
        name: prove
        description: Include proofs of the transactions inclusion in the block
        required: false
        schema:
          type: boolean
          default: false
          example: true
      - in: query
        name: page
        description: Page number (1-based)
        required: false
        schema:
          type: integer
          default: 1
          example: 1
      - in: query
        name: per_page
        description: 'Number of entries per page (max: 100)'
        required: false
        schema:
          type: integer
          default: 30
          example: 30
      - in: query
        name: order_by
        description: Order in which transactions are sorted ("asc" or "desc"), by height & index. If empty, default sorting will be still applied.
        required: false
        schema:
          type: string
          default: desc
          example: asc
      tags:
      - Info
      responses:
        '200':
          description: List of transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TxSearchResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /block_search:
    get:
      summary: Search for blocks by BeginBlock and EndBlock events
      description: 'Search for blocks by BeginBlock and EndBlock events.


        See /subscribe for the query syntax.

        '
      operationId: block_search
      parameters:
      - in: query
        name: query
        description: Query
        required: true
        schema:
          type: string
          example: block.height > 1000 AND valset.changed > 0
      - in: query
        name: page
        description: Page number (1-based)
        required: false
        schema:
          type: integer
          default: 1
          example: 1
      - in: query
        name: per_page
        description: 'Number of entries per page (max: 100)'
        required: false
        schema:
          type: integer
          default: 30
          example: 30
      - in: query
        name: order_by
        description: Order in which blocks are sorted ("asc" or "desc"), by height. If empty, default sorting will be still applied.
        required: false
        schema:
          type: string
          default: desc
          example: asc
      tags:
      - Info
      responses:
        '200':
          description: List of paginated blocks matching the search criteria.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockResultsResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /tx:
    get:
      summary: Get transactions by hash
      operationId: tx
      parameters:
      - in: query
        name: hash
        description: transaction Hash to retrive
        required: true
        schema:
          type: string
          example: '0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED'
      - in: query
        name: prove
        description: Include proofs of the transactions inclusion in the block
        required: false
        schema:
          type: boolean
          example: true
          default: false
      tags:
      - Info
      description: 'Get a transaction

        '
      responses:
        '200':
          description: Get a transaction
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TxResponse'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    EmptyResponse:
      description: Empty Response
      allOf:
      - $ref: '#/components/schemas/JSONRPC'
      - type: object
        properties:
          result:
            type: object
            additionalProperties: {}
    ConsensusParams:
      type: object
      nullable: true
      required:
      - block
      - evidence
      - validator
      properties:
        block:
          type: object
          required:
          - max_bytes
          - max_gas_wanted
          - max_gas
          - time_iota_ms
          properties:
            max_bytes:
              type: string
              example: '22020096'
            max_gas:
              type: string
              example: '1000'
            time_iota_ms:
              type: string
              example: '1000'
        evidence:
          type: object
          required:
          - max_age
          properties:
            max_age:
              type: string
              example: '100000'
        validator:
          type: object
          required:
          - pub_key_types
          properties:
            pub_key_types:
              type: array
              items:
                type: string
              example:
              - ed25519
    Blockchain:
      type: object
      required:
      - last_height
      - block_metas
      properties:
        last_height:
          type: string
          example: '1276718'
        block_metas:
          type: array
          items:
            $ref: '#/components/schemas/BlockMeta'
    HeaderResponse:
      description: Block Header info
      allOf:
      - $ref: '#/components/schemas/JSONRPC'
      - type: object
        properties:
          result:
            $ref: '#/components/schemas/BlockHeader'
    NodeInfo:
      type: object
      properties:
        protocol_version:
          $ref: '#/components/schemas/ProtocolVersion'
        id:
          type: string
          example: 5576458aef205977e18fd50b274e9b5d9014525a
        listen_addr:
          type: string
          example: tcp://0.0.0.0:26656
        network:
          type: string
          example: cosmoshub-2
        version:
          type: string
          example: 0.32.1
        channels:
          type: string
          example: '4020212223303800'
        moniker:
          type: string
          example: moniker-node
        other:
          type: object
          properties:
            tx_index:
              type: string
              example: 'on'
            rpc_address:
              type: string
              example: tcp://0.0.0.0:26657
    PubKey:
      type: object
      properties:
        type:
          type: string
          example: tendermint/PubKeyEd25519
        value:
          type: string
          example: A6DoBUypNtUAyEHWtQ9bFjfNg8Bo9CrnkUGl6k6OHN4=
    LagStatusResponse:
      description: Lag Status Response
      allOf:
      - $ref: '#/components/schemas/JSONRPC'
      - type: object
        properties:
          result:
            $ref: '#/components/schemas/LagStatus'
    ProtocolVersion:
      type: object
      properties:
        p2p:
          type: string
          example: '7'
        block:
          type: string
          example: '10'
        app:
          type: string
          example: '0'
    ErrorResponse:
      description: Error Response
      allOf:
      - $ref: '#/components/schemas/JSONRPC'
      - type: object
        properties:
          error:
            type: string
            example: Description of failure
    NetInfoResponse:
      description: NetInfo Response
      allOf:
      - $ref: '#/components/schemas/JSONRPC'
      - type: object
        properties:
          result:
            $ref: '#/components/schemas/NetInfo'
    ValidatorPriority:
      type: object
      properties:
        address:
          type: string
          example: 000001E443FD237E4B616E2FA69DF4EE3D49A94F
        pub_key:
          required:
          - type
          - value
          properties:
            type:
              type: string
              example: tendermint/PubKeyEd25519
            value:
              type: string
              example: 9tK9IT+FPdf2qm+5c2qaxi10sWP+3erWTKgftn2PaQM=
          type: object
        voting_power:
          type: string
          example: '239727'
        proposer_priority:
          type: string
          example: '-11896414'
    BlockMeta:
      type: object
      properties:
        block_id:
          $ref: '#/components/schemas/BlockID'
        block_size:
          type: integer
          example: 1000000
        header:
          $ref: '#/components/schemas/BlockHeader'
        num_txs:
          type: string
          example: '54'
    ConsensusStateResponse:
      type: object
      required:
      - jsonrpc
      - id
      - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
          - round_state
          properties:
            round_state:
              required:
              - height/round/step
              - start_time
              - proposal_block_hash
              - locked_block_hash
              - valid_block_hash
              - height_vote_set
              - proposer
              properties:
                height/round/step:
                  type: string
                  example: 1262197/0/8
                start_time:
                  type: string
                  example: '2019-08-01T11:52:38.962730289Z'
                proposal_block_hash:
                  type: string
                  example: 634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009
                locked_block_hash:
                  type: string
                  example: 634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009
                valid_block_hash:
                  type: string
                  example: 634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009
                height_vote_set:
                  type: array
                  items:
                    type: object
                    properties:
                      round:
                        type: integer
                        example: 0
                      prevotes:
                        type: array
                        items:
                          type: string
                        example:
                        - Vote{0:000001E443FD 1262197/00/1(Prevote) 634ADAF1F402 7BB974E1BA40 @ 2019-08-01T11:52:35.513572509Z}
                        - nil-Vote
                      prevotes_bit_array:
                        type: string
                        example: BA{100:xxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} 169753436/170151262 = 1.00
                      precommits:
                        type: array
                        items:
                          type: string
                        example:
                        - Vote{5:18C78D135C9D 1262197/00/2(Precommit) 634ADAF1F402 8B5EFFFEABCD @ 2019-08-01T11:52:36.25600005Z}
                        - nil-Vote
                      precommits_bit_array:
                        type: string
                        example: BA{100:xxxxxx_xxxxx_xxxx_x_xxx_xx_xx_xx__x_x_x__xxxxxxxxxxxxxx_xxxx_xx_xxxxxx_xxxxxxxx_xxxx_xxx_x_xxxx__xxx} 118726247/170151262 = 0.70
                proposer:
                  type: object
                  properties:
                    address:
                      type: string
                      example: D540AB022088612AC74B287D076DBFBC4A377A2E
                    index:
                      type: integer
                      example: 0
              type: object
          type: object
    Event:
      type: object
      properties:
        key:
          type: string
          example: YWN0aW9u
        value:
          type: string
          example: c2VuZA==
        index:
          type: boolean
          example: false
    GenesisResponse:
      type: object
      required:
      - jsonrpc
      - id
      - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          type: object
          required:
          - genesis
          properties:
            genesis:
              type: object
              required:
              - genesis_time
              - chain_id
              - initial_height
              - consensus_params
              - validators
              - app_hash
              properties:
                genesis_time:
                  type: string
                  example: '2019-04-22T17:00:00Z'
                chain_id:
                  type: string
                  example: cosmoshub-2
                initial_height:
                  type: string
                  example: '2'
                consensus_params:
                  $ref: '#/components/schemas/ConsensusParams'
                validators:
                  type: array
                  items:
                    type: object
                    properties:
                      address:
                        type: string
                        example: B00A6323737F321EB0B8D59C6FD497A14B60938A
                      pub_key:
                        required:
                        - type
                        - value
                        properties:
                          type:
                            type: string
                            example: tendermint/PubKeyEd25519
                          value:
                            type: string
                            example: cOQZvh/h9ZioSeUMZB/1Vy1Xo5x2sjrVjlE/qHnYifM=
                        type: object
                      power:
                        type: string
                        example: '9328525'
                      name:
                        type: string
                        example: Certus One
                app_hash:
                  type: string
                  example: ''
                app_state:
                  properties: {}
                  type: object
    GenesisChunkedResponse:
      type: object
      required:
      - jsonrpc
      - id
      - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
          - chunk
          - total
          - data
          properties:
            chunk:
              type: integer
              example: 0
            total:
              type: integer
              example: 1
            data:
              type: string
              example: Z2VuZXNpcwo=
    CommitResponse:
      type: object
      required:
      - jsonrpc
      - id
      - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
          - signed_header
          - canonical
          properties:
            signed_header:
              required:
              - header
              - commit
              properties:
                header:
                  $ref: '#/components/schemas/BlockHeader'
                commit:
                  required:
                  - height
                  - round
                  - block_id
                  - signatures
                  properties:
                    height:
                      type: string
                      example: '1311801'
                    round:
                      type: integer
                      example: 0
                    block_id:
                      $ref: '#/components/schemas/BlockID'
                    signatures:
                      type: array
                      items:
                        type: object
                        properties:
                          block_id_flag:
                            type: integer
                            example: 2
                          validator_address:
                            type: string
                            example: 000001E443FD237E4B616E2FA69DF4EE3D49A94F
                          timestamp:
                            type: string
                            example: '2019-04-22T17:01:58.376629719Z'
                          signature:
        

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