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

# Skrining VASP Pihak Lawan: API Travel Rule

> Cek apakah skrining pihak lawan aktif, berapa biaya satu skrining, dan hasil skrining sanksi VASP pihak lawan terbaru di Didit.

Dapatkan Prompt API Skrining VASP
Salin prompt ke papan klip

<pre>
  \`Read my application's sanctions and adverse-media screening of a Travel Rule counterparty VASP, and whether I can run one.

  Endpoint:
  GET [https://verification.didit.me/v3/travel-rule/vasps/\{vasp\_id}/screening/](https://verification.didit.me/v3/travel-rule/vasps/\{vasp_id}/screening/)

  Authentication:
  Use the x-api-key header with my Didit API key. Reading is free.

  vasp\_id is the id GET /v3/travel-rule/vasps/ returns for a directory entry or a Didit network member.

  What to read from the response:

  * enabled - my counterparty\_screening\_enabled Travel Rule setting. Off by default: nothing is screened or billed while it is off.
  * price - decimal string in USD: what one screening costs my organization (the Company AML Screening price).
  * fresh\_days - how long a screening stays fresh and is reused instead of billed again (30).
  * screening - null when I never screened this counterparty; otherwise {id, status, total_hits, score, screened_at, fresh, flagged}.
  * screening.status - Approved (no possible match needs attention), In Review or Declined (a possible sanctions or adverse-media match).
  * screening.flagged - true while the screening is fresh and In Review or Declined. While my latest screening is flagged and screening stays on, my rules read counterparty\_risk\_level as HIGH for this counterparty.

  The screening is private to my application: no other Didit customer sees it, and it never changes the shared directory entry.

  Failure modes:

  * 403 - my organization's contract has no rate configured for counterparty screening.
  * 404 - no directory entry or listed Didit network member has this id, or the id is my own VASP profile.

  Full guide: /transaction-monitoring/travel-rule#counterparty-screening.\`
</pre>

Tempel ke


## OpenAPI

````yaml id/openapi-25.json GET /v3/travel-rule/vasps/{vasp_id}/screening/
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/travel-rule/vasps/{vasp_id}/screening/:
    get:
      tags:
        - Travel Rule
      summary: Dapatkan skrining entitas VASP
      description: >-
        Menentukan apakah skrining pihak lawan aktif untuk aplikasi Anda, biaya
        satu kali skrining bagi organisasi Anda, berapa lama hasil tetap
        terkini, dan skrining sanksi serta media negatif terbaru Anda untuk
        pihak lawan. Membacanya gratis.
      operationId: getTravelRuleVaspScreening
      parameters:
        - name: vasp_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: >-
            ID dari baris GET /v3/travel-rule/vasps/: entri direktori atau
            anggota jaringan Didit.
      responses:
        '200':
          description: Pengaturan skrining Anda, harganya, dan skrining terbaru Anda.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleCounterpartyScreeningStatus'
              example:
                enabled: true
                price: '0.20'
                fresh_days: 30
                screening:
                  id: 7a1d2c3b-4e5f-4a6b-8c7d-9e0f1a2b3c4d
                  status: Approved
                  total_hits: 0
                  score: null
                  screened_at: '2026-10-14T09:58:00Z'
                  fresh: true
                  flagged: false
        '403':
          description: >-
            Kontrak organisasi Anda belum mengonfigurasi tarif untuk skrining
            pihak lawan.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: No contract rate is configured for this usage type.
        '404':
          description: >-
            Tidak ada entri direktori atau anggota jaringan Didit terdaftar yang
            memiliki id ini. Profil VASP Anda sendiri tidak pernah menjadi pihak
            lawan Anda.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
              example:
                detail: No directory entry or Didit network member has this id.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            https://verification.didit.me/v3/travel-rule/vasps/{vasp_id}/screening/
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.travel_rule.retrieve_vasp_screening(
                "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.travelRule.retrieveVaspScreening("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.TravelRule.RetrieveVASPScreening(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.travelRule().retrieveVaspScreening("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->travelRule->retrieveVaspScreening('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.travel_rule.retrieve_vasp_screening("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.TravelRule.RetrieveVaspScreeningAsync("11111111-2222-3333-4444-555555555555");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleCounterpartyScreeningStatus:
      type: object
      properties:
        enabled:
          type: boolean
          description: >-
            Pengaturan Travel Rule counterparty_screening_enabled Anda. Nonaktif
            secara default; tidak ada skrining atau penagihan selama pengaturan
            ini nonaktif.
        price:
          type: string
          description: >-
            String desimal, dalam USD: biaya satu skrining untuk organisasi
            Anda, harga Skrining AML Perusahaan.
        fresh_days:
          type: integer
          description: >-
            Berapa hari suatu skrining tetap dianggap baru dan digunakan
            kembali.
        screening:
          allOf:
            - $ref: '#/components/schemas/TravelRuleCounterpartyScreening'
          nullable: true
          description: >-
            Skrining terbaru Anda terhadap pihak lawan. Null jika Anda belum
            pernah melakukan skrining terhadapnya.
    TravelRuleCounterpartyScreening:
      type: object
      description: >-
        Satu skrining sanksi dan media negatif dari entitas pihak lawan,
        dijalankan untuk dan ditagihkan ke aplikasi Anda. Bersifat privat untuk
        aplikasi Anda: pelanggan lain tidak akan pernah melihatnya.
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum:
            - Approved
            - In Review
            - Declined
          description: >-
            Disetujui: tidak ada kecocokan potensial yang memerlukan perhatian.
            Dalam Peninjauan atau Ditolak: potensi kecocokan sanksi atau media
            negatif.
        total_hits:
          type: integer
          description: Berapa banyak kemungkinan kecocokan yang dikembalikan oleh skrining.
        score:
          type: number
          nullable: true
          description: >-
            Skor risiko tertinggi di antara kemungkinan kecocokan. Null jika
            tidak ada yang cocok.
        screened_at:
          type: string
          format: date-time
        fresh:
          type: boolean
          description: >-
            Apakah usia skrining kurang dari fresh_days (30 hari). Skrining baru
            akan digunakan kembali alih-alih ditagih lagi.
        flagged:
          type: boolean
          description: >-
            true selama skrining masih baru dan statusnya Dalam Peninjauan atau
            Ditolak. Selama skrining terbaru Anda ditandai dan skrining pihak
            lawan tetap aktif, counterparty_risk_level bernilai HIGH dalam
            aturan Anda.
  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.