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

# Risposta nel Pickup Portal - API Travel Rule via email

> Rispondi dal link di pickup al VASP cliente per un trasferimento Travel Rule via email, con allegati opzionali di Didit.

Rispondi nel prompt dell'API Pickup Portal
Copia il prompt negli appunti

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

Incolla in


## OpenAPI

````yaml it/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 di verifica dell'identità. Autenticati con l'intestazione x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/pickup/{token}/messages/:
    post:
      tags:
        - Travel Rule
      summary: Rispondi nel portale di ritiro
      description: >-
        Pubblico, non autenticato. Il VASP di controparte risponde su un
        trasferimento su circuito EMAIL. Stesso corpo dei messaggi della
        transazione; gli allegati devono essere in formato PDF, PNG, JPEG o
        WebP. Il token funge da autenticazione.
      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: Il messaggio memorizzato.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelRuleMessage'
        '400':
          description: >-
            Corpo non valido, un tipo o una dimensione di file non accettati,
            più di 100 messaggi sul trasferimento o un `reply_to` che non è un
            messaggio di questo trasferimento.
          content:
            application/json:
              schema:
                type: object
              example:
                requested_documents:
                  - Name at least one document the counterparty should send.
        '404':
          description: Token sconosciuto.
        '410':
          description: Il link di ritiro è scaduto o il trasferimento è chiuso.
      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: Invia come JSON, o come multipart/form-data con gli allegati in `files`.
      properties:
        kind:
          type: string
          enum:
            - MESSAGE
            - DOCUMENT_REQUEST
          default: MESSAGE
        body:
          type: string
          maxLength: 5000
          description: Obbligatorio per un MESSAGE a meno che non sia allegato un file.
        requested_documents:
          type: array
          items:
            type: string
            maxLength: 255
          maxItems: 10
          description: >-
            Obbligatorio (almeno uno) per un DOCUMENT_REQUEST, e consentito solo
            in tale contesto.
        reply_to:
          type: string
          format: uuid
          nullable: true
          description: >-
            Un messaggio del medesimo trasferimento. Una risposta contenente un
            documento soddisfa la richiesta di documento a cui risponde.
        files:
          type: array
          items:
            type: string
            format: binary
          maxItems: 5
          description: Solo multipart. Fino a 5 file da 10 MB ciascuno.
    TravelRuleMessage:
      type: object
      properties:
        id:
          type: string
          format: uuid
        kind:
          type: string
          enum:
            - MESSAGE
            - DOCUMENT_REQUEST
        direction:
          type: string
          enum:
            - INBOUND
            - OUTBOUND
          description: >-
            `OUTBOUND` indica ciò che la tua parte ha inviato. Nel portale di
            ritiro la direzione è dal lato della controparte.
        author:
          type: string
          description: >-
            Chi lo ha scritto dalla propria parte: l'email di un utente della
            console o l'etichetta di una chiave API, oppure il nome dell'altro
            VASP.
        body:
          type: string
        requested_documents:
          type: array
          items:
            type: string
          description: >-
            Cosa richiede una DOCUMENT_REQUEST, secondo le parole del
            richiedente.
        reply_to:
          type: string
          format: uuid
          nullable: true
        fulfilled_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Impostato su un DOCUMENT_REQUEST quando una risposta ad esso
            contiene un documento.
        attachment:
          $ref: '#/components/schemas/TravelRuleMessageAttachment'
        created_at:
          type: string
          format: date-time
    TravelRuleMessageAttachment:
      type: object
      nullable: true
      description: >-
        Il documento allegato a un messaggio, archiviato come qualsiasi altro
        documento di transazione.
      properties:
        uuid:
          type: string
          format: uuid
        label:
          type: string
          nullable: true
        note:
          type: string
          nullable: true
        uploaded_by:
          type: string
          nullable: true
          description: >-
            Chi lo ha allegato. Nel portale di ritiro, un file inviato mostra il
            nome del tuo VASP, mai la persona o la chiave API sottostante.
        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: URL di download a tempo.
              original_filename:
                type: string
              file_size:
                type: integer

````

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