Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

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
languagejson
--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
languagejson
{
    "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

Table of Contents

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
languagejson
--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
languagejson
{
    "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

Status
colourGreen
titleMANDATORY

Content type

Payload

Name

Data Type

Max Length

Mandatory

Description

grant_type

String

10

Status
colourGreen
titleMANDATORY

Grant type. Will up provided

scope

String

60

Status
colourGreen
titleMANDATORY

Scope name. Will be provided

client_id

String

60

Status
colourGreen
titleMANDATORY

Client Id. Will be provided

client_secret

String

60

Status
colourGreen
titleMANDATORY

Client secret. Will be provided

username

String

60

Status
colourGreen
titleMANDATORY

Admin user name

password

String

60

Status
colourGreen
titleMANDATORY

Admin password

Response

Name

Data Type

Max Length

Mandatory

Description

token_type

String

-

Status
colourGreen
titleMANDATORY

Token type

scope

String

-

Status
colourGreen
titleMANDATORY

Scope details

access_token

String

600

Status
colourGreen
titleMANDATORY

Access token to access the APIs

refresh_token

String

600

Status
colourGreen
titleMANDATORY

refresh token to refresh the Token.

expires_in

Integer

-

Status
colourGreen
titleMANDATORY

Token expiry time in seconds

refresh_expires_in

Integer

-

Status
colourGreen
titleMANDATORY

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

https://{{baseUrl}}/caas/api/v2/customer/validate

Authorization

 Bearer Token

Method

POST

Headers

Content-Type:application/json

Payload

Code Block
languagejson
{
    "idNumber": "784199554586091",
    "idType": "4"
}

Success Response

HttpStatusCode : 200

Code Block
languagejson
{
    "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"
    }
}

Customer Not Found

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45001,
    "message": "Customer not found"
}

Subscription Pending Response

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45003,
    "message": "Customer not Subscribed"
}

Bad Request

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 400,
    "errorCode": 45005,
    "message": "Invalid Lookup request"
}

Internal Server Error

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45006,
    "message": "Error while searching customer!"
}

Authentication Failure Response

HttpStatusCode : 401

Code Block
languagejson
{
    "timestamp": "2023-12-22T06:04:30.477+00:00",
    "status": 401,
    "error": "Unauthorized",
    "path": "/api/v2/customer/validate"
}

Header

Name

Data Type

Max Length

Mandatory

Description

token_type

Content-Type

String

-

Yes

Token type

scope

36

Status
colourGreen
titleMANDATORY

Content type

Authorization

String

-

Status

Yes

colour

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

https://{{baseUrl}}/caas/api/v2/customer/validate

Authorization

 Bearer Token

Method

POST

Headers

Content-Type:application/json

Payload

Code Block
languagejson
{
    "idNumber": "784199554586091",
    "idType": "4"
}

Success Response

HttpStatusCode : 200

Code Block
languagejson
{
    "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"
    }
}

Customer Not Found

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45001,
    "message": "Customer not found"
}

Subscription Pending Response

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45003,
    "message": "Customer not Subscribed"
}
Bad Request

Green
titleMANDATORY

Authorization Token

Payload

Name

Data Type

Max Length

Mandatory

Description

idType

String

3

Status
colourGreen
titleMANDATORY

Customer id type code

idNumber

String

30

Status
colourGreen
titleMANDATORY

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

20

Customer unique identification number

first_name

String

100

Customer first name

middle_name

String

60

Customer middle name

last_name

String

60

Customer last name

agent_location_id

String

10

Onboarded Agent

primary_mobile_number

String

20

Customer mobile no

email_id

String

255

Customer email

customer_status

String

20

Customer Status

Status
colourGreen
titleACTIVE
/
Status
colourYellow
titleKYC_PENDING
/
Status
colourYellow
titleINACTIVE
/
Status
colourRed
titleREJECTED
/
Status
colourRed
titleBLOCKED

