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

# API Jaringan Travel Rule: Ambil Daftar Jaringan

> Cek status jaringan Travel Rule untuk aplikasi Anda: keanggotaan Anda, keanggotaan Didit, dan alasan jaringan belum bisa mengirim.

Prompt API untuk Mendapatkan Jaringan Travel Rule
Salin prompt ke papan klip

<pre>
  \`Read, for my application, the real state of every Travel Rule network, the due-diligence questionnaire and my participants.

  Endpoint:
  GET [https://verification.didit.me/v3/travel-rule/networks/](https://verification.didit.me/v3/travel-rule/networks/)

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

  What to read from the response:

  * platform\_networks\_enabled - whether network access through Didit's membership is open. While false, questionnaire saves, submissions and network requests answer 403.
  * networks - keyed by gtr/trust/verifyvasp/sygna: {rail, mode, state, reason, platform_available, connected, participant, vasps_reachable, routed_30d}.
  * state: own\_membership | live\_through\_didit | off | didit\_onboarding | questionnaire\_needed | questionnaire\_in\_review | request\_access | request\_sent | unavailable | error.
  * reason: the machine-readable detail, for example didit\_membership\_not\_live, own\_membership\_only (TRUST) or provisioning\_failed.
  * participant: my own participant on that network (status, participant\_code, last\_error), or null.
  * questionnaire - status (draft | submitted | changes\_requested | approved | rejected), answers and Didit's review\_note.
  * participants - every participant I have, with its status history.

  Reading creates nothing. Full guide: /transaction-monitoring/travel-rule.\`
</pre>

Tempel ke

## Status jaringan

Sebuah jaringan mengirim untuk aplikasi Anda dengan salah satu dari dua cara:

* **Keanggotaan Anda sendiri** (`state: own_membership`): keanggotaan yang Anda sambungkan di **Marketplace**. Keanggotaan ini selalu diutamakan.
* **Keanggotaan Didit** (`state: live_through_didit`): Didit mewakili aplikasi Anda sebagai pesertanya sendiri di GTR atau Sygna, dengan kode peserta yang diberikan jaringan kepada Anda. Pesan tidak pernah membawa kode Didit sendiri, dan apa pun yang dikirim jaringan ke kode peserta Anda sampai ke aplikasi Anda.

Menjangkau jaringan melalui keanggotaan Didit memerlukan tiga langkah: kirim [kuesioner jaringan](https://docs.didit.me/id/management-api/travel-rule/submit-network-questionnaire.md), tunggu Didit menyetujuinya, lalu [meminta akses ke jaringan](https://docs.didit.me/id/management-api/travel-rule/request-network.md). TRUST dan VerifyVASP hanya dapat dijangkau melalui keanggotaan Anda sendiri: TRUST menerima anggota per VASP, dan sebuah VerifyVASP Enclave melayani satu ID VASP, sehingga Anda harus menjalankannya sendiri.

Selama keanggotaan Didit di sebuah jaringan belum aktif, statusnya (`state`) adalah `didit_onboarding` dan tidak ada yang dapat dikirim melalui Didit pada jaringan tersebut. `state` adalah status konfigurasi, bukan pemeriksaan status atau pengiriman secara langsung.


## OpenAPI

````yaml id/openapi-25.json GET /v3/travel-rule/networks/
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/networks/:
    get:
      tags:
        - Travel Rule
      summary: Dapatkan jaringan Travel Rule
      description: >-
        Baca, untuk aplikasi ini, status sebenarnya dari setiap jaringan: apakah
        jaringan mengirim melalui keanggotaan Anda sendiri atau melalui milik
        Didit, dan alasan mengapa belum bisa. Juga mengembalikan kuesioner uji
        tuntas dan peserta Anda. Pembacaan tidak membuat apa pun.
      operationId: getTravelRuleNetworks
      responses:
        '200':
          description: Status jaringan, kuesioner, dan peserta.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleNetworksOverview'
              examples:
                Before the questionnaire:
                  value:
                    platform_networks_enabled: false
                    questionnaire:
                      status: draft
                      answers: {}
                      submitted_at: null
                      reviewed_at: null
                      review_note: ''
                      history: []
                      updated_at: null
                    participants: []
                    networks:
                      gtr:
                        rail: GTR
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      trust:
                        rail: TRUST
                        mode: unavailable
                        state: unavailable
                        reason: own_membership_only
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      verifyvasp:
                        rail: VERIFYVASP
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
                      sygna:
                        rail: SYGNA
                        mode: unavailable
                        state: didit_onboarding
                        reason: didit_membership_not_live
                        platform_available: false
                        connected: false
                        participant: null
                        vasps_reachable: 0
                        routed_30d: 0
        '401':
          description: Kunci API tidak ada atau tidak valid.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X GET https://verification.didit.me/v3/travel-rule/networks/ \
              -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.networks.retrieve()
            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.networks.retrieve();
            console.log(result);
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

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

            var result = client.travelRule().networks().retrieve();
            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->networks->retrieve();
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.travel_rule.networks.retrieve
            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.Networks.RetrieveAsync();
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleNetworksOverview:
      type: object
      properties:
        platform_networks_enabled:
          type: boolean
          description: >-
            Menentukan apakah akses jaringan melalui keanggotaan Didit terbuka.
            Saat bernilai false, penyimpanan kuesioner, pengiriman, dan
            permintaan jaringan menghasilkan respons 403.
        questionnaire:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaire'
        participants:
          type: array
          items:
            $ref: '#/components/schemas/TravelRuleNetworkParticipant'
        networks:
          type: object
          readOnly: true
          description: >-
            Per jaringan, bagaimana aplikasi ini akan mengirim dan mengapa
            aplikasi ini tidak dapat mengirim. Tidak ada jaringan, termasuk GTR,
            yang disertakan secara default: jaringan dapat dijangkau melalui
            keanggotaan terhubung Anda sendiri, atau melalui keanggotaan Didit
            setelah keanggotaan Didit di jaringan tersebut aktif dan partisipan
            Anda sendiri di dalamnya aktif. Bukan pemeriksaan status atau
            pengiriman langsung.
          properties:
            gtr:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            trust:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            verifyvasp:
              $ref: '#/components/schemas/TravelRuleNetworkState'
            sygna:
              $ref: '#/components/schemas/TravelRuleNetworkState'
    TravelRuleNetworkQuestionnaire:
      type: object
      properties:
        status:
          type: string
          enum:
            - draft
            - submitted
            - changes_requested
            - approved
            - rejected
          description: >-
            Jawaban dapat disimpan saat berstatus draft atau changes_requested;
            perubahan ke status submitted, approved, dan rejected dilakukan oleh
            Didit.
        answers:
          $ref: '#/components/schemas/TravelRuleNetworkQuestionnaireAnswers'
        submitted_at:
          type: string
          format: date-time
          nullable: true
        reviewed_at:
          type: string
          format: date-time
          nullable: true
        review_note:
          type: string
          description: >-
            Catatan Didit tentang keputusan terakhirnya, misalnya apa yang perlu
            diubah.
        history:
          type: array
          readOnly: true
          description: Setiap perubahan status, yang terlama terlebih dahulu.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Catatan peninjauan atau jawaban jaringan, jika ada.
        updated_at:
          type: string
          format: date-time
          nullable: true
    TravelRuleNetworkParticipant:
      type: object
      description: Partisipan milik aplikasi ini pada satu jaringan.
      properties:
        network:
          type: string
          enum:
            - gtr
            - trust
            - verifyvasp
            - sygna
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - platform
            - own
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested: tidak pernah diminta, atau jaringan menolak
            permintaan pertama (lihat last_error); questionnaire_pending:
            menunggu kuesioner uji tuntas disetujui; submitted_to_network:
            diserahkan ke proses onboarding jaringan; active: jaringan
            memberikan kode partisipan tersendiri untuk aplikasi ini; suspended
            / rejected: Didit menangguhkan atau menolaknya.
        participant_code:
          type: string
        requested_at:
          type: string
          format: date-time
          nullable: true
        submitted_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        suspended_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: Jawaban jaringan saat menolak pendaftaran; kosong jika tidak.
        history:
          type: array
          readOnly: true
          description: Setiap perubahan status, yang terlama terlebih dahulu.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Catatan peninjauan atau jawaban jaringan, jika ada.
    TravelRuleNetworkState:
      type: object
      description: >-
        Cara pesan Travel Rule pada satu jaringan akan dikirim untuk aplikasi
        ini, dan alasan pesan tersebut tidak dapat dikirim. Status konfigurasi,
        bukan pemeriksaan status atau pengiriman secara langsung.
      properties:
        rail:
          type: string
          enum:
            - GTR
            - TRUST
            - VERIFYVASP
            - SYGNA
        mode:
          type: string
          enum:
            - own
            - didit
            - 'off'
            - unavailable
          description: >-
            own: keanggotaan terhubung milik aplikasi digunakan; didit:
            keanggotaan Didit membawa aplikasi sebagai partisipan aktifnya
            sendiri; off: perutean platform dinonaktifkan di disabled_networks
            tanpa keanggotaan sendiri; unavailable: belum ada yang dapat
            mengirim di jaringan ini (lihat state dan reason).
        state:
          type: string
          enum:
            - own_membership
            - live_through_didit
            - 'off'
            - didit_onboarding
            - questionnaire_needed
            - questionnaire_in_review
            - request_access
            - request_sent
            - unavailable
            - error
          description: >-
            own_membership: keanggotaan terhubung milik Anda yang mengirim;
            live_through_didit: partisipan Anda sendiri pada keanggotaan Didit
            yang mengirim; off: Anda menonaktifkan perutean platform;
            didit_onboarding: keanggotaan Didit sendiri di jaringan ini belum
            aktif, sehingga belum dapat membawa siapa pun; questionnaire_needed
            / questionnaire_in_review: kuesioner uji tuntas harus dikirimkan
            atau sedang ditinjau oleh Didit; request_access: kuesioner
            disetujui, minta akses ke jaringan; request_sent: partisipan Anda
            sedang dalam proses onboarding; unavailable: lihat reason; error:
            lihat reason.
        reason:
          type: string
          enum:
            - own_membership_connected
            - platform_network_switched_off
            - own_membership_only
            - sandbox_application
            - didit_membership_not_live
            - participant_suspended
            - participant_rejected
            - questionnaire_not_submitted
            - questionnaire_submitted
            - questionnaire_changes_requested
            - questionnaire_rejected
            - participant_not_requested
            - participant_active
            - participant_key_missing
            - participant_key_unresolved
            - provisioning_failed
            - questionnaire_pending
            - submitted_to_network
          description: >-
            Detail status yang dapat dibaca mesin. own_membership_only: Didit
            tidak memiliki aplikasi di jaringan ini (TRUST), hubungkan
            keanggotaan Anda sendiri; sandbox_application: transfer sandbox
            tidak pernah mencapai jaringan; provisioning_failed: jaringan
            menolak registrasi, last_error partisipan menjelaskan alasannya dan
            permintaan ke jaringan lagi akan mencoba kembali.
        platform_available:
          type: boolean
          description: >-
            Menentukan apakah keanggotaan Didit sendiri di jaringan ini telah
            dikonfigurasi; bukan pemeriksaan status langsung.
        connected:
          type: boolean
          description: >-
            Menentukan apakah keanggotaan pelanggan yang terhubung ada.
            Kredensial divalidasi secara lokal; validasi jaringan terjadi pada
            pertukaran langsung.
        participant:
          $ref: '#/components/schemas/TravelRuleNetworkParticipantSummary'
        vasps_reachable:
          type: integer
          description: VASP direktori yang dapat dijangkau di jaringan ini.
        routed_30d:
          type: integer
          description: >-
            Transfer milik aplikasi ini yang dilakukan pada jaringan ini dalam
            30 hari terakhir.
    TravelRuleNetworkQuestionnaireAnswers:
      type: object
      description: >-
        Kuesioner uji kelayakan jaringan Didit. Penyimpanan bersifat parsial:
        operasi penyimpanan mempertahankan setiap jawaban yang tidak disebutkan
        namanya. Pengiriman memerlukan setiap kolom kecuali lei dan
        data_protection_contact_email, serta ketiga atestasi bernilai true.
      properties:
        legal_name:
          type: string
          maxLength: 255
        registration_number:
          type: string
          maxLength: 255
        incorporation_country:
          type: string
          minLength: 2
          maxLength: 2
          description: Kode negara ISO 3166-1 alpha-2.
        registered_address:
          type: string
          maxLength: 1000
        website:
          type: string
          format: uri
          maxLength: 500
        lei:
          type: string
          maxLength: 20
          description: Opsional. LEI ISO 17442 yang valid jika diberikan.
        licences:
          type: array
          minItems: 1
          items:
            type: object
            required:
              - regulator
              - jurisdiction
              - licence_type
              - licence_number
            properties:
              regulator:
                type: string
                maxLength: 255
              jurisdiction:
                type: string
                minLength: 2
                maxLength: 2
                description: Kode negara ISO 3166-1 alpha-2.
              licence_type:
                type: string
                maxLength: 255
              licence_number:
                type: string
                maxLength: 255
          description: Setiap lisensi atau registrasi yang dipegang VASP.
        operating_jurisdictions:
          type: array
          minItems: 1
          maxItems: 250
          items:
            type: string
            minLength: 2
            maxLength: 2
            description: Kode negara ISO 3166-1 alpha-2.
        compliance_officer_name:
          type: string
          maxLength: 255
        compliance_officer_email:
          type: string
          format: email
        aml_ctf_policy_attested:
          type: boolean
          description: Harus bernilai true untuk mengirimkan.
        sanctions_screening_attested:
          type: boolean
          description: Harus bernilai true untuk mengirimkan.
        data_protection_attested:
          type: boolean
          description: Harus bernilai true untuk mengirimkan.
        data_protection_contact_email:
          type: string
          format: email
          description: Opsional.
        expected_monthly_transfers:
          type: integer
          minimum: 0
        expected_monthly_volume_usd:
          type: string
          format: decimal
          description: >-
            Volume bulanan yang diharapkan dalam USD, hingga 2 tempat desimal.
            Dikembalikan sebagai string.
        assets:
          type: array
          minItems: 1
          maxItems: 200
          items:
            type: string
            maxLength: 32
          description: >-
            Ticker aset, disimpan dalam huruf besar, diurutkan, dan
            dideduplikasi.
    TravelRuleNetworkParticipantSummary:
      type: object
      nullable: true
      description: >-
        Partisipan milik aplikasi ini pada jaringan tersebut, atau null jika
        tidak ada.
      properties:
        mode:
          type: string
          enum:
            - platform
            - own
          description: >-
            platform: dibawa oleh keanggotaan Didit; own: di-onboard di bawah
            keanggotaan aplikasi itu sendiri.
        status:
          type: string
          enum:
            - not_requested
            - questionnaire_pending
            - submitted_to_network
            - active
            - suspended
            - rejected
          description: >-
            not_requested: tidak pernah diminta, atau jaringan menolak
            permintaan pertama (lihat last_error); questionnaire_pending:
            menunggu kuesioner uji tuntas disetujui; submitted_to_network:
            diserahkan ke proses onboarding jaringan; active: jaringan
            memberikan kode partisipan tersendiri untuk aplikasi ini; suspended
            / rejected: Didit menangguhkan atau menolaknya.
        participant_code:
          type: string
          description: >-
            Kode yang diberikan jaringan untuk aplikasi ini (untuk GTR, kode
            VASP-nya). Pesan keluar memuat kode ini, bukan kode milik Didit.
        requested_at:
          type: string
          format: date-time
          nullable: true
        activated_at:
          type: string
          format: date-time
          nullable: true
        last_error:
          type: string
          description: Jawaban jaringan saat menolak pendaftaran; kosong jika tidak.
  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.