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

# Edit a Manually Added Bank Account

> Correct the details of a bank account that was added with its routing and
account number, before it has been verified. Send only the fields you want to
change — anything you leave out is kept as it is.

### What you can change
- ``account_holder_name`` — the name on the bank account
- ``bank_account_number`` — the full bank account number
- ``routing_number`` — the bank's 9-digit routing number
- ``account_type`` — for example ``checking`` or ``savings``

The bank's name follows the routing number, so it is updated for you when the
routing number changes. New numbers are stored encrypted and only ever shown
masked, exactly as when the bank was added. The bank keeps its
``payment_method_id``.

### When an edit is refused
- `bank_not_editable` — the bank was verified instantly (its details came
  from the bank itself), was removed, or is not a domestic bank added with its
  numbers.
- `bank_payment_in_progress` — a payment to or from this bank is still in
  progress; the numbers cannot change under it. Other fields can still be
  edited.
- ``409`` "Bank account already exists for user" — the new numbers match
  another bank this user already has.



## OpenAPI

````yaml PATCH /v1/platform/bank/update/{bank_account_id}
openapi: 3.1.0
info:
  title: Finogate Platform API v1
  version: 0.1.0
servers:
  - url: https://api-sandbox.finogates.com
    description: Sandbox
  - url: https://api.finogates.com
    description: Production
security: []
tags:
  - name: auth
  - name: users
  - name: payees
  - name: verification
  - name: bank accounts
  - name: card processing
  - name: digital-assets
  - name: international
  - name: fees
  - name: emails
  - name: email-templates
  - name: onboarding
  - name: Redirect URLs
  - name: pending-applications
  - name: feature requests
  - name: integration apps
  - name: wallets
  - name: payments
  - name: document mailing
  - name: merchant onboarding
  - name: catalog
  - name: webhooks
  - name: screening
  - name: Platform - File Scanning
  - name: phone-numbers
  - name: sms
  - name: calls
  - name: listings
  - name: Card Transfers
  - name: Card Transfers (Sandbox)
  - name: Accounting
  - name: check payments
  - name: check designs
  - name: embed-tokens
paths:
  /v1/platform/bank/update/{bank_account_id}:
    patch:
      tags:
        - bank accounts
      summary: Edit a Bank Account Added Manually
      description: >-
        Correct the details of a bank account that was added with its routing
        and

        account number, before it has been verified. Send only the fields you
        want to

        change — anything you leave out is kept as it is.


        ### What you can change

        - ``account_holder_name`` — the name on the bank account

        - ``bank_account_number`` — the full bank account number

        - ``routing_number`` — the bank's 9-digit routing number

        - ``account_type`` — for example ``checking`` or ``savings``


        The bank's name follows the routing number, so it is updated for you
        when the

        routing number changes. New numbers are stored encrypted and only ever
        shown

        masked, exactly as when the bank was added. The bank keeps its

        ``payment_method_id``.


        ### When an edit is refused

        - `bank_not_editable` — the bank was verified instantly (its details
        came
          from the bank itself), was removed, or is not a domestic bank added with its
          numbers.
        - `bank_payment_in_progress` — a payment to or from this bank is still
        in
          progress; the numbers cannot change under it. Other fields can still be
          edited.
        - ``409`` "Bank account already exists for user" — the new numbers match
          another bank this user already has.
      operationId: update_bank_account_v1_platform_bank_update__bank_account_id__patch
      parameters:
        - name: bank_account_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: The unique ID of the manually added bank account to edit.
            examples:
              - e5f6a7b8-c9d0-1234-5678-9abcdef01234
            title: Bank Account Id
          description: The unique ID of the manually added bank account to edit.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformBankAccountUpdate'
      responses:
        '200':
          description: The updated bank account (sensitive numbers masked).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommonResponse_PlatformPaymentMethodRead_'
              example:
                status_code: 200
                data:
                  payment_method_id: e5f6a7b8-c9d0-1234-5678-9abcdef01234
                  user_id: b3a9b622-cc63-4d3c-aad6-2d8e29e6f9d4
                  method_type: bank
                  status: active
                  bank_name: Example Bank
                  account_mask: '****7890'
                  routing_last4: '0021'
                  account_type: checking
                  account_holder_name: John Doe
                  rail_code: ach
                  created_at: '2026-04-01T10:30:00Z'
                query_generated_time: 1712847600000
        '409':
          description: bank_not_editable, bank_payment_in_progress
          content:
            application/json:
              examples:
                bank_not_editable:
                  summary: bank_not_editable (error_code 1127)
                  value:
                    status_code: 409
                    data:
                      detail: >-
                        Only a bank account added with its account and routing
                        numbers, and not yet verified, can be edited.
                      code: bank_not_editable
                      error_code: 1127
                    query_generated_time: 1750000000000
                bank_payment_in_progress:
                  summary: bank_payment_in_progress (error_code 1128)
                  value:
                    status_code: 409
                    data:
                      detail: >-
                        This bank account has a payment in progress. Edit it
                        once that payment completes.
                      code: bank_payment_in_progress
                      error_code: 1128
                    query_generated_time: 1750000000000
              schema:
                $ref: '#/components/schemas/CodedErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - _AuthenticatedBearer: []
