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

# Add Bank Account (Non Indian) (v1)

> Add or update bank account details for Non-Indian sender/beneficiary

Refer to the following requirements for different jurisdictions:

| **Country** | **Required Fields** |
| --- | --- |
| United Arab Emirates (country: "ARE") | `bank_iban`, `account_holder_name`, `bank_name`, `account_type` |
| Europe | `bank_iban`, `account_holder_name`, `bank_name`, `account_type` |
| UK (country: "GBR") | `account_number`, `account_holder_name`, `routing_type`, `ifsc` (routing_number), `account_type` |
| Phillipines (country: "PHL") | `account_number`, `account_holder_name`, `bank_name` |
| Indonesia (country: "IDN") | `account_number`, `account_holder_name`, `bank_name` |




## OpenAPI

````yaml /openapi-v1.json post /api/v1/user/client_user/bank_account
openapi: 3.1.0
info:
  title: Saber Money API (v1)
  version: v1
  description: >-
    ## Authentication


    There is no standalone API-key auth — every request must be **signed**. An
    API key by itself authenticates nothing. Each call requires four headers
    together: `X-Api-Key` (your key), `X-Signature` (HMAC-SHA256 of `apiKey +
    timestamp` — or `apiKey + timestamp + userId` when `X-User-Id` is required —
    keyed with your API secret), `X-Timestamp` (unix seconds), and
    `X-Request-Id` (any unique string per request). The signature must be
    computed by a client script; there is no way to derive it by hand. Use the
    HMAC Generator flow to compute valid values for manual testing.


    ## Common Authentication Errors


    - **Invalid Client ID**: {"error_code":6092,"message":"X-Client-Id
    invalid","success":false}

    - **Invalid Secret**: {"error_code":6090,"message":"invalid
    secret","success":false}

    - **Timestamp (Older than 10 secs)**:
    {"errors":{"error_code":6093,"text":"timestamp expired"},"success":false}
servers:
  - url: https://api.saber.money
security: []
paths:
  /api/v1/user/client_user/bank_account:
    post:
      tags:
        - Bank Account Operations
      summary: Add Bank Account (Non Indian) (v1)
      description: >
        Add or update bank account details for Non-Indian sender/beneficiary


        Refer to the following requirements for different jurisdictions:


        | **Country** | **Required Fields** |

        | --- | --- |

        | United Arab Emirates (country: "ARE") | `bank_iban`,
        `account_holder_name`, `bank_name`, `account_type` |

        | Europe | `bank_iban`, `account_holder_name`, `bank_name`,
        `account_type` |

        | UK (country: "GBR") | `account_number`, `account_holder_name`,
        `routing_type`, `ifsc` (routing_number), `account_type` |

        | Phillipines (country: "PHL") | `account_number`,
        `account_holder_name`, `bank_name` |

        | Indonesia (country: "IDN") | `account_number`, `account_holder_name`,
        `bank_name` |
      operationId: add-bank-account-non-indian-v1
      parameters:
        - name: X-Api-Key
          in: header
          required: true
          description: Your API key (configured in credentials)
          schema:
            type: string
        - name: X-Signature
          in: header
          required: true
          description: >-
            HMAC-SHA256 signature (auto-generated) To test manually: HMAC-SHA256
            of `apiKey + timestamp` (or `apiKey + timestamp + userId` when
            X-User-Id is required), keyed with your API secret. The HMAC
            Generator flow computes this for you.
          schema:
            type: string
        - name: X-Timestamp
          in: header
          required: true
          description: >-
            Unix timestamp in seconds (auto-generated) Unix seconds, e.g.
            `Math.floor(Date.now() / 1000)`. Must match the timestamp used in
            the X-Signature computation.
          schema:
            type: string
        - name: X-Request-Id
          in: header
          required: true
          description: >-
            Unique request identifier (auto-generated) Any unique string per
            request, e.g. a UUID.
          schema:
            type: string
        - name: X-User-Id
          in: header
          required: true
          description: User UUID (set above)
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                account_number:
                  type: string
                  description: The account_number field
                account_holder_name:
                  type: string
                  description: The account_holder_name field
                bank_code:
                  type: string
                  description: The bank_code field
                account_type:
                  type: string
                  description: The account_type field
                bank_name:
                  type: string
                  description: The bank_name field
                country:
                  type: string
                  description: The country field
                bank_iban:
                  type: string
                  description: The bank_iban field
                bank_bic:
                  type: string
                  description: The bank_bic field
                routing_type:
                  type: string
                  description: The routing_type field
              required:
                - account_number
                - account_holder_name
                - bank_code
                - account_type
                - bank_name
                - country
                - bank_iban
                - bank_bic
                - routing_type
            example:
              action: add
              bank_account_details:
                account_number: '1234567890'
                ifsc_code: HDFC0001234
                type: SAVINGS
                bank_id: ''
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    type: object
                    properties:
                      message:
                        type: string
              example:
                success: true
                data:
                  message: >-
                    The user bank account added successfully, awaiting for
                    verification

````

## Related topics

- [Add/Update/Delete Bank Account (Indian) (v1)](/api-reference/bank-account-operations/addupdatedelete-bank-account-indian-v1.md)
- [KYC Sharing](/user/kyc/sharing.md)
- [Overview](/user/kyc/overview.md)
- [KYC Widget](/user/kyc/widget.md)
- [Through API Endpoints](/user/bank-account/api.md)
