Documentation Index
Fetch the complete documentation index at: https://docs.dojah.io/llms.txt
Use this file to discover all available pages before exploring further.
Request
Real-time URL
[POST]
Backfill
[POST]
- You have months of transaction logs stored in your database.
- You send them via
/api/ingest/backfillso Dojah can train and update risk rules retroactively. - After backfill is complete, you switch to the real-time URL for all new events.
Headers
| Header | Type | Description |
|---|---|---|
| Authorization | string | Private/secret key. Use <key> not Bearer <key> |
Request Body Template
The tables below describe the fields available in the request body for each use case. Fields marked Required must be included in every request; all other fields are Optional but recommended for more accurate fraud scoring.Top-level Fields
| Field | Type | Description | Applies To | Required |
|---|---|---|---|---|
key | string | Your Ingest key from EasyDetect settings | Banking, Payments, Onboarding | Required |
type | string | Event type: banking, payments, or onboarding | Banking, Payments, Onboarding | Required |
event | object | Event payload containing the nested objects below | Banking, Payments, Onboarding | Required |
event.transaction
| Field | Type | Description | Applies To | Required |
|---|---|---|---|---|
id | string | Unique transaction ID | Banking, Payments | Optional |
time | string | Transaction timestamp in ISO 8601 format | Banking, Payments | Required |
amount | number | Transaction amount | Banking, Payments | Optional |
currency | string | Currency code (e.g., XAF, NGN) | Banking, Payments | Optional |
ref | string | Transaction reference | Banking, Payments | Optional |
session_id | string | Session identifier | Banking, Payments | Optional |
type | string | Transaction type: deposit, debit, credit, transfer, purchase, refund, withdrawal | Banking, Payments | Optional |
channel | string | Channel: online, mobile, atm, branch, pos | Banking, Payments | Optional |
purpose | string | Purpose: bill payment, transfer, airtime, salary payment | Banking, Payments | Optional |
source_of_funds | string | Source: employment income, savings, business, investment | Banking, Payments | Optional |
event.user
| Field | Type | Description | Applies To | Required |
|---|---|---|---|---|
user_id | string | Unique user identifier | Banking, Payments, Onboarding | Optional |
user_type | string | individual, business, government, other | Banking, Payments, Onboarding | Optional |
registration_time | string | User registration timestamp in ISO 8601 format | Banking, Payments, Onboarding | Required |
email | string | User email address | Banking, Payments, Onboarding | Optional |
name | string | User full name | Banking, Payments, Onboarding | Optional |
dob | string | Date of birth in YYYY-MM-DD format | Payments, Onboarding | Optional |
tier | string | Account tier: basic, silver, gold, platinum | Banking, Payments, Onboarding | Optional |
account_type | string | savings, checking, business, student | Banking, Payments, Onboarding | Optional |
gender | string | male, female, other | Banking, Payments, Onboarding | Optional |
balance | number | Current account balance before transaction | Banking, Payments, Onboarding | Optional |
mobile | string | User phone number | Banking, Payments, Onboarding | Optional |
last_pin_change | string | Last PIN change timestamp in ISO 8601 format | Banking, Payments, Onboarding | Optional |
last_password_change | string | Last password change timestamp in ISO 8601 format | Banking, Payments, Onboarding | Optional |
credit_score | string | User credit score | Payments, Onboarding | Optional |
employer_information | object | Employment details (annual_income, employment_status, employer_name) | Payments, Onboarding | Optional |
kyc_information | array | KYC documents, each with id_number, id_type, and country | Payments, Onboarding | Optional |
event.receiver
| Field | Type | Description | Applies To | Required |
|---|---|---|---|---|
account_name | string | Receiverβs account name | Banking | Optional |
bank_name | string | Receiverβs bank name | Banking | Optional |
account_number | string | Receiverβs account number | Banking | Optional |
country | string | Receiverβs country | Banking | Optional |
event.sender
| Field | Type | Description | Applies To | Required |
|---|---|---|---|---|
account_name | string | Senderβs account name | Banking | Optional |
bank_name | string | Senderβs bank name | Banking | Optional |
account_number | string | Senderβs account number | Banking | Optional |
country | string | Senderβs country | Banking | Optional |
event.payment
| Field | Type | Description | Applies To | Required |
|---|---|---|---|---|
payment_id | string | Unique payment identifier | Payments | Optional |
is_recurring | boolean | Whether the payment is recurring | Payments | Optional |
method_type | string | Payment method: card, ussd, transfer | Payments | Optional |
scheme | string | Card scheme (e.g., Visa, Mastercard) | Payments | Optional |
card_funding | string | credit or debit | Payments | Optional |
card_last_four | string | Last four digits of the card | Payments | Optional |
expiry_month | string | Card expiry month | Payments | Optional |
expiry_year | string | Card expiry year | Payments | Optional |
is_3ds_enabled | boolean | Whether 3D Secure is enabled | Payments | Optional |
is_card_present | boolean | Whether the physical card is present | Payments | Optional |
cvv_provided | boolean | Whether CVV was provided | Payments | Optional |
avs_passed | boolean | Whether AVS check passed | Payments | Optional |
name_on_card | string | Cardholder name | Payments | Optional |
billing_address | object | Billing address (city, street, country) | Payments | Optional |
event.merchant
| Field | Type | Description | Applies To | Required |
|---|---|---|---|---|
name | string | Merchant name | Payments | Optional |
category | string | Merchant category | Payments | Optional |
country | string | Merchant country | Payments | Optional |
event.device
| Field | Type | Description | Applies To | Required |
|---|---|---|---|---|
type | string | Device type (e.g., mobile, desktop) | Banking, Payments, Onboarding | Optional |
os | string | Operating system (e.g., Android, iOS) | Banking, Payments, Onboarding | Optional |
model | string | Device model (e.g., Pixel 7) | Banking, Payments, Onboarding | Optional |
language | string | Device language (e.g., en-US) | Banking, Payments, Onboarding | Optional |
ip_address | string | Userβs IP address | Banking, Payments, Onboarding | Optional |
device_id | string | Unique device identifier / fingerprint ID | Banking, Payments, Onboarding | Optional |
event.address
| Field | Type | Description | Applies To | Required |
|---|---|---|---|---|
city | string | City name | Banking, Payments, Onboarding | Optional |
street | string | Street address | Banking | Optional |
address1 | string | Primary address line | Payments, Onboarding | Optional |
address2 | string | Secondary address line | Payments, Onboarding | Optional |
region | string | Region or state | Payments, Onboarding | Optional |
zipcode | string | Postal / ZIP code | Payments, Onboarding | Optional |
country | string | Country name | Banking, Payments, Onboarding | Optional |
event.meta
| Field | Type | Description | Applies To | Required |
|---|---|---|---|---|
meta | array | Array of custom key-value pair objects for additional context | Banking | Optional |
Transaction Monitoring - Use cases
Banking
Request body
Payments
Request body
Onboarding
Request body
Webhook Notification Response
Response