event_type and schema_version; do not assume that every response has an Identification ID or a Risk Score.
For definitions of individual fields, start with the product glossary for identifiers and risk signals, or the integration glossary for webhook envelopes, revision, level, kind, client identity and API terms.
WebhookEvent
The signature is in the
X-Shield-Signature header, not the JSON body. Verify the raw bytes before trusting any field.
Scored identification
identification.scored contains the identification’s IDs, user, IPs, device information, traffic attribution, score, signal contributions, detection flags and three per-identification High-Risk Event results.
The complete field list and example are maintained in one place: Webhook reference.
identification_idjoins the result to a check;event_iddeduplicates delivery.observed_atis the original observation time;created_atis event creation time.risk_scoreis authoritative. A weight sum is not a substitute.hreholds Account sharing, Account takeover and Impossible travel. Multi-accounting has a separate event.
Detection flags
data.detection_flags in an identification.scored webhook contains these 20 boolean keys. The weight belongs to the corresponding risk signal; the flag itself is true or false. Use the returned risk_score as the final result.
These are webhook keys. History rows expose a smaller set of flags under their own field names; see Response contracts. Read
signals for the contributions returned with a check.
WebhookSignal
One score contribution indata.signals:
name is the exported signal slug; weight is its reported contribution. Read boolean decisions from detection_flags. See signal names and weights.
High-Risk Events
For the per-identification results, readstatus before level:
A detected result has
level: "medium" or "high". An optional cluster reference links it to a published group. Do not invent a cluster ID from a request or device ID.
The multi-account group contract instead carries action, cluster_id, members and revisions. It has no identification risk_score.
History row
The History API returns{ "data": [...], "total": N }. Rows use snake_case and represent stored identifications. The API’s projection and available fields can differ from a webhook version.
The webhook column is relative to
data; its envelope has a separate created_at. History includes selected flags and optional attribution fields, rather than every field in a scored webhook. Response contracts explains these mappings and SDK normalization.
See Search identification history for pagination, authentication and examples.
Identity and context
These fields are present on every History row unless marked optional.
For the claims and verification fields inside
client_identity, see Client identity. The object separates a recognized name from evidence-supported attribution. AI detection explains how to use it with the bot flags.
Traffic attribution
These fields are optional and omitted when empty or false.Profile
Get domain profile returns the registeredDomain, remaining account volume in Weight, masked PublicKey and Secret, and CreatedAt. Manage webhook endpoints under Integration > Webhooks.
Machine-readable schema
Download the OpenAPI bundle for endpoint schemas. For webhooks, select the model by the receivedevent_type and schema_version.