const res = await fetch('https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}', {
headers: { Authorization: `Bearer ${process.env.TRDRS_API_KEY}` },
})
const data = await res.json()curl 'https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}' \
-H "Authorization: Bearer $TRDRS_API_KEY"import requests
url = "https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"run": {
"id": "96507d96-8c4f-4b84-a718-a72dd77ba104",
"status": "open",
"ruleset": "partner",
"rulesetVersion": "1.0",
"openedAt": "2026-09-11T12:00:00.000Z",
"expiresAt": "2026-09-11T14:00:00.000Z",
"closedAt": null,
"certificateExpiresAt": null
},
"grade": {
"ruleset": "partner",
"rulesetVersion": "1.0",
"passed": false,
"outstanding": [
"stream_reconnect"
],
"results": [
{
"rule": "stream_reconnect",
"title": "Streams recover from a reconnect snapshot",
"kind": "injected",
"outcome": "not_exercised",
"passes": 0,
"failures": 0,
"note": "Open an account stream and reconnect after the sandbox drops it."
}
]
}
}Read conformance run results
Returns a conformance run with the rules it has seen pass, fail or not yet exercised. Each venue reads its own runs. An expired run stops injecting problems and can’t pass.
Required key: pre-registration key, in the sandbox.
const res = await fetch('https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}', {
headers: { Authorization: `Bearer ${process.env.TRDRS_API_KEY}` },
})
const data = await res.json()curl 'https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}' \
-H "Authorization: Bearer $TRDRS_API_KEY"import requests
url = "https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.trdrs.co/api/pre-registration/conformance/runs/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"run": {
"id": "96507d96-8c4f-4b84-a718-a72dd77ba104",
"status": "open",
"ruleset": "partner",
"rulesetVersion": "1.0",
"openedAt": "2026-09-11T12:00:00.000Z",
"expiresAt": "2026-09-11T14:00:00.000Z",
"closedAt": null,
"certificateExpiresAt": null
},
"grade": {
"ruleset": "partner",
"rulesetVersion": "1.0",
"passed": false,
"outstanding": [
"stream_reconnect"
],
"results": [
{
"rule": "stream_reconnect",
"title": "Streams recover from a reconnect snapshot",
"kind": "injected",
"outcome": "not_exercised",
"passes": 0,
"failures": 0,
"note": "Open an account stream and reconnect after the sandbox drops it."
}
]
}
}Authorizations
The pre-registration key (trdrs_sk_…), issued to a venue for Connect pre-registration and conformance runs in the sandbox. It works only on those routes under /api/pre-registration/, outside the venue routes. It looks like a Trading API key but has a different scope: a Trading API key is refused here, and a pre-registration key is refused everywhere else. A venue’s backend calls the venue routes with its Venue key.
Path Parameters
The run's id.
Response
The run and its results.
A conformance run, with its grade and the rules it checks.
One conformance run in the sandbox.
Show child attributes
Show child attributes
How the run did against each rule.
Show child attributes
Show child attributes
The rules the run checks, with how to exercise each.
Show child attributes
Show child attributes
What you attest to separately, because the run can't measure it, or null when the run measures every rule.