> ## Documentation Index
> Fetch the complete documentation index at: https://cobo.com/products/agentic-wallet/manual/llms.txt
> Use this file to discover all available pages before exploring further.

# Initiate wallet reshare

> This operation initiates a key reshare for the specified wallet. Only the **wallet owner** may call this endpoint (for example, after completing wallet pairing).

The operation creates a WaaS **Signing** key share holder group for the provided TSS `node_id`, binds that node to the owner principal, then submits a `KeyGenFromKeyGroup` TSS request to derive a new signing group from the vault's existing main group.

Optional: `token` — when set, the backend resolves the matching claim row's purpose (`pair` requires the row to be `paired`; `restore` requires a **confirmed (paired) restore** code minted after the first pair flow, and it must be used before expiry).

<Note>Reshare is asynchronous. Poll the wallet TSS callback endpoint or the WaaS TSS request status to track completion.</Note>



## OpenAPI

````yaml post /api/v1/wallets/{wallet_uuid}/reshare
openapi: 3.1.0
info:
  title: Cobo Agentic Wallet Service
  description: Unified wallet engine for human and agent principals
  version: 1.3.0
servers: []
security: []
paths:
  /api/v1/wallets/{wallet_uuid}/reshare:
    post:
      tags:
        - Wallets
      summary: Initiate wallet reshare
      description: >-
        This operation initiates a key reshare for the specified wallet. Only
        the **wallet owner** may call this endpoint (for example, after
        completing wallet pairing).


        The operation creates a WaaS **Signing** key share holder group for the
        provided TSS `node_id`, binds that node to the owner principal, then
        submits a `KeyGenFromKeyGroup` TSS request to derive a new signing group
        from the vault's existing main group.


        Optional: `token` — when set, the backend resolves the matching claim
        row's purpose (`pair` requires the row to be `paired`; `restore`
        requires a **confirmed (paired) restore** code minted after the first
        pair flow, and it must be used before expiry).


        <Note>Reshare is asynchronous. Poll the wallet TSS callback endpoint or
        the WaaS TSS request status to track completion.</Note>
      operationId: wallet_reshare
      parameters:
        - name: wallet_uuid
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Wallet Uuid
        - name: X-API-Key
          in: header
          required: false
          schema:
            title: X-Api-Key
            type: string
            nullable: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WalletReshareRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardResponse_WalletReshareResponse_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WrappedValidationError'
components:
  schemas:
    WalletReshareRequest:
      properties:
        node_id:
          type: string
          minLength: 1
          title: Node Id
          description: The human principal's TSS node id (bound to the wallet owner).
        token:
          title: Token
          description: >-
            Optional 8-digit code. The backend resolves the token's purpose
            (`pair` vs `restore`) from the matching claim row: `pair` requires a
            **post-confirm (paired) claim** row; `restore` requires a
            **confirmed (paired) restore** code and must be used before it
            expires. Omit in older app versions.
          type: string
          maxLength: 8
          minLength: 8
          pattern: ^\d{8}$
          nullable: true
      type: object
      required:
        - node_id
      title: WalletReshareRequest
      description: >-
        Owner's TSS node for creating a Signing group, then KeyGenFromKeyGroup
        TSS from main group.
    StandardResponse_WalletReshareResponse_:
      properties:
        success:
          type: boolean
          title: Success
          default: true
        result:
          $ref: '#/components/schemas/WalletReshareResponse'
        suggestion:
          type: string
          title: Suggestion
          default: ''
        message:
          type: string
          title: Message
          default: ''
        meta:
          $ref: '#/components/schemas/PaginationMeta'
          nullable: true
      type: object
      required:
        - result
      title: StandardResponse[WalletReshareResponse]
    WrappedValidationError:
      title: WrappedValidationError
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          const: false
          default: false
          title: Success
        error:
          type: object
          title: Error
          required:
            - detail
          properties:
            detail:
              type: array
              title: Detail
              items:
                $ref: '#/components/schemas/ValidationError'
    WalletReshareResponse:
      properties:
        tss_request_id:
          type: string
          title: Tss Request Id
      type: object
      required:
        - tss_request_id
      title: WalletReshareResponse
      description: WaaS TSS request id for the reshare operation.
    PaginationMeta:
      properties:
        total:
          title: Total
          type: integer
          nullable: true
        offset:
          title: Offset
          type: integer
          nullable: true
        limit:
          title: Limit
          type: integer
          nullable: true
        has_more:
          title: Has More
          type: boolean
          nullable: true
        after:
          title: After
          type: string
          nullable: true
        before:
          title: Before
          type: string
          nullable: true
      type: object
      title: PaginationMeta
      description: |-
        Pagination metadata for list responses.

        Supports both legacy offset-based and cursor-based pagination.
        Cursor fields (``has_more``, ``after``, ``before``) are populated for
        cursor-paginated endpoints.  Legacy fields (``offset``, ``limit``) are
        populated when the caller uses the deprecated ``offset`` parameter.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError

````