> ## 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 para enviar el cuestionario de red de Travel Rule

> Envía a revisión de Didit tu cuestionario guardado de diligencia debida de red, el paso previo para que Didit te incluya en una red de Travel Rule.

Prompt de la API para enviar el cuestionario de red
Copiar el prompt al portapapeles

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

Pegar en


## OpenAPI

````yaml es/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 verificación de identidad. Autentícate con el encabezado x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/networks/questionnaire/submit/:
    post:
      tags:
        - Travel Rule
      summary: Enviar el cuestionario de la red
      description: >-
        Envía el cuestionario guardado a revisión de Didit. Las respuestas
        guardadas deben estar completas: todos los campos excepto lei y
        data_protection_contact_email, con las tres declaraciones en true. Didit
        lo aprueba, solicita cambios (edítalo y vuelve a enviarlo) o lo rechaza.
        Las redes que solicitaste mientras estaba pendiente pasan a su
        onboarding cuando se aprueba.
      operationId: submitTravelRuleNetworkQuestionnaire
      responses:
        '200':
          description: El cuestionario enviado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleNetworkQuestionnaire'
        '400':
          description: >-
            Las respuestas guardadas están incompletas o no son válidas,
            agrupadas por campo.
        '401':
          description: Clave de API ausente o no válida.
        '403':
          description: >-
            El acceso a la red a través de la membresía de Didit aún no está
            abierto.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                  code:
                    type: string
                    enum:
                      - travel_rule_platform_networks_disabled
        '409':
          description: >-
            El cuestionario está en manos de Didit o ya tiene una decisión: solo
            puede modificarse mientras está en draft o 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: >-
            Las respuestas pueden guardarse mientras el estado es draft o
            changes_requested; los estados submitted, approved y rejected solo
            los cambia 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: Nota de Didit sobre su última decisión, por ejemplo, qué cambiar.
        history:
          type: array
          readOnly: true
          description: Todos los cambios de estado, del más antiguo al más reciente.
          items:
            type: object
            properties:
              at:
                type: string
                format: date-time
              from:
                type: string
              to:
                type: string
              note:
                type: string
                description: Nota de revisión o respuesta de la red, cuando la hay.
        updated_at:
          type: string
          format: date-time
          nullable: true
    TravelRuleNetworkQuestionnaireAnswers:
      type: object
      description: >-
        Cuestionario de diligencia debida de la red de Didit. Los guardados son
        parciales: cada guardado conserva todas las respuestas que no incluye.
        Para enviarlo se requieren todos los campos excepto lei y
        data_protection_contact_email, y las tres declaraciones en true.
      properties:
        legal_name:
          type: string
          maxLength: 255
        registration_number:
          type: string
          maxLength: 255
        incorporation_country:
          type: string
          minLength: 2
          maxLength: 2
          description: Código de país ISO 3166-1 alfa-2.
        registered_address:
          type: string
          maxLength: 1000
        website:
          type: string
          format: uri
          maxLength: 500
        lei:
          type: string
          maxLength: 20
          description: Opcional. Un LEI ISO 17442 válido cuando se proporciona.
        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: Código de país ISO 3166-1 alfa-2.
              licence_type:
                type: string
                maxLength: 255
              licence_number:
                type: string
                maxLength: 255
          description: Todas las licencias o registros que tiene el VASP.
        operating_jurisdictions:
          type: array
          minItems: 1
          maxItems: 250
          items:
            type: string
            minLength: 2
            maxLength: 2
            description: Código de país ISO 3166-1 alfa-2.
        compliance_officer_name:
          type: string
          maxLength: 255
        compliance_officer_email:
          type: string
          format: email
        aml_ctf_policy_attested:
          type: boolean
          description: Debe ser true para enviar.
        sanctions_screening_attested:
          type: boolean
          description: Debe ser true para enviar.
        data_protection_attested:
          type: boolean
          description: Debe ser true para enviar.
        data_protection_contact_email:
          type: string
          format: email
          description: Opcional.
        expected_monthly_transfers:
          type: integer
          minimum: 0
        expected_monthly_volume_usd:
          type: string
          format: decimal
          description: >-
            Volumen mensual esperado en USD, con hasta 2 decimales. Se devuelve
            como cadena.
        assets:
          type: array
          minItems: 1
          maxItems: 200
          items:
            type: string
            maxLength: 32
          description: >-
            Tickers de los activos, almacenados en mayúsculas, ordenados y sin
            duplicados.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clave de API de tu aplicación, que encontrarás en Developers -> API
        keys en la Business Console. La clave principal tiene acceso completo.
        Una clave con nombre puede tener un alcance limitado: ninguno, lectura o
        escritura por recurso, limitada a algunos flujos o a sesiones aprobadas,
        a una lista de direcciones IP y a una fecha de caducidad. 401 significa
        que la clave es incorrecta, se revocó o expiró; 403 significa que no se
        envió ninguna clave, que la clave no tiene acceso a este recurso o
        acción, o que la solicitud provino de una dirección fuera de su lista de
        IP; 404 en una ruta de sesión significa que la sesión está fuera de los
        flujos o estados de la clave. Una clave sin acceso a contenido
        multimedia recibe las URL de imágenes, videos y PDF como null, y una
        clave sin permiso de escritura en sesiones recibe los enlaces y tokens
        de sesión como null. Consulta https://docs.didit.me/console/api-keys.

````

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