Transaction ScreeningScreen a transaction POST
POST
/api/v1/fraud/transaction-monitoring/screen-transaction

Scores a transaction against your configured rules and returns a risk assessment. This is the entry point to transaction screening — everything else in this section reads results it produced.

The response carries the score (risk_score, risk_level, fraud_probability), the outcome (status), and which of your rules fired (rules_triggered, rules_triggered_count). Keep internal_reference — it is how you fetch the transaction again later.

Returns 201: screening creates a stored transaction record, it does not merely evaluate one.

Send a sandbox key (test_sk_ / test_pk_) to screen without affecting your production data; sandbox results are filtered out of the live transaction list by the mode parameter.

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Request Body

TypeScript Definitions

Use the request body type in TypeScript.

Serializer for screening a transaction.

Response Body

application/json

curl -X POST "https://example.com/api/v1/fraud/transaction-monitoring/screen-transaction" \  -H "Content-Type: application/json" \  -d '{    "transaction_id": "TXN-12345",    "amount": 1000,    "currency": "USD",    "transaction_type": "purchase",    "customer_id": "CUST-001",    "customer_name": "John Doe",    "customer_email": "john@example.com",    "merchant": "Amazon",    "device_type": "mobile",    "ip_address": "192.168.1.1"  }'
{  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "transaction_id": "string",    "internal_reference": "string",    "amount": "string",    "currency": "str",    "transaction_type": "debit",    "transaction_type_display": "string",    "category": "string",    "merchant": "string",    "notes": "string",    "payment_method": "string",    "customer_id": "string",    "customer_name": "string",    "customer_email": "user@example.com",    "customer_transaction_count": -2147483648,    "customer_average_amount": "string",    "sender_account_number": "string",    "beneficiary_account_number": "string",    "device_id": "string",    "device_type": "string",    "device_location": "string",    "device_location_lat": "string",    "device_location_lng": "string",    "ip_address": "string",    "ip_location": "string",    "ip_location_lat": "string",    "ip_location_lng": "string",    "user_agent": "string",    "geo_mismatch": true,    "geo_mismatch_distance": "string",    "fraud_probability": "string",    "ml_model_version": "string",    "ml_detection_reason": "string",    "risk_score": -2147483648,    "risk_level": "critical",    "risk_level_display": "string",    "status": "approved",    "status_display": "string",    "reviewed_by": "92ab4dbc-1b27-40ce-b24b-7dde8f4709be",    "reviewed_by_name": "string",    "reviewed_by_email": "user@example.com",    "reviewed_at": "2019-08-24T14:15:22Z",    "review_notes": "string",    "assignee": "52cf793d-61ec-4818-938e-7a539e4f8457",    "assignee_name": "string",    "rules_triggered": null,    "rules_triggered_details": "string",    "rules_triggered_count": -2147483648,    "risk_score_breakdown": "string",    "sanctions_screening": "string",    "crypto_screening": "string",    "digital_footprint": "string",    "notes_screening": "string",    "adverse_media_screening": "string",    "received_data": "string",    "customer_blacklist": "string",    "device_session": "string",    "c360_individual": "string",    "c360_business": "string",    "customer_open_alerts": "string",    "customer_history": "string",    "linked_cases": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "case_number": "string",        "title": "string",        "description": "string",        "case_type": "fraud",        "case_type_display": "string",        "priority": "low",        "priority_display": "string",        "status": "open",        "status_display": "string",        "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",        "created_by_name": "string",        "assignee": "52cf793d-61ec-4818-938e-7a539e4f8457",        "assignee_name": "string",        "opened_at": "2019-08-24T14:15:22Z",        "resolved_at": "2019-08-24T14:15:22Z",        "closed_at": "2019-08-24T14:15:22Z",        "created_at": "2019-08-24T14:15:22Z"      }    ],    "transaction_timestamp": "2019-08-24T14:15:22Z",    "created_at": "2019-08-24T14:15:22Z",    "updated_at": "2019-08-24T14:15:22Z",    "is_new_device": true,    "is_velocity_spike": true,    "is_sandbox": true,    "has_alerts": true,    "alert_code": "string",    "alert_reason": "string",    "metadata": null  },  "status": true,  "message": "Request successful.",  "errors": {},  "meta": {    "timestamp": "2019-08-24T14:15:22Z",    "version": "v1",    "request_id": "string"  },  "pagination": {    "page": 0,    "page_size": 0,    "total_pages": 0,    "total_items": 0  }}
Response Codes & Statuses: Prembly API responses include custom response_code values (e.g., 00 Success, 01 Not Found, 02 Unavailable).
View Response Codes Guide
Prembly Slack Community

Join our developer Slack channel for real-time integration support, engineering updates, and direct Q&A with the Prembly team.

Join Slack Channel