Skip to main content

Transactions

Transactions represent financial or interaction events that you want PredictaID to monitor for risk, alerts, and compliance review.

Overview​

For new integrations, submit transactions through the KYT ingest endpoint. PredictaID queues the event, evaluates it against configured rules/rulesets, enriches evidence when available, and emits webhook events as processing advances.

The HTTP response confirms receipt. Final processing and review status are asynchronous.

Preferred Endpoint​

Ingest KYT Transaction​

POST /kyt/transactions/ingest
Content-Type: application/json
x-client-id: client_abc123
x-client-secret: your_client_secret

Request Body​

{
"transactionId": "order_100045",
"externalCustomerId": "customer_789",
"cpfCnpj": "***.014.426-**",
"type": "PIX_TRANSFER",
"channel": "MOBILE_APP",
"amount": 1250.75,
"currency": "BRL",
"occurredAt": "2026-05-06T13:30:00.000Z",
"origin": {
"name": "Origin Customer",
"cpfCnpj": "***.014.426-**",
"accountReference": "acct_origin_001",
"country": "BR"
},
"destination": {
"name": "Destination Customer",
"cpfCnpj": "***.000.000-**",
"accountReference": "acct_dest_001",
"country": "BR"
},
"metadata": {
"deviceId": "device_123",
"ipAddress": "203.0.113.10"
}
}

Required Fields​

FieldDescription
transactionIdStable transaction ID from your system.
typeBusiness type, such as PIX_TRANSFER, CARD_PURCHASE, or ACCOUNT_CREDIT.
channelOrigin channel, such as WEB, MOBILE_APP, or BACKOFFICE.
amountPositive amount.
currencyCurrency code.
occurredAtISO datetime when the transaction occurred.
originOrigin participant object.
destinationDestination participant object.

Participant objects can include name, cpfCnpj, accountReference, bankReference, walletReference, country, and metadata.

Response​

{
"data": {
"transactionId": "order_100045",
"status": "QUEUED",
"accepted": true,
"duplicate": false,
"requestId": "req_01HX...",
"correlationId": "corr_01HX..."
},
"error": null
}

New submissions return 202 Accepted. Duplicate replays can return 200 OK with duplicate: true.

Webhooks​

Subscribe to KYT events to receive processing results:

  • kyt.transaction.queued
  • kyt.transaction.pipeline.completed
  • kyt.transaction.dead_lettered

See Webhooks and Webhook Events Reference.

Legacy Endpoint​

Older integrations can still use:

POST /transactions

The legacy endpoint accepts a simpler customer/amount/metadata payload and is kept for backward compatibility. New transaction-monitoring implementations should prefer POST /kyt/transactions/ingest.

Risk Result Semantics​

A numeric score is not always a final approval signal. If the score composition is partial, missing, inconsistent, or lacks evidence/audit context, the dashboard marks it as non-defensible and can require manual review.

See Compliance Workbench for how analysts interpret review states, PEP hits, evidence, and audit blockers.