> ## 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: obtener datos de recogida por email | Travel Rule

> Con la API de Didit, lee un intercambio de Travel Rule pendiente desde un enlace de recogida por email de un solo uso, el lado de la contraparte.



Prompt de la API para obtener la información de recogida por correo electrónico
        Copiar el prompt al portapapeles



      
      

\<pre>

\`Read the pending Travel Rule exchange behind a one-time email pickup link. This is the counterparty-facing side of Didit's EMAIL fallback rail - used by the compliance team of a VASP that has no protocol channel yet.

Endpoint:
GET https://verification.didit.me/v3/travel-rule/pickup/{token}/

Authentication:
None - the one-time link token is the credential. No Didit account or API key is needed; the hosted pickup page drives this same endpoint.

What to read from the response:
\- reference (the transfer's uuid), requested_at, deadline_at, reminders_sent.
\- originator_vasp_name, originator_vasp_lei - who initiated the exchange; recipient_vasp_name - who it is addressed to; language - the language of the email and page.
\- amount, currency, fiat_amount, fiat_currency, chain, beneficiary_wallet - the transfer being negotiated.
amount is the stored decimal verbatim, so it carries the full 18 decimal places (for example "1500.000000000000000000"). fiat_amount and fiat_currency are empty when the sender gave no converted value.
\- originator_data - only the originator fields the sending VASP shares; the name and the wallet are always included. beneficiary_data - the beneficiary as the sender named it. ivms_request - the same request as an IVMS 101 object (left out while data_masked is true, which never happens on this endpoint).
\- decline_reasons - the codes decline_reason accepts. contact - the link's ?contact= value, echoed unchanged (it is not validated). join_invitation {eligible, url} - eligible is true while the counterparty holds a live invitation to join Didit; the link itself is only in the email.
\- status - the exchange state (AWAITING_COUNTERPARTY while the window is open).

Respond with POST /v3/travel-rule/pickup/{token}/respond/ ({"decision": "accept", "beneficiary_name": "..."}, an IVMS 101 ivms_response, or {"decision": "decline", "decline_reason": "..."}).

Failure modes:
\- 404 - unknown token.
\- 410 - the window closed: the counterparty already answered, the transfer left AWAITING_COUNTERPARTY, or the pickup deadline passed.

Counterparty integration guide: /transaction-monitoring/travel-rule-interoperability#email-pickup.`

\</pre>



      
      

Pegar en



## OpenAPI

````yaml es/openapi-25.json GET /v3/travel-rule/pickup/{token}/
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/pickup/{token}/:
    get:
      tags:
        - Travel Rule
      summary: Obtener la información de recogida del canal de correo electrónico
      description: >-
        Público, sin autenticación. Permite que una VASP contraparte que no usa
        Didit previsualice el intercambio pendiente desde el enlace de recogida
        enviado por correo electrónico. El propio token es la autenticación.
      operationId: getTravelRulePickup
      parameters:
        - name: token
          in: path
          required: true
          schema:
            type: string
        - name: contact
          in: query
          required: false
          schema:
            type: string
          description: >-
            El valor `?contact=` del enlace, es decir, el contacto al que se
            envió el enlace. Se devuelve sin cambios como `contact`; no se
            valida.
      responses:
        '200':
          description: Vista previa de la recogida.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRulePickupInfo'
              example:
                reference: 33333333-4444-5555-6666-777777777777
                requested_at: '2026-07-05T10:00:00Z'
                originator_vasp_name: Origin CASP SL
                originator_vasp_lei: 529900EXAMPLEORIG001
                recipient_vasp_name: Example Counterparty VASP
                language: es
                amount: '0.250000000000000000'
                currency: ETH
                fiat_amount: ''
                fiat_currency: ''
                chain: ETH
                beneficiary_wallet: '0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb'
                status: AWAITING_COUNTERPARTY
                ivms_version: ivms101.2023
                deadline_at: '2026-07-07T10:00:00Z'
                reminders_sent: 0
                contact: ''
                decline_reasons:
                  - data_mismatch
                  - not_our_customer
                  - wallet_not_hosted
                  - sanctions
                  - risk_appetite
                  - jurisdiction
                  - insufficient_data
                  - other
                join_invitation:
                  eligible: false
                  url: ''
                originator_data:
                  name: Jane Doe
                  wallet_address: '0x77ccff0cc624a53cd8b8d8703ced826710211ec7'
                beneficiary_data:
                  name: Ana Diaz
                  wallet_address: '0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb'
                ivms_request:
                  originator:
                    originatorPersons:
                      - naturalPerson:
                          name:
                            nameIdentifier:
                              - primaryIdentifier: Doe
                                secondaryIdentifier: Jane
                                nameIdentifierType: LEGL
                    accountNumber:
                      - '0x77ccff0cc624a53cd8b8d8703ced826710211ec7'
                  beneficiary:
                    beneficiaryPersons:
                      - naturalPerson:
                          name:
                            nameIdentifier:
                              - primaryIdentifier: Diaz
                                secondaryIdentifier: Ana
                                nameIdentifierType: LEGL
                    accountNumber:
                      - '0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb'
                data_masked: false
        '404':
          description: Token desconocido.
        '410':
          description: >-
            El plazo se ha cerrado: la contraparte ya respondió, la
            transferencia salió de AWAITING_COUNTERPARTY o venció la fecha
            límite.
      security:
        - {}
      x-codeSamples:
        - lang: curl
          label: curl
          source: curl https://verification.didit.me/v3/travel-rule/pickup/{token}/
