Skip to main content
TRACE
/
webhook
Dummy path to describe webhook format.
curl --request TRACE \
  --url https://api.fpjs.io/webhook \
  --header 'Auth-API-Key: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "requestId": "<string>",
  "url": "<string>",
  "ip": "<string>",
  "time": "2023-11-07T05:31:56Z",
  "timestamp": 123,
  "sdk": {
    "platform": "<string>",
    "version": "<string>",
    "integrations": [
      {
        "name": "<string>",
        "version": "<string>",
        "subintegration": {
          "name": "<string>",
          "version": "<string>"
        }
      }
    ]
  },
  "triggeredBy": [
    {
      "id": "<string>",
      "name": "<string>",
      "description": "<string>"
    }
  ],
  "environmentId": "<string>",
  "tag": {},
  "ipLocation": {
    "accuracyRadius": 1,
    "latitude": 0,
    "longitude": 0,
    "postalCode": "<string>",
    "timezone": "<string>",
    "city": {
      "name": "<string>"
    },
    "country": {
      "code": "<string>",
      "name": "<string>"
    },
    "continent": {
      "code": "<string>",
      "name": "<string>"
    },
    "subdivisions": [
      {
        "isoCode": "<string>",
        "name": "<string>"
      }
    ]
  },
  "linkedId": "<string>",
  "visitorId": "<string>",
  "visitorFound": true,
  "confidence": {
    "score": 0.5,
    "revision": "<string>",
    "comment": "<string>"
  },
  "firstSeenAt": {
    "global": "2023-11-07T05:31:56Z",
    "subscription": "2023-11-07T05:31:56Z"
  },
  "lastSeenAt": {
    "global": "2023-11-07T05:31:56Z",
    "subscription": "2023-11-07T05:31:56Z"
  },
  "browserDetails": {
    "browserName": "<string>",
    "browserMajorVersion": "<string>",
    "browserFullVersion": "<string>",
    "os": "<string>",
    "osVersion": "<string>",
    "device": "<string>",
    "userAgent": "<string>"
  },
  "incognito": true,
  "clientReferrer": "<string>",
  "components": {},
  "bot": {
    "result": "notDetected",
    "type": "<string>"
  },
  "userAgent": "<string>",
  "rootApps": {
    "result": true
  },
  "emulator": {
    "result": true
  },
  "ipInfo": {
    "v4": {
      "address": "127.0.0.1",
      "geolocation": {
        "accuracyRadius": 1,
        "latitude": 0,
        "longitude": 0,
        "postalCode": "<string>",
        "timezone": "<string>",
        "city": {
          "name": "<string>"
        },
        "country": {
          "code": "<string>",
          "name": "<string>"
        },
        "continent": {
          "code": "<string>",
          "name": "<string>"
        },
        "subdivisions": [
          {
            "isoCode": "<string>",
            "name": "<string>"
          }
        ]
      },
      "asn": {
        "asn": "<string>",
        "name": "<string>",
        "network": "<string>",
        "type": "<string>"
      },
      "datacenter": {
        "result": true,
        "name": "<string>"
      }
    },
    "v6": {
      "address": "2606:4700:3108::ac42:2835",
      "geolocation": {
        "accuracyRadius": 1,
        "latitude": 0,
        "longitude": 0,
        "postalCode": "<string>",
        "timezone": "<string>",
        "city": {
          "name": "<string>"
        },
        "country": {
          "code": "<string>",
          "name": "<string>"
        },
        "continent": {
          "code": "<string>",
          "name": "<string>"
        },
        "subdivisions": [
          {
            "isoCode": "<string>",
            "name": "<string>"
          }
        ]
      },
      "asn": {
        "asn": "<string>",
        "name": "<string>",
        "network": "<string>",
        "type": "<string>"
      },
      "datacenter": {
        "result": true,
        "name": "<string>"
      }
    }
  },
  "ipBlocklist": {
    "result": true,
    "details": {
      "emailSpam": true,
      "attackSource": true
    }
  },
  "tor": {
    "result": true
  },
  "vpn": {
    "result": true,
    "confidence": "low",
    "originTimezone": "<string>",
    "originCountry": "<string>",
    "methods": {
      "timezoneMismatch": true,
      "publicVPN": true,
      "auxiliaryMobile": true,
      "osMismatch": true,
      "relay": true
    }
  },
  "proxy": {
    "result": true,
    "confidence": "low",
    "details": {
      "proxyType": "residential",
      "lastSeenAt": "2023-11-07T05:31:56Z"
    }
  },
  "tampering": {
    "result": true,
    "anomalyScore": 0.5,
    "antiDetectBrowser": true
  },
  "clonedApp": {
    "result": true
  },
  "factoryReset": {
    "time": "2023-11-07T05:31:56Z",
    "timestamp": 123
  },
  "jailbroken": {
    "result": true
  },
  "frida": {
    "result": true
  },
  "privacySettings": {
    "result": true
  },
  "virtualMachine": {
    "result": true
  },
  "rawDeviceAttributes": {},
  "highActivity": {
    "result": true,
    "dailyRequests": 2
  },
  "locationSpoofing": {
    "result": true
  },
  "suspectScore": {
    "result": 123
  },
  "remoteControl": {
    "result": true
  },
  "velocity": {
    "distinctIp": {
      "intervals": {
        "5m": 123,
        "1h": 123,
        "24h": 123
      }
    },
    "distinctLinkedId": {
      "intervals": {
        "5m": 123,
        "1h": 123,
        "24h": 123
      }
    },
    "distinctCountry": {
      "intervals": {
        "5m": 123,
        "1h": 123,
        "24h": 123
      }
    },
    "events": {
      "intervals": {
        "5m": 123,
        "1h": 123,
        "24h": 123
      }
    },
    "ipEvents": {
      "intervals": {
        "5m": 123,
        "1h": 123,
        "24h": 123
      }
    },
    "distinctIpByLinkedId": {
      "intervals": {
        "5m": 123,
        "1h": 123,
        "24h": 123
      }
    },
    "distinctVisitorIdByLinkedId": {
      "intervals": {
        "5m": 123,
        "1h": 123,
        "24h": 123
      }
    }
  },
  "developerTools": {
    "result": true
  },
  "mitmAttack": {
    "result": true
  },
  "replayed": true,
  "supplementaryIds": {
    "standard": {
      "visitorId": "<string>",
      "visitorFound": true,
      "confidence": {
        "score": 0.5,
        "revision": "<string>",
        "comment": "<string>"
      },
      "firstSeenAt": {
        "global": "2023-11-07T05:31:56Z",
        "subscription": "2023-11-07T05:31:56Z"
      },
      "lastSeenAt": {
        "global": "2023-11-07T05:31:56Z",
        "subscription": "2023-11-07T05:31:56Z"
      }
    },
    "highRecall": {
      "visitorId": "<string>",
      "visitorFound": true,
      "confidence": {
        "score": 0.5,
        "revision": "<string>",
        "comment": "<string>"
      },
      "firstSeenAt": {
        "global": "2023-11-07T05:31:56Z",
        "subscription": "2023-11-07T05:31:56Z"
      },
      "lastSeenAt": {
        "global": "2023-11-07T05:31:56Z",
        "subscription": "2023-11-07T05:31:56Z"
      }
    }
  },
  "proximity": {
    "id": "<string>",
    "precisionRadius": 10,
    "confidence": 0.5
  }
}
'

