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

This is a unique identifier of the request. Use only alphanumeric characters (A-Z, a-z, 0-9) and hyphens (-).

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

Referral code

payload
object
device
object

Device details

Response

200 - application/json
Success

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
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
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
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
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 passed by you in API request

bot
object

The likelifood of bot being used in this session

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.

Was this page helpful?