aml_scan_status

String

20

AML Scanned Status

“Accepted” / “Rejected“ / “Under Investigation”/ “Failed

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 a customer.

API

https://{{baseUrl}}/caas-lcm/api/v1/CAAS/onBoarding/customer

Authorization

Bearer Token

Method

POST

Headers

Content-Type:application/json

Payload

Code Block
languagejson
{
    "
status
channel": "
failure
WEB",
    "
statusCode
first_name":
400
 "IRFAN MANAKKAT THEKKE",
    "
errorCode
salutation": 
45005
"Mr",
    "
message
middle_name": "
Invalid
PURAYIL 
Lookup request" }

Internal Server Error

Code Block
languagejson
{
ISMAIL",
    "
status
last_name": "
failure
NANGARATH MUNDACHI",
    "
statusCode
preferred_name":
404
 "IRFAN MANAKKAT THEKKE",
    "
errorCode
nationality": 
45006
"IN",
    "
message": "Error while searching customer!" }

Header

...

Name

...

Data Type

...

Max Length

...

Mandatory

...

Description

...

Content-Type

...

String

...

36

...

Status
colourGreen
titleMANDATORY

...

Content type

...

Authorization

...

String

...

Status
colourGreen
titleMANDATORY

...

Authorization Token

Payload

...

Name

...

Data Type

...

Max Length

...

Mandatory

...

Description

...

idType

...

String

...

3

...

Status
colourGreen
titleMANDATORY

...

Customer id type code

...

idNumber

...

String

...

30

...

Status
colourGreen
titleMANDATORY

...

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

Status
colourGreen
titleACTIVE
/
Status
colourYellow
titleKYC PENDING
/
Status
colourYellow
titleINACTIVE
/
Status
colourRed
titleREJECTED
/
Status
colourRed
titleBLOCKED

...

aml_scan_status

...

String

...

20

...

AML Scanned Status

“Accepted” / “Rejected“ / “Under Investigation”/ “Failed

...

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

Code Block
languagejson
{
    "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": [
        {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",
            "base64_datacountry": "<<base64Data>>AE",
            "content_typezip": "image/jpeg"0,
            "documentmobile_idnumber": "1+971502106707"
        },
        {
            "base64address_type_dataid": "<<base64Data>>2",
            "contentbuilding_typename": "image/jpegABC House",
            "documentstreet_idname": "2"
     Kaikottukadavu",
  }     ],     "address_listlandmark": [
        {"ABC School",
            "address_type_idcity": "1Thrikkaripur",
            "building_namedistrict": "MANKHOOL BUILDINGKasaragod",
            "street_namestate": "Electra Streetkerala",
            "landmarkcountry": "HOT BreadIN",
            "cityzip": "Electra Street"13345,
            "districtmobile_number": "Abu Dhabi+971502106707",
        }
   "state": "Abu Dhabi", ],
    "id_details": [
       "country": "AE", {
            "zipid_type": 04,
            "mobileid_number": "+971502106707784199554586091",
        },    "name_as_per_id": "Irfan Manakkat Thekke  {Purayil",
            "address_typeissued_idcountry": "2AE",
            "buildingissued_nameby": "ABC HouseEIDA",
            "streetissued_nameat": "KaikottukadavuAE Govt.",
            "landmarkissued_on": "ABC School2020-08-08",
            "citydate_of_expiry": "Thrikkaripur2023-08-08",
            "districtdefault_status": "Kasaragod"true,
            "stateactive_status": "kerala"true,
            "countryid_front": "IN", {
                "zipbase64_data": 13345,"<<base64Data>>",
                "mobilecontent_numbertype": "+971502106707"image/jpeg"
            },
     ],       "id_details": [
    back": {
   {             "idbase64_typedata": 4"<<base64Data>>",
                "idcontent_numbertype": "784199554586091image/jpeg",
            "name_as_per_id": "Irfan Manakkat Thekke Purayil",}
        },
       "issued_country": "AE", {
            "issuedid_bytype": "EIDA"2,
            "issuedid_atnumber": "AE Govt.P4006315",
            "issuedvisa_onnumber": "2020-08-08VISA123",
            "datevisa_ofexpiry_expirydate": "20232024-0806-0830",
            "default_status": truename_as_per_id": "IRFAN M T P",
            "activeissued_statuscountry": true"IN",
            "idissued_frontby": {
"India Govt.",
               "base64issued_dataat": "<<base64Data>>Kozhikkode",
   
            "contentissued_typeon": "image/jpeg"2016-04-28",
            }"date_of_expiry": "2026-04-27",
            "iddefault_backstatus": {
   true,
            "base64active_datastatus": "<<base64Data>>"true,
            "id_front": {
  "content_type": "image/jpeg"             }
"base64_data": "<<base64Data>>",
       },         {
"content_type": "image/jpeg"
           "id_type": 2 },
            "id_numberback": "P4006315",{
                "visabase64_numberdata": "VISA123<<base64Data>>",
                "visacontent_expiry_datetype": "2024-06-30",image/jpeg"
            }
 "name_as_per_id": "IRFAN M T P",   }
    ],
    "issuedcustomer_countryclassification": "IN",
{
           "issued_by": "India Govt.",
   "customer_type_id": 2,
        "issued_atannual_income_range_id": "Kozhikkode",
   15,
        "issued_onannual_income_currency_code": "2016-04-28AED",
  
         "datesocial_ofsecurity_expirynumber": "2026-04-27SSN123",

           "default_status"tax_registration_number": true123,
  
         "activetxn_issued_statuscountry": true,
  "AE",
         "idemployer_frontname": {
       "EMKE",
        "base64employer_dataaddress": "<<base64Data>>",
       UAE",
        "contentemployer_typephone": "image/jpeg+971502106101",
            },
"employer_ecrn": "",
           "id_back": {"employer_establishment_id": "LULUEXCHANGE123",
        "risk_rating_id": 3,
        "base64pep_datacategory": "<<base64Data>>",
       1,
        "contentpersonal_mohre_typeid": "image/jpegIRFAN786",
        "income_type": 1,
  }         }
"profession_category": "PC1",
   ],     "customerreason_for_classificationacc": { "Remittance",
        "customertxn_typevol_idmonth": 21,
        "annualtxn_incomecount_range_idmonth": 151,
        "annualshow_incomeremarks_currencyon_codetxn": "AED"false,
        "socialcustomer_security_numberremarks": "SSN123Test Remarks",
        "taxagent_registrationref_numberno": 123"786000786",
        "txnsocial_issued_countrylinks": [
"AE",         "employer_name": "EMKE",  {
      "employer_address": "UAE",         "employersocial_links_phoneid": "+971502106101",
 2,
      "employer_ecrn": "",         "employertext_establishment_idfield": "LULUEXCHANGE123",insta.com"
           "risk_rating_id": 3 },
        "pep_category": 1,    {
      "personal_mohre_id": "IRFAN786",         "incomesocial_links_typeid": 1,
        "profession_category": "PC1",         "reasontext_for_accfield": "Remittance",fb.com"
          "txn_vol_month": 1, }
       "txn_count_month": 1 ],
        "show_remarks_on_txnfirst_language": false"en",
        "customermarital_remarksstatus": "Test Remarks"2,
        "agent_ref_nodnfbp": "786000786"false,
        "social_linksdpms": false,
[        "profile_category": 1,
    {    "profile_photo": {
            "socialbase64_links_iddata": 2,
   "<<bas64data>>",
            "textcontent_fieldtype": "insta.comimage/jpeg"
        }
    },

}

Success Response

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "success",
    "data": {
       
        "socialaml_linksscan_idstatus": 1, "Accepted",
        "ecrn": "7841003233112590",
        "textcustomer_fieldstatus": "fb.comACTIVE",
        "pep": false,
  }      "aml_category": 2
 ],    },
    "first_languagerequestId": "en9ec8ed6c9f52a83b12a2373665b899de",
    "status_code": "200 OK"
 "marital_status}

