API Integration Guide
FraudShield AI Engine exposes a REST API for real-time transaction scoring, alert webhook delivery, and case feedback submission. Integrate the Scoring API inline within your payment authorization flow so every transaction is evaluated before it's approved or posted.
score_contributors array and the new step_up response object.
Base URL and versioning
The API is only accessible from within your institution's internal network or via the approved API gateway. It's not exposed directly to the internet.
Authentication
All API requests must include a bearer token in the Authorization header. Tokens are issued per integration client (one token per calling system) and carry the permissions and tenant context for that client.
| Header | Value | Required |
|---|---|---|
Authorization |
Bearer {api_token} |
Required |
Content-Type |
application/json |
Required |
X-Correlation-ID |
Client-generated UUID for request tracing | Recommended |
X-Tenant-ID |
Tenant identifier (required for multi-tenant deployments) | Conditional |
API endpoints
Submit a transaction for real-time risk scoring. Call this endpoint synchronously before authorizing or posting any payment. The response contains the risk score, decision, and score contributors.
After presenting the step-up challenge to the customer, submit the challenge outcome. FraudShield re-evaluates the decision based on the result.
Submit analyst dispositions programmatically from an external case management system. Dispositions feed into the model feedback loop.
Returns the current health status of all engine components. Use for integration monitoring and alerting.
Error codes
| HTTP status | Error code | Description | Action |
|---|---|---|---|
| 400 | INVALID_REQUEST |
Request body is missing required fields or contains invalid values. | Fix the request payload. Check required fields in Model Input Features. |
| 401 | AUTH_INVALID_TOKEN |
API token is missing, expired, or revoked. | Reissue the token from the Administration console. |
| 409 | DUPLICATE_TRANSACTION |
A request with this transaction_id was already processed. Idempotency protection triggered. |
Don't re-submit the same transaction ID. The original response is returned. |
| 429 | RATE_LIMIT_EXCEEDED |
The calling client has exceeded the rate limit. | Back off and retry after the duration specified in the Retry-After header. |
| 503 | ENRICHMENT_UNAVAILABLE |
One or more enrichment providers are unavailable. Scoring continues without that enrichment (fail-open behavior). | No action required if fail-open is acceptable. Monitor enrichment provider uptime. |
| 504 | SCORING_TIMEOUT |
Scoring pipeline exceeded the request_timeout_ms limit. A fail-open APPROVE decision is returned. |
Check engine latency metrics. Consider increasing timeout or investigating enrichment provider latency. |
Rate limits
| Endpoint | Default limit | Burst allowance |
|---|---|---|
POST /api/v3/score |
500 requests/second per token | Up to 1,000 req/s for 5 seconds |
POST /api/v3/score/step-up-result |
200 requests/second per token | — |
POST /api/v3/feedback |
50 requests/second per token | — |
GET /api/v3/health |
10 requests/minute per token | — |