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

# Monitoring-Event abrufen: Get Monitoring Event API

> Mit Didit rufen Sie ein einzelnes Monitoring-Event ab: Payload, Geräte-Kontext, IP-Anreicherung, zwischengespeicherte Subjektsignale, Tags und Regel-Nachweise.

Prompt für die Get-Monitoring-Event-API
Prompt in die Zwischenablage kopieren

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

Einfügen in

Lesen Sie unter [Nachweise](https://docs.didit.me/de/transaction-monitoring/event-rules.md#belege), wie Regelausführungen jeden übereinstimmenden Wert und dessen Quelle erfassen, und unter [IP-Anreicherung](https://docs.didit.me/de/transaction-monitoring/ip-enrichment.md) mehr über die angereicherten Adressfelder.


## OpenAPI

````yaml de/openapi-25.json GET /v3/events/{event_uuid}/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API für Ausweisverifizierung. Authentifizierung über den x-api-key-Header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/events/{event_uuid}/:
    get:
      tags:
        - Monitoring Events
      summary: Überwachungsereignis abrufen
      description: >-
        Rufen Sie ein Überwachungsereignis mit allen Daten ab, die die Liste
        zurückgibt, zuzüglich der Payload, benutzerdefinierten Werten,
        Gerätekontext, Feldherkunft (`field_sources`), den hochgestuften
        Domänenfeldern, `expires_at`, jedem übereinstimmenden Regellauf samt
        dessen Nachweisen, der IP-Anreicherung und den von Regeln zugewiesenen
        Tags. Solange `correlation_pending` `true` ist, muss eine asynchrone
        Regel noch ausgeführt werden; rufen Sie das Ereignis einige Minuten
        später erneut ab, um den endgültigen `status`, `score` und die
        `rule_runs` zu erhalten. Abrufe funktionieren unabhängig davon, ob die
        Ereigniserfassung aktiviert ist. Ein berechtigungsbeschränkter
        API-Schlüssel benötigt `transactions: read`. Siehe
        [Nachweise](https://docs.didit.me/de/transaction-monitoring/event-rules#belege)
        und
        [IP-Anreicherung](https://docs.didit.me/de/transaction-monitoring/ip-enrichment).
      operationId: get_monitoring_event
      parameters:
        - name: event_uuid
          in: path
          required: true
          description: >-
            Didit-Kennung des Ereignisses (`event_uuid` aus der Create-, Batch-,
            List- oder Timeline-Antwort), nicht Ihre eigene `event_id`.
          schema:
            type: string
            format: uuid
          example: 11111111-2222-3333-4444-555555555555
      responses:
        '200':
          description: Das Ereignis mit seinen Nachweisen.
          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: >-
            Der API-Schlüssel mit eingeschränktem Geltungsbereich ist
            abgelaufen. Nur ein abgelaufener Schlüssel erhält `401`; ein
            fehlender oder ungültiger Schlüssel erhält `403`.
          content:
            application/json:
              examples:
                Expired key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Ein fehlender `x-api-key` (ein falscher, widerrufener oder
            abgelaufener Schlüssel erhält `401`), ein berechtigungsbeschränkter
            Schlüssel ohne `transactions: read`, ein auf bestimmte Workflows
            oder genehmigte Sitzungen beschränkter Schlüssel (ein solcher
            Schlüssel erreicht Transaktionsüberwachungsdaten nie) oder eine
            Anfrage von außerhalb der IP-Allowlist des Schlüssels.
          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: >-
            In der Anwendung existiert kein Ereignis mit dieser `event_uuid`: Es
            wurde nie gespeichert, es wurde gelöscht oder es gehört zu einer
            anderen Anwendung. Ein Pfadsegment, das keine UUID ist, stimmt nicht
            mit der Route überein und gibt ebenfalls `404` zurück.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: No MonitoringEvent matches the given query.
        '429':
          description: >-
            Rate-Limit überschritten: `GET`-Anfragen teilen sich ein Kontingent
            von 600 Anfragen pro Minute pro API-Schlüssel. Warten Sie
            `Retry-After` Sekunden und versuchen Sie es dann erneut.
          headers:
            Retry-After:
              description: >-
                Sekunden, die vor einem Wiederholungsversuch gewartet werden
                müssen.
              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: >-
        Ein Überwachungsereignis mit vollständigem Envelope, Anreicherung und
        Regelnachweisen. Jedes Feld von `MonitoringEvent` plus die unten
        stehenden Felder.
      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: Die Kategoriefelder, die Sie in `payload` gesendet haben.
            custom_values:
              type: object
              additionalProperties: true
              description: >-
                Die von Ihnen gesendeten skalaren `custom_values`. Didit fügt
                `vpn_or_proxy_detected: true` oder `is_data_center: true` hinzu,
                wenn die IP-Anreicherung die Adresse markiert und Sie diese
                nicht festgelegt haben.
            device_context:
              type: object
              additionalProperties: true
              description: >-
                Der gespeicherte Gerätekontext: Ihr `device_context`
                (einschließlich `fingerprint`, `persistent_device_id` und
                `bot_score`, falls gesendet) mit `network_context`, ergänzt
                durch IP-Anreicherung (`ip_country`, `ip_country_code`,
                `ip_city`, `asn_number`, `asn_organization`, `is_vpn_or_tor`,
                `is_data_center`, `proxy_type`, `connection_type`) für
                Schlüssel, die Sie leer gelassen haben.
            field_sources:
              type: object
              additionalProperties:
                type: string
                enum:
                  - customer
                  - sdk
                  - server
              description: >-
                Feldpfad zur Herkunft: `customer` (von Ihrem Backend gesendet),
                `sdk` (über die Gerätespur gesendet) oder `server` (von Didit
                abgeleitet, wie z. B. `received_at` und angereicherte
                Netzwerkfelder). Prüfen Sie diesen vor Maßnahmen bei einer
                Übereinstimmung.
            session_sequence:
              type: integer
              format: int64
              nullable: true
              description: '`session.sequence`, die mit dem Ereignis gesendet wurde.'
            table_id:
              type: string
              nullable: true
              description: Übernommen aus `payload.table_id`.
              maxLength: 128
            hand_id:
              type: string
              nullable: true
              description: Übernommen aus `payload.hand_id`.
              maxLength: 128
            match_id:
              type: string
              nullable: true
              description: Übernommen aus `payload.match_id`.
              maxLength: 128
            market_id:
              type: string
              nullable: true
              description: Übernommen aus `payload.market_id`.
              maxLength: 128
            side:
              type: string
              nullable: true
              description: Übernommen aus `payload.side`.
              maxLength: 64
            role:
              type: string
              nullable: true
              description: Übernommen aus `payload.role`.
              maxLength: 64
            net_result_amount:
              type: string
              nullable: true
              description: >-
                Übernommen aus `payload.net_result_amount`, als Dezimal-String
                mit 18 Dezimalstellen.
              example: '-120.000000000000000000'
            payment_fingerprint:
              type: string
              nullable: true
              description: Übernommen aus `payload.payment_fingerprint`.
              maxLength: 255
            instrument_reference_hash:
              type: string
              nullable: true
              description: Übernommen aus `payload.instrument_reference_hash`.
              maxLength: 255
            withdrawal_address_hash:
              type: string
              nullable: true
              description: >-
                Übernommen aus `payload.withdrawal_address_hash` (oder
                `payload.destination_reference_hash`).
              maxLength: 255
            dispute_id:
              type: string
              nullable: true
              description: Übernommen aus `payload.dispute_id`.
              maxLength: 255
            chargeback_id:
              type: string
              nullable: true
              description: Übernommen aus `payload.chargeback_id`.
              maxLength: 255
            changed_field:
              type: string
              nullable: true
              description: >-
                Übernommen aus `payload.changed_field`
                (Sicherheitsänderungsereignisse).
              maxLength: 128
            identity_match_ref:
              type: string
              nullable: true
              description: >-
                Übernommen aus `payload.identity_match_ref` (Treffer im Register
                für verantwortungsvolles Spielen).
              maxLength: 255
            schema_version:
              type: integer
              description: Version des Ereignis-Envelope-Schemas. Derzeit `1`.
              example: 1
            expires_at:
              type: string
              format: date-time
              nullable: true
              description: >-
                Wann das Ereignis gemäß seiner Aufbewahrungsklasse abläuft und
                gelöscht wird: `occurred_at` zuzüglich der Klassenfrist
                (standardmäßig 14, 30 oder 90 Tage, anpassbar pro Anwendung).
                Null für `monetary_or_compliance`-Ereignisse, die der
                Transaktionsaufbewahrung folgen.
            rules_evaluated_count:
              type: integer
              minimum: 0
              description: Anzahl der für dieses Ereignis ausgewerteten Ereignisregeln.
            rule_runs:
              type: array
              description: Jede Regel, die auf das Ereignis zutraf, die neueste zuerst.
              items:
                $ref: '#/components/schemas/MonitoringEventRuleRun'
            ip_enrichment:
              type: object
              nullable: true
              description: >-
                Anreicherung der Adresse des Ereignisses oder null, wenn die
                Adresse nicht angereichert wurde. Siehe [Anreicherung der
                Adresse](https://docs.didit.me/de/transaction-monitoring/ip-enrichment).
              properties:
                ip_country_code:
                  type: string
                  nullable: true
                  description: Ländercode der Adresse.
                ip_city:
                  type: string
                  nullable: true
                  description: Stadt der Adresse.
                asn_number:
                  type: integer
                  nullable: true
                  description: Nummer des autonomen Systems.
                asn_organization:
                  type: string
                  nullable: true
                  description: Organisation, die das autonome System betreibt.
                is_vpn_or_tor:
                  type: boolean
                  description: >-
                    Gibt an, ob die Adresse ein bekannter VPN- oder
                    Tor-Exit-Node ist.
                is_data_center:
                  type: boolean
                  description: >-
                    Gibt an, ob die Adresse zu einem Hosting- oder
                    Rechenzentrumsnetzwerk gehört.
                proxy_type:
                  type: string
                  nullable: true
                  description: >-
                    Proxy-Klassifizierung der Adresse als opaker String oder
                    null.
                last_enriched_at:
                  type: string
                  format: date-time
                  nullable: true
                  description: Wann die Adresse zuletzt angereichert wurde.
              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: >-
                Gecachte E-Mail- und Telefon-Risikosignale der Person, oder
                null, wenn kein Profil für die Person existiert.
              properties:
                email_risk_score:
                  type: integer
                  nullable: true
                  description: E-Mail-Risiko-Score.
                email_deliverability:
                  type: string
                  nullable: true
                  description: Ergebnis zur E-Mail-Zustellbarkeit.
                email_is_disposable:
                  type: boolean
                  nullable: true
                  description: Gibt an, ob es sich um eine Wegwerf-E-Mail-Adresse handelt.
                email_is_breached:
                  type: boolean
                  nullable: true
                  description: >-
                    Gibt an, ob die E-Mail-Adresse in bekannten Datenlecks
                    vorkommt.
                email_social_count:
                  type: integer
                  nullable: true
                  description: Anzahl der mit der E-Mail-Adresse verknüpften Online-Konten.
                email_social_providers:
                  type: array
                  items:
                    type: string
                  description: >-
                    Namen der Online-Dienste, bei denen ein mit der
                    E-Mail-Adresse verknüpftes Konto gefunden wurde.
                phone_risk_score:
                  type: integer
                  nullable: true
                  description: Telefon-Risiko-Score.
                phone_line_type:
                  type: string
                  nullable: true
                  description: Telefonleitungstyp.
                phone_carrier:
                  type: string
                  nullable: true
                  description: Name des Mobilfunkanbieters.
                phone_social_count:
                  type: integer
                  nullable: true
                  description: Anzahl der mit der Telefonnummer verknüpften Online-Konten.
                phone_social_providers:
                  type: array
                  items:
                    type: string
                  description: >-
                    Namen der Online-Dienste, bei denen ein mit der
                    Telefonnummer verknüpftes Konto gefunden wurde.
                source_provider:
                  type: string
                  nullable: true
                  description: Opake Kennung der Quelle des Profils.
                last_enriched_at:
                  type: string
                  format: date-time
                  nullable: true
                  description: Wann das Profil zuletzt aktualisiert wurde.
              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: >-
                Namen der an das Ereignis angehängten Tags (`add_tags`-Aktionen
                der Regel).
    MonitoringEvent:
      type: object
      description: >-
        Ein gespeichertes Überwachungsereignis, wie es von den Endpoints für
        Listen und Subjekt-Zeitachsen zurückgegeben wird. Eingeschränkte
        Nachweise (Payload, Gerätekontext, Regelbeweise) werden nur von `GET
        /v3/events/{event_uuid}/` zurückgegeben.
      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: >-
            Didit-Kennung des Ereignisses. Verwenden Sie sie als `{event_uuid}`
            bei den Abruf- und Löschaufrufen.
        event_id:
          type: string
          maxLength: 128
          description: Ihre eigene Kennung, der von Ihnen übermittelte Idempotenzschlüssel.
        event_category:
          type: string
          enum:
            - auth
            - session
            - gameplay
            - bonus
            - affiliate
            - payment
            - dispute
            - security
            - responsible_gambling
            - custom
          description: Ereigniskategorie.
        action_type:
          type: string
          maxLength: 128
          description: >-
            Was innerhalb der Kategorie passiert ist, so wie Sie es gesendet
            haben.
        occurred_at:
          type: string
          format: date-time
          description: Wann das Ereignis auf Ihrer Seite stattgefunden hat.
        received_at:
          type: string
          format: date-time
          description: Wann Didit das Ereignis akzeptiert hat.
        status:
          type: string
          enum:
            - ACCEPTED
            - APPROVED
            - IN_REVIEW
            - DECLINED
          description: >-
            `ACCEPTED`: gespeichert, keine zutreffende Regel hat den Status
            geändert (die normale Antwort für die meisten Ereignisse und immer
            die Antwort in einer Sandbox-Anwendung, in der keine Regeln
            ausgeführt werden). `APPROVED`: eine Regel hat gegriffen und der
            Score blieb unter Ihrem Prüfungsschwellenwert. `IN_REVIEW`: eine
            Regel hat den Score über den Prüfungsschwellenwert verschoben oder
            den Status gesetzt. `DECLINED`: eine Regel hat es abgelehnt oder der
            Score hat Ihren Ablehnungsschwellenwert überschritten.
        score:
          type: integer
          description: >-
            Akkumulierter Regelwert. Beginnt bei 0; `add_score`-Regelaktionen
            verändern ihn (negative Werte sind zulässig).
        subject_vendor_data:
          type: string
          maxLength: 255
          description: >-
            `subject.vendor_data` des Ereignisses: Ihre ID für den Benutzer oder
            das Unternehmen.
        subject_entity_type:
          type: string
          description: >-
            `individual` oder `company`: welche Art von Subjekt
            `subject_vendor_data` bezeichnet.
          example: individual
        subject_uuid:
          type: string
          format: uuid
          nullable: true
          description: >-
            UUID des Benutzers (Einzelperson) oder Unternehmens, zu dem das
            Ereignis aufgelöst wurde, oder null, wenn dieser Datensatz nicht
            mehr existiert.
        counterparty_vendor_data:
          type: string
          nullable: true
          description: >-
            Der andere Beteiligte eines P2P-Ereignisses (hochgestuft aus
            `payload.counterparty_vendor_data`).
          maxLength: 255
        session_id:
          type: string
          nullable: true
          description: '`session.session_id`, die mit dem Ereignis gesendet wurde.'
          maxLength: 255
        device_fingerprint:
          type: string
          nullable: true
          description: '`device_context.fingerprint`, der mit dem Ereignis gesendet wurde.'
          maxLength: 255
        ip_address:
          type: string
          nullable: true
          description: >-
            Adresse des Ereignisses. Auf dem Serverpfad ist dies
            `device_context.network_context.ip_address`, wie von Ihnen gesendet;
            auf dem Gerätepfad ist es die IP der Anfrage.
          maxLength: 64
        ip_country:
          type: string
          nullable: true
          description: >-
            Ländercode von `ip_address` aus der IP-Anreicherung oder null, wenn
            die Adresse nicht angereichert wurde (fehlende, private oder
            geringwertige Telemetriedaten, deren Adresse noch nicht bekannt
            war).
          example: ES
        amount:
          type: string
          nullable: true
          description: >-
            Betrag als Dezimal-String mit 18 Nachkommastellen, aus
            `transaction_context.amount`, `payload.amount` oder
            `payload.stake_amount`, in dieser Reihenfolge.
          example: '250.000000000000000000'
        currency:
          type: string
          nullable: true
          description: Währung aus `transaction_context.currency` oder `payload.currency`.
          maxLength: 10
        game_id:
          type: string
          nullable: true
          description: Übernommen aus `payload.game_id`.
          maxLength: 128
        round_id:
          type: string
          nullable: true
          description: Übernommen aus `payload.round_id`.
          maxLength: 128
        bonus_id:
          type: string
          nullable: true
          description: Aus `payload.bonus_id` übernommen.
          maxLength: 128
        affiliate_code:
          type: string
          nullable: true
          description: Aus `payload.affiliate_code` übernommen.
          maxLength: 128
        payment_reference_id:
          type: string
          nullable: true
          description: >-
            Zahlungsreferenz aus `transaction_context.payment_reference_id` oder
            `payload.payment_reference_id`.
          maxLength: 255
        retention_class:
          type: string
          enum:
            - low_value
            - standard
            - risk_relevant
            - monetary_or_compliance
          description: >-
            Aufbewahrungsklasse. Zahlungs- und Streitfall-Ereignisse sind
            `monetary_or_compliance`; Sicherheits- und Spielerschutz-Ereignisse
            sind `risk_relevant`; `session.page_view`, `session.sdk_heartbeat`,
            `session.sdk_loaded`, `session.device_seen`,
            `session.bot_signal_observed`, `bonus.promotion_viewed` und
            `affiliate.referral_clicked` sind `low_value`; alles andere ist
            `standard`. Ein Ereignis, auf das eine aktive Regel zutrifft, wird
            auf `risk_relevant` hochgestuft (niemals herabgestuft).
        rules_matched_count:
          type: integer
          minimum: 0
          description: >-
            Anzahl der Regeln, die auf das Ereignis zutrafen, einschließlich
            Regeln im `TEST`-Modus (die Nachweise aufzeichnen, aber keine
            Aktionen anwenden).
        correlation_pending:
          type: boolean
          description: >-
            `true`, solange eine asynchrone Regel (subjektübergreifende
            Korrelation oder eine Sequenz von mehr als 24 Stunden) für dieses
            Ereignis noch ausgeführt werden muss. Sie wird innerhalb von Minuten
            aufgelöst, und `status`, `score` sowie `rules_matched_count` werden
            direkt aktualisiert.
        is_droppable:
          type: boolean
          description: >-
            Gibt an, ob ein SDK unter Systemüberlastung (Backpressure)
            Ereignisse dieser Art verwerfen darf. `false` für jedes `security`-,
            `payment`-, `dispute`- und `responsible_gambling`-Ereignis sowie für
            `gameplay.bet_placed`, `gameplay.bet_settled` und
            `gameplay.p2p_settlement`.
    MonitoringEventRuleRun:
      type: object
      properties:
        rule_uuid:
          type: string
          format: uuid
          description: UUID der Transaktionsüberwachungsregel.
        rule_title:
          type: string
          description: Titel der Regel.
        library_key:
          type: string
          nullable: true
          description: >-
            Bibliotheksschlüssel, wenn die Regel aus der Regelbibliothek
            installiert wurde, andernfalls null.
        matched:
          type: boolean
          description: 'Immer `true`: Es werden nur übereinstimmende Durchläufe erfasst.'
        mode:
          type: string
          enum:
            - ACTIVE
            - TEST
          description: >-
            Modus der Regel bei ihrer Ausführung. Eine `TEST`-Ausführung
            zeichnet Nachweise auf, wendet jedoch keine Aktionen an.
        is_async:
          type: boolean
          description: >-
            `true`, wenn der Durchlauf aus dem asynchronen Korrelationsdurchlauf
            statt aus der Ingest-Anfrage stammte.
        severity:
          type: string
          nullable: true
          enum:
            - UNKNOWN
            - LOW
            - MEDIUM
            - HIGH
            - CRITICAL
            - null
          description: >-
            Schweregrad der Regel. Null für `TEST`-Durchläufe und für Regeln
            ohne Schweregrad.
        score_delta:
          type: integer
          description: >-
            Wie stark dieser Durchlauf den Score des Ereignisses verändert hat
            (0 für `TEST`-Durchläufe).
        action_summary:
          type: string
          nullable: true
          description: >-
            Kurze Zusammenfassung der angewendeten Aktionen, zum Beispiel `score
            +40; add_tag:VPN_LOGIN`. Null, wenn nichts angewendet wurde.
        matched_payload:
          type: array
          description: >-
            Die Bedingungen und Aggregationen, die übereinstimmten.
            Bedingungseinträge enthalten `field`, `operator`, `expected_value`,
            `current_value`, `matched`, `group_index`, `group_logic` und
            `field_source` (`server`, `sdk` oder `customer`);
            Aggregationseinträge enthalten `metric`, `field`, `operator`,
            `expected_value`, `computed_value`, `window`, `filters`, `matched`
            und `sample_references`.
          items:
            type: object
            additionalProperties: true
        created_at:
          type: string
          format: date-time
          description: Wann die Regelausführung protokolliert wurde.
      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: >-
        Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in
        der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter
        Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese-
        oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte
        Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und
        auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen
        oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde,
        der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder
        die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei
        einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows
        oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff
        erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne
        Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als
        null. Siehe https://docs.didit.me/console/api-keys.

````

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