Skip to Content
APIWitnessGet Proposal List

Get Proposal List

1. Overview & Typical Use

Returns the on-chain governance proposal list, including proposal ID, parameter modification content, status, expiration time, and the lists of approving and opposing super representatives.

  • Typical use: governance proposal list display, proposal voting status tracking, chain parameter change history queries.
  • When not to use: to query the current values of chain parameters, use “Get Chain Parameters List”.
  • The limit range is [20, 200]; values outside this range return an error.

2. Endpoint & Authentication

GET /api/proposal

For Base URL and authentication, see Common Network & Authentication.

3. Request

ParameterTypeRequiredDefaultDescription
startintegerNo0Start index
limitintegerNo20Number of entries per page, range [20, 200]
addressstringNoShows whether this address is the proposer or a participant
idintegerNoProposal ID
statestringNoFilter by proposal state: PENDING, APPROVED, DISAPPROVED, CANCELED

4. Response

Top-level

FieldTypeRequiredDescription
totalintegerRequiredTotal number of proposals
dataarrayRequiredProposal record array, see below

data[] element

FieldTypeRequiredDescriptionUnit/Precision
proposalIdintegerRequiredProposal ID
proposalHashstringRequiredProposal hash
proposerobjectRequiredProposer info, see below
paramtersarrayRequiredParameter modification list (contains key + value) (paramters is the API field name — upstream API typo missing one ‘a’, not a doc error)
statestringRequiredProposal state: PENDING / APPROVED / DISAPPROVED / CANCELED
expirationTimeintegerRequiredExpiration timeUnix timestamp in milliseconds
createTimeintegerRequiredCreation timeUnix timestamp in milliseconds
totalVotesintegerRequiredTotal votes
validVotesintegerRequiredValid votes
approveSelfbooleanRequiredWhen address is provided: whether that address has approved; otherwise false
createSelfbooleanRequiredWhen address is provided: whether that address is the proposer; otherwise false
approvalsarrayRequiredList of approving super representatives, see below
vetoarrayRequiredList of opposing super representatives
typeApprovalsobjectRequiredApprovals grouped by type (sr / partner / candidate); each array element has the same structure as proposer

proposer object / approvals[] element / veto[] element / typeApprovals.sr[] element (same structure)

FieldTypeRequiredDescriptionUnit/Precision
addressstringRequiredSuper representative address
namestringRequiredName
urlstringRequiredOfficial website URL
producerbooleanRequiredWhether an active block-producing node
votesintegerRequiredCurrent vote count
votesPercentagenumberRequiredVote sharePercentage %
producedTotalintegerRequiredCumulative blocks produced
missedTotalintegerRequiredCumulative missed blocks
producedTrxintegerRequiredCumulative TRX rewards producedsun
producePercentagenumberRequiredBlock production efficiencyPercentage %
latestBlockNumberintegerRequiredLatest produced block height
latestSlotNumberintegerRequiredLatest slot number

5. Errors

For HTTP status codes, see Common Errors. Key points for this endpoint:

  • limit range restriction: returns an error message when limit is outside the [20, 200] range.
  • Empty result is not an error: returns 200 + data: [] when no matching proposals are found, which is a normal response.
Last updated on: