Skip to main content
GET
curl
See Evidence for how rule runs record each matched value and its source, and IP enrichment for the enriched address fields.

Authorizations

x-api-key
string
header
required

Your application's API key, from Developers -> API keys in the Business Console. The primary key has full access. A named key can be scoped: none, read or write per resource, limited to some workflows or to approved sessions, to a list of IP addresses, and to an expiry date. 401 means the key is missing, wrong, revoked or expired; 403 means the key has no access to this resource or action, or the request came from an address outside its IP list; 404 on a session route means the session is outside the key's workflows or statuses. A key without media access receives image, video and PDF URLs as null, and a key without sessions write receives session links and tokens as null. See https://docs.didit.me/console/api-keys.

Path Parameters

event_uuid
string<uuid>
required

Didit identifier of the event (event_uuid from the create, batch, list or timeline response), not your own event_id.

Response

The event with its evidence.

One monitoring event with its full envelope, enrichment and rule evidence. Every field of MonitoringEvent plus the fields below.

event_uuid
string<uuid>
required

Didit identifier of the event. Use it as {event_uuid} in the retrieve and delete calls.

event_id
string
required

Your own identifier, the idempotency key you sent.

Maximum string length: 128
event_category
enum<string>
required

Event category.

Available options:
auth,
session,
gameplay,
bonus,
affiliate,
payment,
dispute,
security,
responsible_gambling,
custom
action_type
string
required

What happened within the category, as you sent it.

Maximum string length: 128
occurred_at
string<date-time>
required

When the event happened on your side.

received_at
string<date-time>
required

When Didit accepted the event.

status
enum<string>
required

ACCEPTED: stored, no matched rule changed its standing (the normal answer for most events, and always the answer in a sandbox application, where no rules run). APPROVED: a rule matched and the score stayed under your review threshold. IN_REVIEW: a rule pushed the score over the review threshold or set the status. DECLINED: a rule declined it or the score crossed your decline threshold.

Available options:
ACCEPTED,
APPROVED,
IN_REVIEW,
DECLINED
score
integer
required

Accumulated rule score. Starts at 0; rule add_score actions move it (negative deltas are allowed).

subject_vendor_data
string
required

subject.vendor_data of the event: your id for the user or company.

Maximum string length: 255
subject_entity_type
string
required

individual or company: which kind of subject subject_vendor_data names.

Example:

"individual"

subject_uuid
string<uuid> | null
required

UUID of the user (individual) or company the event resolved to, or null when that record no longer exists.

counterparty_vendor_data
string | null
required

The other player of a P2P event (promoted from payload.counterparty_vendor_data).

Maximum string length: 255
session_id
string | null
required

session.session_id sent with the event.

Maximum string length: 255
device_fingerprint
string | null
required

device_context.fingerprint sent with the event.

Maximum string length: 255
ip_address
string | null
required

IP address of the event. On the server lane this is device_context.network_context.ip_address as you sent it; on the device lane it is the IP of the request.

Maximum string length: 64
ip_country
string | null
required

Country code of ip_address from IP enrichment, or null when the address was not enriched (missing, private, or low-value telemetry whose address was not already known).

Example:

"ES"

amount
string | null
required

Amount as a decimal string with 18 decimal places, from transaction_context.amount, payload.amount or payload.stake_amount, in that order.

Example:

"250.000000000000000000"

currency
string | null
required

Currency from transaction_context.currency or payload.currency.

Maximum string length: 10
game_id
string | null
required

Promoted from payload.game_id.

Maximum string length: 128
round_id
string | null
required

Promoted from payload.round_id.

Maximum string length: 128
bonus_id
string | null
required

Promoted from payload.bonus_id.

Maximum string length: 128
affiliate_code
string | null
required

Promoted from payload.affiliate_code.

Maximum string length: 128
payment_reference_id
string | null
required

Payment reference from transaction_context.payment_reference_id or payload.payment_reference_id.

Maximum string length: 255
retention_class
enum<string>
required

