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

# Soumettre le questionnaire réseau Travel Rule (API)

> Envoyez votre questionnaire de diligence raisonnable sur le réseau à l'examen de Didit, étape préalable à votre intégration à un réseau Travel Rule.

Prompt de l'API pour soumettre le questionnaire réseau
Copier le prompt dans le presse-papiers

<pre>
  \`Send my saved network due-diligence questionnaire to Didit's review.

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

  Authentication:
  Use the x-api-key header with my Didit API key. No request body: the saved answers are what Didit reviews.

  Behavior:

  * The saved answers must be complete: every field except lei and data\_protection\_contact\_email, and the three attestations true. Missing or invalid answers answer 400, keyed by field.
  * The status moves to submitted. Didit then approves it, asks for changes (edit and submit again) or rejects it.
  * Networks requested while the questionnaire was pending go to their onboarding once it is approved.
  * 409 when the questionnaire is already submitted or decided; 403 travel\_rule\_platform\_networks\_disabled until network access through Didit opens.

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

Coller dans


## OpenAPI

````yaml fr/openapi-25.json POST /v3/travel-rule/networks/questionnaire/submit/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de vérification d'identité. Authentifiez-vous avec l'en-tête x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/networks/questionnaire/submit/:
    post:
      tags:
        - Travel Rule
      summary: Soumettre le questionnaire réseau
      description: >-
        Envoyez le questionnaire enregistré pour examen par Didit. Les réponses
        enregistrées doivent être complètes : chaque champ sauf lei et
        data_protection_contact_email, avec les trois attestations définies sur
        true. Didit l'approuve, demande des modifications (modifiez et soumettez
        à nouveau) ou le rejette. Les réseaux que vous avez demandés pendant
        qu'il était en attente sont transmis à leur onboarding dès son
        approbation.
      operationId: submitTravelRuleNetworkQuestionnaire
      responses:
        '200':
          description: Le questionnaire soumis.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleNetworkQuestionnaire'
        '400':
          description: >-
            Les réponses enregistrées sont incomplètes ou invalides, indexées
            par champ.
        '401':
          description: Clé API manquante ou invalide.
        '403':
          description: L'accès au réseau via l'adhésion Didit n'est pas encore ouvert.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
                    enum:
                      - travel_rule_platform_networks_disabled
        '409':
          description: >-
            Le questionnaire est auprès de Didit ou tranché : il ne peut être
            modifié que lorsqu'il est à l'état draft ou changes_requested.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
                    enum:
                      - travel_rule_questionnaire_not_editable
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            https://verification.didit.me/v3/travel-rule/networks/questionnaire/submit/
            \
              -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.submit_questionnaire()
            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.submitQuestionnaire();

            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().submitQuestionnaire();
            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->submitQuestionnaire();
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.travel_rule.networks.submit_questionnaire
            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.SubmitQuestionnaireAsync();

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    TravelRuleNetworkQuestionnaire:
      type: object
      properties:
        status:
          type: string
          enum:
            - draft
            - submitted
            - changes_requested
            - approved
            - rejected
          description: "Les réponses peuvent être enregistrées lorsqu'elles sont à l'état draft ou changes_requested\_; le passage à submitted, approved et rejected revient à 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: >-
            Note de Didit sur sa dernière décision, par exemple les éléments à
            modifier.
        history:
          type: array
          readOnly: true
          description: Chaque changement de statut, du plus ancien au plus récent.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Note d'examen ou réponse du réseau, le cas échéant.
        updated_at:
          type: string
          format: date-time
          nullable: true
    TravelRuleNetworkQuestionnaireAnswers:
      type: object
      description: "Questionnaire de diligence raisonnable de réseau de Didit. Les enregistrements sont partiels\_: un enregistrement conserve chaque réponse qu'il ne nomme pas. La soumission requiert tous les champs sauf lei et data_protection_contact_email, ainsi que les trois attestations à vrai."
      properties:
        legal_name:
          type: string
          maxLength: 255
        registration_number:
          type: string
          maxLength: 255
        incorporation_country:
          type: string
          minLength: 2
          maxLength: 2
          description: Code pays ISO 3166-1 alpha-2.
        registered_address:
          type: string
          maxLength: 1000
        website:
          type: string
          format: uri
          maxLength: 500
        lei:
          type: string
          maxLength: 20
          description: Optionnel. Un LEI ISO 17442 valide lorsqu'il est renseigné.
        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: Code pays ISO 3166-1 alpha-2.
              licence_type:
                type: string
                maxLength: 255
              licence_number:
                type: string
                maxLength: 255
          description: Chaque licence ou immatriculation détenue par le VASP.
        operating_jurisdictions:
          type: array
          minItems: 1
          maxItems: 250
          items:
            type: string
            minLength: 2
            maxLength: 2
            description: Code pays 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: Doit être vrai pour soumettre.
        sanctions_screening_attested:
          type: boolean
          description: Doit être vrai pour soumettre.
        data_protection_attested:
          type: boolean
          description: Doit être vrai pour soumettre.
        data_protection_contact_email:
          type: string
          format: email
          description: Optionnel.
        expected_monthly_transfers:
          type: integer
          minimum: 0
        expected_monthly_volume_usd:
          type: string
          format: decimal
          description: >-
            Volume mensuel attendu en USD, jusqu'à 2 décimales. Renvoyé sous
            forme de chaîne.
        assets:
          type: array
          minItems: 1
          maxItems: 200
          items:
            type: string
            maxLength: 32
          description: Tickers d'actifs, stockés en majuscules, triés et dédupliqués.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clé API de votre application, issue de Développeurs -> Clés API dans
        la Business Console. La clé principale dispose d'un accès complet. Une
        clé nommée peut être restreinte : aucun, lecture ou écriture par
        ressource, limitée à certains workflows ou aux sessions approuvées, à
        une liste d'adresses IP et à une date d'expiration. 401 signifie que la
        clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a
        été envoyée, que la clé n'a pas accès à cette ressource ou action, ou
        que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur
        une route de session signifie que la session est hors des workflows ou
        des statuts de la clé. Une clé sans accès aux médias reçoit les URL
        d'images, de vidéos et de PDF à null, et une clé sans accès en écriture
        aux sessions reçoit les liens et tokens de session à null. Voir
        https://docs.didit.me/console/api-keys.

````

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