--- swagger: "2.0" info: x-ibm-name: partner-cash-deposit-api title: Partner Cash Deposit API version: 1.0.0 description: "The Cash Deposit API enables Cash Deposit Machines (CDMs) to perform deposits without exposing the full account number during the transaction. Debit multiple RAKBANK accounts and credit multiple RAKBANK Accounts. The total amount debited and credited should be matched. Within the part_transactions array, the replace_account_flag determines whether the server should replace the provided account_id with the real account number from the token. Value to be passed to replace the account_id is Y.\n\n \n<h3>OAuth Metadata details</h3>\nOAuth metadata parameter to be passed at the time of generating access token using <a href="/partner-authentication">Partner Authentication API</a> for client credential grant type is mentioned below. For information on OAuth Metadata, see <a href="/security/#oauth-metadata-partnerauth">About the OAuth Metadata</a>\n<p class="oauth_metadata">oauth_metadata.account_id : {account_id}</p>" contact: name: API Developer email: apideveloper@rakbank.ae name: "" schemes: - https host: testapi.rakbank.ae basePath: /v1 consumes: - application/json produces: - application/json securityDefinitions: oauth: type: oauth2 description: "" flow: application scopes: cash_deposit: To transfer funds from a RAKBANK account to another RAKBANK account to credit the amount in customer account tokenUrl: https://testapi.rakbank.ae/rb/api/oauth2/token clientIdHeader: type: apiKey in: header name: X-IBM-Client-Id security: - oauth: - cash_deposit clientIdHeader: [] x-ibm-configuration: enforced: true testable: true phase: realized paths: /cash_deposit/{tran_ref_num}: put: responses: 201: description: 201 Created schema: $ref: '#/definitions/cash_deposit_response' 422: description: Error schema: $ref: '#/definitions/error_response' 500: description: Internal Server Error schema: $ref: '#/definitions/error_response' parameters: - name: cash_deposit required: true in: body schema: $ref: '#/definitions/cash_deposit' description: Request details to create an internal fund transfer to deposit cash. description: Creates an internal fund transfer between RAKBANK accounts. Client needs to ensure that the total credit and debit amounts are balanced across the part_transactions for creating a success transfer. The payment_ref_id and transaction date are returned in the response. summary: Create Internal Transfer request for cash deposit operationId: CreateCashDeposit parameters: - name: msgid type: string maxLength: 35 required: true in: header description: Unique Id sent by client. Value must not repeat atleast for a period of six months. Ensure to pass same msgid in case of retry. - name: tran_ref_num type: string maxLength: 20 required: true in: path description: Unique transaction reference number that is generated by the client.Used for end to end tracking of the transaction. definitions: cash_deposit: properties: tran_ref_num: type: string minLength: 1 maxLength: 20 description: Kept for future purpose. This field is currently not in use. example: "12345678900987654345" parent_req_id: type: string minLength: 1 maxLength: 35 description: Required only for Reversals. The header 'MsgId' of the original request that needs to be reversed. example: "4546465465" part_transactions: description: Array of Part Transactions type: array items: $ref: '#/definitions/part_transactions' additionalProperties: false required: - part_transactions description: Details of the Internal Transfer cash_deposit_response: description: Response object. properties: tran_ref_num: type: string minLength: 1 maxLength: 20 description: The client's unique id for the transaction. example: "12345678900987654345" payment_ref_id: type: string minLength: 1 maxLength: 9 description: The bank's unique id for the transaction. example: M123 transaction_date: type: string description: Date when the transaction is created. example: "2018-09-14" format: date additionalProperties: false required: - tran_ref_num - payment_ref_id - transaction_date error_response: properties: status: type: string description: HTTP Status response_code: type: string description: API specific error code property: type: string response_message: type: string description: brief type of the error example: "" description: type: string description: detailed description of the error additionalProperties: false required: - response_code - status - response_message description: Response in case of error part_transactions: properties: part_transaction_type: type: string enum: - C - D description: Debit/Credit Indicator of the part transaction. Allowed values are C - Credit, D - Debit. example: C account_id: type: string minLength: 1 maxLength: 16 example: 1234xxxxxx567 description: Debit or Credit Account id. Debit Account id should be passed as masked value in the UAT and Production environments. For information on the masking logic to be followed, see Masking Logic value: $ref: '#/definitions/value' value_date: type: string description: Value Date of the transaction. example: "2026-01-22T15:24:39.000" format: date-time transaction_narration: $ref: '#/definitions/transaction_narration' rate: type: string description: Forex rate applicable for the transaction. This is mandatory for non-AED transactions when rate_code is not MID. The rate can be fetched using FxRate & Charges API. rate_code: type: string enum: - TTS - TTB - MID description: 'Forex rate code applicable for the transaction. Possible values: TTS,TTB,MID. This is mandatory for non-AED transactions. The rate code can be fetched using FxRate & Charges API.' replace_account_flag: type: string description: To replace the masked account number with actual account number from metadata enum: - "Y" - "N" additionalProperties: false required: - part_transaction_type - account_id - value - value_date - transaction_narration description: Array of Part Transactions transaction_narration: additionalProperties: false properties: transaction_code: type: string minLength: 1 maxLength: 5 description: Transaction particular Code. This will differ based on the type of transaction. First line of the transaction narration will be the description related to this code. example: "520" transaction_particular2: type: string minLength: 1 maxLength: 50 description: Second line of the transaction narration. example: WALLET RECHARGE transaction_particulars: type: string maxLength: 50 description: Third line of the transaction narration example: "2019-02-06 06:34:11.785" transaction_remarks: type: string minLength: 1 maxLength: 30 description: Second line of the narration. If sent, transaction_particular2 will be ignored. example: for 1234567890123 required: - transaction_code description: Transaction Narrations to appear in the account statement for this transaction. value: properties: currency: type: string minLength: 1 maxLength: 3 description: Currency example: AED amount: type: string pattern: ^((\d{1}|\d{2}|\d{3}|\d{4}|\d{5}|\d{6}|\d{7}|\d{8}|\d{9}|\d{10}|\d{11}|\d{12}|\d{13}|\d{14}|\d{15}|\d{16})?\.?(\d{1}|\d{2}|\d{3})?)$ minLength: 1 maxLength: 20 description: Amount Value example: 2001 additionalProperties: false required: - currency - amount description: Transaction amount details tags: [] x-ibm-endpoints: - endpointUrl: https://sandboxapi.rakbank.ae/sb/api type: - production - development ...