components:
  schemas:
    TravelRulePickupInfo:
      type: object
      description: >-
        El intercambio pendiente asociado a un enlace de recogida enviado por
        correo electrónico, tal como lo muestra la página de respuesta de la
        contraparte.
      properties:
        reference:
          type: string
          format: uuid
          description: >-
            El uuid de la transferencia, tal como lo muestra la consola del VASP
            emisor.
        requested_at:
          type: string
          format: date-time
        originator_vasp_name:
          type: string
        originator_vasp_lei:
          type: string
        recipient_vasp_name:
          type: string
          description: El VASP de la contraparte al que va dirigida la solicitud.
        language:
          type: string
          description: >-
            El idioma del correo de solicitud y de la página de respuesta, según
            la jurisdicción de la contraparte.
        amount:
          type: string
        currency:
          type: string
        fiat_amount:
          type: string
          description: El valor convertido que indicó el remitente, o vacío.
        fiat_currency:
          type: string
        chain:
          type: string
        beneficiary_wallet:
          type: string
        status:
          type: string
        ivms_version:
          type: string
        deadline_at:
          type: string
          format: date-time
          description: Fecha y hora en que el enlace deja de responder.
        reminders_sent:
          type: integer
        contact:
          type: string
          description: >-
            El valor `?contact=` del enlace, devuelto tal cual; vacío cuando el
            enlace no tiene ninguno.
        decline_reasons:
          type: array
          items:
            type: string
            enum:
              - data_mismatch
              - not_our_customer
              - wallet_not_hosted
              - sanctions
              - risk_appetite
              - jurisdiction
              - insufficient_data
              - other
          description: Los valores que acepta `decline_reason`.
        join_invitation:
          type: object
          description: >-
            Si la contraparte tiene una invitación vigente para unirse a Didit
            de forma gratuita. El enlace de invitación solo se envía en el
            correo electrónico a la dirección invitada, por lo que `url` está
            vacío aquí.
          properties:
            eligible:
              type: boolean
            url:
              type: string
        originator_data:
          type: object
          description: >-
            Los campos del ordenante que comparte el VASP emisor
            (`data_sharing_fields`). El nombre y la wallet siempre se incluyen.
        beneficiary_data:
          type: object
        ivms_request:
          type: object
          description: >-
            La misma solicitud como objeto IVMS 101. Se omite mientras
            `data_masked` sea true.
        data_masked:
          type: boolean
          description: >-
            Siempre false en este endpoint: una solicitud por correo electrónico
            es saliente y el usuario propio del remitente nunca se enmascara.

````

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