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

# Obter evento de monitoramento via API

> A API da Didit retorna um evento de monitoramento com payload, dispositivo, enriquecimento de IP, sinais do titular, tags e evidências de regras.

Prompt da API para obter evento de monitoramento
Copiar o prompt para a área de transferência

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

Colar em

Consulte [Evidências](https://docs.didit.me/pt-br/transaction-monitoring/event-rules.md#evidências) para ver como as execuções de regras registram cada valor que correspondeu e sua origem, e [Enriquecimento de IP](https://docs.didit.me/pt-br/transaction-monitoring/ip-enrichment.md) para conhecer os campos enriquecidos do endereço.


## OpenAPI

````yaml pt-br/openapi-25.json GET /v3/events/{event_uuid}/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de verificação de identidade. Autentique-se com o cabeçalho x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/events/{event_uuid}/:
    get:
      tags:
        - Monitoring Events
      summary: Obter evento de monitoramento
      description: >-
        Obtenha um evento de monitoramento com tudo o que a lista retorna, além
        do payload, dos valores personalizados, do contexto do dispositivo, da
        origem dos campos (`field_sources`), dos campos de domínio promovidos,
        de `expires_at`, de cada execução de regra correspondente com a sua
        evidência, do enriquecimento de IP e das tags que as regras anexaram.
        Enquanto `correlation_pending` for `true`, uma regra assíncrona ainda
        precisa ser executada; leia o evento novamente alguns minutos depois
        para obter `status`, `score` e `rule_runs` finais. As leituras funcionam
        com a ingestão de eventos ativada ou não. Uma chave de API com escopo
        precisa de `transactions: read`. Consulte
        [Evidência](https://docs.didit.me/pt-br/transaction-monitoring/event-rules#evidências)
        e [Enriquecimento de
        IP](https://docs.didit.me/pt-br/transaction-monitoring/ip-enrichment).
      operationId: get_monitoring_event
      parameters:
        - name: event_uuid
          in: path
          required: true
          description: >-
            Identificador da Didit para o evento (`event_uuid` da resposta de
            criação, lote, listagem ou linha do tempo), não o seu próprio
            `event_id`.
          schema:
            type: string
            format: uuid
          example: 11111111-2222-3333-4444-555555555555
      responses:
        '200':
          description: O evento com suas evidências.
          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: >-
            A chave de API com escopo expirou. Somente uma chave expirada recebe
            `401`; uma chave ausente ou inválida recebe `403`.
          content:
            application/json:
              examples:
                Expired key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Ausência de `x-api-key` (uma chave incorreta, revogada ou expirada
            recebe `401`), uma chave com escopo sem `transactions: read`, uma
            chave limitada a alguns fluxos ou a sessões aprovadas (essa chave
            nunca acessa dados de monitoramento de transações) ou uma requisição
            feita de fora da lista de IPs permitidos da chave.
          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: >-
            Não existe nenhum evento com este `event_uuid` na aplicação: ele
            nunca foi armazenado, foi excluído ou pertence a outra aplicação. Um
            segmento de caminho que não seja um UUID não corresponde à rota e
            também retorna `404`.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: No MonitoringEvent matches the given query.
        '429':
          description: >-
            Limite de requisições excedido: requisições `GET` compartilham uma
            cota de 600 requisições por minuto por chave de API. Aguarde
            `Retry-After` segundos e tente novamente.
          headers:
            Retry-After:
              description: Segundos de espera antes de tentar novamente.
              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: >-
        Um evento de monitoramento com seu envelope completo, enriquecimento e
        evidências das regras. Todos os campos de `MonitoringEvent`, além dos
        campos abaixo.
      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: Os campos da categoria que você enviou em `payload`.
            custom_values:
              type: object
              additionalProperties: true
              description: >-
                Os `custom_values` escalares que você enviou. A Didit adiciona
                `vpn_or_proxy_detected: true` ou `is_data_center: true` quando o
                enriquecimento de IP sinaliza o endereço e você não os definiu.
            device_context:
              type: object
              additionalProperties: true
              description: >-
                O contexto do dispositivo conforme armazenado: seu
                `device_context` (incluindo `fingerprint`,
                `persistent_device_id` e `bot_score` quando enviados) com
                `network_context` completado pelo enriquecimento de IP
                (`ip_country`, `ip_country_code`, `ip_city`, `asn_number`,
                `asn_organization`, `is_vpn_or_tor`, `is_data_center`,
                `proxy_type`, `connection_type`) nas chaves que você deixou
                vazias.
            field_sources:
              type: object
              additionalProperties:
                type: string
                enum:
                  - customer
                  - sdk
                  - server
              description: >-
                Caminho do campo até a procedência: `customer` (enviado pelo seu
                backend), `sdk` (enviado pelo canal do dispositivo) ou `server`
                (derivado pela Didit, como `received_at` e campos de rede
                enriquecidos). Verifique-o antes de agir com base em uma
                correspondência.
            session_sequence:
              type: integer
              format: int64
              nullable: true
              description: '`session.sequence` enviado com o evento.'
            table_id:
              type: string
              nullable: true
              description: Promovido de `payload.table_id`.
              maxLength: 128
            hand_id:
              type: string
              nullable: true
              description: Promovido a partir de `payload.hand_id`.
              maxLength: 128
            match_id:
              type: string
              nullable: true
              description: Promovido de `payload.match_id`.
              maxLength: 128
            market_id:
              type: string
              nullable: true
              description: Promovido de `payload.market_id`.
              maxLength: 128
            side:
              type: string
              nullable: true
              description: Promovido de `payload.side`.
              maxLength: 64
            role:
              type: string
              nullable: true
              description: Promovido de `payload.role`.
              maxLength: 64
            net_result_amount:
              type: string
              nullable: true
              description: >-
                Promovido de `payload.net_result_amount`, como string decimal
                com 18 casas decimais.
              example: '-120.000000000000000000'
            payment_fingerprint:
              type: string
              nullable: true
              description: Promovido de `payload.payment_fingerprint`.
              maxLength: 255
            instrument_reference_hash:
              type: string
              nullable: true
              description: Promovido de `payload.instrument_reference_hash`.
              maxLength: 255
            withdrawal_address_hash:
              type: string
              nullable: true
              description: >-
                Promovido de `payload.withdrawal_address_hash` (ou
                `payload.destination_reference_hash`).
              maxLength: 255
            dispute_id:
              type: string
              nullable: true
              description: Promovido a partir de `payload.dispute_id`.
              maxLength: 255
            chargeback_id:
              type: string
              nullable: true
              description: Promovido a partir de `payload.chargeback_id`.
              maxLength: 255
            changed_field:
              type: string
              nullable: true
              description: >-
                Promovido a partir de `payload.changed_field` (eventos de
                alteração de segurança).
              maxLength: 128
            identity_match_ref:
              type: string
              nullable: true
              description: >-
                Promovido a partir de `payload.identity_match_ref`
                (correspondências em registros de jogo responsável).
              maxLength: 255
            schema_version:
              type: integer
              description: Versão do esquema do envelope do evento. Atualmente `1`.
              example: 1
            expires_at:
              type: string
              format: date-time
              nullable: true
              description: >-
                Quando o evento expira conforme sua classe de retenção e é
                excluído: `occurred_at` mais o período da classe (14, 30 ou 90
                dias por padrão, ajustável por aplicação). Nulo para eventos
                `monetary_or_compliance`, que seguem a retenção de transações.
            rules_evaluated_count:
              type: integer
              minimum: 0
              description: Número de regras de evento avaliadas para este evento.
            rule_runs:
              type: array
              description: >-
                Todas as regras que corresponderam ao evento, da mais recente
                para a mais antiga.
              items:
                $ref: '#/components/schemas/MonitoringEventRuleRun'
            ip_enrichment:
              type: object
              nullable: true
              description: >-
                Enriquecimento do endereço IP do evento, ou null quando o
                endereço não foi enriquecido. Consulte [Enriquecimento de
                IP](https://docs.didit.me/pt-br/transaction-monitoring/ip-enrichment).
              properties:
                ip_country_code:
                  type: string
                  nullable: true
                  description: Código do país do endereço.
                ip_city:
                  type: string
                  nullable: true
                  description: Cidade do endereço.
                asn_number:
                  type: integer
                  nullable: true
                  description: Número de sistema autônomo.
                asn_organization:
                  type: string
                  nullable: true
                  description: Organização que opera o sistema autônomo.
                is_vpn_or_tor:
                  type: boolean
                  description: Se o endereço é uma saída conhecida de VPN ou Tor.
                is_data_center:
                  type: boolean
                  description: >-
                    Se o endereço pertence a uma rede de hospedagem ou de data
                    center.
                proxy_type:
                  type: string
                  nullable: true
                  description: >-
                    Classificação de proxy do endereço como string opaca, ou
                    null.
                last_enriched_at:
                  type: string
                  format: date-time
                  nullable: true
                  description: Quando o endereço foi enriquecido pela última vez.
              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: >-
                Sinais de risco de e-mail e telefone do titular armazenados em
                cache, ou null quando não existe perfil para o titular.
              properties:
                email_risk_score:
                  type: integer
                  nullable: true
                  description: Pontuação de risco do e-mail.
                email_deliverability:
                  type: string
                  nullable: true
                  description: Veredito sobre a entregabilidade do e-mail.
                email_is_disposable:
                  type: boolean
                  nullable: true
                  description: Se o endereço de e-mail é descartável.
                email_is_breached:
                  type: boolean
                  nullable: true
                  description: >-
                    Se o endereço de e-mail aparece em vazamentos de dados
                    conhecidos.
                email_social_count:
                  type: integer
                  nullable: true
                  description: Número de contas online vinculadas ao endereço de e-mail.
                email_social_providers:
                  type: array
                  items:
                    type: string
                  description: >-
                    Nomes dos serviços online em que foi encontrada uma conta
                    vinculada ao endereço de e-mail.
                phone_risk_score:
                  type: integer
                  nullable: true
                  description: Pontuação de risco do telefone.
                phone_line_type:
                  type: string
                  nullable: true
                  description: Tipo de linha telefônica.
                phone_carrier:
                  type: string
                  nullable: true
                  description: Nome da operadora de telefonia.
                phone_social_count:
                  type: integer
                  nullable: true
                  description: Número de contas online vinculadas ao número de telefone.
                phone_social_providers:
                  type: array
                  items:
                    type: string
                  description: >-
                    Nomes dos serviços online em que foi encontrada uma conta
                    vinculada ao número de telefone.
                source_provider:
                  type: string
                  nullable: true
                  description: Identificador opaco da fonte do perfil.
                last_enriched_at:
                  type: string
                  format: date-time
                  nullable: true
                  description: Quando o perfil foi atualizado pela última vez.
              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: Nomes das tags anexadas ao evento (ações `add_tags` de regras).
    MonitoringEvent:
      type: object
      description: >-
        Um evento de monitoramento armazenado, conforme retornado pelos
        endpoints de listagem e de linha do tempo do titular. Evidências
        restritas (payload, contexto do dispositivo, evidências de regras) são
        retornadas apenas por `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 da Didit para o evento. Use-o como `{event_uuid}` nas
            chamadas de consulta e exclusão.
        event_id:
          type: string
          maxLength: 128
          description: Seu próprio identificador, a chave de idempotência que você enviou.
        event_category:
          type: string
          enum:
            - auth
            - session
            - gameplay
            - bonus
            - affiliate
            - payment
            - dispute
            - security
            - responsible_gambling
            - custom
          description: Categoria do evento.
        action_type:
          type: string
          maxLength: 128
          description: O que aconteceu dentro da categoria, como você enviou.
        occurred_at:
          type: string
          format: date-time
          description: Quando o evento ocorreu do seu lado.
        received_at:
          type: string
          format: date-time
          description: Quando a Didit aceitou o evento.
        status:
          type: string
          enum:
            - ACCEPTED
            - APPROVED
            - IN_REVIEW
            - DECLINED
          description: >-
            `ACCEPTED`: armazenado, nenhuma regra correspondente alterou sua
            situação (a resposta normal para a maioria dos eventos, e sempre a
            resposta em uma aplicação de sandbox, onde nenhuma regra é
            executada). `APPROVED`: uma regra correspondeu e a pontuação ficou
            abaixo do seu limiar de revisão. `IN_REVIEW`: uma regra elevou a
            pontuação acima do limiar de revisão ou definiu o status.
            `DECLINED`: uma regra o recusou ou a pontuação ultrapassou seu
            limiar de recusa.
        score:
          type: integer
          description: >-
            Pontuação acumulada das regras. Começa em 0; as ações `add_score`
            das regras a alteram (variações negativas são permitidas).
        subject_vendor_data:
          type: string
          maxLength: 255
          description: >-
            `subject.vendor_data` do evento: o seu id para o usuário ou a
            empresa.
        subject_entity_type:
          type: string
          description: >-
            `individual` ou `company`: o tipo de titular identificado por
            `subject_vendor_data`.
          example: individual
        subject_uuid:
          type: string
          format: uuid
          nullable: true
          description: >-
            UUID do usuário (pessoa física) ou da empresa ao qual o evento foi
            associado, ou null quando esse registro não existe mais.
        counterparty_vendor_data:
          type: string
          nullable: true
          description: >-
            O outro jogador de um evento P2P (promovido a partir de
            `payload.counterparty_vendor_data`).
          maxLength: 255
        session_id:
          type: string
          nullable: true
          description: '`session.session_id` enviado com o evento.'
          maxLength: 255
        device_fingerprint:
          type: string
          nullable: true
          description: '`device_context.fingerprint` enviado com o evento.'
          maxLength: 255
        ip_address:
          type: string
          nullable: true
          description: >-
            Endereço IP do evento. No canal do servidor, é o
            `device_context.network_context.ip_address` exatamente como você o
            enviou; no canal do dispositivo, é o IP da requisição.
          maxLength: 64
        ip_country:
          type: string
          nullable: true
          description: >-
            Código do país de `ip_address` obtido pelo enriquecimento de IP, ou
            null quando o endereço não foi enriquecido (ausente, privado ou
            telemetria de baixo valor cujo endereço ainda não era conhecido).
          example: ES
        amount:
          type: string
          nullable: true
          description: >-
            Valor como string decimal com 18 casas decimais, obtido de
            `transaction_context.amount`, `payload.amount` ou
            `payload.stake_amount`, nessa ordem.
          example: '250.000000000000000000'
        currency:
          type: string
          nullable: true
          description: Moeda de `transaction_context.currency` ou `payload.currency`.
          maxLength: 10
        game_id:
          type: string
          nullable: true
          description: Promovido a partir de `payload.game_id`.
          maxLength: 128
        round_id:
          type: string
          nullable: true
          description: Promovido de `payload.round_id`.
          maxLength: 128
        bonus_id:
          type: string
          nullable: true
          description: Promovido a partir de `payload.bonus_id`.
          maxLength: 128
        affiliate_code:
          type: string
          nullable: true
          description: Promovido a partir de `payload.affiliate_code`.
          maxLength: 128
        payment_reference_id:
          type: string
          nullable: true
          description: >-
            Referência de pagamento obtida de
            `transaction_context.payment_reference_id` ou
            `payload.payment_reference_id`.
          maxLength: 255
        retention_class:
          type: string
          enum:
            - low_value
            - standard
            - risk_relevant
            - monetary_or_compliance
          description: >-
            Classe de retenção. Eventos de pagamento e de disputa são
            `monetary_or_compliance`; eventos de segurança e de jogo responsável
            são `risk_relevant`; `session.page_view`, `session.sdk_heartbeat`,
            `session.sdk_loaded`, `session.device_seen`,
            `session.bot_signal_observed`, `bonus.promotion_viewed` e
            `affiliate.referral_clicked` são `low_value`; todo o resto é
            `standard`. Um evento correspondido por uma regra ativa é promovido
            para `risk_relevant` (nunca rebaixado).
        rules_matched_count:
          type: integer
          minimum: 0
          description: >-
            Número de regras que corresponderam ao evento, incluindo regras no
            modo `TEST` (que registram evidências, mas não aplicam nenhuma
            ação).
        correlation_pending:
          type: boolean
          description: >-
            `true` enquanto uma regra assíncrona (correlação entre sujeitos, ou
            uma sequência com mais de 24 horas) ainda precisa ser executada para
            este evento. Ela é resolvida em minutos, e `status`, `score` e
            `rules_matched_count` são atualizados no próprio registro.
        is_droppable:
          type: boolean
          description: >-
            Indica se um SDK sob contrapressão pode descartar eventos deste
            tipo. `false` para todo evento `security`, `payment`, `dispute` e
            `responsible_gambling` e para `gameplay.bet_placed`,
            `gameplay.bet_settled` e `gameplay.p2p_settlement`.
    MonitoringEventRuleRun:
      type: object
      properties:
        rule_uuid:
          type: string
          format: uuid
          description: UUID da regra de monitoramento de transações.
        rule_title:
          type: string
          description: Título da regra.
        library_key:
          type: string
          nullable: true
          description: >-
            Chave da biblioteca quando a regra foi instalada a partir da
            biblioteca de regras; caso contrário, null.
        matched:
          type: boolean
          description: >-
            Sempre `true`: apenas as execuções com correspondência são
            registradas.
        mode:
          type: string
          enum:
            - ACTIVE
            - TEST
          description: >-
            Modo da regra quando ela foi executada. Uma execução `TEST` registra
            evidências, mas não aplicou nenhuma ação.
        is_async:
          type: boolean
          description: >-
            `true` quando a execução veio da passagem assíncrona de correlação,
            e não da requisição de ingestão.
        severity:
          type: string
          nullable: true
          enum:
            - UNKNOWN
            - LOW
            - MEDIUM
            - HIGH
            - CRITICAL
            - null
          description: >-
            Severidade da regra. Nula para execuções `TEST` e para regras sem
            severidade.
        score_delta:
          type: integer
          description: >-
            Quanto esta execução alterou a pontuação do evento (0 para execuções
            `TEST`).
        action_summary:
          type: string
          nullable: true
          description: >-
            Resumo curto das ações aplicadas, por exemplo `score +40;
            add_tag:VPN_LOGIN`. Nulo quando nada foi aplicado.
        matched_payload:
          type: array
          description: >-
            As condições e agregações que corresponderam. As entradas de
            condição trazem `field`, `operator`, `expected_value`,
            `current_value`, `matched`, `group_index`, `group_logic` e
            `field_source` (`server`, `sdk` ou `customer`); as entradas de
            agregação trazem `metric`, `field`, `operator`, `expected_value`,
            `computed_value`, `window`, `filters`, `matched` e
            `sample_references`.
          items:
            type: object
            additionalProperties: true
        created_at:
          type: string
          format: date-time
          description: Quando a execução da regra foi registrada.
      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: >-
        Chave de API da sua aplicação, em Developers -> API keys no Business
        Console. A chave principal tem acesso total. Uma chave nomeada pode ter
        escopo restrito: nenhum acesso, leitura ou escrita por recurso, limitada
        a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a
        uma data de validade. 401 significa que a chave está errada, revogada ou
        expirada; 403 significa que nenhuma chave foi enviada, que a chave não
        tem acesso a este recurso ou ação, ou que a requisição veio de um
        endereço fora da sua lista de IPs; 404 em uma rota de sessão significa
        que a sessão está fora dos fluxos ou status da chave. Uma chave sem
        acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave
        sem permissão de escrita em sessões recebe links e tokens de sessão como
        null. Consulte https://docs.didit.me/console/api-keys.

````

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