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

# Update saved recipient

> Updates mutable recipient fields. Production requires approved KYB for every fiat-recipient update; bank detail changes also require account verification again. Updating a recipient does not submit a withdrawal or move funds.



## OpenAPI

````yaml /openapi/openapi.json patch /partner/wallets/recipients/{recipient_id}
openapi: 3.1.0
info:
  title: Stabyl API
  description: >-
    REST API for approved Stabyl accounts to automate exchange, wallet, and
    non-production simulation workflows.
  contact:
    name: Stabyl Support
    email: support@stabyl.com
  license:
    name: Proprietary
  version: 1.0.0
servers:
  - url: https://api.stabyl.com/v1
    description: Production
  - url: https://api-staging.stabyl.com/v1
    description: Staging
security: []
tags:
  - name: Exchange
    description: Trading market data and order management for account automation.
  - name: Wallets
    description: >-
      Supported routes, deposit destinations, balances, transactions, and saved
      recipients.
  - name: Webhooks
    description: >-
      Outbound event delivery configuration and eventually consistent delivery
      history. Verify Standard Webhooks webhook-id, webhook-timestamp, and
      webhook-signature headers against the unchanged raw request body before
      parsing JSON.
  - name: Simulation
    description: Non-production endpoints for testing integration behavior.
paths:
  /partner/wallets/recipients/{recipient_id}:
    patch:
      tags:
        - Wallets
      summary: Update saved recipient
      description: >-
        Updates mutable recipient fields. Production requires approved KYB for
        every fiat-recipient update; bank detail changes also require account
        verification again. Updating a recipient does not submit a withdrawal or
        move funds.
      operationId: patch_partner_wallets_recipients_recipient_id
      parameters:
        - name: recipient_id
          in: path
          description: Saved recipient ID returned by create or list recipient endpoints.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: >-
          Mutable recipient fields to update. Bank detail changes require
          account verification again.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWalletRecipientRequest'
        required: true
      responses:
        '200':
          description: Recipient updated
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - data
                properties:
                  data:
                    $ref: '#/components/schemas/WalletRecipientResponse'
                  status:
                    type: string
                    enum:
                      - success
              example:
                data:
                  account_name: Example Recipient
                  account_number: '0123456789'
                  bank_code: '044'
                  bank_name: Access Bank
                  chain: null
                  created_at: '2026-05-24T12:00:00Z'
                  crypto_address: null
                  currency: NGN
                  id: 0197f1f0-0000-7000-8000-000000000002
                  label: Operations account
                  recipient_type: fiat
                  updated_at: '2026-05-24T12:00:00Z'
                status: success
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        example: VALIDATION_FAILED
                      message:
                        type: string
                        example: invalid request parameters
                  status:
                    type: string
                    enum:
                      - error
              example:
                error:
                  code: VALIDATION_FAILED
                  message: invalid request parameters
                status: error
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        example: UNAUTHORIZED
                      message:
                        type: string
                        example: missing X-Api-Key header
                  status:
                    type: string
                    enum:
                      - error
              example:
                error:
                  code: UNAUTHORIZED
                  message: missing X-Api-Key header
                status: error
        '403':
          description: Approved KYB required for fiat-recipient updates in production
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        example: FORBIDDEN
                      message:
                        type: string
                        example: request is not allowed
                  status:
                    type: string
                    enum:
                      - error
              example:
                error:
                  code: FORBIDDEN
                  message: request is not allowed
                status: error
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - error
                properties:
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        type: string
                        example: NOT_FOUND
                      message:
                        type: string
                        example: resource not found
                  status:
                    type: string
                    enum:
                      - error
              example:
                error:
                  code: NOT_FOUND
                  message: resource not found
                status: error
      security:
        - api_key: []
components:
  schemas:
    UpdateWalletRecipientRequest:
      type: object
      description: Mutable saved-recipient fields to update.
      properties:
        account_name:
          type:
            - string
            - 'null'
        account_number:
          type:
            - string
            - 'null'
        bank_code:
          type:
            - string
            - 'null'
        bank_name:
          type:
            - string
            - 'null'
        chain:
          type:
            - string
            - 'null'
        country:
          type:
            - string
            - 'null'
          description: >-
            ISO-3166 alpha-3 country code for crypto recipients. Omit to keep
            the current value.
          example: NGA
        crypto_address:
          type:
            - string
            - 'null'
        currency:
          type:
            - string
            - 'null'
        label:
          type:
            - string
            - 'null'
      additionalProperties: false
    WalletRecipientResponse:
      type: object
      description: Saved fiat or crypto recipient record.
      required:
        - id
        - recipient_type
        - label
        - created_at
        - updated_at
      properties:
        account_name:
          type:
            - string
            - 'null'
        account_number:
          type:
            - string
            - 'null'
        bank_code:
          type:
            - string
            - 'null'
        bank_name:
          type:
            - string
            - 'null'
        chain:
          type:
            - string
            - 'null'
        country:
          type:
            - string
            - 'null'
          description: >-
            ISO-3166 alpha-3 country code for crypto recipients. Null for fiat
            recipients

            and for legacy crypto recipients created before the field existed.
          example: NGA
        created_at:
          type: string
        crypto_address:
          type:
            - string
            - 'null'
        currency:
          type:
            - string
            - 'null'
        id:
          type: string
          format: uuid
        label:
          type: string
        recipient_type:
          $ref: '#/components/schemas/RecipientType'
        updated_at:
          type: string
    RecipientType:
      type: string
      description: >-
        Saved recipient type. Fiat recipients use bank details; crypto
        recipients use chain and address details.
      enum:
        - fiat
        - crypto
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: X-Api-Key
      description: >-
        API credential. Withdrawal quote and submit operations additionally
        require the documented Ed25519 timestamp, nonce, and signature headers.
      x-default: sb_test_your_key

````