# `FireblocksSdk.Api.TrLink`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L1)

Fireblocks TRLink API.

Covers the TRSupport partner integration framework for Travel Rule compliance
(`/v1/screening/trlink`). Manages customers (legal entities/VASPs), partner
integrations, VASP discovery, asset support, and Travel Rule Message (TRM)
lifecycle operations.

# `assess_tr_link_travel_rule_requirement`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L280)

```elixir
@spec assess_tr_link_travel_rule_requirement(String.t(), map(), String.t()) :: map()
```

Assesses the Travel Rule reporting requirement for a transaction.

Accepts a plain map containing transaction details for assessment.

- `integration_id`: The unique identifier of the customer integration.
- `body`: Map containing transaction details for Travel Rule assessment.
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

# `cancel_tr_link_trm`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L332)

```elixir
@spec cancel_tr_link_trm(String.t(), String.t(), map(), String.t()) :: map()
```

Cancels a Travel Rule Message.

Accepts a plain map containing the cancellation reason.

- `integration_id`: The unique identifier of the customer integration.
- `trm_id`: The unique identifier of the Travel Rule Message to cancel.
- `body`: Map containing the cancellation reason.
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

# `connect_tr_link_integration`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L152)

```elixir
@spec connect_tr_link_integration(String.t(), map(), String.t()) :: map()
```

Connects a TRLink integration by supplying API credentials for the partner.

Accepts a plain map containing the partner API credentials.

- `integration_id`: The unique identifier of the customer integration.
- `body`: Map containing the partner API credentials.
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

# `create_tr_link_customer`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L56)

```elixir
@spec create_tr_link_customer(map(), String.t()) :: map()
```

Creates a new TRLink customer with IVMS101-compliant identity data.

Accepts a plain map containing IVMS101 customer identity fields.

- `body`: IVMS101-compliant customer identity data.
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

# `create_tr_link_integration`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L138)

```elixir
@spec create_tr_link_integration(map(), String.t()) :: map()
```

Creates a new TRLink partner integration.

Accepts a plain map containing customer ID, partner ID, and optional integration ID.

- `body`: Map with `customerId`, `partnerId`, and optionally `customerIntegrationId`.
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

# `create_tr_link_trm`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L300)

```elixir
@spec create_tr_link_trm(String.t(), map(), String.t()) :: map()
```

Creates a Travel Rule Message with IVMS101-compliant PII.

Encrypts sensitive originator and beneficiary information before sending to the partner.
Accepts a plain map containing IVMS101-compliant PII for originator and beneficiary.

- `integration_id`: The unique identifier of the customer integration.
- `body`: IVMS101-compliant PII for originator and beneficiary.
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

# `delete_tr_link_customer`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L99)

```elixir
@spec delete_tr_link_customer(String.t()) :: map()
```

Deletes the TRLink customer with the given `customer_id`.

- `customer_id`: The unique identifier of the customer.

# `disconnect_tr_link_integration`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L167)

```elixir
@spec disconnect_tr_link_integration(String.t()) :: map()
```

Disconnects and removes the TRLink integration with the given `integration_id`.

- `integration_id`: The unique identifier of the customer integration.

# `get_tr_link_customer`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L74)

```elixir
@spec get_tr_link_customer(String.t()) :: map()
```

Returns the TRLink customer with the given `customer_id`.

- `customer_id`: The unique identifier of the customer.

# `get_tr_link_customer_integration`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L124)

```elixir
@spec get_tr_link_customer_integration(String.t(), String.t()) :: map()
```

Returns a single partner integration by customer and integration IDs.

- `customer_id`: The unique identifier of the customer.
- `integration_id`: The unique identifier of the customer integration.

# `get_tr_link_customer_integrations`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L113)

```elixir
@spec get_tr_link_customer_integrations(String.t()) :: list()
```

Returns all partner integrations for the given `customer_id`.

- `customer_id`: The unique identifier of the customer.

# `get_tr_link_customers`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L64)

```elixir
@spec get_tr_link_customers() :: list()
```

Returns a list of all TRLink customers.

# `get_tr_link_integration_public_key`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L177)

```elixir
@spec get_tr_link_integration_public_key(String.t()) :: map()
```

Returns the partner's public key in JWK format for encrypting PII in Travel Rule messages.

- `integration_id`: The unique identifier of the customer integration.

# `get_tr_link_partners`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L39)

```elixir
@spec get_tr_link_partners() :: list()
```

