TRLink

Resolve action for a TRM

Submits required data (e.g., beneficiary PII) to resolve a pending Travel Rule Message action.

post/screening/trlink/customers/integration/{customerIntegrationId}/trm/{trmId}/resolve_action

Request

Path parameters

customerIntegrationIdstring uuid required

Customer integration unique identifier

trmIdstring required

Travel Rule Message unique identifier

Headers

Idempotency-Keystring

A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.

Request body

typestring required

The action type identifier as defined by the Travel Rule provider. Must match one of the types returned by the get required actions endpoint. Values are provider-specific and may vary across different TRP implementations.

Example request

{
  "type": "UPLOAD_BENEFICIARY_PII",
  "data": {
    "beneficiaryPii": {
      "ivms101": {
        "version": "IVMS101.2023",
        "data": "aGVsbG8gd29ybGQgdGhpcyBpcyBlbmNyeXB0ZWQgZGF0YQ==",
        "filledFields": [
          "Beneficiary.beneficiaryPersons[].legalPerson.name.nameIdentifier",
          "Beneficiary.beneficiaryPersons[].naturalPerson.name.nameIdentifier"
        ]
      }
    }
  }
}

Response

Action resolved successfully

idstring required

TRM message ID

versionstring nullable

TRM version

status'PENDING' | 'ACCEPTED' | 'REJECTED' | 'FAILED' nullable

Current status of the Travel Rule Message

reasonstring nullable

Human readable reason for the current status

externalIdstring required

External ID (e.g., Fireblocks ID)

amountstring required

Transaction amount in asset units

direction'in' | 'out' required

Transaction direction for TRM (in = inbound, out = outbound)

originatorVaspIdstring nullable

ID of the originator VASP

beneficiaryVaspIdstring nullable

ID of the beneficiary VASP

Example response

{
  "id": "trm_1234567890abcdef",
  "version": "1.0",
  "status": "ACCEPTED",
  "reason": "Travel Rule compliance required for this transaction",
  "externalId": "550e8400-e29b-41d4-a716-446655440000",
  "asset": {
    "format": "fireblocks",
    "data": {
      "ticker": "USDT",
      "network": "ETH",
      "ucid": 825,
      "contractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
      "id": "USDT_ERC20"
    }
  },
  "amount": "1000",
  "fiatValue": {
    "amount": "1000.50",
    "currency": "USD"
  },
  "direction": "out",
  "originatorVaspId": "did:ethr:0x1234567890abcdef",
  "beneficiaryVaspId": "did:ethr:0xfedcba0987654321",
  "txnInfo": {
    "originatorWalletAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
    "beneficiaryWalletAddress": "0x8d12A197cB00D4747a1fe03395095ce2A5CC6819",
    "txHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  },
  "ivms101": {
    "version": "1.0",
    "data": "eyJvcmlnaW5hdG9yIjp7Im5hbWUiOiJKb2huIERvZSIsImFkZHJlc3MiOiIxMjMgTWFpbiBTdCJ9LCJiZW5lZmljaWFyeSI6eyJuYW1lIjoiSmFuZSBTbWl0aCIsImFkZHJlc3MiOiI0NTYgRWxtIFN0In19",
    "filledFields": [
      "originator.name",
      "originator.address",
      "beneficiary.name",
      "beneficiary.address"
    ]
  },
  "providerData": {
    "provider": "notabene",
    "data": {
      "vasp_did": "did:ethr:0x1234567890abcdef",
      "compliance_status": "verified"
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.