> ## 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.

# Redelegations

> gRPC: `cosmos.staking.v1beta1.Query/Redelegations` ([reference](/sdk/next/api-reference/grpc/staking#redelegations))

Redelegations queries redelegations of given address.

When called from another module, this query might consume a high amount of
gas if the pagination field is incorrectly set.



## OpenAPI

````yaml /sdk/next/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegators/{delegatorAddr}/redelegations
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 (unreleased).


    Generated from cosmos/cosmos-sdk at commit
    c1126e4e5460571378bf9bd9c49cce476b0791e2 on ref `main`.


    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 (unreleased)
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/staking/v1beta1/delegators/{delegatorAddr}/redelegations:
    get:
      tags:
        - staking
      summary: Redelegations
      description: >-
        gRPC: `cosmos.staking.v1beta1.Query/Redelegations`
        ([reference](/sdk/next/api-reference/grpc/staking#redelegations))


        Redelegations queries redelegations of given address.


        When called from another module, this query might consume a high amount
        of

        gas if the pagination field is incorrectly set.
      operationId: staking_v1beta1_Redelegations
      parameters:
        - name: delegatorAddr
          description: delegator_addr defines the delegator address to query for.
          in: path
          required: true
          schema:
            type: string
        - name: srcValidatorAddr
          description: src_validator_addr defines the validator address to redelegate from.
          in: query
          required: false
          schema:
            type: string
        - name: dstValidatorAddr
          description: dst_validator_addr defines the validator address to redelegate to.
          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:
                  redelegation_responses:
                    type: array
                    items:
                      type: object
                      properties:
                        redelegation:
                          type: object
                          properties:
                            delegator_address:
                              type: string
                              description: >-
                                delegator_address is the bech32-encoded address
                                of the delegator.
                            validator_src_address:
                              type: string
                              description: >-
                                validator_src_address is the validator
                                redelegation source operator address.
                            validator_dst_address:
                              type: string
                              description: >-
                                validator_dst_address is the validator
                                redelegation destination operator address.
                            entries:
                              type: array
                              items:
                                type: object
                                properties:
                                  creation_height:
                                    type: string
                                    format: int64
                                    description: >-
                                      creation_height  defines the height which
                                      the redelegation took place.
                                  completion_time:
                                    type: string
                                    format: date-time
                                    description: >-
                                      completion_time defines the unix time for
                                      redelegation completion.
                                    nullable: true
                                  initial_balance:
                                    type: string
                                    description: >-
                                      initial_balance defines the initial
                                      balance when redelegation started.
                                  shares_dst:
                                    type: string
                                    description: >-
                                      shares_dst is the amount of
                                      destination-validator shares created by
                                      redelegation.
                                  unbonding_id:
                                    type: string
                                    format: uint64
                                    title: >-
                                      Incrementing id that uniquely identifies
                                      this entry
                                  unbonding_on_hold_ref_count:
                                    type: string
                                    format: int64
                                    title: >-
                                      Strictly positive if this entry's
                                      unbonding has been stopped by external
                                      modules
                                description: >-
                                  RedelegationEntry defines a redelegation
                                  object with relevant metadata.
                                additionalProperties: false
                              description: |-
                                entries are the redelegation entries.

                                redelegation entries
                              nullable: true
                          description: >-
                            Redelegation contains the list of a particular
                            delegator's redelegating bonds

                            from a particular source validator to a particular
                            destination validator.
                          nullable: true
                          additionalProperties: false
                        entries:
                          type: array
                          items:
                            type: object
                            properties:
                              redelegation_entry:
                                type: object
                                properties:
                                  creation_height:
                                    type: string
                                    format: int64
                                    description: >-
                                      creation_height  defines the height which
                                      the redelegation took place.
                                  completion_time:
                                    type: string
                                    format: date-time
                                    description: >-
                                      completion_time defines the unix time for
                                      redelegation completion.
                                    nullable: true
                                  initial_balance:
                                    type: string
                                    description: >-
                                      initial_balance defines the initial
                                      balance when redelegation started.
                                  shares_dst:
                                    type: string
                                    description: >-
                                      shares_dst is the amount of
                                      destination-validator shares created by
                                      redelegation.
                                  unbonding_id:
                                    type: string
                                    format: uint64
                                    title: >-
                                      Incrementing id that uniquely identifies
                                      this entry
                                  unbonding_on_hold_ref_count:
                                    type: string
                                    format: int64
                                    title: >-
                                      Strictly positive if this entry's
                                      unbonding has been stopped by external
                                      modules
                                description: >-
                                  RedelegationEntry defines a redelegation
                                  object with relevant metadata.
                                nullable: true
                                additionalProperties: false
                              balance:
                                type: string
                            description: >-
                              RedelegationEntryResponse is equivalent to a
                              RedelegationEntry except that it

                              contains a balance in addition to shares which is
                              more suitable for client

                              responses.
                            additionalProperties: false
                          nullable: true
                      description: >-
                        RedelegationResponse is equivalent to a Redelegation
                        except that its entries

                        contain a balance in addition to shares which is more
                        suitable for client

                        responses.
                      additionalProperties: false
                    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: >-
                  QueryRedelegationsResponse is response type for the
                  Query/Redelegations 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"
                            }

````