const res = await fetch('https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles', {
method: 'PUT',
headers: {
'content-type': 'application/json',
Authorization: `Bearer ${process.env.TRDRS_VENUE_KEY}`,
"Idempotency-Key": "example-request-1",
},
body: JSON.stringify({
"autoEnable": false,
"enabled": [
"00000000-0000-0000-0000-000000000001"
],
"expectedRevision": 2
}),
})
const data = await res.json()curl -X PUT 'https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles' \
-H "Authorization: Bearer $TRDRS_VENUE_KEY" \
-H 'Idempotency-Key: example-request-1' \
-H 'content-type: application/json' \
-d '{"autoEnable":false,"enabled":["00000000-0000-0000-0000-000000000001"],"expectedRevision":2}'import requests
url = "https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles"
payload = {
"autoEnable": False,
"enabled": ["00000000-0000-0000-0000-000000000001"],
"expectedRevision": 2
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles",
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([
'autoEnable' => false,
'enabled' => [
'00000000-0000-0000-0000-000000000001'
],
'expectedRevision' => 2
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles"
payload := strings.NewReader("{\n \"autoEnable\": false,\n \"enabled\": [\n \"00000000-0000-0000-0000-000000000001\"\n ],\n \"expectedRevision\": 2\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.put("https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"autoEnable\": false,\n \"enabled\": [\n \"00000000-0000-0000-0000-000000000001\"\n ],\n \"expectedRevision\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"autoEnable\": false,\n \"enabled\": [\n \"00000000-0000-0000-0000-000000000001\"\n ],\n \"expectedRevision\": 2\n}"
response = http.request(request)
puts response.read_body{
"tiles": {
"autoEnable": false,
"revision": 2,
"items": [
{
"companyId": "00000000-0000-0000-0000-000000000001",
"name": "Meridian Futures",
"provider": "rithmic",
"kind": "prop",
"logoUrl": "/api/connect/companies/00000000-0000-0000-0000-000000000001/logo.png",
"logoBleed": true,
"access": "open",
"enabled": true,
"chosen": true
},
{
"companyId": "00000000-0000-0000-0000-000000000002",
"name": "Hyperliquid",
"provider": "hyperliquid",
"kind": "crypto",
"logoUrl": null,
"logoBleed": false,
"access": "open",
"enabled": false,
"chosen": false
}
]
}
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}Choose the integrations your Connect offers
Switches every integration at once: the integrations enabled names are on, and every other one is off. autoEnable decides whether an integration listed later joins your Connect by itself. Switching an integration off stops new connections to it through your Connect at once, and disconnects nothing a trader already connected. The response is your choices as they now stand, and sending what is already so changes nothing. Required scope: connect:manage. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and Partner keys do not authorize these routes.
const res = await fetch('https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles', {
method: 'PUT',
headers: {
'content-type': 'application/json',
Authorization: `Bearer ${process.env.TRDRS_VENUE_KEY}`,
"Idempotency-Key": "example-request-1",
},
body: JSON.stringify({
"autoEnable": false,
"enabled": [
"00000000-0000-0000-0000-000000000001"
],
"expectedRevision": 2
}),
})
const data = await res.json()curl -X PUT 'https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles' \
-H "Authorization: Bearer $TRDRS_VENUE_KEY" \
-H 'Idempotency-Key: example-request-1' \
-H 'content-type: application/json' \
-d '{"autoEnable":false,"enabled":["00000000-0000-0000-0000-000000000001"],"expectedRevision":2}'import requests
url = "https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles"
payload = {
"autoEnable": False,
"enabled": ["00000000-0000-0000-0000-000000000001"],
"expectedRevision": 2
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles",
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([
'autoEnable' => false,
'enabled' => [
'00000000-0000-0000-0000-000000000001'
],
'expectedRevision' => 2
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles"
payload := strings.NewReader("{\n \"autoEnable\": false,\n \"enabled\": [\n \"00000000-0000-0000-0000-000000000001\"\n ],\n \"expectedRevision\": 2\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
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))
}HttpResponse<String> response = Unirest.put("https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"autoEnable\": false,\n \"enabled\": [\n \"00000000-0000-0000-0000-000000000001\"\n ],\n \"expectedRevision\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trdrs.co/api/partner/venues/{venueId}/connect/tiles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"autoEnable\": false,\n \"enabled\": [\n \"00000000-0000-0000-0000-000000000001\"\n ],\n \"expectedRevision\": 2\n}"
response = http.request(request)
puts response.read_body{
"tiles": {
"autoEnable": false,
"revision": 2,
"items": [
{
"companyId": "00000000-0000-0000-0000-000000000001",
"name": "Meridian Futures",
"provider": "rithmic",
"kind": "prop",
"logoUrl": "/api/connect/companies/00000000-0000-0000-0000-000000000001/logo.png",
"logoBleed": true,
"access": "open",
"enabled": true,
"chosen": true
},
{
"companyId": "00000000-0000-0000-0000-000000000002",
"name": "Hyperliquid",
"provider": "hyperliquid",
"kind": "crypto",
"logoUrl": null,
"logoBleed": false,
"access": "open",
"enabled": false,
"chosen": false
}
]
}
}{
"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 Venue key (trdrs_vk_sandbox_… or trdrs_vk_production_…), in preview. It belongs to one venue in one environment and carries the scopes it was created with. The venue's verified owner creates it while signed in. It works on the /api/partner/venues/{venueId} routes and, with trader:read or trader:trade, on the account, market and trading routes for the venue's own traders, each request naming its trader in x-trdrs-trader. A trdrs_sk_… key can't be used in its place. It never signs in, manages keys or reaches a trdrs user's accounts. Keep it on your server.
Headers
A key you choose, 1 to 128 characters, that identifies this write. Send the same key when you retry it, so the write is never applied twice.
1 - 128Path Parameters
Body
True to let integrations listed later join your Connect by themselves.
The companyId of each integration to switch on. An id that is not an integration your Connect can offer is refused with 400.
The revision you read.
x >= 1Response
Success. The response is sent with Cache-Control: no-store, so don't cache it.
Every integration your Connect can offer, in Connect's order: the built-in providers, and the firms and brokerages listed on trdrs that a trader connects inside Connect. A paper book is never one of them.
Show child attributes
Show child attributes