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

# Travel Rule E-Mail-Kanal: Antwort per Pickup Portal API

> Antworten Sie über den Pickup-Link auf eine E-Mail-Travel-Rule-Transaktion an das VASP des Kunden, optional mit Anhängen, über Didit.

Im Pickup-Portal-API-Prompt antworten
Prompt in die Zwischenablage kopieren

<pre>
  \`Write back to the customer VASP of an EMAIL-rail Travel Rule transfer from the pickup link.

  Endpoint:
  POST [https://verification.didit.me/v3/travel-rule/pickup/\{token}/messages/](https://verification.didit.me/v3/travel-rule/pickup/\{token}/messages/)

  Authentication:
  None - the one-time pickup link token is the credential.

  Request body (JSON, or multipart/form-data with files): the same fields as the transaction's messages endpoint (kind, body, requested\_documents, reply\_to, files). Attachments must be PDF, PNG, JPEG or WebP.

  Failure modes:

  * 400 - invalid body, a file type that is not accepted, 100 messages reached, or reply\_to is not a message of this transfer.
  * 404 - unknown token.
  * 410 - the pickup link expired or the transfer is closed.

  Full guide: /transaction-monitoring/travel-rule#messages-and-document-requests.\`
</pre>

Einfügen in


## OpenAPI

````yaml de/openapi-25.json POST /v3/travel-rule/pickup/{token}/messages/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API für Ausweisverifizierung. Authentifizierung über den x-api-key-Header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/pickup/{token}/messages/:
    post:
      tags:
        - Travel Rule
      summary: Im Abholportal antworten
      description: >-
        Öffentlich, nicht authentifiziert. Der Gegenpartei-VASP antwortet bei
        einer Übertragung über die EMAIL-Schiene. Identischer Textkörper wie bei
        den Nachrichten der Transaktion; Anhänge müssen im Format PDF, PNG, JPEG
        oder WebP vorliegen. Das Token dient der Authentifizierung.
      operationId: createTravelRulePickupMessage
      parameters:
        - name: token
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelRuleMessageCreateRequest'
            example:
              kind: MESSAGE
              body: Attached is the proof of address of the wallet holder.
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/TravelRuleMessageCreateRequest'
      responses:
        '201':
          description: Die gespeicherte Nachricht.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleMessage'
        '400':
          description: >-
            Ungültiger Body, ein nicht akzeptierter Dateityp oder eine nicht
            akzeptierte Dateigröße, mehr als 100 Nachrichten bei der Übertragung
            oder ein `reply_to`, das keine Nachricht dieser Übertragung ist.
          content:
            application/json:
              schema:
                type: object
              example:
                requested_documents:
                  - Name at least one document the counterparty should send.
        '404':
          description: Unbekanntes Token.
        '410':
          description: Der Abhol-Link ist abgelaufen oder der Transfer ist geschlossen.
      security:
        - {}
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            https://verification.didit.me/v3/travel-rule/pickup/{token}/messages/
            \
              -H 'Content-Type: application/json' \
              -d '{"kind": "MESSAGE", "body": "Attached is the proof of address of the wallet holder."}'
components:
  schemas:
    TravelRuleMessageCreateRequest:
      type: object
      description: >-
        Senden Sie als JSON oder als multipart/form-data mit den Anhängen in
        `files`.
      properties:
        kind:
          type: string
          enum:
            - MESSAGE
            - DOCUMENT_REQUEST
          default: MESSAGE
        body:
          type: string
          maxLength: 5000
          description: >-
            Erforderlich für eine MESSAGE, es sei denn, eine Datei ist
            angehängt.
        requested_documents:
          type: array
          items:
            type: string
            maxLength: 255
          maxItems: 10
          description: >-
            Erforderlich (mindestens eines) für einen DOCUMENT_REQUEST und nur
            dort zulässig.
        reply_to:
          type: string
          format: uuid
          nullable: true
          description: >-
            Eine Nachricht desselben Transfers. Eine Antwort, die ein Dokument
            enthält, erfüllt die Dokumentenanforderung, auf die sie antwortet.
        files:
          type: array
          items:
            type: string
            format: binary
          maxItems: 5
          description: Nur Multipart. Bis zu 5 Dateien mit jeweils 10 MB.
    TravelRuleMessage:
      type: object
      properties:
        id:
          type: string
          format: uuid
        kind:
          type: string
          enum:
            - MESSAGE
            - DOCUMENT_REQUEST
        direction:
          type: string
          enum:
            - INBOUND
            - OUTBOUND
          description: >-
            `OUTBOUND` ist das, was die eigene Seite des Lesers gesendet hat. Im
            Abholportal entspricht die Richtung der Sicht der Gegenpartei.
        author:
          type: string
          description: >-
            Wer es auf der jeweiligen Seite verfasst hat: die E-Mail-Adresse
            eines Console-Benutzers, die Bezeichnung eines API-Schlüssels oder
            der Name des anderen VASP.
        body:
          type: string
        requested_documents:
          type: array
          items:
            type: string
          description: >-
            Was bei einem DOCUMENT_REQUEST angefordert wird, in den Worten des
            Anfragenden.
        reply_to:
          type: string
          format: uuid
          nullable: true
        fulfilled_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Wird für ein DOCUMENT_REQUEST gesetzt, sobald eine Antwort darauf
            ein Dokument enthält.
        attachment:
          $ref: '#/components/schemas/TravelRuleMessageAttachment'
        created_at:
          type: string
          format: date-time
    TravelRuleMessageAttachment:
      type: object
      nullable: true
      description: >-
        Das an eine Nachricht angehängte Dokument, gespeichert wie jedes andere
        Transaktionsdokument.
      properties:
        uuid:
          type: string
          format: uuid
        label:
          type: string
          nullable: true
        note:
          type: string
          nullable: true
        uploaded_by:
          type: string
          nullable: true
          description: >-
            Wer die Datei angehängt hat. Im Abrufportal zeigt eine von Ihnen
            gesendete Datei Ihren VASP-Namen, niemals die dahinterstehende
            Person oder den API-Schlüssel.
        created_at:
          type: string
          format: date-time
        files:
          type: array
          items:
            type: object
            properties:
              uuid:
                type: string
                format: uuid
              file_url:
                type: string
                nullable: true
                description: Zeitlich begrenzte Download-URL.
              original_filename:
                type: string
              file_size:
                type: integer

````

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