Marks a draft connection validated, or a halted one validated again, on a check of it that passed. Name the check and the connection version you read: the check must be the connection’s newest finished one, made at that version, and have read the provider version’s manifest, and its 1.1 manifest too for a version pinned to 1.1. A connection that serves prices also needs the provider’s market data conformance: today, the passed qualification of the catalog release the provider version runs, installed or linked, with the same manifest. A 1.1 manifest that declares environments must declare this connection’s endpoint for its environment, and a production connection takes no test upstream while a sandbox one never trades live. A later check that fails on what the provider answered halts a validated connection (no new exposure; reductions and reads go on) until you promote it again. A validated connection is answered as it stands, and the same request again answers what it answered. Required scope: connection:manage. 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.
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.
{"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":"6ae940c04acc56465063a6a3","collectionId":"ea485f20-e861-46f0-983f-da77b224e9d4","liveDeploymentHistoryId":"6ae940c04acc56465063a6a3","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6aea0d7ce52981415f8d2872","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"API reference","count":180},{"language":"default","tag":"Endpoints","count":179},{"language":"default","tag":"Venues","count":137},{"language":"default","tag":"Guides","count":48},{"language":"default","tag":"Trading","count":44},{"language":"default","tag":"Venue accounts","count":22},{"language":"default","tag":"Connect","count":21},{"language":"default","tag":"Get started","count":20},{"language":"default","tag":"Orders","count":19},{"language":"default","tag":"Hedging","count":19}]},"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/promote-a-provider-connection-to-validated","slug":"/api-reference/venue-platform-preview/promote-a-provider-connection-to-validated","pageMetadata":{"title":"Promote a provider connection to validated","description":"Marks a draft connection validated, or a halted one validated again, on a check of it that passed. Name the check and the connection version you read: the check must be the connection's newest finished one, made at that version, and have read the provider version's manifest, and its 1.1 manifest too for a version pinned to 1.1. A connection that serves prices also needs the provider's market data conformance: today, the passed qualification of the catalog release the provider version runs, installed or linked, with the same manifest. A 1.1 manifest that declares environments must declare this connection's endpoint for its environment, and a production connection takes no `test` upstream while a sandbox one never trades live. A later check that fails on what the provider answered halts a validated connection (no new exposure; reductions and reads go on) until you promote it again. A validated connection is answered as it stands, and the same request again answers what it answered. Required scope: `connection:manage`. 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}/connections/{connectionId}/promote","href":"/api-reference/venue-platform-preview/promote-a-provider-connection-to-validated","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: [\"Marks a draft connection validated, or a halted one validated again, on a check of it that passed. Name the check and the connection version you read: the check must be the connection’s newest finished one, made at that version, and have read the provider version’s manifest, and its 1.1 manifest too for a version pinned to 1.1. A connection that serves prices also needs the provider’s market data conformance: today, the passed qualification of the catalog release the provider version runs, installed or linked, with the same manifest. A 1.1 manifest that declares environments must declare this connection’s endpoint for its environment, and a production connection takes no \", _jsx(_components.code, {\n children: \"test\"\n }), \" upstream while a sandbox one never trades live. A later check that fails on what the provider answered halts a validated connection (no new exposure; reductions and reads go on) until you promote it again. A validated connection is answered as it stands, and the same request again answers what it answered. Required scope: \", _jsx(_components.code, {\n children: \"connection:manage\"\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":"Promote a provider connection to validated","description":"Marks a draft connection validated, or a halted one validated again, on a check of it that passed. Name the check and the connection version you read: the check must be the connection's newest finished one, made at that version, and have read the provider version's manifest, and its 1.1 manifest too for a version pinned to 1.1. A connection that serves prices also needs the provider's market data conformance: today, the passed qualification of the catalog release the provider version runs, installed or linked, with the same manifest. A 1.1 manifest that declares environments must declare this connection's endpoint for its environment, and a production connection takes no `test` upstream while a sandbox one never trades live. A later check that fails on what the provider answered halts a validated connection (no new exposure; reductions and reads go on) until you promote it again. A validated connection is answered as it stands, and the same request again answers what it answered. Required scope: `connection:manage`. 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}/connections/{connectionId}/promote","href":"/api-reference/venue-platform-preview/promote-a-provider-connection-to-validated","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Venue platform preview"],"security":["585b2903-f641-464b-b099-017f2e4a2451"],"summary":"Promote a provider connection to validated","description":"Marks a draft connection validated, or a halted one validated again, on a check of it that passed. Name the check and the connection version you read: the check must be the connection's newest finished one, made at that version, and have read the provider version's manifest, and its 1.1 manifest too for a version pinned to 1.1. A connection that serves prices also needs the provider's market data conformance: today, the passed qualification of the catalog release the provider version runs, installed or linked, with the same manifest. A 1.1 manifest that declares environments must declare this connection's endpoint for its environment, and a production connection takes no `test` upstream while a sandbox one never trades live. A later check that fails on what the provider answered halts a validated connection (no new exposure; reductions and reads go on) until you promote it again. A validated connection is answered as it stands, and the same request again answers what it answered. Required scope: `connection:manage`. 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":["daa294b5-44bb-4ede-853d-0b538ed3b2e3","89130ab9-5447-4936-8083-0d993bbec1a4","84d57ebd-79d9-4ecb-8221-949fd37edbb2"],"requestBody":"6144f6a0-4293-4ced-b04b-146d58ad93ca","responses":{"200":"45200161-f7cd-42a0-a523-6659f570d1d8","400":"548a2d4f-4d95-4671-a04c-2b2f95b293fa","401":"2011e73f-3907-4895-980c-e1413093cd8e","403":"32dddbce-cfc2-4d0e-a5d6-90240ce5ffe9","404":"63d95bea-7805-46a6-ba5d-1fe705b0604b","409":"1e51ea81-cb6f-44db-9806-da1665cba3cf","413":"ea6c6235-bd86-4200-bb92-08114576c1d9","415":"22972809-fcb8-447e-ba65-1195361a765e","503":"597657d6-c3e2-4b92-bf01-fff700ccdbe5"},"x-codeSamples":[{"lang":"javascript","label":"TypeScript","source":"const res = await fetch('https://app.trdrs.co/api/venues/{venueId}/connections/{connectionId}/promote', {\n method: 'POST',\n headers: {\n 'content-type': 'application/json',\n Authorization: `Bearer ${process.env.TRDRS_VENUE_KEY}`,\n \"Idempotency-Key\": \"example-request-1\",\n },\n body: JSON.stringify({\n \"expectedVersion\": 1,\n \"validationJobId\": \"00000000-0000-0000-0000-000000000005\"\n }),\n})\nconst data = await res.json()"},{"lang":"shell","label":"cURL","source":"curl -X POST 'https://app.trdrs.co/api/venues/{venueId}/connections/{connectionId}/promote' \\\n -H \"Authorization: Bearer $TRDRS_VENUE_KEY\" \\\n -H 'Idempotency-Key: example-request-1' \\\n -H 'content-type: application/json' \\\n -d '{\"expectedVersion\":1,\"validationJobId\":\"00000000-0000-0000-0000-000000000005\"}'"}],"method":"post","type":"path","servers":["105833fc-7a96-4006-a779-068d0110ac07","20fb0203-9748-432e-89fb-7ed316b2e1a2"],"path":"/api/venues/{venueId}/connections/{connectionId}/promote","baseUrlOptions":["https://app.trdrs.co","/"],"title":"Promote a provider connection to validated","codeSamples":[{"label":"TypeScript","lang":"javascript","source":"const res = await fetch('https://app.trdrs.co/api/venues/{venueId}/connections/{connectionId}/promote', {\n method: 'POST',\n headers: {\n 'content-type': 'application/json',\n Authorization: `Bearer ${process.env.TRDRS_VENUE_KEY}`,\n \"Idempotency-Key\": \"example-request-1\",\n },\n body: JSON.stringify({\n \"expectedVersion\": 1,\n \"validationJobId\": \"00000000-0000-0000-0000-000000000005\"\n }),\n})\nconst data = await res.json()"},{"label":"cURL","lang":"shell","source":"curl -X POST 'https://app.trdrs.co/api/venues/{venueId}/connections/{connectionId}/promote' \\\n -H \"Authorization: Bearer $TRDRS_VENUE_KEY\" \\\n -H 'Idempotency-Key: example-request-1' \\\n -H 'content-type: application/json' \\\n -d '{\"expectedVersion\":1,\"validationJobId\":\"00000000-0000-0000-0000-000000000005\"}'"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"daa294b5-44bb-4ede-853d-0b538ed3b2e3":{"name":"venueId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"89130ab9-5447-4936-8083-0d993bbec1a4":{"name":"connectionId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"}},"84d57ebd-79d9-4ecb-8221-949fd37edbb2":{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"isRequired":true,"description":"A key you choose, 1 to 128 characters, that identifies this write. Send the same key when you retry it, so the write is never applied twice.","uniqueKey":"","typeLabel":"string"},"description":"A key you choose, 1 to 128 characters, that identifies this write. Send the same key when you retry it, so the write is never applied twice."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"expectedVersion":{"type":"integer","minimum":1,"description":"The connection's `version` as you read it.","isRequired":true,"uniqueKey":"expectedVersion","typeLabel":"integer"},"validationJobId":{"type":"string","format":"uuid","description":"The check of the connection that passed.","isRequired":true,"uniqueKey":"validationJobId","typeLabel":"string\u003cuuid>"}},"required":["expectedVersion","validationJobId"],"example":{"expectedVersion":1,"validationJobId":"00000000-0000-0000-0000-000000000005"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"expectedVersion":1,"validationJobId":"00000000-0000-0000-0000-000000000005"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"45200161-f7cd-42a0-a523-6659f570d1d8":{"description":"Success. The response is sent with `Cache-Control: no-store`, so don't cache it.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"connection":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"connection.id","typeLabel":"string\u003cuuid>"},"venueId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"connection.venueId","typeLabel":"string\u003cuuid>"},"providerVersionId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"connection.providerVersionId","typeLabel":"string\u003cuuid>"},"environment":{"type":"string","enum":["sandbox","production"],"isRequired":true,"uniqueKey":"connection.environment","typeLabel":"enum\u003cstring>"},"endpoint":{"type":"string","isRequired":true,"uniqueKey":"connection.endpoint","typeLabel":"string"},"credentialId":{"type":"string","isRequired":true,"uniqueKey":"connection.credentialId","typeLabel":"string"},"hasCredential":{"const":true,"isRequired":true,"uniqueKey":"connection.hasCredential","typeLabel":"any"},"state":{"type":"string","enum":["draft","validated","halted","revoked"],"description":"`validated` once you promoted it on a check that passed. `halted` after a later check failed: no new exposure, while reductions and reads go on, until you promote it again.","isRequired":true,"uniqueKey":"connection.state","typeLabel":"enum\u003cstring>"},"version":{"type":"integer","isRequired":true,"uniqueKey":"connection.version","typeLabel":"integer"},"exposed":{"type":"boolean","description":"Whether this venue shows the plugged-in provider to its own traders in Connect. It is off by default, and the expose route changes it.","isRequired":true,"uniqueKey":"connection.exposed","typeLabel":"boolean"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"connection.createdAt","typeLabel":"string\u003cdate-time>"}},"required":["id","venueId","providerVersionId","environment","endpoint","credentialId","hasCredential","state","version","exposed","createdAt"],"isRequired":true,"uniqueKey":"connection","typeLabel":"object"}},"required":["connection"],"example":{"connection":{"id":"00000000-0000-0000-0000-000000000006","venueId":"00000000-0000-0000-0000-000000000001","providerVersionId":"00000000-0000-0000-0000-000000000001","environment":"sandbox","endpoint":"https://bolsador.example.com/trdrs-provider/v1/","credentialId":"bolsador","hasCredential":true,"state":"validated","version":2,"exposed":false,"createdAt":"2026-09-14T12:00:00.000Z"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"connection":{"id":"00000000-0000-0000-0000-000000000006","venueId":"00000000-0000-0000-0000-000000000001","providerVersionId":"00000000-0000-0000-0000-000000000001","environment":"sandbox","endpoint":"https://bolsador.example.com/trdrs-provider/v1/","credentialId":"bolsador","hasCredential":true,"state":"validated","version":2,"exposed":false,"createdAt":"2026-09-14T12:00:00.000Z"}}}},"exampleType":"generated"}},"exampleType":"generated"},"548a2d4f-4d95-4671-a04c-2b2f95b293fa":{"description":"The body is malformed, or the connection is revoked.","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"},"2011e73f-3907-4895-980c-e1413093cd8e":{"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"},"32dddbce-cfc2-4d0e-a5d6-90240ce5ffe9":{"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"},"63d95bea-7805-46a6-ba5d-1fe705b0604b":{"description":"The connection doesn't exist or isn't this venue's.","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"},"1e51ea81-cb6f-44db-9806-da1665cba3cf":{"description":"The promotion is refused: `version_conflict` (the connection moved on from `expectedVersion`), `validation_not_passed` (the check isn't this connection's, didn't pass or hasn't finished), `validation_stale` (a newer check finished, or the check read another connection version or manifest), `conformance_missing` (no passed market data conformance of the provider's software), `endpoint_not_declared`, `environment_upstream_mismatch`; or `idempotency_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"},"ea6c6235-bd86-4200-bb92-08114576c1d9":{"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"},"22972809-fcb8-447e-ba65-1195361a765e":{"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"},"597657d6-c3e2-4b92-bf01-fff700ccdbe5":{"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":{"585b2903-f641-464b-b099-017f2e4a2451":{"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":{"105833fc-7a96-4006-a779-068d0110ac07":{"url":"https://app.trdrs.co","description":"Production"},"20fb0203-9748-432e-89fb-7ed316b2e1a2":{"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":"Promote a provider connection to validated - trdrs Engine API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T16:36:29.318Z","originalFileLocation":"api-reference/venue-platform-preview/promote-a-provider-connection-to-validated.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=\"Marks a draft connection validated, or a halted one validated again, on a check of it that passed. Name the check and the connection version you read: the check must be the connection\u0026#x27;s newest finished one, made at that version, and have read the provider version\u0026#x27;s manifest, and its 1.1 manifest too for a version pinned to 1.1. A connection that serves prices also needs the provider\u0026#x27;s market data conformance: today, the passed qualification of the catalog release the provider version runs, installed or linked, with the same manifest. A 1.1 manifest that declares environments must declare this connection\u0026#x27;s endpoint for its environment, and a production connection takes no test upstream while a sandbox one never trades live. A later check that fails on what the provider answered halts a validated connection (no new exposure; reductions and reads go on) until you promote it again. A validated connection is answered as it stands, and the same request again answers what it answered. Required scope: connection:manage. 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=\"Promote a provider connection to validated - trdrs Engine API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Marks a draft connection validated, or a halted one validated again, on a check of it that passed. Name the check and the connection version you read: the check must be the connection\u0026#x27;s newest finished one, made at that version, and have read the provider version\u0026#x27;s manifest, and its 1.1 manifest too for a version pinned to 1.1. A connection that serves prices also needs the provider\u0026#x27;s market data conformance: today, the passed qualification of the catalog release the provider version runs, installed or linked, with the same manifest. A 1.1 manifest that declares environments must declare this connection\u0026#x27;s endpoint for its environment, and a production connection takes no test upstream while a sandbox one never trades live. A later check that fails on what the provider answered halts a validated connection (no new exposure; reductions and reads go on) until you promote it again. A validated connection is answered as it stands, and the same request again answers what it answered. Required scope: connection:manage. 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/promote-a-provider-connection-to-validated\">\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=Providers+and+connections\u0026amp;title=Promote+a+provider+connection+to+validated\u0026amp;description=Marks+a+draft+connection+validated%2C+or+a+halted+one+validated+again%2C+on+a+check+of+it+that+passed.+Name+the+check+and+the+connection+version+you+read%3A+the+check\u0026amp;theme=85063b664f29463f86ec0c0f\u0026amp;signature=e70cc0b8e9b2b9dd3ff329085fd5e67f03f2b2b7df118bada3a231545223eea0\">\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=\"Promote a provider connection to validated - trdrs Engine API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Marks a draft connection validated, or a halted one validated again, on a check of it that passed. Name the check and the connection version you read: the check must be the connection\u0026#x27;s newest finished one, made at that version, and have read the provider version\u0026#x27;s manifest, and its 1.1 manifest too for a version pinned to 1.1. A connection that serves prices also needs the provider\u0026#x27;s market data conformance: today, the passed qualification of the catalog release the provider version runs, installed or linked, with the same manifest. A 1.1 manifest that declares environments must declare this connection\u0026#x27;s endpoint for its environment, and a production connection takes no test upstream while a sandbox one never trades live. A later check that fails on what the provider answered halts a validated connection (no new exposure; reductions and reads go on) until you promote it again. A validated connection is answered as it stands, and the same request again answers what it answered. Required scope: connection:manage. 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=Providers+and+connections\u0026amp;title=Promote+a+provider+connection+to+validated\u0026amp;description=Marks+a+draft+connection+validated%2C+or+a+halted+one+validated+again%2C+on+a+check+of+it+that+passed.+Name+the+check+and+the+connection+version+you+read%3A+the+check\u0026amp;theme=85063b664f29463f86ec0c0f\u0026amp;signature=e70cc0b8e9b2b9dd3ff329085fd5e67f03f2b2b7df118bada3a231545223eea0\">\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/promote-a-provider-connection-to-validated\">\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/promote-a-provider-connection-to-validated.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/promote-a-provider-connection-to-validated#webpage\",\"url\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/promote-a-provider-connection-to-validated\",\"name\":\"Promote a provider connection to validated\",\"description\":\"Marks a draft connection validated, or a halted one validated again, on a check of it that passed. Name the check and the connection version you read: the check must be the connection's newest finished one, made at that version, and have read the provider version's manifest, and its 1.1 manifest too for a version pinned to 1.1. A connection that serves prices also needs the provider's market data conformance: today, the passed qualification of the catalog release the provider version runs, installed or linked, with the same manifest. A 1.1 manifest that declares environments must declare this connection's endpoint for its environment, and a production connection takes no test upstream while a sandbox one never trades live. A later check that fails on what the provider answered halts a validated connection (no new exposure; reductions and reads go on) until you promote it again. A validated connection is answered as it stands, and the same request again answers what it answered. Required scope: connection:manage. 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-03T16:36:29.318Z\",\"isPartOf\":{\"@id\":\"https://docs.trdrs.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/promote-a-provider-connection-to-validated#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/promote-a-provider-connection-to-validated#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\":\"Providers and connections\",\"item\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/list-provider-connections\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Promote a provider connection to validated\",\"item\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/promote-a-provider-connection-to-validated\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/promote-a-provider-connection-to-validated#apireference\",\"headline\":\"Promote a provider connection to validated\",\"name\":\"Promote a provider connection to validated\",\"description\":\"Marks a draft connection validated, or a halted one validated again, on a check of it that passed. Name the check and the connection version you read: the check must be the connection's newest finished one, made at that version, and have read the provider version's manifest, and its 1.1 manifest too for a version pinned to 1.1. A connection that serves prices also needs the provider's market data conformance: today, the passed qualification of the catalog release the provider version runs, installed or linked, with the same manifest. A 1.1 manifest that declares environments must declare this connection's endpoint for its environment, and a production connection takes no test upstream while a sandbox one never trades live. A later check that fails on what the provider answered halts a validated connection (no new exposure; reductions and reads go on) until you promote it again. A validated connection is answered as it stands, and the same request again answers what it answered. Required scope: connection:manage. 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/promote-a-provider-connection-to-validated\",\"mainEntityOfPage\":{\"@id\":\"https://docs.trdrs.co/api-reference/venue-platform-preview/promote-a-provider-connection-to-validated#webpage\"},\"dateModified\":\"2026-11-03T16:36:29.318Z\",\"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":"Add a provider's markets","sidebarTitle":"Provider markets","href":"/guides/add-provider-markets"},{"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":"Size an order in money","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/trading/order-size","href":"/api-reference/trading/size-an-order-in-money"},{"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","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","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":"Delete an account group","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/venues/{venueId}/conditions/groups/{groupId}","href":"/api-reference/venue-platform-preview/delete-an-account-group"},{"title":"Delete an evaluation","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/venues/{venueId}/conditions/evaluations/{groupId}","href":"/api-reference/venue-platform-preview/delete-an-evaluation"},{"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","description":"Queues a read-only check of a connection: the provider's published manifest is fetched and compared, and a provider that holds accounts then lists every account your credential can see. Send an empty JSON body, then poll the job it returns. No order is placed, and a pass neither clears a halt nor makes the connection ready to trade. Required scope: `connection:manage`. 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}/connections/{connectionId}/validate","href":"/api-reference/venue-platform-preview/queue-read-only-provider-validation"},{"title":"Promote a provider connection to validated","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/connections/{connectionId}/promote","href":"/api-reference/venue-platform-preview/promote-a-provider-connection-to-validated"},{"title":"Register a public provider version","description":"Registers a public provider's declaration with this venue as a new candidate version, after checking the manifest field by field. Use it before you create a connection to that provider. Nothing is contacted, approved or turned on, and the response is the stored version. Required scope: `provider:manage`. 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}/providers","href":"/api-reference/venue-platform-preview/register-a-public-provider-version"},{"title":"Link a provider version to its company and integration","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/providers/{providerId}/link","href":"/api-reference/venue-platform-preview/link-a-provider-version-to-its-company-and-integration"},{"title":"Retire a provider version","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/providers/{providerId}/retire","href":"/api-reference/venue-platform-preview/retire-a-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":"List a connection's provider markets","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/connections/{connectionId}/markets","href":"/api-reference/venue-platform-preview/list-a-connections-provider-markets"},{"title":"Add a connection's provider markets","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/connections/{connectionId}/markets","href":"/api-reference/venue-platform-preview/add-a-connections-provider-markets"},{"title":"Read a connection's provider markets now","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/connections/{connectionId}/markets/read","href":"/api-reference/venue-platform-preview/read-a-connections-provider-markets-now"},{"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":"Bind a customer account to its hedge account","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/accounts","href":"/api-reference/venue-platform-preview/bind-a-customer-account-to-its-hedge-account"},{"title":"Reconcile a customer account's hedge","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedges/accounts/{accountId}/reconcile","href":"/api-reference/venue-platform-preview/reconcile-a-customer-accounts-hedge"},{"title":"List hedging policies","deprecated":null,"version":null,"openapi":"/api/openapi.json get /api/venues/{venueId}/hedging-policies","href":"/api-reference/venue-platform-preview/list-hedging-policies"},{"title":"Make a hedging policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedging-policies","href":"/api-reference/venue-platform-preview/make-a-hedging-policy"},{"title":"Change a hedging policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedging-policies/{hedgingPolicyId}","href":"/api-reference/venue-platform-preview/change-a-hedging-policy"},{"title":"Delete a hedging policy","deprecated":null,"version":null,"openapi":"/api/openapi.json delete /api/venues/{venueId}/hedging-policies/{hedgingPolicyId}","href":"/api-reference/venue-platform-preview/delete-a-hedging-policy"},{"title":"Pause, stop or resume a hedging policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/hedging-policies/{hedgingPolicyId}/state","href":"/api-reference/venue-platform-preview/pause-stop-or-resume-a-hedging-policy"},{"title":"Pick a group's hedging policy","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/groups/{groupId}/hedging-policy","href":"/api-reference/venue-platform-preview/pick-a-groups-hedging-policy"},{"title":"Set an account's tags","deprecated":null,"version":null,"openapi":"/api/openapi.json post /api/venues/{venueId}/accounts/{accountId}/tags","href":"/api-reference/venue-platform-preview/set-an-accounts-tags"},{"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":"Promote a provider connection to validated - trdrs Engine API","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","clsx-BIWXJmsZ.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DKZWslLH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-UDqbR6xh.js"]}