// Runs inside hosted Connect. frameToken is the frame session its sign-in returned, held in memory only.
const res = await fetch('https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles', {
headers: { 'x-trdrs-connect-frame': frameToken },
credentials: 'omit',
})
const data = await res.json()curl 'https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles' \
-H "x-trdrs-connect-frame: $TRDRS_CONNECT_FRAME"import requests
url = "https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles"
headers = {"x-trdrs-connect-frame": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-trdrs-connect-frame: <api-key>"
],
]);
$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://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-trdrs-connect-frame", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles")
.header("x-trdrs-connect-frame", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-trdrs-connect-frame"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"tiles": [
{
"id": "00000000-0000-0000-0000-000000000001",
"name": "Meridian Futures",
"provider": "rithmic",
"loginStyle": "trader_login",
"entry": "venue",
"logoUrl": "/api/connect/companies/00000000-0000-0000-0000-000000000001/logo.png",
"logoBleed": true,
"referralUrl": null,
"system": "Meridian",
"connectEnvironment": "sim",
"blurb": null,
"enabled": true,
"sortOrder": 0,
"access": "open"
},
{
"id": "00000000-0000-0000-0000-000000000002",
"name": "Hyperliquid",
"provider": "hyperliquid",
"loginStyle": "wallet_key",
"entry": "provider",
"logoUrl": null,
"logoBleed": false,
"referralUrl": null,
"system": null,
"connectEnvironment": null,
"blurb": "Crypto perpetuals via an agent key",
"enabled": true,
"sortOrder": 1,
"access": "open"
}
]
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}List the tiles a Connect session offers
Lists the tiles your app’s Connect offers, in your order, so hosted Connect shows exactly those. Each is a venue’s entry, which opens the provider the venue runs on, or a provider’s own. While you offer white-label paper, your white-label paper tile, the paper book’s entry in your app’s own name and logo, comes first, until you retire the trader’s Demo. Each tile’s sortOrder is its place in the list, from 0, so sorting by it keeps your order. A provider you switched off after the link was created is refused when the trader starts connecting it. Preview: served on the sandbox, where it is free.
// Runs inside hosted Connect. frameToken is the frame session its sign-in returned, held in memory only.
const res = await fetch('https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles', {
headers: { 'x-trdrs-connect-frame': frameToken },
credentials: 'omit',
})
const data = await res.json()curl 'https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles' \
-H "x-trdrs-connect-frame: $TRDRS_CONNECT_FRAME"import requests
url = "https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles"
headers = {"x-trdrs-connect-frame": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-trdrs-connect-frame: <api-key>"
],
]);
$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://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-trdrs-connect-frame", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles")
.header("x-trdrs-connect-frame", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trdrs.co/api/connect-link/sessions/{sessionId}/tiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-trdrs-connect-frame"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"tiles": [
{
"id": "00000000-0000-0000-0000-000000000001",
"name": "Meridian Futures",
"provider": "rithmic",
"loginStyle": "trader_login",
"entry": "venue",
"logoUrl": "/api/connect/companies/00000000-0000-0000-0000-000000000001/logo.png",
"logoBleed": true,
"referralUrl": null,
"system": "Meridian",
"connectEnvironment": "sim",
"blurb": null,
"enabled": true,
"sortOrder": 0,
"access": "open"
},
{
"id": "00000000-0000-0000-0000-000000000002",
"name": "Hyperliquid",
"provider": "hyperliquid",
"loginStyle": "wallet_key",
"entry": "provider",
"logoUrl": null,
"logoBleed": false,
"referralUrl": null,
"system": null,
"connectEnvironment": null,
"blurb": "Crypto perpetuals via an agent key",
"enabled": true,
"sortOrder": 1,
"access": "open"
}
]
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}Authorizations
The frame session the mount opens for a Connect link's trader, lasting 30 minutes at most. Hosted Connect holds it in memory and sends it itself. An API key or a Venue key cannot reach a route secured this way.
Path Parameters
Response
Success. The response is sent with Cache-Control: no-store, so don't cache it.
Your white-label paper tile first while you offer it, then the tiles you switched on, in your order.
Show child attributes
Show child attributes