Scorift API — real-time fraud decisions in one request
Scorift is a Fraud Detection API-as-a-Service. You send a single HTTPS request containing a transaction, login, payout, or account event, and our platform returns a machine-readable decision — approve, flag, or reject — in under 50 milliseconds, with a numeric risk score and a full explanation of why that decision was made.
event, amount, user_id, device_id, ip, email, geo, metadata
What this API does
Scorift acts as a real-time risk gatekeeper for any digital transaction or account event. Instead of building and maintaining your own fraud stack — rule tooling, risk scoring, audit pipelines, and case-review workflows — you route events through our API and receive a decision your backend can act on immediately.
A typical integration looks like this:
- Capture the event — your app collects a checkout, login, transfer, payout, or signup attempt.
- Send one POST /v1/score request — pass the event type, value, and any available identifiers (user, device, IP, email, location, payment method).
- Read the decision — use the returned
actionto approve automatically, route to a manual review queue, or reject the transaction. - Audit and refine — every decision is traceable by
trace_id, reviewable in the dashboard, and adjustable through rules or webhooks without redeploying your app.
How the decision is made
Every request is evaluated in three explainable stages:
Business policies you control: allow-lists, deny-lists, velocity windows, geo restrictions, and amount thresholds. These always execute first.
Scorift scores the event against behavioural risk context spanning device, identity, network, and transaction patterns. Returns a 0–1 risk score.
Manual reviews, case decisions, and admin overrides can promote or demote the final action before it is returned to your app.
Evaluation is repeatable for the same request, versioned per tenant, and audited end-to-end. The response tells you which of your rules fired and which risk signals contributed, so the decision is never a black box.
The response contract
{
"score": 0.87, // 0.00 – 1.00 risk score
"risk_level": "high", // low | medium | high
"action": "reject", // approve | flag | reject
"signals": ["velocity", "sim_swap", "geo_mismatch"],
"rules": ["r_high_value_new_device"],
"trace_id": "trc_01HBX7YQ",
"latency_ms": 42
}action is the value your application should branch on. approve means the event can proceed; flag sends it to a review queue; reject blocks it immediately. Persist trace_id — it is the join key for webhooks, case review, audit logs, and billing.
Common use cases
- Payment fraud — approve, flag, or reject card, wallet, instant-transfer, and checkout events at the moment of authorization.
- Account security — detect account takeover, credential stuffing, and suspicious device or location changes on login and password reset.
- Payout and seller risk — hold marketplace payouts, gig-worker withdrawals, or creator payouts when new devices or high-risk signals appear.
- Onboarding — score new signups, KYC retries, and document submissions for synthetic identity or mule-account risk.
Base URLs
Production https://api.scorift.com/v1
Sandbox https://sandbox.scorift.com/v1All endpoints require an Authorization: Bearer sk_… header. Use sk_test_… against the sandbox and sk_live_… against production. The sandbox is functionally identical to production but produces no billing events or downstream side effects. See Authentication for the full policy.
Get started
- Create a Scorift account and generate a sandbox API key.
- Send your first
POST /v1/scorerequest — see the Quickstart. - Author your first rule in the dashboard or via
POST /v1/rules. - Wire up a signed webhook receiver for async events.
