---
title: "Update/merge payment schemes for a specific bank account. Only modifies specified schemes, preserves existing ones not mentioned."
method: PUT
path: "/api/v1/bank-accounts/{bankAccountId}/payment-schemes"
tags: ["Merchant Bank Account Payment Schemes"]
---

# Update/merge payment schemes for a specific bank account. Only modifies specified schemes, preserves existing ones not mentioned.

`PUT /api/v1/bank-accounts/{bankAccountId}/payment-schemes`

## Request

- Base URL: `https://core.quidkey.com`
- URL: `https://core.quidkey.com/api/v1/bank-accounts/{bankAccountId}/payment-schemes`
- Auth: HTTP bearer

Update/merge payment schemes for a specific bank account. Only modifies specified schemes, preserves existing ones not mentioned.

## Path parameters

- `bankAccountId` string, uuid, required: The unique identifier of the bank account

## Request body

- BankAccountPaymentSchemeUpdateRequest: Request body for updating payment schemes on a bank account
  - `supported_payment_schemes` object[], required: Array of payment schemes to update/merge. Only specified schemes are modified, existing schemes not mentioned are preserved.
    - `type` union, required: The type of payment scheme
      - 'SEPA_CREDIT_TRANSFER'
      - 'MULTIBANCO'
      - 'DANISH_DOMESTIC_CREDIT_TRANSFER'
      - 'FASTER_PAYMENTS'
      - 'BACS'
      - 'BECS'
      - 'ACH'
    - `is_active` boolean: Whether this account should actively receive payments for this scheme. Defaults to false if not specified.

## Response `200`

Success

- MerchantBankAccountResponse
  - `success` boolean, required: Indicates if the request was successful
  - `data` object, required: Merchant bank account information
    - `id` string, uuid: The unique identifier of the bank account
    - `account_number` string: The account number or IBAN of the bank account
    - `currency` string: The currency of the bank account
    - `country` string: The country of the bank account
    - `status` union: The status of the bank account
      - 'active'
      - 'archived'
    - `account_information_session_id` string, uuid: The account information session ID that created this bank account when linked via provider flow
    - `created_at` string, date-time: The creation date of the bank account
    - `updated_at` string, date-time: The last update date of the bank account
    - `iban` string: The IBAN of the bank account (for EU market)
    - `bic` string: The BIC of the bank account (for EU market)
    - `sort_code` string: The sort code of the bank account (for UK market)
    - `routing_number` string: The routing number of the bank account (for US market)
    - `bban` string: Basic Bank Account Number (e.g., for Norway)
    - `plusgiro_number` string: PlusGiro number (for Sweden)
    - `bsb` string: Bank State Branch code (for Australia)
    - `account_holder_name` string: Name of the account holder
    - `supported_payment_schemes` object[]: Payment schemes this account supports
      - `id` string, uuid, required: The unique identifier of the payment scheme
      - `type` union, required: The type of payment scheme
        - 'SEPA_CREDIT_TRANSFER'
        - 'MULTIBANCO'
        - 'DANISH_DOMESTIC_CREDIT_TRANSFER'
        - 'FASTER_PAYMENTS'
        - 'BACS'
        - 'BECS'
        - 'ACH'
      - `name` string, required: Human-readable name of the payment scheme
      - `is_active` boolean, required: Whether this account actively receives payments for this scheme
      - `additional_payment_method` boolean, required: Whether this scheme appears as a separate payment option in UI
    - `roles` union[]: The purposes this account serves
      - union: The purpose an account serves
        - 'receiving'
        - 'settlement'
        - 'refund'
    - `balance` string: Current balance for accounts that support balance reporting (decimal string)

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `500`: Internal Server Error

## Changes

- **2026-06-17** `b372e7d5563d`: 1 breaking, 1 warning, 9 info
  - the `error/code` response's property type changed from `string` to no type for status `400`
  - removed the optional property `error/errors` from the response with the `400` status
  - added `subschema #6, subschema #7` to the `supported_payment_schemes/items/type` request property `anyOf` list
  - added the optional property `data/account_information_session_id` to the response with the `200` status
  - …7 more
- **2025-11-05** `6637b341d86d`: 1 info
  - endpoint added
- **2025-11-02** `919eb7a392aa`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/banqzinc/apis/quidkey-api/changes/api/v1/bank-accounts/:bankAccountId/payment-schemes/put.md)

---

[API](https://skmtc.dev/banqzinc/apis/quidkey-api.md) - [All operations](https://skmtc.dev/banqzinc/apis/quidkey-api/llms.txt) - [OpenAPI document](https://skmtc.dev/banqzinc/apis/quidkey-api/revisions/f86d2bdbcb08?raw)
