Verified with one live call before being stored; a bad key or Azure config
is rejected with the provider’s own error and nothing is persisted.
Resubmitting for the same provider replaces the existing credential.
See the BYOK guide for the per-provider field requirements.
azure and azure-foundry: gateway model id -> your deployment name
Show child attributes
Response
Credential stored (never echoes the secret)
⌘I
{"docsConfig":{"theme":"willow","$schema":"https://mintlify.com/docs.json","name":"impossibl","description":"Use one API key for models across providers. Get started, connect your app, and manage usage and billing.","colors":{"primary":"#000000","light":"#FFFFFF","dark":"#000000"},"logo":{"light":"https://mintcdn.com/impossibl/3d3DRU0do26ni_Q1/logo-light-v2.png?fit=max\u0026auto=format\u0026n=3d3DRU0do26ni_Q1\u0026q=85\u0026s=c8f499ee9ee34ad48d6237725054f6d5","dark":"https://mintcdn.com/impossibl/3d3DRU0do26ni_Q1/logo-dark-v2.png?fit=max\u0026auto=format\u0026n=3d3DRU0do26ni_Q1\u0026q=85\u0026s=3d2870508f4e1d38ce884314bc45bf93"},"favicon":{"light":"https://mintcdn.com/impossibl/3d3DRU0do26ni_Q1/favicon-light.svg?fit=max\u0026auto=format\u0026n=3d3DRU0do26ni_Q1\u0026q=85\u0026s=e2f99d84d17cfc0ce1e8a69fa9ce22d7","dark":"https://mintcdn.com/impossibl/3d3DRU0do26ni_Q1/favicon-dark.svg?fit=max\u0026auto=format\u0026n=3d3DRU0do26ni_Q1\u0026q=85\u0026s=1478ca16d79753dfb3afa484f449af86"},"background":{"color":{"light":"#FFFFFF","dark":"#000000"}},"navbar":{"links":[{"href":"https://impossibl.com/models","label":"Models"}],"primary":{"type":"button","label":"Console","href":"https://impossibl.com/dashboard"}},"seo":{"metatags":{"canonical":"https://impossibl.com/docs","og:site_name":"impossibl","twitter:site":"@Impossiblai","og:image":"https://impossibl.com/opengraph-image","twitter:image":"https://impossibl.com/opengraph-image","twitter:card":"summary_large_image"},"organization":{"name":"impossibl","url":"https://impossibl.com","logo":"https://impossibl.com/brand/impossibl-icon.png","sameAs":["https://x.com/Impossiblai","https://github.com/impossiblco"]}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"impossibl","hasAudioNarration":false,"actualSubdomain":"impossibl","customDomains":["impossibl.com"],"gitSource":{"type":"github","owner":"impossiblco","repo":"imp-monorepo","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"c3292231-1b34-4e3f-8585-5bedf8c02381","liveDeploymentHistoryId":"6adfa93e1421c8c54a042a7e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adfa93e1421c8c54a042a7e"},"entitlements":{},"buildId":"6adfa93e1421c8c54a042a7e","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API Reference","count":68},{"language":"default","tag":"Guides","count":27},{"language":"default","tag":"Build","count":8},{"language":"default","tag":"Modalities","count":8},{"language":"default","tag":"Get started","count":6},{"language":"default","tag":"Manage","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"editor-agent-model-picker","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/add-or-replace-a-byok-provider-credential","slug":"/api-reference/add-or-replace-a-byok-provider-credential","pageMetadata":{"title":"Add (or replace) a BYOK provider credential","description":"Verified with one live call before being stored; a bad key or Azure config\nis rejected with the provider's own error and nothing is persisted.\nResubmitting for the same `provider` replaces the existing credential.\nSee the [BYOK guide](/byok) for the per-provider field requirements.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/provider-keys","href":"/api-reference/add-or-replace-a-byok-provider-credential","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 a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Verified with one live call before being stored; a bad key or Azure config\\nis rejected with the provider’s own error and nothing is persisted.\\nResubmitting for the same \", _jsx(_components.code, {\n children: \"provider\"\n }), \" replaces the existing credential.\\nSee the \", _jsx(_components.a, {\n href: \"/byok\",\n children: \"BYOK guide\"\n }), \" for the per-provider field requirements.\"]\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":"Add (or replace) a BYOK provider credential","description":"Verified with one live call before being stored; a bad key or Azure config\nis rejected with the provider's own error and nothing is persisted.\nResubmitting for the same `provider` replaces the existing credential.\nSee the [BYOK guide](/byok) for the per-provider field requirements.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/provider-keys","href":"/api-reference/add-or-replace-a-byok-provider-credential","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/impossibl/c75059c84ec01199/analytics.js"],"openApiReferenceData":{"operation":{"operationId":"createProviderKey","summary":"Add (or replace) a BYOK provider credential","description":"Verified with one live call before being stored; a bad key or Azure config\nis rejected with the provider's own error and nothing is persisted.\nResubmitting for the same `provider` replaces the existing credential.\nSee the [BYOK guide](/byok) for the per-provider field requirements.\n","requestBody":"93e96f5a-26ca-4203-90c2-aac8710f700b","responses":{"201":"3ebcd4d8-1ec1-4c19-b803-d20211bdf5af","400":"c86001cc-0170-42bb-bc62-7aac09cc29b1"},"method":"post","type":"path","servers":["56354270-4d43-4a36-9df8-087ce55ddbb8","b9326fa1-d188-49aa-a659-8ec127b80a40"],"security":["b9e249f0-508d-49aa-b644-e83d1e514b84"],"path":"/v1/provider-keys","baseUrlOptions":["https://api.impossibl.com","http://localhost:8787"],"title":"Add (or replace) a BYOK provider credential","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["provider"],"properties":{"provider":{"type":"string","enum":["openai","anthropic","google","xai","zai","bedrock","azure","azure-foundry"],"isRequired":true,"uniqueKey":"provider","typeLabel":"enum\u003cstring>"},"label":{"type":"string","uniqueKey":"label","typeLabel":"string"},"apiKey":{"type":"string","description":"All providers; for Bedrock this is a Bedrock API key (bearer token)","uniqueKey":"apiKey","typeLabel":"string"},"resourceName":{"type":"string","description":"Azure only","uniqueKey":"resourceName","typeLabel":"string"},"apiVersion":{"type":"string","description":"Azure only","uniqueKey":"apiVersion","typeLabel":"string"},"endpoint":{"type":"string","description":"azure-foundry only","uniqueKey":"endpoint","typeLabel":"string"},"region":{"type":"string","description":"Bedrock only: the AWS region the key was generated for","uniqueKey":"region","typeLabel":"string"},"modelDeployments":{"type":"object","description":"azure and azure-foundry: gateway model id -> your deployment name","additionalProperties":{"type":"string","uniqueKey":"modelDeployments.additionalProperties","typeLabel":"string"},"uniqueKey":"modelDeployments","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"label":"\u003cstring>","apiKey":"\u003cstring>","resourceName":"\u003cstring>","apiVersion":"\u003cstring>","endpoint":"\u003cstring>","region":"\u003cstring>","modelDeployments":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"3ebcd4d8-1ec1-4c19-b803-d20211bdf5af":{"description":"Credential stored (never echoes the secret)","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"c86001cc-0170-42bb-bc62-7aac09cc29b1":{"description":"Invalid shape, or verification against the live provider failed","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"b9e249f0-508d-49aa-b644-e83d1e514b84":{"BearerKey":{"type":"http","scheme":"bearer","description":"Gateway API key (`imp-rt-...`) from POST /v1/accounts or /v1/keys.","scopes":[],"schemeName":"BearerKey"}}},"servers":{"56354270-4d43-4a36-9df8-087ce55ddbb8":{"url":"https://api.impossibl.com","description":"Production"},"b9326fa1-d188-49aa-a659-8ec127b80a40":{"url":"http://localhost:8787","description":"Local dev"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Gateway API key (`imp-rt-...`) from POST /v1/accounts or /v1/keys.","scopes":[],"schemeName":"BearerKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Gateway API key (`imp-rt-...`) from POST /v1/accounts or /v1/keys.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerKey","name":"Authorization"}],"title":"BearerKey"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"impossibl","siteName":"impossibl","title":"Add (or replace) a BYOK provider credential - impossibl","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-16T00:28:49.487Z","originalFileLocation":"api-reference/add-or-replace-a-byok-provider-credential.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=\"system\"}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=\"Verified with one live call before being stored; a bad key or Azure config is rejected with the provider\u0026#x27;s own error and nothing is persisted. Resubmitting for the same provider replaces the existing credential. See the BYOK guide for the per-provider field requirements.\">\u003cmeta data-mint-head name=\"application-name\" content=\"impossibl\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/impossibl/0tSg0CUa7jlGvPGO/_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=\"/docs/mintlify-assets/_mintlify/favicons/impossibl/0tSg0CUa7jlGvPGO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/impossibl/0tSg0CUa7jlGvPGO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/impossibl/0tSg0CUa7jlGvPGO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/impossibl/0tSg0CUa7jlGvPGO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/impossibl/0tSg0CUa7jlGvPGO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/impossibl/0tSg0CUa7jlGvPGO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/impossibl/0tSg0CUa7jlGvPGO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/impossibl/0tSg0CUa7jlGvPGO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add (or replace) a BYOK provider credential - impossibl\">\u003cmeta data-mint-head property=\"og:description\" content=\"Verified with one live call before being stored; a bad key or Azure config is rejected with the provider\u0026#x27;s own error and nothing is persisted. Resubmitting for the same provider replaces the existing credential. See the BYOK guide for the per-provider field requirements.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"impossibl\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://impossibl.com/docs/api-reference/add-or-replace-a-byok-provider-credential\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://impossibl.com/opengraph-image\">\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=\"Add (or replace) a BYOK provider credential - impossibl\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Verified with one live call before being stored; a bad key or Azure config is rejected with the provider\u0026#x27;s own error and nothing is persisted. Resubmitting for the same provider replaces the existing credential. See the BYOK guide for the per-provider field requirements.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://impossibl.com/opengraph-image\">\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=\"/docs/mintlify-assets/_mintlify/favicons/impossibl/0tSg0CUa7jlGvPGO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"impossibl\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://impossibl.com/docs/api-reference/add-or-replace-a-byok-provider-credential\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/add-or-replace-a-byok-provider-credential.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://impossibl.com/#organization\",\"name\":\"impossibl\",\"url\":\"https://impossibl.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://impossibl.com/brand/impossibl-icon.png\"},\"sameAs\":[\"https://x.com/Impossiblai\",\"https://github.com/impossiblco\"]},{\"@type\":\"WebSite\",\"@id\":\"https://impossibl.com/docs#website\",\"name\":\"impossibl\",\"url\":\"https://impossibl.com/docs\",\"publisher\":{\"@id\":\"https://impossibl.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://impossibl.com/docs/api-reference/add-or-replace-a-byok-provider-credential#webpage\",\"url\":\"https://impossibl.com/docs/api-reference/add-or-replace-a-byok-provider-credential\",\"name\":\"Add (or replace) a BYOK provider credential\",\"description\":\"Verified with one live call before being stored; a bad key or Azure config is rejected with the provider's own error and nothing is persisted. Resubmitting for the same provider replaces the existing credential. See the BYOK guide for the per-provider field requirements.\",\"dateModified\":\"2026-10-16T00:28:49.487Z\",\"isPartOf\":{\"@id\":\"https://impossibl.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://impossibl.com/docs/api-reference/add-or-replace-a-byok-provider-credential#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://impossibl.com/docs/api-reference/add-or-replace-a-byok-provider-credential#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://impossibl.com/docs/api-reference/complete-artificial-analysis-benchmark-snapshot-for-a-serving-model\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add (or replace) a BYOK provider credential\",\"item\":\"https://impossibl.com/docs/api-reference/add-or-replace-a-byok-provider-credential\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://impossibl.com/docs/api-reference/add-or-replace-a-byok-provider-credential#apireference\",\"headline\":\"Add (or replace) a BYOK provider credential\",\"name\":\"Add (or replace) a BYOK provider credential\",\"description\":\"Verified with one live call before being stored; a bad key or Azure config is rejected with the provider's own error and nothing is persisted. Resubmitting for the same provider replaces the existing credential. See the BYOK guide for the per-provider field requirements.\",\"url\":\"https://impossibl.com/docs/api-reference/add-or-replace-a-byok-provider-credential\",\"mainEntityOfPage\":{\"@id\":\"https://impossibl.com/docs/api-reference/add-or-replace-a-byok-provider-credential#webpage\"},\"image\":\"https://impossibl.com/opengraph-image\",\"dateModified\":\"2026-10-16T00:28:49.487Z\",\"publisher\":{\"@id\":\"https://impossibl.com/#organization\"},\"isPartOf\":{\"@id\":\"https://impossibl.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"impossibl\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"impossibl","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Complete Artificial Analysis benchmark snapshot for a serving model","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/models/{creator}/{model}/benchmarks","href":"/api-reference/complete-artificial-analysis-benchmark-snapshot-for-a-serving-model"},{"title":"Get executable agent onboarding manifest","deprecated":null,"version":null,"openapi":"/openapi.yaml get /auth.md","href":"/api-reference/get-executable-agent-onboarding-manifest"},{"title":"Get auth.md manifest from the well-known compatibility path","deprecated":null,"version":null,"openapi":"/openapi.yaml get /.well-known/auth.md","href":"/api-reference/get-authmd-manifest-from-the-well-known-compatibility-path"},{"title":"Get OAuth protected-resource metadata for agent discovery","deprecated":null,"version":null,"openapi":"/openapi.yaml get /.well-known/oauth-protected-resource","href":"/api-reference/get-oauth-protected-resource-metadata-for-agent-discovery"},{"title":"List available models and pricing","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/models","href":"/api-reference/list-available-models-and-pricing"},{"title":"Create a funded account (agent onboarding)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/accounts","href":"/api-reference/create-a-funded-account-agent-onboarding"},{"title":"Get the authenticated account and balance","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/account","href":"/api-reference/get-the-authenticated-account-and-balance"},{"title":"List API keys (metadata only)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/keys","href":"/api-reference/list-api-keys-metadata-only"},{"title":"Mint a new API key","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/keys","href":"/api-reference/mint-a-new-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/keys/{id}","href":"/api-reference/revoke-an-api-key"},{"title":"Rename an API key","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/keys/{id}","href":"/api-reference/rename-an-api-key"},{"title":"List BYOK provider credentials (metadata only)","description":"See the [BYOK guide](/byok). Never returns the stored credential itself.","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/provider-keys","href":"/api-reference/list-byok-provider-credentials-metadata-only"},{"title":"Add (or replace) a BYOK provider credential","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/provider-keys","href":"/api-reference/add-or-replace-a-byok-provider-credential"},{"title":"Revoke a BYOK provider credential","description":null,"deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/provider-keys/{id}","href":"/api-reference/revoke-a-byok-provider-credential"},{"title":"Recent usage ledger","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/usage","href":"/api-reference/recent-usage-ledger"},{"title":"Live usage stream (SSE)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/usage/stream","href":"/api-reference/live-usage-stream-sse"},{"title":"Recent request log","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/requests","href":"/api-reference/recent-request-log"},{"title":"One request with its captured payload","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/requests/{id}","href":"/api-reference/one-request-with-its-captured-payload"},{"title":"Start a claim ceremony (hand the account to a human)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /agent/identity/claim","href":"/api-reference/start-a-claim-ceremony-hand-the-account-to-a-human"},{"title":"Poll a claim ceremony (claim grant)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /oauth2/token","href":"/api-reference/poll-a-claim-ceremony-claim-grant"},{"title":"Complete a claim (called by the frontend after WorkOS sign-in)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/claims/complete","href":"/api-reference/complete-a-claim-called-by-the-frontend-after-workos-sign-in"},{"title":"Current balance and top-up pricing","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/billing","href":"/api-reference/current-balance-and-top-up-pricing"},{"title":"Buy net credits with a hosted Stripe Invoice","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/billing/invoice","href":"/api-reference/buy-net-credits-with-a-hosted-stripe-invoice"},{"title":"Verify Stripe webhook and credit paid invoices","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/billing/webhook","href":"/api-reference/verify-stripe-webhook-and-credit-paid-invoices"},{"title":"Create a chat completion (OpenAI-compatible)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/chat/completions","href":"/api-reference/create-a-chat-completion-openai-compatible"},{"title":"Generate images (OpenAI-compatible)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/images/generations","href":"/api-reference/generate-images-openai-compatible"},{"title":"Transcribe a completed audio file","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/audio/transcriptions","href":"/api-reference/transcribe-a-completed-audio-file"},{"title":"Synthesize speech from text","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/audio/speech","href":"/api-reference/synthesize-speech-from-text"},{"title":"Create a response (OpenAI Responses API)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/responses","href":"/api-reference/create-a-response-openai-responses-api"},{"title":"Create a message (Anthropic Messages API)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/messages","href":"/api-reference/create-a-message-anthropic-messages-api"},{"title":"Create embeddings (OpenAI-compatible)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/embeddings","href":"/api-reference/create-embeddings-openai-compatible"},{"title":"Evaluate state against typed questions (TypeSafe System One)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/systemone","href":"/api-reference/evaluate-state-against-typed-questions-typesafe-system-one"},{"title":"Answer typed questions about an input (OpenAI Decisions)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/decisions","href":"/api-reference/answer-typed-questions-about-an-input-openai-decisions"},{"title":"Rerank documents by relevance","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/rerank","href":"/api-reference/rerank-documents-by-relevance"}]}]}]},"title":"Add (or replace) a BYOK provider credential - impossibl","buildId":"dpl_3rfzHPCtRhDFBbetXZ3oLkN5tjmA","deploymentId":"dpl_3rfzHPCtRhDFBbetXZ3oLkN5tjmA","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DBvOZtde.js","utils-BMzGkvGb.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BYhgN8Gl.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-qDMltnin.js","snippetPresets-CABPPIq4.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Bx9dgvF5.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-EwWVpM4w.js","shallow-vGbuQTai.js","getApiPlaygroundDisplay-DP2addym.js","CodeSnippet-BG6rB_-H.js","CodeSnippets-CFVdLBFC.js","Page-B-qdInYQ.js","getPastedJson-JGlMoKBJ.js","icon-BK_uyWxF.js","MethodPill-Du3sAVkF.js","DuplicateIcon-CMq42UID.js","createIcon-RdBrtBmo.js","DynamicMarkdown-B3juXLG8.js","SectionHeading-B--QsSCa.js","axios-vUo_bRtp.js","Markdown-B_bWWeh0.js","clsx-eUAxaTXI.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DMuJXOAm.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DeDUMY0v.js"]}