Hub
Trustfull's API endpoints are quite flexible and you can request a range of services from a single endpoint
One of the possible use cases is Onboarding
What is Onboarding?
With Onboarding you can combine multiple Trustfull products to accurately score user interactions, indicating perceived risk on a 0-1000 scale.
Request
Following an example of a request with the claim "score":
curl --request POST \
--url https://api.fido.id/1.0/hub \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'x-api-key: [your_app_key]' \
--data '
{
"customer_id": "your_customer_id",
"claims": [
"phone",
"email",
"name",
"score"
],
"phone_number": "39349xxxxxxx",
"email": "t***@trustfull.com",
"first_name": "Tony",
"last_name": "Stark"
}'
Mandatory fields
Field can become mandatory depending on the provided claim.
When providing a set of claims the Trustfull product API will perform validation on multiple fields, depending on the request.
Claim Score requirements
Onboarding product can be activated only when at least two other products are included in the request
AVAILABLE CLAIMS
Claims are a way to request a combination of products:
Claim | Description |
---|---|
phone | Enable Phone Number Intelligence |
Enable Email Address Analytics | |
name | Enable Name |
device | Enable Device Detection |
browser | Enable Browser Fingerprint (Trustfull JS required) |
ip | Enable IP Address Data |
score | Enable Onboarding |
Response
Following an example of the response:
{
"resolution_id": "...",
"customer_id": "...",
"device_request_time": "...",
"webhook_url": "...",
"claims": [
"phone",
"email",
"name",
"device",
"ip",
"browser"
],
"phone": {
...
},
"email": {
...
},
"device": {
...
},
"ip": {
...
},
"browser": {
...
},
"score":{
"score": 735,
"score_cluster": "high",
"reason_codes": "RC001,TC002,TP002"
}
}
The "score" block is specific for the claim "score".
While all other products will still produce a specific score this block will display a score build using a model that takes into account all singles modules.
It's more than just a sum of the individual scores as it takes into account cross-product signals, and it's trained.
name | type |
---|---|
score | int A number ranging from 0 to 1000 ex: 649 |
score_cluster | string A cluster summarizing the score above. ex: very_low, low, review, high, very_high |
reason_codes | string Coma separated risk and trust signal for all the products. ex: RC001,TC002,TP002 For more information about reason codes you can go to Reason Codes |
For a full description of the fields you can look at the individual products:
FAQ
Why the score is not an average of all the single scores I can find in the products?
The Onboarding found under the "score" block is much more than a mathematical average of individual products score.
It takes into account "cross-product" digital signals that might indicate consistency (or inconsistency) between multiple products.
While individual product can produce a positive score strong inconsistency between product can be a solid indicator of a synthetic identity.
What happens if I don't specify the claim "score" in the hub request?
The request is valid even without the claim "score". If you don't provide the claim "score" the product Onboarding will not be active, and you will receive
only raw data and single product scores without the global identity score.
What happens if I pass the same customer_id on multiple requests?
The customer_id is needed for the identity resolution. You must provide a different customer_id for each request.
If the same customer_id is used twice you will receive a 400 error
How long does it take to get notified via the webhook endpoint?
The notification will be sent within 5 minutes of the API call. Multiple calls may be sent in case of an update, the last call will always contain the full set of information. After 5 minutes you can consider the result as final.
Why did I get a 401 "Unauthorized" response?
This may happen if you correctly populated the API key field but the key is either incorrect or not enabled.