The evaluation object
Attributes
id string
The unique identifier of the evaluation.
action string
The action that was evaluated. One of login, signup, access, or a custom action string.
verdict string
The verdict of the evaluation.
allow
The action should be allowed.
challenge
The action should require a challenge. A challenge object will be present, and redirect carries the URL to the hosted challenge page.
deny
The action should be blocked.
review
The action is held for a person. A review object is present, and the decision arrives on the review.decided webhook.
suspend
The user has been suspended. Block until the suspension is lifted.
add_to_list
The matched value was added to a list. Honor the action; the list change is already applied.
remove_from_list
The matched value was removed from a list. Honor the action.
reasons array
The reasons that contributed to the verdict.
redirect string (optional)
When the verdict is challenge, the URL to the hosted challenge page. Navigate the user here to begin the challenge.
user object (optional)
The end user the evaluation is bound to. See The user object.
challenge object (optional)
The challenge that was issued, when the verdict is challenge.
challenge.id string
The challenge identifier. Use it with getChallenge to fetch full state.
challenge.status string
The current status of the challenge.
challenge.type string
The challenge category (for example, fake_account, account_sharing).
policy object (optional)
The policy that matched.
policy.id string
The policy identifier.
policy.name string
The policy's display name as configured in the Rupt dashboard.
policy.action object (deprecated)
The verdict the policy applied, e.g. { "type": "challenge" }. Deprecated: kept for backward compatibility after policy actions were renamed to verdicts. Read the top-level verdict instead, which always carries the same value.
fingerprint object (optional)
The fingerprint resolved for the request.
fingerprint.id string
The fingerprint identifier.
fingerprint.confidence number
Match confidence between 0 and 1.
geolocation object (optional)
Coarse geolocation data resolved from the IP. Includes city, region, country, country_code, ip, and a security sub-object with vpn, proxy, tor, hosting flags.
device string (optional)
The identifier of the device tied to this evaluation, when the action created or referenced one.
access string (optional)
The identifier of the access record tied to this evaluation, when applicable (typically only for access actions).
risks array (optional)
Risks detected during the evaluation. Each has id (the risk's own identifier), definition (the id of the risk definition it was raised against, used to key off the risk type), name (the risk's display name), severity, score, and indicators.
metadata object (optional)
The custom metadata your application attached when it evaluated the action.
checks object (optional)
A snapshot of the boolean and numeric checks the policy engine evaluated.
content object (optional)
What the content check found, when the evaluation was created with a content block. See evaluate an action. The text itself is not echoed back.
content.type string
The content type. text.
content.id string (optional)
Your id for the content, as passed in.
content.conversation string (optional)
The conversation id, as passed in.
content.status string
reviewed when the check ran, unavailable when it could not finish inside its budget and the policies ran on the account checks alone.
content.flagged boolean
Whether at least one category applied.
content.severity string (optional)
The highest severity across categories: low, medium, high or maximum.
content.confidence number (optional)
The highest confidence across categories, 0 to 1.
content.categories array
Each has name, severity, confidence and an optional evidence quote copied from the text. See content moderation for the category list.
content.summary string (optional)
One sentence describing what the content does.
content.language string (optional)
The ISO 639-1 code of the text's language.
review object (optional)
Present when the verdict is review.
review.status string
pending until someone decides, then decided.
review.decision string (optional)
allow or deny, once decided.
review.decided_at date (optional)
When the decision was made.
review.note string (optional)
The reviewer's note.
consumed boolean (optional)
Whether the evaluation has been consumed. See consume an evaluation.
consumed_at date (optional)
When the evaluation was consumed, if it has been.
createdAt date
When the evaluation was created.
updatedAt date
When the evaluation was last updated.
{
"id": "649873be6e8b6f9b33722a0c",
"action": "login",
"verdict": "challenge",
"reasons": ["new_fingerprint", "new_ip"],
"redirect": "https://trust.rupt.dev/?challenge=649873be6e8b6f9b33722a0c",
"user": {
"rupt_id": "649873be6e8b6f9b33722a0c",
"id": "external_account_id",
"email": "user@example.com",
"phone": "+15551234567",
"suspended": false
},
"challenge": {
"id": "649873be6e8b6f9b33722a0c",
"status": "created",
"type": "account_takeover"
},
"policy": {
"id": "649873be6e8b6f9b33722a0c",
"name": "Challenge new fingerprints",
"action": { "type": "challenge" }
},
"fingerprint": {
"id": "649873be6e8b6f9b33722a0c",
"confidence": 0.97
},
"geolocation": {
"city": "San Francisco",
"region": "CA",
"country": "United States",
"country_code": "US",
"ip": "1.2.3.4",
"security": { "vpn": false, "proxy": false, "tor": false, "hosting": false }
},
"risks": [
{
"id": "649873be6e8b6f9b33722a0c",
"definition": "64pol1cy0000000000000abc",
"name": "ato",
"severity": "low",
"score": 3,
"indicators": ["new_fingerprint", "new_ip"]
}
],
"metadata": { "key": "value" },
"createdAt": "2021-09-01T00:00:00.000Z",
"updatedAt": "2021-09-01T00:00:00.000Z"
}