> ## 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.

# Llistar esdeveniments de monitoratge API

> Llista els esdeveniments de monitoratge de Didit filtrats per categoria, estat, subjecte, dispositiu, IP i referència de pagament, del més recent.

Prompt de l'API per a llistar esdeveniments de monitoratge
Copia el prompt al porta-retalls

<pre>
  \`List and filter the monitoring events (logins, sessions, gameplay, bonuses, payments, disputes, security changes) stored for my Didit application.

  Endpoint:
  GET [https://verification.didit.me/v3/events/](https://verification.didit.me/v3/events/)

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

  Goal:

  * Search events for a back-office screen, an export job or an investigation: for example every payment and dispute event a rule matched last week, or every event from one device fingerprint or IP address.

  Behavior:

  * Newest occurred\_at first. Paginated with limit (default 50) and offset; follow next until it is null.
  * count is exact up to 100 and capped at 100 above that, so never use it to compute the number of pages.
  * Every filter is optional and filters combine with AND. Multi-value filters repeat the parameter (?event\_category=payment\&event\_category=dispute) and match any of the values.
  * Filters: event\_category, action\_type, status, retention\_class (multi-value); subject\_vendor\_data, subject\_entity\_type (company for a company, any other value for an individual), business\_vendor\_data, session\_id, device\_fingerprint, ip\_address, game\_id, round\_id, affiliate\_code, payment\_reference\_id, counterparty\_vendor\_data (exact match); matched\_only=true; occurred\_from and occurred\_to (inclusive; ISO 8601 with Z or an offset whose + is sent as %2B, for example 2026-10-17T09:00:00Z, or a date alone, which means 00:00 UTC of that day); search (case-insensitive substring of event\_id, action\_type, subject\_vendor\_data or counterparty\_vendor\_data).
  * Each result is a summary. Call GET /v3/events/{event_uuid}/ for the payload, device context, IP enrichment and rule evidence.
  * For one subject, prefer GET /v3/events/subjects/{vendor_data}/, which keeps an individual and a company with the same vendor\_data apart.
  * Reads work whether or not event ingestion is switched on.

  Example call:
  curl -X GET "[https://verification.didit.me/v3/events/?event\_category=payment\&event\_category=dispute\&matched\_only=true\&limit=50](https://verification.didit.me/v3/events/?event_category=payment\&event_category=dispute\&matched_only=true\&limit=50)" \
  -H "x-api-key: YOUR\_API\_KEY"

  What to read from the response:

  * results\[].event\_uuid - Didit id of the event; use it as {event_uuid} in the detail and delete calls.
  * results\[].event\_id - your own id (the idempotency key you sent).
  * results\[].event\_category, action\_type, occurred\_at, received\_at.
  * results\[].status (ACCEPTED, APPROVED, IN\_REVIEW, DECLINED) and score.
  * results\[].rules\_matched\_count and correlation\_pending (true while an asynchronous rule still has to run).
  * results\[].ip\_country, device\_fingerprint, session\_id, amount, currency, payment\_reference\_id.
  * results\[].is\_droppable - whether an SDK under backpressure may drop events of this kind.
  * next - URL of the next page, or null.

  Failure modes:

  * 400 - limit or offset larger than 1000000.
  * 401 - the API key has expired.
  * 403 - missing API key (a wrong, revoked or expired key gets 401), a scoped key without transactions: read, or a request from outside the key's IP list.
  * 429 - more than 600 reads per minute for this API key; honor Retry-After.

  Side effects: none. This is a pure read.

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

Enganxa a

Els esdeveniments s'arxiven en [classes de retenció](https://docs.didit.me/ca/transaction-monitoring/events.md#retenció), de manera que un esdeveniment que ha superat el final del període de la seva classe ja no apareix aquí. Consulta [Ingestió d'esdeveniments](https://docs.didit.me/ca/transaction-monitoring/events.md#consultar-els-esdeveniments) per consultar la referència dels filtres i [Regles sobre esdeveniments](https://docs.didit.me/ca/transaction-monitoring/event-rules.md) per saber què fa variar `rules_matched_count`.


## OpenAPI

````yaml ca/openapi-25.json GET /v3/events/
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/:
    get:
      tags:
        - Monitoring Events
      summary: Llista els esdeveniments de monitoratge
      description: >-
        Llista els esdeveniments de monitoratge emmagatzemats per a la teva
        aplicació, ordenats per `occurred_at`, del més recent al més antic, amb
        filtres opcionals que es combinen amb AND. Els filtres multivalor
        (`event_category`, `action_type`, `status`, `retention_class`)
        repeteixen el paràmetre i coincideixen amb qualsevol dels valors; els
        altres filtres són coincidències exactes, i els valors desconeguts
        simplement no retornen cap esdeveniment. Cada resultat és un resum:
        crida `GET /v3/events/{event_uuid}/` per obtenir el payload, el context
        del dispositiu, l'enriquiment d'IP i les proves de la regla, i prioritza
        `GET /v3/events/subjects/{vendor_data}/` per a l'historial d'un sol
        subjecte. Les lectures funcionen tant si la ingesta d'esdeveniments està
        activada com si no. Una clau d'API amb abast restringit necessita
        `transactions: read`. Consulta [Ingesta
        d'esdeveniments](https://docs.didit.me/ca/transaction-monitoring/events).
      operationId: list_monitoring_events
      parameters:
        - name: limit
          in: query
          required: false
          description: >-
            Nombre màxim d'esdeveniments per pàgina. Per defecte és 50. Els
            valors superiors a 1000000 retornen `400`; un valor no numèric, zero
            o negatiu torna al valor predeterminat de 50.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
          example: 50
        - name: offset
          in: query
          required: false
          description: >-
            Nombre d'esdeveniments que cal ometre. Per defecte és 0. És
            preferible seguir l'URL `next` de la resposta.
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          example: 0
        - name: event_category
          in: query
          required: false
          description: >-
            Només esdeveniments en aquestes categories. Repeteix el paràmetre
            per a diversos valors
            (`?event_category=payment&event_category=dispute`); es retorna un
            esdeveniment que coincideixi amb qualsevol d'ells.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - auth
                - session
                - gameplay
                - bonus
                - affiliate
                - payment
                - dispute
                - security
                - responsible_gambling
                - custom
          example:
            - payment
            - dispute
        - name: action_type
          in: query
          required: false
          description: >-
            Només esdeveniments amb aquests tipus d'acció (exactes i que
            distingeixen entre majúscules i minúscules). Repeteix per a diversos
            valors.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
          example:
            - deposit_completed
            - chargeback_opened
        - name: status
          in: query
          required: false
          description: >-
            Només esdeveniments amb aquests estats. Repeteix per a diversos
            valors.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - ACCEPTED
                - APPROVED
                - IN_REVIEW
                - DECLINED
          example:
            - IN_REVIEW
            - DECLINED
        - name: retention_class
          in: query
          required: false
          description: >-
            Només esdeveniments en aquestes classes de conservació. Repeteix per
            a diversos valors.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - low_value
                - standard
                - risk_relevant
                - monetary_or_compliance
          example:
            - risk_relevant
        - name: subject_vendor_data
          in: query
          required: false
          description: >-
            Coincidència exacta amb el `vendor_data` del subjecte. El mateix id
            pot anomenar una persona física i una empresa; afegeix
            `subject_entity_type` per triar-ne una, o utilitza `GET
            /v3/events/subjects/{vendor_data}/`.
          schema:
            type: string
          example: user-42
        - name: subject_entity_type
          in: query
          required: false
          description: >-
            `company` només retorna esdeveniments de subjectes d'empresa;
            qualsevol altre valor no buit (per exemple `individual`) només
            retorna esdeveniments de particulars. Omet-lo per retornar tots dos.
          schema:
            type: string
            enum:
              - individual
              - company
          example: individual
        - name: business_vendor_data
          in: query
          required: false
          description: >-
            Coincidència exacta amb el `business.vendor_data` enviat amb
            l'esdeveniment.
          schema:
            type: string
          example: merchant-7
        - name: session_id
          in: query
          required: false
          description: Coincidència exacta amb `session.session_id`.
          schema:
            type: string
          example: web-session-abc
        - name: device_fingerprint
          in: query
          required: false
          description: Coincidència exacta amb `device_context.fingerprint`.
          schema:
            type: string
          example: fp-a8c1
        - name: ip_address
          in: query
          required: false
          description: Coincidència exacta amb l'adreça IP de l'esdeveniment.
          schema:
            type: string
          example: 203.0.113.42
        - name: game_id
          in: query
          required: false
          description: Coincidència exacta amb el `game_id` promocionat.
          schema:
            type: string
          example: poker-holdem-01
        - name: round_id
          in: query
          required: false
          description: Coincidència exacta amb el `round_id` promocionat.
          schema:
            type: string
          example: round-88231
        - name: affiliate_code
          in: query
          required: false
          description: Coincidència exacta amb l'`affiliate_code` promocionat.
          schema:
            type: string
          example: aff-summer
        - name: payment_reference_id
          in: query
          required: false
          description: >-
            Coincidència exacta amb la referència de pagament (de
            `transaction_context.payment_reference_id` o
            `payload.payment_reference_id`).
          schema:
            type: string
          example: dep_735
        - name: counterparty_vendor_data
          in: query
          required: false
          description: Coincidència exacta amb el `counterparty_vendor_data` promocionat.
          schema:
            type: string
          example: user-77
        - name: matched_only
          in: query
          required: false
          description: >-
            `true` (també `1` o `yes`, no distingeix majúscules de minúscules)
            només retorna esdeveniments en què ha coincidit almenys una regla
            (`rules_matched_count` superior a 0). Qualsevol altre valor
            s'ignora.
          schema:
            type: boolean
            default: false
          example: true
        - name: occurred_from
          in: query
          required: false
          description: >-
            Només esdeveniments amb `occurred_at` en aquest instant o després
            (inclusiu). Envia un valor ISO 8601: `2026-10-01T00:00:00Z`, un
            desplaçament explícit amb el `+` codificat en percentatge
            (`2026-10-01T02:00:00%2B02:00`; un `+` sense codificar es
            descodifica com un espai i el valor deixa de processar-se
            correctament), o només una data (`2026-10-01`), que significa les
            00:00:00 UTC d'aquell dia. Un valor sense desplaçament s'interpreta
            com a UTC. No s'accepten valors en cap altre format.
          schema:
            type: string
            format: date-time
          example: '2026-10-01T00:00:00Z'
        - name: occurred_to
          in: query
          required: false
          description: >-
            Només esdeveniments amb `occurred_at` en aquest instant o abans
            (inclusiu). Només una data significa l'inici d'aquell dia, de manera
            que `occurred_to=2026-10-15` exclou la resta del 15 d'octubre; envia
            `2026-10-15T23:59:59Z` per incloure-ho. Envia un valor ISO 8601:
            `2026-10-01T00:00:00Z`, un desplaçament explícit amb el `+`
            codificat en percentatge (`2026-10-01T02:00:00%2B02:00`; un `+`
            sense codificar es descodifica com un espai i el valor deixa de
            processar-se correctament), o només una data (`2026-10-01`), que
            significa les 00:00:00 UTC d'aquell dia. Un valor sense desplaçament
            s'interpreta com a UTC. No s'accepten valors en cap altre format.
          schema:
            type: string
            format: date-time
          example: '2026-10-17T23:59:59Z'
        - name: search
          in: query
          required: false
          description: >-
            Coincidència de subcadena que no distingeix majúscules de minúscules
            a `event_id`, `action_type`, `subject_vendor_data` o
            `counterparty_vendor_data`.
          schema:
            type: string
          example: chargeback
      responses:
        '200':
          description: Una pàgina de resums d'esdeveniments.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitoringEventPage'
              examples:
                Payment and dispute events:
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - event_uuid: 11111111-2222-3333-4444-555555555555
                        event_id: chargeback-2026-10-16-000318
                        event_category: dispute
                        action_type: chargeback_opened
                        occurred_at: '2026-10-16T14:02:11Z'
                        received_at: '2026-10-16T14:02:12.418230Z'
                        status: IN_REVIEW
                        score: 60
                        subject_vendor_data: user-42
                        subject_entity_type: individual
                        subject_uuid: 66666666-7777-8888-9999-000000000000
                        counterparty_vendor_data: null
                        session_id: null
                        device_fingerprint: null
                        ip_address: null
                        ip_country: null
                        amount: '250.000000000000000000'
                        currency: EUR
                        game_id: null
                        round_id: null
                        bonus_id: null
                        affiliate_code: null
                        payment_reference_id: dep_735
                        retention_class: monetary_or_compliance
                        rules_matched_count: 1
                        correlation_pending: false
                        is_droppable: false
                      - event_uuid: 22222222-3333-4444-5555-666666666666
                        event_id: login-2026-10-15-000912
                        event_category: auth
                        action_type: login
                        occurred_at: '2026-10-15T08:30:00.120000Z'
                        received_at: '2026-10-15T08:30:00.734512Z'
                        status: ACCEPTED
                        score: 0
                        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: standard
                        rules_matched_count: 0
                        correlation_pending: false
                        is_droppable: true
        '400':
          description: >-
            `limit` o `offset` és superior a 1000000. El cos és una matriu JSON
            amb un missatge. Un `limit` no numèric o no positiu torna al valor
            per defecte de 50 en lloc de fallar.
          content:
            application/json:
              examples:
                limit too large:
                  summary: limit per sobre de 1000000
                  value:
                    - limit must not exceed 1000000.
                offset too large:
                  summary: offset per sobre de 1000000
                  value:
                    - offset must not exceed 1000000.
        '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.
        '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/?event_category=payment&event_category=dispute&matched_only=true&occurred_from=2026-10-01T00:00:00Z&limit=50'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.monitoring_events.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            for await (const item of didit.monitoringEvents.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.MonitoringEvents.ListAutoPaging(ctx, didit.MonitoringEventsListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            for (var item : client.monitoringEvents().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            foreach ($didit->monitoringEvents->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            didit.monitoring_events.list.auto_paging_each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            await foreach (var item in await
            client.MonitoringEvents.ListAsync())

            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    MonitoringEventPage:
      type: object
      description: >-
        Una pàgina d'esdeveniments de monitoratge, amb el `occurred_at` més
        recent primer.
      required:
        - count
        - next
        - previous
        - results
      properties:
        count:
          type: integer
          description: >-
            Nombre d'esdeveniments coincidents, exacte fins a 100 i limitat a
            100 per sobre d'aquest valor. No calculis el nombre de pàgines a
            partir d'aquest valor; segueix `next` fins que sigui nul.
        next:
          type: string
          format: uri
          nullable: true
          description: URL de la pàgina següent, o null a l'última pàgina.
        previous:
          type: string
          format: uri
          nullable: true
          description: URL de la pàgina anterior, o null a la primera pàgina.
        results:
          type: array
          items:
            $ref: '#/components/schemas/MonitoringEvent'
    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`.
  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.