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

# Manage VBA Status

> Activate or deactivate a Virtual Bank Account



## OpenAPI

````yaml PATCH /pg/vba/{virtual_account_id}/
openapi: 3.0.0
info:
  title: Eximpe Payment Gateway API
  description: >-
    API for payment processing and order management through Eximpe payment
    gateway. This specification includes v1, v2, and v3 API versions.
  license:
    name: Proprietary
  version: 2.0.0
servers:
  - url: https://api-pacb-uat.eximpe.com
    description: Payment Gateway Sandbox URL
security:
  - clientAuth: []
    clientSecretAuth: []
    apiVersionHeader: []
tags:
  - name: Card Tokens
  - name: Merchants
  - name: Orders
  - name: Payment Links
  - name: Payments
  - name: Refunds
  - name: Settlements
  - name: Subscriptions
paths:
  /pg/vba/{virtual_account_id}/:
    patch:
      tags:
        - Virtual Bank Accounts
      summary: Manage VBA Status
      description: >-
        Sets the VBA status to ACTIVE or INACTIVE. From v2.0.0 onwards, a
        merchant can have multiple ACTIVE VBAs simultaneously.
      operationId: v2_patch_pg_vba_virtual_account_id_
      parameters:
        - name: virtual_account_id
          in: path
          description: Virtual account ID of the VBA to manage.
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - status
              properties:
                status:
                  type: string
                  enum:
                    - ACTIVE
                    - INACTIVE
                  description: VBA status.
            example:
              status: INACTIVE
      responses:
        '200':
          description: VBA status updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: VBA status updated successfully
                  data:
                    type: object
                    properties:
                      uid:
                        type: string
                        example: 550e8400-e29b-41d4-a716-446655440000
                      virtual_account_id:
                        type: string
                        example: a1b2c3d4
                      vba_account_name:
                        type: string
                        example: My Trade Name
                      vba_bank_code:
                        type: string
                        example: UTIB
                      vba_account_number:
                        type: string
                        example: '12345678901234'
                      vba_ifsc:
                        type: string
                        example: UTIB0001234
                      vba_status:
                        type: string
                        example: INACTIVE
                      remitter_lock_details:
                        type: object
                        nullable: true
                        properties:
                          allowed_remitters:
                            type: array
                            items:
                              type: object
                              properties:
                                account_number:
                                  type: string
                                  example: '026291800001191'
                                ifsc:
                                  type: string
                                  example: YESB0000262
                      amount_lock_details:
                        type: object
                        nullable: true
                        properties:
                          min_amount:
                            type: number
                            example: 1000
                          max_amount:
                            type: number
                            example: 5000
              example:
                success: true
                message: VBA status updated successfully
                data:
                  uid: 550e8400-e29b-41d4-a716-446655440000
                  virtual_account_id: a1b2c3d4
                  vba_account_name: My Trade Name
                  vba_bank_code: UTIB
                  vba_account_number: '12345678901234'
                  vba_ifsc: UTIB0001234
                  vba_status: INACTIVE
                  remitter_lock_details: null
                  amount_lock_details: null
        '400':
          description: Invalid status (not ACTIVE or INACTIVE)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '401':
          description: Merchant account not identified
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '403':
          description: VBA feature not enabled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '404':
          description: VBA not found for this merchant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '500':
          description: Failed to update VBA status or configuration error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '502':
          description: Payment gateway API error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
      security:
        - clientAuth: []
          clientSecretAuth: []
          merchantAuth: []
          apiVersionHeader: []
components:
  schemas:
    v1_ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          enum:
            - false
          description: >-
            Indicates if the request was successful. Always false for error
            responses.
        error:
          $ref: '#/components/schemas/v1_ErrorDetails'
    v1_ErrorDetails:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Error code (e.g., ERR_ORDER_002)
        message:
          type: string
          description: Error message
        details:
          type: object
          description: Detailed validation error information with field-specific errors
          additionalProperties:
            type: string
            description: Error message for the specific field
  securitySchemes:
    clientAuth:
      type: apiKey
      name: X-Client-ID
      in: header
      description: >-
        **Client Application ID** - Your unique application identifier used to
        authenticate API requests. You can find your Client ID in the Developer
        Settings section of the merchant dashboard.
      x-displayName: Client ID
      x-example: your-client-id
    clientSecretAuth:
      type: apiKey
      name: X-Client-Secret
      in: header
      description: >-
        **Client Secret Key** - Your secret key used alongside the Client ID for
        secure authentication. Keep this confidential and never expose it in
        client-side code. Available in the Developer Settings section of the
        merchant dashboard.
      x-displayName: Client Secret
      x-example: your-client-secret
    apiVersionHeader:
      type: apiKey
      name: X-API-Version
      in: header
      description: >-
        **API Version** - Specifies which version of the API to use (e.g.,
        '1.X.X', '2.X.X', or '3.X.X'). This header allows you to control which
        API version your integration uses. Default version information is
        available in the Developer Settings.
      x-displayName: API Version
      x-example: 3.0.0
    merchantAuth:
      type: apiKey
      name: X-Merchant-ID
      in: header
      description: >-
        **Merchant Identifier** - The unique ID for the merchant account. This
        is required for PSP (Payment Service Provider) merchants who manage
        multiple merchant accounts. You can find merchant IDs in the Merchant
        Management section of the dashboard.
      x-displayName: Merchant ID
      x-example: your-merchant-id

````