# Submit transaction for screening Use this endpoint to submit transaction data for screening. The system analyzes the payment parameters against your selected ruleset_id and delivers the result asynchronously to your callback_url. To identify the customer, you must provide either an internal applicant_id or your external_applicant_id. Endpoint: POST /services/transaction-screening Version: 1.0 Security: API-Key ## Request fields (application/json): - `applicant_id` (string) A unique identifier of an applicant, that is assigned by our system after an applicant object was created with a “Create an applicant” request - `external_applicant_id` (string,null) A unique identifier of your user in your system - `external_applicant_registered_at` (string) The date and time of user registration in the customer's system. Must be in UTC and follow the YYYY-MM-DD hh:mm:ss format. Cannot be a future date - `transaction` (object) - `transaction.direction` (string) Direction of the transaction (relative to user's account). Value must be in lowercase Enum: "incoming", "outgoing" - `transaction.amount` (string) Exact amount of the transaction stored as decimal(36,18). Must be sent as a string to preserve 18-decimal precision and prevent floating-point errors - `transaction.asset` (string) Ticker symbol of the asset. Use ISO 4217 for fiat (e.g., USD) or common ticker symbols for crypto (e.g., BTC, USDT, stETH) - `transaction.created_at` (string) The date and time when the transaction was created in the customer's system. Must be in UTC and follow the YYYY-MM-DD hh:mm:ss format. Cannot be a future date - `ruleset_id` (string) The unique 36-character hexadecimal identifier of the screening ruleset. This ID is automatically generated after you create a ruleset in the Dashboard. It determines which ruleset will be applied to the transaction ## Response 200 fields (application/json): - `status` (string) Example: "ok" - `data` (object) - `data.service_request_id` (string) Example: "6bff21e17da144418b7643267ba4502930a9" ## Response 400 fields (application/json): - `type` (string) Example: "bad_request" - `errors` (array) ## Response 402 fields (application/json): - `type` (string) Example: "insufficient_funds" - `errors` (array) ## Response 500 fields (application/json): - `type` (string) Example: "internal_server" - `errors` (array)