Navigation

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.

Possible enum values
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.

The evaluation object
{
  "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"
}