---
title: "Get a travel rule transfer by ID"
method: GET
path: "/v1/domains/{domainId}/compliance/travel-rule/providers/{provider}/messages/{travelRuleId}"
tags: ["Compliance"]
---

# Get a travel rule transfer by ID

`GET /v1/domains/{domainId}/compliance/travel-rule/providers/{provider}/messages/{travelRuleId}`

## Request

- Base URL: `https://docs.ripple.com` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.ripple.com/v1/domains/{domainId}/compliance/travel-rule/providers/{provider}/messages/{travelRuleId}`
- Auth: HTTP bearer

## Path parameters

- `domainId` string, uuid, required
- `provider` 'NOTABENE', required
- `travelRuleId` string, uuid, required

## Query parameters

- `decrypt` boolean

## Response `200`

Transfer retrieved successfully

- ComplianceGetTravelRuleTransferResponse: Response from getting a travel rule transfer
  - `transfer` ComplianceTransfer: Travel rule transfer details from the provider
    - `@id` string, uuid: The ID of the transfer
    - `id` string, uuid: The ID of the transfer (alternative field name)
    - `status` 'OUTGOING' | 'INCOMING' | 'REJECTED' | 'AUTHORIZED' | 'FLAGGED' | 'SETTLED' | 'FLAGGED-SETTLEMENT' | 'RETURNED' | 'FROZEN' | 'CLEARED': The status of the transfer
    - `direction` 'INCOMING' | 'OUTGOING': The direction of the transfer
    - `ref` string: The reference provided in the request
    - `asset` string: The asset being transferred
    - `amount` string: The amount being transferred
    - `originator` ComplianceTransferParty: Party information in a transfer
      - `@id` string: The DID identifier of the party
      - `accountNumber` string: The account number of the party
      - `name` string: The name of the party
    - `beneficiary` ComplianceTransferParty: Party information in a transfer
      - `@id` string: The DID identifier of the party
      - `accountNumber` string: The account number of the party
      - `name` string: The name of the party
    - `agents` ComplianceAgent[]
      - `@id` string, required: The DID identifier of the agent
      - `for` string: The party this agent is acting for
      - `role` 'VASP' | 'Custodian' | 'SettlementAddress' | 'SourceAddress' | 'Gateway' | 'Unknown', required: The role of the agent
    - `settlementId` string: The transaction id of the settlement transaction
    - `isTravelRule` boolean: Whether the transfer requires travel rule compliance
    - `presentationDefinitionUrl` string: URL for the presentation definition
    - `createdAt` string, date-time: When the transfer was created
    - `updatedAt` string, date-time: When the transfer was last updated
    - `settledAt` string, date-time: When the transfer was settled
    - `rejectedAt` string, date-time: When the transfer was rejected
    - `rejectionReason` string: Reason for rejection if the transfer was rejected
  - `suggestedIntentId` string, uuid: The intentId the client needs to initiate the intent with
  - `complianceTravelRuleId` string, uuid: The id associated with this travel rule record on Compliance side

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Transfer or domain not found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/ripple/apis/ripple-custody-api.md) - [All operations](https://skmtc.dev/ripple/apis/ripple-custody-api/llms.txt) - [OpenAPI document](https://skmtc.dev/ripple/apis/ripple-custody-api/revisions/c6f0ad6b70c0?raw)
