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

# Register a Free Travel Rule Account

> Public, unauthenticated. Creates a free Travel Rule account for a counterparty VASP that received a request. The email must be the address the invitation went to. A 6-character code is emailed to it; send it to the verify endpoint to finish. Registration attempts are rate limited per address and per IP.



Register a Free Travel Rule Account API Prompt
        Copy prompt to clipboard



      
      

\<pre>

\``Public, unauthenticated. Creates a free Travel Rule account for a counterparty VASP that received a request. The email must be the address the invitation went to. A 6-character code is emailed to it; send it to the verify endpoint to finish. Registration attempts are rate limited per address and per IP.

Endpoint:
POST https://verification.didit.me/v3/travel-rule/join/{token}/

Authentication:
None - the invitation token in the URL is the credential.

Request body (application/json):
\{"email": "compliance@example.com", "password": "a-long-passphrase"}

Failure modes:
\- 400 - The email is not the invited address, or the password or address was refused.
\- 404 - No invitation has this link.
\- 410 - The invitation is no longer open: expired, already used, or withdrawn.
\- 429 - Too many attempts to join. The `X-RateLimit-*` headers name the budget that was spent.

Guide: /transaction-monitoring/travel-rule-interoperability#email-pickup.``

\</pre>



      
      

Paste into



## OpenAPI

````yaml POST /v3/travel-rule/join/{token}/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: Identity verification API. Authenticate with x-api-key header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/join/{token}/:
    post:
      tags:
        - Travel Rule
      summary: Register a free Travel Rule account
      description: >-
        Public, unauthenticated. Creates a free Travel Rule account for a
        counterparty VASP that received a request. The email must be the address
        the invitation went to. A 6-character code is emailed to it; send it to
        the verify endpoint to finish. Registration attempts are rate limited
        per address and per IP.
      operationId: registerTravelRuleJoin
      parameters:
        - name: token
          in: path
          required: true
          schema:
            type: string
          description: The invitation token from the join link.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelRuleJoinRegisterRequest'
            example:
              email: compliance@example.com
              password: a-long-passphrase
      responses:
        '202':
          description: The account was created and a code was emailed.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: >-
                      Tells the counterparty to check their email for the
                      verification code.
                  email:
                    type: string
                    format: email
                    description: The address the code was sent to.
        '400':
          description: >-
            The email is not the invited address, or the password or address was
            refused.
        '404':
          description: No invitation has this link.
        '410':
          description: >-
            The invitation is no longer open: expired, already used, or
            withdrawn.
        '429':
          description: >-
            Too many attempts to join. The `X-RateLimit-*` headers name the
            budget that was spent.
      security:
        - {}
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            https://verification.didit.me/v3/travel-rule/join/{token}/ \
              -H 'Content-Type: application/json' \
              -d '{"email": "compliance@example.com", "password": "a-long-passphrase"}'
components:
  schemas:
    TravelRuleJoinRegisterRequest:
      type: object
      required:
        - email
        - password
      properties:
        email:
          type: string
          format: email
          maxLength: 254
          description: Must be the address the invitation went to.
        password:
          type: string
          minLength: 8
          maxLength: 128

````

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