---
title: "Get proposal by hash"
method: GET
path: "/v1/voting/proposals/{hash}"
tags: ["Voting"]
---

# Get proposal by hash

`GET /v1/voting/proposals/{hash}`

Returns the most recent protocol proposal with the specified hash.

## Path parameters

- `hash` string, required

## Response `200`

- Proposal
  - `hash` string, required — Hash of the proposal, which representing a tarball of concatenated .ml/.mli source files
  - `initiator` Alias, required
    - `alias` string, nullable — Account alias name (off-chain data).
    - `address` string, required — Account address (public key hash).
  - `firstPeriod` integer — The first voting period where the proposal was active
  - `lastPeriod` integer — The last voting period where the proposal was active
  - `epoch` integer — The voting epoch where the proposal was active
  - `upvotes` integer — The total number of upvotes (proposal operations)
  - `votingPower` integer — The total voting power of bakers, upvoted the proposal
  - `status` string, required — Status of the proposal `active` - the proposal in the active state `accepted` - the proposal was accepted `rejected` - the proposal was rejected due to too many "nay" ballots `skipped` - the proposal was skipped due to the quorum was not reached
  - `extras` unknown

---

[API](https://skmtc.dev/tzkt/apis/tzkt-api.md) · [All operations](https://skmtc.dev/tzkt/apis/tzkt-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tzkt/tzkt-api/revisions/a2e2aba5e534/schema)
