Overview
Customer
Scoring Data
Authenticate
Overview
1. Data Collection
Data our client (bank, insurance company, ecommerce company, fintech, etc.) is willing to share with InsightGenie (either transactional or collected at application stage (for a loan, insurance, credit card, etc) can be included in the overall risk assessment process and part of risk or credit scoring.

Such data may include, for example, monthly income, outstanding loans status, unpaid credit card bills, occupation, age and more.

InsightGenie will collect this data, and supplement it with the rest of data collected from smartphone and other external sources.
2. Data Extracted from our Client’s Smart Phones
In this scenario, the client’s mobile phone application may need to ask its prospective or existing end-customer to consent offering access to non-private, non-confidential smartphone information such as usage statistics of various mobile applications.

To consent access to usage statistics (if such consent is not already provided) is done in the following manner:

Show a popup message that clarifies to the end-customer why he/she should enable the permission, and that no confidential private or sensitive data will be access or analyzed

Redirect the end-customer to the system page to enable the relevant permission

The client’s mobile application will then assess the end-customer’s mobile application usage.

After collecting the mentioned data, InsightGenie can assess mobile phone data as well as external data, crunch it into a score and share with its client, after which all temporarily collected data will be removed from InsightGenie’s servers within 24h.
Customer
CreateCustomer
UpdateCustomer
GetCustomer
CreateCustomer
POST method endpoint

{baseUrl}/customer/create-customer
    
Required input parameters
Key Parameters 
Data Type
Description
fullName
String
-
phoneNumber
String
The active phone number of the user (that starts with 62, e.g. 6281122334455)
email
String
-
Optional input parameters
Key Parameters 
Data Type
Description
employerName
String
-
monthlyIncome
String
-
currentBureauScore
String
-
currentDebt
String
-
upskillingStatus
String
-
maritalStatus
String
-
educationalLevel
String
-
financialProduct
String
-
socialMediaHandle
String
-
apps
String
-
appsUsageTime
String
-
Example - Post Body

{
    "updates":{
        "fullName":"New Name for Simon Davis"
        "monthlyIncome":10000,
        "employerName":"David moo",
        "apps":[
            {
                "appName":"Grab",
                "installDate":"new Date()",
                "packageName":"Grab"
            }
        ],
        "appsUsageTime":[
            {
                "totalTime":100000,
                "packageName":"Grab"
            }
        ]
    }
}
    
Output Parameters

{
    "success": true,
    "customerId": [customerId]
}
    
UpdateCustomer
POST method endpoint

{baseUrl}/customer/create-customer?phoneNumber={phoneNumber}&email={email}
// or
{baseUrl}/customer/create-customer?customerId={customerId}
    
Required input parameters
Only what in the link/endpoint (the query params)
Optional input parameters
Key Parameters 
Data Type
Description
employerName
String
-
monthlyIncome
String
-
currentBureauScore
String
-
currentDebt
String
-
upskillingStatus
String
-
maritalStatus
String
-
educationalLevel
String
-
financialProduct
String
-
socialMediaHandle
String
-
apps
String
-
appsUsageTime
String
-
Example - Post Body

{
    "updates":{
        "fullName":"New Name for Simon Davis"
        "monthlyIncome":10000,
        "employerName":"David moo",
        "apps":[
            {
                "appName":"Grab",
                "installDate":"new Date()",
                "packageName":"Grab"
            }
        ],
        "appsUsageTime":[
            {
                "totalTime":100000,
                "packageName":"Grab"
            }
        ]
    }
}
    
Output Parameters

{
    "success": true
}
    
GetCustomer
GET method endpoint

{baseUrl}/customer/create-customer?phoneNumber={phoneNumber}&email={email}
// OR
{baseUrl}/customer/create-customer?customerId={customerId}
    
Output Parameters

{
   ["All inserted customer data"]
}
    
ScoringData
GetFinancialScore
GetSocialScore
GetLifestyleScore
GetHealthScore
GetFinancialScore
GET method endpoint

{baseUrl}/score/finance?phoneNumber={phoneNumber}&email={email}
// OR
{baseUrl}/score/finance?customerId={customerId}
    
Output Parameters
Key Parameters 
Data Type
Description
details
-
-
financialScore
-
-
Score range: 1 ~ 1,000
GetSocialScore
GET method endpoint

{baseUrl}/score/social?phoneNumber={phoneNumber}&email={email}
// OR
{baseUrl}/score/social?customerId={customerId}
    
Output Parameters
Key Parameters 
Data Type
Description
details
-
-
socialScore
-
-
Score range: 1 ~ 1,000
GetLifestyleScore
GET method endpoint

{baseUrl}/score/life-style?phoneNumber={phoneNumber}&email={email}
// OR
{baseUrl}/score/life-style?customerId={customerId}
    
Output Parameters
Key Parameters 
Data Type
Description
details
-
-
lifestyleScore
-
-
Score range: 1 ~ 1,000
GetHealthScore
GET method endpoint

{baseUrl}/score/health?phoneNumber={phoneNumber}&email={email}
//OR
{baseUrl}/score/health?customerId={customerId}
    
Output Parameters
Key Parameters 
Data Type
Description
details
-
-
healthScore
-
-
Score range: 1 ~ 1,000
Authenticate
GET method endpoint

{baseUrl}/auth/authenticate
    
Body

{
    email,
    password
}
    
Example: Authenticate (“david_miller@bankabc.com”, “fh739ry”)
Output Parameters

{
    token: "token",
    success: true
}