Post Customer Information
Send User information to Sardine to store theie information and create a risk profile
curl --request POST \
--url https://api.sandbox.sardine.ai/v1/customers \
--header 'Content-Type: application/json' \
--data '{
"flow": "login, onboarding,kyc-ssn",
"sessionKey": "555fdc5c-8694-4345-b724-14454f320484",
"customer": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"taxId": "778131234",
"firstName": "John",
"lastName": "Doe",
"dateOfBirth": "1990-08-15",
"address": {
"street1": "1 Main St",
"city": "Okhlahoma",
"regionCode": "OK",
"postalCode": "70438",
"countryCode": "US"
},
"transaction": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"createdAtMillis": 1616822241000,
"amount": 1000,
"itemCategory": "crypto",
"actionType": "buy",
"currencyCode": "USD",
"paymentMethod": {
"type": "crypto",
"bank": {
"accountNumber": "123456789",
"routingNumber": "1298751331",
"accountType": "checking",
"balance": 1000,
"balanceCurrencyCode": "USD"
}
}
},
"emailAddress": "user@example.com",
"isEmailVerified": true,
"phone": "+17342321234",
"isPhoneVerified": true,
"createdAtMills": 0,
"personalInfo": [
{
"source": "id_verification",
"firstName": "John",
"lastName": "Doe",
"address": {
"street1": "1 Main St",
"city": "Okhlahoma",
"regionCode": "OK",
"postalCode": "70438",
"countryCode": "US"
},
"dateOfBirth": "1980-07-15"
}
]
}
}'
{
"sessionKey": "string",
"level": "string",
"status": "string",
"customer": {
"score": 0,
"level": "string",
"signals": [
{
"key": "string",
"value": "string"
}
]
},
"transaction": {
"level": "string",
"amlLevel": "string",
"indemnification": {
"decision": "string",
"instantLimit": 0,
"holdAmount": 0,
"verificationCode": "string"
}
},
"checkpoints": {
"customer": {
"customerPurchaseLevel": {
"value": "string",
"ruleIds": [
{}
]
},
"emailLevel": {
"value": "string",
"ruleIds": [
{}
]
},
"historicalLevel": {
"value": "string",
"ruleIds": [
{}
]
},
"riskLevel": {
"value": "string",
"ruleIds": [
{}
]
}
}
}
}
Body
Merchant defined string that defines the flow the user is in
1
uuid that identifies the given customer session
1
User ID hash. Please use the same value as passed to device intelligence SDK
1
SSN or equivalent
1
First name of customer
1
Last name of customer
1
Date of birth in YYYY-MM-DD
1
Street name
1
City name
1
2 digit State or province code
1
Postal or Zip code
1
2 digit Country code
1
ID to be associated with transaction
1
Time of transaction in UNIX time
Transaction amount
Main item category in cart. e.g. crypto asset(ETH, BTC), gift card, alcohol, generic
1
Indicates the type of transaction. If you need other action types to be supported, please reach out to the Sardine team.
buy
, sell
, deposit
, exchange
, withdraw
, refund
, payment
, topup
, transfer
3-digit ISO 4217currency code
1
"crypto"
1
Account number of banka account
1
Routing number of bank account
1
Type of account
checking
, savings
, other
Last known bank balance in minor units like cents
3 digit currency code
1
Email address of customer
1
Set to true if email has been verified
Phone number including country
1
Set to true if phone has been verified via a one time code
This is time the customer was onboarded/created in your system. Please pass it as Unix timestamp in milliseconds. e.g. 1622057169587 for Wed May 22021 19:26:09
Source of personal information obtained via external third-party (non-Sardine) for verification. Discuss with Sardine before using
id_verification
, bank_verification
, phone_verification
First name
Middle name
Last name
Street
Response
1
This is the ONLY field that a merchant needs to use to make decision on fraud. This field is set by our rules and the main rule is the rule using our "customer score" model.
low
, medium
, high
, very_high
Success
, Failure
ML Risk Score for the current customer session. The ML model used to predict the score is trained on velocity and aggregation features, phone, email, bank, tax, card, IP, location, device and behavior intelligence signals. The score can be used once feedback for historical transactions has been provided.
This field is based on the signals sent in the response.
low
, medium
, high
, very_high
transaction risk level
low
, medium
, high
aml risk level
low
, medium
, high
approved
, conditionally_approved
, rejected
, unknown
This is the withdrawal amount in cents that is immediately available to the end-user. The remaining hold amount should be kept on hold on your side until the time specified by holdTime parameter below.
This is the remaining amount in cents that is available after the hold time is over. The hold time + instantLimit is the total deposit amount.
1
UNIX timestamp that represents time until you which should hold part of fund
curl --request POST \
--url https://api.sandbox.sardine.ai/v1/customers \
--header 'Content-Type: application/json' \
--data '{
"flow": "login, onboarding,kyc-ssn",
"sessionKey": "555fdc5c-8694-4345-b724-14454f320484",
"customer": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"taxId": "778131234",
"firstName": "John",
"lastName": "Doe",
"dateOfBirth": "1990-08-15",
"address": {
"street1": "1 Main St",
"city": "Okhlahoma",
"regionCode": "OK",
"postalCode": "70438",
"countryCode": "US"
},
"transaction": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"createdAtMillis": 1616822241000,
"amount": 1000,
"itemCategory": "crypto",
"actionType": "buy",
"currencyCode": "USD",
"paymentMethod": {
"type": "crypto",
"bank": {
"accountNumber": "123456789",
"routingNumber": "1298751331",
"accountType": "checking",
"balance": 1000,
"balanceCurrencyCode": "USD"
}
}
},
"emailAddress": "user@example.com",
"isEmailVerified": true,
"phone": "+17342321234",
"isPhoneVerified": true,
"createdAtMills": 0,
"personalInfo": [
{
"source": "id_verification",
"firstName": "John",
"lastName": "Doe",
"address": {
"street1": "1 Main St",
"city": "Okhlahoma",
"regionCode": "OK",
"postalCode": "70438",
"countryCode": "US"
},
"dateOfBirth": "1980-07-15"
}
]
}
}'
{
"sessionKey": "string",
"level": "string",
"status": "string",
"customer": {
"score": 0,
"level": "string",
"signals": [
{
"key": "string",
"value": "string"
}
]
},
"transaction": {
"level": "string",
"amlLevel": "string",
"indemnification": {
"decision": "string",
"instantLimit": 0,
"holdAmount": 0,
"verificationCode": "string"
}
},
"checkpoints": {
"customer": {
"customerPurchaseLevel": {
"value": "string",
"ruleIds": [
{}
]
},
"emailLevel": {
"value": "string",
"ruleIds": [
{}
]
},
"historicalLevel": {
"value": "string",
"ruleIds": [
{}
]
},
"riskLevel": {
"value": "string",
"ruleIds": [
{}
]
}
}
}
}