...
An access token is a key to the gateway to access any other API. The API will return the access token if the user is successfully authenticated and have the authorization to access these services. Every access token is tagged with validity and the expiry duration is echoed in the response for the calling application to manage the state accordingly. Token if used after its validity period restrict access to any services and a new token to be generated in this case.
API | https://{{baseUrl}}/auth/realms/cdp/protocol/openid-connect/token | |||||
Method | POST | |||||
Headers | Content-Type : application/x-www-form-urlencoded | |||||
Access Token Payload |
| |||||
Refresh Token Payload |
| |||||
Response |
|
...
API to be used to look up customer information by ID type , ID number and channel.
...
API
...
https://{{baseUrl}}/caas/api/v2/customer/validate
...
Authorization
...
Bearer Token
...
Method
...
POST
...
Headers
...
Content-Type:application/json
...
Payload
...
Code Block | ||
---|---|---|
| ||
{
"idNumber": "784199554586091",
"idType": "4"
} |
...
Success Response
...
Code Block | ||
---|---|---|
| ||
{
"status": "success",
"statusCode": 200,
"message": "Successfully Processed",
"data": {
"ecrn": "1058021235161541",
"first_name": "IRFAN MANAKKAT THEKKE",
"middle_name": "PURAYIL ISMAIL",
"last_name": "NANGARATH MUNDACHI",
"agent_location_id": "784101",
"primary_mobile_number": "+971502106707",
"email_id": "irfanmtp1@gmail.com",
"customer_status": "ACTIVE",
"aml_scan_status": "Accepted",
"id_status": "Active",
"id_date_of_expiry": "2023-08-08T00:00:00.000+00:00"
}
} |
...
Subscription Pending Response
...
Code Block | ||
---|---|---|
| ||
{
"status": "failure",
"statusCode": 404,
"message": "Customer not subscribed to channel",
"data": null
} |
...
Customer ID not found
...
Code Block | ||
---|---|---|
| ||
{
"status": "failure",
"statusCode": 404,
"message": "Customer ID not found",
"data": null
} |
...
Other Failure Response
...
Code Block | ||
---|---|---|
| ||
{
"status": "failure",
"statusCode": 400,
"errorCode": 40000,
"message": "Payload not readable or corrupt"
} |
Header
...
Name
...
Data Type
...
Max Length
...
Mandatory
...
Description
...
Content-Type
...
String
...
36
...
Yes
...
Content type
...
Ocp-Apim-Subscription-Key
...
String
...
32
...
Yes
...
Subscription key
Payload
...
Name
...
Data Type
...
Max Length
...
Mandatory
...
Description
...
idType
...
String
...
3
...
Yes
...
Customer id type code
...
idNumber
...
String
...
30
...
Yes
...
Customer id/Number
Response
...
Name
...
Data Type
...
Max Length
...
Description
...
status
...
String
...
255
...
status description
...
status_code
...
Int
...
-
...
Status code
...
message
...
String
...
255
...
Message
...
data
...
Object
...
-
...
Data object
...
ecrn
...
String
...
16
...
Customer unique identification number
...
first_name
...
String
...
255
...
Customer first name
...
middle_name
...
String
...
255
...
Customer middle name
...
last_name
...
String
...
255
...
Customer last name
...
agent_location_id
...
String
...
20
...
Onboarded Agent
...
primary_mobile_number
...
String
...
20
...
Customer mobile no
...
email_id
...
String
...
30
...
Customer email
...
customer_status
...
String
...
20
...
Possible values : "ACTIVE", "KYC_PENDING", "INACTIVE", "BLOCKED", "DISABLED"
...
aml_scan_status
...
String
...
20
...
Possible values : "Accepted" , "Under Investigation" , "Rejected", "Failed"
...
id_status
...
String
...
20
...
Possible values : "Active", "Expired"
...
id_date_of_expiry
...
String
...
...
YYYY-MM-DD format
Individual Onboarding API
API to be used to onboard customer.
...
API
...
https://{{baseUrl}}/caas-lcm/api/v1/CAAS/onBoarding/customer
...
Authorization
...
Bearer Token
...
Method
...
POST
...
Headers
...
Content-Type:application/json
...
Payload
...
Code Block | ||
---|---|---|
| ||
{
"channel": "BRANCH",
"agent_location_id":"784101",
"first_name": "IRFAN MANAKKAT THEKKE",
"salutation": "Mr",
"middle_name": "PURAYIL ISMAIL",
"last_name": "NANGARATH MUNDACHI",
"preferred_name": "IRFAN MANAKKAT THEKKE",
"nationality": "IN",
"second_nationality": "GB",
"native_region": 1,
"date_of_birth": "1995-07-28",
"country_of_birth": "IN",
"place_of_birth": "INDIA",
"resident_type_id": 101,
"country_of_residence": "AE",
"gender": "Male",
"mothers_maiden_name": "SAFIYA",
"primary_mobile_number": "+971502106707",
"secondary_mobile_number": "+971502412378",
"email_id": "irfanmtp1@gmail.com",
"phone_number": "+971502106707",
"occupation_id": 2856,
"political_exposed_person": false,
"updated_by": "784irfan",
"additional_docs": [
{
"base64_data": "<<base64Data>>",
"content_type": "image/jpeg",
"document_id": "1"
},
{
"base64_data": "<<base64Data>>",
"content_type": "image/jpeg",
"document_id": "2"
}
],
"address_list": [
{
"address_type_id": "1",
"building_name": "MANKHOOL BUILDING",
"street_name": "Electra Street",
"landmark": "HOT Bread",
"city": "Electra Street",
"district": "Abu Dhabi",
"state": "Abu Dhabi",
"country": "AE",
"zip": 0,
"mobile_number": "+971502106707"
},
{
"address_type_id": "2",
"building_name": "ABC House",
"street_name": "Kaikottukadavu",
"landmark": "ABC School",
"city": "Thrikkaripur",
"district": "Kasaragod",
"state": "kerala",
"country": "IN",
"zip": 13345,
"mobile_number": "+971502106707"
}
],
"id_details": [
{
"id_type": 4,
"id_number": "784199554586091",
"name_as_per_id": "Irfan Manakkat Thekke Purayil",
"issued_country": "AE",
"issued_by": "EIDA",
"issued_at": "AE Govt.",
"issued_on": "2020-08-08",
"date_of_expiry": "2023-08-08",
"default_status": true,
"active_status": true,
"id_front": {
"base64_data": "<<base64Data>>",
"content_type": "image/jpeg"
},
"id_back": {
"base64_data": "<<base64Data>>",
"content_type": "image/jpeg"
}
},
{
"id_type": 2,
"id_number": "P4006315",
"visa_number": "VISA123",
"visa_expiry_date": "2024-06-30",
"name_as_per_id": "IRFAN M T P",
"issued_country": "IN",
"issued_by": "India Govt.",
"issued_at": "Kozhikkode",
"issued_on": "2016-04-28",
"date_of_expiry": "2026-04-27",
"default_status": true,
"active_status": true,
"id_front": {
"base64_data": "<<base64Data>>",
"content_type": "image/jpeg"
},
"id_back": {
"base64_data": "<<base64Data>>",
"content_type": "image/jpeg"
}
}
],
"customer_classification": {
"customer_type_id": 2,
"annual_income_range_id": 15,
"annual_income_currency_code": "AED",
"social_security_number": "SSN123",
"tax_registration_number": 123,
"txn_issued_country": "AE",
"employer_name": "EMKE",
"employer_address": "UAE",
"employer_phone": "+971502106101",
"employer_ecrn": "",
"employer_establishment_id": "LULUEXCHANGE123",
"risk_rating_id": 3,
"pep_category": 1,
"personal_mohre_id": "IRFAN786",
"income_type": 1,
"profession_category": "PC1",
"reason_for_acc": "Remittance",
"txn_vol_month": 1,
"txn_count_month": 1,
"show_remarks_on_txn": false,
"customer_remarks": "Test Remarks",
"agent_ref_no": "786000786",
"social_links": [
{
"social_links_id": 2,
"text_field": "insta.com"
},
{
"social_links_id": 1,
"text_field": "fb.com"
}
],
"first_language": "en",
"marital_status": 2,
"dnfbp": false,
"dpms": false,
"profile_category": 1,
"profile_photo": {
"base64_data": "<<bas64data>>",
"content_type": "image/jpeg"
}
}
} |
...
Success Response
...
Code Block | ||
---|---|---|
| ||
{
"status": "success",
"data": {
"aml_scan_status": "Accepted",
"ecrn": "1058021235161541",
"customer_status": "ACTIVE"
},
"status_code": "200 OK"
} |
...
Validation Failure Response - Customer Not Acceptable / Under Compliance Investigation
...
Code Block | ||
---|---|---|
| ||
{
"status": "failed",
"message": "Customer 784100000001 Under Compliance Investigation",
"status_code": "400"
} |
...
Validation Failure Response - Mandatory Fields Missing/ Invalid Data
...
Code Block | ||
---|---|---|
| ||
{
"status": "failed",
"message": " Invalid Base64 data ID Doc null!, Invalid Profile Category 0!, Invalid Nationality INA!",
"status_code": "400"
} |
...
Authentication Failure Response
...
Code Block | ||
---|---|---|
| ||
{
"timestamp": "2023-03-15T14:26:24.292+00:00",
"status": 401,
"error": "Unauthorized",
"message": "",
"path": "/api/v1/CAAS/onBoarding/customer"
} |
Header
...
Name
...
Data Type
...
Max Length
...
Mandatory
...
Description
...
Content-Type
...
String
...
...
Yes
...
Content Type
...
Authorization
...
String
...
...
Yes
...
Authorization Token
Payload
...
Name
...
Data Type
...
Max Length
...
Mandatory
...
Description
...
channel
...
String
...
30
...
Yes
...
Channel
...
salutation*
...
String
...
3
...
...
Salutation(Mr, Ms) , Salutation Id As per SALUTATION master
...
first_name
...
String
...
30
...
Yes
...
First Name
...
middle_name
...
String
...
30
...
...
Middle Name
...
last_name
...
String
...
30
...
yes
...
Last Name
...
preferred_name
...
String
...
30
...
...
Preferred Name
...
nationality*
...
String
...
2
...
yes
...
Nationality code as per NATIONALITY Master
...
second_nationality*
...
String
...
2
...
...
Second Nationality code of Customer as per NATIONALITY Master
...
native_region*
...
Integer
...
...
...
Native Region code asper NATIVE_REGION Master
...
date_of_birth
...
Date
...
...
yes
...
Date of Birth in “YYYY-MM-DD” Format
...
country_of_birth*
...
String
...
2
...
yes
...
Country of Birth code as per COUNTRY Master
...
place_of_birth
...
String
...
100
...
...
Place of Birth
...
resident_type_id*
...
Long
...
...
...
Resident Type Id as per RESIDENT_TYPE Master
...
country_of_residence*
...
String
...
2
...
yes
...
Resident Country code as per COUNTRY master
...
gender
...
Male
...
12
...
yes
...
Gender
...
mothers_maiden_name
...
String
...
30
...
...
Mothers Name
...
primary_mobile_number
...
String
...
30
...
yes
...
Primary Mobile Number
...
secondary_mobile_number
...
String
...
30
...
...
Secondary Mobile Number
...
email_id
...
String
...
30
...
yes
...
Email Id
...
phone_number
...
String
...
30
...
...
Phone Number
...
occupation_id
...
Long
...
...
...
Occupation Id
...
political_exposed_person
...
Boolean
...
...
...
Political Exposed Person
...
additional_docs
...
Object
...
...
...
Data Object
...
document_id*
...
String
...
...
Document Id as per DOCUMENT_TYPE master
...
base64_data
...
String
...
...
...
Base64 Data
...
content_type
...
String
...
...
...
Content Type
...
id_details
...
Object
...
...
yes
...
Data Object
...
id_type
...
Long
...
...
Yes
...
Id Type
...
id_number
...
String
...
30
...
Yes
...
Id Number
...
name_as_per_id
...
String
...
30
...
...
Name as per Id
...
issued_country
...
String
...
2
...
...
Issued Country code as per COUNTRY master
...
issued_by
...
String
...
30
...
...
Issued By
...
issued_at
...
String
...
30
...
...
Issued At
...
issued_on
...
Date
...
...
...
Issued On in “YYYY-MM-DD” Format
...
date_of_expiry
...
Date
...
...
...
Date of Expiry in “YYYY-MM-DD” Format
...
visa_number
...
String
...
30
...
...
Visa Number
...
visa_expiry_date
...
Date
...
...
...
Visa Expiry Date in “YYYY-MM-DD” Format
...
default_status
...
String
...
30
...
...
Default Status
...
active_status
...
String
...
30
...
...
Active Status
...
id_front
...
Object
...
...
...
Data Object
...
base64_data
...
String
...
...
...
Base 64 Data
...
content_type
...
String
...
...
...
Content Type
...
id_back
...
Object
...
...
...
Data Object
...
base64_data
...
String
...
...
...
Base 64 Data
...
content_type
...
String
...
...
...
Content Type
...
addressList
...
Object
...
...
yes
...
Data Object
...
address_type_id
...
Long
...
...
Address Type Id as per ADDRESS_TYPE master
...
building_name
...
String
...
30
...
...
Building Name
...
street_name
...
String
...
30
...
...
Street Name
...
landmark
...
String
...
30
...
...
Landmark
...
country
...
String
...
2
...
...
Country
...
state
...
String
...
30
...
...
State
...
district
...
String
...
30
...
...
District
...
city
...
String
...
30
...
...
City
...
zip
...
Long
...
...
...
Zip
...
mobile_number
...
String
...
30
...
...
Mobile Number
...
status
...
String
...
30
...
...
Disable
...
customer_classification
...
Object
...
...
no
...
Data Object
...
customer_type_id
...
Long
...
...
...
Customer Type Id
...
annual_income_range_id
...
Long
...
...
...
Annual Income Range
...
annual_income_currency_code
...
String
...
30
...
...
Annual Income Currency Code
...
social_security_number
...
String
...
30
...
...
Social Security Number
...
tax_registration_number
...
Long
...
...
...
Tax Registration Number
...
txn_issued_country
...
String
...
2
...
...
Tax Issued Country
...
employer_name
...
String
...
30
...
...
Employer Name
...
employer_address
...
String
...
30
...
...
Employer Address
...
employer_phone
...
String
...
30
...
...
Employer Phone
...
employer_ecrn
...
String
...
30
...
...
Employer ECRN
...
employer_establishment_id
...
String
...
30
...
...
Employer Establishment ID
...
risk_rating_id
...
Long
...
...
...
Risk Rating ID
...
compliance_category_id
...
Long
...
...
...
Compliance Category ID
...
last_review_date
...
Date
...
...
...
Last review Date
...
next_review_date
...
Date
...
...
...
Next Review Date
...
pep_category
...
Integer
...
...
...
Pep Category
...
personal_mohre_id
...
String
...
30
...
...
Personal Mohre Id
...
customer_cards
...
String
...
30
...
...
Customer Cards
...
card_number
...
String
...
30
...
...
Card Number
...
income_type
...
String
...
30
...
...
Income Type
...
profession_category
...
String
...
30
...
...
Profession Category
...
reason_for_acc
...
String
...
30
...
...
Reason for ACC
...
txn_vol_month
...
String
...
30
...
...
Transaction Volume Month
...
txn_count_month
...
String
...
30
...
...
Transaction Count Month
...
show_remarks_on_txn
...
Boolean
...
...
...
show Remarks on transaction
...
customer_remarks
...
String
...
30
...
...
Remarks on Transaction
...
agent_ref_no
...
String
...
30
...
...
Agent reference number
...
social_links
...
Object
...
...
no
...
Data Object
...
social_links_id
...
Long
...
...
Social Link Id
...
text_field
...
String
...
30
...
...
Text Field
...
status
...
String
...
30
...
...
Status
...
first_language
...
String
...
3
...
...
Customer Preferred Language
...
marital_status
...
Integer
...
...
...
Marital Status
...
profile_category
...
Integer
...
...
...
Profile Category
...
dnfbp
...
Boolean
...
...
...
Designated Non-Financial Business and Professions
...
dpms
...
Boolean
...
...
...
Dealers in Precious Metals and Stones
Response
...
Name
...
Data Type
...
Max Length
...
Description
...
status
...
String
...
255
...
status description
...
status_code
...
Int
...
-
...
Status code
...
data
...
Object
...
-
...
Data object
...
ecrn
...
String
...
20
...
Customer Number
...
aml_scan_status
...
String
...
20
...
AML Scanned Status
“Accepted”/”Under investigation”/”Failed”/”NA”
...
customer_status
...
String
...
20
...
Customer Status
Get Customer API v2
API to be used to get the customer information by customer number.
...
API
...
https://{{baseUrl}}/caas/api/v2/customer/{{ecrn}}
...
Authorization
...
Bearer Token
...
Method
...
GET
...
Headers
...
Content-Type:application/json
...
Payload
...
Code Block |
---|
None |
...
Success Response
...
Code Block | ||
---|---|---|
| ||
{
"ecrn": "1058021235161541",
"first_name": "IRFAN MANAKKAT THEKKE",
"salutation": null,
"middle_name": "PURAYIL ISMAIL",
"last_name": "NANGARATH MUNDACHI",
"preferred_name": "IRFAN MANAKKAT THEKKE",
"nationality": "IN",
"second_nationality": "GB",
"native_region": 1,
"date_of_birth": "1995-07-28",
"country_of_birth": "IN",
"place_of_birth": "INDIA",
"resident_type_id": 101,
"country_of_residence": "AE",
"gender": "Male",
"mothers_maiden_name": "maiden Name",
"primary_mobile_number": "+971502106707",
"secondary_mobile_number": "+971502106706",
"email_id": "irfanmtp1@gmail.com",
"phone_number": "+971502106705",
"occupation_id": 2856,
"political_exposed_person": false,
"aml_scan_status": "Accepted",
"customer_iban": "AE083141058021235161541",
"customer_status": "ACTIVE",
"aml_category": 5,
"additional_docs": [
{
"contentType": "image/jpeg",
"file_name": "customer/additionalDoc/1058021235161541_1.jpeg"
}
],
"address_list": [
{
"dateUpdated": "2023-03-15T14:34:07.849554Z",
"address_type_id": "1",
"building_name": "MANKHOOL BUILDING",
"street_name": "",
"landmark": "AL NAHDA",
"city": "EMIRATE OF DUBAI",
"district": "",
"state": " ",
"country": "AE",
"zip": 0,
"mobile_number": null
}
],
"id_details": [
{
"dateUpdated": "2023-03-15T14:34:07.849554Z",
"id_type": 2,
"id_number": "P4006315",
"visa_number": "0",
"visa_expiry_date": null,
"name_as_per_id": " ",
"issued_country": "IN",
"issued_by": "INDIA Govt.",
"issued_at": null,
"issued_on": "2016-08-08",
"date_of_expiry": "2026-08-08",
"default_status": true,
"active_status": true,
"id_front": null,
"id_back": null
},
{
"dateUpdated": "2023-03-15T14:34:07.849554Z",
"id_type": 4,
"id_number": "784199554586091",
"visa_number": "0",
"visa_expiry_date": null,
"name_as_per_id": " ",
"issued_country": "AE",
"issued_by": "EIDA",
"issued_at": null,
"issued_on": "2020-08-08",
"date_of_expiry": "2023-08-08",
"default_status": true,
"active_status": true,
"id_front": {
"base64_data": "",
"file_name": "customer/id/1058021235161541_ID_FR_4_784199554586091.jpeg",
"content_type": "image/jpeg"
},
"id_back": null
}
],
"customer_classification": {
"dateUpdated": "2023-02-14T10:28:03.762012Z",
"customer_type_id": 2,
"annual_income_range_id": 15,
"annual_income_currency_code": null,
"social_security_number": null,
"tax_registration_number": null,
"txn_issued_country": null,
"employer_name": "EMKE",
"employer_address": "UAE",
"employer_phone": " ",
"employer_ecrn": "",
"employer_establishment_id": "",
"risk_rating_id": 3,
"last_review_date": null,
"next_review_date": null,
"pep_category": null,
"group_companies": null,
"group_employer_code": " ",
"personal_mohre_id": "",
"income_type": 1,
"profession_category": "",
"reason_for_acc": " ",
"referred_by": "1058021235161541",
"referred_by_type": 1,
"txn_vol_month": 1,
"txn_count_month": 1,
"show_remarks_on_txn": false,
"customer_remarks": "",
"agent_ref_no": null,
"ekyc_provider": null,
"ekyc_ref_no": null,
"customer_cards": null,
"card_number": null,
"social_links": [],
"subscriptions": [
{
"subsciption_type": "PREMIUM",
"subscription_id": "GOLD CARD",
"status": "active"
}
],
"first_language": "",
"marital_status": null,
"dnfbp": false,
"dpms": false,
"profile_category": 1,
"profile_photo_file_name": null
},
"customer_relations": [],
"communication_consents": [
{
"allow": true,
"communication_type": 1
},
{
"allow": true,
"communication_type": 2
}
]
} |
...
Authentication Failure Response
...
Code Block |
---|
{
"timestamp": "2023-03-15T14:26:24.292+00:00",
"status": 401,
"error": "Unauthorized",
"message": "",
"path": "/api/v1/customer/7841001228796988"
} |
...
Customer Not Subscribed Failure Response
...
Code Block | ||
---|---|---|
| ||
{
"status": "failure",
"statusCode": 404,
"errorCode": 45003,
"message": "Customer not Subscribed"
} |
...
Customer not found Failure Response
...
Code Block | ||
---|---|---|
| ||
{
"status": "failure",
"statusCode": 404,
"errorCode": 45001,
"message": "Customer not found"
} |
Header
...
Name
...
Data Type
...
Max Length
...
Mandatory
...
Description
...
Content-Type
...
String
...
36
...
Yes
...
Content type
...
Ocp-Apim-Subscription-Key
...
String
...
32
...
Yes
...
Subscription key
Parameter
...
Name
...
Data Type
...
Max Length
...
Mandatory
...
Description
...
ecrn
...
String
...
20
...
Yes
...
Customer unique identification number
Response
...
Name
...
Data Type
...
Max Length
...
Description
...
agent_location_id
...
String
...
30
...
Agent Location Id
...
channel
...
String
...
30
...
Channel
...
salutation
...
String
...
3
...
Salutation(Mr, Ms)
...
first_name
...
String
...
30
...
First Name
...
middle_name
...
String
...
30
...
Middle Name
...
last_name
...
String
...
30
...
Last Name
...
preferred_name
...
String
...
30
...
Preferred Name
...
nationality
...
String
...
2
...
Nationality
...
second_nationality
...
String
...
2
...
Second Nationality of Customer
...
native_region
...
Integer
...
...
Native Region
...
date_of_birth
...
Date
...
...
Date of Birth
...
country_of_birth
...
String
...
2
...
Country of Birth
...
place_of_birth
...
String
...
100
...
Place of Birth
...
resident_type_id
...
Long
...
...
Resident Type Id
...
country_of_residence
...
String
...
2
...
Country of Residence
...
gender
...
Male
...
12
...
Gender
...
mothers_maiden_name
...
String
...
30
...
Mothers Name
...
primary_mobile_number
...
String
...
30
...
Primary Mobile Number
...
secondary_mobile_number
...
String
...
30
...
Secondary Mobile Number
...
email_id
...
String
...
30
...
Email Id
...
phone_number
...
String
...
30
...
Phone Number
...
occupation_id
...
Long
...
...
Occupation Id
...
political_exposed_person
...
Boolean
...
...
Political Exposed Person
...
additional_docs
...
Object
...
...
Data Object
...
idNameId
...
String
...
...
Id name id
...
base64_data
...
String
...
...
...
content_type
...
String
...
...
Content Type
...
id_details
...
Object
...
...
Data Object
...
id_type
...
Long
...
...
Id Type
...
id_number
...
String
...
30
...
Id Number
...
name_as_per_id
...
String
...
30
...
Name as per Id
...
issued_country
...
String
...
2
...
Issued Country
...
issued_by
...
String
...
30
...
Issued By
...
issued_at
...
String
...
30
...
Issued At
...
issued_on
...
Date
...
...
Issued On
...
date_of_expiry
...
Date
...
...
Date of Expiry
...
visa_number
...
String
...
30
...
Visa Number
...
visa_expiry_date
...
Date
...
...
Visa Expiry Date
...
default_status
...
String
...
30
...
Default Status
...
active_status
...
String
...
30
...
Active Status
...
id_front
...
Object
...
...
Data Object
...
base64_data
...
String
...
...
Base 64 Data
...
content_type
...
String
...
...
Content Type
...
id_back
...
Object
...
...
Data Object
...
base64_data
...
String
...
...
Base 64 Data
...
content_type
...
String
...
...
Content Type
...
addressList
...
Object
...
...
Data Object
...
address_type_id
...
Long
...
...
Address Type Id
...
building_name
...
String
...
30
...
Building Name
...
street_name
...
String
...
30
...
Street Name
...
landmark
...
String
...
30
...
Landmark
...
country
...
String
...
2
...
Country
...
state
...
String
...
30
...
State
...
district
...
String
...
30
...
District
...
city
...
String
...
30
...
City
...
zip
...
Long
...
...
Zip
...
mobile_number
...
String
...
30
...
Mobile Number
...
status
...
String
...
30
...
Disable
...
customer_classification
...
Object
...
...
Data Object
...
customer_type_id
...
Long
...
...
Customer Type Id
...
annual_income_range_id
...
Long
...
...
Annual Income Range
...
annual_income_currency_code
...
String
...
30
...
Annual Income Currency Code
...
social_security_number
...
String
...
30
...
Social Security Number
...
tax_registration_number
...
Long
...
...
Tax Registration Number
...
txn_issued_country
...
String
...
2
...
Tax Issued Country
...
employer_name
...
String
...
30
...
Employer Name
...
employer_address
...
String
...
30
...
Employer Address
...
employer_phone
...
String
...
30
...
Employer Phone
...
employer_ecrn
...
String
...
30
...
Employer ECRN
...
employer_establishment_id
...
String
...
30
...
Employer Establishment ID
...
risk_rating_id
...
Long
...
...
Risk Rating ID
...
compliance_category_id
...
Long
...
...
Compliance Category ID
...
last_review_date
...
Date
...
...
Last review Date
...
next_review_date
...
Date
...
...
Next Review Date
...
pep_category
...
Integer
...
...
Pep Category
...
group_companies
...
Integer
...
...
Group Company
...
group_employer_code
...
String
...
30
...
Group Employee Code
...
personal_mohre_id
...
String
...
30
...
Personal Mohre Id
...
customer_cards
...
String
...
30
...
Customer Cards
...
card_number
...
String
...
30
...
Card Number
...
income_type
...
String
...
30
...
Income Type
...
profession_category
...
String
...
30
...
Profession Category
...
reason_for_acc
...
String
...
30
...
Reason for ACC
...
referred_by_type
...
Integer
...
...
Referred By Type
...
referred_by
...
String
...
30
...
Reffered By
...
txn_vol_month
...
String
...
30
...
Transaction Volume Month
...
txn_count_month
...
String
...
30
...
Transaction Count Month
...
show_remarks_on_txn
...
Boolean
...
...
show Remarks on transaction
...
customer_remarks
...
String
...
30
...
Remarks on Transaction
...
agent_ref_no
...
String
...
30
...
Agent reference number
...
ekyc_provider
...
String
...
30
...
ekyc provider
...
ekyc_ref_no
...
String
...
30
...
ekyc ref number
...
social_links
...
Object
...
...
Data Object
...
social_links_id
...
Long
...
...
Social Link Id
...
text_field
...
String
...
30
...
Text Field
...
subscriptions
...
Object
...
...
Data Object
...
subsciption_type
...
String
...
30
...
Subscription Type
...
subscription_id
...
String
...
30
...
Subscription Id
...
status
...
String
...
30
...
Status
...
first_language
...
String
...
3
...
Customer Preferred Language
...
marital_status
...
Integer
...
...
Marital Status
...
profile_category
...
Integer
...
...
Profile Category
...
dnfbp
...
Boolean
...
...
Designated Non-Financial Business and Professions
...
dpms
...
Boolean
...
...
Dealers in Precious Metals and Stones
AML Alert Closure CallBack Api
We will be calling partner API in order to update the customer status and AML status.
Payload
Code Block | ||
---|---|---|
| ||
{
"aml_scan_status": "Accepted",
"ecrn": "1058021235161541",
"customer_status": "ACTIVE"
} |
The partner will conduct e-KYC or KYC procedures autonomously and employ the listed APIs to enroll customers onto the Customer Data Platform (CDP). They will supply essential customer details obtained from a trusted data source (such as an e-KYC provider or government database), additional information based on country requirements, along with customer documents, including front and back images of the customer's ID, a facial image, and any e-KYC verification or confirmation reports if applicable using the customer onboard API.
Access Token API
An access token is a key to the gateway to access any other API. The API will return the access token if the user is successfully authenticated and have the authorization to access these services. Every access token is tagged with validity and the expiry duration is echoed in the response for the calling application to manage the state accordingly. Token if used after its validity period restrict access to any services and a new token to be generated in this case.
...
API
...
https://{{baseUrl}}/auth/realms/cdp/protocol/openid-connect/token
...
Method
...
POST
...
Headers
...
Content-Type : application/x-www-form-urlencoded
...
Access Token Payload
...
Code Block | ||
---|---|---|
| ||
--data-urlencode 'grant_type=password' \
--data-urlencode 'scope=api://3a3f52a1-1b64-4c27-81f0-50a6ca01324d/customer' \
--data-urlencode 'client_id=<<client_id>>' \
--data-urlencode 'client_secret=<<secret>>' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'username=<<username>>' \
--data-urlencode 'password=<<password>>'
|
...
Refresh Token Payload
...
Code Block |
---|
--data-urlencode 'grant_type=password' \
--data-urlencode 'client_id=<<client_id>>' \
--data-urlencode 'client_secret=<<secret>>' \
--data-urlencode 'grant_type=refresh_token' \
--data-urlencode 'refresh_token=<<refreshToken>>' \ |
...
Response
...
Code Block | ||
---|---|---|
| ||
{
"token_type": "bearer",
"access_token": "<<access_token_value>>",
"expires_in": 7199,
"refresh_expires_in": 7199,
"refresh_token": "<<refresh_token_value>>",
"scope": "----",
"not-before-policy": 0,
"session_state": "<<session_state>>"
} |
Header
...
Name
...
Data Type
...
Max Length
...
Mandatory
...
Description
...
Content-Type
...
String
...
36
...
Yes
...
Content type
Payload
...
Name
...
Data Type
...
Max Length
...
Mandatory
...
Description
...
grant_type
...
String
...
10
...
Yes
...
Grant type. Will up provided
...
scope
...
String
...
60
...
Yes
...
Scope name. Will be provided
...
client_id
...
String
...
60
...
Yes
...
Client Id. Will be provided
...
client_secret
...
String
...
60
...
Yes
...
Client secret. Will be provided
...
username
...
String
...
60
...
Yes
...
Admin user name
...
password
...
String
...
60
...
Yes
...
Admin password
Response
...
Name
...
Data Type
...
Max Length
...
Mandatory
...
Description
...
token_type
...
String
...
-
...
Yes
...
Token type
...
scope
...
String
...
-
...
Yes
...
Scope details
...
access_token
...
String
...
600
...
Yes
...
Access token to access the APIs
...
refresh_token
...
String
...
600
...
Yes
...
refresh token to refresh the Token.
...
expires_in
...
Integer
...
-
...
Yes
...
Token expiry time in seconds
...
refresh_expires_in
...
Integer
...
-
...
Yes
...
Refresh Token expiry time in seconds
Customer Lookup API v2
API to be used to look up customer information by ID type and ID number.
API | ||||||
Authorization | Bearer Token | |||||
Method | POST | |||||
Headers | Content-Type:application/json | |||||
Payload |
| |||||
Success Response |
| |||||
Customer Not Found |
| |||||
Subscription Pending Response |
| |||||
Bad Request |
| |||||
Internal Server Error |
|
Header
Name | Data Type | Max Length | Mandatory | Description | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Content-Type | String | 36 |
| Content type | ||||||
Authorization | String |
| Authorization Token |
Payload
Name | Data Type | Max Length | Mandatory | Description | ||||||
---|---|---|---|---|---|---|---|---|---|---|
idType | String | 3 |
| Customer id type code | ||||||
idNumber | String | 30 |
| Customer id/Number |
Response
Name | Data Type | Max Length | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
status | String | 255 | status description | ||||||||||||||||||||||||||||||
statusCode | Integer | - | Status code | ||||||||||||||||||||||||||||||
errorCode | Integer | - | Error code if any error encountered. | ||||||||||||||||||||||||||||||
message | String | 255 | Message | ||||||||||||||||||||||||||||||
data | Object | - | Data object | ||||||||||||||||||||||||||||||
ecrn | String | 16 | Customer unique identification number | ||||||||||||||||||||||||||||||
first_name | String | 255 | Customer first name | ||||||||||||||||||||||||||||||
middle_name | String | 255 | Customer middle name | ||||||||||||||||||||||||||||||
last_name | String | 255 | Customer last name | ||||||||||||||||||||||||||||||
agent_location_id | String | 20 | Onboarded Agent | ||||||||||||||||||||||||||||||
primary_mobile_number | String | 20 | Customer mobile no | ||||||||||||||||||||||||||||||
email_id | String | 30 | Customer email | ||||||||||||||||||||||||||||||
customer_status | String | 20 | Customer Status
| ||||||||||||||||||||||||||||||
aml_scan_status | String | 20 | AML Scanned Status “Accepted” / “Rejected“ / “Under Investigation”/ “Failed” / “N/A” (not available when screening not done) | ||||||||||||||||||||||||||||||
id_status | String | 20 | Possible values : "Active", "Expired",”Inactive” | ||||||||||||||||||||||||||||||
id_date_of_expiry | String | 50 | YYYY-MM-DD format |
Individual Onboarding API
API to be used to onboard customer.
API | https://{{baseUrl}}/caas-lcm/api/v1/CAAS/onBoarding/customer | |||||
Authorization | Bearer Token | |||||
Method | POST | |||||
Headers | Content-Type:application/json | |||||
Payload |
| |||||
Success Response |
| |||||
Validation Failure Response - Customer Under Compliance Investigation |
| |||||
Validation Failure Response - Blocked Customer |
| |||||
Validation Failure Response - Invalid Master Data |
| |||||
Validation Failure Response - Mandatory Field Missing |
| |||||
Authentication Failure Response |
|
Header
Name | Data Type | Max Length | Mandatory | Description |
---|---|---|---|---|
Content-Type | String |
| Yes | Content Type |
Authorization | String |
| Yes | Authorization Token |
Payload
Name | Data Type | Max Length | Mandatory | Description |
---|---|---|---|---|
channel | String | 30 | Yes | Channel |
salutation* | String | 3 |
| Salutation(Mr, Ms) , Salutation Id As per SALUTATION master |
first_name | String | 30 | Yes | First Name |
middle_name | String | 30 |
| Middle Name |
last_name | String | 30 | yes | Last Name |
preferred_name | String | 30 |
| Preferred Name |
nationality* | String | 2 | yes | Nationality code as per NATIONALITY Master |
second_nationality* | String | 2 |
| Second Nationality code of Customer as per NATIONALITY Master |
native_region* | Integer |
|
| Native Region code asper NATIVE_REGION Master |
date_of_birth | Date |
| yes | Date of Birth in “YYYY-MM-DD” Format |
country_of_birth* | String | 2 | yes | Country of Birth code as per COUNTRY Master |
place_of_birth | String | 100 |
| Place of Birth |
resident_type_id* | Long |
|
| Resident Type Id as per RESIDENT_TYPE Master |
country_of_residence* | String | 2 | yes | Resident Country code as per COUNTRY master |
gender | Male | 12 | yes | Gender |
mothers_maiden_name | String | 30 |
| Mothers Name |
primary_mobile_number | String | 30 | yes | Primary Mobile Number |
secondary_mobile_number | String | 30 |
| Secondary Mobile Number |
email_id | String | 30 | yes | Email Id |
phone_number | String | 30 |
| Phone Number |
occupation_id | Long |
|
| Occupation Id |
political_exposed_person | Boolean |
|
| Political Exposed Person |
additional_docs | Object |
|
| Data Object |
document_id* | String |
| Document Id as per DOCUMENT_TYPE master | |
base64_data | String |
|
| Base64 Data |
content_type | String |
|
| Content Type |
id_details | Object |
| yes | Data Object |
id_type | Long |
| Yes | Id Type |
id_number | String | 30 | Yes | Id Number |
name_as_per_id | String | 30 |
| Name as per Id |
issued_country | String | 2 |
| Issued Country code as per COUNTRY master |
issued_by | String | 30 |
| Issued By |
issued_at | String | 30 |
| Issued At |
issued_on | Date |
|
| Issued On in “YYYY-MM-DD” Format |
date_of_expiry | Date |
|
| Date of Expiry in “YYYY-MM-DD” Format |
visa_number | String | 30 |
| Visa Number |
visa_expiry_date | Date |
|
| Visa Expiry Date in “YYYY-MM-DD” Format |
default_status | String | 30 |
| Default Status |
active_status | String | 30 |
| Active Status |
id_front | Object |
|
| Data Object |
base64_data | String |
|
| Base 64 Data |
content_type | String |
|
| Content Type |
id_back | Object |
|
| Data Object |
base64_data | String |
|
| Base 64 Data |
content_type | String |
|
| Content Type |
addressList | Object |
| yes | Data Object |
address_type_id | Long |
| Address Type Id as per ADDRESS_TYPE master | |
building_name | String | 30 |
| Building Name |
street_name | String | 30 |
| Street Name |
landmark | String | 30 |
| Landmark |
country | String | 2 |
| Country |
state | String | 30 |
| State |
district | String | 30 |
| District |
city | String | 30 |
| City |
zip | Long |
|
| Zip |
mobile_number | String | 30 |
| Mobile Number |
status | String | 30 |
| Disable |
customer_classification | Object |
| no | Data Object |
customer_type_id | Long |
|
| Customer Type Id |
annual_income_range_id | Long |
|
| Annual Income Range |
annual_income_currency_code | String | 30 |
| Annual Income Currency Code |
social_security_number | String | 30 |
| Social Security Number |
tax_registration_number | Long |
|
| Tax Registration Number |
txn_issued_country | String | 2 |
| Tax Issued Country |
employer_name | String | 30 |
| Employer Name |
employer_address | String | 30 |
| Employer Address |
employer_phone | String | 30 |
| Employer Phone |
employer_ecrn | String | 30 |
| Employer ECRN |
employer_establishment_id | String | 30 |
| Employer Establishment ID |
risk_rating_id | Long |
|
| Risk Rating ID |
compliance_category_id | Long |
|
| Compliance Category ID |
last_review_date | Date |
|
| Last review Date |
next_review_date | Date |
|
| Next Review Date |
pep_category | Integer |
|
| Pep Category |
personal_mohre_id | String | 30 |
| Personal Mohre Id |
customer_cards | String | 30 |
| Customer Cards |
card_number | String | 30 |
| Card Number |
income_type | String | 30 |
| Income Type |
profession_category | String | 30 |
| Profession Category |
reason_for_acc | String | 30 |
| Reason for ACC |
txn_vol_month | String | 30 |
| Transaction Volume Month |
txn_count_month | String | 30 |
| Transaction Count Month |
show_remarks_on_txn | Boolean |
|
| show Remarks on transaction |
customer_remarks | String | 30 |
| Remarks on Transaction |
agent_ref_no | String | 30 |
| Agent reference number |
social_links | Object |
| no | Data Object |
social_links_id | Long |
| Social Link Id | |
text_field | String | 30 |
| Text Field |
status | String | 30 |
| Status |
first_language | String | 3 |
| Customer Preferred Language |
marital_status | Integer |
|
| Marital Status |
profile_category | Integer |
|
| Profile Category |
dnfbp | Boolean |
|
| Designated Non-Financial Business and Professions |
dpms | Boolean |
|
| Dealers in Precious Metals and Stones |
Response
Name | Data Type | Max Length | Description |
---|---|---|---|
status | String | 255 | status description |
status_code | Int | - | Status code |
data | Object | - | Data object |
ecrn | String | 20 | Customer Number |
aml_scan_status | String | 20 | AML Scanned Status “Accepted”/”Under investigation”/”Failed”/”NA” |
customer_status | String | 20 | Customer Status |
Get Customer API v2
API to be used to get the customer information by customer number.
API | ||||||
Authorization | Bearer Token | |||||
Method | GET | |||||
Headers | Content-Type:application/json | |||||
Payload |
| |||||
Success Response |
| |||||
Authentication Failure Response |
| |||||
Customer Not Subscribed Failure Response |
| |||||
Customer not found Failure Response |
|
Header
Name | Data Type | Max Length | Mandatory | Description |
---|---|---|---|---|
Content-Type | String | 36 | Yes | Content type |
Ocp-Apim-Subscription-Key | String | 32 | Yes | Subscription key |
Parameter
Name | Data Type | Max Length | Mandatory | Description |
---|---|---|---|---|
ecrn | String | 20 | Yes | Customer unique identification number |
Response
Name | Data Type | Max Length | Description |
---|---|---|---|
agent_location_id | String | 30 | Agent Location Id |
channel | String | 30 | Channel |
salutation | String | 3 | Salutation(Mr, Ms) |
first_name | String | 30 | First Name |
middle_name | String | 30 | Middle Name |
last_name | String | 30 | Last Name |
preferred_name | String | 30 | Preferred Name |
nationality | String | 2 | Nationality |
second_nationality | String | 2 | Second Nationality of Customer |
native_region | Integer |
| Native Region |
date_of_birth | Date |
| Date of Birth |
country_of_birth | String | 2 | Country of Birth |
place_of_birth | String | 100 | Place of Birth |
resident_type_id | Long |
| Resident Type Id |
country_of_residence | String | 2 | Country of Residence |
gender | Male | 12 | Gender |
mothers_maiden_name | String | 30 | Mothers Name |
primary_mobile_number | String | 30 | Primary Mobile Number |
secondary_mobile_number | String | 30 | Secondary Mobile Number |
email_id | String | 30 | Email Id |
phone_number | String | 30 | Phone Number |
occupation_id | Long |
| Occupation Id |
political_exposed_person | Boolean |
| Political Exposed Person |
additional_docs | Object |
| Data Object |
idNameId | String |
| Id name id |
base64_data | String |
|
|
content_type | String |
| Content Type |
id_details | Object |
| Data Object |
id_type | Long |
| Id Type |
id_number | String | 30 | Id Number |
name_as_per_id | String | 30 | Name as per Id |
issued_country | String | 2 | Issued Country |
issued_by | String | 30 | Issued By |
issued_at | String | 30 | Issued At |
issued_on | Date |
| Issued On |
date_of_expiry | Date |
| Date of Expiry |
visa_number | String | 30 | Visa Number |
visa_expiry_date | Date |
| Visa Expiry Date |
default_status | String | 30 | Default Status |
active_status | String | 30 | Active Status |
id_front | Object |
| Data Object |
base64_data | String |
| Base 64 Data |
content_type | String |
| Content Type |
id_back | Object |
| Data Object |
base64_data | String |
| Base 64 Data |
content_type | String |
| Content Type |
addressList | Object |
| Data Object |
address_type_id | Long |
| Address Type Id |
building_name | String | 30 | Building Name |
street_name | String | 30 | Street Name |
landmark | String | 30 | Landmark |
country | String | 2 | Country |
state | String | 30 | State |
district | String | 30 | District |
city | String | 30 | City |
zip | Long |
| Zip |
mobile_number | String | 30 | Mobile Number |
status | String | 30 | Disable |
customer_classification | Object |
| Data Object |
customer_type_id | Long |
| Customer Type Id |
annual_income_range_id | Long |
| Annual Income Range |
annual_income_currency_code | String | 30 | Annual Income Currency Code |
social_security_number | String | 30 | Social Security Number |
tax_registration_number | Long |
| Tax Registration Number |
txn_issued_country | String | 2 | Tax Issued Country |
employer_name | String | 30 | Employer Name |
employer_address | String | 30 | Employer Address |
employer_phone | String | 30 | Employer Phone |
employer_ecrn | String | 30 | Employer ECRN |
employer_establishment_id | String | 30 | Employer Establishment ID |
risk_rating_id | Long |
| Risk Rating ID |
compliance_category_id | Long |
| Compliance Category ID |
last_review_date | Date |
| Last review Date |
next_review_date | Date |
| Next Review Date |
pep_category | Integer |
| Pep Category |
group_companies | Integer |
| Group Company |
group_employer_code | String | 30 | Group Employee Code |
personal_mohre_id | String | 30 | Personal Mohre Id |
customer_cards | String | 30 | Customer Cards |
card_number | String | 30 | Card Number |
income_type | String | 30 | Income Type |
profession_category | String | 30 | Profession Category |
reason_for_acc | String | 30 | Reason for ACC |
referred_by_type | Integer |
| Referred By Type |
referred_by | String | 30 | Reffered By |
txn_vol_month | String | 30 | Transaction Volume Month |
txn_count_month | String | 30 | Transaction Count Month |
show_remarks_on_txn | Boolean |
| show Remarks on transaction |
customer_remarks | String | 30 | Remarks on Transaction |
agent_ref_no | String | 30 | Agent reference number |
ekyc_provider | String | 30 | ekyc provider |
ekyc_ref_no | String | 30 | ekyc ref number |
social_links | Object |
| Data Object |
social_links_id | Long |
| Social Link Id |
text_field | String | 30 | Text Field |
subscriptions | Object |
| Data Object |
subsciption_type | String | 30 | Subscription Type |
subscription_id | String | 30 | Subscription Id |
status | String | 30 | Status |
first_language | String | 3 | Customer Preferred Language |
marital_status | Integer |
| Marital Status |
profile_category | Integer |
| Profile Category |
dnfbp | Boolean |
| Designated Non-Financial Business and Professions |
dpms | Boolean |
| Dealers in Precious Metals and Stones |
AML Alert Closure CallBack Api
We will be calling partner API in order to update the customer status and AML status.
Payload
Code Block | ||
---|---|---|
| ||
{ "aml_scan_status": "Accepted", "ecrn": "1058021235161541", "customer_status": "ACTIVE" } |
...