Returns list of available TRSupport partner integrations.

# `get_tr_link_policy`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L370)

```elixir
@spec get_tr_link_policy() :: map()
```

Returns the complete TRSupport policy for the tenant, including pre-screening rules,
post-screening rules, and missing TRM rules.

# `get_tr_link_supported_asset`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L261)

```elixir
@spec get_tr_link_supported_asset(String.t(), String.t()) :: map()
```

Returns a single supported asset by integration and asset IDs.

- `integration_id`: The unique identifier of the customer integration.
- `asset_id`: The unique identifier of the asset.

# `get_tr_link_trm`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L316)

```elixir
@spec get_tr_link_trm(String.t(), String.t()) :: map()
```

Returns a Travel Rule Message by integration and TRM IDs.

- `integration_id`: The unique identifier of the customer integration.
- `trm_id`: The unique identifier of the Travel Rule Message.

# `get_tr_link_vasp`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L228)

```elixir
@spec get_tr_link_vasp(String.t(), String.t()) :: map()
```

Returns a single VASP by integration and VASP IDs.

- `integration_id`: The unique identifier of the customer integration.
- `vasp_id`: The unique identifier of the VASP.

# `list_tr_link_supported_assets`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L248)

```elixir
@spec list_tr_link_supported_assets(
  String.t(),
  keyword()
) :: map()
```

Returns a paginated list of assets supported by the given integration.

- `integration_id`: The unique identifier of the customer integration.

Options:
* `:pageSize` (`t:non_neg_integer/0`) - Number of items per page (min: 1, max: 100). Defaults to 100. The default value is `100`.

* `:pageCursor` (`t:String.t/0`) - Page cursor returned from a previous response's `paging.next` field.

# `list_tr_link_vasps`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L215)

```elixir
@spec list_tr_link_vasps(
  String.t(),
  keyword()
) :: map()
```

Returns a paginated list of VASPs available through the given integration.

- `integration_id`: The unique identifier of the customer integration.

Options:
* `:pageSize` (`t:non_neg_integer/0`) - Number of items per page (min: 1, max: 100). Defaults to 100. The default value is `100`.

* `:pageCursor` (`t:String.t/0`) - Page cursor returned from a previous response's `paging.next` field.

# `redirect_tr_link_trm`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L352)

```elixir
@spec redirect_tr_link_trm(String.t(), String.t(), map(), String.t()) :: map()
```

Redirects a Travel Rule Message to a subsidiary VASP.

Accepts a plain map containing target subsidiary VASP details.

- `integration_id`: The unique identifier of the customer integration.
- `trm_id`: The unique identifier of the Travel Rule Message to redirect.
- `body`: Map containing target subsidiary VASP details.
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

# `set_tr_link_destination_trm_id`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L408)

```elixir
@spec set_tr_link_destination_trm_id(String.t(), map(), String.t()) :: map()
```

Associates a TRM ID with a specific destination in a multi-destination transaction.

Matches destination by amount and peer path. Accepts a plain map containing
TRM ID and destination matching fields.

- `tx_id`: The Fireblocks transaction ID.
- `body`: Map containing TRM ID and destination matching fields (amount, peer path).
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

# `set_tr_link_transaction_trm_id`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L388)

```elixir
@spec set_tr_link_transaction_trm_id(String.t(), map(), String.t()) :: map()
```

Associates a TRM ID with a Fireblocks transaction.

Accepts a plain map containing the TRM ID to associate.

- `tx_id`: The Fireblocks transaction ID.
- `body`: Map containing the TRM ID to associate with the transaction.
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

# `test_tr_link_integration_connection`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L191)

```elixir
@spec test_tr_link_integration_connection(String.t(), String.t()) :: map()
```

Tests the connection of a TRLink integration.

Sends a test request to the partner using the stored credentials and returns
the connection test result.

- `integration_id`: The unique identifier of the customer integration.
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

# `update_tr_link_customer`
[🔗](https://github.com/csokun/fireblocks_sdk/blob/v0.2.1/lib/fireblocks_sdk/api/tr_link.ex#L88)

```elixir
@spec update_tr_link_customer(String.t(), map(), String.t()) :: map()
```

Partially updates a TRLink customer's IVMS101 identity data.

Accepts a plain map containing the fields to update.

- `customer_id`: The unique identifier of the customer.
- `body`: Partial IVMS101 customer identity fields to update.
- `idempotency_key`: Optional `X-Idempotency-Key` header value.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
