# ClientDeviceSnapshot

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

Point-in-time snapshot of the browser context of the client that submitted a transaction, as
observed from the request that created it.


The two header members are supplied by the client (a request header on the hosted payment page and the
virtual terminal, a request body field on the API), so neither is trustworthy evidence of
anything on its own. They exist because external fraud screening providers score on them: a
user agent is one of the inputs FraudLabs Pro and Riskified both weight, and the request that
carries no device context is scored as if it came from nowhere.



Like `ClientIpGeoSnapshot` this is a snapshot of what was observed at create time,
not a live reading. Subsequent transaction operations (capture, refund, reversal, repeat,
recurring-billing materializations) must not overwrite it.

## Fields
- `userAgent` (string): The `User-Agent` header sent by the submitting browser, or `null` when  none was observed. Null is the normal state for system-initiated transactions (recurring  billing, offline batch) and for API callers that do not send one. (nullable, max length 512)
- `acceptLanguage` (string): The `Accept-Language` header sent by the submitting browser, or  `null` when none was observed. Carried verbatim, weighting and all, because  a screening provider scores the header as sent rather than a language the platform picked  out of it. (nullable, max length 64)
- `deviceFingerprint` (string): A platform device fingerprint: a keyed hash of the user agent, the accept-language and the  network prefix of the client IP address, as 64 lowercase hexadecimal characters. Null when no  user agent was observed, which is the normal state for system-initiated transactions. (nullable, read only)

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
