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

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

> Enregistrez les réponses au questionnaire de due diligence réseau de Didit. Les envois sont partiels et conservent les réponses non envoyées.



Prompt de l'API d'enregistrement des réponses au questionnaire réseau
        Copier le prompt dans le presse-papiers



      
      

\<pre>

\`Save answers to Didit's network due-diligence questionnaire for my application.

Endpoint:
PUT https://verification.didit.me/v3/travel-rule/networks/questionnaire/

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

Request body (application/json), every field optional on a save:
\{
"legal_name": "Example VASP Ltd",
"registration_number": "B-12345678",
"incorporation_country": "ES",
"registered_address": "1 Example Street, Madrid",
"website": "https://example.com",
"lei": "",                                   // optional; a valid ISO 17442 LEI when given
"licences": [{"regulator": "Example Regulator", "jurisdiction": "ES", "licence_type": "CASP", "licence_number": "123"}],
"operating_jurisdictions": ["ES", "PT"],
"compliance_officer_name": "Jane Doe",
"compliance_officer_email": "compliance@example.com",
"aml_ctf_policy_attested": true,
"sanctions_screening_attested": true,
"data_protection_attested": true,
"data_protection_contact_email": "privacy@example.com",   // optional
"expected_monthly_transfers": 500,
"expected_monthly_volume_usd": "250000.00",
"assets": ["BTC", "USDC"]
}

Behavior:
\- Saves are partial: answers you do not send are kept.
\- Only possible while the status is draft or changes_requested (409 otherwise).
\- 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 PUT /v3/travel-rule/networks/questionnaire/
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/:
    put:
      tags:
        - Travel Rule
      summary: Enregistrer les réponses au questionnaire réseau
      description: >-
        Enregistrer les réponses au questionnaire lorsqu'il est à l'état draft
        ou changes_requested. Les enregistrements sont partiels : les réponses
        que vous n'envoyez pas sont conservées.
      operationId: updateTravelRuleNetworkQuestionnaire
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelRuleNetworkQuestionnaireAnswers'
            example:
              legal_name: Example VASP Ltd
              incorporation_country: ES
              aml_ctf_policy_attested: true
      responses:
        '200':
          description: Le questionnaire avec les réponses fusionnées.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleNetworkQuestionnaire'
        '400':
          description: Erreur de validation, indexée 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 PUT
            https://verification.didit.me/v3/travel-rule/networks/questionnaire/
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"legal_name": "Example VASP Ltd", "incorporation_country": "ES", "aml_ctf_policy_attested": true}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.travel_rule.networks.update_questionnaire(
                legal_name="Example VASP Ltd",
                incorporation_country="ES",
                aml_ctf_policy_attested=True,
            )
            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.updateQuestionnaire({
              legal_name: "Example VASP Ltd",
              incorporation_country: "ES",
              aml_ctf_policy_attested: true,
            });
            console.log(result);
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;

            import me.didit.types.TravelRuleNetworkQuestionnaireAnswers;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.travelRule().networks().updateQuestionnaire(TravelRuleNetworkQuestionnaireAnswers.builder()
                    .legalName("Example VASP Ltd")
                    .incorporationCountry("ES")
                    .amlCtfPolicyAttested(true)
                    .build());
            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->updateQuestionnaire([
                'legal_name' => 'Example VASP Ltd',
                'incorporation_country' => 'ES',
                'aml_ctf_policy_attested' => true,
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.travel_rule.networks.update_questionnaire(
              legal_name: "Example VASP Ltd",
              incorporation_country: "ES",
              aml_ctf_policy_attested: true
            )
            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.UpdateQuestionnaireAsync(new
            TravelRuleNetworkQuestionnaireAnswers

            {
                LegalName = "Example VASP Ltd",
                IncorporationCountry = "ES",
                AmlCtfPolicyAttested = true,
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    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.
    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
  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.