List Suspicious Transactions
GET
/transactions/suspiciousOpen in the API playground →
Retrieve transactions flagged as suspicious by the fraud detection system.
Endpoint
GET /api/v1/transactions/suspicious
Authentication
Authorizationstringheaderrequired
Bearer token (Compliance or Admin JWT)
Query Parameters
pageintegerquerydefault:
1Page number
page_sizeintegerquerydefault:
20Records per page (max 100)
from_datestringquery
Start date (YYYY-MM-DD), defaults to 30 days ago
to_datestringquery
End date (YYYY-MM-DD), defaults to today
severitystringquerydefault:
allRisk level: low, medium, high, critical, or all
statusstringquerydefault:
allReview status: pending, under_review, cleared, confirmed, or all
subscriber_idstringquery
Filter by subscriber UUID
agent_idstringquery
Filter by agent UUID
transaction_typestringquerydefault:
allTransaction type filter
min_amountnumberquery
Minimum amount filter
max_amountnumberquery
Maximum amount filter
sort_bystringquerydefault:
created_atSort field: created_at, amount, severity, risk_score
sort_orderstringquerydefault:
descSort order: asc or desc
Response
{
"success": true,
"message": "Suspicious transactions retrieved successfully",
"data": {
"transactions": [
{
"id": "sus_abc123",
"transaction_id": "txn_xyz789",
"type": "transfer_p2p",
"amount": 500000,
"risk_score": 85,
"severity": "high",
"review_status": "pending",
"flags": ["unusual_amount", "new_recipient"],
"suspicious_indicators": [
"Amount 10x higher than average",
"First transaction to this recipient"
],
"created_at": "2025-01-15T10:30:00Z"
}
],
"pagination": {
"current_page": 1,
"page_size": 20,
"total_records": 45,
"total_pages": 3,
"has_next": true,
"has_previous": false
},
"summary": {
"total_suspicious": 45,
"pending_review": 20,
"under_review": 10,
"cleared": 12,
"confirmed_fraud": 3
}
}
}
Errors
| Code | Description |
|---|---|
| 400 | Invalid date format |
| 401 | Unauthorized |
| 403 | Insufficient permissions |
| 500 | Internal server error |