POST
/
v2
/
devices
curl --request POST \
  --url https://api.sandbox.sardine.ai/v2/devices \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '{
  "sessionKey": "apidoc00-0e3a-47b3-9fea-ec72a5example",
  "payload": {
    "userIdHash": "1234abc"
  }
}'
{
  "id": "5d5e4327-af0f-4326-a91c-c02ec4be8dc8",
  "level": "low",
  "attributes": {
    "Browser": [
      "Chrome"
    ],
    "Model": [
      ""
    ],
    "OS": [
      "Mac OS X"
    ]
  },
  "signals": [
    {
      "key": "TrueOS",
      "value": "Mac/iOS"
    },
    {
      "key": "DeviceAgeHours",
      "value": "5120"
    },
    {
      "key": "TrueIP",
      "value": "107.3.145.172"
    },
    {
      "key": "VPN",
      "value": "low"
    },
    {
      "key": "Proxy",
      "value": "low"
    },
    {
      "key": "RemoteSoftwareLevel",
      "value": "low"
    },
    {
      "key": "OSAnomaly",
      "value": "low"
    },
    {
      "key": "Emulator",
      "value": "false"
    },
    {
      "key": "IpType",
      "value": "Fixed Line ISP"
    }
  ],
  "sessionKey": "apidoc00-0e3a-47b3-9fea-ec72a5example",
  "fingerprint": "2473f843-13ab-40e0-abf9-32d5ffbf38a4",
  "fingerprintConfidenceScore": 93,
  "behaviorBiometricRiskLevel": "low",
  "deviceReputation": "unknown",
  "behaviorBiometrics": {
    "hesitationPercentile": {
      "nonLtm": 0,
      "ltm": 0
    },
    "numDistractionEvents": 0,
    "fields": [
      {
        "name": "p",
        "numCopyPasteEvents": 0,
        "numClipboardEvents": 0,
        "numAutoFillEvents": 0,
        "numExpertKeyEvents": 0,
        "hesitationPercentage": 0,
        "isLTM": true,
        "timeSpendInMsEvents": [
          914
        ]
      },
      {
        "name": "u",
        "numCopyPasteEvents": 0,
        "numClipboardEvents": 0,
        "numAutoFillEvents": 0,
        "numExpertKeyEvents": 0,
        "hesitationPercentage": 0,
        "isLTM": true,
        "timeSpendInMsEvents": [
          900
        ]
      }
    ]
  },
  "bot": {
    "level": "low"
  },
  "ipLocation": {
    "city": "Palo Alto",
    "region": "California",
    "country": "US",
    "latitude": "37.44",
    "longitude": "-122.14"
  },
  "gpsLocation": {
    "city": "Palo Alto",
    "region": "California",
    "country": "US",
    "latitude": "37.44",
    "longitude": "-122.14",
    "mockLevel": "high"
  },
  "checkpoints": {
    "device": {
      "riskLevel": {
        "value": "medium",
        "ruleIds": [
          215,
          277
        ]
      }
    }
  }
}

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Headers

X-Request-Id
string

Unique identifier for the request. Only alphanumeric character and dash is allowed.

Maximum length: 72

Body

application/json
sessionKey
string
required

Identifier for the session passed from the client

Maximum length: 100
checkpoints
enum<string>[]

Name of the checkpoints to be invoked. Allowed values are device and login. Defaults to device if omitted. Please discuss with Sardine.

Available options:
device,
login
device
object

Device details

payload
object
referralCode
object

Referral code

Response

200 - application/json

Device riskiness level and associated signals

attributes
object

Attributes of the device like OS, Model & Browser. Please expand to see field description.

behaviorBiometrics
object

Behavior biometric data Signals

bot
object

The likelifood of bot being used in this session

checkpoints
object

Result of rule evaluations for each checkpoint. device checkpoint is executed by default.

deviceReputation
enum<string>

Reputation of the device across our network (eg if we have seen any fraud report for this device): "very_high_risk", "high_risk", "medium_risk", "low_medium_risk", "low_risk" or "unknown"

Available options:
very_high_risk,
high_risk,
medium_risk,
low_medium_risk,
low_risk,
unknown
fingerprint
string

Fingerprint of the device/browser at a global level, also known as SoftID or FuzzyID, based on a hash of different attributes on the device. There can be overlap, hence the related fingerprintConfidenceScore.

fingerprintConfidenceScore
integer

confidence of fingerprint being unique from 0 to 100

Required range: 0 < x < 100
gpsLocation
object

Location data got from GPS coordinate (available only if your application has user's permission to collect user's location)

id
string

Device ID. Also known as HardID or ExactID. This is a cookie that is placed on the customer's browser.

ipLocation
object

Location data got from IP Address

level
enum<string>

Riskiness of the device session: "very_high", "high", "medium", or "low". This is computed using device checkpoint.

Available options:
very_high,
high,
medium,
low,
unknown
sessionKey
string

Session Key passed by you in API request

signals
object[]

| Name | Description |Values| |--------|---------|-----------| | TrueOS | True OS of device e.g. BlueStacks Android Emulator running on Mac will get TrueOS of Mac instead of Android. |Windows, Linux/Android, Mac/iOS, Unknown| | OSAnomaly| Likelihood of OS anomaly between the TrueOS vs OS sent by the device|high/medium/low | | DeviceAgeHours | Hours since we have first seen the device. | 1| | TrueIP | True IP Address behind IP masking tools |Sample Value: 127.0.0.1| | VPN | The likelihood of the network connection being a VPN| "high", "medium", or "low" | | Proxy | The likelihood of network connection being a Proxy | "high", "medium", or "low" | | Emulator | Is the device an emulator eg Bluestacks - Android, Selenium - Web | true/false | | Rooted | Is the device rooted? (mobile SDK only) | true/false | | RemoteSoftwareLevel | Is the device controlled via Remote Software like TeamViewer, AnyDesk, etc ?| high/medium/low | | IpType | Ip address type |"Commercial", "Organization","Government", "Military", "Education", "Library", "Fixed Line ISP", "Mobile ISP", "Data Center", "Fixed Line ISP / Mobile ISP", "Invalid IP" and "Unknown" | | AccountDeviceId | Account level device ID that is resistant to minor changes; fingerprint at the user account level to help with login anomalies |123| | behaviorBiometricLevel | Riskiness from behavior|high/medium/low|