Transaction ScreeningTransactionsGet a screened transaction GET
GET
/api/v1/fraud/transaction-monitoring/transactions/{transaction_id}/

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.

Authorization

ApiKeyAuth
X-API-Key<token>

In: header

Path Parameters

transaction_id*string
Formatuuid

Response Body

application/json

curl -X GET "https://example.com/api/v1/fraud/transaction-monitoring/transactions/497f6eca-6276-4993-bfeb-53cbbbba6f08/"
{  "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

List screened transactions GET

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.

Submit candidate form POST

Submits a candidate's completed background check form. Takes no API key — the caller is whichever page the candidate filled in, identified only by the `request_key` issued when the request was created. **Which page that is depends on the `callback_url` you set when creating the request.** Leave it pointing at the Prembly-hosted form and the candidate is sent there, and you need not call this endpoint at all. Point it at a page of your own and you are hosting the form: you collect the candidate's details and post them here yourself. ### If you host the form You take on the obligations that come with collecting this data. The form gathers personal information — identity, address, employment and education history, and named references — so you are responsible for obtaining the candidate's consent and for telling them what the data will be used for, before you submit it. This endpoint performs no consent check and will accept whatever it is given. Consent to the background check itself is captured later in the provider's own flow and reported back as a `consent_signed` webhook event; that is a separate step and does not cover your collection of the data here. Your page must also be served from the host you registered as `callback_url`. A `redirect_url` on an unrecognised host is ignored, because these endpoints are unauthenticated and honouring one would be an open redirect. ### Submitting Accepts JSON or `multipart/form-data`. Inline file blobs inside `request_data` are converted to storage URLs before the verification engine is called; multipart file fields on the same request are stored and replaced with URLs. Submitting twice for the same `request_key` is rejected.