Validation Failure Response - Customer Under Compliance Investigation

HttpStatusCode : 406

Code Block
languagejson
{
    "requestId": 2"8d0e88958b3572ed17f4e859f1fce107",
    "status": "failed",
    "dnfbpstatus_code": false,
   "406 NOT_ACCEPTABLE",
    "dpmserror_code": falsenull,
        "profile_category"message": 1,"Customer 7841003230689645 Under Compliance Investigation"
}

Validation Failure Response - Blocked Customer

HttpStatusCode : 406

Code Block
languagejson
{
    "profile_photorequestId": {"dee033942cdce475bfbd55c0a6c26ffa",
       "status": "failed",
    "base64status_datacode": "<<bas64data>>406 NOT_ACCEPTABLE",
    "error_code": null,
      "content_typemessage": "image/jpeg"Customer 7841003230689645 Can not      }
    }be Accepted"
}

Success ResponseValidation Failure Response - Invalid Master Data

HttpStatusCode : 200400

Code Block
languagejson
{
    "statusrequestId": "success7ec2c7830fa6446ecebe1e9a7b80f8fa",
    "datastatus": {
"failed",
       "amlstatus_scan_statuscode": "Accepted406 NOT_ACCEPTABLE",7841003230626451
    "error_code": null,
    "ecrnmessage": "1058021235161541", Invalid Nationality ae!"
}

Validation Failure Response - Mandatory Field Missing

HttpStatusCode : 400

Code Block
languagejson
{
    "customer_status": "ACTIVE"
    }failure",
    "status_codestatusCode": "200 OK"
}

