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

# Timeline Event Pemantauan API

> Daftar semua event pemantauan satu pengguna atau perusahaan di Didit, terbaru dulu, dengan pengguna dan perusahaan yang berbagi vendor_data dipisah.

Prompt API Mengambil Linimasa Event Subjek
Salin prompt ke papan klip

<pre>
  \`Read the monitoring event timeline of one user or company in my Didit application.

  Endpoint:
  GET [https://verification.didit.me/v3/events/subjects/\{vendor\_data}/](https://verification.didit.me/v3/events/subjects/\{vendor_data}/)

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

  Goal:

  * Show one subject's activity (logins, sessions, gameplay, bonuses, payments, disputes, security changes) on a customer profile or in an investigation.

  Behavior:

  * vendor\_data is my own id for the subject (subject.vendor\_data of its events). URL-encode it; it cannot contain a slash.
  * vendor\_data is unique only within an entity type: the same id can name an individual and a company, and they are two subjects with two timelines.
  * entity\_type selects the subject: individual (default) or company. Without entity\_type=company, a company id returns the individual's timeline, not both. subject\_entity\_type is accepted as an alias.
  * Newest occurred\_at first, paginated with limit (default 50) and offset. count is capped at 100, so follow next until it is null.
  * The list filters of GET /v3/events/ apply on top: event\_category, action\_type, status, retention\_class (repeat for several values), business\_vendor\_data, session\_id, device\_fingerprint, ip\_address, game\_id, round\_id, affiliate\_code, payment\_reference\_id, counterparty\_vendor\_data, matched\_only, occurred\_from, occurred\_to, search. 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).
  * A vendor\_data with no events returns an empty page, not 404.

  Example call:
  curl -X GET "[https://verification.didit.me/v3/events/subjects/acct\_9931/?entity\_type=company\&limit=50](https://verification.didit.me/v3/events/subjects/acct_9931/?entity_type=company\&limit=50)" \
  -H "x-api-key: YOUR\_API\_KEY"

  What to read from the response:

  * results\[] - event summaries (event\_uuid, event\_category, action\_type, occurred\_at, status, score, rules\_matched\_count, ip\_country, device\_fingerprint).
  * results\[].subject\_uuid - the user or company the events resolved to.
  * 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>

Tempel ke

Lihat [Membaca kembali event](https://docs.didit.me/id/transaction-monitoring/events.md#membaca-kembali-event) di panduan tentang cara memasukkan event. Untuk mencari di seluruh subjek, gunakan [Daftar event pemantauan](https://docs.didit.me/id/management-api/monitoring-events/list.md).


## OpenAPI

````yaml id/openapi-25.json GET /v3/events/subjects/{vendor_data}/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API Verifikasi Identitas. Lakukan autentikasi dengan header x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/events/subjects/{vendor_data}/:
    get:
      tags:
        - Monitoring Events
      summary: Dapatkan lini masa peristiwa subjek
      description: >-
        Daftar setiap event pemantauan dari satu subjek, terbaru berdasarkan
        `occurred_at` lebih dahulu. `vendor_data` bersifat unik hanya dalam satu
        jenis entitas, sehingga ID yang sama dapat merujuk ke individu dan
        perusahaan: `entity_type` memilih linimasa mana yang Anda dapatkan, dan
        secara default bernilai `individual`, sehingga event perusahaan
        memerlukan `entity_type=company`. Filter dari `GET /v3/events/` juga
        berlaku, dan `vendor_data` tanpa event mengembalikan halaman kosong
        alih-alih `404`. Kunci API dengan cakupan khusus memerlukan
        `transactions: read`. Lihat [Membaca kembali
        event](https://docs.didit.me/id/transaction-monitoring/events#membaca-kembali-event).
      operationId: get_monitoring_event_subject_timeline
      parameters:
        - name: vendor_data
          in: path
          required: true
          description: >-
            ID Anda untuk subjek (`subject.vendor_data` dari event-nya). Lakukan
            URL-encode; nilai yang mengandung `/` tidak dapat ditangani oleh
            endpoint ini.
          schema:
            type: string
            minLength: 1
            maxLength: 255
          example: user-42
        - name: entity_type
          in: query
          required: false
          description: >-
            `company` mengembalikan perusahaan dengan `vendor_data` ini; nilai
            lain apa pun, atau tanpa nilai, mengembalikan individu.
            `subject_entity_type` diterima sebagai alias jika `entity_type`
            tidak ada.
          schema:
            type: string
            enum:
              - individual
              - company
            default: individual
          example: individual
        - name: limit
          in: query
          required: false
          description: >-
            Jumlah event maksimum per halaman. Defaultnya 50. Nilai di atas
            1000000 mengembalikan `400`; nilai non-numerik, nol, atau negatif
            akan dialihkan ke 50.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
          example: 50
        - name: offset
          in: query
          required: false
          description: >-
            Jumlah event yang dilewati. Default-nya 0. Lebih disarankan
            mengikuti URL `next` dari respons.
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          example: 0
        - name: event_category
          in: query
          required: false
          description: >-
            Hanya event dalam kategori ini. Ulangi parameter untuk beberapa
            nilai (`?event_category=payment&event_category=dispute`); event yang
            cocok dengan salah satunya akan dikembalikan.
          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: >-
            Hanya event dengan jenis tindakan ini (persis, peka huruf
            besar-kecil). Ulangi untuk beberapa nilai.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
          example:
            - deposit_completed
            - chargeback_opened
        - name: status
          in: query
          required: false
          description: Hanya event dengan status ini. Ulangi untuk beberapa nilai.
          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: Hanya event dalam kelas retensi ini. Ulangi untuk beberapa nilai.
          style: form
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - low_value
                - standard
                - risk_relevant
                - monetary_or_compliance
          example:
            - risk_relevant
        - name: business_vendor_data
          in: query
          required: false
          description: >-
            Kecocokan persis pada `business.vendor_data` yang dikirim bersama
            event.
          schema:
            type: string
          example: merchant-7
        - name: session_id
          in: query
          required: false
          description: Kecocokan persis pada `session.session_id`.
          schema:
            type: string
          example: web-session-abc
        - name: device_fingerprint
          in: query
          required: false
          description: Kecocokan persis pada `device_context.fingerprint`.
          schema:
            type: string
          example: fp-a8c1
        - name: ip_address
          in: query
          required: false
          description: Kecocokan persis pada alamat IP peristiwa.
          schema:
            type: string
          example: 203.0.113.42
        - name: game_id
          in: query
          required: false
          description: Kecocokan persis pada `game_id` yang dipromosikan.
          schema:
            type: string
          example: poker-holdem-01
        - name: round_id
          in: query
          required: false
          description: Kecocokan persis pada `round_id` yang dipromosikan.
          schema:
            type: string
          example: round-88231
        - name: affiliate_code
          in: query
          required: false
          description: Kecocokan persis pada `affiliate_code` yang dipromosikan.
          schema:
            type: string
          example: aff-summer
        - name: payment_reference_id
          in: query
          required: false
          description: >-
            Kecocokan persis pada referensi pembayaran (dari
            `transaction_context.payment_reference_id` atau
            `payload.payment_reference_id`).
          schema:
            type: string
          example: dep_735
        - name: counterparty_vendor_data
          in: query
          required: false
          description: Kecocokan persis pada `counterparty_vendor_data` yang dipromosikan.
          schema:
            type: string
          example: user-77
        - name: matched_only
          in: query
          required: false
          description: >-
            `true` (juga `1` atau `yes`, tidak peka huruf besar/kecil) hanya
            mengembalikan event yang cocok dengan setidaknya satu aturan
            (`rules_matched_count` di atas 0). Nilai lainnya akan diabaikan.
          schema:
            type: boolean
            default: false
          example: true
        - name: occurred_from
          in: query
          required: false
          description: >-
            Hanya event dengan `occurred_at` pada atau setelah waktu ini
            (inklusif). Kirimkan nilai ISO 8601: `2026-10-01T00:00:00Z`, offset
            eksplisit dengan tanda `+` yang di-percent-encode
            (`2026-10-01T02:00:00%2B02:00`; tanda `+` tanpa encoding akan
            didekodekan sebagai spasi dan nilainya tidak dapat lagi di-parse),
            atau tanggal saja (`2026-10-01`), yang berarti pukul 00:00:00 UTC
            pada hari tersebut. Nilai tanpa offset dibaca sebagai UTC. Nilai
            dalam format lainnya tidak diterima.
          schema:
            type: string
            format: date-time
          example: '2026-10-01T00:00:00Z'
        - name: occurred_to
          in: query
          required: false
          description: >-
            Hanya event dengan `occurred_at` pada atau sebelum waktu ini
            (inklusif). Tanggal saja berarti awal hari tersebut, sehingga
            `occurred_to=2026-10-15` tidak menyertakan sisa hari 15 Oktober;
            kirimkan `2026-10-15T23:59:59Z` untuk menyertakannya. Kirimkan nilai
            ISO 8601: `2026-10-01T00:00:00Z`, offset eksplisit dengan tanda `+`
            yang di-percent-encode (`2026-10-01T02:00:00%2B02:00`; tanda `+`
            tanpa encoding akan didekodekan sebagai spasi dan nilainya tidak
            dapat lagi di-parse), atau tanggal saja (`2026-10-01`), yang berarti
            pukul 00:00:00 UTC pada hari tersebut. Nilai tanpa offset dibaca
            sebagai UTC. Nilai dalam format lainnya tidak diterima.
          schema:
            type: string
            format: date-time
          example: '2026-10-17T23:59:59Z'
        - name: search
          in: query
          required: false
          description: >-
            Pencocokan substring yang tidak peka huruf besar/kecil pada
            `event_id`, `action_type`, `subject_vendor_data`, atau
            `counterparty_vendor_data`.
          schema:
            type: string
          example: chargeback
      responses:
        '200':
          description: Satu halaman event subjek.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitoringEventPage'
              examples:
                Individual timeline:
                  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
                No events:
                  value:
                    count: 0
                    next: null
                    previous: null
                    results: []
        '400':
          description: >-
            `limit` atau `offset` lebih besar dari 1000000. Bagian body adalah
            array JSON dengan satu pesan. Nilai `limit` yang non-numerik atau
            non-positif dialihkan kembali ke default 50 daripada gagal.
          content:
            application/json:
              examples:
                limit too large:
                  summary: limit di atas 1000000
                  value:
                    - limit must not exceed 1000000.
                offset too large:
                  summary: offset di atas 1000000
                  value:
                    - offset must not exceed 1000000.
        '401':
          description: >-
            Kunci API dengan cakupan terbatas telah kedaluwarsa. Hanya kunci
            yang kedaluwarsa yang menerima `401`; kunci yang hilang atau tidak
            valid menerima `403`.
          content:
            application/json:
              examples:
                Expired key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            `x-api-key` tidak ada (kunci yang salah, dicabut, atau kedaluwarsa
            menghasilkan `401`), kunci dengan pembatasan cakupan tanpa
            `transactions: read`, kunci yang dibatasi pada alur kerja tertentu
            atau pada sesi yang disetujui (kunci semacam itu tidak pernah
            mengakses data pemantauan transaksi), atau permintaan dari luar
            allowlist IP milik kunci tersebut.
          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: >-
            Batas laju terlampaui: permintaan `GET` berbagi anggaran sebanyak
            600 permintaan per menit per kunci API. Tunggu `Retry-After` detik,
            lalu coba lagi.
          headers:
            Retry-After:
              description: Detik untuk menunggu sebelum mencoba lagi.
              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/subjects/user-42/?entity_type=individual&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.retrieve_subject_timeline(
                "user-42",
            ):
                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.retrieveSubjectTimeline("user-42")) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.MonitoringEvents.RetrieveSubjectTimelineAutoPaging(ctx, \"user-42\", didit.MonitoringEventsRetrieveSubjectTimelineParams{})\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().retrieveSubjectTimeline("user-42")) {
                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->retrieveSubjectTimeline('user-42') as
            $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: >-
            require "didit"


            # Reads DIDIT_API_KEY.

            didit = Didit::Client.new


            didit.monitoring_events.retrieve_subject_timeline("user-42").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.RetrieveSubjectTimelineAsync("user-42"))

            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    MonitoringEventPage:
      type: object
      description: Satu halaman event pemantauan, `occurred_at` terbaru lebih dahulu.
      required:
        - count
        - next
        - previous
        - results
      properties:
        count:
          type: integer
          description: >-
            Jumlah event yang cocok, tepat hingga 100 dan dibatasi pada 100 di
            atasnya. Jangan menghitung jumlah halaman dari nilai ini; ikuti
            `next` hingga bernilai null.
        next:
          type: string
          format: uri
          nullable: true
          description: URL halaman berikutnya, atau null pada halaman terakhir.
        previous:
          type: string
          format: uri
          nullable: true
          description: URL halaman sebelumnya, atau null pada halaman pertama.
        results:
          type: array
          items:
            $ref: '#/components/schemas/MonitoringEvent'
    MonitoringEvent:
      type: object
      description: >-
        Satu event pemantauan tersimpan sebagaimana dikembalikan oleh endpoint
        daftar dan linimasa subjek. Bukti terbatas (payload, konteks perangkat,
        bukti aturan) hanya dikembalikan oleh `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: >-
            Pengidentifikasi Didit untuk event tersebut. Gunakan sebagai
            `{event_uuid}` dalam panggilan pengambilan dan penghapusan.
        event_id:
          type: string
          maxLength: 128
          description: Pengenal Anda sendiri, kunci idempotensi yang Anda kirimkan.
        event_category:
          type: string
          enum:
            - auth
            - session
            - gameplay
            - bonus
            - affiliate
            - payment
            - dispute
            - security
            - responsible_gambling
            - custom
          description: Kategori peristiwa.
        action_type:
          type: string
          maxLength: 128
          description: Hal yang terjadi dalam kategori, sesuai yang Anda kirimkan.
        occurred_at:
          type: string
          format: date-time
          description: Waktu ketika peristiwa terjadi di pihak Anda.
        received_at:
          type: string
          format: date-time
          description: Waktu ketika Didit menerima event tersebut.
        status:
          type: string
          enum:
            - ACCEPTED
            - APPROVED
            - IN_REVIEW
            - DECLINED
          description: >-
            `ACCEPTED`: disimpan, tidak ada aturan yang cocok yang mengubah
            statusnya (jawaban normal untuk sebagian besar peristiwa, dan selalu
            menjadi jawaban dalam aplikasi sandbox, tempat aturan tidak
            dijalankan). `APPROVED`: aturan cocok dan skor tetap di bawah ambang
            batas peninjauan Anda. `IN_REVIEW`: aturan menaikkan skor melampaui
            ambang batas peninjauan atau menetapkan status tersebut. `DECLINED`:
            aturan menolaknya atau skor melampaui ambang batas penolakan Anda.
        score:
          type: integer
          description: >-
            Skor aturan yang terakumulasi. Dimulai dari 0; tindakan aturan
            `add_score` mengubahnya (selisih negatif diizinkan).
        subject_vendor_data:
          type: string
          maxLength: 255
          description: >-
            `subject.vendor_data` dari event: id Anda untuk pengguna atau
            perusahaan.
        subject_entity_type:
          type: string
          description: >-
            `individual` atau `company`: jenis subjek yang disebut oleh
            `subject_vendor_data`.
          example: individual
        subject_uuid:
          type: string
          format: uuid
          nullable: true
          description: >-
            UUID pengguna (individu) atau perusahaan yang menjadi hasil resolusi
            peristiwa, atau null jika rekaman tersebut sudah tidak ada.
        counterparty_vendor_data:
          type: string
          nullable: true
          description: >-
            Pihak lain dalam peristiwa P2P (dipromosikan dari
            `payload.counterparty_vendor_data`).
          maxLength: 255
        session_id:
          type: string
          nullable: true
          description: '`session.session_id` dikirim bersama event.'
          maxLength: 255
        device_fingerprint:
          type: string
          nullable: true
          description: '`device_context.fingerprint` dikirim bersama peristiwa.'
          maxLength: 255
        ip_address:
          type: string
          nullable: true
          description: >-
            Alamat IP peristiwa. Pada jalur server ini adalah
            `device_context.network_context.ip_address` seperti yang Anda
            kirimkan; pada jalur perangkat ini adalah IP permintaan.
          maxLength: 64
        ip_country:
          type: string
          nullable: true
          description: >-
            Kode negara dari `ip_address` hasil pengayaan IP, atau null jika
            alamat tidak diperkaya (hilang, privat, atau telemetri bernilai
            rendah yang alamatnya belum diketahui).
          example: ES
        amount:
          type: string
          nullable: true
          description: >-
            Jumlah sebagai string desimal dengan 18 tempat desimal, dari
            `transaction_context.amount`, `payload.amount` atau
            `payload.stake_amount`, sesuai urutan tersebut.
          example: '250.000000000000000000'
        currency:
          type: string
          nullable: true
          description: >-
            Mata uang dari `transaction_context.currency` atau
            `payload.currency`.
          maxLength: 10
        game_id:
          type: string
          nullable: true
          description: Dipromosikan dari `payload.game_id`.
          maxLength: 128
        round_id:
          type: string
          nullable: true
          description: Dipromosikan dari `payload.round_id`.
          maxLength: 128
        bonus_id:
          type: string
          nullable: true
          description: Dipromosikan dari `payload.bonus_id`.
          maxLength: 128
        affiliate_code:
          type: string
          nullable: true
          description: Dipromosikan dari `payload.affiliate_code`.
          maxLength: 128
        payment_reference_id:
          type: string
          nullable: true
          description: >-
            Referensi pembayaran dari `transaction_context.payment_reference_id`
            atau `payload.payment_reference_id`.
          maxLength: 255
        retention_class:
          type: string
          enum:
            - low_value
            - standard
            - risk_relevant
            - monetary_or_compliance
          description: >-
            Kelas retensi. Event pembayaran dan sengketa adalah
            `monetary_or_compliance`; event keamanan dan perjudian yang
            bertanggung jawab adalah `risk_relevant`; `session.page_view`,
            `session.sdk_heartbeat`, `session.sdk_loaded`,
            `session.device_seen`, `session.bot_signal_observed`,
            `bonus.promotion_viewed` dan `affiliate.referral_clicked` adalah
            `low_value`; selebihnya adalah `standard`. Event yang cocok dengan
            aturan aktif dipromosikan ke `risk_relevant` (tidak pernah
            diturunkan).
        rules_matched_count:
          type: integer
          minimum: 0
          description: >-
            Jumlah aturan yang cocok dengan peristiwa, termasuk aturan dalam
            mode `TEST` (yang mencatat bukti tetapi tidak menerapkan tindakan
            apa pun).
        correlation_pending:
          type: boolean
          description: >-
            `true` selama aturan asinkron (korelasi lintas subjek, atau urutan
            lebih dari 24 jam) masih harus berjalan untuk event ini. Ini akan
            terselesaikan dalam beberapa menit dan `status`, `score`, serta
            `rules_matched_count` akan diperbarui langsung di tempat.
        is_droppable:
          type: boolean
          description: >-
            Menentukan apakah SDK yang mengalami backpressure boleh mengabaikan
            event jenis ini. Bernilai `false` untuk setiap event `security`,
            `payment`, `dispute`, dan `responsible_gambling`, serta untuk
            `gameplay.bet_placed`, `gameplay.bet_settled`, dan
            `gameplay.p2p_settlement`.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Kunci API aplikasi Anda, dari Developers -> API keys di Business
        Console. Kunci utama memiliki akses penuh. Kunci bernama dapat diberi
        cakupan: none, read, atau write per sumber daya, dibatasi pada beberapa
        alur kerja atau pada sesi yang disetujui, pada daftar alamat IP, dan
        pada tanggal kedaluwarsa. 401 berarti kuncinya salah, dicabut, atau
        kedaluwarsa; 403 berarti tidak ada kunci yang dikirimkan, kunci tidak
        memiliki akses ke sumber daya atau tindakan ini, atau permintaan datang
        dari alamat di luar daftar IP-nya; 404 pada rute sesi berarti sesi
        berada di luar alur kerja atau status kunci tersebut. Kunci tanpa akses
        media menerima URL gambar, video, dan PDF sebagai null, dan kunci tanpa
        izin tulis sesi menerima tautan sesi dan token sebagai null. Lihat
        https://docs.didit.me/console/api-keys.

````

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