components:
  schemas:
    PlatformBankAccountUpdate:
      properties:
        account_holder_name:
          anyOf:
            - type: string
              maxLength: 120
              minLength: 1
            - type: 'null'
          title: Account Holder Name
          description: Name of the account holder.
          examples:
            - John Doe
        bank_account_number:
          anyOf:
            - type: string
              maxLength: 34
              minLength: 4
            - type: 'null'
          title: Bank Account Number
          description: Full bank account number.
          examples:
            - '1234567890'
        routing_number:
          anyOf:
            - type: string
              maxLength: 9
              minLength: 9
            - type: 'null'
          title: Routing Number
          description: ACH routing number (9 digits).
          examples:
            - '021000021'
        account_type:
          anyOf:
            - type: string
              maxLength: 30
              minLength: 1
            - type: 'null'
          title: Account Type
          description: Account type (e.g. ``checking``, ``savings``).
          examples:
            - checking
      additionalProperties: false
      type: object
      title: PlatformBankAccountUpdate
      description: |-
        Correct a bank account added manually, before it is verified.

        PATCH semantics: only the fields sent change. ``bank_name`` and
        ``nickname`` are refused for the reason ``PlatformBankAccountCreate``
        gives — the bank's name follows the routing number.
    CommonResponse_PlatformPaymentMethodRead_:
      properties:
        status_code:
          type: integer
          title: Status Code
          description: HTTP status code for the response.
        data:
          $ref: '#/components/schemas/PlatformPaymentMethodRead'
          description: Payload or error details.
        query_generated_time:
          type: integer
          title: Query Generated Time
          description: >-
            UTC timestamp (milliseconds since epoch) when response was
            generated.
      type: object
      required:
        - status_code
        - data
        - query_generated_time
      title: CommonResponse[PlatformPaymentMethodRead]
    CodedErrorResponse:
      properties:
        status_code:
          type: integer
          title: Status Code
          description: HTTP status code for the response.
        data:
          $ref: '#/components/schemas/CodedErrorBody'
          description: Payload or error details.
        query_generated_time:
          type: integer
          title: Query Generated Time
          description: >-
            UTC timestamp (milliseconds since epoch) when response was
            generated.
      type: object
      required:
        - status_code
        - data
        - query_generated_time
      title: CodedErrorResponse
      description: Standard envelope wrapping a :class:`CodedErrorBody`.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PlatformPaymentMethodRead:
      properties:
        payment_method_id:
          type: string
          format: uuid
          title: Payment Method Id
          description: Unique payment method identifier.
          examples:
            - e5f6a7b8-c9d0-1234-5678-9abcdef01234
        user_id:
          type: string
          format: uuid
          title: User Id
          description: Owner user UUID.
          examples:
            - b3a9b622-cc63-4d3c-aad6-2d8e29e6f9d4
        user_email:
          anyOf:
            - type: string
            - type: 'null'
          title: User Email
          description: Owner user's email address.
          examples:
            - owner@example.com
        user_name:
          anyOf:
            - type: string
            - type: 'null'
          title: User Name
          description: Owner user's name.
          examples:
            - Jane Doe
        method_type:
          type: string
          title: Method Type
          description: Payment method type (``bank``, ``card``).
          examples:
            - bank
        status:
          type: string
          title: Status
          description: Method status (active, disabled, revoked, expired).
          examples:
            - active
        nickname:
          anyOf:
            - type: string
            - type: 'null'
          title: Nickname
          description: Display nickname.
        last4:
          anyOf:
            - type: string
            - type: 'null'
          title: Last4
          description: Last 4 digits of the card number.
          examples:
            - '1111'
        brand:
          anyOf:
            - type: string
            - type: 'null'
          title: Brand
          description: Card brand (Visa, Mastercard, etc.).
          examples:
            - Visa
        exp_month:
          anyOf:
            - type: integer
            - type: 'null'
          title: Exp Month
          description: Card expiry month.
          examples:
            - 12
        exp_year:
          anyOf:
            - type: integer
            - type: 'null'
          title: Exp Year
          description: Card expiry year.
          examples:
            - 2027
        cardholder_first_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Cardholder First Name
          description: Cardholder first name.
          examples:
            - John
        cardholder_last_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Cardholder Last Name
          description: Cardholder last name.
          examples:
            - Doe
        cardholder_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Cardholder Name
          description: Name on card (first + last).
          examples:
            - John Doe
        card_transfer_aft_enabled:
          type: boolean
          title: Card Transfer Aft Enabled
          description: >-
            True when this card is registered for card-to-account (money-in)
            transfers on the platform. Always false for non-card methods.
          default: false
          examples:
            - false
        card_transfer_oct_enabled:
          type: boolean
          title: Card Transfer Oct Enabled
          description: >-
            True when this card is registered for account-to-card (money-out)
            transfers on the platform. Always false for non-card methods.
          default: false
          examples:
            - false
        billing_address:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Billing Address
          description: Card billing address (line1, city, state, postal_code, country).
          examples:
            - city: New York
              country: US
              line1: 123 Main St
              postal_code: '10001'
              state: NY
        bank_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Bank Name
          description: Name of the bank.
          examples:
            - Chase Bank
        account_mask:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Mask
          description: Masked account number (last 4 digits).
          examples:
            - '****7890'
        routing_last4:
          anyOf:
            - type: string
            - type: 'null'
          title: Routing Last4
          description: Last 4 digits of the routing number.
          examples:
            - '0021'
        routing_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Routing Number
          description: Full ACH routing number (9 digits) of the bank account.
          examples:
            - '021000021'
        is_rtp_enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Rtp Enabled
          description: >-
            Whether this account's routing number is on the RTP (real-time
            payments) network's participant list, i.e. whether the bank can
            receive an instant payment. Null when that cannot be told: the list
            is not available, or there is no valid US routing number.
        account_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Type
          description: Bank account type.
          examples:
            - checking
        account_holder_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Holder Name
          description: Account holder name.
          examples:
            - John Doe
        bank_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Bank Address
          description: Bank street address.
          examples:
            - 270 Park Avenue
        bank_city:
          anyOf:
            - type: string
            - type: 'null'
          title: Bank City
          description: Bank city.
          examples:
            - New York
        bank_state:
          anyOf:
            - type: string
            - type: 'null'
          title: Bank State
          description: Bank state.
          examples:
            - NY
        bank_zip:
          anyOf:
            - type: string
            - type: 'null'
          title: Bank Zip
          description: Bank ZIP or postal code.
          examples:
            - '10017'
        bank_country:
          anyOf:
            - type: string
            - type: 'null'
          title: Bank Country
          description: Bank country.
          examples:
            - US
        account_holder_address:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Holder Address
          description: Account holder street address.
          examples:
            - 123 Main St
        account_holder_city:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Holder City
          description: Account holder city.
          examples:
            - New York
        account_holder_state:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Holder State
          description: Account holder state.
          examples:
            - NY
        account_holder_zip:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Holder Zip
          description: Account holder ZIP or postal code.
          examples:
            - '10001'
        account_holder_country:
          anyOf:
            - type: string
            - type: 'null'
          title: Account Holder Country
          description: Account holder country.
          examples:
            - US
        rail_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Rail Code
          description: Primary rail this instrument was registered for, if any.
        rail_capabilities:
          additionalProperties: true
          type: object
          title: Rail Capabilities
          description: Stored per-rail capability/toggle overrides.
        created_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created At
          description: Creation timestamp (UTC).
          examples:
            - '2026-04-01T10:30:00Z'
      type: object
      required:
        - payment_method_id
        - user_id
        - method_type
        - status
      title: PlatformPaymentMethodRead
      description: |-
        Payment method representation for the platform API.

        Sensitive data (full PAN, full account number) is never returned —
        only masked values (``last4``, ``account_mask``).
    CodedErrorBody:
      properties:
        detail:
          type: string
          title: Detail
          description: Human-readable error message.
        code:
          type: string
          title: Code
          description: Stable string error code — the canonical value to branch on.
        error_code:
          type: integer
          title: Error Code
          description: >-
            Numeric custom error code from the Finogate registry. Unique per
            condition and stable forever.
      type: object
      required:
        - detail
        - code
        - error_code
      title: CodedErrorBody
      description: >-
        The ``data`` payload of a coded-error response.


        Condition-specific extras (e.g. ``remaining_time``) may also appear;
        only

        the always-present fields are typed here.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    _AuthenticatedBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /v1/platform/auth/token

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.