--- swagger: "2.0" info: x-ibm-name: partner-beneficiary-management-api title: Partner Beneficiary Management API version: 2.2.0 description: "This API is available to Partner Institutions to register RAKMoneyTransfer beneficiaries of their customers with the bank. To create a beneficiary, pass the details of the beneficiary like name, country of residence, beneficiary bank country, transfer type (OutsideUAE or RAKMoneyCashPayout), account/IBAN and the identifier codes of the beneficiary bank that were returned in RAKMoneyTransfer Beneficiary Banks API. \nOn successful creation, a beneficiary_id will be returned which can be used in Partner RAKMoneyTransfer API to make payments to the beneficiary, without having to pass all the details of the beneficiary again. The API can also be used to view and update existing beneficiaries and also to delete a beneficiary.\n\n\tVersion 2.1.0\n\t\n - Added new 422 response_code - 20006, in CreateTransactionById response\n\n\n\tVersion 2.2.0\n\n - Added Account_ID as a new customer_id_type to support Beneficiary creation for RAKBank account holding customers" contact: email: apideveloper@rakbank.ae name: API developer name: "" schemes: - https host: sandboxapi.rakbank.ae basePath: /v2 consumes: - application/json produces: - application/json securityDefinitions: oauth: type: oauth2 description: "" flow: application scopes: beneficiary_management: To Manage beneficiaries and to fetch beneficiary details tokenUrl: https://sandboxapi.rakbank.ae/sb/api/v1/partner_auth/token clientIdHeader: type: apiKey in: header name: X-IBM-Client-Id security: - clientIdHeader: [] oauth: - beneficiary_management x-ibm-configuration: testable: true enforced: true phase: specified paths: /customers/{customer_id_type}:{customer_id}/beneficiaries: post: responses: 201: description: Created schema: $ref: '#/definitions/beneficiaries' 422: description: Error Response schema: $ref: '#/definitions/error_response' 500: description: Internal Server Error schema: $ref: '#/definitions/error_response' parameters: - name: beneficiary_req required: true in: body schema: $ref: '#/definitions/beneficiaries' description: Details to create a beneficiary description: Creates beneficiary for a particular customer based on customer_id and returns the beneficiary_id operationId: CreateBeneficiary summary: Create a Beneficiary of a customer get: responses: 200: description: 200 OK schema: type: array items: $ref: '#/definitions/beneficiaries' 422: description: Error Response schema: $ref: '#/definitions/error_response' 500: description: Internal Server Error schema: $ref: '#/definitions/error_response' summary: Get Beneficiaries of a customer operationId: GetBeneficiaries description: This API will return the list of beneficiaries associated with a customer_id. parameters: - name: MsgId maxLength: 50 type: string required: true in: header description: Unique Id sent by the client. Value should be a unique identifier of the transaction in UUID format - name: customer_id type: string maxLength: 20 required: true in: path description: Customer Id of the customer who wants to create a new beneficiary. Masked value should be passed in the UAT and Production environments. For information on the masking logic to be followed, see Masking Logic - name: customer_id_type type: string enum: - Emirates_ID - Account_ID required: true in: path description: 'Type of the Customer Id of the customer who wants to update his beneficiary details. Allowed values: Emirates_ID - for a prepaid card customer, Account_ID - for a RAKBank account customer' /customers/{customer_id_type}:{customer_id}/beneficiaries/{beneficiary_id}: put: responses: 200: description: 200 OK schema: $ref: '#/definitions/beneficiaries' 422: description: Error Response schema: $ref: '#/definitions/error_response' 500: description: Internal Server Error schema: $ref: '#/definitions/error_response' parameters: - name: beneficiary_req required: true in: body schema: $ref: '#/definitions/beneficiaries' description: Beneficiary details to be updated description: Updates the beneficiary details of a customer with customer_id based on beneficiary_id operationId: UpdateBeneficiaryById summary: Update Beneficiary of a customer delete: responses: 204: description: No Content 422: description: Error schema: $ref: '#/definitions/error_response' 500: description: Internal Server Error schema: $ref: '#/definitions/error_response' description: Deletes the beneficiary of a customer by specifying the beneficiary_id operationId: DeleteBeneficiaryById summary: Delete Beneficiary get: responses: 200: description: 200 OK schema: $ref: '#/definitions/beneficiaries' 422: description: Error Response schema: $ref: '#/definitions/error_response' 500: description: Internal Server Error schema: $ref: '#/definitions/error_response' operationId: GetBeneficiaryById tags: [] description: Retrieves the beneficiary details of a customer with customer_id and beneficiary_id parameters: - name: customer_id type: string maxLength: 20 required: true in: path description: Customer Id of the customer who wants to fetch/update/delete his beneficiary. Masked value should be passed in the UAT and Production environments. For information on the masking logic to be followed, see Masking Logic - name: customer_id_type type: string enum: - Emirates_ID - Account_ID required: true in: path description: 'Type of the Customer Id of the customer who wants to fetch/update/delete his beneficiary. Allowed values: Emirates_ID - for a prepaid card customer, Account_ID - for a RAKBank account customer' - name: beneficiary_id type: string maxLength: 50 required: true in: path description: Beneficiary id of the beneficiary to be fetched/updated/deleted - name: MsgId type: string maxLength: 50 required: true in: header description: Message id sent from client. Value should be a unique identifier of the request in UUID format. definitions: error_response: properties: status: type: string description: HTTP Status response_code: type: string description: API specific error code property: type: string description: "" response_message: type: string description: breif details of the error description: type: string description: detailed description of the error additionalProperties: false required: - response_message - response_code - status description: Response in case of error beneficiaries: description: beneficiary object type: object properties: href: type: string description: Read only field. href value to fetch the resource with the specific beneficiary_id. example: https://sandboxapi.rakbank.ae/sb/api/v2/customers/Emirates_ID:123456789012345/beneficiaries/52347890 beneficiary_id: type: string minLength: 0 maxLength: 15 description: Read only field. Id of the beneficiary. example: 52347890 first_name: type: string minLength: 1 maxLength: 50 description: First Name of the beneficiary example: James last_name: type: string minLength: 1 maxLength: 50 description: Last Name of the beneficiary example: Gordan transfer_type: type: string enum: - OutsideUAE - RAKMoneyCashPayout description: 'Type of the beneficiary. Allowed values: OutsideUAE - beneficiary account is outside UAE, RAKMoneyCashPayout - RAKMoney Cash payout beneficiary' example: OutsideUAE address: $ref: '#/definitions/address' description: Residence address of the beneficiary. documents: description: Documents. Field added for future use. type: array items: $ref: '#/definitions/documents' other_bank_name: type: string minLength: 1 maxLength: 100 description: Read only field. Bank Name of the beneficiary bank. example: ICICI other_branch_name: type: string minLength: 1 maxLength: 100 description: Read only field. Branch name of the beneficiary name. example: VADODARA - KARELIBAUG other_bank_country: type: string minLength: 1 maxLength: 2 description: ISO 2 character country code of the beneficiary bank or RAKMoney Cash Payout country. example: IN identifier_code1: type: string minLength: 1 maxLength: 30 description: Identifier code1 of the beneficiary bank that was returned in RAKMoneyTransfer Beneficiary Banks API, for the beneficiary bank selected by the customer. Mandatory when transfer_type selected is OutsideUAE. example: ICIC0000248 identifier_code1_name: type: string minLength: 1 maxLength: 100 description: Read only field. Name of the Routing scheme associated with identifier_code1. example: IFSC identifier_code2: type: string minLength: 1 maxLength: 30 description: Identifier code2 of the beneficiary bank that were returned in RAKMoneyTransfer Beneficiary Banks API. Must be passed for transfer_type=OutsideUAE, when returned in RAKMoneyTransfer Beneficiary Banks API for the bank selected by the customer. example: ICICI4354 identifier_code2_name: type: string minLength: 1 maxLength: 100 description: Read only field. Name of the Routing scheme associated with identifier_code2. example: Branch Code other_account_id: type: string minLength: 1 maxLength: 50 description: Account id of the beneficiary. Can hold IBAN No if other_bank_country is PK (Pakistan).This field is mandatory when transfer_type= OutsideUAE. example: "963521478" example: first_name: James last_name: Gordan transfer_type: OutsideUAE address: country: IN other_bank_country: IN identifier_code1: ICIC0000248 other_account_id: "963521478" additionalProperties: false required: - first_name - last_name - other_bank_country - transfer_type documents: properties: type: type: string minLength: 1 maxLength: 30 example: Passport description: Type of the document number: type: string minLength: 1 maxLength: 30 description: Number of the document example: IGT32434 additionalProperties: false required: - number - type description: documents address: properties: line_1: type: string minLength: 1 maxLength: 100 description: Address line 1 of the beneficiary. Field added for future use. example: Line 1 line_2: type: string minLength: 1 maxLength: 100 description: Address line 2 of the beneficiary. Field added for future use. example: Line 2 line_3: type: string minLength: 1 maxLength: 100 description: Address line 3 of the beneficiary. Field added for future use. example: Line 3 city: type: string minLength: 1 maxLength: 100 description: City of the beneficiary. Field added for future use. example: Mumbai state: type: string minLength: 1 maxLength: 100 description: State of the beneficiary. Field added for future use. example: Maharashtra district: type: string minLength: 1 maxLength: 100 description: District of the beneficiary. Field added for future use. example: Mumbai country: type: string minLength: 1 maxLength: 2 description: Country of the residence of the beneficiary. ISO 2 Character Country Code. example: IN additionalProperties: false required: - country tags: [] x-ibm-endpoints: - endpointUrl: https://sandboxapi.rakbank.ae/sb/api type: - production - development ...