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. On 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.
Version 2.1.0
- Added new 422 response_code - 20006, in CreateTransactionById response
Version 2.2.0
- Added Account_ID as a new customer_id_type to support Beneficiary creation for RAKBank account holding customers
Attachment | Size |
---|---|
![]() | 5.18 KB |
OAuth Metadata details
OAuth metadata parameter to be passed at the time of generating access token using Partner Authentication API for client credential grant type is mentioned below. For information on OAuth Metadata, see About the OAuth Metadata
oauth_metadata.account_id : {account_id} OR oauth_metadata.emirates_id : {emirates_id}
FAQs
Click Here for FAQs
Response Codes
Click Here for API Response Codes
Reference Data
Click Here for API Reference Data
Basepath
/v2
Paths
/customers/{customer_id_type}:{customer_id}/beneficiaries
Create a Beneficiary of a customer
Creates beneficiary for a particular customer based on customer_id and returns the beneficiary_id
Unique Id sent by the client. Value should be a unique identifier of the transaction in UUID format
{
"maxLength": 50
}
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
{
"maxLength": 20
}
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
{
"enum": [
"Emirates_ID",
"Account_ID"
]
}
Details to create a beneficiary
Created
Error Response
Internal Server Error
Get Beneficiaries of a customer
This API will return the list of beneficiaries associated with a customer_id.
Unique Id sent by the client. Value should be a unique identifier of the transaction in UUID format
{
"maxLength": 50
}
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
{
"maxLength": 20
}
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
{
"enum": [
"Emirates_ID",
"Account_ID"
]
}
200 OK
Error Response
Internal Server Error
/customers/{customer_id_type}:{customer_id}/beneficiaries/{beneficiary_id}
Update Beneficiary of a customer
Updates the beneficiary details of a customer with customer_id based on beneficiary_id
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
{
"maxLength": 20
}
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
{
"enum": [
"Emirates_ID",
"Account_ID"
]
}
Beneficiary id of the beneficiary to be fetched/updated/deleted
{
"maxLength": 50
}
Message id sent from client. Value should be a unique identifier of the request in UUID format.
{
"maxLength": 50
}
Beneficiary details to be updated
Delete Beneficiary
Deletes the beneficiary of a customer by specifying the beneficiary_id
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
{
"maxLength": 20
}
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
{
"enum": [
"Emirates_ID",
"Account_ID"
]
}
Beneficiary id of the beneficiary to be fetched/updated/deleted
{
"maxLength": 50
}
Message id sent from client. Value should be a unique identifier of the request in UUID format.
{
"maxLength": 50
}
Retrieves the beneficiary details of a customer with customer_id and beneficiary_id
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
{
"maxLength": 20
}
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
{
"enum": [
"Emirates_ID",
"Account_ID"
]
}
Beneficiary id of the beneficiary to be fetched/updated/deleted
{
"maxLength": 50
}
Message id sent from client. Value should be a unique identifier of the request in UUID format.
{
"maxLength": 50
}
Definitions
Response in case of error
{
"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"
]
}
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"
]
}
{
"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"
]
}