// 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/organizations/{organizationId}/members', {
method: 'DELETE',
headers: {
'content-type': 'application/json',
"Idempotency-Key": "example-request-1",
},
credentials: 'include',
body: JSON.stringify({
"authUserId": "user_2",
"expectedVersion": 1
}),
})
const data = await res.json()curl -X DELETE 'https://app.trdrs.co/api/operator/organizations/{organizationId}/members' \
-b "session=$TRDRS_SESSION" \
-H 'Idempotency-Key: example-request-1' \
-H 'content-type: application/json' \
-d '{"authUserId":"user_2","expectedVersion":1}'import requests
url = "https://app.trdrs.co/api/operator/organizations/{organizationId}/members"
payload = {
"authUserId": "user_2",
"expectedVersion": 1
}
headers = {
"cookie": "session=",
"Idempotency-Key": "<idempotency-key>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.trdrs.co/api/operator/organizations/{organizationId}/members",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'authUserId' => 'user_2',
'expectedVersion' => 1
]),
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/organizations/{organizationId}/members"
payload := strings.NewReader("{\n \"authUserId\": \"user_2\",\n \"expectedVersion\": 1\n}")
req, _ := http.NewRequest("DELETE", 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.delete("https://app.trdrs.co/api/operator/organizations/{organizationId}/members")
.header("cookie", "session=")
.header("Idempotency-Key", "<idempotency-key>")
.header("Content-Type", "application/json")
.body("{\n \"authUserId\": \"user_2\",\n \"expectedVersion\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trdrs.co/api/operator/organizations/{organizationId}/members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["cookie"] = 'session='
request["Idempotency-Key"] = '<idempotency-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"authUserId\": \"user_2\",\n \"expectedVersion\": 1\n}"
response = http.request(request)
puts response.read_body{
"member": {
"authUserId": "user_2",
"role": "operator",
"active": false,
"version": 2
}
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}{
"error": "invalid_instrument"
}Remove a member
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. Verified owner session and trusted origin required. Names a listed member by authUserId with their current version as expectedVersion. The membership row stays, inactive, with its version advanced, and the person loses access to the organization’s venues at once. Removing the last active owner returns 409 last_owner; a stale version returns 409 version_conflict; somebody never listed returns 404 not_found. Repeating the same Idempotency-Key returns the first result.
// 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/organizations/{organizationId}/members', {
method: 'DELETE',
headers: {
'content-type': 'application/json',
"Idempotency-Key": "example-request-1",
},
credentials: 'include',
body: JSON.stringify({
"authUserId": "user_2",
"expectedVersion": 1
}),
})
const data = await res.json()curl -X DELETE 'https://app.trdrs.co/api/operator/organizations/{organizationId}/members' \
-b "session=$TRDRS_SESSION" \
-H 'Idempotency-Key: example-request-1' \
-H 'content-type: application/json' \
-d '{"authUserId":"user_2","expectedVersion":1}'import requests
url = "https://app.trdrs.co/api/operator/organizations/{organizationId}/members"
payload = {
"authUserId": "user_2",
"expectedVersion": 1
}
headers = {
"cookie": "session=",
"Idempotency-Key": "<idempotency-key>",
"Content-Type": "application/json"
}
response = requests.delete(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.trdrs.co/api/operator/organizations/{organizationId}/members",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => json_encode([
'authUserId' => 'user_2',
'expectedVersion' => 1
]),
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/organizations/{organizationId}/members"
payload := strings.NewReader("{\n \"authUserId\": \"user_2\",\n \"expectedVersion\": 1\n}")
req, _ := http.NewRequest("DELETE", 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.delete("https://app.trdrs.co/api/operator/organizations/{organizationId}/members")
.header("cookie", "session=")
.header("Idempotency-Key", "<idempotency-key>")
.header("Content-Type", "application/json")
.body("{\n \"authUserId\": \"user_2\",\n \"expectedVersion\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.trdrs.co/api/operator/organizations/{organizationId}/members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["cookie"] = 'session='
request["Idempotency-Key"] = '<idempotency-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"authUserId\": \"user_2\",\n \"expectedVersion\": 1\n}"
response = http.request(request)
puts response.read_body{
"member": {
"authUserId": "user_2",
"role": "operator",
"active": false,
"version": 2
}
}{
"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
1 - 128Path Parameters
Response
Scoped result. Cache-Control: no-store.
Show child attributes
Show child attributes