Migrate from v2 to v3
Fraud API v3 (released October 14, 2026) returns risk type codes next to the fraud probability, so you can see why an IP address, device ID or user agent is flagged and block by risk type. v2 returns the probability only.
v2 remains available as a legacy API. You don’t need to do anything if you stay on v2. The v2 reference is at Fraud API v2 (legacy).
What stays the same
- The endpoint is still
GET /fraudonfraud-api.pixalate.com. - You authenticate the same way, with your API key in the
x-api-keyheader. - The query parameters are the same:
ip,deviceId,userAgentandpretty. probabilityis still in the response, and Pixalate’s threshold guidance is unchanged. See Decide when to block.- The error codes are the same:
400,401,403and5xx.
What changed
riskTypes
v3 adds riskTypes to the lookup response:
- It lists the four-digit codes associated with the values you sent during the look-back period. It can contain more than one code.
- It’s
nullwhenprobabilityis0or-1, or when a value is flagged but no risk type is available for it. It’s never an empty array.
To decode the codes, see Risk types and codes.
Quota metadata
When you call the endpoint without ip, deviceId or userAgent, both versions return your quota instead of a lookup, but the shape is different.
v2
v3
In v3, unlimited is true when your plan has no request limit, and then limit, available and expiry are null. v3 doesn’t return database.lastUpdated.
Device ID types
The v3 reference lists these deviceId types: ADID, IDFA, RIDA, MSAI, WAID, and MD5 or SHA-1 hashes of a hardware device identifier. The v2 reference also listed IDFV (Apple’s Identifier for Vendor). If you send IDFVs today, contact support@pixalate.com before you switch.
Switch to v3
Change the base URL
Replace https://fraud-api.pixalate.com/api/v2 with https://fraud-api.pixalate.com/api/v3. Keep the same path, parameters and x-api-key header.
Read riskTypes
Parse riskTypes as a nullable array of integers. Treat null as “no codes”, not as “not flagged”, and keep checking probability.
Handle -1
If your code assumes probability is never negative, handle -1, which means the value is whitelisted by Pixalate. Don’t block it.
Update quota parsing
If you read quota metadata, move from quota.available, quota.used and so on to the top-level v3 fields, and handle unlimited and null values. Remove any use of database.lastUpdated.
Add risk type rules (optional)
Block on a class (2xxx), a category (25xx) or a single type (2502), on its own or together with a probability threshold. See Block by class, category or type.