Retention class. Payment and dispute events are monetary_or_compliance; security and responsible-gambling events are risk_relevant; session.page_view, session.sdk_heartbeat, session.sdk_loaded, session.device_seen, session.bot_signal_observed, bonus.promotion_viewed and affiliate.referral_clicked are low_value; everything else is standard. An event an active rule matched is promoted to risk_relevant (never demoted).

Available options:
low_value,
standard,
risk_relevant,
monetary_or_compliance
rules_matched_count
integer
required

Number of rules that matched the event, including rules in TEST mode (which record evidence but apply no actions).

Required range: x >= 0
correlation_pending
boolean
required

true while an asynchronous rule (cross-subject correlation, or a sequence longer than 24 hours) still has to run for this event. It resolves within minutes and status, score and rules_matched_count update in place.

is_droppable
boolean
required

Whether an SDK under backpressure may drop events of this kind. false for every security, payment, dispute and responsible_gambling event and for gameplay.bet_placed, gameplay.bet_settled and gameplay.p2p_settlement.

payload
object
required

The category fields you sent in payload.

custom_values
object
required

The scalar custom_values you sent. Didit adds vpn_or_proxy_detected: true or is_data_center: true when IP enrichment flags the address and you did not set them.

device_context
object
required

The device context as stored: your device_context (including fingerprint, persistent_device_id and bot_score when sent) with network_context completed by IP enrichment (ip_country, ip_country_code, ip_city, asn_number, asn_organization, is_vpn_or_tor, is_data_center, proxy_type, connection_type) for keys you left empty.

field_sources
object
required

Field path to provenance: customer (sent by your backend), sdk (sent through the device lane) or server (derived by Didit, such as received_at and enriched network fields). Check it before acting on a match.

session_sequence
integer<int64> | null
required

session.sequence sent with the event.

table_id
string | null
required

Promoted from payload.table_id.

Maximum string length: 128
hand_id
string | null
required

Promoted from payload.hand_id.

Maximum string length: 128
match_id
string | null
required

Promoted from payload.match_id.

Maximum string length: 128
market_id
string | null
required

Promoted from payload.market_id.

Maximum string length: 128
side
string | null
required

Promoted from payload.side.

Maximum string length: 64
role
string | null
required

Promoted from payload.role.

Maximum string length: 64
net_result_amount
string | null
required

Promoted from payload.net_result_amount, as a decimal string with 18 decimal places.

Example:

"-120.000000000000000000"

payment_fingerprint
string | null
required

Promoted from payload.payment_fingerprint.

Maximum string length: 255
instrument_reference_hash
string | null
required

Promoted from payload.instrument_reference_hash.

Maximum string length: 255
withdrawal_address_hash
string | null
required

Promoted from payload.withdrawal_address_hash (or payload.destination_reference_hash).

Maximum string length: 255
dispute_id
string | null
required

Promoted from payload.dispute_id.

Maximum string length: 255
chargeback_id
string | null
required

Promoted from payload.chargeback_id.

Maximum string length: 255
changed_field
string | null
required

Promoted from payload.changed_field (security change events).

Maximum string length: 128
identity_match_ref
string | null
required

Promoted from payload.identity_match_ref (responsible-gambling registry matches).

Maximum string length: 255
schema_version
integer
required

Version of the event envelope schema. Currently 1.

Example:

1

expires_at
string<date-time> | null
required

When the event expires under its retention class and is deleted: occurred_at plus the class period (14, 30 or 90 days by default, adjustable per application). Null for monetary_or_compliance events, which follow transaction retention.

rules_evaluated_count
integer
required

Number of event rules evaluated for this event.

Required range: x >= 0
rule_runs
object[]
required

Every rule that matched the event, newest first.

ip_enrichment
object | null
required

Enrichment of the event's IP address, or null when the address was not enriched. See IP enrichment.

subject_profile
object | null
required

Cached email and phone risk signals of the subject, or null when no profile exists for the subject.

tags
string[]
required

Names of the tags attached to the event (rule add_tags actions).