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

# Update Virtual Account

> Update virtual account: add/enable chains with currencies, disable chains



## OpenAPI

````yaml /openapi.yaml patch /partners/accounts/update-virtual-account
openapi: 3.1.0
info:
  contact:
    email: support@boomfi.xyz
    name: API Support
  description: >-
    The BoomFi Merchants API provides a set of endpoints for merchants to manage
    their accounts, transactions, and more. Hosts differ per brand/environment;
    use the brand-specific base URL from the docs.
  title: ZBX Merchants API
  version: '1.0'
servers:
  - url: https://mapi.zbx.boomfi.xyz/v1
    description: Production
security: []
tags:
  - description: Payment links
    name: Paylinks
  - description: Billing plans
    name: Plans
  - description: Subscriptions
    name: Subscriptions
  - description: Customer records
    name: Customers
  - description: Invoices
    name: Invoices
  - description: Payments
    name: Payments
  - description: Organisation events
    name: Events
  - description: Organisation profile and display settings
    name: Organisation
  - description: Webhook and request-signing secrets
    name: Secrets
  - description: Settlement accounts
    name: Accounts
  - name: Bank Address Book
  - description: Managed virtual accounts, balances, pay-in, and payout
    name: Virtual Accounts
  - description: Partner-managed accounts, virtual accounts, pay-in, and payout
    name: Partners
  - description: Partner virtual account automations and run history
    name: Partner Automations
  - description: Partner maintain-balance automations
    name: Partner Balance Monitoring
  - description: Tradeable currencies, instruments, and swap targets
    name: Instruments
  - description: RFQ quotes
    name: Quotes
  - description: RFQ orders and one-click trades
    name: Orders
  - description: Executed trades
    name: Trades
paths:
  /partners/accounts/update-virtual-account:
    patch:
      tags:
        - Partners
      summary: Update Virtual Account
      description: >-
        Update virtual account: add/enable chains with currencies, disable
        chains
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/partners.UpdateVirtualAccountRequest'
        description: Request
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/internal.Response-accounts_UpdateVirtualAccountResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/internal.ErrorResponse'
      security:
        - ApiKeyAuth: []
          ApiNonce: []
          ApiSignature: []
components:
  schemas:
    partners.UpdateVirtualAccountRequest:
      properties:
        chains:
          description: Add/enable chains and update currencies
          items:
            $ref: '#/components/schemas/partners.ChainConfig'
          type: array
        deposit_splits:
          description: nil=no change, []=clear, [...]= replace
          items:
            $ref: '#/components/schemas/partners.DepositSplitInput'
          type: array
        disable_chains:
          description: Disable CryptoPayIn chains
          items:
            type: integer
          type: array
        reference:
          description: Reference of the virtual account to update
          type: string
      type: object
    internal.Response-accounts_UpdateVirtualAccountResponse:
      properties:
        data:
          allOf:
            - $ref: '#/components/schemas/accounts.UpdateVirtualAccountResponse'
          description: Response payload when the request succeeded.
        error:
          description: True when the request failed.
          type: boolean
        message:
          description: Human-readable status or error message.
          type: string
      type: object
    internal.ErrorResponse:
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/internal.ErrorStruct'
          description: Error details including HTTP-style code and message.
      type: object
    partners.ChainConfig:
      properties:
        chain_id:
          description: Blockchain chain ID.
          type: integer
        currencies:
          description: Supported currency codes for this account or chain.
          items:
            type: string
          type: array
        wallet_address:
          description: Blockchain wallet address.
          type: string
      type: object
    partners.DepositSplitInput:
      properties:
        account_id:
          description: Unique identifier of the account this resource belongs to.
          type: integer
        account_ref:
          description: Merchant-defined virtual account reference string.
          type: string
        pct:
          description: Percentage share of the deposit (0–100).
          type: string
      type: object
    accounts.UpdateVirtualAccountResponse:
      properties:
        account_number:
          description: Bank account number.
          type: string
        account_type:
          description: Account type.
          enum:
            - CryptoPayIn
            - CryptoPayOut
            - FiatPayIn
            - FiatPayOut
            - Virtual
            - ProxyWallet
            - GasMaster
            - Crypto
            - Bank
            - Card
            - MPCVault
            - GooglePay
            - ApplePay
          type: string
        address:
          description: >-
            On-chain wallet address or postal street address, depending on
            context.
          type: string
        chain:
          allOf:
            - $ref: '#/components/schemas/accounts.ChainResponse'
          description: Blockchain chain details for this account or balance.
        chain_id:
          description: Blockchain chain ID.
          type: integer
        created_at:
          description: When the resource was created (RFC3339).
          type: string
        created_by:
          description: User or system that created the resource.
          type: string
        currencies:
          description: Supported currency codes for this account or chain.
          items:
            type: string
          type: array
        deleted_at:
          description: When the resource was soft-deleted (RFC3339), if applicable.
          type: string
        deposit_splits:
          description: How deposits are split across destination accounts.
          items:
            $ref: '#/components/schemas/models.DepositSplit'
          type: array
        enabled:
          description: Whether this resource is enabled.
          type: boolean
        id:
          description: Unique resource identifier.
          type: integer
        name:
          description: Display name.
          type: string
        org_id:
          description: Organisation ID that owns this resource.
          type: string
        parent_id:
          description: Identifier of the parent resource, when nested.
          type: integer
        properties:
          description: Additional properties as a key-value map.
          items:
            type: integer
          type: array
        provider:
          description: Provider that backs this account or payment method.
          type: string
        reference:
          description: Merchant-defined reference string.
          type: string
        sort_code:
          description: Bank sort code.
          type: string
        state:
          allOf:
            - $ref: '#/components/schemas/docenums.AccountState'
          description: PayinFeePct and PayoutFeePct fields excluded
        sub_accounts:
          description: Child settlement or deposit accounts.
          items:
            $ref: '#/components/schemas/accounts.UpdateVirtualAccountResponse'
          type: array
        updated_at:
          description: When the resource was last updated (RFC3339).
          type: string
      type: object
    internal.ErrorStruct:
      properties:
        code:
          description: |-
            Error code
            Example: 400
          example: 400
          type: integer
        errors:
          description: List of errors
          items:
            $ref: '#/components/schemas/internal.SingleError'
          type: array
        message:
          description: |-
            Error message
            Example: Insufficient quantity
          example: Insufficient quantity
          type: string
      type: object
    accounts.ChainResponse:
      properties:
        id:
          description: Unique resource identifier.
          type: integer
        name:
          description: Display name.
          type: string
        native_currency_symbol:
          description: Native gas token symbol for the chain.
          type: string
      type: object
    models.DepositSplit:
      properties:
        account_id:
          description: Unique identifier of the account this resource belongs to.
          type: integer
        account_ref:
          description: Merchant-defined virtual account reference string.
          type: string
        address:
          description: >-
            On-chain wallet address or postal street address, depending on
            context.
          type: string
        pct:
          description: Percentage share of the deposit (0–100).
          type: string
      type: object
    docenums.AccountState:
      enum:
        - Unknown
        - Pending
        - Ready
      type: string
      x-enum-varnames:
        - AccountStateUnknown
        - AccountStatePending
        - AccountStateReady
    internal.SingleError:
      properties:
        domain:
          description: |-
            Domain
            Example: orders
          example: orders
          type: string
        reason:
          description: |-
            Error Reason
            Example: InsufficientQuantity
          example: InsufficientQuantity
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-API-KEY
      type: apiKey
    ApiNonce:
      in: header
      name: X-API-Nonce
      type: apiKey
    ApiSignature:
      in: header
      name: X-API-Signature
      type: apiKey

````