Returns transactions you have screened, newest first.
Use mode to separate real traffic from testing: production returns transactions screened with a live key, sandbox those screened with a test key or through the widget. Without it you get both, which is rarely what you want on a dashboard.
Results are paginated; combine the date, amount and risk_level filters to narrow rather than paging through everything.
Authorization
ApiKeyAuth In: header
Query Parameters
Filter by customer ID
Filter to date
dateMaximum amount
Minimum amount
Filter by mode: 'sandbox' (widget/test transactions) or 'production' (API transactions)
Page number
Items per page
Filter by risk level
Search query
Filter from date
dateFilter by status
Response Body
application/json
curl -X GET "https://example.com/api/v1/fraud/transaction-monitoring/transactions/"{ "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", "customer_id": "string", "customer_name": "string", "customer_email": "user@example.com", "device_id": "string", "device_type": "string", "device_location": "string", "ip_address": "string", "ip_location": "string", "geo_mismatch": true, "geo_mismatch_distance": "string", "fraud_probability": "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_at": "2019-08-24T14:15:22Z", "review_notes": "string", "assignee": "52cf793d-61ec-4818-938e-7a539e4f8457", "assignee_name": "string", "has_alerts": true, "rules_triggered": null, "rules_triggered_count": -2147483648, "alert_types": "string", "c360_individual_id": "string", "top_flag_reason": "string", "other_open_alerts": "string", "transaction_timestamp": "2019-08-24T14:15:22Z", "is_sandbox": true, "alert_code": "string", "alert_reason": "string", "created_at": "2019-08-24T14:15:22Z" } ], "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_code values (e.g., 00 Success, 01 Not Found, 02 Unavailable).Join our developer Slack channel for real-time integration support, engineering updates, and direct Q&A with the Prembly team.
Join Slack ChannelGet screening statistics GET
Aggregate counts across your screened transactions — volumes, how they split by risk level and outcome, and which rules fire most. Scoped to your organisation.
Get a screened transaction GET
Returns one screened transaction in full: the score it was given, every rule that fired and why, the AI analysis, and any review actions taken since. Look it up by the `internal_reference` returned when the transaction was screened.