--- swagger: "2.0" info: x-ibm-name: partner-vam-api title: Partner VAM API version: 1.0.0 name: "" description: "" schemes: - https basePath: /v1 consumes: - application/json produces: - application/json securityDefinitions: oauth: type: oauth2 description: "" flow: application scopes: vam_utility: To fetch and manage VAM accounts x-tokenIntrospect: url: "" tokenUrl: https://testapi.rakbank.ae/rb/api/oauth2/token clientIdHeader: type: apiKey in: header name: X-IBM-Client-Id security: - clientIdHeader: [] oauth: - vam_utility paths: /virtual_accounts/close: post: responses: 200: description: 200 OK schema: $ref: '#/definitions/close_virtual_accounts_response' 400: description: Bad Request schema: $ref: '#/definitions/error_response' 404: description: Not Found schema: $ref: '#/definitions/error_response' 422: description: Error Response schema: $ref: '#/definitions/error_response' 500: description: Internal Server Error schema: $ref: '#/definitions/error_response' operationId: closeVirtualAccount parameters: - name: close_virtual_acc_req required: true in: body schema: $ref: '#/definitions/close_virtual_accounts_request' parameters: - name: MsgId type: string required: true in: header description: Unique Id sent by client in UUID format. The value should be a unique identifier of the request so that it can be used for any tracking and investigation purpose. /virtual_accounts: post: responses: 200: description: 200 OK schema: $ref: '#/definitions/create_virtual_account_response' 422: description: Error Response schema: $ref: '#/definitions/error_response' 500: description: Internal Server Error schema: $ref: '#/definitions/error_response' operationId: createVirtualAccount parameters: - name: create_virtual_acc_req required: true in: body schema: $ref: '#/definitions/create_virtual_account_request' parameters: - name: MsgId type: string required: true in: header description: Unique Id sent by client in UUID format. The value should be a unique identifier of the request so that it can be used for any tracking and investigation purpose. definitions: error_response: properties: status: type: string description: HTTP Status example: "422" response_code: type: string description: API specific error code example: "422010" property: type: string description: "" example: customer_id response_message: type: string description: breif details of the error example: Record Not Found description: type: string description: detailed description of the error example: customer_id not found additionalProperties: false required: - response_message - response_code - status description: Response in case of error free_texts: type: object properties: free_text_1: type: string description: Free text field 1. maxLength: 80 free_text_2: type: string description: Free text field 2. maxLength: 80 free_text_3: type: string description: Free text field 3. maxLength: 80 free_text_4: type: string description: Free text field 4. maxLength: 80 free_text_5: type: string description: Free text field 5. maxLength: 80 frequency_details: type: object properties: type: type: string description: Frequency type. maxLength: 1 enum: - D - H - M - Q - "Y" week_num: type: string description: Week number. maxLength: 1 week_day: type: integer description: Week day. hldy_stat: type: string description: Holiday status. maxLength: 1 start_dd: type: integer description: Start day. months: type: integer description: Months. days: type: integer description: Days. free_codes: type: object properties: free_code_1: type: string description: Free code 1. maxLength: 5 free_code_2: type: string description: Free code 2. maxLength: 5 free_code_3: type: string description: Free code 3. maxLength: 5 free_code_4: type: string description: Free code 4. maxLength: 5 free_code_5: type: string description: Free code 5. maxLength: 5 address: type: object properties: address_line_1: type: string description: Address line1. maxLength: 50 address_line_2: type: string description: Address line2. maxLength: 50 address_line_3: type: string description: Address line3. maxLength: 50 city_code: type: string description: City code. maxLength: 5 state_code: type: string description: State code. maxLength: 5 country_code: type: string description: Country code. maxLength: 5 postal_code: type: string description: Postal code. maxLength: 10 contact_details: type: object properties: address: $ref: '#/definitions/address' phone_number: type: string description: Phone number1. maxLength: 20 email_id: type: string description: Email ID. maxLength: 50 virtual_account_level_transaction_replication_rule: type: object properties: serial_number: type: string description: Replication record serial number. maxLength: 5 transaction_reference: type: string description: Transaction reference. Valid Values - 'TA - Transaction amount', 'TP - transaction particulars', 'R1 - transaction remarks1', 'R2 - transaction remarks2', 'RN - reference' number. maxLength: 2 matching_rule: type: string description: Matching rule. Valid Values - 'EQ - equals', 'BW - between', 'CN - contains', 'BE - begins with' maxLength: 2 rule_value: type: string description: When transaction reference is 'TA', this field contains currency of from and to amount. When transaction reference is selected as other than TA, following are the valid values. 'VA - virtual account number', 'VN - virtual account name', 'NN - account nickname', 'EI - email id', 'PH - phone no', 'IB - iban', 'TI - tax id', 'IT - income tax file no', 'CI - corporate identity number', 'NI - national id card no', 'PN - passport no.', 'F1 - free code 1', 'F2 - free code 2', 'F3 - free code 3', 'F4 - free code 4', 'F5 - free code 5', 'T1 - free text 1', 'T2 - free text 2', 'T3 - free text 3', 'T4 - free text 4', 'T5 - free text 5' maxLength: 50 from_amount: type: number description: Transaction amount range. From amt. format: double to_amount: type: number description: Transaction amount range. To amt. format: double currency_code: type: string description: Transaction amount currency. maxLength: 3 deleted: type: string description: Indicates if the record is deleted or not. maxLength: 1 enum: - "N" - "Y" virtual_account_level_rule_details: type: object properties: serial_number: type: string description: Transaction rule records. maxLength: 5 currency_code: type: string description: Transaction rule currency. maxLength: 3 minimum_credit_amount: type: number description: Minimum credit amount. format: double maximum_credit_amount: type: number description: Maximum credit amount. format: double minimum_debit_amount: type: number description: Minimum debit amount. format: double maximum_debit_amount: type: number description: Maximum debit amount. format: double deleted: type: string description: Indicates if the record is deleted or not. maxLength: 1 enum: - "N" - "Y" virtual_accounts_creation_details: type: object properties: virtual_account_currency_code: type: string description: Virtual account currency code. maxLength: 3 serial_number: type: string description: Serial number. maxLength: 5 physical_account_type: type: string description: Flag to indicate the linked physical account type. Valid Values - 'I-our bank', 'E-other bank' maxLength: 1 enum: - I - E linked_account_identification: type: string description: Linked account id. maxLength: 35 virtual_account_name: type: string description: Virtual account name. maxLength: 80 contact_details: $ref: '#/definitions/contact_details' corporate_identification: type: string description: Corporate id. maxLength: 25 tax_identification: type: string description: Tax id. maxLength: 25 income_tax_file_number: type: string description: Income tax file number. maxLength: 25 passport_number: type: string description: Passport number. maxLength: 12 national_identification_number: type: string description: National id card number. maxLength: 16 virtual_account_nick_name: type: string description: Nick name. maxLength: 50 fee_debit_account_type: type: string description: Fee debit account type. Valid Values - 'I - physical a/c', 'V - virtual a/c', 'O - virtual a/c To be opened' maxLength: 1 enum: - I - V - O fee_debit_account_identification: type: string description: Virtual account fee debit account id. maxLength: 35 next_maintenance_calculation_date: type: string description: Next maintenance charge calculation date. format: date next_transaction_charge_calculation_date: type: string description: Next transaction charge calculation date. format: date credit_interest_applicable: type: string description: Credit interest flag. maxLength: 1 enum: - "N" - "Y" debit_interest_applicable: type: string description: Interest debit flag. maxLength: 1 enum: - "N" - "Y" next_credit_interest_calculation_date: type: string description: Next interest calculation date credit. format: date next_debit_interest_calculation_date: type: string description: Next interest calculation date debit. format: date rule_identification_list: type: string description: List of currency ruleid. maxLength: 512 default_virtual_account_for_transaction_replication: type: string description: Default account for transaction replication. Valid Values - 'Y - Yes', 'N - No'. When 'numberOfVirtualAccounts' field is passed as greater than 1, this field will be default populated with N. maxLength: 1 enum: - "N" - "Y" freeze_code: type: string description: Freeze type. Valid Values - 'C-credit only', 'D-debit only', 'T-total freeze' maxLength: 1 enum: - C - D - T freeze_remarks: type: string description: Freeze remarks. maxLength: 80 freeze_expiry_date: type: string description: Freeze expiration date. format: date freeze_reason_code: type: string description: Freeze reason code. maxLength: 5 default_virtual_account_for_interest: type: string description: Default interest virtual account flag. Valid Values - 'Y - Yes', 'N - No' maxLength: 1 enum: - "N" - "Y" iban: type: string description: Virtual a/c. IBAN number. maxLength: 34 override_iban: type: string description: IBAN is passed as input but same IBAN is linked with another account, existing linkage will be removed in case this flag is 'Y'. If this flag is 'N', error will be thrown. maxLength: 1 enum: - "N" - "Y" negative_credit_interest_allowed: type: string description: To indicate whether to allow negative credit interest at virtual account level. maxLength: 1 enum: - "N" - "Y" negative_debit_interest_allowed: type: string description: To indicate whether to allow negative debit interest at virtual account level. maxLength: 1 enum: - "N" - "Y" credit_interest_rate: type: number description: Credit interest value. format: double debit_interest_rate: type: number description: Debit interest value. format: double interest_table_code: type: string description: Interest table code. maxLength: 5 credit_interest_application_frequency: $ref: '#/definitions/frequency_details' debit_interest_application_frequency: $ref: '#/definitions/frequency_details' withholding_tax_applicable: type: string description: Withholding tax applicable flag. Valid Values - 'Y - Yes', 'N - No' maxLength: 1 enum: - "N" - "Y" withholding_tax_collection_percent: type: number description: Withholding tax percent. format: double withholding_tax_floor_amount: type: number description: Withholding tax floor limit. format: double include_floor_amount_for_tax: type: string description: Include floor limit for tax. Valid Values - 'Y - Yes', 'N - No' maxLength: 1 enum: - "N" - "Y" account_preferential_credit_interest_rate: type: number description: Account level credit preferential rate. format: double account_preferential_debit_interest_rate: type: number description: Account level debit preferential rate. format: double is_multi_currency_virtual_account: type: string description: Indicates virtual account is multi currency. Valid Values - 'Y - Yes', 'N - No' maxLength: 1 enum: - "N" - "Y" branch_identification: type: string description: Virtual account sol id. maxLength: 8 hierarchy_identification: type: string description: Hierarchy id. maxLength: 20 is_hierarchy_root: type: string description: Hierarchy root flag. Valid Values - 'Y - Yes', 'N - No' maxLength: 1 enum: - "N" - "Y" hierarchy_header_account_type: type: string description: Hierarchy header account type. Valid Values - 'I-our bank', 'V-virtual account', 'E-other bank' maxLength: 1 hierarchy_linked_account_identification: type: string description: Hierarchy linked account id. maxLength: 34 free_codes: $ref: '#/definitions/free_codes' free_texts: $ref: '#/definitions/free_texts' account_opening_date: type: string description: Virtual account open date. format: date account_expiry_date: type: string description: Virtual account expiry date. format: date allowed_transaction_currency_list: type: string description: Comma separated transactions currency list which are allowed on the virtual account opened under this product currency. maxLength: 90 creation_charge_event: type: string description: Event id for virtual account creation charges. maxLength: 25 creation_charge_collection_date: type: string description: Charge creation collection date for virtual accounts. format: date maintenance_charge_event: type: string description: Event id for virtual account maintenance charges. maxLength: 25 maintenance_charge_frequency: $ref: '#/definitions/frequency_details' transaction_charge_event: type: string description: Event id for transaction fees calculation on virtual account. maxLength: 25 transaction_charge_frequency: $ref: '#/definitions/frequency_details' maximum_debit_balance_amount: type: number description: Maximum debit balance amount. format: double maximum_debit_balance_currency: type: string description: Maximum debit balance amount currency. maxLength: 3 paysys_statements_required: type: string description: Payment system statements required flag. Valid Values - 'Y - Yes', 'N - No' maxLength: 1 enum: - "N" - "Y" paysys_message_type: type: string description: Payment system message type. Valid Values - 'M - customer statement message (940)', 'N - statement message (950)' maxLength: 1 enum: - M - "N" paysys_identification: type: string description: Payment system id. maxLength: 5 receiving_bic: type: string description: Receiving BIC. maxLength: 12 paysys_message_frequency: $ref: '#/definitions/frequency_details' next_print_date: type: string description: Next payment system message printing date. format: date mt942_required: type: string description: Interim transaction report (942) required. Valid Values - 'Y - Yes', 'N - No' maxLength: 1 enum: - "N" - "Y" generate_mt942_without_transactions: type: string description: Generate interim transaction report (942) if no transactions exist. Valid Values - 'Y - Yes', 'N - No' maxLength: 1 enum: - "N" - "Y" relationship_manager: type: string description: Relationship manager. maxLength: 15 apportion_balance: type: string description: Balance apportion flag. Valid Values - 'Y - Yes', 'N - No' maxLength: 1 enum: - "N" - "Y" apportion_method: type: string description: Apportion method. Valid Values - 'P-percentage', 'U-user defined value' maxLength: 1 enum: - P - U apportion_percentage: type: number description: Apportion percent. Percentage should be given when apportion method is given as 'P'. format: double apportion_amount: type: number description: Apportion amount. Amount should be given when apportion method is given as 'U'. format: double apportion_amount_currency: type: string description: Apportion amount currency. maxLength: 3 apportion_from_account_type: type: string description: Apportion from account type flag. Valid Values are I-internal and V-virtual account. maxLength: 1 enum: - I - V apportion_from_account_identification: type: string description: Apportion account id from which transaction will be happened to the virtual account being opened. maxLength: 34 rules_log_operation: type: string description: Log operation on menus. Valid Values - 'A - all', 'N - any' maxLength: 1 enum: - A - "N" transaction_replication_method: type: string description: Transaction replication method. Valid Values - 'E - split equally', 'P - split percentage', 'A - priority based', 'N - replication method will not be set' maxLength: 1 enum: - E - P - A - "N" transaction_replication_percent: type: number description: Indicates the percentage of each virtual account to split transaction for transaction replication process. format: double credit_transaction_replication_priority: type: integer description: Priority value for credit transaction to be considered during replication. debit_transaction_replication_priority: type: integer description: Priority value for debit transaction to be considered during replication. minimum_credit_interest_rate: type: number description: The minimum credit interest rate that can be applied to the account. format: double maximum_credit_interest_rate: type: number description: The maximum credit interest rate that can be applied to the account. format: double minimum_debit_interest_rate: type: number description: The minimum debit interest rate that can be applied to the account. format: double maximum_debit_interest_rate: type: number description: The maximum debit interest rate that can be applied to the account. format: double transaction_replication_rules: type: array description: Rules for transaction replication. items: $ref: '#/definitions/virtual_account_level_transaction_replication_rule' virtual_account_rule_details: type: array description: Rule details. items: $ref: '#/definitions/virtual_account_level_rule_details' additionalProperties: false create_virtual_account_request: type: object properties: physical_account_type: type: string description: Flag to indicate the linked physical account type. Valid Values - 'I-our bank', 'E-other bank' maxLength: 1 enum: - I - E linked_account_identification: type: string description: Linked account id. maxLength: 35 virtual_account_product_code: type: string description: Virtual account product code. maxLength: 5 virtual_entity_identification: type: string description: Virtual entity id. number_of_virtual_accounts: type: integer description: No of virtual accounts to be created. virtual_account_identification: type: string description: Virtual account id. maxLength: 35 is_validation_required: type: string description: Flag to indicate whether current request is to perform only validation or perform account creation process. Valid Values - 'Y-only validation', other than Y, system will perform the account creation process. maxLength: 1 enum: - "Y" virtual_accounts_creation_records: type: array description: Virtual account creation details. items: $ref: '#/definitions/virtual_accounts_creation_details' additionalProperties: false create_virtual_account_response_item: type: object properties: serial_number: type: string description: The serial number of the virtual account linkage record. maxLength: 5 virtual_account_identification: type: string description: The virtual account id. maxLength: 35 virtual_account_name: type: string description: The virtual account name. maxLength: 80 currency_code: type: string description: The currency code of the virtual account. maxLength: 3 apportion_remarks: type: string description: Field will be populated when apportion flag is yes during virtual account creation. maxLength: 150 iban: type: string description: Virtual a/c. IBAN number. maxLength: 34 additionalProperties: false create_virtual_account_response: type: object properties: create_virtual_account_response: type: array description: Response for virtual accounts creation. items: $ref: '#/definitions/create_virtual_account_response_item' additionalProperties: false virtual_account_closure_details_info: type: object properties: serial_number: type: string description: Record Serial Number virtual_account_identification: type: string description: Virtual account id. maxLength: 34 closure_balance_transfer_rate: type: integer description: Closure balance transfer rate. format: int32 closure_balance_transfer_rate_code: type: string description: Closure balance transfer rate code. maxLength: 5 balance_transfer_account_type: type: string description: Transfer balance to account type. Valid Values - I - physical account, V-virtual account maxLength: 1 enum: - I - V balance_transfer_account_identification: type: string description: Transfer balance to other account. maxLength: 34 apply_interest: type: string description: Apply interest on closure. Valid Values - Y - Yes, N - No maxLength: 1 enum: - "N" - "Y" zeroize_balance: type: string description: Zeroising virtual account balance flag. Valid Values - Y - Yes, N - No maxLength: 1 enum: - "N" - "Y" closure_remarks: type: string description: Closure remarks. maxLength: 150 additionalProperties: false close_virtual_accounts_request: type: object properties: virtual_account_identification: type: string description: Virtual account id. maxLength: 34 physcial_account_type: type: string description: Flag to indicate the linked physical account type. Valid Values are I-our bank and E-other bank. maxLength: 1 enum: - I - E physical_account_identification: type: string description: Linked account id. maxLength: 34 is_validation_required: type: string description: Flag to indicate whether current request is to perform only validation or perform account closure process. Valid Values - Y - only validation, other than Y, system will perform the account closure process. maxLength: 1 enum: - "Y" virtual_account_closure_details: type: array items: $ref: '#/definitions/virtual_account_closure_details_info' description: Virtual account closure details. additionalProperties: false closed_virtual_account_details: properties: serial_number: type: string description: Record serial number. virtual_account_identification: type: string description: Reopened virtual account id. maxLength: 34 currency_code: type: string description: Indicates virtual account currency code. maxLength: 3 virtual_account_name: type: string description: Virtual account name. maxLength: 80 iban: type: string description: Virtual account IBAN. maxLength: 34 additionalProperties: false close_virtual_accounts_response: type: object properties: closed_virtual_accounts: type: array items: $ref: '#/definitions/closed_virtual_account_details' description: Closed virtual account details. additionalProperties: false x-ibm-configuration: enforced: true testable: true phase: realized x-ibm-endpoints: - endpointUrl: https://sandboxapi.rakbank.ae/sb/api type: - production - development ...