# GET: /proposal

## GET: /proposal

### ProposalRequest

The request to the Proposal API can specify various filters, allowing retrieval of proposals by IDs, state, and pagination parameters.

**Request Parameters**

<table><thead><tr><th valign="middle">Type</th><th valign="middle">Key</th><th valign="middle">Description</th></tr></thead><tbody><tr><td valign="middle">uint32</td><td valign="middle"><code>page</code></td><td valign="middle">Page number for pagination</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>limit</code></td><td valign="middle">Number of results per page</td></tr></tbody></table>

#### ProposalResponse

The API returns a list of proposals matching the specified filters, sorted in descending order by proposal ID.

**Response Structure**

<table><thead><tr><th valign="middle">Type</th><th valign="middle">Key</th><th valign="middle">Description</th></tr></thead><tbody><tr><td valign="middle">Struct</td><td valign="middle"><code>metadata</code></td><td valign="middle">Metadata on request (see <strong>ProposalMetadata</strong>)</td></tr><tr><td valign="middle">repeated Proposal</td><td valign="middle"><code>data</code></td><td valign="middle">List of <code>proposals</code> (see Proposal)</td></tr></tbody></table>

### &#x20;ProposalMetadata

Metadata information for pagination and total proposal count.

<table><thead><tr><th valign="middle">Type</th><th valign="middle">Key</th><th valign="middle">Description</th></tr></thead><tbody><tr><td valign="middle">uint32</td><td valign="middle"><code>page</code></td><td valign="middle">Current page number</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>limit</code></td><td valign="middle">Results per page</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>totalItem</code></td><td valign="middle">Total number of proposals available</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>totalPage</code></td><td valign="middle">Total number of pages for given <code>limit</code></td></tr></tbody></table>

#### Proposal Object

A detailed structure representing a governance proposal.

<table><thead><tr><th valign="middle">Type</th><th valign="middle">Key</th><th valign="middle">Description</th></tr></thead><tbody><tr><td valign="middle">uint32</td><td valign="middle"><code>id</code></td><td valign="middle">Unique ID for the proposal</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>description</code></td><td valign="middle">Description of proposed actions</td></tr><tr><td valign="middle">bytes</td><td valign="middle"><code>targets</code></td><td valign="middle">Address receiving calldata</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>values</code></td><td valign="middle">ETH value sent with the transaction</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>signatures</code></td><td valign="middle">Function signature for execution</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>call_datas</code></td><td valign="middle">Encoded function arguments</td></tr><tr><td valign="middle">Struct</td><td valign="middle"><code>params</code></td><td valign="middle">Additional parameters</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>created_Block</code></td><td valign="middle">Block number where proposal was created</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>created_tx_Hash</code></td><td valign="middle">Transaction hash of proposal creation</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>created_timestamp</code></td><td valign="middle">Timestamp of proposal creation</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>start_block</code></td><td valign="middle">Block number when voting starts</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>start_tx_hash</code></td><td valign="middle">Transaction hash of vote initiation</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>start_timestamp</code></td><td valign="middle">Timestamp of vote initiation</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>cancel_block</code></td><td valign="middle">Block number of cancellation (if applicable)</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>cancel_tx_hash</code></td><td valign="middle">Transaction hash of cancellation</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>cancel_timestamp</code></td><td valign="middle">Timestamp of cancellation</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>end_block</code></td><td valign="middle">Block number when voting ends</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>end_tx_hash</code></td><td valign="middle">Transaction hash of vote conclusion</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>end_timestamp</code></td><td valign="middle">Timestamp of vote conclusion</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>queued_block</code></td><td valign="middle">Block number when proposal was queued</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>queued_tx_hash</code></td><td valign="middle">Transaction hash of queueing</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>queued_timestamp</code></td><td valign="middle">Timestamp when proposal was queued</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>executed_block</code></td><td valign="middle">Block number when proposal was executed</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>executed_tx_hash</code></td><td valign="middle">Transaction hash of execution</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>executed_timestamp</code></td><td valign="middle">Timestamp of execution</td></tr><tr><td valign="middle">bytes</td><td valign="middle"><code>for_votes</code></td><td valign="middle">Number of votes in favor</td></tr><tr><td valign="middle">bytes</td><td valign="middle"><code>against_votes</code></td><td valign="middle">Number of votes against</td></tr><tr><td valign="middle">bytes</td><td valign="middle"><code>proposer</code></td><td valign="middle">Address of the proposer</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>eta</code></td><td valign="middle">Estimated execution time</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>forVotes</code></td><td valign="middle">String representation of votes in favor</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>againstVotes</code></td><td valign="middle">String representation of votes against</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>canceled</code></td><td valign="middle">1 if canceled, 0 otherwise</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>executed</code></td><td valign="middle">1 if executed, 0 otherwise</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>state</code></td><td valign="middle">Current proposal state (<code>Pending</code>, <code>Active</code>, <code>Canceled</code>, <code>Defeated</code>, <code>Succeeded</code>, <code>Queued</code>, <code>Expired</code>, <code>Executed</code>)</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>voter_count</code></td><td valign="middle">Total number of voters</td></tr><tr><td valign="middle">Timestamp</td><td valign="middle"><code>created_at</code></td><td valign="middle">Proposal creation timestamp</td></tr><tr><td valign="middle">Timestamp</td><td valign="middle"><code>updated_at</code></td><td valign="middle">Proposal last updated timestamp</td></tr><tr><td valign="middle">uint32</td><td valign="middle"><code>expired_timestamp</code></td><td valign="middle">Timestamp when proposal expires</td></tr><tr><td valign="middle">string</td><td valign="middle"><code>title</code></td><td valign="middle">Proposal title</td></tr></tbody></table>

#### Usage Notes

* Pagination: Use page and limit parameters to navigate large proposal datasets.
* Filtering: Query proposals by state to retrieve active, canceled, or executed proposals.
* Tracking: Monitor proposal progress using `start_block`, `end_block`, and `executed_block` timestamps.