Authorizations

Auth-API-Key
string
header
required

Body

application/json
requestId
string
required

Unique identifier of the user's request.

url
string
required

Page URL from which the request was sent.

ip
string
required

IP address of the requesting browser or bot.

time
string<date-time>
required

Time expressed according to ISO 8601 in UTC format, when the request from the JS agent was made. We recommend to treat requests that are older than 2 minutes as malicious. Otherwise, request replay attacks are possible.

timestamp
integer<int64>
required

Timestamp of the event with millisecond precision in Unix time.

sdk
object
required

Contains information about the SDK used to perform the request.

triggeredBy
object[]
environmentId
string

Environment ID of the event.

tag
object

A customer-provided value or an object that was sent with identification request.

ipLocation
object
deprecated

This field is deprecated and will not return a result for applications created after January 23rd, 2024. Please use the IP Geolocation Smart signal for geolocation information.

linkedId
string

A customer-provided id that was sent with the request.

visitorId
string

String of 20 characters that uniquely identifies the visitor's browser or mobile device.

visitorFound
boolean

Attribute represents if a visitor had been identified before.

confidence
object
firstSeenAt
object
lastSeenAt
object
browserDetails
object
incognito
boolean

Flag if user used incognito session.

clientReferrer
string
components
object

It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes. Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here.

bot
object

Stores bot detection result

userAgent
string
rootApps
object
emulator
object
ipInfo
object

Details about the request IP address. Has separate fields for v4 and v6 IP address versions.

ipBlocklist
object
tor
object
vpn
object
proxy
object
tampering
object
clonedApp
object
factoryReset
object
jailbroken
object
frida
object
privacySettings
object
virtualMachine
object
rawDeviceAttributes
object

It includes 35+ raw browser identification attributes to provide Fingerprint users with even more information than our standard visitor ID provides. This enables Fingerprint users to not have to run our open-source product in conjunction with Fingerprint Pro Plus and Enterprise to get those additional attributes. Warning: The raw signals data can change at any moment as we improve the product. We cannot guarantee the internal shape of raw device attributes to be stable, so typical semantic versioning rules do not apply here. Use this data with caution without assuming a specific structure beyond the generic type provided here.

highActivity
object
locationSpoofing
object
suspectScore
object
remoteControl
object
deprecated

This signal is deprecated.

velocity
object

Sums key data points for a specific visitorId, ipAddress and linkedId at three distinct time intervals: 5 minutes, 1 hour, and 24 hours as follows:

  • Number of distinct IP addresses associated to the visitor ID.
  • Number of distinct linked IDs associated with the visitor ID.
  • Number of distinct countries associated with the visitor ID.
  • Number of identification events associated with the visitor ID.
  • Number of identification events associated with the detected IP address.
  • Number of distinct IP addresses associated with the provided linked ID.
  • Number of distinct visitor IDs associated with the provided linked ID.

The 24h interval of distinctIp, distinctLinkedId, distinctCountry, distinctIpByLinkedId and distinctVisitorIdByLinkedId will be omitted if the number of events for the visitor ID in the last 24 hours (events.intervals.['24h']) is higher than 20.000.

developerTools
object
mitmAttack
object
replayed
boolean

true if we determined that this payload was replayed, false otherwise.

supplementaryIds
object

Other identities that have been established for a given Visitor.

proximity
object

Proximity ID represents a fixed geographical zone in a discrete global grid within which the device is observed.

Response

default

Dummy for the schema