Connect customer integration
Connects a customer integration by providing API credentials. Stores encrypted credentials and enables the integration for use.
const response: Promise<FireblocksResponse<TRLinkCustomerIntegrationResponse>> = fireblocks.tRLink.connectTRLinkIntegration(tRLinkApiConnectTRLinkIntegrationRequest);CompletableFuture<ApiResponse<TRLinkCustomerIntegrationResponse>> response = fireblocks.tRLink().connectTRLinkIntegration(tRLinkConnectIntegrationRequest, customerIntegrationId, idempotencyKey);response = fireblocks.t_r_link.connect_t_r_link_integration(t_r_link_connect_integration_request, customer_integration_id, idempotency_key);curl --request PUT \
--url https://api.fireblocks.io/v1/screening/trlink/customers/integration/{customerIntegrationId} \
--header 'Content-Type: application/json' \
--data '
{
"apiKey": "fb_api_key_12345",
"secret": "secret_value_67890"
}
'const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({apiKey: 'fb_api_key_12345', secret: 'secret_value_67890'})
};
fetch('https://api.fireblocks.io/v1/screening/trlink/customers/integration/{customerIntegrationId}', 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/customers/integration/{customerIntegrationId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'apiKey' => 'fb_api_key_12345',
'secret' => 'secret_value_67890'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fireblocks.io/v1/screening/trlink/customers/integration/{customerIntegrationId}"
payload := strings.NewReader("{\n \"apiKey\": \"fb_api_key_12345\",\n \"secret\": \"secret_value_67890\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
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/customers/integration/{customerIntegrationId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"apiKey\": \"fb_api_key_12345\",\n \"secret\": \"secret_value_67890\"\n}"
response = http.request(request)
puts response.read_body{
"customerIntegrationId": "123e4567-e89b-12d3-a456-426614174000",
"createDate": "2025-01-20T10:30:00.000Z",
"lastUpdate": "2025-01-24T08:45:00.000Z",
"partner": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"ident": "notabene",
"name": "Notabene",
"baseUrl": "https://api.notabene.id",
"active": true,
"isTest": false,
"description": "Travel Rule compliance provider"
},
"customer": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"discoverable": "discoverable",
"shortName": "Acme Corp",
"fullLegalName": "Acme Corporation Ltd.",
"countryOfRegistration": "US",
"trPrimaryPurpose": "trlink",
"createDate": "2025-01-20T10:30:00.000Z",
"lastUpdate": "2025-01-24T08:45:00.000Z",
"geographicAddress": {
"addressLine": [
"Suite 100"
],
"streetName": "Main Street",
"buildingNumber": "123",
"floor": "5",
"postBox": "PO Box 456",
"postCode": "10001",
"townName": "New York",
"districtName": "Manhattan",
"countrySubDivision": "NY",
"country": "US"
},
"nationalIdentification": "{\"nationalIdentifier\":\"EXAMPLELEI1234567890\",\"nationalIdentifierType\":\"LEIX\",\"countryOfIssue\":\"US\"}",
"dateOfIncorporation": "2015-03-15",
"vaults": [
0,
1,
2
]
},
"apiKey": "fb_***************",
"secret": "***"
}{
"message": "<string>",
"code": 123
}Headers
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.
Path Parameters
Customer integration unique identifier
Body
Response
Customer integration connected successfully
Customer integration unique identifier
"123e4567-e89b-12d3-a456-426614174000"
Timestamp when the integration was created (ISO 8601 format)
"2025-01-20T10:30:00.000Z"
Timestamp when the integration was last updated (ISO 8601 format)
"2025-01-24T08:45:00.000Z"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
API key for partner integration (censored for security)
"fb_***************"
Secret for partner integration (censored for security)
"***"
Was this page helpful?
const response: Promise<FireblocksResponse<TRLinkCustomerIntegrationResponse>> = fireblocks.tRLink.connectTRLinkIntegration(tRLinkApiConnectTRLinkIntegrationRequest);CompletableFuture<ApiResponse<TRLinkCustomerIntegrationResponse>> response = fireblocks.tRLink().connectTRLinkIntegration(tRLinkConnectIntegrationRequest, customerIntegrationId, idempotencyKey);response = fireblocks.t_r_link.connect_t_r_link_integration(t_r_link_connect_integration_request, customer_integration_id, idempotency_key);curl --request PUT \
--url https://api.fireblocks.io/v1/screening/trlink/customers/integration/{customerIntegrationId} \
--header 'Content-Type: application/json' \
--data '
{
"apiKey": "fb_api_key_12345",
"secret": "secret_value_67890"
}
'const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({apiKey: 'fb_api_key_12345', secret: 'secret_value_67890'})
};
fetch('https://api.fireblocks.io/v1/screening/trlink/customers/integration/{customerIntegrationId}', 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/customers/integration/{customerIntegrationId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'apiKey' => 'fb_api_key_12345',
'secret' => 'secret_value_67890'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fireblocks.io/v1/screening/trlink/customers/integration/{customerIntegrationId}"
payload := strings.NewReader("{\n \"apiKey\": \"fb_api_key_12345\",\n \"secret\": \"secret_value_67890\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Content-Type", "application/json")
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/customers/integration/{customerIntegrationId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"apiKey\": \"fb_api_key_12345\",\n \"secret\": \"secret_value_67890\"\n}"
response = http.request(request)
puts response.read_body{
"customerIntegrationId": "123e4567-e89b-12d3-a456-426614174000",
"createDate": "2025-01-20T10:30:00.000Z",
"lastUpdate": "2025-01-24T08:45:00.000Z",
"partner": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"ident": "notabene",
"name": "Notabene",
"baseUrl": "https://api.notabene.id",
"active": true,
"isTest": false,
"description": "Travel Rule compliance provider"
},
"customer": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"discoverable": "discoverable",
"shortName": "Acme Corp",
"fullLegalName": "Acme Corporation Ltd.",
"countryOfRegistration": "US",
"trPrimaryPurpose": "trlink",
"createDate": "2025-01-20T10:30:00.000Z",
"lastUpdate": "2025-01-24T08:45:00.000Z",
"geographicAddress": {
"addressLine": [
"Suite 100"
],
"streetName": "Main Street",
"buildingNumber": "123",
"floor": "5",
"postBox": "PO Box 456",
"postCode": "10001",
"townName": "New York",
"districtName": "Manhattan",
"countrySubDivision": "NY",
"country": "US"
},
"nationalIdentification": "{\"nationalIdentifier\":\"EXAMPLELEI1234567890\",\"nationalIdentifierType\":\"LEIX\",\"countryOfIssue\":\"US\"}",
"dateOfIncorporation": "2015-03-15",
"vaults": [
0,
1,
2
]
},
"apiKey": "fb_***************",
"secret": "***"
}{
"message": "<string>",
"code": 123
}