Transaction ScreeningTransactionsList screened transactions GET
GET
/api/v1/fraud/transaction-monitoring/transactions/

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
X-API-Key<token>

In: header

Query Parameters

customer_id?string

Filter by customer ID

end_date?string

Filter to date

Formatdate
max_amount?number

Maximum amount

min_amount?number

Minimum amount

mode?string

Filter by mode: 'sandbox' (widget/test transactions) or 'production' (API transactions)

page?integer

Page number

page_size?integer

Items per page

risk_level?string

Filter by risk level

search?string

Search query

start_date?string

Filter from date

Formatdate
status?string

Filter 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 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