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

# Proposal queries a proposal based on proposal id.

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

## Path parameters

- `proposalId` 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.
    - `id` string, uint64 — id is the unique id of the proposal.
    - `groupPolicyAddress` string — group_policy_address is the account address of group policy.
    - `metadata` string
    - `proposers` string[] — proposers are the account addresses of the proposers.
    - `submitTime` string, date-time — submit_time is a timestamp specifying when a proposal was submitted.
    - `groupVersion` string, uint64 — group_version tracks the version of the group at proposal submission. This field is here for informational purposes only.
    - `groupPolicyVersion` 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.
    - `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.
    - `finalTallyResult` CosmosGroupV1TallyResult — TallyResult represents the sum of weighted votes for each vote option.
      - `yesCount` string — yes_count is the weighted sum of yes votes.
      - `abstainCount` string — abstain_count is the weighted sum of abstainers.
      - `noCount` string — no_count is the weighted sum of no votes.
      - `noWithVetoCount` string — no_with_veto_count is the weighted sum of veto.
    - `votingPeriodEnd` 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.
    - `executorResult` '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.
    - `messages` GoogleProtobufAny[] — messages is a list of `sdk.Msg`s that will be executed if the proposal passes.
      - `@type` string — A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.
    - `title` string — Since: cosmos-sdk 0.47
    - `summary` string — Since: cosmos-sdk 0.47

## Other responses

- `default` — An unexpected error response.

---

[API](https://skmtc.net/haqq-network/apis/haqq-network-grpc-api.md) · [All operations](https://skmtc.net/haqq-network/apis/haqq-network-grpc-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/haqq-network/haqq-network-grpc-api/revisions/2d0419923f40/schema)
