TypeScript
// First-party cookie auth: this runs in a signed-in trdrs session, not under an API key.
const res = await fetch('https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten', {
method: 'POST',
headers: {
'content-type': 'application/json',
"Idempotency-Key": "example-request-1",
},
credentials: 'include',
body: JSON.stringify({
"destinationAccountId": "00000000-0000-0000-0000-000000000001"
}),
})
const data = await res.json()curl -X POST 'https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten' \
-b "session=$TRDRS_SESSION" \
-H 'Idempotency-Key: example-request-1' \
-H 'content-type: application/json' \
-d '{"destinationAccountId":"00000000-0000-0000-0000-000000000001"}'import requests
url = "https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten"
payload = { "destinationAccountId": "00000000-0000-0000-0000-000000000001" }
headers = {
"cookie": "session=",
"Idempotency-Key": "<idempotency-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'destinationAccountId' => '00000000-0000-0000-0000-000000000001'
]),
CURLOPT_COOKIE => "session=",
CURLOPT_HTTPHEADER => [
"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/operator/venues/{venueId}/hedges/flatten"
payload := strings.NewReader("{\n \"destinationAccountId\": \"00000000-0000-0000-0000-000000000001\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("cookie", "session=")
req.Header.Add("Idempotency-Key", "<idempotency-key>")
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.post("https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten")
.header("cookie", "session=")
.header("Idempotency-Key", "<idempotency-key>")
.header("Content-Type", "application/json")
.body("{\n \"destinationAccountId\": \"00000000-0000-0000-0000-000000000001\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["cookie"] = 'session='
request["Idempotency-Key"] = '<idempotency-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destinationAccountId\": \"00000000-0000-0000-0000-000000000001\"\n}"
response = http.request(request)
puts response.read_body{
"destinationAccountId": "00000000-0000-0000-0000-000000000001",
"state": "flatten_requested"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}Hedging
Explicitly flatten a hedge destination
Preview: served on the sandbox to every venue; production availability is arranged when a venue qualifies. Trading API keys and Partner keys do not authorize these routes. Requires hedge:execute. This is deliberately separate from emergency stop. It remains available while policies are stopped or provider state is stale, uses the reducing account command path and never touches customer accounts.
POST
/
api
/
operator
/
venues
/
{venueId}
/
hedges
/
flatten
TypeScript
// First-party cookie auth: this runs in a signed-in trdrs session, not under an API key.
const res = await fetch('https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten', {
method: 'POST',
headers: {
'content-type': 'application/json',
"Idempotency-Key": "example-request-1",
},
credentials: 'include',
body: JSON.stringify({
"destinationAccountId": "00000000-0000-0000-0000-000000000001"
}),
})
const data = await res.json()curl -X POST 'https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten' \
-b "session=$TRDRS_SESSION" \
-H 'Idempotency-Key: example-request-1' \
-H 'content-type: application/json' \
-d '{"destinationAccountId":"00000000-0000-0000-0000-000000000001"}'import requests
url = "https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten"
payload = { "destinationAccountId": "00000000-0000-0000-0000-000000000001" }
headers = {
"cookie": "session=",
"Idempotency-Key": "<idempotency-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'destinationAccountId' => '00000000-0000-0000-0000-000000000001'
]),
CURLOPT_COOKIE => "session=",
CURLOPT_HTTPHEADER => [
"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/operator/venues/{venueId}/hedges/flatten"
payload := strings.NewReader("{\n \"destinationAccountId\": \"00000000-0000-0000-0000-000000000001\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("cookie", "session=")
req.Header.Add("Idempotency-Key", "<idempotency-key>")
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.post("https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten")
.header("cookie", "session=")
.header("Idempotency-Key", "<idempotency-key>")
.header("Content-Type", "application/json")
.body("{\n \"destinationAccountId\": \"00000000-0000-0000-0000-000000000001\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trdrs.co/api/operator/venues/{venueId}/hedges/flatten")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["cookie"] = 'session='
request["Idempotency-Key"] = '<idempotency-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destinationAccountId\": \"00000000-0000-0000-0000-000000000001\"\n}"
response = http.request(request)
puts response.read_body{
"destinationAccountId": "00000000-0000-0000-0000-000000000001",
"state": "flatten_requested"
}{
"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 signed session cookie of a logged-in trdrs user. First-party/browser only; an API key cannot reach a route secured this way.
Headers
Required string length:
1 - 128Path Parameters
Body
application/json