---
title: "Proposal queries a proposal based on proposal id."
method: GET
path: "/cosmos/group/v1/proposal/{proposal_id}"
tags: ["Query"]
---

# Proposal queries a proposal based on proposal id.

`GET /cosmos/group/v1/proposal/{proposal_id}`

## Path parameters

- `proposal_id` string, uint64, required

## Response `200`

A successful response.

- CosmosGroupV1QueryProposalResponse — QueryProposalResponse is the Query/Proposal response type.
  - `proposal` CosmosGroupV1Proposal — Proposal defines a group proposal. Any member of a group can submit a proposal for a group policy to decide upon. A proposal consists of a set of `sdk.Msg`s that will be executed if the proposal passes as well as some optional metadata associated with the proposal.
    - `executor_result` 'PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED' | 'PROPOSAL_EXECUTOR_RESULT_NOT_RUN' | 'PROPOSAL_EXECUTOR_RESULT_SUCCESS' | 'PROPOSAL_EXECUTOR_RESULT_FAILURE' — ProposalExecutorResult defines types of proposal executor results. - PROPOSAL_EXECUTOR_RESULT_UNSPECIFIED: An empty value is not allowed. - PROPOSAL_EXECUTOR_RESULT_NOT_RUN: We have not yet run the executor. - PROPOSAL_EXECUTOR_RESULT_SUCCESS: The executor was successful and proposed action updated state. - PROPOSAL_EXECUTOR_RESULT_FAILURE: The executor returned an error and proposed action didn't update state.
    - `final_tally_result` CosmosGroupV1TallyResult — TallyResult represents the sum of weighted votes for each vote option.
      - `abstain_count` string — abstain_count is the weighted sum of abstainers.
      - `no_count` string — no_count is the weighted sum of no votes.
      - `no_with_veto_count` string — no_with_veto_count is the weighted sum of veto.
      - `yes_count` string — yes_count is the weighted sum of yes votes.
    - `group_policy_address` string — group_policy_address is the account address of group policy.
    - `group_policy_version` string, uint64 — group_policy_version tracks the version of the group policy at proposal submission. When a decision policy is changed, existing proposals from previous policy versions will become invalid with the `ABORTED` status. This field is here for informational purposes only.
    - `group_version` string, uint64 — group_version tracks the version of the group at proposal submission. This field is here for informational purposes only.
    - `id` string, uint64 — id is the unique id of the proposal.
    - `messages` GoogleProtobufAny[] — messages is a list of `sdk.Msg`s that will be executed if the proposal passes.
      - `@type` string
    - `metadata` string
    - `proposers` string[] — proposers are the account addresses of the proposers.
    - `status` 'PROPOSAL_STATUS_UNSPECIFIED' | 'PROPOSAL_STATUS_SUBMITTED' | 'PROPOSAL_STATUS_ACCEPTED' | 'PROPOSAL_STATUS_REJECTED' | 'PROPOSAL_STATUS_ABORTED' | 'PROPOSAL_STATUS_WITHDRAWN' — ProposalStatus defines proposal statuses. - PROPOSAL_STATUS_UNSPECIFIED: An empty value is invalid and not allowed. - PROPOSAL_STATUS_SUBMITTED: Initial status of a proposal when submitted. - PROPOSAL_STATUS_ACCEPTED: Final status of a proposal when the final tally is done and the outcome passes the group policy's decision policy. - PROPOSAL_STATUS_REJECTED: Final status of a proposal when the final tally is done and the outcome is rejected by the group policy's decision policy. - PROPOSAL_STATUS_ABORTED: Final status of a proposal when the group policy is modified before the final tally. - PROPOSAL_STATUS_WITHDRAWN: A proposal can be withdrawn before the voting start time by the owner. When this happens the final status is Withdrawn.
    - `submit_time` string, date-time — submit_time is a timestamp specifying when a proposal was submitted.
    - `summary` string
    - `title` string
    - `voting_period_end` string, date-time — voting_period_end is the timestamp before which voting must be done. Unless a successful MsgExec is called before (to execute a proposal whose tally is successful before the voting period ends), tallying will be done at this point, and the `final_tally_result`and `status` fields will be accordingly updated.

## Other responses

- `default` — An unexpected error response.

## Changes

- **2025-05-26** `671fab54b729` — 1 info
  - api operation id `EvidenceQuery_ProposalMixin116` removed and replaced with `EvidenceQuery_ProposalMixin123`
- **2025-05-21** `3874a03b0e7b` — 1 info
  - api operation id `UpgradeQuery_ProposalMixin116` removed and replaced with `EvidenceQuery_ProposalMixin116`
- **2025-05-09** `8dbfaa2bebb2` — 1 info
  - api operation id `CircuitQuery_ProposalMixin116` removed and replaced with `UpgradeQuery_ProposalMixin116`
- **2025-04-08** `21a675703a05` — 1 info
  - api operation id `AuthQuery_ProposalMixin116` removed and replaced with `CircuitQuery_ProposalMixin116`
- **2025-03-27** `4f349536c8f3` — 1 info
  - api operation id `FeegrantQuery_ProposalMixin115` removed and replaced with `AuthQuery_ProposalMixin116`

[Full history](https://skmtc.dev/pokt-network/apis/http-api-console/changes/cosmos/group/v1/proposal/:proposal_id/get.md)

---

[API](https://skmtc.dev/pokt-network/apis/http-api-console.md) · [All operations](https://skmtc.dev/pokt-network/apis/http-api-console/llms.txt) · [OpenAPI document](https://skmtc.dev/pokt-network/apis/http-api-console/revisions/671fab54b729?raw)
