> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cosmos.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Proposals (v1beta1)

> gRPC: `cosmos.gov.v1beta1.Query/Proposals` ([reference](/sdk/latest/api-reference/grpc/gov#proposals-v1beta1))

Proposals queries all proposals based on given status.



## OpenAPI

````yaml /sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals
openapi: 3.0.0
info:
  title: Cosmos SDK REST API
  description: >-
    HTTP bindings for the gRPC query services of the standard Cosmos SDK
    modules, documenting Cosmos SDK v0.55.


    Generated from cosmos/cosmos-sdk at commit
    2086680ff8b08fd269ee653e087ea577bab79534 on ref `release/v0.55.x`.


    A chain exposes only the modules its application registers, so it may serve
    a subset of these routes alongside routes of its own.
  version: v0.55
servers:
  - url: https://cosmos-rest.publicnode.com
    description: >-
      Community-run public endpoint serving Cosmos Hub. Not operated by the
      Cosmos SDK team, and running a different SDK version than these pages
      document. Endpoints for modules the chain does not include return 501.
  - url: http://localhost:1317
    description: Your own node. Requires api.enable in app.toml.
security: []
tags:
  - name: auth
  - name: authz
  - name: bank
  - name: base
  - name: consensus
  - name: distribution
  - name: epochs
  - name: evidence
  - name: feegrant
  - name: gov
  - name: mint
  - name: slashing
  - name: staking
  - name: tx
  - name: upgrade
paths:
  /cosmos/gov/v1beta1/proposals:
    get:
      tags:
        - gov
      summary: Proposals (v1beta1)
      description: >-
        gRPC: `cosmos.gov.v1beta1.Query/Proposals`
        ([reference](/sdk/latest/api-reference/grpc/gov#proposals-v1beta1))


        Proposals queries all proposals based on given status.
      operationId: gov_v1beta1_Proposals
      parameters:
        - name: proposalStatus
          description: |-
            proposal_status defines the status of the proposals.

             - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.
             - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
            period.
             - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
            period.
             - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
            passed.
             - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
            been rejected.
             - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
            failed.
          in: query
          required: false
          schema:
            type: string
            enum:
              - PROPOSAL_STATUS_UNSPECIFIED
              - PROPOSAL_STATUS_DEPOSIT_PERIOD
              - PROPOSAL_STATUS_VOTING_PERIOD
              - PROPOSAL_STATUS_PASSED
              - PROPOSAL_STATUS_REJECTED
              - PROPOSAL_STATUS_FAILED
            default: PROPOSAL_STATUS_UNSPECIFIED
        - name: voter
          description: voter defines the voter address for the proposals.
          in: query
          required: false
          schema:
            type: string
        - name: depositor
          description: depositor defines the deposit addresses from the proposals.
          in: query
          required: false
          schema:
            type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          schema:
            type: string
            format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          schema:
            type: string
            format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          schema:
            type: string
            format: uint64
        - name: pagination.countTotal
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          schema:
            type: boolean
        - name: pagination.reverse
          description: >-
            reverse is set to true if results are to be returned in the
            descending order.
          in: query
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: A successful response.
          content:
            '*/*':
              schema:
                type: object
                properties:
                  proposals:
                    type: array
                    items:
                      type: object
                      properties:
                        proposal_id:
                          type: string
                          format: uint64
                          description: proposal_id defines the unique id of the proposal.
                        content:
                          description: content is the proposal's content.
                          type: object
                          properties:
                            '@type':
                              type: string
                              description: >-
                                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.
                          additionalProperties: {}
                          nullable: true
                        status:
                          description: status defines the proposal status.
                          type: string
                          enum:
                            - PROPOSAL_STATUS_UNSPECIFIED
                            - PROPOSAL_STATUS_DEPOSIT_PERIOD
                            - PROPOSAL_STATUS_VOTING_PERIOD
                            - PROPOSAL_STATUS_PASSED
                            - PROPOSAL_STATUS_REJECTED
                            - PROPOSAL_STATUS_FAILED
                          default: PROPOSAL_STATUS_UNSPECIFIED
                          nullable: true
                        final_tally_result:
                          description: >-
                            final_tally_result is the final tally result of the
                            proposal. When

                            querying a proposal via gRPC, this field is not
                            populated until the

                            proposal's voting period has ended.
                          type: object
                          properties:
                            'yes':
                              type: string
                              description: yes is the number of yes votes on a proposal.
                            abstain:
                              type: string
                              description: >-
                                abstain is the number of abstain votes on a
                                proposal.
                            'no':
                              type: string
                              description: no is the number of no votes on a proposal.
                            no_with_veto:
                              type: string
                              description: >-
                                no_with_veto is the number of no with veto votes
                                on a proposal.
                          nullable: true
                          additionalProperties: false
                        submit_time:
                          type: string
                          format: date-time
                          description: submit_time is the time of proposal submission.
                          nullable: true
                        deposit_end_time:
                          type: string
                          format: date-time
                          description: deposit_end_time is the end time for deposition.
                          nullable: true
                        total_deposit:
                          type: array
                          items:
                            type: object
                            properties:
                              denom:
                                type: string
                              amount:
                                type: string
                            description: >-
                              Coin defines a token with a denomination and an
                              amount.


                              NOTE: The amount field is an Int which implements
                              the custom method

                              signatures required by gogoproto.
                            additionalProperties: false
                          description: total_deposit is the total deposit on the proposal.
                          nullable: true
                        voting_start_time:
                          type: string
                          format: date-time
                          description: >-
                            voting_start_time is the starting time to vote on a
                            proposal.
                          nullable: true
                        voting_end_time:
                          type: string
                          format: date-time
                          description: >-
                            voting_end_time is the end time of voting on a
                            proposal.
                          nullable: true
                      description: >-
                        Proposal defines the core field members of a governance
                        proposal.
                    description: proposals defines all the requested governance proposals.
                    nullable: true
                  pagination:
                    description: pagination defines the pagination in the response.
                    type: object
                    properties:
                      next_key:
                        type: string
                        format: byte
                        description: >-
                          next_key is the key to be passed to PageRequest.key to

                          query the next page most efficiently. It will be empty
                          if

                          there are no more results.
                        nullable: true
                      total:
                        type: string
                        format: uint64
                        title: >-
                          total is total number of results available if
                          PageRequest.count_total

                          was set, its value is undefined otherwise
                    nullable: true
                    additionalProperties: false
                description: >-
                  QueryProposalsResponse is the response type for the
                  Query/Proposals RPC

                  method.
                additionalProperties: false
        default:
          description: An unexpected error response.
          content:
            '*/*':
              schema:
                type: object
                properties:
                  code:
                    type: integer
                    format: int32
                  message:
                    type: string
                  details:
                    type: array
                    items:
                      type: object
                      properties:
                        '@type':
                          type: string
                          description: >-
                            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.
                      additionalProperties: {}
                      description: >-
                        `Any` contains an arbitrary serialized protocol buffer
                        message along with a

                        URL that describes the type of the serialized message.


                        Protobuf library provides support to pack/unpack Any
                        values in the form

                        of utility functions or additional generated methods of
                        the Any type.


                        Example 1: Pack and unpack a message in C++.

                            Foo foo = ...;
                            Any any;
                            any.PackFrom(foo);
                            ...
                            if (any.UnpackTo(&foo)) {
                              ...
                            }

                        Example 2: Pack and unpack a message in Java.

                            Foo foo = ...;
                            Any any = Any.pack(foo);
                            ...
                            if (any.is(Foo.class)) {
                              foo = any.unpack(Foo.class);
                            }
                            // or ...
                            if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                              foo = any.unpack(Foo.getDefaultInstance());
                            }

                         Example 3: Pack and unpack a message in Python.

                            foo = Foo(...)
                            any = Any()
                            any.Pack(foo)
                            ...
                            if any.Is(Foo.DESCRIPTOR):
                              any.Unpack(foo)
                              ...

                         Example 4: Pack and unpack a message in Go

                             foo := &pb.Foo{...}
                             any, err := anypb.New(foo)
                             if err != nil {
                               ...
                             }
                             ...
                             foo := &pb.Foo{}
                             if err := any.UnmarshalTo(foo); err != nil {
                               ...
                             }

                        The pack methods provided by protobuf library will by
                        default use

                        'type.googleapis.com/full.type.name' as the type URL and
                        the unpack

                        methods only use the fully qualified type name after the
                        last '/'

                        in the type URL, for example "foo.bar.com/x/y.z" will
                        yield type

                        name "y.z".


                        JSON

                        ====

                        The JSON representation of an `Any` value uses the
                        regular

                        representation of the deserialized, embedded message,
                        with an

                        additional field `@type` which contains the type URL.
                        Example:

                            package google.profile;
                            message Person {
                              string first_name = 1;
                              string last_name = 2;
                            }

                            {
                              "@type": "type.googleapis.com/google.profile.Person",
                              "firstName": <string>,
                              "lastName": <string>
                            }

                        If the embedded message type is well-known and has a
                        custom JSON

                        representation, that representation will be embedded
                        adding a field

                        `value` which holds the custom JSON in addition to the
                        `@type`

                        field. Example (for message
                        [google.protobuf.Duration][]):

                            {
                              "@type": "type.googleapis.com/google.protobuf.Duration",
                              "value": "1.212s"
                            }

````