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
headerrequired

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

Body

application/json
sessionKey
string
required

Identifier for the session passed from the client

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
referralCode
object

Referral code

payload
object
device
object

Device details

Response

200 - application/json

Device riskiness level and associated signals

id
string

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

level
string

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

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

deviceReputation
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"

attributes
object

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

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|

sessionKey
string

Session Key

bot
object

The bot score of the device.

ipLocation
object

Location data got from IP Address

gpsLocation
object

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

behaviorBiometrics
object

Behavior biometric data Signals

checkpoints
object

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