curl --request POST \
--url https://api.sandbox.sardine.ai/v1/customers \
--header 'Content-Type: application/json' \
--data '
{
"flow": "<string>",
"sessionKey": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"taxId": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"dateOfBirth": "2023-12-25",
"address": {
"street1": "<string>",
"city": "<string>",
"regionCode": "<string>",
"postalCode": "<string>",
"countryCode": "<string>"
},
"transaction": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAtMillis": 123,
"amount": 123,
"itemCategory": "<string>",
"actionType": "buy",
"currencyCode": "<string>",
"paymentMethod": {
"type": "crypto",
"bank": {
"accountNumber": "<string>",
"routingNumber": "<string>",
"accountType": "checking",
"balance": 123,
"balanceCurrencyCode": "<string>"
}
}
},
"emailAddress": "[email protected]",
"isEmailVerified": true,
"phone": "<string>",
"isPhoneVerified": true,
"createdAtMills": 123,
"personalInfo": [
{
"source": "id_verification",
"firstName": "<string>",
"middleName": "<string>",
"lastName": "<string>",
"address": {
"street1": "<string>",
"street2": "<string>",
"city": "<string>",
"regionCode": "<string>",
"postalCode": "<string>",
"countryCode": "<string>",
"company": "<string>"
},
"dateOfBirth": "<string>"
}
]
}
}
'{
"sessionKey": "<string>",
"level": "low",
"status": "Success",
"customer": {
"score": 123,
"level": "low",
"signals": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"transaction": {
"level": "low",
"amlLevel": "low",
"indemnification": {
"decision": "approved",
"instantLimit": 123,
"holdAmount": 123,
"verificationCode": "<string>",
"holdTime": "<string>"
}
}
}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": "<string>",
"sessionKey": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"taxId": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"dateOfBirth": "2023-12-25",
"address": {
"street1": "<string>",
"city": "<string>",
"regionCode": "<string>",
"postalCode": "<string>",
"countryCode": "<string>"
},
"transaction": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAtMillis": 123,
"amount": 123,
"itemCategory": "<string>",
"actionType": "buy",
"currencyCode": "<string>",
"paymentMethod": {
"type": "crypto",
"bank": {
"accountNumber": "<string>",
"routingNumber": "<string>",
"accountType": "checking",
"balance": 123,
"balanceCurrencyCode": "<string>"
}
}
},
"emailAddress": "[email protected]",
"isEmailVerified": true,
"phone": "<string>",
"isPhoneVerified": true,
"createdAtMills": 123,
"personalInfo": [
{
"source": "id_verification",
"firstName": "<string>",
"middleName": "<string>",
"lastName": "<string>",
"address": {
"street1": "<string>",
"street2": "<string>",
"city": "<string>",
"regionCode": "<string>",
"postalCode": "<string>",
"countryCode": "<string>",
"company": "<string>"
},
"dateOfBirth": "<string>"
}
]
}
}
'{
"sessionKey": "<string>",
"level": "low",
"status": "Success",
"customer": {
"score": 123,
"level": "low",
"signals": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"transaction": {
"level": "low",
"amlLevel": "low",
"indemnification": {
"decision": "approved",
"instantLimit": 123,
"holdAmount": 123,
"verificationCode": "<string>",
"holdTime": "<string>"
}
}
}Merchant defined string that defines the flow the user is in
1uuid that identifies the given customer session
1Show child attributes
User ID hash. Please use the same value as passed to device intelligence SDK
1SSN or equivalent
1First name of customer
1Last name of customer
1Date of birth in YYYY-MM-DD
1Show child attributes
Street name
1City name
12 digit State or province code
1Postal or Zip code
12 digit Country code
1Show child attributes
ID to be associated with transaction
1Time of transaction in UNIX time
Transaction amount
Main item category in cart. e.g. crypto asset(ETH, BTC), gift card, alcohol, generic
1Indicates 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 13-digit ISO 4217currency code
1Show child attributes
crypto 1Show child attributes
Account number of banka account
1Routing number of bank account
1Type of account
checking, savings, other 1Last known bank balance in minor units like cents
3 digit currency code
1Email address of customer
1Set to true if email has been verified
Phone number including country
1Set 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
Show child attributes
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
Show child attributes
Street
OK
1This 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 1Success, Failure 1Show child attributes
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 11Show child attributes
transaction risk level
low, medium, high 1aml risk level
low, medium, high 1Show child attributes
approved, conditionally_approved, rejected, unknown 1This 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.
1UNIX timestamp that represents time until you which should hold part of fund