Skip to main content

FraudCheckResult

Real-time fraud detection analysis result

blockedboolean

Whether the transaction was blocked (risk_score >= 0.8)

Example: false
risk_scorenumber<double>

Cumulative risk score from all detected signals

Possible values: >= 0 and <= 1

Example: 0.25
risk_levelstring

Risk classification based on score thresholds

Possible values: [low, medium, high, critical]

Example: low
signals object[]

Individual fraud signals detected

  • Array [
  • typestring

    Signal type identifier

    Possible values: [velocity_abuse, velocity_suspicious, impossible_travel, suspicious_travel, bulk_fraud, new_customer, manual_entry, off_hours]

    Example: new_customer
    severitystring

    Signal severity level

    Possible values: [low, medium, high, critical]

    Example: low
    descriptionstring

    Human-readable explanation of the signal

    Example: First verification for this customer
    scorenumber<double>

    Contribution to total risk score

    Example: 0.1
  • ]
  • recommendationstring

    Human-readable action recommendation

    Example: Approve transaction
    degradedboolean

    True when one or more fraud sub-checks (velocity, IP/device bulk, synthetic-identity) could not run — e.g. a transient DB error — so risk_score reflects fewer signals than usual. These sub-checks fail open rather than blocking the verification, so this is what makes that visible instead of a degraded check looking clean.

    Example: false
    degraded_checksstring[]

    Which sub-checks were skipped, when degraded is true.

    Possible values: [velocity, ip_velocity, device_velocity, synthetic_identity]

    Example: []
    FraudCheckResult
    {
    "blocked": false,
    "risk_score": 0.25,
    "risk_level": "low",
    "signals": [
    {
    "type": "new_customer",
    "severity": "low",
    "description": "First verification for this customer",
    "score": 0.1
    }
    ],
    "recommendation": "Approve transaction",
    "degraded": false,
    "degraded_checks": []
    }