Skip to main content
Once you can verify identity, layer in intelligence. Trust, Shield, and Detect share the same device and network signal model, so you collect context once and reuse it. For the conceptual differences, see Identity intelligence.

The shared payload

Each call accepts the customer’s mobileNumber, your metadataId, a sessionId, and two signal objects:
{
  "mobileNumber": "+962791234567",
  "metadataId": "order-9921",
  "sessionId": "sess-abc123",
  "sdkSessionId": "b1f2c3d4-…",
  "device": {
    "platform": "android",
    "osVersion": "14",
    "model": "Pixel 8",
    "appVersion": "3.2.1",
    "sdkVersion": "1.1.0",
    "isRooted": false,
    "isEmulator": false,
    "vpnDetected": false,
    "proxyDetected": false,
    "appIntegrityStatus": "PASS",
    "deviceId": "device-hash-…"
  },
  "network": {
    "ipAddress": "5.10.20.30",
    "countryCode": "JO",
    "operator": "ZAIN_JO",
    "connectionType": "cellular"
  }
}
Always include the sdkSessionId from the verification when you have it. It lets Shield and Detect compare the live request against the device context captured at verification time — powering the consistency signals below.

Trust — a score for the decision

curl -X POST https://service.authmatech.com/v1/api/trust/score \
  -H "X-API-KEY: YOUR_API_KEY" -H "X-CLIENT-ID: YOUR_CLIENT_ID" \
  -H "Content-Type: application/json" \
  -d @signals.json
Returns a trustScore (0–100), a confidence band, a recommendation, and a breakdown of component scores. Drop trustScore into the rules you already run, or branch on recommendation directly. See POST /v1/api/trust/score.

Shield — a decision for the action

curl -X POST https://service.authmatech.com/v1/api/shield/assess \
  -H "X-API-KEY: YOUR_API_KEY" -H "X-CLIENT-ID: YOUR_CLIENT_ID" \
  -H "Content-Type: application/json" \
  -d @signals.json
Returns a decisionALLOW, CHALLENGE, REVIEW, or BLOCK — with a riskScore, reasonCodes, and consistency signals (deviceConsistencyLevel, operatorConsistencyLevel, sdkVerified). Wire the decision straight into your gate:
const { decision } = (await assess(signals)).data;
switch (decision) {
  case 'ALLOW':     return proceed();
  case 'CHALLENGE': return stepUp();      // e.g. re-verify or 2FA
  case 'REVIEW':    return queueForOps();
  case 'BLOCK':     return reject();
}
See POST /v1/api/shield/assess.

Detect — patterns over time

curl -X POST https://service.authmatech.com/v1/api/detect/analyze \
  -H "X-API-KEY: YOUR_API_KEY" -H "X-CLIENT-ID: YOUR_CLIENT_ID" \
  -H "Content-Type: application/json" \
  -d @signals.json
Returns a list of anomalies (multi-account, velocity spike, repeated failures, geography shifts), an anomalyScore, and a recommendedAction. Detect is ideal for fraud-ops dashboards and asynchronous review rather than blocking a single request. See POST /v1/api/detect/analyze.

A common composition

Call Shield inline for the gate, and run Detect continuously to catch slow-building abuse your inline checks won’t see in a single request.
Each product must be enabled for your account. A disabled product returns 400 Bad Request with a message. Contact sales@authmatech.com to enable Trust, Shield, or Detect.