Validates the key with a no-cost provider call, then stores it encrypted. Usage on the key is billed by the provider directly, does not count toward the plan’s evaluation allowance, and carries Zelto’s bring-your-own platform fee. Refused for organizations in PHI mode. Recorded in the audit log as ai_key.created.
openai, anthropic, openrouter, vercel_gateway and typesafe are LLM / evaluation keys a monitor can run on. deepgram is a speech-to-text key, stored for upcoming Benchmarks.
openai, anthropic, openrouter, vercel_gateway and typesafe are LLM / evaluation keys a monitor can run on. deepgram is a speech-to-text key, stored for upcoming Benchmarks.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Zelto","description":"Observability and benchmarking for AI agents, voice and text.","colors":{"primary":"#3B5BDB","light":"#5B7FFF","dark":"#2C44A8"},"logo":{"light":"https://mintcdn.com/zelto-a802dbf4/w0jP7BwOcC-EEQGH/public/zelto-wordmark.png?fit=max\u0026auto=format\u0026n=w0jP7BwOcC-EEQGH\u0026q=85\u0026s=95a528e6e6c268521880fa274385d2cb","dark":"https://mintcdn.com/zelto-a802dbf4/pEvlQCYA2vv2-J8I/public/zelto-wordmark-white.png?fit=max\u0026auto=format\u0026n=pEvlQCYA2vv2-J8I\u0026q=85\u0026s=cbff614c65e51fcfa822c0c40f87616a"},"favicon":"https://mintcdn.com/zelto-a802dbf4/w0jP7BwOcC-EEQGH/public/zelto-logo.png?fit=max\u0026auto=format\u0026n=w0jP7BwOcC-EEQGH\u0026q=85\u0026s=23f56b73a1ea5e772fdafdeb509f50f8","search":{"prompt":"Search the Zelto docs"},"integrations":{"posthog":{"apiKey":"phc_yvnRoEc8B5GMjuU7TkpqctuvZYZLtCdEeFzHGaGuCkk8"}},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","default":true,"href":"docs"},{"language":"es","href":"es/docs"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"zelto-a802dbf4","hasAudioNarration":false,"actualSubdomain":"zelto-a802dbf4","customDomains":["docs.zelto.ai"],"gitSource":{"type":"github","owner":"zelto-ai","repo":"zelto-analytics","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae5074aad27228643e03432","collectionId":"64fd1c95-21b3-457f-a81e-aaf454e68ad1","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae5074aad27228643e03432"},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae599d93aae848cfc964fd0","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"en","tag":"API Reference","count":59},{"language":"es","tag":"Referencia de API","count":59},{"language":"en","tag":"Docs","count":46},{"language":"es","tag":"Documentación","count":46},{"language":"en","tag":"Integrations","count":18},{"language":"es","tag":"Integraciones","count":18},{"language":"en","tag":"Core concepts","count":12},{"language":"en","tag":"Experiments","count":12},{"language":"es","tag":"Conceptos principales","count":12},{"language":"es","tag":"Experimentos","count":12},{"language":"en","tag":"Findings","count":9},{"language":"es","tag":"Findings","count":9},{"language":"en","tag":"Voice providers","count":7},{"language":"es","tag":"Proveedores de voz","count":7},{"language":"en","tag":"Guides","count":6},{"language":"en","tag":"AI providers","count":6},{"language":"en","tag":"Buckets","count":6},{"language":"es","tag":"Guías","count":6},{"language":"es","tag":"Buckets","count":6},{"language":"es","tag":"Proveedores de IA","count":6}]},"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":".prompt-scroll pre{max-height:24rem;overflow-y:auto}.dark img[src*=\"/public/icons/\"]{filter:invert(1)}"}],"page":{"pagePath":"api-reference/ai-providers/add-an-ai-provider-key","slug":"/api-reference/ai-providers/add-an-ai-provider-key","pageMetadata":{"title":"Add an AI provider key","description":"Validates the key with a no-cost provider call, then stores it encrypted. Usage on the key is billed by the provider directly, does not count toward the plan's evaluation allowance, and carries Zelto's bring-your-own platform fee. Refused for organizations in PHI mode. Recorded in the audit log as `ai_key.created`.","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/ai-keys","href":"/api-reference/ai-providers/add-an-ai-provider-key","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: [\"Validates the key with a no-cost provider call, then stores it encrypted. Usage on the key is billed by the provider directly, does not count toward the plan’s evaluation allowance, and carries Zelto’s bring-your-own platform fee. Refused for organizations in PHI mode. Recorded in the audit log as \", _jsx(_components.code, {\n children: \"ai_key.created\"\n }), \".\"]\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 an AI provider key","description":"Validates the key with a no-cost provider call, then stores it encrypted. Usage on the key is billed by the provider directly, does not count toward the plan's evaluation allowance, and carries Zelto's bring-your-own platform fee. Refused for organizations in PHI mode. Recorded in the audit log as `ai_key.created`.","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/ai-keys","href":"/api-reference/ai-providers/add-an-ai-provider-key","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Add an AI provider key","description":"Validates the key with a no-cost provider call, then stores it encrypted. Usage on the key is billed by the provider directly, does not count toward the plan's evaluation allowance, and carries Zelto's bring-your-own platform fee. Refused for organizations in PHI mode. Recorded in the audit log as `ai_key.created`.","operationId":"createAiKey","tags":["AI providers"],"requestBody":"139d9bc5-b980-4096-8a8b-20b82a5ef7ff","responses":{"201":"1ad754d0-ed8a-4c08-b5bd-9f0d8c991978","400":"04714a3d-51c3-4a44-9479-d78bb5b6a20c","401":"5da3a169-a67b-4973-9660-71c2ba394b36","403":"dc9bfed3-5e48-41e0-a248-bedd908064bf","409":"fb2fec70-8d7e-4b31-950a-cb71bf51ef16","502":"8d1795d3-11e9-4c27-ba95-c096b45427e6"},"method":"post","type":"path","servers":["c6514408-9bda-4a9f-86fe-41014e85fa06"],"security":["d15c3f8b-9c25-4807-9221-14ca95d359f4"],"path":"/v1/ai-keys","baseUrlOptions":["https://api.zelto.ai"],"title":"Add an AI provider key","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["provider","apiKey"],"properties":{"provider":{"type":"string","enum":["openai","anthropic","openrouter","vercel_gateway","typesafe","deepgram"],"description":"`openai`, `anthropic`, `openrouter`, `vercel_gateway` and `typesafe` are LLM / evaluation keys a monitor can run on. `deepgram` is a speech-to-text key, stored for upcoming Benchmarks.","isRequired":true,"uniqueKey":"provider","typeLabel":"enum\u003cstring>"},"apiKey":{"type":"string","minLength":8,"maxLength":512,"writeOnly":true,"description":"The provider API key, without whitespace. Validated with a no-cost provider call before it is stored encrypted; never returned.","isRequired":true,"uniqueKey":"apiKey","typeLabel":"string"},"label":{"type":"string","minLength":1,"maxLength":100,"description":"Defaults to the provider name.","uniqueKey":"label","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"apiKey":"\u003cstring>","label":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"1ad754d0-ed8a-4c08-b5bd-9f0d8c991978":{"description":"Key validated and stored.","content":{"application/json":{"schema":{"type":"object","description":"An organization AI provider key. Never carries the secret: only its last four characters.","required":["id","provider","label","lastFour","createdAt","createdBy","rotatedAt","rotatedBy","lastTestedAt","lastTestStatus","lastTestError","monitorCount"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"provider":{"type":"string","enum":["openai","anthropic","openrouter","vercel_gateway","typesafe","deepgram"],"description":"`openai`, `anthropic`, `openrouter`, `vercel_gateway` and `typesafe` are LLM / evaluation keys a monitor can run on. `deepgram` is a speech-to-text key, stored for upcoming Benchmarks.","isRequired":true,"uniqueKey":"provider","typeLabel":"enum\u003cstring>"},"label":{"type":"string","maxLength":100,"description":"Tells several keys for the same provider apart. Unique per provider.","isRequired":true,"uniqueKey":"label","typeLabel":"string"},"lastFour":{"type":"string","description":"The last four characters of the stored key.","isRequired":true,"uniqueKey":"lastFour","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"oneOf":[{"type":"object","required":["id","name","email"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"createdBy.oneOf.0.id","typeLabel":"string"},"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"createdBy.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"createdBy.oneOf.0.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"createdBy.oneOf.0.name","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","format":"email","isRequired":true,"uniqueKey":"createdBy.oneOf.0.email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","isRequired":true,"uniqueKey":"createdBy.oneOf.0.email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"createdBy.oneOf.0.email","typeLabel":"string\u003cemail> | null"}},"description":"Who added the key.","isRequired":true,"uniqueKey":"createdBy.oneOf.0","typeLabel":"object"},{"type":"null","required":["id","name","email"],"properties":{"id":{"type":"string"},"name":{"oneOf":[{"type":"string"},{"type":"null"}]},"email":{"oneOf":[{"type":"string","format":"email"},{"type":"null","format":"email"}]}},"description":"Who added the key.","isRequired":true,"uniqueKey":"createdBy.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"createdBy","typeLabel":"object | null"},"rotatedAt":{"oneOf":[{"type":"string","format":"date-time","description":"When the secret was last replaced.","isRequired":true,"uniqueKey":"rotatedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the secret was last replaced.","isRequired":true,"uniqueKey":"rotatedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"rotatedAt","typeLabel":"string\u003cdate-time> | null"},"rotatedBy":{"oneOf":[{"type":"object","required":["id","name","email"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"rotatedBy.oneOf.0.id","typeLabel":"string"},"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"rotatedBy.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"rotatedBy.oneOf.0.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"rotatedBy.oneOf.0.name","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","format":"email","isRequired":true,"uniqueKey":"rotatedBy.oneOf.0.email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","isRequired":true,"uniqueKey":"rotatedBy.oneOf.0.email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"rotatedBy.oneOf.0.email","typeLabel":"string\u003cemail> | null"}},"description":"Who last replaced the secret.","isRequired":true,"uniqueKey":"rotatedBy.oneOf.0","typeLabel":"object"},{"type":"null","required":["id","name","email"],"properties":{"id":{"type":"string"},"name":{"oneOf":[{"type":"string"},{"type":"null"}]},"email":{"oneOf":[{"type":"string","format":"email"},{"type":"null","format":"email"}]}},"description":"Who last replaced the secret.","isRequired":true,"uniqueKey":"rotatedBy.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"rotatedBy","typeLabel":"object | null"},"lastTestedAt":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"lastTestedAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"lastTestedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"lastTestedAt","typeLabel":"string\u003cdate-time> | null"},"lastTestStatus":{"oneOf":[{"type":"string","enum":["ok","failed",null],"description":"Result of the last provider check (on save, rotate or test).","isRequired":true,"uniqueKey":"lastTestStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["ok","failed",null],"description":"Result of the last provider check (on save, rotate or test).","isRequired":true,"uniqueKey":"lastTestStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"lastTestStatus","typeLabel":"enum\u003cstring> | null"},"lastTestError":{"oneOf":[{"type":"string","description":"Why the last check failed, such as `invalid_key` or `provider_unreachable:\u003cdetail>`.","isRequired":true,"uniqueKey":"lastTestError.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why the last check failed, such as `invalid_key` or `provider_unreachable:\u003cdetail>`.","isRequired":true,"uniqueKey":"lastTestError.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"lastTestError","typeLabel":"string | null"},"monitorCount":{"type":"integer","minimum":0,"description":"Monitors that currently run on this key.","isRequired":true,"uniqueKey":"monitorCount","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","provider":"openai","label":"\u003cstring>","lastFour":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","createdBy":{"id":"\u003cstring>","name":"\u003cstring>","email":"jsmith@example.com"},"rotatedAt":"2023-11-07T05:31:56Z","rotatedBy":{"id":"\u003cstring>","name":"\u003cstring>","email":"jsmith@example.com"},"lastTestedAt":"2023-11-07T05:31:56Z","lastTestStatus":"ok","lastTestError":"\u003cstring>","monitorCount":1}}},"exampleType":"generated"}},"exampleType":"generated"},"04714a3d-51c3-4a44-9479-d78bb5b6a20c":{"description":"`invalid_input` (see `details`) or `invalid_key` (the provider rejected the key). A malformed JSON body is `invalid_json`.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","enum":["invalid_input","phi_mode_blocked","invalid_key","provider_unreachable","duplicate_label","not_found","in_use"],"description":"Stable code: `invalid_input` (400), `invalid_key` (400, the provider rejected the key), `phi_mode_blocked` (403), `not_found` (404), `duplicate_label` (409), `in_use` (409), `provider_unreachable` (502).","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"description":"With `invalid_input`: the validation issues.","uniqueKey":"details","typeLabel":"object[]"},"monitors":{"type":"array","description":"With `in_use`: the monitors still running on the key.","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].name","typeLabel":"string"}},"uniqueKey":"monitors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"monitors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_input","message":"\u003cstring>","details":[{}],"monitors":[{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"5da3a169-a67b-4973-9660-71c2ba394b36":{"description":"Missing or invalid API key. The body names the cause in `code` (for example `ingest_key_not_allowed` when a write-only ingest key is used here) with a `message` and `hint`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Short error name: `Unauthorized`, `Validation failed`, `Not found`, or a stable snake_case code you can match on, such as `unknown_query_parameter`, `invalid_parameter`, `payload_too_large` or `not_found`.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"A plain-English sentence saying what is wrong and how to fix it.","uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Stable, machine-readable cause; match on this rather than on `error` or `message`. On a 401: `missing_credentials`, `malformed_credentials`, `ingest_key_not_allowed` (a write-only observability ingest key was used on an endpoint that needs an API key), `key_expired` or `invalid_credentials`. Elsewhere, for example: `not_found`, `invalid_parameter`, `unknown_query_parameter`, `missing_parameter`, `validation_failed`, `invalid_json`, `payload_too_large`, `conversation_not_found`, `plan_required`.","uniqueKey":"code","typeLabel":"string"},"hint":{"type":"string","description":"The next step to try: where to find the right id, which parameters the endpoint takes, how to upgrade the plan, how to authenticate.","uniqueKey":"hint","typeLabel":"string"},"parameter":{"type":"string","description":"With `invalid_parameter`: the query parameter that was rejected.","uniqueKey":"parameter","typeLabel":"string"},"unknown":{"type":"array","items":{"type":"string","uniqueKey":"unknown.items.[INDEX]","typeLabel":"string"},"description":"With `unknown_query_parameter`: the parameters that were sent but are not accepted here.","uniqueKey":"unknown","typeLabel":"string[]"},"valid":{"type":"array","items":{"type":"string","uniqueKey":"valid.items.[INDEX]","typeLabel":"string"},"description":"With `unknown_query_parameter`: the parameters this endpoint accepts.","uniqueKey":"valid","typeLabel":"string[]"},"details":{"type":"object","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","code":"\u003cstring>","hint":"\u003cstring>","parameter":"\u003cstring>","unknown":["\u003cstring>"],"valid":["\u003cstring>"],"details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"dc9bfed3-5e48-41e0-a248-bedd908064bf":{"description":"Not an owner or admin of the organization (`{ \"error\": \"Owner or admin access required\" }`), or `phi_mode_blocked`: the organization is in PHI mode.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","enum":["invalid_input","phi_mode_blocked","invalid_key","provider_unreachable","duplicate_label","not_found","in_use"],"description":"Stable code: `invalid_input` (400), `invalid_key` (400, the provider rejected the key), `phi_mode_blocked` (403), `not_found` (404), `duplicate_label` (409), `in_use` (409), `provider_unreachable` (502).","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"description":"With `invalid_input`: the validation issues.","uniqueKey":"details","typeLabel":"object[]"},"monitors":{"type":"array","description":"With `in_use`: the monitors still running on the key.","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].name","typeLabel":"string"}},"uniqueKey":"monitors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"monitors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_input","message":"\u003cstring>","details":[{}],"monitors":[{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"fb2fec70-8d7e-4b31-950a-cb71bf51ef16":{"description":"`duplicate_label`: a key with this label already exists for the provider.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","enum":["invalid_input","phi_mode_blocked","invalid_key","provider_unreachable","duplicate_label","not_found","in_use"],"description":"Stable code: `invalid_input` (400), `invalid_key` (400, the provider rejected the key), `phi_mode_blocked` (403), `not_found` (404), `duplicate_label` (409), `in_use` (409), `provider_unreachable` (502).","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"description":"With `invalid_input`: the validation issues.","uniqueKey":"details","typeLabel":"object[]"},"monitors":{"type":"array","description":"With `in_use`: the monitors still running on the key.","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].name","typeLabel":"string"}},"uniqueKey":"monitors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"monitors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_input","message":"\u003cstring>","details":[{}],"monitors":[{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"8d1795d3-11e9-4c27-ba95-c096b45427e6":{"description":"`provider_unreachable`: the provider could not be reached to check the key. Nothing was stored; retry.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","enum":["invalid_input","phi_mode_blocked","invalid_key","provider_unreachable","duplicate_label","not_found","in_use"],"description":"Stable code: `invalid_input` (400), `invalid_key` (400, the provider rejected the key), `phi_mode_blocked` (403), `not_found` (404), `duplicate_label` (409), `in_use` (409), `provider_unreachable` (502).","isRequired":true,"uniqueKey":"error","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"description":"With `invalid_input`: the validation issues.","uniqueKey":"details","typeLabel":"object[]"},"monitors":{"type":"array","description":"With `in_use`: the monitors still running on the key.","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitors.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitors.items.[INDEX].name","typeLabel":"string"}},"uniqueKey":"monitors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"monitors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"invalid_input","message":"\u003cstring>","details":[{}],"monitors":[{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"d15c3f8b-9c25-4807-9221-14ca95d359f4":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Send `Authorization: Bearer YOUR_API_KEY`. The key resolves to a single organization.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"c6514408-9bda-4a9f-86fe-41014e85fa06":{"url":"https://api.zelto.ai","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Send `Authorization: Bearer YOUR_API_KEY`. The key resolves to a single organization.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Send `Authorization: Bearer YOUR_API_KEY`. The key resolves to a single organization.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"docs-openapi.json"},"subdomain":"zelto-a802dbf4","siteName":"Zelto","title":"Add an AI provider key - Zelto","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/ai-providers/add-an-ai-provider-key","matchLevel":0},"es":{"href":"/es/docs","matchLevel":4}}},"lastModified":"2026-10-31T07:33:57.391Z","originalFileLocation":"api-reference/ai-providers/add-an-ai-provider-key.mdx","locale":"en"},"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=\"Validates the key with a no-cost provider call, then stores it encrypted. Usage on the key is billed by the provider directly, does not count toward the plan\u0026#x27;s evaluation allowance, and carries Zelto\u0026#x27;s bring-your-own platform fee. Refused for organizations in PHI mode. Recorded in the audit log as ai_key.created.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Zelto\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zelto-a802dbf4/pzPG6qy7F5YbxXe9/_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/zelto-a802dbf4/pzPG6qy7F5YbxXe9/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zelto-a802dbf4/pzPG6qy7F5YbxXe9/_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/zelto-a802dbf4/pzPG6qy7F5YbxXe9/_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/zelto-a802dbf4/pzPG6qy7F5YbxXe9/_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/zelto-a802dbf4/pzPG6qy7F5YbxXe9/_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/zelto-a802dbf4/pzPG6qy7F5YbxXe9/_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/zelto-a802dbf4/pzPG6qy7F5YbxXe9/_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/zelto-a802dbf4/pzPG6qy7F5YbxXe9/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add an AI provider key - Zelto\">\u003cmeta data-mint-head property=\"og:description\" content=\"Validates the key with a no-cost provider call, then stores it encrypted. Usage on the key is billed by the provider directly, does not count toward the plan\u0026#x27;s evaluation allowance, and carries Zelto\u0026#x27;s bring-your-own platform fee. Refused for organizations in PHI mode. Recorded in the audit log as ai_key.created.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Zelto\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.zelto.ai/api-reference/ai-providers/add-an-ai-provider-key\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://zelto-a802dbf4.mintlify.app/_mintlify/api/og/v2?division=AI+providers\u0026amp;title=Add+an+AI+provider+key\u0026amp;description=Validates+the+key+with+a+no-cost+provider+call%2C+then+stores+it+encrypted.+Usage+on+the+key+is+billed+by+the+provider+directly%2C+does+not+count+toward+the+plan%27s+\u0026amp;theme=1e8e5f9c12736f2a94cffee7\u0026amp;signature=4245d096c8c1820d81bb34ba2ca1177cde0c1cfa269f602af149be70b315ecb6\">\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 an AI provider key - Zelto\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Validates the key with a no-cost provider call, then stores it encrypted. Usage on the key is billed by the provider directly, does not count toward the plan\u0026#x27;s evaluation allowance, and carries Zelto\u0026#x27;s bring-your-own platform fee. Refused for organizations in PHI mode. Recorded in the audit log as ai_key.created.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://zelto-a802dbf4.mintlify.app/_mintlify/api/og/v2?division=AI+providers\u0026amp;title=Add+an+AI+provider+key\u0026amp;description=Validates+the+key+with+a+no-cost+provider+call%2C+then+stores+it+encrypted.+Usage+on+the+key+is+billed+by+the+provider+directly%2C+does+not+count+toward+the+plan%27s+\u0026amp;theme=1e8e5f9c12736f2a94cffee7\u0026amp;signature=4245d096c8c1820d81bb34ba2ca1177cde0c1cfa269f602af149be70b315ecb6\">\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/zelto-a802dbf4/pzPG6qy7F5YbxXe9/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Zelto\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3B5BDB\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.zelto.ai/api-reference/ai-providers/add-an-ai-provider-key\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/ai-providers/add-an-ai-provider-key.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.zelto.ai/#organization\",\"name\":\"Zelto\",\"url\":\"https://docs.zelto.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/zelto-a802dbf4/w0jP7BwOcC-EEQGH/public/zelto-wordmark.png?fit=max\u0026auto=format\u0026n=w0jP7BwOcC-EEQGH\u0026q=85\u0026s=95a528e6e6c268521880fa274385d2cb\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.zelto.ai#website\",\"name\":\"Zelto\",\"url\":\"https://docs.zelto.ai\",\"publisher\":{\"@id\":\"https://docs.zelto.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.zelto.ai/api-reference/ai-providers/add-an-ai-provider-key#webpage\",\"url\":\"https://docs.zelto.ai/api-reference/ai-providers/add-an-ai-provider-key\",\"name\":\"Add an AI provider key\",\"description\":\"Validates the key with a no-cost provider call, then stores it encrypted. Usage on the key is billed by the provider directly, does not count toward the plan's evaluation allowance, and carries Zelto's bring-your-own platform fee. Refused for organizations in PHI mode. Recorded in the audit log as ai_key.created.\",\"dateModified\":\"2026-10-31T07:33:57.391Z\",\"isPartOf\":{\"@id\":\"https://docs.zelto.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.zelto.ai/api-reference/ai-providers/add-an-ai-provider-key#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.zelto.ai/api-reference/ai-providers/add-an-ai-provider-key#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"AI providers\",\"item\":\"https://docs.zelto.ai/api-reference/ai-providers/list-ai-provider-keys\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add an AI provider key\",\"item\":\"https://docs.zelto.ai/api-reference/ai-providers/add-an-ai-provider-key\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.zelto.ai/api-reference/ai-providers/add-an-ai-provider-key#apireference\",\"headline\":\"Add an AI provider key\",\"name\":\"Add an AI provider key\",\"description\":\"Validates the key with a no-cost provider call, then stores it encrypted. Usage on the key is billed by the provider directly, does not count toward the plan's evaluation allowance, and carries Zelto's bring-your-own platform fee. Refused for organizations in PHI mode. Recorded in the audit log as ai_key.created.\",\"url\":\"https://docs.zelto.ai/api-reference/ai-providers/add-an-ai-provider-key\",\"mainEntityOfPage\":{\"@id\":\"https://docs.zelto.ai/api-reference/ai-providers/add-an-ai-provider-key#webpage\"},\"dateModified\":\"2026-10-31T07:33:57.391Z\",\"publisher\":{\"@id\":\"https://docs.zelto.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.zelto.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Zelto\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Zelto","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Docs","icon":"book-open","pages":[{"title":"Docs","href":"/docs"}]},{"tab":"API Reference","icon":"terminal","groups":[{"group":"Monitors","pages":[{"title":"Create a filtered monitor export","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/monitor-exports","href":"/api-reference/monitors/create-a-filtered-monitor-export"},{"title":"Get monitor export status","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/monitor-exports/{id}","href":"/api-reference/monitors/get-monitor-export-status"},{"title":"Download a completed monitor export","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/monitor-exports/{id}/download","href":"/api-reference/monitors/download-a-completed-monitor-export"},{"title":"Set the model a monitor runs on","deprecated":null,"version":null,"openapi":"/docs-openapi.json put /v1/monitors/{id}/model","href":"/api-reference/monitors/set-the-model-a-monitor-runs-on"}]},{"group":"Reports","pages":[{"title":"Get a saved monitor report","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/reports/monitors/{reportId}","href":"/api-reference/reports/get-a-saved-monitor-report"},{"title":"Live cost report","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/reports/costs","href":"/api-reference/reports/live-cost-report"},{"title":"Live transfer analysis","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/reports/transfers","href":"/api-reference/reports/live-transfer-analysis"}]},{"group":"Agents","pages":[{"title":"List agents","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/agents","href":"/api-reference/agents/list-agents"},{"title":"Get an agent","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/agents/{id}","href":"/api-reference/agents/get-an-agent"},{"title":"Register an agent version","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/agents/{id}/versions","href":"/api-reference/agents/register-an-agent-version"}]},{"group":"Conversations","pages":[{"title":"List conversations","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/conversations","href":"/api-reference/conversations/list-conversations"},{"title":"Get a conversation","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/conversations/{id}","href":"/api-reference/conversations/get-a-conversation"},{"title":"Get a conversation transcript","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/conversations/{id}/transcript","href":"/api-reference/conversations/get-a-conversation-transcript"},{"title":"Upload a conversation","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /webhooks/calls","href":"/api-reference/conversations/upload-a-conversation"},{"title":"Create a direct recording upload","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/recording-uploads","href":"/api-reference/conversations/create-a-direct-recording-upload"}]},{"group":"Customer Metrics","pages":[{"title":"List a conversation's customer metrics","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/conversations/{id}/customer-metrics","href":"/api-reference/customer-metrics/list-a-conversations-customer-metrics"},{"title":"Submit a customer metric","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/conversations/{id}/customer-metrics","href":"/api-reference/customer-metrics/submit-a-customer-metric"}]},{"group":"Reviews","pages":[{"title":"List reviews","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/reviews","href":"/api-reference/reviews/list-reviews"},{"title":"Get a review","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/reviews/{id}","href":"/api-reference/reviews/get-a-review"}]},{"group":"Buckets","pages":[{"title":"List buckets","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/buckets","href":"/api-reference/buckets/list-buckets"},{"title":"Create a bucket","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/buckets","href":"/api-reference/buckets/create-a-bucket"},{"title":"Get a bucket","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/buckets/{id}","href":"/api-reference/buckets/get-a-bucket"},{"title":"List conversations in a bucket","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/buckets/{id}/conversations","href":"/api-reference/buckets/list-conversations-in-a-bucket"},{"title":"Add a conversation to a bucket","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/buckets/{id}/conversations","href":"/api-reference/buckets/add-a-conversation-to-a-bucket"},{"title":"Remove a conversation from a bucket","deprecated":null,"version":null,"openapi":"/docs-openapi.json delete /v1/buckets/{id}/conversations/{conversationId}","href":"/api-reference/buckets/remove-a-conversation-from-a-bucket"}]},{"group":"Companies","pages":[{"title":"List companies","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/companies","href":"/api-reference/companies/list-companies"},{"title":"Get a company","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/companies/{id}","href":"/api-reference/companies/get-a-company"},{"title":"Update a company","deprecated":null,"version":null,"openapi":"/docs-openapi.json patch /v1/companies/{id}","href":"/api-reference/companies/update-a-company"},{"title":"Upload a company logo","deprecated":null,"version":null,"openapi":"/docs-openapi.json put /v1/companies/{id}/logo","href":"/api-reference/companies/upload-a-company-logo"},{"title":"Remove a company logo","deprecated":null,"version":null,"openapi":"/docs-openapi.json delete /v1/companies/{id}/logo","href":"/api-reference/companies/remove-a-company-logo"}]},{"group":"Findings","pages":[{"title":"List findings","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/findings","href":"/api-reference/findings/list-findings"},{"title":"Create a finding","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/findings","href":"/api-reference/findings/create-a-finding"},{"title":"Get a finding","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/findings/{id}","href":"/api-reference/findings/get-a-finding"},{"title":"Update a finding","deprecated":null,"version":null,"openapi":"/docs-openapi.json patch /v1/findings/{id}","href":"/api-reference/findings/update-a-finding"},{"title":"List conversations attached to a finding","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/findings/{id}/conversations","href":"/api-reference/findings/list-conversations-attached-to-a-finding"},{"title":"Attach a conversation to a finding","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/findings/{id}/conversations","href":"/api-reference/findings/attach-a-conversation-to-a-finding"},{"title":"Detach a conversation from a finding","deprecated":null,"version":null,"openapi":"/docs-openapi.json delete /v1/findings/{id}/conversations/{conversationId}","href":"/api-reference/findings/detach-a-conversation-from-a-finding"},{"title":"List comments on a finding-conversation link","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/findings/{id}/conversations/{conversationId}/comments","href":"/api-reference/findings/list-comments-on-a-finding-conversation-link"},{"title":"Add a comment or annotation","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/findings/{id}/conversations/{conversationId}/comments","href":"/api-reference/findings/add-a-comment-or-annotation"}]},{"group":"Experiments","pages":[{"title":"List reusable experiment monitor groups","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/experiments/monitor-groups","href":"/api-reference/experiments/list-reusable-experiment-monitor-groups"},{"title":"Review an experiment before launch","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/experiments/preflight","href":"/api-reference/experiments/review-an-experiment-before-launch"},{"title":"List experiments","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/experiments","href":"/api-reference/experiments/list-experiments"},{"title":"Launch an experiment","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/experiments","href":"/api-reference/experiments/launch-an-experiment"},{"title":"Get an experiment and its independent outcome results","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/experiments/{id}","href":"/api-reference/experiments/get-an-experiment-and-its-independent-outcome-results"},{"title":"Delete an experiment","deprecated":null,"version":null,"openapi":"/docs-openapi.json delete /v1/experiments/{id}","href":"/api-reference/experiments/delete-an-experiment"},{"title":"Update mutable experiment settings","deprecated":null,"version":null,"openapi":"/docs-openapi.json patch /v1/experiments/{id}","href":"/api-reference/experiments/update-mutable-experiment-settings"},{"title":"Permanently conclude an experiment","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/experiments/{id}/conclude","href":"/api-reference/experiments/permanently-conclude-an-experiment"},{"title":"List durable evaluation runs","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/experiments/{id}/evaluations","href":"/api-reference/experiments/list-durable-evaluation-runs"},{"title":"Retry missing or failed observations","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/experiments/{id}/evaluations","href":"/api-reference/experiments/retry-missing-or-failed-observations"},{"title":"Get evaluation progress","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/experiments/{id}/evaluations/{runId}","href":"/api-reference/experiments/get-evaluation-progress"},{"title":"List experiment observations by conversation","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/experiments/{id}/conversations","href":"/api-reference/experiments/list-experiment-observations-by-conversation"}]},{"group":"Organizations","pages":[{"title":"Provision an organization (service key)","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/organizations","href":"/api-reference/organizations/provision-an-organization-service-key"}]},{"group":"Action checks","pages":[{"title":"Check a proposed action before committing it","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/action-checks","href":"/api-reference/action-checks/check-a-proposed-action-before-committing-it"}]},{"group":"AI providers","pages":[{"title":"List AI provider keys","description":"The organization's own AI provider keys, from Settings → AI providers. Never returns a secret. Owner or admin only. Takes no query parameters.","deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/ai-keys","href":"/api-reference/ai-providers/list-ai-provider-keys"},{"title":"Add an AI provider key","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/ai-keys","href":"/api-reference/ai-providers/add-an-ai-provider-key"},{"title":"Get an AI provider key","description":null,"deprecated":null,"version":null,"openapi":"/docs-openapi.json get /v1/ai-keys/{id}","href":"/api-reference/ai-providers/get-an-ai-provider-key"},{"title":"Delete an AI provider key","deprecated":null,"version":null,"openapi":"/docs-openapi.json delete /v1/ai-keys/{id}","href":"/api-reference/ai-providers/delete-an-ai-provider-key"},{"title":"Rename or rotate an AI provider key","deprecated":null,"version":null,"openapi":"/docs-openapi.json patch /v1/ai-keys/{id}","href":"/api-reference/ai-providers/rename-or-rotate-an-ai-provider-key"},{"title":"Test an AI provider key","deprecated":null,"version":null,"openapi":"/docs-openapi.json post /v1/ai-keys/{id}/test","href":"/api-reference/ai-providers/test-an-ai-provider-key"}]}]}]},{"language":"es","pages":[{"title":"es","href":"/es/docs"}]}]},"basePath":"","title":"Add an AI provider key - Zelto","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}