> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.bridge.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit travel rule data.

> Use this endpoint to submit originator, beneficiary, and transfer purpose data for travel rule compliance.




## OpenAPI

````yaml https://withbridge-image1-sv-usw2-monorail-openapi.s3.amazonaws.com/latest.json post /travel_rule_data/{id}
openapi: 3.0.2
info:
  title: Bridge API
  description: APIs to move into, out of, and between any form of a dollar
  version: '1'
servers:
  - url: https://api.bridge.xyz/v0
    description: The base path for all resources
security:
  - ApiKey: []
tags:
  - name: Customers
  - name: Fiat Payout Configuration
  - name: External Accounts
  - name: Transfers
  - name: Prefunded Accounts
  - name: Balances
  - name: Liquidation Addresses
  - name: Developers
  - name: API Keys
  - name: Plaid
  - name: Virtual Accounts
  - name: Static Memos
  - name: Cards
  - name: Funds Requests
  - name: Webhooks
  - name: Lists
  - name: Crypto Return Policies
  - name: Rewards
  - name: Associated Persons
  - name: Sandbox
paths:
  /travel_rule_data/{id}:
    post:
      tags:
        - Travel Rule
      summary: Submit travel rule data.
      description: >
        Use this endpoint to submit originator, beneficiary, and transfer
        purpose data for travel rule compliance.
      parameters:
        - $ref: '#/components/parameters/IdempotencyKeyParameter'
        - name: id
          in: path
          required: true
          description: >-
            The ID of the resource to associate with this Travel Rule payload.
            Supported IDs include transfer IDs, virtual account IDs, virtual
            account event IDs, liquidation address IDs, bridge wallet event IDs,
            and drain IDs.
          schema:
            type: string
      requestBody:
        description: The Travel Rule payload to associate with the specified resource.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelRuleData'
      responses:
        '200':
          description: Travel Rule data processed successfully
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
                    description: Message indicating the status of the request.
              examples:
                TravelRuleDataProcessed:
                  summary: A successful Travel Rule submission
                  value:
                    message: Travel rule data processed successfully
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
components:
  parameters:
    IdempotencyKeyParameter:
      in: header
      name: Idempotency-Key
      required: true
      schema:
        type: string
  schemas:
    TravelRuleData:
      type: object
      description: >-
        Travel Rule data for a crypto movement. Send this on create or update
        when the same counterparty should apply to every future use of a
        reusable resource, or send the same payload with `POST
        /travel_rule_data/{id}` when it belongs to one specific movement.
      properties:
        originator:
          description: The party sending the crypto.
          allOf:
            - $ref: '#/components/schemas/TravelRuleOriginator'
        beneficiary:
          description: The party receiving the crypto.
          allOf:
            - $ref: '#/components/schemas/TravelRuleBeneficiary'
      example:
        originator:
          name: Jane Smith
          address:
            street_line_1: 123 Market St
            street_line_2: null
            city: San Francisco
            state: CA
            postal_code: '94105'
            country: USA
          identifying_information:
            type: national_id
            number: '1234567890'
            issuing_country: USA
          birth_date: '2000-01-31'
          place_of_birth:
            city: San Francisco
            country: USA
          wallet_type: self_custodied
          wallet_attested_ownership_at: '2026-04-01T12:00:00Z'
        beneficiary:
          is_self: true
          wallet_type: external
    TravelRuleOriginator:
      type: object
      description: Travel Rule details for originator crypto movement.
      properties:
        is_self:
          $ref: '#/components/schemas/TravelRuleIsSelf'
        name:
          $ref: '#/components/schemas/TravelRuleName'
        address:
          description: >-
            Mailing or legal address of the originator. Usually omitted when
            `is_self` is `true`.
          allOf:
            - $ref: '#/components/schemas/TravelRuleAddress'
        wallet_type:
          $ref: '#/components/schemas/TravelRuleWalletType'
        wallet_attested_ownership_at:
          $ref: '#/components/schemas/TravelRuleWalletAttestedOwnershipAt'
        identifying_information:
          allOf:
            - $ref: '#/components/schemas/IdentifyingInformation'
          description: >
            List of identification objects for the originator. Do **not**
            include `image_front` or `image_back` fields in this context; those
            are not accepted in Travel Rule submissions.
        birth_date:
          type: string
          description: Date of birth in format yyyy-mm-dd.
          minLength: 10
          maxLength: 10
        place_of_birth:
          $ref: '#/components/schemas/PlaceOfBirthInput'
        legal_entity_identifier:
          type: string
          description: >-
            The Legal Entity Identifier (LEI) or equivalent (e.g. VAT number) of
            the originator. Provide this when the originator is a legal entity
            rather than an individual.
    TravelRuleBeneficiary:
      type: object
      description: Travel Rule details for beneficiary crypto movement.
      properties:
        is_self:
          $ref: '#/components/schemas/TravelRuleIsSelf'
        name:
          $ref: '#/components/schemas/TravelRuleName'
        address:
          description: >-
            Mailing or legal address of the beneficiary. Usually omitted when
            `is_self` is `true`.
          allOf:
            - $ref: '#/components/schemas/TravelRuleAddress'
        wallet_type:
          $ref: '#/components/schemas/TravelRuleWalletType'
        wallet_attested_ownership_at:
          $ref: '#/components/schemas/TravelRuleWalletAttestedOwnershipAt'
        legal_entity_identifier:
          type: string
          description: >-
            The Legal Entity Identifier (LEI) or equivalent (e.g. VAT number) of
            the beneficiary. Provide this when the beneficiary is a legal entity
            rather than an individual.
    Error:
      required:
        - code
        - message
      properties:
        code:
          type: string
          minLength: 1
          maxLength: 256
        message:
          type: string
          minLength: 1
          maxLength: 512
        source:
          title: ErrorSource
          required:
            - location
            - key
          properties:
            location:
              type: string
              enum:
                - path
                - query
                - body
                - header
            key:
              type: string
              description: >-
                Comma separated names of the properties or parameters causing
                the error
    TravelRuleIsSelf:
      type: boolean
      description: >-
        Set to `true` when this party is the same person or business as the
        Bridge customer on the resource. When `true`, Bridge uses the customer's
        name and address on file instead of relying on `name` and `address` in
        this payload.
    TravelRuleName:
      type: string
      description: >-
        Legal name of the originator or beneficiary. Usually omitted when
        `is_self` is `true`.
    TravelRuleAddress:
      type: object
      description: >-
        Address for travel rule submissions. All fields are optional to support
        partial address data (e.g. country-only).
      properties:
        street_line_1:
          type: string
        street_line_2:
          type: string
        city:
          type: string
        state:
          type: string
          description: ISO 3166-2 subdivision code.
        postal_code:
          type: string
        country:
          description: Three-letter alpha-3 country code as defined in the ISO 3166-1 spec.
          type: string
          minLength: 3
          maxLength: 3
    TravelRuleWalletType:
      type: string
      description: >-
        Indicates the custody model for the wallet. Use `self_custodied` for
        customer-owned wallets (customer controls private keys), `hosted` for
        wallets managed by a developer or regulated entity on behalf of the
        customer, or `external` for wallets belonging to external exchanges or
        smart contracts.
      enum:
        - hosted
        - external
        - self_custodied
    TravelRuleWalletAttestedOwnershipAt:
      type: string
      format: date-time
      description: >-
        Required when `wallet_type` is `self-custodied` or `hosted`. Must be a
        timestamp in the past indicating when wallet ownership was attested.
    IdentifyingInformation:
      writeOnly: true
      type: array
      title: Identification Information
      items:
        type: object
        required:
          - issuing_country
          - type
        properties:
          type:
            type: string
            description: >
              Tax identification number type or government-issued ID document
              type (see enum). Country-specific tax and national ID lists:
              [Individuals](https://apidocs.bridge.xyz/docs/individual-tax-identification-numbers-by-country),
              [Businesses](https://apidocs.bridge.xyz/docs/business-tax-identification-numbers-by-country).


              **EEA / BBSA (policy in `eea_requirements.rb`):** In-scope
              individuals and UBOs need **both** a valid national-ID-type entry
              and a valid TIN per [EEA updated
              requirements](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements).
              In-scope businesses need business registration **and** business
              tax ID types per country tables there. **TIN issuing country**
              must match residence (individuals) or incorporation (businesses).
              **Foreign tax** outside the incorporation country: set
              `has_foreign_tax_registration` on the business customer and add
              TIN objects per jurisdiction ([foreign tax / tax
              residency](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements#tax-residency-status-foreign-tax-registry)).
            enum:
              - drivers_license
              - matriculate_id
              - military_id
              - national_id
              - passport
              - permanent_residency_id
              - state_or_provincial_id
              - visa
              - abn
              - acn
              - ahv
              - ak
              - aom
              - arbn
              - avs
              - bc
              - bce
              - bin
              - bir
              - bp
              - brn
              - bsn
              - bvn
              - cc
              - cdi
              - cedula_juridica
              - cf
              - cif
              - cin
              - cipc
              - cn
              - cnp
              - cnpj
              - cpf
              - cpr
              - crc
              - crib
              - crn
              - cro
              - cui
              - cuil
              - curp
              - cuit
              - cvr
              - edrpou
              - ein
              - embg
              - emirates_id
              - en
              - fin
              - fn
              - gstin
              - gui
              - hetu
              - hkid
              - hn
              - ic
              - ico
              - id
              - id_broj
              - idno
              - idnp
              - idnr
              - if
              - iin
              - ik
              - inn
              - ird
              - itin
              - itr
              - iva
              - jmbg
              - kbo
              - kvk
              - matricule
              - mf
              - mn
              - ms
              - mst
              - nic
              - nicn
              - nie
              - nif
              - nin
              - nino
              - nip
              - nipc
              - nipt
              - nit
              - npwp
              - nric
              - nrn
              - nrt
              - ntn
              - nuit
              - nzbn
              - oib
              - orgnr
              - other
              - pan
              - partita_iva
              - pesel
              - pib
              - pin
              - pk
              - ppsn
              - qid
              - rc
              - regon
              - rfc
              - ricn
              - rif
              - rn
              - rnc
              - rnokpp
              - rp
              - rrn
              - rtn
              - ruc
              - rut
              - si
              - sin
              - siren
              - siret
              - spi
              - ssm
              - ssn
              - steuer_id
              - strn
              - tckn
              - tfn
              - tin
              - tpin
              - trn
              - ucn
              - uen
              - uic
              - uid
              - usc
              - ust_idnr
              - utr
              - vat
              - vkn
              - voen
              - y_tunnus
          issuing_country:
            type: string
            description: >-
              The ISO 3166-1 (three-character) country code that issued the
              provided document.
          number:
            type: string
            description: >-
              The unique identifier of the document. Required if this document
              is being used as a tax identification number (e.g., you are
              providing a passport or national_id with no other identification).
          description:
            type: string
            description: >-
              A description describing the provided document. This field is
              required when `other` is selected.
          expiration:
            type: string
            description: The expiration date of the given document in yyyy-mm-dd format.
          image_front:
            type: string
            description: >
              This field is optionally accepted for tax_id types, but required
              for government_id types. Base64 encoded image* of the front side
              of the provided document, following the data-uri scheme i.e.
              data:image/[type];base64,[base_64_encoded_file_contents], with a
              minimum size of 200px x 200px \n\n*Maximum File Size:
              15MB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif


              _Note: When combined with an `image_back`, the combined size of
              both images must not exceed 24MB._
          image_back:
            type: string
            description: >
              Base64 encoded image* of the back side of the provided document,
              following the data-uri scheme i.e.
              data:image/[type];base64,[base_64_encoded_file_contents], with a
              minimum size of 200px x 200px \n\n*Maximum File Size:
              15MB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif


              _Note: When combined with an `image_front`, the combined size of
              both images must not exceed 24MB._
    PlaceOfBirthInput:
      type: object
      description: >
        Country (and optionally city) of birth. **EEA / BBSA in-scope
        customers:** supply when onboarding individuals or associated persons
        under the [EEA updated
        requirements](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements#country-of-birth-and-city-of-birth).
        This is a sparse address — no street address. At least `country` should
        be present when the object is sent; `city` is recommended and will be
        required by EU law in 2027.
      properties:
        country:
          type: string
          minLength: 3
          maxLength: 3
          description: ISO 3166-1 alpha-3 country code for the place of birth.
        city:
          type: string
          minLength: 1
          description: City of birth (recommended for EEA).
  responses:
    BadRequestError:
      description: Request containing missing or invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            BadCustomerRequestErrorExample:
              summary: Bad customer request
              value:
                code: bad_customer_request
                message: fields missing from customer body.
                name: first_name,ssn
    AuthenticationError:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            MissingTokenError:
              summary: No Api-Key header
              description: The header may be missing or misspelled.
              value:
                code: required
                location: header
                name: Api-Key
                message: Missing Api-Key header
            InvalidTokenError:
              summary: Invalid key in Api-Key header
              value:
                code: invalid
                location: header
                name: Api-Key
                message: Invalid Api-Key header
    NotFoundError:
      description: No resource found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            NotFoundErrorExample:
              summary: Invalid customer id
              value:
                code: Invalid
                message: Unknown customer id
    UnexpectedError:
      description: Unexpected error. User may try and send the request again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            UnexpectedError:
              summary: An unexpected error
              value:
                errors:
                  - code: unexpected
                    message: An expected error occurred, you may try again later
  securitySchemes:
    ApiKey:
      type: apiKey
      name: Api-Key
      in: header

````