Get TRLink policy
Retrieves the complete TRSupport policy for the authenticated tenant, including pre-screening rules, post-screening rules, and missing TRM rules. Pre-screening rules determine whether transactions should be screened. Post-screening rules determine actions based on screening results. Missing TRM rules handle cases when screening data is unavailable.
const response: Promise<FireblocksResponse<TRLinkPolicyResponse>> = fireblocks.tRLink.getTRLinkPolicy();CompletableFuture<ApiResponse<TRLinkPolicyResponse>> response = fireblocks.tRLink().getTRLinkPolicy();response = fireblocks.t_r_link.get_t_r_link_policy();curl --request GET \
--url https://api.fireblocks.io/v1/screening/trlink/policyconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/screening/trlink/policy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fireblocks.io/v1/screening/trlink/policy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fireblocks.io/v1/screening/trlink/policy"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/screening/trlink/policy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"preScreeningRules": [
{
"customerId": "cust_123abc",
"direction": "OUTBOUND",
"sourceType": "VAULT_ACCOUNT",
"sourceSubType": "<string>",
"sourceAddress": "0x1234567890abcdef1234567890abcdef12345678",
"destType": "EXTERNAL_WALLET",
"destSubType": "<string>",
"destAddress": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",
"sourceId": "<string>",
"destId": "<string>",
"asset": "BTC",
"baseAsset": "<string>",
"amount": {
"range": {
"min": "1000",
"max": "100000"
},
"currency": "USD"
},
"networkProtocol": "BITCOIN",
"operation": "TRANSFER",
"description": "Screen large BTC outbound transactions to external wallets",
"isDefault": false
}
],
"postScreeningRules": [
{
"customerId": "cust_123abc",
"direction": "OUTBOUND",
"sourceType": "EXTERNAL_WALLET",
"sourceSubType": "<string>",
"sourceAddress": "0x9876543210fedcba9876543210fedcba98765432",
"destType": "VAULT_ACCOUNT",
"destSubType": "<string>",
"destAddress": "0x1234567890abcdef1234567890abcdef12345678",
"sourceId": "<string>",
"destId": "<string>",
"asset": "ETH",
"baseAsset": "<string>",
"amount": {
"range": {
"min": "1000",
"max": "100000"
},
"currency": "USD"
},
"networkProtocol": "ETHEREUM",
"operation": "TRANSFER",
"description": "Accept transactions with TRM approval after January 2024",
"isDefault": false,
"providerIdent": "trm-provider-1",
"trmStatus": "ACCEPTED",
"validBefore": 1735689600000,
"validAfter": 1704067200000
}
],
"missingTrmRules": [
{
"customerId": "cust_123abc",
"direction": "OUTBOUND",
"sourceType": "EXTERNAL_WALLET",
"sourceSubType": "<string>",
"sourceAddress": "0xabcdef1234567890abcdef1234567890abcdef12",
"destType": "VAULT_ACCOUNT",
"destSubType": "<string>",
"destAddress": "0x567890abcdef1234567890abcdef1234567890ab",
"sourceId": "<string>",
"destId": "<string>",
"asset": "BTC",
"baseAsset": "<string>",
"amount": {
"range": {
"min": "1000",
"max": "100000"
},
"currency": "USD"
},
"networkProtocol": "BITCOIN",
"operation": "TRANSFER",
"description": "Wait for TRM screening on inbound transactions",
"isDefault": false,
"validBefore": 1735689600000,
"validAfter": 1704067200000
}
]
}{
"message": "<string>",
"code": 123
}Response
Policy retrieved successfully
TRLink policy response containing pre-screening, post-screening, and missing TRM rules
Pre-screening rules that determine whether transactions should be screened
Show child attributes
Show child attributes
Post-screening rules that determine actions based on screening results
Show child attributes
Show child attributes
Rules for handling transactions when TRM screening data is unavailable
Show child attributes
Show child attributes
Was this page helpful?
const response: Promise<FireblocksResponse<TRLinkPolicyResponse>> = fireblocks.tRLink.getTRLinkPolicy();CompletableFuture<ApiResponse<TRLinkPolicyResponse>> response = fireblocks.tRLink().getTRLinkPolicy();response = fireblocks.t_r_link.get_t_r_link_policy();curl --request GET \
--url https://api.fireblocks.io/v1/screening/trlink/policyconst options = {method: 'GET'};
fetch('https://api.fireblocks.io/v1/screening/trlink/policy', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fireblocks.io/v1/screening/trlink/policy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fireblocks.io/v1/screening/trlink/policy"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.fireblocks.io/v1/screening/trlink/policy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"preScreeningRules": [
{
"customerId": "cust_123abc",
"direction": "OUTBOUND",
"sourceType": "VAULT_ACCOUNT",
"sourceSubType": "<string>",
"sourceAddress": "0x1234567890abcdef1234567890abcdef12345678",
"destType": "EXTERNAL_WALLET",
"destSubType": "<string>",
"destAddress": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",
"sourceId": "<string>",
"destId": "<string>",
"asset": "BTC",
"baseAsset": "<string>",
"amount": {
"range": {
"min": "1000",
"max": "100000"
},
"currency": "USD"
},
"networkProtocol": "BITCOIN",
"operation": "TRANSFER",
"description": "Screen large BTC outbound transactions to external wallets",
"isDefault": false
}
],
"postScreeningRules": [
{
"customerId": "cust_123abc",
"direction": "OUTBOUND",
"sourceType": "EXTERNAL_WALLET",
"sourceSubType": "<string>",
"sourceAddress": "0x9876543210fedcba9876543210fedcba98765432",
"destType": "VAULT_ACCOUNT",
"destSubType": "<string>",
"destAddress": "0x1234567890abcdef1234567890abcdef12345678",
"sourceId": "<string>",
"destId": "<string>",
"asset": "ETH",
"baseAsset": "<string>",
"amount": {
"range": {
"min": "1000",
"max": "100000"
},
"currency": "USD"
},
"networkProtocol": "ETHEREUM",
"operation": "TRANSFER",
"description": "Accept transactions with TRM approval after January 2024",
"isDefault": false,
"providerIdent": "trm-provider-1",
"trmStatus": "ACCEPTED",
"validBefore": 1735689600000,
"validAfter": 1704067200000
}
],
"missingTrmRules": [
{
"customerId": "cust_123abc",
"direction": "OUTBOUND",
"sourceType": "EXTERNAL_WALLET",
"sourceSubType": "<string>",
"sourceAddress": "0xabcdef1234567890abcdef1234567890abcdef12",
"destType": "VAULT_ACCOUNT",
"destSubType": "<string>",
"destAddress": "0x567890abcdef1234567890abcdef1234567890ab",
"sourceId": "<string>",
"destId": "<string>",
"asset": "BTC",
"baseAsset": "<string>",
"amount": {
"range": {
"min": "1000",
"max": "100000"
},
"currency": "USD"
},
"networkProtocol": "BITCOIN",
"operation": "TRANSFER",
"description": "Wait for TRM screening on inbound transactions",
"isDefault": false,
"validBefore": 1735689600000,
"validAfter": 1704067200000
}
]
}{
"message": "<string>",
"code": 123
}