Starts a two-hour sandbox test of Venue API scope, server-side keys, successful reads, idempotent writes and Retry-After handling. One run per venue may be open. The test injects one rate limit. It never places orders or reads a personal trading key. Required scope: venue:configure. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.
POST
/
api
/
venues
/
{venueId}
/
conformance
/
runs
TypeScript
const res = await fetch('https://app.trdrs.co/api/venues/{venueId}/conformance/runs', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.TRDRS_VENUE_KEY}` },
})
const data = await res.json()
curl -X POST 'https://app.trdrs.co/api/venues/{venueId}/conformance/runs' \
-H "Authorization: Bearer $TRDRS_VENUE_KEY"
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/venues/{venueId} routes and, with trader:read or trader:trade, on the account, market and trading routes, reading the venue's own traders' accounts and routing their orders, each request naming its trader in x-trdrs-trader. A trdrs_sk_… key can't be used in its place. It reaches its venue's routes and its venue's own traders, and the owner manages keys from a signed-in session. Keep it on your server.
What you attest to separately, because the run can't measure it, or null when the run measures every rule.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"trdrs Engine API","description":"Market data, trading and venue infrastructure: programmatic trading and business integrations through one documented API.","colors":{"primary":"#0a0a0a","light":"#fafafa","dark":"#0a0a0a"},"logo":{"light":"https://mintcdn.com/trdrs/VlyBylpRulgoNVYk/logo.svg?fit=max\u0026auto=format\u0026n=VlyBylpRulgoNVYk\u0026q=85\u0026s=0725a6173d2c03859de4fc3b0a99ea50","dark":"https://mintcdn.com/trdrs/VlyBylpRulgoNVYk/logo.svg?fit=max\u0026auto=format\u0026n=VlyBylpRulgoNVYk\u0026q=85\u0026s=0725a6173d2c03859de4fc3b0a99ea50"},"favicon":"https://mintcdn.com/trdrs/VlyBylpRulgoNVYk/logo.svg?fit=max\u0026auto=format\u0026n=VlyBylpRulgoNVYk\u0026q=85\u0026s=0725a6173d2c03859de4fc3b0a99ea50","api":{"playground":{"display":"simple"}},"appearance":{"default":"dark","strict":false},"background":{"color":{"light":"#ffffff","dark":"#0f0f0f"}},"navbar":{"links":[{"href":"https://trdrs.co/developers","label":"Developers"},{"href":"https://sandbox.trdrs.co/settings/api","label":"Sandbox"}],"primary":{"type":"button","label":"Get started","href":"/build"}},"fonts":{"family":"Inter"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"trdrs","hasAudioNarration":false,"actualSubdomain":"trdrs","customDomains":["docs.trdrs.co"],"gitSource":{"type":"github","owner":"trdrsco","repo":"trdrs-engine","deployBranch":"main","contentDirectory":"packages/developer-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6adec344531268f76f8b6d66","collectionId":"2db9c8d8-38fd-48da-8905-eb1da164d506","liveDeploymentHistoryId":"6adec344531268f76f8b6d66","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ae684ea25d97c0814f26914","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API reference","count":162},{"language":"default","tag":"Endpoints","count":161},{"language":"default","tag":"Venues","count":119},{"language":"default","tag":"Guides","count":47},{"language":"default","tag":"Trading","count":43},{"language":"default","tag":"Venue accounts","count":22},{"language":"default","tag":"Connect","count":21},{"language":"default","tag":"Get started","count":20},{"language":"default","tag":"Market data","count":18},{"language":"default","tag":"Orders","count":18}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html{font-size:90%}"}],"page":{"pagePath":"api-reference/venue-platform-preview/start-a-venue-conformance-test","slug":"/api-reference/venue-platform-preview/start-a-venue-conformance-test","pageMetadata":{"title":"Start a venue conformance test","description":"Starts a two-hour sandbox test of Venue API scope, server-side keys, successful reads, idempotent writes and Retry-After handling. One run per venue may be open. The test injects one rate limit. It never places orders or reads a personal trading key. Required scope: `venue:configure`. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conformance/runs","href":"/api-reference/venue-platform-preview/start-a-venue-conformance-test","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Starts a two-hour sandbox test of Venue API scope, server-side keys, successful reads, idempotent writes and Retry-After handling. One run per venue may be open. The test injects one rate limit. It never places orders or reads a personal trading key. Required scope: \", _jsx(_components.code, {\n children: \"venue:configure\"\n }), \". Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Start a venue conformance test","description":"Starts a two-hour sandbox test of Venue API scope, server-side keys, successful reads, idempotent writes and Retry-After handling. One run per venue may be open. The test injects one rate limit. It never places orders or reads a personal trading key. Required scope: `venue:configure`. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conformance/runs","href":"/api-reference/venue-platform-preview/start-a-venue-conformance-test","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Venue platform preview"],"security":["83432884-75c7-479d-82d2-2ba284cd6bd8"],"summary":"Start a venue conformance test","description":"Starts a two-hour sandbox test of Venue API scope, server-side keys, successful reads, idempotent writes and Retry-After handling. One run per venue may be open. The test injects one rate limit. It never places orders or reads a personal trading key. Required scope: `venue:configure`. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.","parameters":["2561490b-5946-4f8c-acb5-59d1341d0c99"],"responses":{"201":"b8dad2b2-3871-4237-9cc6-d321df082cad","400":"186bf28d-d4f7-433a-90f1-7ac45d015fff","401":"a430ce27-e377-4436-a760-5378a0dabd92","403":"03d734fe-8fec-4e13-83c5-c74be0593303","404":"80ef33aa-88ea-4af9-92d4-dc569d36000b","409":"dc113308-eabf-471a-b524-767fcb860793","413":"9389bea9-bf35-4f8f-8708-097928536a18","415":"520ddd91-3a8c-40a4-a966-eb1426f5239b","503":"98ee5100-513b-48f2-961a-21dcf254a458"},"x-codeSamples":[{"lang":"javascript","label":"TypeScript","source":"const res = await fetch('https://app.trdrs.co/api/venues/{venueId}/conformance/runs', {\n method: 'POST',\n headers: { Authorization: `Bearer ${process.env.TRDRS_VENUE_KEY}` },\n})\nconst data = await res.json()"},{"lang":"shell","label":"cURL","source":"curl -X POST 'https://app.trdrs.co/api/venues/{venueId}/conformance/runs' \\\n -H \"Authorization: Bearer $TRDRS_VENUE_KEY\""}],"method":"post","type":"path","servers":["430b2c35-3a63-4f60-bf76-33f348d674ff","52234372-b183-401a-8df0-65551d47fa7d"],"path":"/api/venues/{venueId}/conformance/runs","baseUrlOptions":["https://app.trdrs.co","/"],"title":"Start a venue conformance test","codeSamples":[{"label":"TypeScript","lang":"javascript","source":"const res = await fetch('https://app.trdrs.co/api/venues/{venueId}/conformance/runs', {\n method: 'POST',\n headers: { Authorization: `Bearer ${process.env.TRDRS_VENUE_KEY}` },\n})\nconst data = await res.json()"},{"label":"cURL","lang":"shell","source":"curl -X POST 'https://app.trdrs.co/api/venues/{venueId}/conformance/runs' \\\n -H \"Authorization: Bearer $TRDRS_VENUE_KEY\""}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"2561490b-5946-4f8c-acb5-59d1341d0c99":{"name":"venueId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"responses":{"b8dad2b2-3871-4237-9cc6-d321df082cad":{"description":"Success.","content":{"application/json":{"schema":{"type":"object","description":"A conformance run, with its grade and the rules it checks.","required":["run"],"properties":{"run":{"type":"object","description":"One conformance run in the sandbox.","required":["id","status","ruleset","rulesetVersion","openedAt","expiresAt","closedAt","certificateExpiresAt"],"properties":{"id":{"type":"string","format":"uuid","description":"The run's id.","isRequired":true,"uniqueKey":"run.id","typeLabel":"string\u003cuuid>"},"ruleset":{"type":"string","enum":["venue","connect"],"description":"The rules the run checks: `venue` for a venue's run with its pre-registration key, `connect` for a Connect app's run with its API key.","isRequired":true,"uniqueKey":"run.ruleset","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["open","passed","failed","expired"],"description":"Where the run stands: open, then passed or failed when you finish it, or expired when its two hours run out.","isRequired":true,"uniqueKey":"run.status","typeLabel":"enum\u003cstring>"},"rulesetVersion":{"type":"string","description":"The version of the rules the run checks.","isRequired":true,"uniqueKey":"run.rulesetVersion","typeLabel":"string"},"openedAt":{"type":"string","format":"date-time","description":"When the run opened.","isRequired":true,"uniqueKey":"run.openedAt","typeLabel":"string\u003cdate-time>"},"expiresAt":{"type":"string","format":"date-time","description":"When the run expires.","isRequired":true,"uniqueKey":"run.expiresAt","typeLabel":"string\u003cdate-time>"},"closedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When the run was finished, or null while it is open.","isRequired":true,"uniqueKey":"run.closedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the run was finished, or null while it is open.","isRequired":true,"uniqueKey":"run.closedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.closedAt","typeLabel":"string\u003cdate-time> | null"},"certificateExpiresAt":{"oneOf":[{"type":"string","format":"date-time","description":"When the certificate a passed run earned expires, twelve months after it passed, or null for a run that didn't pass.","isRequired":true,"uniqueKey":"run.certificateExpiresAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the certificate a passed run earned expires, twelve months after it passed, or null for a run that didn't pass.","isRequired":true,"uniqueKey":"run.certificateExpiresAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"run.certificateExpiresAt","typeLabel":"string\u003cdate-time> | null"}},"isRequired":true,"uniqueKey":"run","typeLabel":"object"},"grade":{"type":"object","description":"How the run did against each rule.","required":["ruleset","rulesetVersion","passed","outstanding","results"],"properties":{"ruleset":{"type":"string","enum":["venue","connect"],"description":"The rules checked.","isRequired":true,"uniqueKey":"grade.ruleset","typeLabel":"enum\u003cstring>"},"rulesetVersion":{"type":"string","description":"The version of the rules checked.","isRequired":true,"uniqueKey":"grade.rulesetVersion","typeLabel":"string"},"passed":{"type":"boolean","description":"True when every rule was exercised and passed.","isRequired":true,"uniqueKey":"grade.passed","typeLabel":"boolean"},"outstanding":{"type":"array","items":{"type":"string","uniqueKey":"grade.outstanding.items.[INDEX]","typeLabel":"string"},"description":"The rules the run hasn't passed.","isRequired":true,"uniqueKey":"grade.outstanding","typeLabel":"string[]"},"results":{"type":"array","description":"One result per rule.","items":{"type":"object","required":["rule","title","kind","outcome","passes","failures","note"],"properties":{"rule":{"type":"string","description":"The rule's id.","isRequired":true,"uniqueKey":"grade.results.items.[INDEX].rule","typeLabel":"string"},"title":{"type":"string","description":"What the rule checks.","isRequired":true,"uniqueKey":"grade.results.items.[INDEX].title","typeLabel":"string"},"kind":{"type":"string","enum":["passive","injected"],"description":"`passive` rules are checked on your ordinary requests. `injected` rules check how your client handles a problem the sandbox causes on purpose.","isRequired":true,"uniqueKey":"grade.results.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"outcome":{"type":"string","enum":["pass","fail","not_exercised"],"description":"Whether the rule passed, failed, or hasn't been exercised.","isRequired":true,"uniqueKey":"grade.results.items.[INDEX].outcome","typeLabel":"enum\u003cstring>"},"passes":{"type":"integer","description":"How many times it was seen to pass.","isRequired":true,"uniqueKey":"grade.results.items.[INDEX].passes","typeLabel":"integer"},"failures":{"type":"integer","description":"How many times it was seen to fail.","isRequired":true,"uniqueKey":"grade.results.items.[INDEX].failures","typeLabel":"integer"},"note":{"oneOf":[{"type":"string","description":"More detail, or null.","isRequired":true,"uniqueKey":"grade.results.items.[INDEX].note.oneOf.0","typeLabel":"string"},{"type":"null","description":"More detail, or null.","isRequired":true,"uniqueKey":"grade.results.items.[INDEX].note.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"grade.results.items.[INDEX].note","typeLabel":"string | null"}},"uniqueKey":"grade.results.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"grade.results","typeLabel":"object[]"}},"uniqueKey":"grade","typeLabel":"object"},"rules":{"type":"array","description":"The rules the run checks, with how to exercise each.","items":{"type":"object","properties":{"id":{"type":"string","description":"The rule's id.","uniqueKey":"rules.items.[INDEX].id","typeLabel":"string"},"title":{"type":"string","description":"What the rule checks.","uniqueKey":"rules.items.[INDEX].title","typeLabel":"string"},"kind":{"type":"string","description":"`passive` or `injected`.","uniqueKey":"rules.items.[INDEX].kind","typeLabel":"string"},"minObservations":{"type":"integer","description":"How many times the rule must be seen to pass.","uniqueKey":"rules.items.[INDEX].minObservations","typeLabel":"integer"},"howToExercise":{"type":"string","description":"What your client should do so the rule is exercised.","uniqueKey":"rules.items.[INDEX].howToExercise","typeLabel":"string"}},"uniqueKey":"rules.items.[INDEX]","typeLabel":"object"},"uniqueKey":"rules","typeLabel":"object[]"},"attestation":{"oneOf":[{"type":"string","description":"What you attest to separately, because the run can't measure it, or null when the run measures every rule.","uniqueKey":"attestation.oneOf.0","typeLabel":"string"},{"type":"null","description":"What you attest to separately, because the run can't measure it, or null when the run measures every rule.","uniqueKey":"attestation.oneOf.1","typeLabel":"null"}],"uniqueKey":"attestation","typeLabel":"string | null"}},"example":{"run":{"id":"96507d96-8c4f-4b84-a718-a72dd77ba104","status":"open","ruleset":"venue","rulesetVersion":"1.0","openedAt":"2026-09-11T12:00:00.000Z","expiresAt":"2026-09-11T14:00:00.000Z","closedAt":null,"certificateExpiresAt":null},"grade":{"ruleset":"venue","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."}]}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"run":{"id":"96507d96-8c4f-4b84-a718-a72dd77ba104","status":"open","ruleset":"venue","rulesetVersion":"1.0","openedAt":"2026-09-11T12:00:00.000Z","expiresAt":"2026-09-11T14:00:00.000Z","closedAt":null,"certificateExpiresAt":null},"grade":{"ruleset":"venue","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."}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"186bf28d-d4f7-433a-90f1-7ac45d015fff":{"description":"The request is malformed: invalid JSON or input, a bad cursor, or a missing `Idempotency-Key` or `If-Match` header. When one value is refused, `field` names it where the check can say which.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"},"a430ce27-e377-4436-a760-5378a0dabd92":{"description":"The Venue key or the session is missing, malformed, revoked or expired.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"},"03d734fe-8fec-4e13-83c5-c74be0593303":{"description":"The credential is valid but can't do this: the key lacks the scope or its creator is no longer an owner, the email isn't verified, a reader tried to write, or the request came from an origin that isn't trusted.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"},"80ef33aa-88ea-4af9-92d4-dc569d36000b":{"description":"The venue, account or resource doesn't exist in this environment, or isn't yours to see.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"},"dc113308-eabf-471a-b524-767fcb860793":{"description":"The request conflicts with what is stored: the `Idempotency-Key` was used with a different body, or the version you sent is stale. The `error` code names the conflict.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"},"9389bea9-bf35-4f8f-8708-097928536a18":{"description":"The body is larger than this route accepts.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"},"520ddd91-3a8c-40a4-a966-eb1426f5239b":{"description":"Send the body as JSON, with `Content-Type: application/json`.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"exampleType":"generated"},"98ee5100-513b-48f2-961a-21dcf254a458":{"description":"trdrs can't complete the request right now, because a part of the venue platform or its credential store is unavailable. Don't assume a write happened: retry it with the same `Idempotency-Key`. `engine_draining` with a `Retry-After` header: the engine you reached is restarting for a release and did nothing. Wait for `Retry-After`, then send the same request again, with the same `clientOrderId` or `Idempotency-Key` where the route takes one: another engine takes it. A write refused before any route takes it says `server draining` as its `error`.","content":{"application/json":{"schema":{"type":"object","description":"The body of every error response. It always carries `error`, an English sentence you can show. A refused trading request also carries `code`, one of the refusal codes, and `params`, the details of that refusal. Translate by `code` and `params`, and show a generic message for a code you don't recognize. Other errors may carry a `code` of their own.","properties":{"error":{"type":"string","description":"What went wrong, as an English sentence.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"A stable machine code. On a refused trading request, it is one of the refusal codes.","uniqueKey":"code","typeLabel":"string"},"params":{"type":"object","description":"The details of the refusal named by `code`, on a refused trading request.","uniqueKey":"params","typeLabel":"object"}},"required":["error"],"example":{"error":"invalid_instrument"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_instrument"}}},"exampleType":"generated"}},"headers":{"Retry-After":{"description":"How many seconds to wait before sending the same request again. A `503` carries it only when the engine did nothing, so the request may be sent again as it is.","schema":{"type":"integer","minimum":1}}},"exampleType":"generated"}},"security":{"83432884-75c7-479d-82d2-2ba284cd6bd8":{"venueKey":{"type":"http","scheme":"bearer","description":"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/venues/{venueId}` routes and, with `trader:read` or `trader:trade`, on the account, market and trading routes, reading the venue's own traders' accounts and routing their orders, each request naming its trader in `x-trdrs-trader`. A `trdrs_sk_…` key can't be used in its place. It reaches its venue's routes and its venue's own traders, and the owner manages keys from a signed-in session. Keep it on your server.","scopes":[],"schemeName":"venueKey"}}},"servers":{"430b2c35-3a63-4f60-bf76-33f348d674ff":{"url":"https://app.trdrs.co","description":"Production"},"52234372-b183-401a-8df0-65551d47fa7d":{"url":"/","description":"This engine"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"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/venues/{venueId}` routes and, with `trader:read` or `trader:trade`, on the account, market and trading routes, reading the venue's own traders' accounts and routing their orders, each request naming its trader in `x-trdrs-trader`. A `trdrs_sk_…` key can't be used in its place. It reaches its venue's routes and its venue's own traders, and the owner manages keys from a signed-in session. Keep it on your server.","scopes":[],"schemeName":"venueKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"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/venues/{venueId}` routes and, with `trader:read` or `trader:trade`, on the account, market and trading routes, reading the venue's own traders' accounts and routing their orders, each request naming its trader in `x-trdrs-trader`. A `trdrs_sk_…` key can't be used in its place. It reaches its venue's routes and its venue's own traders, and the owner manages keys from a signed-in session. Keep it on your server.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"venueKey","name":"Authorization"}],"title":"venueKey"}]},"originalFileLocation":"api/openapi.json"},"subdomain":"trdrs","siteName":"trdrs Engine API","title":"Start a venue conformance test - trdrs Engine API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-01T00:16:53.490Z","originalFileLocation":"api-reference/venue-platform-preview/start-a-venue-conformance-test.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Starts a two-hour sandbox test of Venue API scope, server-side keys, successful reads, idempotent writes and Retry-After handling. One run per venue may be open. The test injects one rate limit. It never places orders or reads a personal trading key. Required scope: venue:configure. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.\">\u003cmeta data-mint-head name=\"application-name\" content=\"trdrs Engine API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Start a venue conformance test - trdrs Engine API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Starts a two-hour sandbox test of Venue API scope, server-side keys, successful reads, idempotent writes and Retry-After handling. One run per venue may be open. The test injects one rate limit. It never places orders or reads a personal trading key. Required scope: venue:configure. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"trdrs Engine API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.trdrs.co/api-reference/venue-platform-preview/start-a-venue-conformance-test\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://trdrs.mintlify.app/_mintlify/api/og/v2?division=Venue+conformance\u0026amp;title=Start+a+venue+conformance+test\u0026amp;description=Starts+a+two-hour+sandbox+test+of+Venue+API+scope%2C+server-side+keys%2C+successful+reads%2C+idempotent+writes+and+Retry-After+handling.+One+run+per+venue+may+be+open\u0026amp;theme=85063b664f29463f86ec0c0f\u0026amp;signature=9f7612ad84444013760c24e3139c66ce260cc3f23b8fa1cc9ccfb113a355751c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Start a venue conformance test - trdrs Engine API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Starts a two-hour sandbox test of Venue API scope, server-side keys, successful reads, idempotent writes and Retry-After handling. One run per venue may be open. The test injects one rate limit. It never places orders or reads a personal trading key. Required scope: venue:configure. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://trdrs.mintlify.app/_mintlify/api/og/v2?division=Venue+conformance\u0026amp;title=Start+a+venue+conformance+test\u0026amp;description=Starts+a+two-hour+sandbox+test+of+Venue+API+scope%2C+server-side+keys%2C+successful+reads%2C+idempotent+writes+and+Retry-After+handling.+One+run+per+venue+may+be+open\u0026amp;theme=85063b664f29463f86ec0c0f\u0026amp;signature=9f7612ad84444013760c24e3139c66ce260cc3f23b8fa1cc9ccfb113a355751c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/trdrs/Mc3uPNp5t9BqWGNO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"trdrs Engine API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0a0a0a\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.trdrs.co/api-reference/venue-platform-preview/start-a-venue-conformance-test\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/venue-platform-preview/start-a-venue-conformance-test.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.trdrs.co/#organization\",\"name\":\"trdrs Engine API\",\"url\":\"https://docs.trdrs.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/trdrs/VlyBylpRulgoNVYk/logo.svg?fit=max\u0026auto=format\u0026n=VlyBylpRulgoNVYk\u0026q=85\u0026s=0725a6173d2c03859de4fc3b0a99ea50\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.trdrs.co#website\",\"name\":\"trdrs Engine API\",\"url\":\"https://docs.trdrs.co\",\"publisher\":{\"@id\":\"https://docs.trdrs.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/start-a-venue-conformance-test#webpage\",\"url\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/start-a-venue-conformance-test\",\"name\":\"Start a venue conformance test\",\"description\":\"Starts a two-hour sandbox test of Venue API scope, server-side keys, successful reads, idempotent writes and Retry-After handling. One run per venue may be open. The test injects one rate limit. It never places orders or reads a personal trading key. Required scope: venue:configure. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.\",\"dateModified\":\"2026-11-01T00:16:53.490Z\",\"isPartOf\":{\"@id\":\"https://docs.trdrs.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/start-a-venue-conformance-test#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/start-a-venue-conformance-test#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.trdrs.co/api-reference/market-data/get-market-data-limits\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Venues\",\"item\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/read-a-venue\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Venue conformance\",\"item\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/read-your-venue-certificate\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Start a venue conformance test\",\"item\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/start-a-venue-conformance-test\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/start-a-venue-conformance-test#apireference\",\"headline\":\"Start a venue conformance test\",\"name\":\"Start a venue conformance test\",\"description\":\"Starts a two-hour sandbox test of Venue API scope, server-side keys, successful reads, idempotent writes and Retry-After handling. One run per venue may be open. The test injects one rate limit. It never places orders or reads a personal trading key. Required scope: venue:configure. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.\",\"url\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/start-a-venue-conformance-test\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/start-a-venue-conformance-test#webpage\"},\"dateModified\":\"2026-11-01T00:16:53.490Z\",\"publisher\":{\"@id\":\"https://docs.trdrs.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.trdrs.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"trdrs Engine API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"trdrs Engine API","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":""}]},{"tab":"Guides","dropdowns":[{"dropdown":"Programmatic trading","icon":"code","description":"Trade accounts you hold","groups":[{"group":"Start here","pages":[{"title":"Programmatic trading quickstart","href":"/guides/programmatic-quickstart"}]},{"group":"Trading","pages":[{"title":"Trading overview","sidebarTitle":"Overview","href":"/guides/trading-overview"},{"title":"Place your first order","sidebarTitle":"Place an order","href":"/guides/place-your-first-order"},{"title":"Protect a position","sidebarTitle":"Protect a position","href":"/guides/protect-a-position"},{"title":"Manage working orders","sidebarTitle":"Manage working orders","href":"/guides/manage-working-orders"},{"title":"Close a position","sidebarTitle":"Close a position","href":"/guides/close-a-position"},{"title":"Trade with leverage","sidebarTitle":"Trade with leverage","href":"/guides/trade-with-leverage"},{"title":"Track fills and P\u0026L","sidebarTitle":"Track fills and P\u0026L","href":"/guides/track-fills-and-pnl"}]}]},{"dropdown":"Market data","icon":"chart-line","description":"Read prices, history and streams","pages":[{"title":"Market data overview","sidebarTitle":"Overview","href":"/guides/market-data-overview"},{"title":"Find symbols","sidebarTitle":"Find symbols","href":"/guides/find-symbols"},{"title":"Backfill history","sidebarTitle":"Backfill history","href":"/guides/backfill-history"},{"title":"Stream live market data","sidebarTitle":"Stream live data","href":"/guides/stream-live-data"}]},{"dropdown":"Connect","icon":"link","description":"Build your own trading interface","groups":[{"group":"Start here","pages":[{"title":"Connect","sidebarTitle":"Overview","href":"/guides/connect-overview"},{"title":"Connect quickstart","sidebarTitle":"Quickstart","href":"/guides/connect-quickstart"}]},{"group":"Build","pages":[{"title":"Route your traders' orders","sidebarTitle":"Route your traders' orders","href":"/guides/route-your-traders-orders"},{"title":"Choose your tiles and white-label paper","sidebarTitle":"Tiles and white-label paper","href":"/guides/connect-tiles-and-paper"}]},{"group":"Go live","pages":[{"title":"Pass Connect conformance","sidebarTitle":"Pass conformance","href":"/guides/connect-conformance"},{"title":"Billing for Connect apps","sidebarTitle":"Billing","href":"/guides/connect-billing"},{"title":"Active traders and billing","sidebarTitle":"Active traders","href":"/guides/connect-active-traders"}]}]},{"dropdown":"Venues","icon":"building","description":"Run a prop firm or brokerage","groups":[{"group":"Start here","pages":[{"title":"Prop firms","sidebarTitle":"Prop firms","href":"/guides/prop-firms-overview"},{"title":"Brokerages","sidebarTitle":"Brokerages","href":"/guides/brokerages-overview"},{"title":"Venue quickstart","href":"/guides/business-quickstart"},{"title":"Evaluation quickstart","href":"/quickstart"},{"title":"What your traders get","sidebarTitle":"What your traders get","href":"/what-your-traders-get"}]},{"group":"Set up your venue","pages":[{"title":"Run a venue end to end","sidebarTitle":"Run a venue","href":"/guides/run-a-venue"},{"title":"Venue keys","sidebarTitle":"Venue keys","href":"/guides/venue-keys"},{"title":"Back Office","href":"/guides/back-office"}]},{"group":"Run accounts","pages":[{"title":"Venue accounts","sidebarTitle":"Accounts","href":"/guides/venue-accounts"},{"title":"Send your traders to the trading platform","sidebarTitle":"Send traders to trade","href":"/guides/send-traders-to-the-trading-platform"},{"title":"Paper accounts on provider contracts","href":"/guides/paper-provider-contracts"},{"title":"Hedge venue exposure","sidebarTitle":"Hedging","href":"/guides/venue-hedging"},{"title":"Account analytics","sidebarTitle":"Account analytics","href":"/guides/firm-analytics"},{"title":"Read your usage","sidebarTitle":"Read your usage","href":"/guides/read-your-usage"},{"title":"Receive events on your server","sidebarTitle":"Receive events","href":"/guides/receive-events"}]},{"group":"Connect pre-registration","pages":[{"title":"Show your venue in Connect","href":"/guides/get-listed"},{"title":"Register an account","sidebarTitle":"Register an account","href":"/guides/register-an-account"},{"title":"Follow registrations","sidebarTitle":"Follow registrations","href":"/guides/handle-registration-events"}]},{"group":"Check your integration","pages":[{"title":"Venue requirements","href":"/providers/requirements"},{"title":"Run venue conformance","href":"/providers/test-evidence"},{"title":"Use your results","href":"/providers/submission"}]}]},{"dropdown":"Providers","icon":"plug","description":"Bring a market to trdrs","pages":[{"title":"Provider conformance","href":"/providers/provider-conformance"},{"title":"Shared and private integrations","href":"/providers/publishing"},{"title":"FXCubic","href":"/providers/fxcubic"},{"title":"Run a testnet provider","href":"/guides/run-a-testnet-provider"},{"title":"Publish a datafeed to your traders","sidebarTitle":"Publish a datafeed","href":"/guides/publish-a-datafeed"},{"title":"Provider data","sidebarTitle":"Provider data","href":"/guides/venue-data"}]},{"dropdown":"Trading interfaces","icon":"display-code","description":"Build your own trading screens","pages":[{"title":"Build a front end","sidebarTitle":"Build a front end","href":"/guides/build-a-front-end"}]}]},{"tab":"API reference","groups":[{"group":"Start here","pages":[{"title":"API reference overview","sidebarTitle":"Overview","href":"/api/overview"}]},{"group":"Endpoints","pages":[{"group":"Market data","pages":[{"group":"Prices and symbols","pages":[{"title":"Get market-data limits","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/config","href":"/api-reference/market-data/get-market-data-limits"},{"title":"Search the symbol catalog","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/symbols","href":"/api-reference/market-data/search-the-symbol-catalog"},{"title":"Get symbol details","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/symbol-info","href":"/api-reference/market-data/get-symbol-details"},{"title":"Get the futures catalog","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/instruments","href":"/api-reference/market-data/get-the-futures-catalog"},{"title":"Get server time","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/time","href":"/api-reference/market-data/get-server-time"},{"title":"Get price history","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/history","href":"/api-reference/market-data/get-price-history"},{"title":"Get quote snapshots","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/quotes","href":"/api-reference/market-data/get-quote-snapshots"},{"title":"Stream live bars","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/stream","href":"/api-reference/market-data/stream-live-bars"},{"title":"Stream multiplexed live bars","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/market/streams","href":"/api-reference/market-data/stream-multiplexed-live-bars"}]},{"group":"News and calendar","pages":[{"title":"List news headlines","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/news","href":"/api-reference/news/list-news-headlines"},{"title":"Get a news thumbnail","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/news/image/{id}","href":"/api-reference/news/get-a-news-thumbnail"},{"title":"List calendar events","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/calendar","href":"/api-reference/news/list-calendar-events"},{"title":"Stream news","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/news/stream","href":"/api-reference/news/stream-news"},{"title":"Stream calendar updates","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/calendar/stream","href":"/api-reference/news/stream-calendar-updates"}]}]},{"group":"Trading","pages":[{"group":"Orders","pages":[{"title":"Get the net position","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/trading/position","href":"/api-reference/trading/get-the-net-position"},{"title":"Get what the account may do","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/trading/actions","href":"/api-reference/trading/get-what-the-account-may-do"},{"title":"Match a market for an account","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/trading/match","href":"/api-reference/trading/match-a-market-for-an-account"},{"title":"Preview order margin","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/margin-preview","href":"/api-reference/trading/preview-order-margin"},{"title":"Get leverage and margin mode","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/trading/symbol-config","href":"/api-reference/trading/get-leverage-and-margin-mode"},{"title":"Set leverage","deprecated":null,"version":null,"openapi":"/api/openapi.json put /api/trading/symbol-config","href":"/api-reference/trading/set-leverage"},{"title":"Set margin mode","deprecated":null,"version":null,"openapi":"/api/openapi.json put /api/trading/margin-mode","href":"/api-reference/trading/set-margin-mode"},{"title":"Place an order","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/order","href":"/api-reference/trading/place-an-order"},{"title":"Replace an order","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/replace","href":"/api-reference/trading/replace-an-order"},{"title":"Cancel an order","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/cancel","href":"/api-reference/trading/cancel-an-order"},{"title":"Cancel all working orders","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/cancel-all","href":"/api-reference/trading/cancel-all-working-orders"},{"title":"Protect a position","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/exits","href":"/api-reference/trading/protect-a-position"},{"title":"Change a bracket","deprecated":null,"version":null,"openapi":"/api/openapi.json put /api/trading/exits/{id}","href":"/api-reference/trading/change-a-bracket"},{"title":"Withdraw a bracket","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/trading/exits/{id}","href":"/api-reference/trading/withdraw-a-bracket"},{"title":"Close part of a position","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/close","href":"/api-reference/trading/close-part-of-a-position"},{"title":"Flatten a position","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/flatten","href":"/api-reference/trading/flatten-a-position"},{"title":"Flatten the account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/flatten-account","href":"/api-reference/trading/flatten-the-account"},{"title":"Reverse a position","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/reverse","href":"/api-reference/trading/reverse-a-position"}]},{"group":"Account state","pages":[{"title":"List accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/list","href":"/api-reference/account/list-accounts"},{"title":"List the markets an account trades","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/markets","href":"/api-reference/account/list-the-markets-an-account-trades"},{"title":"Get the account summary","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/summary","href":"/api-reference/account/get-the-account-summary"},{"title":"Get the account snapshot","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/snapshot","href":"/api-reference/account/get-the-account-snapshot"},{"title":"List open positions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/positions","href":"/api-reference/account/list-open-positions"},{"title":"List closed positions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/positions/closed","href":"/api-reference/account/list-closed-positions"},{"title":"List orders","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/orders","href":"/api-reference/account/list-orders"},{"title":"List order history","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/orders/history","href":"/api-reference/account/list-order-history"},{"title":"List fills for an instrument","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/executions","href":"/api-reference/account/list-fills-for-an-instrument"},{"title":"Get daily P\u0026L history","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/pnl/history","href":"/api-reference/account/get-daily-p\u0026l-history"},{"title":"List closed round trips","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/pnl/round-trips","href":"/api-reference/account/list-closed-round-trips"},{"title":"List brackets","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/brackets","href":"/api-reference/account/list-brackets"},{"title":"Stream account updates","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/stream","href":"/api-reference/account/stream-account-updates"},{"title":"Get history sync status","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/account/sync-status","href":"/api-reference/account/get-history-sync-status"}]},{"group":"Evaluation programs","pages":[{"title":"List evaluation programs","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/challenges","href":"/api-reference/challenges/list-evaluation-programs"},{"title":"Create an enrollment","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/challenges/enroll","href":"/api-reference/challenges/create-an-enrollment"},{"title":"List your enrollments","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/enrollments","href":"/api-reference/challenges/list-your-enrollments"},{"title":"List enrollment events","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/enrollments/events","href":"/api-reference/challenges/list-enrollment-events"}]}]},{"group":"Connect","pages":[{"title":"List the built-in providers and how each is signed into","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/connect/providers","href":"/api-reference/connect/list-the-built-in-providers-and-how-each-is-signed-into"},{"title":"List Connect’s tiles","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/connect/tiles","href":"/api-reference/connect/list-connect’s-tiles"},{"group":"Connect links","pages":[{"title":"Create a Connect link","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect/links","href":"/api-reference/connect-apps-preview/create-a-connect-link"},{"title":"Read a Connect link","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/connect/links/{linkId}","href":"/api-reference/connect-apps-preview/read-a-connect-link"},{"title":"Close a Connect link","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/connect/links/{linkId}","href":"/api-reference/connect-apps-preview/close-a-connect-link"}]},{"group":"Hosted Connect's own routes","pages":[{"title":"Mount a Connect link token","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect-link/mount","href":"/api-reference/connect-apps-preview/mount-a-connect-link-token"},{"title":"List the tiles a Connect session offers","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/connect-link/sessions/{sessionId}/tiles","href":"/api-reference/connect-apps-preview/list-the-tiles-a-connect-session-offers"},{"title":"List a trader's provider connections","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/connect-link/sessions/{sessionId}/providers","href":"/api-reference/connect-apps-preview/list-a-traders-provider-connections"},{"title":"Open white-label paper in Connect","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect-link/sessions/{sessionId}/paper","href":"/api-reference/connect-apps-preview/open-white-label-paper-in-connect"},{"title":"Start a provider sign-in window","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect-link/sessions/{sessionId}/oauth/{provider}","href":"/api-reference/connect-apps-preview/start-a-provider-sign-in-window"},{"title":"Finish a provider sign-in window","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect-link/sessions/{sessionId}/oauth/{provider}/finish","href":"/api-reference/connect-apps-preview/finish-a-provider-sign-in-window"},{"title":"Complete a Connect provider login","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/connect-link/sessions/{sessionId}/complete","href":"/api-reference/connect-apps-preview/complete-a-connect-provider-login"},{"title":"End a hosted Connect session","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/connect-link/sessions/{sessionId}/frame","href":"/api-reference/connect-apps-preview/end-a-hosted-connect-session"}]}]},{"group":"Venues","pages":[{"group":"Venue details","pages":[{"title":"Read a venue","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}","href":"/api-reference/venue-platform-preview/read-a-venue"},{"title":"Retire the venue","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/retire","href":"/api-reference/venue-platform-preview/retire-the-venue"}]},{"group":"Venue conformance","pages":[{"title":"Read your venue certificate","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/conformance","href":"/api-reference/venue-platform-preview/read-your-venue-certificate"},{"title":"List venue conformance tests","description":"Lists the latest 50 sandbox tests, newest first. Runs exist only in sandbox. Required scope: `venue:read`. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/conformance/runs","href":"/api-reference/venue-platform-preview/list-venue-conformance-tests"},{"title":"Start a venue conformance test","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conformance/runs","href":"/api-reference/venue-platform-preview/start-a-venue-conformance-test"},{"title":"Read a venue conformance test","description":"Reads the live grade. An expired test closes automatically. A test belonging to another venue is not found. Required scope: `venue:read`. Preview: served on the sandbox to every venue, and production availability is arranged when a venue qualifies. Trading API keys and pre-registration keys do not authorize these routes.","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/conformance/runs/{runId}","href":"/api-reference/venue-platform-preview/read-a-venue-conformance-test"},{"title":"Finish a venue conformance test","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conformance/runs/{runId}/close","href":"/api-reference/venue-platform-preview/finish-a-venue-conformance-test"}]},{"group":"Branding and reference data","pages":[{"title":"Read the venue brand","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/brand","href":"/api-reference/venue-platform-preview/read-the-venue-brand"},{"title":"Update the venue brand","deprecated":null,"version":null,"openapi":"/api/openapi.json put /api/venues/{venueId}/brand","href":"/api-reference/venue-platform-preview/update-the-venue-brand"},{"title":"Upload the venue logo","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/brand/logo","href":"/api-reference/venue-platform-preview/upload-the-venue-logo"},{"title":"Read the venue instrument reference catalog","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/reference/instruments","href":"/api-reference/venue-platform-preview/read-the-venue-instrument-reference-catalog"},{"title":"Read registered contract facts for a new instrument","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/reference/contract","href":"/api-reference/venue-platform-preview/read-registered-contract-facts-for-a-new-instrument"},{"title":"Search the markets a venue can list","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/reference/symbols","href":"/api-reference/venue-platform-preview/search-the-markets-a-venue-can-list"}]},{"group":"Instruments","pages":[{"title":"List instrument candidates","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/instruments","href":"/api-reference/venue-platform-preview/list-instrument-candidates"},{"title":"List active instruments","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/instruments/active","href":"/api-reference/venue-platform-preview/list-active-instruments"},{"title":"Read an instrument candidate","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/instruments/{candidateId}","href":"/api-reference/venue-platform-preview/read-an-instrument-candidate"},{"title":"Save an instrument candidate","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/instruments","href":"/api-reference/venue-platform-preview/save-an-instrument-candidate"},{"title":"Activate an instrument version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/instruments/active","href":"/api-reference/venue-platform-preview/activate-an-instrument-version"}]},{"group":"Conditions and groups","pages":[{"title":"List account groups","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/conditions/groups","href":"/api-reference/venue-platform-preview/list-account-groups"},{"title":"List condition profiles","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/conditions/profiles","href":"/api-reference/venue-platform-preview/list-condition-profiles"},{"title":"Apply a condition profile","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/active","href":"/api-reference/venue-platform-preview/apply-a-condition-profile"},{"title":"Create or update an account group","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/groups","href":"/api-reference/venue-platform-preview/create-or-update-an-account-group"},{"title":"Preview a conditions change","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/preview","href":"/api-reference/venue-platform-preview/preview-a-conditions-change"},{"title":"Publish a condition profile","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/profiles","href":"/api-reference/venue-platform-preview/publish-a-condition-profile"},{"title":"Point a group at a route","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/groups/{groupId}/route","href":"/api-reference/venue-platform-preview/point-a-group-at-a-route"}]},{"group":"Routes","pages":[{"title":"List routes","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/routes","href":"/api-reference/venue-platform-preview/list-routes"},{"title":"Create or update a route","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/routes","href":"/api-reference/venue-platform-preview/create-or-update-a-route"}]},{"group":"Providers and connections","pages":[{"title":"List provider connections","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/connections","href":"/api-reference/venue-platform-preview/list-provider-connections"},{"title":"List discovered provider accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/connections/{connectionId}/accounts","href":"/api-reference/venue-platform-preview/list-discovered-provider-accounts"},{"title":"Read provider validation status","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/connections/{connectionId}/validations/{jobId}","href":"/api-reference/venue-platform-preview/read-provider-validation-status"},{"title":"List provider versions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/providers","href":"/api-reference/venue-platform-preview/list-provider-versions"},{"title":"Create a provider connection draft","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/connections","href":"/api-reference/venue-platform-preview/create-a-provider-connection-draft"},{"title":"Queue read-only provider validation","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/connections/{connectionId}/validate","href":"/api-reference/venue-platform-preview/queue-read-only-provider-validation"},{"title":"Register a public provider version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/providers","href":"/api-reference/venue-platform-preview/register-a-public-provider-version"},{"title":"Show or hide a plugged-in provider to this venue's traders","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/connections/{connectionId}/expose","href":"/api-reference/venue-platform-preview/show-or-hide-a-plugged-in-provider-to-this-venues-traders"},{"title":"Read the trdrs-managed provider catalog","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/provider-catalog/directory","href":"/api-reference/venue-platform-preview/read-the-trdrs-managed-provider-catalog"},{"title":"Venue publishing and maintenance retired","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles/{companyId}/publication","href":"/api-reference/venue-platform-preview/venue-publishing-and-maintenance-retired"},{"title":"Venue publishing and maintenance retired","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles/{companyId}/publication","href":"/api-reference/venue-platform-preview/venue-publishing-and-maintenance-retired"},{"title":"Venue publishing and maintenance retired","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles/{companyId}/publication","href":"/api-reference/venue-platform-preview/venue-publishing-and-maintenance-retired"},{"title":"Venue publishing and maintenance retired","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles/{companyId}/publication","href":"/api-reference/venue-platform-preview/venue-publishing-and-maintenance-retired"},{"title":"Venue publishing and maintenance retired","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles/{companyId}/publication","href":"/api-reference/venue-platform-preview/venue-publishing-and-maintenance-retired"},{"title":"Venue publishing and maintenance retired","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/profiles/{companyId}/publication","href":"/api-reference/venue-platform-preview/venue-publishing-and-maintenance-retired"},{"title":"Request dedicated provider setup","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/provider-catalog/releases/{releaseId}/install","href":"/api-reference/venue-platform-preview/request-dedicated-provider-setup"}]},{"group":"Risk policies","pages":[{"title":"List the venue's risk policies","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/risk-policies","href":"/api-reference/venue-platform-preview/list-the-venues-risk-policies"},{"title":"Store a risk policy version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/risk-policies","href":"/api-reference/venue-platform-preview/store-a-risk-policy-version"},{"title":"Read one risk policy","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/risk-policies/{policyId}","href":"/api-reference/venue-platform-preview/read-one-risk-policy"},{"title":"Publish a risk policy version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/risk-policies/{policyId}/publications","href":"/api-reference/venue-platform-preview/publish-a-risk-policy-version"}]},{"group":"Stages","pages":[{"title":"Read an account's stage eligibility","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/stages/{stageId}/eligibility","href":"/api-reference/venue-platform-preview/read-an-accounts-stage-eligibility"},{"title":"List stage policies","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/stages/policies","href":"/api-reference/venue-platform-preview/list-stage-policies"},{"title":"Advance an account past a stage","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/stages/{stageId}/advance","href":"/api-reference/venue-platform-preview/advance-an-account-past-a-stage"},{"title":"Put a stage policy in force","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/stages/active","href":"/api-reference/venue-platform-preview/put-a-stage-policy-in-force"},{"title":"Publish a stage policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/stages/policies","href":"/api-reference/venue-platform-preview/publish-a-stage-policy"}]},{"group":"Retired account controls","pages":[{"title":"Retired account risk controls","deprecated":true,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/risk-controls","href":"/api-reference/venue-platform-preview/retired-account-risk-controls"},{"title":"Retired account risk controls write","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/risk-controls","href":"/api-reference/venue-platform-preview/retired-account-risk-controls-write"}]},{"group":"Venue accounts","pages":[{"title":"List a venue's accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts","href":"/api-reference/venue-platform-preview/list-a-venues-accounts"},{"title":"List existing accounts with original rules","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/existing-accounts","href":"/api-reference/venue-platform-preview/list-existing-accounts-with-original-rules"},{"title":"Issue an account into a group","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts","href":"/api-reference/venue-platform-preview/issue-an-account-into-a-group"},{"title":"Bind a discovered external account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/bind","href":"/api-reference/venue-platform-preview/bind-a-discovered-external-account"},{"title":"Credit, debit or adjust an account's balance","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/balance","href":"/api-reference/venue-platform-preview/credit-debit-or-adjust-an-accounts-balance"},{"title":"Quote an account payout","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/payout","href":"/api-reference/venue-platform-preview/quote-an-account-payout"},{"title":"Record an account payout","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/payout","href":"/api-reference/venue-platform-preview/record-an-account-payout"},{"title":"Reset an account to its starting balance","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/reset","href":"/api-reference/venue-platform-preview/reset-an-account-to-its-starting-balance"},{"title":"Halt trading on an account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/halt","href":"/api-reference/venue-platform-preview/halt-trading-on-an-account"},{"title":"Resume trading on an account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/resume","href":"/api-reference/venue-platform-preview/resume-trading-on-an-account"},{"title":"Read an account's analytics","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/analytics","href":"/api-reference/venue-platform-preview/read-an-accounts-analytics"},{"title":"Revoke an account grant","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/venues/{venueId}/accounts/{accountId}/grants/{grantId}","href":"/api-reference/venue-platform-preview/revoke-an-account-grant"},{"title":"Read account invitation status","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/grants/{grantId}","href":"/api-reference/venue-platform-preview/read-account-invitation-status"},{"title":"Read an account's open liquidation","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/incident","href":"/api-reference/venue-platform-preview/read-an-accounts-open-liquidation"},{"title":"Read what one account may trade","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/instruments","href":"/api-reference/venue-platform-preview/read-what-one-account-may-trade"},{"title":"Read a customer account's books","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/ledger","href":"/api-reference/venue-platform-preview/read-a-customer-accounts-books"},{"title":"Read one account's effective conditions","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/conditions/accounts/{accountId}/effective","href":"/api-reference/venue-platform-preview/read-one-accounts-effective-conditions"},{"title":"Invite an account recipient","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/grants","href":"/api-reference/venue-platform-preview/invite-an-account-recipient"},{"title":"Move an account between groups","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/accounts/{accountId}/group","href":"/api-reference/venue-platform-preview/move-an-account-between-groups"},{"title":"Set per-account safety limits","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/conditions/accounts/{accountId}/risk","href":"/api-reference/venue-platform-preview/set-per-account-safety-limits"},{"title":"Read recorded account operations","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/activity","href":"/api-reference/venue-platform-preview/read-recorded-account-operations"},{"title":"Read a user’s activity across their accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/accounts/{accountId}/user-activity","href":"/api-reference/venue-platform-preview/read-a-user’s-activity-across-their-accounts"}]},{"group":"Venue traders","pages":[{"title":"Send a trader to the trading platform","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/handoffs","href":"/api-reference/venue-platform-preview/send-a-trader-to-the-trading-platform"},{"title":"Suspend a trader","deprecated":null,"version":null,"openapi":"/api/openapi.json put /api/venues/{venueId}/traders/{trader}/suspension","href":"/api-reference/venue-platform-preview/suspend-a-trader"},{"title":"Lift a trader's suspension","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/venues/{venueId}/traders/{trader}/suspension","href":"/api-reference/venue-platform-preview/lift-a-traders-suspension"}]},{"group":"Hedging","pages":[{"title":"Read venue hedge state","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/hedges","href":"/api-reference/venue-platform-preview/read-venue-hedge-state"},{"title":"Publish a hedge policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/policies","href":"/api-reference/venue-platform-preview/publish-a-hedge-policy"},{"title":"Activate, pause or stop a hedge policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/activation","href":"/api-reference/venue-platform-preview/activate-pause-or-stop-a-hedge-policy"},{"title":"Preview or persist the next hedge target","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/calculate","href":"/api-reference/venue-platform-preview/preview-or-persist-the-next-hedge-target"},{"title":"Dispatch one prepared hedge intent","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/intents/{intentId}/dispatch","href":"/api-reference/venue-platform-preview/dispatch-one-prepared-hedge-intent"},{"title":"Reconcile an uncertain hedge intent","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/intents/{intentId}/reconcile","href":"/api-reference/venue-platform-preview/reconcile-an-uncertain-hedge-intent"},{"title":"Stop every hedge policy for this venue","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/emergency-stop","href":"/api-reference/venue-platform-preview/stop-every-hedge-policy-for-this-venue"},{"title":"Flatten a hedge destination","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/flatten","href":"/api-reference/venue-platform-preview/flatten-a-hedge-destination"},{"title":"Unbind a hedge account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/unbind","href":"/api-reference/venue-platform-preview/unbind-a-hedge-account"},{"title":"Read risk across the venue's accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/risk","href":"/api-reference/venue-platform-preview/read-risk-across-the-venues-accounts"}]},{"group":"Usage and webhooks","pages":[{"title":"Read the venue's metered usage for a month","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/usage","href":"/api-reference/venue-platform-preview/read-the-venues-metered-usage-for-a-month"},{"title":"Read the accounts behind the venue's usage","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/usage/accounts","href":"/api-reference/venue-platform-preview/read-the-accounts-behind-the-venues-usage"},{"title":"Read the receipt of one balance operation","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/balance-ops/{referenceId}","href":"/api-reference/venue-platform-preview/read-the-receipt-of-one-balance-operation"},{"title":"List the venue's webhooks","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/webhooks","href":"/api-reference/venue-platform-preview/list-the-venues-webhooks"},{"title":"Register a webhook","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/webhooks","href":"/api-reference/venue-platform-preview/register-a-webhook"},{"title":"Remove a webhook","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/venues/{venueId}/webhooks/{webhookId}","href":"/api-reference/venue-platform-preview/remove-a-webhook"},{"title":"Send a signed test ping to a webhook","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/webhooks/{webhookId}/test","href":"/api-reference/venue-platform-preview/send-a-signed-test-ping-to-a-webhook"},{"title":"Read a webhook's delivery log","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/webhooks/{webhookId}/deliveries","href":"/api-reference/venue-platform-preview/read-a-webhooks-delivery-log"}]},{"group":"Pre-registration","pages":[{"title":"Pre-register a trader’s account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/pre-registration/registrations","href":"/api-reference/connect/pre-register-a-trader’s-account"},{"title":"List pre-registered accounts","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/pre-registration/registrations","href":"/api-reference/connect/list-pre-registered-accounts"},{"title":"Cancel a pre-registration","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/pre-registration/registrations","href":"/api-reference/connect/cancel-a-pre-registration"}]},{"group":"Pre-registration conformance (sandbox)","pages":[{"title":"Start a sandbox conformance run","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/pre-registration/conformance/runs","href":"/api-reference/connect/start-a-sandbox-conformance-run"},{"title":"Read conformance run results","deprecated":true,"version":null,"openapi":"/api/openapi.json get /api/pre-registration/conformance/runs/{id}","href":"/api-reference/connect/read-conformance-run-results"},{"title":"Finish a sandbox conformance run","deprecated":true,"version":null,"openapi":"/api/openapi.json post /api/pre-registration/conformance/runs/{id}/close","href":"/api-reference/connect/finish-a-sandbox-conformance-run"}]}]}]}]},{"tab":"SDKs and tools","dropdowns":[{"dropdown":"Overview","icon":"flag-checkered","description":"Choose a tool for your integration","pages":[{"title":"SDKs and tools","sidebarTitle":"Overview","href":"/sdks"}]},{"dropdown":"Connect","icon":"link","description":"Embed hosted Connect with the Connect SDK","pages":[{"title":"Connect SDK","sidebarTitle":"Connect SDK","href":"/sdks/connect"}]},{"dropdown":"TypeScript","icon":"cube","description":"Read about the TypeScript SDK and its availability","pages":[{"title":"TypeScript SDK","sidebarTitle":"TypeScript SDK (unavailable)","href":"/sdks/typescript"}]},{"dropdown":"Charting","icon":"chart-line","description":"Build charts with Quick Charts","pages":[{"title":"Charting","href":"/chart-integration"}]},{"dropdown":"CLI","icon":"terminal","description":"Read about the CLI and its availability","pages":[{"title":"CLI","sidebarTitle":"CLI (unavailable)","href":"/cli"}]},{"dropdown":"AI","icon":"robot","description":"Build and check an integration with a coding agent","groups":[{"group":"Start here","pages":[{"title":"Build with AI","href":"/ai"}]},{"group":"Prompts","pages":[{"title":"Agent prompts","href":"/sdks/agent-prompts"}]}]}]}]},"basePath":"","title":"Start a venue conformance test - trdrs Engine API","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}