> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtenir un esdeveniment de monitoratge: API

> Didit: obté un esdeveniment de monitoratge amb payload, dispositiu, IP, senyals en caché, etiquetes i evidència de regles.

Prompt de l'API per obtenir un esdeveniment de monitoratge
Copia el prompt al porta-retalls

<pre>
  \`Retrieve one monitoring event from Didit with its full envelope, enrichment and rule evidence.

  Endpoint:
  GET [https://verification.didit.me/v3/events/\{event\_uuid}/](https://verification.didit.me/v3/events/\{event_uuid}/)

  Authentication:
  Use the x-api-key header with my Didit API key. A scoped key needs transactions: read.

  Goal:

  * Show the event detail in my back office or an investigation tool: what was sent, what Didit derived, and why a rule matched.

  Behavior:

  * event\_uuid is the Didit id returned by the create, batch, list and timeline calls (not my own event\_id).
  * Returns every summary field of the list call plus payload, custom\_values, device\_context, field\_sources, the promoted domain fields (hand\_id, dispute\_id, chargeback\_id, withdrawal\_address\_hash, changed\_field, ...), expires\_at, rules\_evaluated\_count, rule\_runs, ip\_enrichment, subject\_profile and tags.
  * field\_sources maps each field path to customer (sent by my backend), sdk (sent by the device lane) or server (derived by Didit, such as received\_at and IP enrichment).
  * While correlation\_pending is true an asynchronous rule still has to run; read the event again later for the final status, score and rule\_runs.
  * ip\_enrichment and subject\_profile are null when nothing is known.

  Example call:
  curl -X GET "[https://verification.didit.me/v3/events/11111111-2222-3333-4444-555555555555/](https://verification.didit.me/v3/events/11111111-2222-3333-4444-555555555555/)" \
  -H "x-api-key: YOUR\_API\_KEY"

  What to read from the response:

  * status, score, rules\_matched\_count.
  * rule\_runs\[] - one per matching rule: rule\_uuid, rule\_title, library\_key, mode (ACTIVE or TEST), severity, matched (always true), score\_delta, action\_summary, is\_async, matched\_payload (the conditions and aggregations that matched, with expected and observed values) and created\_at.
  * ip\_enrichment - ip\_country\_code, ip\_city, asn\_number, asn\_organization, is\_vpn\_or\_tor, is\_data\_center, proxy\_type, last\_enriched\_at.
  * field\_sources - trust signal for each value before acting on a match.
  * tags - names of the tags rules attached.

  Failure modes:

  * 401 - the API key has expired.
  * 403 - missing API key (a wrong, revoked or expired key gets 401), or a scoped key without transactions: read.
  * 404 - no event with this event\_uuid in the application (never stored, deleted, or another application's).

  Side effects: none. This is a pure read.

  For the full integration shape, see /integration/integration-prompt.\`
</pre>

Enganxa a

Consulta [Evidència](https://docs.didit.me/ca/transaction-monitoring/event-rules.md#evidència) per saber com les execucions de regles registren cada valor coincident i la seva font, i [Enriquiment d'IP](https://docs.didit.me/ca/transaction-monitoring/ip-enrichment.md) per als camps d'adreça enriquits.


## OpenAPI

````yaml ca/openapi-25.json GET /v3/events/{event_uuid}/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de verificació d'identitat. Autentica't amb la capçalera x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/events/{event_uuid}/:
    get:
      tags:
        - Monitoring Events
      summary: Obtenir l'esdeveniment de monitoratge
      description: >-
        Recupera un esdeveniment de monitoratge amb tot el que retorna la llista
        més el payload, els valors personalitzats, el context del dispositiu, la
        procedència dels camps (`field_sources`), els camps de domini
        promocionats, `expires_at`, cada execució de regla coincident amb les
        seves evidències, l'enriquiment d'IP i les etiquetes que han afegit les
        regles. Mentre `correlation_pending` sigui `true`, encara s'ha
        d'executar una regla asíncrona; torna a llegir l'esdeveniment al cap
        d'uns minuts per obtenir els valors finals de `status`, `score` i
        `rule_runs`. Les lectures funcionen tant si la ingesta d'esdeveniments
        està activada com si no. Una clau d'API amb abast limitat necessita
        `transactions: read`. Consulta
        [Evidència](https://docs.didit.me/ca/transaction-monitoring/event-rules#evidència)
        i [Enriquiment
        d'IP](https://docs.didit.me/ca/transaction-monitoring/ip-enrichment).
      operationId: get_monitoring_event
      parameters:
        - name: event_uuid
          in: path
          required: true
          description: >-
            Identificador de Didit de l'esdeveniment (`event_uuid` de la
            resposta de creació, lot, llistat o línia temporal), no el teu propi
            `event_id`.
          schema:
            type: string
            format: uuid
          example: 11111111-2222-3333-4444-555555555555
      responses:
        '200':
          description: L'esdeveniment amb les seves evidències.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitoringEventDetail'
              examples:
                Login from a VPN, in review:
                  value:
                    event_uuid: 33333333-4444-5555-6666-777777777777
                    event_id: login-2026-10-17-000001
                    event_category: auth
                    action_type: login
                    occurred_at: '2026-10-17T09:15:02.481000Z'
                    received_at: '2026-10-17T09:15:02.903114Z'
                    status: IN_REVIEW
                    score: 40
                    subject_vendor_data: user-42
                    subject_entity_type: individual
                    subject_uuid: 66666666-7777-8888-9999-000000000000
                    counterparty_vendor_data: null
                    session_id: web-session-abc
                    device_fingerprint: fp-a8c1
                    ip_address: 203.0.113.42
                    ip_country: ES
                    amount: null
                    currency: null
                    game_id: null
                    round_id: null
                    bonus_id: null
                    affiliate_code: null
                    payment_reference_id: null
                    retention_class: risk_relevant
                    rules_matched_count: 1
                    correlation_pending: false
                    is_droppable: true
                    payload:
                      method: password
                    custom_values:
                      vip_tier: gold
                      vpn_or_proxy_detected: true
                    device_context:
                      fingerprint: fp-a8c1
                      network_context:
                        ip_address: 203.0.113.42
                        ip_country: Spain
                        ip_country_code: ES
                        ip_city: Madrid
                        asn_number: 64500
                        asn_organization: Example Networks
                        is_vpn_or_tor: true
                        is_data_center: false
                    field_sources:
                      subject.vendor_data: customer
                      event_category: customer
                      action_type: customer
                      occurred_at: customer
                      received_at: server
                      payload.method: customer
                      session.session_id: customer
                      session.sequence: customer
                      device_context.fingerprint: customer
                      device_context.network_context.ip_address: customer
                      device_context.network_context.ip_country: server
                      device_context.network_context.ip_country_code: server
                      device_context.network_context.ip_city: server
                      device_context.network_context.asn_number: server
                      device_context.network_context.asn_organization: server
                      device_context.network_context.is_vpn_or_tor: server
                      device_context.network_context.is_data_center: server
                    session_sequence: 142
                    table_id: null
                    hand_id: null
                    match_id: null
                    market_id: null
                    side: null
                    role: null
                    net_result_amount: null
                    payment_fingerprint: null
                    instrument_reference_hash: null
                    withdrawal_address_hash: null
                    dispute_id: null
                    chargeback_id: null
                    changed_field: null
                    identity_match_ref: null
                    schema_version: 1
                    expires_at: '2027-01-15T09:15:02.481000Z'
                    rules_evaluated_count: 6
                    rule_runs:
                      - rule_uuid: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
                        rule_title: Login from VPN or Tor
                        library_key: null
                        matched: true
                        mode: ACTIVE
                        is_async: false
                        severity: MEDIUM
                        score_delta: 40
                        action_summary: score +40; add_tag:VPN_LOGIN
                        matched_payload:
                          - field: event.ip.is_vpn_or_tor
                            operator: eq
                            expected_value: true
                            current_value: true
                            matched: true
                            group_index: null
                            group_logic: AND
                            field_source: server
                        created_at: '2026-10-17T09:15:02.951207Z'
                    ip_enrichment:
                      ip_country_code: ES
                      ip_city: Madrid
                      asn_number: 64500
                      asn_organization: Example Networks
                      is_vpn_or_tor: true
                      is_data_center: false
                      proxy_type: null
                      last_enriched_at: '2026-10-17T09:15:02.910442Z'
                    subject_profile: null
                    tags:
                      - VPN_LOGIN
        '401':
          description: >-
            La clau d'API amb abast ha caducat. Només una clau caducada rep
            `401`; una clau absent o no vàlida rep `403`.
          content:
            application/json:
              examples:
                Expired key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Falta la capçalera `x-api-key` (una clau incorrecta, revocada o
            caducada rep un `401`), una clau amb àmbit sense `transactions:
            read`, una clau limitada a determinats fluxos de treball o a
            sessions aprovades (aquesta clau mai no accedeix a dades de
            monitoratge de transaccions), o una sol·licitud des de fora de la
            llista d'adreces IP permeses de la clau.
          content:
            application/json:
              examples:
                Missing or invalid API key:
                  value:
                    detail: You do not have permission to perform this action.
                Scoped key without access:
                  value:
                    detail: This API key has no read access to transactions.
                Key limited to workflows or approved sessions:
                  value:
                    detail: >-
                      This API key only reaches sessions inside its workflow or
                      status limits, so it can't use this endpoint.
                IP not allowed:
                  value:
                    detail: This API key can't be used from this IP address.
        '404':
          description: >-
            No existeix cap esdeveniment amb aquest `event_uuid` a l'aplicació:
            mai no s'ha emmagatzemat, s'ha suprimit o pertany a una altra
            aplicació. Un segment de ruta que no sigui un UUID no coincideix amb
            la ruta i també retorna `404`.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: No MonitoringEvent matches the given query.
        '429':
          description: >-
            S'ha superat el límit de freqüència: les sol·licituds `GET`
            comparteixen un pressupost de 600 sol·licituds per minut per clau
            d'API. Espera els segons indicats a `Retry-After` i reintenta-ho.
          headers:
            Retry-After:
              description: Segons que cal esperar abans de reintentar.
              schema:
                type: integer
                minimum: 1
                example: 30
          content:
            application/json:
              examples:
                Throttled:
                  value:
                    detail: >-
                      GET request rate limit exceeded. You can make up to 600
                      requests per minute.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/events/11111111-2222-3333-4444-555555555555/'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.monitoring_events.retrieve(
                "11111111-2222-3333-4444-555555555555",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: >-
            import Didit from "@didit-protocol/sdk-node";


            // Reads DIDIT_API_KEY.

            const didit = new Didit();


            const result = await
            didit.monitoringEvents.retrieve("11111111-2222-3333-4444-555555555555");

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.MonitoringEvents.Retrieve(ctx, \"11111111-2222-3333-4444-555555555555\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.monitoringEvents().retrieve("11111111-2222-3333-4444-555555555555");

            System.out.println(result);
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY.

            $didit = new DiditClient();


            $result =
            $didit->monitoringEvents->retrieve('11111111-2222-3333-4444-555555555555');

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            result =
            didit.monitoring_events.retrieve("11111111-2222-3333-4444-555555555555")

            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await
            client.MonitoringEvents.RetrieveAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    MonitoringEventDetail:
      description: >-
        Un esdeveniment de monitoratge amb el seu sobre complet, enriquiment i
        evidències de regles. Tots els camps de `MonitoringEvent` més els camps
        següents.
      allOf:
        - $ref: '#/components/schemas/MonitoringEvent'
        - type: object
          required:
            - payload
            - custom_values
            - device_context
            - field_sources
            - session_sequence
            - table_id
            - hand_id
            - match_id
            - market_id
            - side
            - role
            - net_result_amount
            - payment_fingerprint
            - instrument_reference_hash
            - withdrawal_address_hash
            - dispute_id
            - chargeback_id
            - changed_field
            - identity_match_ref
            - schema_version
            - expires_at
            - rules_evaluated_count
            - rule_runs
            - ip_enrichment
            - subject_profile
            - tags
          properties:
            payload:
              type: object
              additionalProperties: true
              description: Els camps de categoria que has enviat a `payload`.
            custom_values:
              type: object
              additionalProperties: true
              description: >-
                Els `custom_values` escalars que has enviat. Didit afegeix
                `vpn_or_proxy_detected: true` o `is_data_center: true` quan
                l'enriquiment d'IP marca l'adreça i no els havies definit.
            device_context:
              type: object
              additionalProperties: true
              description: >-
                El context de dispositiu tal com s'ha emmagatzemat: el teu
                `device_context` (inclosos `fingerprint`, `persistent_device_id`
                i `bot_score` quan s'envien) amb el `network_context` completat
                per l'enriquiment d'IP (`ip_country`, `ip_country_code`,
                `ip_city`, `asn_number`, `asn_organization`, `is_vpn_or_tor`,
                `is_data_center`, `proxy_type`, `connection_type`) per a les
                claus que hagis deixat buides.
            field_sources:
              type: object
              additionalProperties:
                type: string
                enum:
                  - customer
                  - sdk
                  - server
              description: >-
                Ruta del camp fins a la procedència: `customer` (enviat pel teu
                backend), `sdk` (enviat a través del canal del dispositiu) o
                `server` (derivat per Didit, com ara `received_at` i camps de
                xarxa enriquits). Comprova-ho abans d'actuar sobre una
                coincidència.
            session_sequence:
              type: integer
              format: int64
              nullable: true
              description: '`session.sequence` enviat amb l''esdeveniment.'
            table_id:
              type: string
              nullable: true
              description: Promogut des de `payload.table_id`.
              maxLength: 128
            hand_id:
              type: string
              nullable: true
              description: Promogut des de `payload.hand_id`.
              maxLength: 128
            match_id:
              type: string
              nullable: true
              description: Promogut des de `payload.match_id`.
              maxLength: 128
            market_id:
              type: string
              nullable: true
              description: Promogut des de `payload.market_id`.
              maxLength: 128
            side:
              type: string
              nullable: true
              description: Promogut des de `payload.side`.
              maxLength: 64
            role:
              type: string
              nullable: true
              description: Promogut des de `payload.role`.
              maxLength: 64
            net_result_amount:
              type: string
              nullable: true
              description: >-
                Promogut des de `payload.net_result_amount`, com una cadena
                decimal amb 18 xifres decimals.
              example: '-120.000000000000000000'
            payment_fingerprint:
              type: string
              nullable: true
              description: Promogut des de `payload.payment_fingerprint`.
              maxLength: 255
            instrument_reference_hash:
              type: string
              nullable: true
              description: Promogut des de `payload.instrument_reference_hash`.
              maxLength: 255
            withdrawal_address_hash:
              type: string
              nullable: true
              description: >-
                Promogut des de `payload.withdrawal_address_hash` (o
                `payload.destination_reference_hash`).
              maxLength: 255
            dispute_id:
              type: string
              nullable: true
              description: Promogut des de `payload.dispute_id`.
              maxLength: 255
            chargeback_id:
              type: string
              nullable: true
              description: Promogut des de `payload.chargeback_id`.
              maxLength: 255
            changed_field:
              type: string
              nullable: true
              description: >-
                Promogut des de `payload.changed_field` (esdeveniments de canvi
                de seguretat).
              maxLength: 128
            identity_match_ref:
              type: string
              nullable: true
              description: >-
                Promogut des de `payload.identity_match_ref` (coincidències amb
                el registre de joc responsable).
              maxLength: 255
            schema_version:
              type: integer
              description: >-
                Versió de l'esquema de l'embolcall de l'esdeveniment. Actualment
                `1`.
              example: 1
            expires_at:
              type: string
              format: date-time
              nullable: true
              description: >-
                Quan l'esdeveniment caduca segons la seva classe de conservació
                i s'elimina: `occurred_at` més el període de la classe (14, 30 o
                90 dies per defecte, ajustable per aplicació). Null per a
                esdeveniments `monetary_or_compliance`, que segueixen la
                conservació de transaccions.
            rules_evaluated_count:
              type: integer
              minimum: 0
              description: >-
                Nombre de regles d'esdeveniment avaluades per a aquest
                esdeveniment.
            rule_runs:
              type: array
              description: >-
                Totes les regles que han coincidit amb l'esdeveniment, de la més
                recent a la més antiga.
              items:
                $ref: '#/components/schemas/MonitoringEventRuleRun'
            ip_enrichment:
              type: object
              nullable: true
              description: >-
                Enriquiment de l'adreça IP de l'esdeveniment, o null quan
                l'adreça no s'ha enriquit. Consulta [Enriquiment
                d'IP](https://docs.didit.me/ca/transaction-monitoring/ip-enrichment).
              properties:
                ip_country_code:
                  type: string
                  nullable: true
                  description: Codi de país de l'adreça.
                ip_city:
                  type: string
                  nullable: true
                  description: Ciutat de l'adreça.
                asn_number:
                  type: integer
                  nullable: true
                  description: Número de sistema autònom.
                asn_organization:
                  type: string
                  nullable: true
                  description: Organització que opera el sistema autònom.
                is_vpn_or_tor:
                  type: boolean
                  description: Indica si l'adreça és una sortida coneguda de VPN o Tor.
                is_data_center:
                  type: boolean
                  description: >-
                    Indica si l'adreça pertany a una xarxa d'allotjament o de
                    centre de dades.
                proxy_type:
                  type: string
                  nullable: true
                  description: >-
                    Classificació de proxy de l'adreça com a cadena opaca, o
                    null.
                last_enriched_at:
                  type: string
                  format: date-time
                  nullable: true
                  description: Quan es va enriquir l'adreça per darrera vegada.
              required:
                - ip_country_code
                - ip_city
                - asn_number
                - asn_organization
                - is_vpn_or_tor
                - is_data_center
                - proxy_type
                - last_enriched_at
            subject_profile:
              type: object
              nullable: true
              description: >-
                Senyals de risc de correu electrònic i telèfon del subjecte
                emmagatzemats a la memòria cau, o null quan no existeix cap
                perfil per al subjecte.
              properties:
                email_risk_score:
                  type: integer
                  nullable: true
                  description: Puntuació de risc del correu electrònic.
                email_deliverability:
                  type: string
                  nullable: true
                  description: Veredicte de lliurabilitat del correu electrònic.
                email_is_disposable:
                  type: boolean
                  nullable: true
                  description: Indica si l'adreça de correu electrònic és d'un sol ús.
                email_is_breached:
                  type: boolean
                  nullable: true
                  description: >-
                    Indica si l'adreça de correu electrònic apareix en
                    filtracions de dades conegudes.
                email_social_count:
                  type: integer
                  nullable: true
                  description: >-
                    Nombre de comptes en línia vinculats a l'adreça de correu
                    electrònic.
                email_social_providers:
                  type: array
                  items:
                    type: string
                  description: >-
                    Noms dels serveis en línia on s'ha trobat un compte vinculat
                    a l'adreça de correu electrònic.
                phone_risk_score:
                  type: integer
                  nullable: true
                  description: Puntuació de risc del telèfon.
                phone_line_type:
                  type: string
                  nullable: true
                  description: Tipus de línia telefònica.
                phone_carrier:
                  type: string
                  nullable: true
                  description: Nom de l'operador de telefonia.
                phone_social_count:
                  type: integer
                  nullable: true
                  description: Nombre de comptes en línia vinculats al número de telèfon.
                phone_social_providers:
                  type: array
                  items:
                    type: string
                  description: >-
                    Noms dels serveis en línia on s'ha trobat un compte vinculat
                    al número de telèfon.
                source_provider:
                  type: string
                  nullable: true
                  description: Identificador opac de l'origen del perfil.
                last_enriched_at:
                  type: string
                  format: date-time
                  nullable: true
                  description: Quan es va actualitzar el perfil per darrera vegada.
              required:
                - email_risk_score
                - email_deliverability
                - email_is_disposable
                - email_is_breached
                - email_social_count
                - email_social_providers
                - phone_risk_score
                - phone_line_type
                - phone_carrier
                - phone_social_count
                - phone_social_providers
                - source_provider
                - last_enriched_at
            tags:
              type: array
              items:
                type: string
              description: >-
                Noms de les etiquetes adjuntades a l'esdeveniment (accions
                `add_tags` de la regla).
    MonitoringEvent:
      type: object
      description: >-
        Un esdeveniment de monitoratge emmagatzemat tal com el retornen els
        endpoints de llista i de cronologia del subjecte. Les proves
        restringides (payload, context del dispositiu, proves de regles) només
        les retorna `GET /v3/events/{event_uuid}/`.
      required:
        - event_uuid
        - event_id
        - event_category
        - action_type
        - occurred_at
        - received_at
        - status
        - score
        - subject_vendor_data
        - subject_entity_type
        - subject_uuid
        - counterparty_vendor_data
        - session_id
        - device_fingerprint
        - ip_address
        - ip_country
        - amount
        - currency
        - game_id
        - round_id
        - bonus_id
        - affiliate_code
        - payment_reference_id
        - retention_class
        - rules_matched_count
        - correlation_pending
        - is_droppable
      properties:
        event_uuid:
          type: string
          format: uuid
          description: >-
            Identificador de Didit de l'esdeveniment. Utilitza'l com a
            `{event_uuid}` a les crides de recuperació i eliminació.
        event_id:
          type: string
          maxLength: 128
          description: El teu propi identificador, la clau d'idempotència que has enviat.
        event_category:
          type: string
          enum:
            - auth
            - session
            - gameplay
            - bonus
            - affiliate
            - payment
            - dispute
            - security
            - responsible_gambling
            - custom
          description: Categoria de l'esdeveniment.
        action_type:
          type: string
          maxLength: 128
          description: Què ha passat dins de la categoria, tal com ho has enviat.
        occurred_at:
          type: string
          format: date-time
          description: Quan va ocórrer l'esdeveniment al teu costat.
        received_at:
          type: string
          format: date-time
          description: Quan Didit ha acceptat l'esdeveniment.
        status:
          type: string
          enum:
            - ACCEPTED
            - APPROVED
            - IN_REVIEW
            - DECLINED
          description: >-
            `ACCEPTED`: emmagatzemat, cap regla coincident no n'ha canviat
            l'estat (la resposta habitual per a la majoria d'esdeveniments, i
            sempre la resposta en una aplicació de sandbox, on no s'executa cap
            regla). `APPROVED`: una regla ha coincidit i la puntuació s'ha
            mantingut per sota del teu llindar de revisió. `IN_REVIEW`: una
            regla ha fet que la puntuació superés el llindar de revisió o n'ha
            establert l'estat. `DECLINED`: una regla ho ha rebutjat o la
            puntuació ha superat el teu llindar de rebuig.
        score:
          type: integer
          description: >-
            Puntuació de regles acumulada. Comença a 0; les accions `add_score`
            de les regles la modifiquen (es permeten increments negatius).
        subject_vendor_data:
          type: string
          maxLength: 255
          description: >-
            `subject.vendor_data` de l'esdeveniment: el teu id per a l'usuari o
            l'empresa.
        subject_entity_type:
          type: string
          description: >-
            `individual` o `company`: quin tipus de subjecte indica
            `subject_vendor_data`.
          example: individual
        subject_uuid:
          type: string
          format: uuid
          nullable: true
          description: >-
            UUID de l'usuari (persona física) o empresa al qual s'ha resolt
            l'esdeveniment, o null quan aquest registre ja no existeix.
        counterparty_vendor_data:
          type: string
          nullable: true
          description: >-
            L'altre participant d'un esdeveniment P2P (promogut des de
            `payload.counterparty_vendor_data`).
          maxLength: 255
        session_id:
          type: string
          nullable: true
          description: '`session.session_id` enviat amb l''esdeveniment.'
          maxLength: 255
        device_fingerprint:
          type: string
          nullable: true
          description: '`device_context.fingerprint` enviat amb l''esdeveniment.'
          maxLength: 255
        ip_address:
          type: string
          nullable: true
          description: >-
            Adreça IP de l'esdeveniment. A la via del servidor és
            `device_context.network_context.ip_address` tal com la vas enviar; a
            la via del dispositiu és la IP de la sol·licitud.
          maxLength: 64
        ip_country:
          type: string
          nullable: true
          description: >-
            Codi de país d'`ip_address` obtingut de l'enriquiment d'IP, o null
            quan l'adreça no s'ha enriquit (telemetria absent, privada o de baix
            valor l'adreça de la qual encara no es coneixia).
          example: ES
        amount:
          type: string
          nullable: true
          description: >-
            Import com a cadena decimal amb 18 decimals, procedent de
            `transaction_context.amount`, `payload.amount` o
            `payload.stake_amount`, en aquest ordre.
          example: '250.000000000000000000'
        currency:
          type: string
          nullable: true
          description: Moneda de `transaction_context.currency` o `payload.currency`.
          maxLength: 10
        game_id:
          type: string
          nullable: true
          description: Promogut des de `payload.game_id`.
          maxLength: 128
        round_id:
          type: string
          nullable: true
          description: Promogut des de `payload.round_id`.
          maxLength: 128
        bonus_id:
          type: string
          nullable: true
          description: Promocionat des de `payload.bonus_id`.
          maxLength: 128
        affiliate_code:
          type: string
          nullable: true
          description: Promocionat des de `payload.affiliate_code`.
          maxLength: 128
        payment_reference_id:
          type: string
          nullable: true
          description: >-
            Referència de pagament de `transaction_context.payment_reference_id`
            o `payload.payment_reference_id`.
          maxLength: 255
        retention_class:
          type: string
          enum:
            - low_value
            - standard
            - risk_relevant
            - monetary_or_compliance
          description: >-
            Classe de conservació de dades. Els esdeveniments de pagament i
            disputa són `monetary_or_compliance`; els esdeveniments de seguretat
            i joc responsable són `risk_relevant`; `session.page_view`,
            `session.sdk_heartbeat`, `session.sdk_loaded`,
            `session.device_seen`, `session.bot_signal_observed`,
            `bonus.promotion_viewed` i `affiliate.referral_clicked` són
            `low_value`; tota la resta és `standard`. Un esdeveniment que hagi
            coincidit amb una regla activa es promociona a `risk_relevant` (mai
            es degrada).
        rules_matched_count:
          type: integer
          minimum: 0
          description: >-
            Nombre de regles que han coincidit amb l'esdeveniment, incloses les
            regles en mode `TEST` (que registren proves però no apliquen cap
            acció).
        correlation_pending:
          type: boolean
          description: >-
            `true` mentre una regla asíncrona (correlació entre subjectes o una
            seqüència de més de 24 hores) encara s'ha d'executar per a aquest
            esdeveniment. Es resol en qüestió de minuts i `status`, `score` i
            `rules_matched_count` s'actualitzen in situ.
        is_droppable:
          type: boolean
          description: >-
            Indica si un SDK sotmès a contrapressió pot descartar esdeveniments
            d'aquest tipus. `false` per a tots els esdeveniments de `security`,
            `payment`, `dispute` i `responsible_gambling` i per a
            `gameplay.bet_placed`, `gameplay.bet_settled` i
            `gameplay.p2p_settlement`.
    MonitoringEventRuleRun:
      type: object
      properties:
        rule_uuid:
          type: string
          format: uuid
          description: UUID de la regla de monitoratge de transaccions.
        rule_title:
          type: string
          description: Títol de la regla.
        library_key:
          type: string
          nullable: true
          description: >-
            Clau de la biblioteca quan la regla es va instal·lar des de la
            biblioteca de regles; en cas contrari, null.
        matched:
          type: boolean
          description: 'Sempre `true`: només es registren les execucions coincidents.'
        mode:
          type: string
          enum:
            - ACTIVE
            - TEST
          description: >-
            Mode de la regla en executar-se. Una execució en `TEST` registra
            evidències però no aplica cap acció.
        is_async:
          type: boolean
          description: >-
            `true` quan l'execució prové de la passada de correlació asíncrona
            en lloc de la sol·licitud d'ingesta.
        severity:
          type: string
          nullable: true
          enum:
            - UNKNOWN
            - LOW
            - MEDIUM
            - HIGH
            - CRITICAL
            - null
          description: >-
            Gravetat de la regla. Null per a execucions de `TEST` i per a regles
            sense gravetat.
        score_delta:
          type: integer
          description: >-
            Quant ha canviat aquesta execució la puntuació de l'esdeveniment (0
            per a execucions de tipus `TEST`).
        action_summary:
          type: string
          nullable: true
          description: >-
            Resum breu de les accions aplicades, per exemple `score +40;
            add_tag:VPN_LOGIN`. Null quan no s'ha aplicat res.
        matched_payload:
          type: array
          description: >-
            Les condicions i agregacions que han coincidit. Les entrades de
            condició inclouen `field`, `operator`, `expected_value`,
            `current_value`, `matched`, `group_index`, `group_logic` i
            `field_source` (`server`, `sdk` o `customer`); les entrades
            d'agregació inclouen `metric`, `field`, `operator`,
            `expected_value`, `computed_value`, `window`, `filters`, `matched` i
            `sample_references`.
          items:
            type: object
            additionalProperties: true
        created_at:
          type: string
          format: date-time
          description: Quan es va registrar l'execució de la regla.
      required:
        - rule_uuid
        - rule_title
        - library_key
        - matched
        - mode
        - is_async
        - severity
        - score_delta
        - action_summary
        - matched_payload
        - created_at
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clau d'API de la teva aplicació, des de Developers -> API keys a la
        Business Console. La clau primària té accés complet. Una clau amb nom
        pot tenir l'abast limitat: cap, lectura o escriptura per recurs,
        limitada a determinats fluxos de treball o a sessions aprovades, a una
        llista d'adreces IP i a una data de caducitat. 401 significa que la clau
        és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap
        clau, que la clau no té accés a aquest recurs o acció, o que la
        sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una
        ruta de sessió significa que la sessió està fora dels fluxos de treball
        o estats de la clau. Una clau sense accés a fitxers multimèdia rep els
        URL d'imatge, vídeo i PDF com a null, i una clau sense permís
        d'escriptura de sessions rep els enllaços de sessió i els tokens com a
        null. Consulta https://docs.didit.me/console/api-keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.