Validation Failure Response - Customer Under Compliance Investigation

Code Block
languagejson
{400,
    "statuserrorCode": "failed"40002,
    "message": "CustomerInvalid format 784100000001or Undermissing Compliancemandatory Investigationrequest",
    "status_codedetails": "400"
}

Validation Failure Response - Blocked Customer

Code Block
languagejson
{

   "status": "failed",     "messagefirstName": "Customer 784100000001 Can not be Accepted"Invalid first name"
    },
    "status_coderequestId": "400117b2b47732057ce9f495ca215ad6366"
}

Validation Authentication Failure Response - Invalid Master Data

HttpStatusCode : 401

{
Code Block
languagejson
languagejson
{
    "timestamp": "2023-03-15T14:26:24.292+00:00",
    "status": "failed"401,
    "messageerror": " Invalid Base64 data ID Doc null!"Unauthorized",
     Invalid Profile Category 0!, Invalid Nationality  INA!"message": "",
    "status_codepath": "400/api/v1/CAAS/onBoarding/customer"
}
Validation Failure Response - Mandatory Field Missing

Bad Request

Http Staus Code:400

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 400,
    "failederrorCode": 40002,
    "message": "Invalid lastNameformat or ismissing mandatory in request !",
    "details": middleName{
is mandatory in request !,    "firstName": "Invalid first firstLanguagename"
is mandatory in request !"},
    "status_coderequestId": "4009cee167abbdde1612fcb67ec452b881b"
}
Authentication Failure Response

Internal Server Error

HttpStatusCode : 502

Code Block
languagejson
{
    "timestampstatus": "2023-03-15T14:26:24.292+00:00failed",
    "statuserrorCode": 401"50203",
    "errormessage": "UnauthorizedBackend Technical Problem",
    "messagerequestId": "f91a4fb9d062eb26181da69bf61ca644",
    "pathstatus_code": "/api/v1/CAAS/onBoarding/customer502"
}

Header

Name

Data Type

Max Length

Mandatory

Description

Content-Type

String

 

Yes-Type

String

 

Status
colourGreen
titleMANDATORY

Content Type

Authorization

String

 Yes

Status
colourGreen
titleMANDATORY

Authorization Token

Payload

Name

Data Type

Max Length

Mandatory

Description

channel

String

30

Yes

20

Status
colourGreen
titleMANDATORY

Channel

salutation*

String

3

 

Status
colourYellow
titleCONDITIONAL

Salutation(Mr, Ms) , Salutation Id As per SALUTATION master

first_name

String

30

Yes

100

Status
colourGreen
titleMANDATORY

First Name

middle_name

String

3060

 

Status
colourYellow
titleCONDITIONAL

Middle Name

last_name

String

30

 yes

60

 

Status
colourGreen
titleMANDATORY

Last Name

preferred_name

String

30255

 

Preferred Name

nationality*

String

2 yes

 

Status
colourGreen
titleMANDATORY

Nationality code as per NATIONALITY Master

second_nationality*

String

2

 

Status
colourYellow
titleCONDITIONAL

Second Nationality code of Customer as per NATIONALITY Master

native_region*

Integer

 

 *

Integer

 

 

Status
colourYellow
titleCONDITIONAL

Native Region code asper NATIVE_REGION Master

date_of_birth

Date

  yes

 

Status
colourGreen
titleMANDATORY

Date of Birth in “YYYY-MM-DD” Format

country_of_birth*

String

2 yes

 

Status
colourGreen
titleMANDATORY

Country of Birth code as per COUNTRY Master

place_of_birth

String

10040

 

Status
colourYellow
titleCONDITIONAL

Place of Birth

resident_type_id*

Long

 

 

Status
colourYellow
titleCONDITIONAL

Resident Type Id as per RESIDENT_TYPE Master

country_of_residence*

String

2 yes

 

Status
colourGreen
titleMANDATORY

Resident Country code as per COUNTRY master

gender

Male

12 yes

 

Status
colourGreen
titleMANDATORY

Gender

mothers_maiden_name

String

30255

 

Status
colourYellow
titleCONDITIONAL

Mothers Name

primary_mobile_number

String

30

 yes

20

 

Status
colourGreen
titleMANDATORY

Primary Mobile Number

secondary_mobile_number

String

30

 

String

20

 

Status
colourYellow
titleCONDITIONAL

Secondary Mobile Number

email_id

String

30

 yes

255

 

Status
colourGreen
titleMANDATORY

Email Id

phone_number

String

3020

 

Status
colourYellow
titleCONDITIONAL

Phone Number

occupation_id

Long

 

 

Status
colourYellow
titleCONDITIONAL

Occupation Id

political_exposed_person

Boolean

 

 

Status
colourYellow
titleCONDITIONAL

Political Exposed Person

additional_docs

Object

 

 

Status
colourYellow
titleCONDITIONAL

Data Object

document_id*

String

 

Status
colourYellow
titleCONDITIONAL

Document Id as per DOCUMENT_TYPE master

base64_data

String

 

 

Status
colourYellow
titleCONDITIONAL

Base64 Data

content_type

String

 

 

Status
colourYellow
titleCONDITIONAL

Content Type

id_details

Object

 

  yes

Status
colourGreen
titleMANDATORY

Data Object

id_type

Long

 

Yes

 

Status
colourGreen
titleMANDATORY

Id Type

id_number

String

30Yes

Status
colourGreen
titleMANDATORY

Id Number

name_as_per_id

String

30

 

Status
colourYellow
titleCONDITIONAL

Name as per Id

issued_country

String

23

 

Status
colourYellow
titleCONDITIONAL

Issued Country code as per COUNTRY master

issued_by

String

30

Status
colourYellow
titleCONDITIONAL
 

Issued By

issued_at

String

30

 

Status
colourYellow
titleCONDITIONAL

Issued At

issued_on

Date

 

 

Status
colourYellow
titleCONDITIONAL

Issued On in “YYYY-MM-DD” Format

date_of_expiry

Date

 

 

Status
colourYellow
titleCONDITIONAL

Date of Expiry in “YYYY-MM-DD” Format

visa_number

String

30

 

Status
colourYellow
titleCONDITIONAL

Visa Number

visa_expiry_date

Date

 

 

Status
colourYellow
titleCONDITIONAL

Visa Expiry Date in “YYYY-MM-DD” Format

default_status

String

30

 

Status
colourYellow
titleCONDITIONAL

Default Status

active_status

String

30

 

Status
colour
String
Yellow
30
title
 
CONDITIONAL

Active Status

id_front

Object

 

Status
colourYellow
titleCONDITIONAL
 

Data Object

base64_data

String

 

 

Status
colourYellow
titleCONDITIONAL

Base 64 Data

content_type

String

 

Status
colourYellow
titleCONDITIONAL
 

Content Type

id_back

Object

 

 

Status
colourYellow
titleCONDITIONAL

Data Object

base64_data

String

 

 

Status
colourYellow
titleCONDITIONAL

Base 64 Data

content_type

String

 

 

Status
colourYellow
titleCONDITIONAL

Content Type

addressList

Object

  yes

 

Status
colourGreen
titleMANDATORY

Data Object

address_type_id

Long

 

Status
colourYellow
titleCONDITIONAL

Address Type Id as per ADDRESS_TYPE master

building_name

String

30255

 

Status
colourYellow
titleCONDITIONAL

Building Name

street_name

String

30

 name

String

255

 

Status
colourYellow
titleCONDITIONAL

Street Name

landmark

String

30255

 

Status
colourYellow
titleCONDITIONAL

Landmark

country

String

23

 

Status
colourYellow
titleCONDITIONAL

Country

state

String

30255

 

Status
colourYellow
titleCONDITIONAL

State

district

String

30255

 

Status
colourYellow
titleCONDITIONAL

District

city

String

3060

 

Status
colourYellow
titleCONDITIONAL

City

zip

Long

 

 

Status
colourYellow
titleCONDITIONAL

Zip

mobile_number

String

3020

 

Status
colourYellow
titleCONDITIONAL

Mobile Number

status

String

30

 

Status
colourYellow
titleCONDITIONAL

Disable

customer_classification

Object

 

Status
colour
Disable
Yellow
customer_classification
title
Object
CONDITIONAL
 

no 

Data Object

customer_type_id

Long

 

 

Status
colourYellow
titleCONDITIONAL

Customer Type Id

annual_income_range_id

Long

 

 

Status
colourYellow
titleCONDITIONAL

Annual Income Range

annual_income_currency_code

String

30

 

Status
colourYellow
titleCONDITIONAL

Annual Income Currency Code

social_security_number

String

30

Status
colourYellow
titleCONDITIONAL
 

Social Security Number

tax_registration_number

Long

 

 

Status
colourYellow
titleCONDITIONAL

Tax Registration Number

txn_issued_country

String

2

 

Status
colourYellow
titleCONDITIONAL

Tax Issued Country

employer_name

String

30

 

Status
colourYellow
titleCONDITIONAL

Employer Name

employer_address

String

30

 

Status
colourYellow
titleCONDITIONAL

Employer Address

employer_phone

String

3020

 

Status
colourYellow
titleCONDITIONAL

Employer Phone

employer_ecrn

String

30

 

16

 

Status
colourYellow
titleCONDITIONAL

Employer ECRN

employer_establishment_id

String

30

 

Status
colourYellow
titleCONDITIONAL

Employer Establishment ID

risk_rating_id

Long

 

 

Status
colourYellow
titleCONDITIONAL

Risk Rating ID

compliance_category_id

Long

 

Status
colourYellow
titleCONDITIONAL
 

Compliance Category ID

last_review_date

Date

 

 

Status
colourYellow
titleCONDITIONAL

Last review Date

next_review_date

Date

 

 

Status
colourYellow
titleCONDITIONAL

Next Review Date

pep_category

Integer

 

 

Status
colourYellow
titleCONDITIONAL

Pep Category

personal_mohre_id

String

30

Status
colourYellow
titleCONDITIONAL
 

Personal Mohre Id

customer_cards

String

30

 

Status
colourYellow
titleCONDITIONAL

Customer Cards

card_number

String

30

 

Status
colourYellow
titleCONDITIONAL

Card Number

income_type

String

30

 

Status
colourYellow
titleCONDITIONAL

Income Type

profession_category

String

30

 

Status
colourYellow
titleCONDITIONAL

Profession Category

reason_for_acc

String

30

 

Status
colourYellow
titleCONDITIONAL

Reason for ACC

txn_vol_month

String

30

 

Status
colourYellow
titleCONDITIONAL

Transaction Volume Month

txn_count_month

String

30

Status
colourYellow
titleCONDITIONAL
 

Transaction Count Month

show_remarks_on_txn

Boolean

 

 

Status
colourYellow
titleCONDITIONAL

show Remarks on transaction

customer_remarks

String

30

 

Status
colourYellow
titleCONDITIONAL

Remarks on Transaction

agent_ref_no

String

30

 

Status
colourYellow
titleCONDITIONAL

Agent reference number

social_links

Object

  no

 

Status
colourYellow
titleCONDITIONAL

Data Object

social_links_id

Long

 

Status
colourYellow
titleCONDITIONAL

Social Link Id

text_field

String

30

 

Status
colourYellow
titleCONDITIONAL

Text Field

status

String

30

 

Status
colourYellow
titleCONDITIONAL

Status

first_language

String

3

 

3

 

Status
colourYellow
titleCONDITIONAL

Customer Preferred Language

marital_status

Integer

 

 

Status
colourYellow
titleCONDITIONAL

Marital Status

profile_category

Integer

 

 

Status
colourYellow
titleCONDITIONAL

Profile Category

dnfbp

Boolean

 

 

Status
colourYellow
titleCONDITIONAL

Designated Non-Financial Business and Professions

dpms

Boolean

 

 

Status
colourYellow
titleCONDITIONAL

Dealers in Precious Metals and Stones

...

API

https://{{baseUrl}}/caas/api/v2/customer/{{ecrn}}

Authorization

 Bearer Token

Method

GET

Headers

Content-Type: application/json

Payload

Code Block
None

Success Response

HttpStatusCode: 200

Code Block
languagejson
{
    "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

HttpStatusCode: 401

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

HttpStatusCode: 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45003,
    "message": "Customer not Subscribed"
}

Customer not found Failure Response

HttpStatusCode: 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45001,
    "message": "Customer not found"
}

...

Name

Data Type

Max Length

Mandatory

Description

Content-Type

String

36Yes

Status
colourGreen
titleMANDATORY

Content type

Ocp-Apim-Subscription-Key

String

32Yes

Status
colourGreen
titleMANDATORY

Subscription key

 Parameter

Name

Data Type

Max Length

Mandatory

Description

ecrn

String

20

Yes

16

Status
colourGreen
titleMANDATORY

Customer unique identification number

...

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

30100

First Name

middle_name

String

3060

Middle Name

last_name

String

3060

Last Name

preferred_name

String

30255

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

3020

Primary Mobile Number

secondary_mobile_number

String

3020

Secondary Mobile Number

email_id

String

30

Email Id

phone_number

String

3020

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

30255

Building Name

street_name

String

30255

Street Name

landmark

String

30255

Landmark

country

String

2

Country

state

String

30255

State

district

String

30255

District

city

String

3060

City

zip

Long

 

Zip

mobile_number

String

3020

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

3020

Employer Phone

employer_ecrn

String

3016

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

...

We will be calling partner API in order to update the customer status and AML status.

...