Chargeback triage
A cardholder disputes a $1,200 gift-card purchase. Before accepting the claim, the disputes team checks whether the account was taken over.
d = client.decide("ato", {
"disputed": {"occurred_at": dispute.at, "amount": dispute.amount, "merchant": dispute.merchant,
"device_id": dispute.device_id, "known_devices": account.devices},
"logs": account.events(days=90), # logins, resets, contact and 2FA changes, SIM swaps
"prior_undisputed_with_merchant": account.prior_purchases(dispute.merchant),
})
view = d.result["dispute_view"]
if d.decision == "DECLINE": # takeover likely
secure_account(); accept_claim(reason_code=view)
elif d.decision == "STEP_UP":
send_to_analyst(d.id, d.result["timeline"])
else:
challenge_claim(evidence=d.result["evidence"])
When the dispute resolves, label it account_takeover or first_party_misuse with feedback.