In Braintrust, navigate to Settings → Models and enter the scoped OpenAI API key.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Braintrust","description":"Braintrust is the active observability platform for instrumenting, understanding, and improving agents. By actively applying intelligence to agent traces and automatically surfacing the most critical patterns, Braintrust gives teams the visibility to understand how agents behave in production and the tools to improve them.","colors":{"primary":"#3a4af8","light":"#3a4af8","dark":"#7e95fc"},"logo":{"light":"https://mintcdn.com/braintrust/u7i5gTV-ad3TRDYt/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=u7i5gTV-ad3TRDYt\u0026q=85\u0026s=23878ca308aee393dcc8c89ed8705189","dark":"https://mintcdn.com/braintrust/u7i5gTV-ad3TRDYt/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=u7i5gTV-ad3TRDYt\u0026q=85\u0026s=affa9d0eafd44b6cd7fb22c80afee713"},"favicon":"https://mintcdn.com/braintrust/ybJBbXJUYqK_eUdX/images/favicon.ico?fit=max\u0026auto=format\u0026n=ybJBbXJUYqK_eUdX\u0026q=85\u0026s=c9925befa0cf9b6279fab604eff9aad0","api":{},"navbar":{"links":[{"href":"https://braintrust.dev/contact","label":"Request demo"}],"primary":{"type":"button","label":"Start building","href":"https://braintrust.dev/app"}},"footer":{"socials":{"github":"https://github.com/braintrustdata","x":"https://x.com/braintrust","discord":"https://discord.gg/6G8s47F44X","youtube":"https://www.youtube.com/@BraintrustData"},"links":[{"header":"Resources","items":[{"label":"Pricing","href":"https://www.braintrust.dev/pricing"},{"label":"Blog","href":"https://www.braintrust.dev/blog"},{"label":"Careers","href":"https://www.braintrust.dev/careers"},{"label":"Status","href":"https://status.braintrust.dev/"}]}]},"seo":{"metatags":{"og:type":"website","og:site_name":"Braintrust documentation, API reference, and changelog","canonical":"https://docs.braintrust.dev","og:image":"https://www.braintrust.dev/og?template=docs\u0026title=Get+started"},"indexing":"all"},"fonts":{"heading":{"family":"BraintrustDisplayV2-Regular","source":"https://mintlify-assets.b-cdn.net/fonts/bt-sans-regular.woff2","format":"woff2"},"body":{"family":"Inter"}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":{"light":"github-light","dark":"github-dark-dimmed"}},"latex":true},"integrations":{"segment":{"key":"1BTDVX4cF2K1jWOI5Qh91XXKwgJubQ2R"}},"contextual":{"options":["copy","view","assistant","chatgpt","claude","cursor","vscode","mcp","add-mcp","perplexity","grok","aistudio","devin","devin-mcp","windsurf","download-spec","download-pdf"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"braintrust","hasAudioNarration":false,"actualSubdomain":"braintrust","customDomains":["docs.braintrust.dev"],"gitSource":{"type":"github","owner":"braintrustdata","repo":"braintrust","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4ff3d822866cf7d003d86","collectionId":"6c9c84cb-c17d-4061-899a-6324a2532856","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4ff3d822866cf7d003d86"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4ff3d822866cf7d003d86","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Reference","count":241},{"language":"default","tag":"API","count":173},{"language":"default","tag":"Resources","count":171},{"language":"default","tag":"SDKs","count":127},{"language":"default","tag":"Guides","count":125},{"language":"default","tag":"Integrations","count":97},{"language":"default","tag":"Cookbook","count":44},{"language":"default","tag":"Recipes","count":43},{"language":"default","tag":"Admin","count":38},{"language":"default","tag":"CLI","count":30}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":false,"deflection":{"enabled":true,"email":"support@braintrust.dev","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"use-workflow","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}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#content-area h1,#content-area h2,#content-area h3,#content-area h4{letter-spacing:-.01em!important;font-weight:400!important}#content-area h1{font-size:2.3rem!important;line-height:1!important}#content-area h2{font-size:1.6rem!important}#content-area h3{font-size:1.4rem!important}h5{font-family:var(--font-family-body-custom, var(--font-inter, sans-serif));font-weight:600!important}.nav-logo{height:22px}img.rounded,picture img{border:1px solid rgb(var(--gray-100))!important}[data-rmiz] img{margin-top:2em;margin-bottom:2em}.dark img.rounded,.dark picture img{border:1px solid rgb(var(--gray-900))!important}#table-of-contents{margin-top:-56px;overflow-x:hidden}#navbar button[aria-label=\"More actions\"],#navigation-items div.sticky.-top-\\[24px\\],#table-of-contents nav>h2{display:none}#table-of-contents-content{margin:0}#content-area .card h2{font-size:1.2rem!important}li[id^=\"/api-reference/\"]{font-size:.8rem;word-break:break-word}li[id^=\"/api-reference/\"] .method-nav-pill{width:54px;flex:none}li[id^=\"/api-reference/\"] .method-nav-pill span{font-size:.6rem;font-weight:500;letter-spacing:0}#content-area h1,.pagination-title{word-break:break-word}div[data-component-part=card-content]:empty{display:none}#navigation-items{padding-top:40px}#sidebar-group li a,#sidebar-group li button,.sidebar-group li a{border-radius:6px;padding-top:4px;padding-bottom:4px}#sidebar-content h5{font-weight:500!important}#content-container{gap:0}#content-container .lg\\:pl-12{padding-left:0;gap:36px}.dark #content-container{background-color:#000}#content-area{max-width:860px}@media (min-width:1024px){#content-container{padding-left:36px;padding-right:36px}}#footer a[href^=\"https://mintlify.com\"],#footer a[href^=\"https://www.mintlify.com\"]{display:none!important}header#header .sm\\:items-center{align-items:flex-start}a[aria-label^=\"Navigate to\"].-ml-10{margin-left:-28px}a[aria-label^=\"Navigate to\"].-ml-10 div:not(:hover){box-shadow:none}.font-mono{font-family:\"SF Mono\",\"Monaco\",\"Inconsolata\",\"Fira Mono\",\"Droid Sans Mono\",\"Source Code Pro\",monospace!important}:root{--primary:43 30 235;--font-jetbrains-mono:\"SF Mono\", \"Monaco\", \"Inconsolata\", \"Fira Mono\", \"Droid Sans Mono\",\n \"Source Code Pro\", monospace}.dark{--primary-light:87 112 255}:root{--code-line-highlight-background:rgb(var(--primary-light) / 0.06);--code-line-highlight-border:rgb(var(--primary-light) / 0.12)}.dark{--code-line-highlight-background:rgb(var(--primary-light) / 0.08);--code-line-highlight-border:rgb(var(--primary-light) / 0.35)}[data-component-part=code-block-root]:not(.has-line-numbers) .line-highlight,[data-component-part=code-block-root]:not(.has-line-numbers) .line-highlight::after,[data-component-part=code-block-root]:not(.has-line-numbers) .line-highlight::before{background:var(--code-line-highlight-background)!important}[data-component-part=code-block-root]:not(.has-line-numbers) .line-highlight::before{border-left-color:var(--code-line-highlight-border)!important}.has-line-numbers .line-highlight::after{background:var(--code-line-highlight-background)!important;border-left-color:var(--code-line-highlight-border)!important}.navbar-link a{border-radius:6px}#topbar-cta-button a span.absolute{background-color:rgb(var(--primary));border-radius:6px}.dark #topbar-cta-button a span.absolute{background-color:rgb(var(--primary-light))}div[data-page-title=\"Page Not Found\"]>div{width:100vw;max-width:none}.dark\\:bg-background-dark:is(.dark *){background-color:#000}html.dark #navbar div.dark\\:bg-background-dark{background-color:rgb(var(--background-dark)/1)}#footer .nav-logo{opacity:.5;width:100px}#footer .max-w-\\[984px\\]{max-width:72rem;padding-left:1.25rem;padding-right:1.25rem}@media (min-width:1024px){#footer .max-w-\\[984px\\]{padding-left:36px;padding-right:36px}}.integrations-search-input{width:100%;height:2.25rem;padding-left:2.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.5rem;border:0;border-radius:9999px;outline:0;background-color:rgba(3,7,18,.03);color:#6b7280;box-shadow:none;transition:background-color .2s}.integrations-search-input:focus,.integrations-search-input:hover{background-color:rgba(3,7,18,.1)}.integrations-search-input:focus{color:#374151}.integrations-search-input::placeholder{color:#4b5563}.dark .integrations-search-input{background-color:rgba(255,255,255,.06);color:rgba(255,255,255,.5)}.dark .integrations-search-input:focus,.dark .integrations-search-input:hover{background-color:rgba(255,255,255,.1)}.dark .integrations-search-input:focus{color:rgba(255,255,255,.9)}.dark .integrations-search-input::placeholder{color:rgba(255,255,255,.5)}.integrations-search-icon,.integrations-search-kbd{color:#6b7280}.dark .integrations-search-icon,.dark .integrations-search-kbd{color:rgba(255,255,255,.5)}.gateway-models-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.gateway-models-provider-wrap{display:flex;align-items:center;gap:.5rem}.models-provider-label{font-size:.875rem;font-weight:500;color:#374151;white-space:nowrap}.dark .models-provider-label{color:rgba(255,255,255,.85)}.models-provider-select{height:2.25rem;min-width:10rem;padding:0 2rem 0 .75rem;font-size:.875rem;line-height:1.5;border:1px solid rgba(3,7,18,.08);border-radius:.5rem;outline:0;background-color:#fff;color:#111827;cursor:pointer;appearance:none;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right .75rem center;transition:border-color .15s,box-shadow .15s}.models-provider-select:hover{border-color:rgba(3,7,18,.18)}.models-provider-select:focus{border-color:rgb(43 30 235);box-shadow:0 0 0 2px rgba(43,30,235,.2)}.dark .models-provider-select{background-color:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.9);background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.6)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\")}.dark .models-provider-select:hover{border-color:rgba(255,255,255,.22)}.dark .models-provider-select:focus{border-color:rgb(87 112 255);box-shadow:0 0 0 2px rgba(87,112,255,.25)}[data-component-part=accordion-icon],[data-component-part=card-icon]{flex:none}#content-area svg[data-icon]{width:1rem;height:1rem;display:inline;vertical-align:baseline;transform:translateY(-.125rem)}#content-area :not(pre)>code{padding-left:.2rem;padding-right:.2rem;border-radius:3px;background-color:rgb(0 0 0/.05)}#content-area :not(pre)>code:is(.dark *){background-color:rgb(255 255 255/.1)}body.kb-page #sidebar-content{display:none!important}body.kb-page aside:has(#sidebar-content),body.kb-page aside[id*=sidebar]{display:none!important}body.kb-page #content-container{margin-left:0!important;padding-left:24px!important}body.kb-page main{margin-left:0!important}body.kb-page #table-of-contents{display:block!important}div:has(>.tabs-border[data-component-part=tabs-list]){border:1px solid rgb(var(--gray-200));border-radius:16px;padding:0 .75rem .75rem}.dark div:has(>.tabs-border[data-component-part=tabs-list]){border-color:rgb(var(--gray-800))}.tabs-border[data-component-part=tabs-list]{margin-bottom:1rem!important}td [data-base-ui-tooltip-trigger]{text-align:inherit}"}],"page":{"pagePath":"kb/minimum-openai-api-key-permissions-for-braintrust","slug":"/kb/minimum-openai-api-key-permissions-for-braintrust","pageMetadata":{"title":"Minimum OpenAI API key permissions for Braintrust","boost":0.5,"category":"config","pylon_issue_id":"17021","pylon_issue_uuid":"c0c41eeb-0c2f-4578-89ab-2ef9d271670d","assignee":"Barrett Pyke","og:image":"https://www.braintrust.dev/og?template=docs\u0026title=Minimum%20OpenAI%20API%20key%20permissions%20for%20Braintrust","description":null,"href":"/kb/minimum-openai-api-key-permissions-for-braintrust"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const plans_0=`Any`;const deployments_0=`Any`;const data_plane_version_0=undefined;const use_case_0=`Use case - Scoping OpenAI API key permissions to the minimum required by Braintrust`;function _createMdxContent(props){const _components={li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(Note,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Applies to:`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Plan - `,plans_0]}),`\n`,_jsxs(_components.li,{children:[`Deployment - `,deployments_0]}),`\n`,_jsxs(_components.li,{children:[`\n`,use_case_0,`\n`]}),`\n`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`summary`,children:`Summary`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Goal:`}),` Configure minimal OpenAI API key permissions required by Braintrust.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Features:`}),` AI Providers`]}),`\n`,_jsx(Heading,{level:`2`,id:`required-permissions`,children:`Required permissions`}),`\n`,_jsx(_components.p,{children:`Braintrust requires exactly two OpenAI API permissions:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Permission`}),_jsx(_components.th,{children:`Access level`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`List Models`}),_jsx(_components.td,{children:`Read`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Model Capabilities`}),_jsx(_components.td,{children:`Request`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`configuration-steps`,children:`Configuration steps`}),`\n`,_jsx(Heading,{level:`3`,id:`step-1-create-a-scoped-openai-api-key`,children:`Step 1: Create a scoped OpenAI API key`}),`\n`,_jsx(_components.p,{children:`In your OpenAI account, create a new API key with restricted permissions. Enable only the two permissions listed above.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-2-scope-by-model-optional`,children:`Step 2: Scope by model (optional)`}),`\n`,_jsx(_components.p,{children:`If your Braintrust usage targets specific models, restrict the key further by limiting which models the permissions apply to.`}),`\n`,_jsx(Heading,{level:`3`,id:`step-3-add-the-key-to-braintrust`,children:`Step 3: Add the key to Braintrust`}),`\n`,_jsxs(_components.p,{children:[`In Braintrust, navigate to `,_jsx(_components.strong,{children:`Settings → Models`}),` and enter the scoped OpenAI API key.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{plans_0,deployments_0,data_plane_version_0,use_case_0,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark-dimmed"}},"config":{},"pageMetadata":{"title":"Minimum OpenAI API key permissions for Braintrust","boost":0.5,"category":"config","pylon_issue_id":"17021","pylon_issue_uuid":"c0c41eeb-0c2f-4578-89ab-2ef9d271670d","assignee":"Barrett Pyke","og:image":"https://www.braintrust.dev/og?template=docs\u0026title=Minimum%20OpenAI%20API%20key%20permissions%20for%20Braintrust","description":null,"href":"/kb/minimum-openai-api-key-permissions-for-braintrust"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[134,137,"data_plane_version_0=undefined;const pla"],[180,217,""],[887,909,"`Any`]}),`\n`,_jsxs(_"],[950,1034,"`Any`]}),`\n`,_jsx(_components.li,{children:`Use case - Scoping OpenAI API key permissions to the minimum required by Braintrust`}),`\n`]})]})"],[3155,3195,"data_plane_version_0,plans_0,deployments"]]},"mdxExtracts":{"tableOfContents":[{"title":"Summary","slug":"summary","depth":2,"children":[]},{"title":"Required permissions","slug":"required-permissions","depth":2,"children":[]},{"title":"Configuration steps","slug":"configuration-steps","depth":2,"children":[{"title":"Step 1: Create a scoped OpenAI API key","slug":"step-1-create-a-scoped-openai-api-key","depth":3,"children":[]},{"title":"Step 2: Scope by model (optional)","slug":"step-2-scope-by-model-optional","depth":3,"children":[]},{"title":"Step 3: Add the key to Braintrust","slug":"step-3-add-the-key-to-braintrust","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/braintrust/dd75b144de68c9c9/custom.js","/_mintlify/custom/braintrust/0c94fa43664e0c40/utm-attribution.js"],"subdomain":"braintrust","siteName":"Braintrust","title":"Minimum OpenAI API key permissions for Braintrust - Braintrust","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T19:53:36.956Z","originalFileLocation":"kb/minimum-openai-api-key-permissions-for-braintrust.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=\"application-name\" content=\"Braintrust\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/braintrust/Pnqso5CFAxfn5afF/_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/braintrust/Pnqso5CFAxfn5afF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/braintrust/Pnqso5CFAxfn5afF/_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/braintrust/Pnqso5CFAxfn5afF/_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/braintrust/Pnqso5CFAxfn5afF/_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/braintrust/Pnqso5CFAxfn5afF/_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/braintrust/Pnqso5CFAxfn5afF/_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/braintrust/Pnqso5CFAxfn5afF/_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/braintrust/Pnqso5CFAxfn5afF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Minimum OpenAI API key permissions for Braintrust - Braintrust\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Braintrust documentation, API reference, and changelog\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.braintrust.dev/kb/minimum-openai-api-key-permissions-for-braintrust\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://www.braintrust.dev/og?template=docs\u0026amp;title=Minimum%20OpenAI%20API%20key%20permissions%20for%20Braintrust\">\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=\"Minimum OpenAI API key permissions for Braintrust - Braintrust\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://www.braintrust.dev/og?template=docs\u0026amp;title=Minimum%20OpenAI%20API%20key%20permissions%20for%20Braintrust\">\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/braintrust/Pnqso5CFAxfn5afF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Braintrust\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3a4af8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.braintrust.dev/kb/minimum-openai-api-key-permissions-for-braintrust\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/kb/minimum-openai-api-key-permissions-for-braintrust.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.braintrust.dev/#organization\",\"name\":\"Braintrust\",\"url\":\"https://docs.braintrust.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/braintrust/u7i5gTV-ad3TRDYt/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=u7i5gTV-ad3TRDYt\u0026q=85\u0026s=23878ca308aee393dcc8c89ed8705189\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.braintrust.dev#website\",\"name\":\"Braintrust\",\"url\":\"https://docs.braintrust.dev\",\"publisher\":{\"@id\":\"https://docs.braintrust.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.braintrust.dev/kb/minimum-openai-api-key-permissions-for-braintrust#webpage\",\"url\":\"https://docs.braintrust.dev/kb/minimum-openai-api-key-permissions-for-braintrust\",\"name\":\"Minimum OpenAI API key permissions for Braintrust\",\"dateModified\":\"2026-10-30T19:53:36.956Z\",\"isPartOf\":{\"@id\":\"https://docs.braintrust.dev#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.braintrust.dev/kb/minimum-openai-api-key-permissions-for-braintrust#article\",\"headline\":\"Minimum OpenAI API key permissions for Braintrust\",\"name\":\"Minimum OpenAI API key permissions for Braintrust\",\"url\":\"https://docs.braintrust.dev/kb/minimum-openai-api-key-permissions-for-braintrust\",\"mainEntityOfPage\":{\"@id\":\"https://docs.braintrust.dev/kb/minimum-openai-api-key-permissions-for-braintrust#webpage\"},\"image\":\"https://www.braintrust.dev/og?template=docs\u0026title=Minimum%20OpenAI%20API%20key%20permissions%20for%20Braintrust\",\"dateModified\":\"2026-10-30T19:53:36.956Z\",\"publisher\":{\"@id\":\"https://docs.braintrust.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.braintrust.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Braintrust\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Braintrust","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"group":"Start","boost":3,"icon":"arrow-down-right","pages":[{"title":"Get started with Braintrust","sidebarTitle":"Introduction","mode":"wide","href":""},{"title":"Braintrust workflow","href":"/workflow"},{"group":"Quickstart","pages":[{"title":"Tracing quickstart","sidebarTitle":"Tracing","href":"/tracing-quickstart"},{"title":"Evaluation quickstart","sidebarTitle":"Evaluation","href":"/evaluation-quickstart"}]},{"group":"Loop agent","pages":[{"title":"Get started with Loop","sidebarTitle":"Get started","href":"/loop/index"},{"title":"What Loop can do","href":"/loop/capabilities"},{"group":"Integrations","pages":[{"title":"Connect external MCP servers","sidebarTitle":"External MCP servers","href":"/loop/mcp"},{"title":"Connect GitHub repositories","sidebarTitle":"GitHub repositories","href":"/loop/github"}]},{"title":"Run Loop on a schedule","sidebarTitle":"Automations","href":"/loop/automations"},{"title":"Manage Loop threads and limits","sidebarTitle":"Threads and limits","href":"/loop/manage"}]},{"title":"Plans and limits","href":"/plans-and-limits"}]},{"group":"Instrument","boost":3,"icon":"braces","pages":[{"title":"Instrument your application","sidebarTitle":"Overview","href":"/instrument/index"},{"group":"Tracing","pages":[{"title":"Trace LLM calls","href":"/instrument/trace-llm-calls"},{"title":"Trace application logic","href":"/instrument/trace-application-logic"},{"title":"Send application logs","href":"/instrument/application-logs"},{"title":"Advanced tracing patterns","href":"/instrument/advanced-tracing"}]},{"title":"Capture user feedback","sidebarTitle":"User feedback","href":"/instrument/user-feedback"},{"title":"Log attachments","sidebarTitle":"Attachments","href":"/instrument/attachments"}]},{"group":"Observe","boost":3,"icon":"activity","pages":[{"title":"Observe your application","sidebarTitle":"Overview","href":"/observe/index"},{"group":"Logs","pages":[{"title":"View your logs","href":"/observe/view-logs"},{"title":"Filter and search logs","href":"/observe/filter"},{"title":"Examine traces","href":"/observe/examine-traces"}]},{"group":"Patterns","pages":[{"title":"Patterns","sidebarTitle":"Overview","href":"/observe/patterns/index"},{"title":"Enable Patterns","href":"/observe/patterns/enable"},{"title":"Review and act on patterns","sidebarTitle":"Review and act","href":"/observe/patterns/review"}]},{"group":"Topics","pages":[{"title":"Topics","sidebarTitle":"Overview","href":"/observe/topics/index"},{"title":"Enable Topics","href":"/observe/topics/enable"},{"title":"Review insights from Topics","sidebarTitle":"Review insights","href":"/observe/topics/review-insights"},{"title":"Act on findings from Topics","sidebarTitle":"Act on findings","href":"/observe/topics/act-on-findings"},{"title":"Manage Topics","href":"/observe/topics/manage"},{"title":"Custom facets","href":"/observe/topics/custom-facets"}]},{"group":"Dashboards","pages":[{"title":"Dashboards","sidebarTitle":"Overview","href":"/observe/dashboards/index"},{"title":"Create dashboards","href":"/observe/dashboards/create"},{"title":"Build charts","href":"/observe/dashboards/build-charts"},{"title":"SQL charts","href":"/observe/dashboards/sql-charts"},{"title":"Coding agent insights dashboard","sidebarTitle":"Coding agent insights","href":"/observe/dashboards/coding-agent-insights"}]},{"title":"Set up alerts","sidebarTitle":"Alerts","href":"/observe/alerts"}]},{"group":"Annotate","boost":3,"icon":"list-checks","pages":[{"title":"Annotate and curate data","sidebarTitle":"Overview","href":"/annotate/index"},{"group":"Human review","pages":[{"title":"Set up human review","sidebarTitle":"Set up human review","href":"/annotate/human-review/index"},{"title":"Score traces and datasets","href":"/annotate/human-review/score-traces"},{"title":"Review with multiple reviewers","href":"/annotate/human-review/multiple-reviewers"},{"title":"Manage review work","href":"/annotate/human-review/manage-review-work"}]},{"title":"Add labels and corrections","sidebarTitle":"Labels and corrections","href":"/annotate/labels"},{"group":"Datasets","pages":[{"title":"Datasets","sidebarTitle":"Overview","href":"/annotate/datasets/index"},{"title":"Create datasets","href":"/annotate/datasets/create"},{"title":"Dataset pipelines","href":"/annotate/datasets/pipelines"},{"title":"Manage datasets","href":"/annotate/datasets/manage"},{"title":"Use datasets in evaluations","sidebarTitle":"Use in evaluations","href":"/annotate/datasets/use-in-evaluations"},{"title":"Track dataset performance","sidebarTitle":"Track performance","href":"/annotate/datasets/track-performance"}]},{"title":"Export annotated data","sidebarTitle":"Exports","href":"/annotate/export"},{"title":"Create custom views","sidebarTitle":"Custom views","href":"/annotate/custom-views"}]},{"group":"Evaluate","boost":3,"icon":"flask-conical","pages":[{"title":"Evaluate systematically","sidebarTitle":"Overview","href":"/evaluate/index"},{"group":"Prompts","pages":[{"title":"Prompts","sidebarTitle":"Overview","href":"/evaluate/prompts/index"},{"title":"Create prompts","href":"/evaluate/prompts/create"},{"title":"Prompt templating","sidebarTitle":"Templating","href":"/evaluate/prompts/templating"},{"title":"Use prompts in code","sidebarTitle":"Use in code","href":"/evaluate/prompts/use-in-code"},{"title":"Version prompts","href":"/evaluate/prompts/versions"},{"title":"Manage prompts","href":"/evaluate/prompts/manage"}]},{"group":"Evaluators","pages":[{"title":"Evaluate output quality with scorers and classifiers","sidebarTitle":"Overview","href":"/evaluate/write-scorers"},{"title":"Autoevals","href":"/evaluate/autoevals"},{"title":"Custom code evaluators","sidebarTitle":"Custom code","href":"/evaluate/custom-code"},{"title":"LLM-as-a-judge evaluators","sidebarTitle":"LLM-as-a-judge","href":"/evaluate/llm-as-a-judge"}]},{"title":"Iterate in playgrounds","sidebarTitle":"Playgrounds","href":"/evaluate/playgrounds"},{"group":"Experiments","pages":[{"title":"Experiments","sidebarTitle":"Overview","href":"/evaluate/run-evaluations"},{"title":"Run experiments in code","sidebarTitle":"Run in code","href":"/evaluate/run-in-code"},{"title":"Run experiments in the UI","sidebarTitle":"Run in the UI","href":"/evaluate/run-in-ui"},{"title":"Run experiments in CI/CD","sidebarTitle":"Run in CI/CD","href":"/evaluate/run-in-ci"},{"title":"Advanced eval techniques","sidebarTitle":"Advanced techniques","href":"/evaluate/advanced-evaluations"},{"group":"Analyze results","pages":[{"title":"Interpret evaluation results","href":"/evaluate/interpret-results"},{"title":"Compare experiments","href":"/evaluate/compare-experiments"},{"title":"Evaluate reasoning models","href":"/evaluate/reasoning"}]}]},{"group":"Remote evals","pages":[{"title":"Remote evals and sandboxes","sidebarTitle":"Test complex agents","href":"/evaluate/remote-evals"},{"title":"Create evaluation parameters","sidebarTitle":"Parameters","href":"/evaluate/write-parameters"}]},{"title":"Score production traces","sidebarTitle":"Online scoring","href":"/evaluate/score-online"},{"title":"Evaluation best practices","sidebarTitle":"Best practices","href":"/evaluate/best-practices"}]},{"group":"Deploy","boost":3,"icon":"rocket","pages":[{"title":"Deploy","sidebarTitle":"Overview","href":"/deploy/index"},{"title":"Deploy functions","sidebarTitle":"Functions","href":"/deploy/functions"},{"group":"Braintrust Gateway","pages":[{"title":"Use the Braintrust Gateway","sidebarTitle":"Use the Gateway","href":"/deploy/gateway"},{"title":"Supported models","mode":"wide","href":"/deploy/supported-models"},{"title":"Use the proxy (deprecated)","href":"/deploy/ai-proxy"}]},{"title":"Manage environments","sidebarTitle":"Environments","href":"/deploy/environments"},{"title":"Monitor deployments","sidebarTitle":"Monitoring","href":"/deploy/monitor"},{"title":"Stream responses","sidebarTitle":"Streaming","href":"/deploy/streaming"}]},{"group":"Admin","boost":3,"icon":"shield","pages":[{"title":"Administration","sidebarTitle":"Overview","href":"/admin/index"},{"title":"Manage organizations","sidebarTitle":"Organizations","href":"/admin/organizations"},{"title":"Manage projects","sidebarTitle":"Projects","href":"/admin/projects"},{"title":"Configure AI providers","sidebarTitle":"AI providers","href":"/admin/ai-providers"},{"title":"Audit logging","href":"/admin/audit-logs"},{"group":"Access control","pages":[{"title":"Access control","sidebarTitle":"Overview","href":"/admin/access-control/index"},{"title":"Manage permissions","sidebarTitle":"Manage permissions","href":"/admin/access-control/manage-permissions"}]},{"group":"Billing","pages":[{"title":"Manage billing","sidebarTitle":"Overview","href":"/admin/billing/index"},{"title":"Change your plan","href":"/admin/billing/change-plan"},{"title":"Monitor usage","href":"/admin/billing/monitor-usage"},{"title":"Optimize costs","href":"/admin/billing/optimize-costs"},{"title":"Billing FAQ","href":"/admin/billing/faq"}]},{"group":"Data management","pages":[{"title":"Protect sensitive data","href":"/admin/data-management/protect-sensitive-data"},{"title":"Export to cloud storage","sidebarTitle":"Data export","href":"/admin/data-management/export"},{"title":"Configure data retention","sidebarTitle":"Data retention","href":"/admin/data-management/retention"}]},{"group":"Deployment","pages":[{"title":"Deployment options","sidebarTitle":"Overview","href":"/admin/deployment/index"},{"group":"BYOC","pages":[{"title":"Bring your own cloud (BYOC)","sidebarTitle":"Overview","href":"/admin/deployment/byoc/index"},{"title":"Set up BYOC on AWS","sidebarTitle":"Set up BYOC","href":"/admin/deployment/byoc/aws"},{"title":"BYOC operations and lifecycle","sidebarTitle":"Operations and lifecycle","href":"/admin/deployment/byoc/manage"},{"title":"AWS access and security","sidebarTitle":"Access and security","href":"/admin/deployment/byoc/aws-security"}]},{"group":"Self-hosting","pages":[{"title":"Self-hosting Braintrust","sidebarTitle":"Overview","href":"/admin/self-hosting/index"},{"title":"Architecture","href":"/admin/self-hosting/architecture"},{"title":"Deploy Braintrust","sidebarTitle":"Deploy","href":"/admin/self-hosting/deploy"},{"group":"Configure","pages":[{"title":"Configure your deployment","sidebarTitle":"Overview","href":"/admin/self-hosting/configure/index"},{"title":"Security and access","href":"/admin/self-hosting/configure/security"},{"title":"Networking and connectivity","href":"/admin/self-hosting/configure/networking"},{"title":"Scaling and storage","href":"/admin/self-hosting/configure/scaling"},{"title":"Self-host the Braintrust Gateway","sidebarTitle":"Braintrust Gateway","href":"/admin/self-hosting/configure/gateway"},{"title":"Loop runtime","href":"/admin/self-hosting/configure/loop-runtime"},{"title":"Telemetry and data retention","href":"/admin/self-hosting/configure/telemetry"}]},{"group":"Upgrade","pages":[{"title":"Upgrade your deployment","sidebarTitle":"Routine upgrades","href":"/admin/self-hosting/upgrade/routine"},{"group":"Version migrations","pages":[{"title":"Upgrade to data plane v2.x","sidebarTitle":"Data plane v2.x","href":"/admin/self-hosting/upgrade/v2"},{"title":"Upgrade to Terraform module v6","sidebarTitle":"AWS module v6 (Lambda to ECS)","href":"/admin/self-hosting/upgrade/v6"},{"title":"Upgrade to Terraform module v7","sidebarTitle":"AWS module v7 (ECS and Gateway defaults)","href":"/admin/self-hosting/upgrade/v7"}]}]}]}]},{"title":"Authentication","href":"/admin/authentication"},{"title":"SCIM provisioning","href":"/admin/scim"},{"title":"Personal settings","href":"/admin/personal-settings"},{"title":"Service health","href":"/admin/service-health"}]},{"group":"Best practices","icon":"shield-check","pages":[{"title":"Evaluating agents","href":"/best-practices/agents"},{"title":"Writing scorers","href":"/best-practices/scorers"},{"title":"Product manager workflows","sidebarTitle":"PM workflows","href":"/best-practices/pm-workflows"}]},{"title":"Security","href":"/security"}]},{"tab":"Integrations","icon":"plug","pages":[{"title":"Integrations","mode":"wide","href":"/integrations"},{"group":"AI providers","icon":"sparkle","pages":[{"title":"AI providers","sidebarTitle":"Overview","href":"/integrations/ai-providers/index"},{"group":"Model providers","pages":[{"title":"OpenAI","href":"/integrations/ai-providers/openai"},{"title":"OpenRouter","href":"/integrations/ai-providers/openrouter"},{"title":"Anthropic","href":"/integrations/ai-providers/anthropic"},{"title":"Gemini","href":"/integrations/ai-providers/gemini"},{"title":"Mistral","href":"/integrations/ai-providers/mistral"},{"title":"Baseten","href":"/integrations/ai-providers/baseten"},{"title":"Cerebras","href":"/integrations/ai-providers/cerebras"},{"title":"Cohere","href":"/integrations/ai-providers/cohere"},{"title":"ElevenLabs","href":"/integrations/ai-providers/elevenlabs"},{"title":"Fireworks","href":"/integrations/ai-providers/fireworks"},{"title":"Groq","href":"/integrations/ai-providers/groq"},{"title":"Hugging Face","href":"/integrations/ai-providers/huggingface"},{"title":"Lepton","href":"/integrations/ai-providers/lepton"},{"title":"Ollama","href":"/integrations/ai-providers/ollama"},{"title":"Perplexity","href":"/integrations/ai-providers/perplexity"},{"title":"Replicate","href":"/integrations/ai-providers/replicate"},{"title":"Together","href":"/integrations/ai-providers/together"},{"title":"TypeSafe","href":"/integrations/ai-providers/typesafe"},{"title":"Voyage AI","href":"/integrations/ai-providers/voyageai"},{"title":"xAI","href":"/integrations/ai-providers/xai"}]},{"group":"Cloud providers","pages":[{"title":"AWS Bedrock","href":"/integrations/ai-providers/bedrock"},{"title":"Google Vertex AI","href":"/integrations/ai-providers/google"},{"title":"Azure AI Foundry","href":"/integrations/ai-providers/azure"},{"title":"Azure AI Gateway","href":"/integrations/ai-providers/azure-ai-gateway"},{"title":"Databricks","href":"/integrations/ai-providers/databricks"}]},{"title":"Custom providers","href":"/integrations/ai-providers/custom"}]},{"group":"SDKs","icon":"blocks","pages":[{"title":"SDK integrations","sidebarTitle":"Overview","href":"/integrations/sdk-integrations/index"},{"group":"Tracing integrations","pages":[{"group":"OpenTelemetry","pages":[{"title":"Send OpenTelemetry traces and logs to Braintrust","sidebarTitle":"Send traces and logs","href":"/integrations/sdk-integrations/opentelemetry/send-traces-and-logs"},{"title":"Link Braintrust and OpenTelemetry spans","sidebarTitle":"Link spans","href":"/integrations/sdk-integrations/opentelemetry/link-spans"},{"title":"OpenTelemetry attributes and events","sidebarTitle":"Attributes and events","href":"/integrations/sdk-integrations/opentelemetry/attributes"}]},{"title":"Vercel","href":"/integrations/sdk-integrations/vercel"},{"title":"LangChain","href":"/integrations/sdk-integrations/langchain"},{"title":"LangChain4j","href":"/integrations/sdk-integrations/langchain4j"},{"title":"LangSmith","href":"/integrations/sdk-integrations/langsmith"},{"title":"LlamaIndex","href":"/integrations/sdk-integrations/llamaindex"},{"title":"Apollo GraphQL","href":"/integrations/sdk-integrations/apollo-graphql"},{"title":"Cloudflare","href":"/integrations/sdk-integrations/cloudflare"},{"title":"CloudWeGo Eino","href":"/integrations/sdk-integrations/cloudwego-eino"},{"title":"DSPy","href":"/integrations/sdk-integrations/dspy"},{"title":"Firebase Genkit","href":"/integrations/sdk-integrations/firebase-genkit"},{"title":"Google Discovery Engine","href":"/integrations/sdk-integrations/google-discovery-engine"},{"title":"Instructor","href":"/integrations/sdk-integrations/instructor"},{"title":"LiteLLM","href":"/integrations/sdk-integrations/litellm"},{"title":"MCP SDK","href":"/integrations/sdk-integrations/mcp-sdk"},{"title":"RubyLLM","href":"/integrations/sdk-integrations/ruby-llm"},{"title":"Spring AI","href":"/integrations/sdk-integrations/spring-ai"},{"title":"Temporal","href":"/integrations/sdk-integrations/temporal"},{"title":"Traceloop","href":"/integrations/sdk-integrations/traceloop"},{"title":"TrueFoundry","href":"/integrations/sdk-integrations/truefoundry"}]},{"group":"Agent frameworks","pages":[{"title":"A2A (Agent2Agent)","sidebarTitle":"A2A","href":"/integrations/agent-frameworks/a2a"},{"title":"Agno","href":"/integrations/agent-frameworks/agno"},{"title":"OpenAI Agents SDK","href":"/integrations/agent-frameworks/openai-agents-sdk"},{"title":"OpenAI Codex SDK","href":"/integrations/agent-frameworks/openai-codex-sdk"},{"title":"Pi Coding Agent SDK","href":"/integrations/agent-frameworks/pi-coding-agent"},{"title":"OpenRouter Agent","href":"/integrations/agent-frameworks/openrouter-agent"},{"title":"Claude Agent SDK","href":"/integrations/agent-frameworks/claude-agent-sdk"},{"title":"Cursor SDK","href":"/integrations/agent-frameworks/cursor-sdk"},{"title":"Cloudflare Think","href":"/integrations/agent-frameworks/cloudflare-think"},{"title":"Flue","href":"/integrations/agent-frameworks/flue"},{"title":"Deep Agents","href":"/integrations/agent-frameworks/deepagents"},{"title":"DeepSeek Harness","href":"/integrations/agent-frameworks/deepseek-harness"},{"title":"Eve","href":"/integrations/agent-frameworks/eve"},{"title":"LangGraph","href":"/integrations/agent-frameworks/langgraph"},{"title":"CrewAI","href":"/integrations/agent-frameworks/crew-ai"},{"title":"AutoGen","href":"/integrations/agent-frameworks/autogen"},{"title":"AgentScope","href":"/integrations/agent-frameworks/agentscope"},{"title":"Google ADK (Agent Development Kit)","sidebarTitle":"Google ADK","href":"/integrations/agent-frameworks/google"},{"title":"LiveKit Agents","href":"/integrations/agent-frameworks/livekit-agents"},{"title":"Pipecat","href":"/integrations/agent-frameworks/pipecat"},{"title":"Mastra","href":"/integrations/agent-frameworks/mastra"},{"title":"Microsoft Agent Framework","href":"/integrations/agent-frameworks/microsoft-agent-framework"},{"title":"Pydantic AI","href":"/integrations/agent-frameworks/pydantic-ai"},{"title":"Roast","href":"/integrations/agent-frameworks/roast"},{"title":"Strands Agents SDK","href":"/integrations/agent-frameworks/strands-agent"},{"title":"Cloudflare Agents","href":"/integrations/agent-frameworks/cloudflare-agents"},{"title":"Cloudflare AI Chat","href":"/integrations/agent-frameworks/cloudflare-ai-chat"}]},{"group":"Eval frameworks","pages":[{"title":"Harbor","href":"/integrations/sdk-integrations/harbor"}]},{"group":"Testing frameworks","pages":[{"title":"Pytest","href":"/integrations/sdk-integrations/pytest"},{"title":"Node.js test runner","href":"/integrations/sdk-integrations/node-test-runner"},{"title":"Vitest","href":"/integrations/sdk-integrations/vitest"}]}]},{"group":"Developer tools","icon":"terminal","pages":[{"title":"Braintrust MCP","href":"/integrations/developer-tools/mcp"},{"title":"Claude Code","href":"/integrations/developer-tools/claude-code"},{"title":"Claude Cowork","href":"/integrations/developer-tools/claude-cowork"},{"title":"Codex","href":"/integrations/developer-tools/codex"},{"title":"Cursor","href":"/integrations/developer-tools/cursor"},{"title":"Devin Desktop","href":"/integrations/developer-tools/devin-desktop"},{"title":"Google Antigravity","href":"/integrations/developer-tools/antigravity"},{"title":"Grok","href":"/integrations/developer-tools/grok"},{"title":"Muse Code","href":"/integrations/developer-tools/muse-code"},{"title":"OpenCode","href":"/integrations/developer-tools/opencode"},{"title":"pi","href":"/integrations/developer-tools/pi"},{"title":"VS Code","href":"/integrations/developer-tools/vscode"}]},{"group":"Runtime environments","icon":"cloud","pages":[{"title":"AWS Lambda","href":"/integrations/runtime-environments/aws-lambda"}]}]},{"tab":"SDKs","icon":"blocks","dropdowns":[{"dropdown":"All SDKs","pages":[{"title":"SDKs","mode":"custom","href":"/sdks"}]},{"dropdown":"TypeScript","icon":"https://mintlify.s3.us-west-1.amazonaws.com/braintrust/images/sdk-icons/typescript.svg","pages":[{"title":"TypeScript SDK quickstart","sidebarTitle":"Quickstart","href":"/sdks/typescript/quickstart"},{"group":"Use the SDK","icon":"code","pages":[{"title":"Install and instrument","href":"/sdks/typescript/install-and-instrument"},{"title":"TypeScript SDK integrations","sidebarTitle":"SDK integrations","href":"/sdks/typescript/sdk-integrations"},{"title":"Troubleshooting","href":"/sdks/typescript/troubleshooting"}]},{"group":"Features","icon":"component","pages":[{"title":"Workflow evaluations","href":"/sdks/typescript/workflow-evaluations"},{"title":"Application logs","href":"/sdks/typescript/application-logs"},{"title":"Redact sensitive data","href":"/sdks/typescript/redact-sensitive-data"}]},{"group":"Reference","icon":"file-text","pages":[{"title":"API reference","href":"/sdks/typescript/api-reference"},{"group":"Versions","boost":0.5,"pages":[{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.42.0 (latest)","href":"/sdks/typescript/versions/3.42.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.41.0","href":"/sdks/typescript/versions/3.41.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.40.0","href":"/sdks/typescript/versions/3.40.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.39.0","href":"/sdks/typescript/versions/3.39.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.38.0","href":"/sdks/typescript/versions/3.38.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.37.2","href":"/sdks/typescript/versions/3.37.2"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.36.0","href":"/sdks/typescript/versions/3.36.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.35.0","href":"/sdks/typescript/versions/3.35.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.34.0","href":"/sdks/typescript/versions/3.34.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.33.0","href":"/sdks/typescript/versions/3.33.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.32.0","href":"/sdks/typescript/versions/3.32.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.31.0","href":"/sdks/typescript/versions/3.31.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.30.0","href":"/sdks/typescript/versions/3.30.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.29.0","href":"/sdks/typescript/versions/3.29.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.28.0","href":"/sdks/typescript/versions/3.28.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.27.0","href":"/sdks/typescript/versions/3.27.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.26.0","href":"/sdks/typescript/versions/3.26.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.25.0","href":"/sdks/typescript/versions/3.25.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.24.0","href":"/sdks/typescript/versions/3.24.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.23.1","href":"/sdks/typescript/versions/3.23.1"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.22.0","href":"/sdks/typescript/versions/3.22.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.21.0","href":"/sdks/typescript/versions/3.21.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.20.0","href":"/sdks/typescript/versions/3.20.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.19.0","href":"/sdks/typescript/versions/3.19.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.18.0","href":"/sdks/typescript/versions/3.18.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.17.0","href":"/sdks/typescript/versions/3.17.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.16.0","href":"/sdks/typescript/versions/3.16.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.15.0","href":"/sdks/typescript/versions/3.15.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.14.0","href":"/sdks/typescript/versions/3.14.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.13.0","href":"/sdks/typescript/versions/3.13.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.12.0","href":"/sdks/typescript/versions/3.12.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.11.0","href":"/sdks/typescript/versions/3.11.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.10.0","href":"/sdks/typescript/versions/3.10.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.9.0","href":"/sdks/typescript/versions/3.9.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.8.0","href":"/sdks/typescript/versions/3.8.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.7.1","href":"/sdks/typescript/versions/3.7.1"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.7.0","href":"/sdks/typescript/versions/3.7.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.6.0","href":"/sdks/typescript/versions/3.6.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.5.0","href":"/sdks/typescript/versions/3.5.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.4.0","href":"/sdks/typescript/versions/3.4.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.3.0","href":"/sdks/typescript/versions/3.3.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.2.0","href":"/sdks/typescript/versions/3.2.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.1.0","href":"/sdks/typescript/versions/3.1.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v3.0.0","href":"/sdks/typescript/versions/3.0.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v2.2.2","href":"/sdks/typescript/versions/2.2.2"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v2.1.0","href":"/sdks/typescript/versions/2.1.0"},{"title":"Braintrust TypeScript SDK","sidebarTitle":"v2.0.2","href":"/sdks/typescript/versions/2.0.2"},{"title":"TypeScript SDK","sidebarTitle":"v1.1.1","href":"/sdks/typescript/versions/1.1.1"}]},{"group":"Migration guides","pages":[{"title":"Migrate from v2.x to v3.x","sidebarTitle":"v2.x to v3.x","href":"/sdks/typescript/migrations/v2-to-v3"},{"title":"Migrate from v1.x to v2.x","sidebarTitle":"v1.x to v2.x","href":"/sdks/typescript/migrations/v1-to-v2"},{"title":"Migrate from v0.x to v1.x","sidebarTitle":"v0.x to v1.x","href":"/sdks/typescript/migrations/v0-to-v1"}]},{"title":"Changelog","url":"https://github.com/braintrustdata/braintrust-sdk-javascript/releases?q=js-sdk-\u0026expanded=true","href":"/sdks/typescript/changelog"},{"title":"GitHub","url":"https://github.com/braintrustdata/braintrust-sdk-javascript","href":"/sdks/typescript/github"}]},{"group":"Related packages","icon":"puzzle","pages":[{"title":"TypeScript SDK: related packages","sidebarTitle":"Overview","href":"/sdks/typescript/related/index"},{"group":"Audio","boost":0.5,"pages":[{"title":"Audio JS package","sidebarTitle":"v0.1.0 (latest)","href":"/sdks/typescript/related/audio/0.1.0"}]},{"group":"Autoevals","boost":0.5,"pages":[{"title":"Autoevals TypeScript API","sidebarTitle":"v0.3.0 (latest)","href":"/sdks/typescript/related/autoevals/0.3.0"},{"title":"Autoevals TypeScript API","sidebarTitle":"v0.0.132","href":"/sdks/typescript/related/autoevals/0.0.132"},{"title":"Autoevals TypeScript API","sidebarTitle":"v0.0.131","href":"/sdks/typescript/related/autoevals/0.0.131"}]},{"group":"LangChain (deprecated)","boost":0.5,"pages":[{"title":"LangChain JS Integration","sidebarTitle":"v0.2.5 (latest)","href":"/sdks/typescript/related/langchain/0.2.5"},{"title":"LangChain JS Integration","sidebarTitle":"v0.2.4","href":"/sdks/typescript/related/langchain/0.2.4"}]},{"group":"OpenAI Agents","boost":0.5,"pages":[{"title":"OpenAI Agents JS Integration","sidebarTitle":"v0.1.7 (latest)","href":"/sdks/typescript/related/openai-agents/0.1.7"},{"title":"OpenAI Agents JS Integration","sidebarTitle":"v0.1.6","href":"/sdks/typescript/related/openai-agents/0.1.6"}]},{"group":"OpenTelemetry","boost":0.5,"pages":[{"title":"OpenTelemetry JS Integration","sidebarTitle":"v1.1.0 (latest)","href":"/sdks/typescript/related/otel/1.1.0"},{"title":"OpenTelemetry JS Integration","sidebarTitle":"v1.0.2","href":"/sdks/typescript/related/otel/1.0.2"},{"title":"OpenTelemetry JS Integration","sidebarTitle":"v1.0.0","href":"/sdks/typescript/related/otel/1.0.0"}]}]}]},{"dropdown":"Python","icon":"https://mintlify.s3.us-west-1.amazonaws.com/braintrust/images/sdk-icons/python.svg","pages":[{"title":"Python SDK quickstart","sidebarTitle":"Quickstart","href":"/sdks/python/quickstart"},{"group":"Use the SDK","icon":"code","pages":[{"title":"Install and instrument","href":"/sdks/python/install-and-instrument"},{"title":"Python SDK integrations","sidebarTitle":"SDK integrations","href":"/sdks/python/sdk-integrations"},{"title":"Troubleshooting","href":"/sdks/python/troubleshooting"}]},{"group":"Features","icon":"component","pages":[{"title":"Workflow evaluations","href":"/sdks/python/workflow-evaluations"},{"title":"Application logs","href":"/sdks/python/application-logs"},{"title":"Redact sensitive data","href":"/sdks/python/redact-sensitive-data"}]},{"group":"Reference","icon":"file-text","pages":[{"title":"API reference","href":"/sdks/python/api-reference"},{"group":"Versions","boost":0.5,"pages":[{"title":"Braintrust Python SDK","sidebarTitle":"v0.49.1 (latest)","href":"/sdks/python/versions/0.49.1"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.48.1","href":"/sdks/python/versions/0.48.1"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.47.0","href":"/sdks/python/versions/0.47.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.46.1","href":"/sdks/python/versions/0.46.1"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.45.0","href":"/sdks/python/versions/0.45.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.44.1","href":"/sdks/python/versions/0.44.1"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.43.0","href":"/sdks/python/versions/0.43.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.42.0","href":"/sdks/python/versions/0.42.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.41.1","href":"/sdks/python/versions/0.41.1"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.40.0","href":"/sdks/python/versions/0.40.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.39.0","href":"/sdks/python/versions/0.39.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.38.0","href":"/sdks/python/versions/0.38.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.37.0","href":"/sdks/python/versions/0.37.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.36.0","href":"/sdks/python/versions/0.36.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.35.0","href":"/sdks/python/versions/0.35.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.34.0","href":"/sdks/python/versions/0.34.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.33.0","href":"/sdks/python/versions/0.33.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.32.0","href":"/sdks/python/versions/0.32.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.31.1","href":"/sdks/python/versions/0.31.1"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.31.0","href":"/sdks/python/versions/0.31.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.30.1","href":"/sdks/python/versions/0.30.1"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.30.0","href":"/sdks/python/versions/0.30.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.29.0","href":"/sdks/python/versions/0.29.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.28.0","href":"/sdks/python/versions/0.28.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.27.0","href":"/sdks/python/versions/0.27.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.26.0","href":"/sdks/python/versions/0.26.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.25.0","href":"/sdks/python/versions/0.25.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.24.0","href":"/sdks/python/versions/0.24.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.23.0","href":"/sdks/python/versions/0.23.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.22.1","href":"/sdks/python/versions/0.22.1"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.21.0","href":"/sdks/python/versions/0.21.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.20.0","href":"/sdks/python/versions/0.20.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.19.0","href":"/sdks/python/versions/0.19.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.18.0","href":"/sdks/python/versions/0.18.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.17.0","href":"/sdks/python/versions/0.17.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.16.0","href":"/sdks/python/versions/0.16.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.15.0","href":"/sdks/python/versions/0.15.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.14.0","href":"/sdks/python/versions/0.14.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.13.0","href":"/sdks/python/versions/0.13.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.12.1","href":"/sdks/python/versions/0.12.1"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.11.0","href":"/sdks/python/versions/0.11.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.10.0","href":"/sdks/python/versions/0.10.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.9.0","href":"/sdks/python/versions/0.9.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.8.0","href":"/sdks/python/versions/0.8.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.7.0","href":"/sdks/python/versions/0.7.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.6.0","href":"/sdks/python/versions/0.6.0"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.5.6","href":"/sdks/python/versions/0.5.6"},{"title":"Braintrust Python SDK","sidebarTitle":"v0.4.3","href":"/sdks/python/versions/0.4.3"},{"title":"Python SDK","sidebarTitle":"v0.3.15","href":"/sdks/python/versions/0.3.15"}]},{"title":"Changelog","url":"https://github.com/braintrustdata/braintrust-sdk-python/releases","href":"/sdks/python/changelog"},{"title":"GitHub","url":"https://github.com/braintrustdata/braintrust-sdk-python","href":"/sdks/python/github"}]},{"group":"Related packages","icon":"puzzle","pages":[{"title":"Python SDK: related packages","sidebarTitle":"Overview","href":"/sdks/python/related/index"},{"group":"Autoevals","boost":0.5,"pages":[{"title":"Autoevals Python API","sidebarTitle":"v0.3.0 (latest)","href":"/sdks/python/related/autoevals/0.3.0"},{"title":"Autoevals Python API","sidebarTitle":"v0.2.0","href":"/sdks/python/related/autoevals/0.2.0"},{"title":"Autoevals Python API","sidebarTitle":"v0.1.0","href":"/sdks/python/related/autoevals/0.1.0"},{"title":"Autoevals Python API","sidebarTitle":"v0.0.131","href":"/sdks/python/related/autoevals/0.0.131"},{"title":"Autoevals Python API","sidebarTitle":"v0.0.130","href":"/sdks/python/related/autoevals/0.0.130"}]},{"group":"LangChain (deprecated)","boost":0.5,"pages":[{"title":"LangChain Python Integration","sidebarTitle":"v0.3.0 (deprecated)","href":"/sdks/python/related/langchain/0.3.0"},{"title":"LangChain Python Integration","sidebarTitle":"v0.2.1 (deprecated)","href":"/sdks/python/related/langchain/0.2.1"},{"title":"LangChain Python Integration","sidebarTitle":"v0.2.0 (deprecated)","href":"/sdks/python/related/langchain/0.2.0"},{"title":"LangChain Python Integration","sidebarTitle":"v0.1.5 (deprecated)","href":"/sdks/python/related/langchain/0.1.5"}]},{"group":"Google ADK (deprecated)","boost":0.5,"pages":[{"title":"Google ADK Integration","sidebarTitle":"v0.4.0 (deprecated)","href":"/sdks/python/related/adk/0.4.0"},{"title":"Google ADK Integration","sidebarTitle":"v0.3.1 (deprecated)","href":"/sdks/python/related/adk/0.3.1"},{"title":"Google ADK Integration","sidebarTitle":"v0.2.4 (deprecated)","href":"/sdks/python/related/adk/0.2.4"}]}]}]},{"dropdown":"Go","icon":"https://mintlify.s3.us-west-1.amazonaws.com/braintrust/images/sdk-icons/go.svg","pages":[{"title":"Go SDK quickstart","sidebarTitle":"Quickstart","href":"/sdks/go/quickstart"},{"group":"Use the SDK","icon":"code","pages":[{"title":"Install and instrument","href":"/sdks/go/install-and-instrument"},{"title":"Go SDK integrations","sidebarTitle":"SDK integrations","href":"/sdks/go/sdk-integrations"},{"title":"Troubleshooting","href":"/sdks/go/troubleshooting"}]},{"group":"Features","icon":"component","pages":[{"title":"Workflow evaluations","href":"/sdks/go/workflow-evaluations"},{"title":"Redact sensitive data","href":"/sdks/go/redact-sensitive-data"}]},{"group":"Reference","icon":"file-text","pages":[{"title":"API reference","href":"/sdks/go/api-reference"},{"group":"Versions","boost":0.5,"pages":[{"title":"Braintrust Go SDK","sidebarTitle":"v0.19.0 (latest)","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.19.0","href":"/sdks/go/versions/0.19.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.18.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.18.0","href":"/sdks/go/versions/0.18.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.17.2","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.17.2","href":"/sdks/go/versions/0.17.2"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.17.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.17.1","href":"/sdks/go/versions/0.17.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.17.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.17.0","href":"/sdks/go/versions/0.17.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.16.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.16.0","href":"/sdks/go/versions/0.16.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.15.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.15.0","href":"/sdks/go/versions/0.15.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.14.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.14.0","href":"/sdks/go/versions/0.14.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.13.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.13.0","href":"/sdks/go/versions/0.13.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.12.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.12.0","href":"/sdks/go/versions/0.12.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.11.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.11.1","href":"/sdks/go/versions/0.11.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.11.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.11.0","href":"/sdks/go/versions/0.11.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.10.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.10.0","href":"/sdks/go/versions/0.10.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.9.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.9.1","href":"/sdks/go/versions/0.9.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.9.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.9.0","href":"/sdks/go/versions/0.9.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.8.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.8.0","href":"/sdks/go/versions/0.8.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.7.2","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.7.2","href":"/sdks/go/versions/0.7.2"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.7.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.7.0","href":"/sdks/go/versions/0.7.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.6.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.6.1","href":"/sdks/go/versions/0.6.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.6.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.6.0","href":"/sdks/go/versions/0.6.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.5.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.5.0","href":"/sdks/go/versions/0.5.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.4.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.4.1","href":"/sdks/go/versions/0.4.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.4.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.4.0","href":"/sdks/go/versions/0.4.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.3.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.3.1","href":"/sdks/go/versions/0.3.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.3.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.3.0","href":"/sdks/go/versions/0.3.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.2.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.2.1","href":"/sdks/go/versions/0.2.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.2.0-beta.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.2.0-beta.1","href":"/sdks/go/versions/0.2.0-beta.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.1.2","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.1.2","href":"/sdks/go/versions/0.1.2"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.1.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.1.1","href":"/sdks/go/versions/0.1.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.1.1-beta.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.1.1-beta.1","href":"/sdks/go/versions/0.1.1-beta.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.1.0","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.1.0","href":"/sdks/go/versions/0.1.0"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.0.3","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.0.3","href":"/sdks/go/versions/0.0.3"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.0.2","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.0.2","href":"/sdks/go/versions/0.0.2"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.0.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.0.1","href":"/sdks/go/versions/0.0.1"},{"title":"Braintrust Go SDK","sidebarTitle":"v0.0.1-beta.1","url":"https://pkg.go.dev/github.com/braintrustdata/braintrust-sdk-go@v0.0.1-beta.1","href":"/sdks/go/versions/0.0.1-beta.1"}]},{"group":"Migration guides","pages":[{"title":"Migrate from v0.3.x to v0.4.x","sidebarTitle":"v0.3.x to v0.4.x","href":"/sdks/go/migrations/v0-3-to-v0-4"}]},{"title":"Changelog","url":"https://github.com/braintrustdata/braintrust-sdk-go/releases","href":"/sdks/go/changelog"},{"title":"GitHub","url":"https://github.com/braintrustdata/braintrust-sdk-go","href":"/sdks/go/github"}]}]},{"dropdown":"Java","icon":"https://mintlify.s3.us-west-1.amazonaws.com/braintrust/images/sdk-icons/java.svg","pages":[{"title":"Java SDK quickstart","sidebarTitle":"Quickstart","href":"/sdks/java/quickstart"},{"group":"Use the SDK","icon":"code","pages":[{"title":"Install and instrument","href":"/sdks/java/install-and-instrument"},{"title":"Java SDK integrations","sidebarTitle":"SDK integrations","href":"/sdks/java/sdk-integrations"},{"title":"Troubleshooting","href":"/sdks/java/troubleshooting"}]},{"group":"Features","icon":"component","pages":[{"title":"Redact sensitive data","href":"/sdks/java/redact-sensitive-data"}]},{"group":"Reference","icon":"file-text","pages":[{"title":"API reference","href":"/sdks/java/api-reference"},{"group":"Versions","boost":0.5,"pages":[{"title":"0.3.26","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.26","href":"/sdks/java/versions/0.3.26"},{"title":"0.3.25","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.25","href":"/sdks/java/versions/0.3.25"},{"title":"0.3.24","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.24","href":"/sdks/java/versions/0.3.24"},{"title":"0.3.23","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.23","href":"/sdks/java/versions/0.3.23"},{"title":"0.3.22","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.22","href":"/sdks/java/versions/0.3.22"},{"title":"0.3.21","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.21","href":"/sdks/java/versions/0.3.21"},{"title":"0.3.20","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.20","href":"/sdks/java/versions/0.3.20"},{"title":"0.3.19","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.19","href":"/sdks/java/versions/0.3.19"},{"title":"0.3.18","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.18","href":"/sdks/java/versions/0.3.18"},{"title":"0.3.17","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.17","href":"/sdks/java/versions/0.3.17"},{"title":"0.3.16","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.16","href":"/sdks/java/versions/0.3.16"},{"title":"0.3.15","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.15","href":"/sdks/java/versions/0.3.15"},{"title":"0.3.14","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.14","href":"/sdks/java/versions/0.3.14"},{"title":"0.3.13","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.13","href":"/sdks/java/versions/0.3.13"},{"title":"0.3.12","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.12","href":"/sdks/java/versions/0.3.12"},{"title":"0.3.11","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.11","href":"/sdks/java/versions/0.3.11"},{"title":"0.3.10","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.10","href":"/sdks/java/versions/0.3.10"},{"title":"0.3.9","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.9","href":"/sdks/java/versions/0.3.9"},{"title":"0.3.8","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.8","href":"/sdks/java/versions/0.3.8"},{"title":"0.3.7","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.7","href":"/sdks/java/versions/0.3.7"},{"title":"0.3.6","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.6","href":"/sdks/java/versions/0.3.6"},{"title":"0.3.5","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.5","href":"/sdks/java/versions/0.3.5"},{"title":"0.3.4","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.4","href":"/sdks/java/versions/0.3.4"},{"title":"0.3.3","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.3","href":"/sdks/java/versions/0.3.3"},{"title":"0.3.2","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.2","href":"/sdks/java/versions/0.3.2"},{"title":"0.3.1","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.1","href":"/sdks/java/versions/0.3.1"},{"title":"0.3.0","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.3.0","href":"/sdks/java/versions/0.3.0"},{"title":"0.2.11","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.11","href":"/sdks/java/versions/0.2.11"},{"title":"0.2.10","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.10","href":"/sdks/java/versions/0.2.10"},{"title":"0.2.9","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.9","href":"/sdks/java/versions/0.2.9"},{"title":"0.2.8","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.8","href":"/sdks/java/versions/0.2.8"},{"title":"0.2.7","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.7","href":"/sdks/java/versions/0.2.7"},{"title":"0.2.6","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.6","href":"/sdks/java/versions/0.2.6"},{"title":"0.2.5","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.5","href":"/sdks/java/versions/0.2.5"},{"title":"0.2.4","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.4","href":"/sdks/java/versions/0.2.4"},{"title":"0.2.3","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.3","href":"/sdks/java/versions/0.2.3"},{"title":"0.2.2","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.2","href":"/sdks/java/versions/0.2.2"},{"title":"0.2.1","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.1","href":"/sdks/java/versions/0.2.1"},{"title":"0.2.0","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.2.0","href":"/sdks/java/versions/0.2.0"},{"title":"0.1.3","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.1.3","href":"/sdks/java/versions/0.1.3"},{"title":"0.1.2","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.1.2","href":"/sdks/java/versions/0.1.2"},{"title":"0.1.1","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.1.1","href":"/sdks/java/versions/0.1.1"},{"title":"0.1.0","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.1.0","href":"/sdks/java/versions/0.1.0"},{"title":"0.0.2","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.0.2","href":"/sdks/java/versions/0.0.2"},{"title":"0.0.1","url":"https://javadoc.io/doc/dev.braintrust/braintrust-sdk-java/0.0.1","href":"/sdks/java/versions/0.0.1"}]},{"title":"Changelog","url":"https://github.com/braintrustdata/braintrust-sdk-java/releases","href":"/sdks/java/changelog"},{"title":"GitHub","url":"https://github.com/braintrustdata/braintrust-sdk-java","href":"/sdks/java/github"}]}]},{"dropdown":"Ruby","icon":"https://mintlify.s3.us-west-1.amazonaws.com/braintrust/images/sdk-icons/ruby.svg","pages":[{"title":"Ruby SDK quickstart","sidebarTitle":"Quickstart","href":"/sdks/ruby/quickstart"},{"group":"Use the SDK","icon":"code","pages":[{"title":"Install and instrument","href":"/sdks/ruby/install-and-instrument"},{"title":"Ruby SDK integrations","sidebarTitle":"SDK integrations","href":"/sdks/ruby/sdk-integrations"},{"title":"Troubleshooting","href":"/sdks/ruby/troubleshooting"}]},{"group":"Features","icon":"component","pages":[{"title":"Redact sensitive data","href":"/sdks/ruby/redact-sensitive-data"}]},{"group":"Reference","icon":"file-text","pages":[{"title":"API reference","href":"/sdks/ruby/api-reference"},{"group":"Versions","boost":0.5,"pages":[{"title":"0.6.0","url":"https://gemdocs.org/gems/braintrust/0.6.0/","href":"/sdks/ruby/versions/0.6.0"},{"title":"0.5.0","url":"https://gemdocs.org/gems/braintrust/0.5.0/","href":"/sdks/ruby/versions/0.5.0"},{"title":"0.4.2","url":"https://gemdocs.org/gems/braintrust/0.4.2/","href":"/sdks/ruby/versions/0.4.2"},{"title":"0.4.1","url":"https://gemdocs.org/gems/braintrust/0.4.1/","href":"/sdks/ruby/versions/0.4.1"},{"title":"0.4.0","url":"https://gemdocs.org/gems/braintrust/0.4.0/","href":"/sdks/ruby/versions/0.4.0"},{"title":"0.3.2","url":"https://gemdocs.org/gems/braintrust/0.3.2/","href":"/sdks/ruby/versions/0.3.2"},{"title":"0.3.1","url":"https://gemdocs.org/gems/braintrust/0.3.1/","href":"/sdks/ruby/versions/0.3.1"},{"title":"0.3.0","url":"https://gemdocs.org/gems/braintrust/0.3.0/","href":"/sdks/ruby/versions/0.3.0"},{"title":"0.2.1","url":"https://gemdocs.org/gems/braintrust/0.2.1/","href":"/sdks/ruby/versions/0.2.1"},{"title":"0.2.0","url":"https://gemdocs.org/gems/braintrust/0.2.0/","href":"/sdks/ruby/versions/0.2.0"},{"title":"0.1.4","url":"https://gemdocs.org/gems/braintrust/0.1.4/","href":"/sdks/ruby/versions/0.1.4"},{"title":"0.1.3","url":"https://gemdocs.org/gems/braintrust/0.1.3/","href":"/sdks/ruby/versions/0.1.3"},{"title":"0.1.2","url":"https://gemdocs.org/gems/braintrust/0.1.2/","href":"/sdks/ruby/versions/0.1.2"},{"title":"0.1.1","url":"https://gemdocs.org/gems/braintrust/0.1.1/","href":"/sdks/ruby/versions/0.1.1"},{"title":"0.1.0","url":"https://gemdocs.org/gems/braintrust/0.1.0/","href":"/sdks/ruby/versions/0.1.0"},{"title":"0.0.12","url":"https://gemdocs.org/gems/braintrust/0.0.12/","href":"/sdks/ruby/versions/0.0.12"},{"title":"0.0.11","url":"https://gemdocs.org/gems/braintrust/0.0.11/","href":"/sdks/ruby/versions/0.0.11"},{"title":"0.0.10","url":"https://gemdocs.org/gems/braintrust/0.0.10/","href":"/sdks/ruby/versions/0.0.10"},{"title":"0.0.9","url":"https://gemdocs.org/gems/braintrust/0.0.9/","href":"/sdks/ruby/versions/0.0.9"},{"title":"0.0.8","url":"https://gemdocs.org/gems/braintrust/0.0.8/","href":"/sdks/ruby/versions/0.0.8"},{"title":"0.0.7","url":"https://gemdocs.org/gems/braintrust/0.0.7/","href":"/sdks/ruby/versions/0.0.7"},{"title":"0.0.6","url":"https://gemdocs.org/gems/braintrust/0.0.6/","href":"/sdks/ruby/versions/0.0.6"},{"title":"0.0.5","url":"https://gemdocs.org/gems/braintrust/0.0.5/","href":"/sdks/ruby/versions/0.0.5"},{"title":"0.0.4","url":"https://gemdocs.org/gems/braintrust/0.0.4/","href":"/sdks/ruby/versions/0.0.4"},{"title":"0.0.3","url":"https://gemdocs.org/gems/braintrust/0.0.3/","href":"/sdks/ruby/versions/0.0.3"},{"title":"0.0.2","url":"https://gemdocs.org/gems/braintrust/0.0.2/","href":"/sdks/ruby/versions/0.0.2"},{"title":"0.0.1","url":"https://gemdocs.org/gems/braintrust/0.0.1/","href":"/sdks/ruby/versions/0.0.1"}]},{"title":"Changelog","url":"https://github.com/braintrustdata/braintrust-sdk-ruby/releases","href":"/sdks/ruby/changelog"},{"title":"GitHub","url":"https://github.com/braintrustdata/braintrust-sdk-ruby","href":"/sdks/ruby/github"}]}]},{"dropdown":"C#","icon":"https://mintlify.s3.us-west-1.amazonaws.com/braintrust/images/sdk-icons/csharp.svg","pages":[{"title":"C# SDK quickstart","sidebarTitle":"Quickstart","href":"/sdks/csharp/quickstart"},{"group":"Use the SDK","icon":"code","pages":[{"title":"Install and instrument","href":"/sdks/csharp/install-and-instrument"},{"title":"C# SDK integrations","sidebarTitle":"SDK integrations","href":"/sdks/csharp/sdk-integrations"},{"title":"Troubleshooting","href":"/sdks/csharp/troubleshooting"}]},{"group":"Reference","icon":"file-text","pages":[{"title":"API reference","href":"/sdks/csharp/api-reference"},{"title":"Changelog","url":"https://github.com/braintrustdata/braintrust-sdk-dotnet/releases","href":"/sdks/csharp/changelog"},{"title":"GitHub","url":"https://github.com/braintrustdata/braintrust-sdk-dotnet","href":"/sdks/csharp/github"}]}]}]},{"tab":"Reference","icon":"code","pages":[{"title":"Reference","sidebarTitle":"Overview","href":"/reference"},{"title":"Glossary","href":"/reference/glossary"},{"group":"API","icon":"cloud","pages":[{"title":"API Reference","sidebarTitle":"Overview","href":"/api-reference/index"},{"title":"Query by SQL","href":"/api-reference/query"},{"group":"Resources","pages":[{"group":"Projects","pages":[{"title":"List projects","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project","href":"/api-reference/projects/list-projects"},{"title":"Create project","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project","href":"/api-reference/projects/create-project"},{"title":"Get project","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project/{project_id}","href":"/api-reference/projects/get-project"},{"title":"Delete project","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/project/{project_id}","href":"/api-reference/projects/delete-project"},{"title":"Partially update project","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/project/{project_id}","href":"/api-reference/projects/partially-update-project"}]},{"group":"Logs","pages":[{"title":"Insert project logs events","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project_logs/{project_id}/insert","href":"/api-reference/logs/insert-project-logs-events"},{"title":"Fetch project logs (GET form)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project_logs/{project_id}/fetch","href":"/api-reference/logs/fetch-project-logs-get-form"},{"title":"Fetch project logs (POST form)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project_logs/{project_id}/fetch","href":"/api-reference/logs/fetch-project-logs-post-form"},{"title":"Feedback for project logs events","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project_logs/{project_id}/feedback","href":"/api-reference/logs/feedback-for-project-logs-events"}]},{"group":"Experiments","pages":[{"title":"List experiments","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/experiment","href":"/api-reference/experiments/list-experiments"},{"title":"Create experiment","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/experiment","href":"/api-reference/experiments/create-experiment"},{"title":"Get experiment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/experiment/{experiment_id}","href":"/api-reference/experiments/get-experiment"},{"title":"Delete experiment","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/experiment/{experiment_id}","href":"/api-reference/experiments/delete-experiment"},{"title":"Partially update experiment","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/experiment/{experiment_id}","href":"/api-reference/experiments/partially-update-experiment"},{"title":"Insert experiment events","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/experiment/{experiment_id}/insert","href":"/api-reference/experiments/insert-experiment-events"},{"title":"Fetch experiment (GET form)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/experiment/{experiment_id}/fetch","href":"/api-reference/experiments/fetch-experiment-get-form"},{"title":"Fetch experiment (POST form)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/experiment/{experiment_id}/fetch","href":"/api-reference/experiments/fetch-experiment-post-form"},{"title":"Feedback for experiment events","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/experiment/{experiment_id}/feedback","href":"/api-reference/experiments/feedback-for-experiment-events"},{"title":"Summarize experiment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/experiment/{experiment_id}/summarize","href":"/api-reference/experiments/summarize-experiment"}]},{"group":"Datasets","pages":[{"title":"List datasets","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/dataset","href":"/api-reference/datasets/list-datasets"},{"title":"Create dataset","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/dataset","href":"/api-reference/datasets/create-dataset"},{"title":"Get dataset","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/dataset/{dataset_id}","href":"/api-reference/datasets/get-dataset"},{"title":"Delete dataset","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/dataset/{dataset_id}","href":"/api-reference/datasets/delete-dataset"},{"title":"Partially update dataset","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/dataset/{dataset_id}","href":"/api-reference/datasets/partially-update-dataset"},{"title":"Insert dataset events","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/dataset/{dataset_id}/insert","href":"/api-reference/datasets/insert-dataset-events"},{"title":"Fetch dataset (GET form)","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/dataset/{dataset_id}/fetch","href":"/api-reference/datasets/fetch-dataset-get-form"},{"title":"Fetch dataset (POST form)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/dataset/{dataset_id}/fetch","href":"/api-reference/datasets/fetch-dataset-post-form"},{"title":"Feedback for dataset events","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/dataset/{dataset_id}/feedback","href":"/api-reference/datasets/feedback-for-dataset-events"},{"title":"Summarize dataset","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/dataset/{dataset_id}/summarize","href":"/api-reference/datasets/summarize-dataset"},{"title":"Preview dataset restore","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/dataset/{dataset_id}/restore/preview","href":"/api-reference/datasets/preview-dataset-restore"},{"title":"Restore dataset","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/dataset/{dataset_id}/restore","href":"/api-reference/datasets/restore-dataset"}]},{"group":"Prompts","pages":[{"title":"List prompts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/prompt","href":"/api-reference/prompts/list-prompts"},{"title":"Create or replace prompt","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/prompt","href":"/api-reference/prompts/create-or-replace-prompt"},{"title":"Create prompt","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/prompt","href":"/api-reference/prompts/create-prompt"},{"title":"Get prompt","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/prompt/{prompt_id}","href":"/api-reference/prompts/get-prompt"},{"title":"Delete prompt","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/prompt/{prompt_id}","href":"/api-reference/prompts/delete-prompt"},{"title":"Partially update prompt","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/prompt/{prompt_id}","href":"/api-reference/prompts/partially-update-prompt"}]},{"group":"Roles","pages":[{"title":"List roles","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/role","href":"/api-reference/roles/list-roles"},{"title":"Create or replace role","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/role","href":"/api-reference/roles/create-or-replace-role"},{"title":"Create role","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/role","href":"/api-reference/roles/create-role"},{"title":"Get role","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/role/{role_id}","href":"/api-reference/roles/get-role"},{"title":"Delete role","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/role/{role_id}","href":"/api-reference/roles/delete-role"},{"title":"Partially update role","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/role/{role_id}","href":"/api-reference/roles/partially-update-role"}]},{"group":"Groups","pages":[{"title":"List groups","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/group","href":"/api-reference/groups/list-groups"},{"title":"Create or replace group","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/group","href":"/api-reference/groups/create-or-replace-group"},{"title":"Create group","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/group","href":"/api-reference/groups/create-group"},{"title":"Get group","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/group/{group_id}","href":"/api-reference/groups/get-group"},{"title":"Delete group","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/group/{group_id}","href":"/api-reference/groups/delete-group"},{"title":"Partially update group","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/group/{group_id}","href":"/api-reference/groups/partially-update-group"}]},{"group":"ProjectGroups","pages":[{"title":"List project groups","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project_group","href":"/api-reference/projectgroups/list-project-groups"},{"title":"Create or replace project group","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/project_group","href":"/api-reference/projectgroups/create-or-replace-project-group"},{"title":"Create project group","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project_group","href":"/api-reference/projectgroups/create-project-group"},{"title":"Get project group","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project_group/{project_group_id}","href":"/api-reference/projectgroups/get-project-group"},{"title":"Delete project group","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/project_group/{project_group_id}","href":"/api-reference/projectgroups/delete-project-group"},{"title":"Partially update project group","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/project_group/{project_group_id}","href":"/api-reference/projectgroups/partially-update-project-group"}]},{"group":"Acls","pages":[{"title":"List ACLs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/acl","href":"/api-reference/acls/list-acls"},{"title":"Create ACL","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/acl","href":"/api-reference/acls/create-acl"},{"title":"Delete single ACL","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/acl","href":"/api-reference/acls/delete-single-acl"},{"title":"Get ACL","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/acl/{acl_id}","href":"/api-reference/acls/get-acl"},{"title":"Delete ACL","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/acl/{acl_id}","href":"/api-reference/acls/delete-acl"},{"title":"Batch update ACLs","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/acl/batch_update","href":"/api-reference/acls/batch-update-acls"},{"title":"List org ACLs","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/acl/list_org","href":"/api-reference/acls/list-org-acls"}]},{"group":"Users","pages":[{"title":"List users","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/user","href":"/api-reference/users/list-users"},{"title":"Get user","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/user/{user_id}","href":"/api-reference/users/get-user"}]},{"group":"Agents","pages":[{"title":"List agents","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent","href":"/api-reference/agents/list-agents"},{"title":"Create or replace agent","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/agent","href":"/api-reference/agents/create-or-replace-agent"},{"title":"Create agent","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/agent","href":"/api-reference/agents/create-agent"},{"title":"Get agent","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/agent/{agent_id}","href":"/api-reference/agents/get-agent"},{"title":"Delete agent","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/agent/{agent_id}","href":"/api-reference/agents/delete-agent"},{"title":"Partially update agent","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/agent/{agent_id}","href":"/api-reference/agents/partially-update-agent"}]},{"group":"ProjectAutomations","pages":[{"title":"List project automations","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project_automation","href":"/api-reference/projectautomations/list-project-automations"},{"title":"Create or replace project automation","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/project_automation","href":"/api-reference/projectautomations/create-or-replace-project-automation"},{"title":"Create project automation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project_automation","href":"/api-reference/projectautomations/create-project-automation"},{"title":"Get project automation","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project_automation/{project_automation_id}","href":"/api-reference/projectautomations/get-project-automation"},{"title":"Delete project automation","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/project_automation/{project_automation_id}","href":"/api-reference/projectautomations/delete-project-automation"},{"title":"Partially update project automation","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/project_automation/{project_automation_id}","href":"/api-reference/projectautomations/partially-update-project-automation"}]},{"group":"OrgAutomations","pages":[{"title":"List org automations","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/org_automation","href":"/api-reference/orgautomations/list-org-automations"},{"title":"Create or replace org automation","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/org_automation","href":"/api-reference/orgautomations/create-or-replace-org-automation"},{"title":"Create org automation","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/org_automation","href":"/api-reference/orgautomations/create-org-automation"},{"title":"Get org automation","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/org_automation/{org_automation_id}","href":"/api-reference/orgautomations/get-org-automation"},{"title":"Delete org automation","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/org_automation/{org_automation_id}","href":"/api-reference/orgautomations/delete-org-automation"},{"title":"Partially update org automation","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/org_automation/{org_automation_id}","href":"/api-reference/orgautomations/partially-update-org-automation"}]},{"group":"ProjectScores","pages":[{"title":"List project scores","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project_score","href":"/api-reference/projectscores/list-project-scores"},{"title":"Create or replace project score","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/project_score","href":"/api-reference/projectscores/create-or-replace-project-score"},{"title":"Create project score","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project_score","href":"/api-reference/projectscores/create-project-score"},{"title":"Get project score","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project_score/{project_score_id}","href":"/api-reference/projectscores/get-project-score"},{"title":"Delete project score","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/project_score/{project_score_id}","href":"/api-reference/projectscores/delete-project-score"},{"title":"Partially update project score","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/project_score/{project_score_id}","href":"/api-reference/projectscores/partially-update-project-score"}]},{"group":"ProjectTags","pages":[{"title":"List project tags","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project_tag","href":"/api-reference/projecttags/list-project-tags"},{"title":"Create or replace project tag","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/project_tag","href":"/api-reference/projecttags/create-or-replace-project-tag"},{"title":"Create project tag","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project_tag","href":"/api-reference/projecttags/create-project-tag"},{"title":"Get project tag","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project_tag/{project_tag_id}","href":"/api-reference/projecttags/get-project-tag"},{"title":"Delete project tag","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/project_tag/{project_tag_id}","href":"/api-reference/projecttags/delete-project-tag"},{"title":"Partially update project tag","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/project_tag/{project_tag_id}","href":"/api-reference/projecttags/partially-update-project-tag"}]},{"group":"SpanIframes","pages":[{"title":"List span iframes","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/span_iframe","href":"/api-reference/spaniframes/list-span-iframes"},{"title":"Create or replace span iframe","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/span_iframe","href":"/api-reference/spaniframes/create-or-replace-span-iframe"},{"title":"Create span iframe","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/span_iframe","href":"/api-reference/spaniframes/create-span-iframe"},{"title":"Get span iframe","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/span_iframe/{span_iframe_id}","href":"/api-reference/spaniframes/get-span-iframe"},{"title":"Delete span iframe","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/span_iframe/{span_iframe_id}","href":"/api-reference/spaniframes/delete-span-iframe"},{"title":"Partially update span iframe","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/span_iframe/{span_iframe_id}","href":"/api-reference/spaniframes/partially-update-span-iframe"}]},{"group":"Functions","pages":[{"title":"List functions","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/function","href":"/api-reference/functions/list-functions"},{"title":"Create or replace function","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/function","href":"/api-reference/functions/create-or-replace-function"},{"title":"Create function","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/function","href":"/api-reference/functions/create-function"},{"title":"Get function","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/function/{function_id}","href":"/api-reference/functions/get-function"},{"title":"Delete function","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/function/{function_id}","href":"/api-reference/functions/delete-function"},{"title":"Partially update function","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/function/{function_id}","href":"/api-reference/functions/partially-update-function"},{"title":"Invoke function","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/function/{function_id}/invoke","href":"/api-reference/functions/invoke-function"}]},{"group":"Views","pages":[{"title":"List views","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/view","href":"/api-reference/views/list-views"},{"title":"Create or replace view","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/view","href":"/api-reference/views/create-or-replace-view"},{"title":"Create view","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/view","href":"/api-reference/views/create-view"},{"title":"Get view","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/view/{view_id}","href":"/api-reference/views/get-view"},{"title":"Delete view","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/view/{view_id}","href":"/api-reference/views/delete-view"},{"title":"Partially update view","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/view/{view_id}","href":"/api-reference/views/partially-update-view"}]},{"group":"Organizations","pages":[{"title":"List organizations","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/organization","href":"/api-reference/organizations/list-organizations"},{"title":"Get organization","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/organization/{organization_id}","href":"/api-reference/organizations/get-organization"},{"title":"Partially update organization","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/organization/{organization_id}","href":"/api-reference/organizations/partially-update-organization"},{"title":"Modify organization membership","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/organization/members","href":"/api-reference/organizations/modify-organization-membership"},{"title":"List organization API keys","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/organization/api_keys","href":"/api-reference/organizations/list-organization-api-keys"}]},{"group":"ApiKeys","pages":[{"title":"List API keys","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/api_key","href":"/api-reference/apikeys/list-api-keys"},{"title":"Get API key","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/api_key/{api_key_id}","href":"/api-reference/apikeys/get-api-key"},{"title":"Delete API key","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/api_key/{api_key_id}","href":"/api-reference/apikeys/delete-api-key"}]},{"group":"ServiceTokens","pages":[{"title":"List service tokens","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/service_token","href":"/api-reference/servicetokens/list-service-tokens"},{"title":"Create or replace service token","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/service_token","href":"/api-reference/servicetokens/create-or-replace-service-token"},{"title":"Create service token","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/service_token","href":"/api-reference/servicetokens/create-service-token"},{"title":"Delete single service token","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/service_token","href":"/api-reference/servicetokens/delete-single-service-token"},{"title":"Get service token","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/service_token/{service_token_id}","href":"/api-reference/servicetokens/get-service-token"},{"title":"Delete service token","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/service_token/{service_token_id}","href":"/api-reference/servicetokens/delete-service-token"}]},{"group":"AiSecrets","pages":[{"title":"List AI secrets","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/ai_secret","href":"/api-reference/aisecrets/list-ai-secrets"},{"title":"Create or replace AI secret","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/ai_secret","href":"/api-reference/aisecrets/create-or-replace-ai-secret"},{"title":"Create AI secret","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/ai_secret","href":"/api-reference/aisecrets/create-ai-secret"},{"title":"Delete single AI secret","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/ai_secret","href":"/api-reference/aisecrets/delete-single-ai-secret"},{"title":"Get AI secret","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/ai_secret/{ai_secret_id}","href":"/api-reference/aisecrets/get-ai-secret"},{"title":"Delete AI secret","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/ai_secret/{ai_secret_id}","href":"/api-reference/aisecrets/delete-ai-secret"},{"title":"Partially update AI secret","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/ai_secret/{ai_secret_id}","href":"/api-reference/aisecrets/partially-update-ai-secret"}]},{"group":"EnvVars","pages":[{"title":"List env vars","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/env_var","href":"/api-reference/envvars/list-env-vars"},{"title":"Create or replace env var","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/env_var","href":"/api-reference/envvars/create-or-replace-env-var"},{"title":"Create env var","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/env_var","href":"/api-reference/envvars/create-env-var"},{"title":"Get env var","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/env_var/{env_var_id}","href":"/api-reference/envvars/get-env-var"},{"title":"Delete env var","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/env_var/{env_var_id}","href":"/api-reference/envvars/delete-env-var"},{"title":"Partially update env var","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/env_var/{env_var_id}","href":"/api-reference/envvars/partially-update-env-var"}]},{"group":"McpServers","pages":[{"title":"List MCP servers","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/mcp_server","href":"/api-reference/mcpservers/list-mcp-servers"},{"title":"Create or replace MCP server","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/mcp_server","href":"/api-reference/mcpservers/create-or-replace-mcp-server"},{"title":"Create MCP server","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/mcp_server","href":"/api-reference/mcpservers/create-mcp-server"},{"title":"Get MCP server","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/mcp_server/{mcp_server_id}","href":"/api-reference/mcpservers/get-mcp-server"},{"title":"Delete MCP server","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/mcp_server/{mcp_server_id}","href":"/api-reference/mcpservers/delete-mcp-server"},{"title":"Partially update MCP server","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/mcp_server/{mcp_server_id}","href":"/api-reference/mcpservers/partially-update-mcp-server"}]},{"group":"DatasetSnapshots","pages":[{"title":"List dataset snapshots","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/dataset_snapshot","href":"/api-reference/datasetsnapshots/list-dataset-snapshots"},{"title":"Create or replace dataset snapshot","deprecated":null,"version":null,"openapi":"/openapi.yaml put /v1/dataset_snapshot","href":"/api-reference/datasetsnapshots/create-or-replace-dataset-snapshot"},{"title":"Create dataset snapshot","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/dataset_snapshot","href":"/api-reference/datasetsnapshots/create-dataset-snapshot"},{"title":"Get dataset snapshot","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/dataset_snapshot/{dataset_snapshot_id}","href":"/api-reference/datasetsnapshots/get-dataset-snapshot"},{"title":"Delete dataset snapshot","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/dataset_snapshot/{dataset_snapshot_id}","href":"/api-reference/datasetsnapshots/delete-dataset-snapshot"},{"title":"Partially update dataset snapshot","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/dataset_snapshot/{dataset_snapshot_id}","href":"/api-reference/datasetsnapshots/partially-update-dataset-snapshot"}]},{"group":"Simulated users","pages":[{"title":"List simulated users","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project/{project_id}/simulated_user","href":"/api-reference/simulated-users/list-simulated-users"},{"title":"Create simulated user","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project/{project_id}/simulated_user","href":"/api-reference/simulated-users/create-simulated-user"},{"title":"Get simulated user","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1/project/{project_id}/simulated_user/{id}","href":"/api-reference/simulated-users/get-simulated-user"},{"title":"Delete simulated user","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /v1/project/{project_id}/simulated_user/{id}","href":"/api-reference/simulated-users/delete-simulated-user"},{"title":"Update simulated user","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /v1/project/{project_id}/simulated_user/{id}","href":"/api-reference/simulated-users/update-simulated-user"}]},{"group":"Environments","pages":[{"title":"List environments","deprecated":null,"version":null,"openapi":"/openapi.yaml get /environment","href":"/api-reference/environments/list-environments"},{"title":"Create environment","deprecated":null,"version":null,"openapi":"/openapi.yaml post /environment","href":"/api-reference/environments/create-environment"},{"title":"Get environment","deprecated":null,"version":null,"openapi":"/openapi.yaml get /environment/{environment_id}","href":"/api-reference/environments/get-environment"},{"title":"Delete environment","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /environment/{environment_id}","href":"/api-reference/environments/delete-environment"},{"title":"Partially update environment","deprecated":null,"version":null,"openapi":"/openapi.yaml patch /environment/{environment_id}","href":"/api-reference/environments/partially-update-environment"}]},{"group":"Other","pages":[{"title":"Hello world endpoint","deprecated":null,"version":null,"openapi":"/openapi.yaml get /v1","href":"/api-reference/other/hello-world-endpoint"}]},{"group":"CrossObject","pages":[{"title":"Cross-object insert","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/insert","href":"/api-reference/crossobject/cross-object-insert"}]},{"group":"Proxy","pages":[{"title":"Proxy chat/completions","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/proxy/chat/completions","href":"/api-reference/proxy/proxy-chatcompletions"},{"title":"Proxy completions","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/proxy/completions","href":"/api-reference/proxy/proxy-completions"},{"title":"Proxy a model to chat/completions or completions automatically","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/proxy/auto","href":"/api-reference/proxy/proxy-a-model-to-chatcompletions-or-completions-automatically"},{"title":"Proxy embeddings","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/proxy/embeddings","href":"/api-reference/proxy/proxy-embeddings"},{"title":"Create temporary credential","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/proxy/credentials","href":"/api-reference/proxy/create-temporary-credential"},{"title":"Proxy any OpenAI request (fallback)","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/proxy/{path+}","href":"/api-reference/proxy/proxy-any-openai-request-fallback"}]},{"group":"Evals","pages":[{"title":"Launch an eval","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/eval","href":"/api-reference/evals/launch-an-eval"}]}]}]},{"group":"CLI","boost":2,"icon":"terminal","pages":[{"title":"CLI quickstart","sidebarTitle":"Quickstart","href":"/reference/cli/quickstart"},{"group":"Commands","pages":[{"title":"CLI overview","sidebarTitle":"Overview","href":"/reference/cli/overview"},{"title":"bt custom-views","sidebarTitle":"bt custom-views","href":"/reference/cli/custom-views"},{"title":"bt datasets","sidebarTitle":"bt datasets","href":"/reference/cli/datasets"},{"title":"bt docs","sidebarTitle":"bt docs","href":"/reference/cli/docs"},{"title":"bt environments","sidebarTitle":"bt environments","href":"/reference/cli/environments"},{"title":"bt eval","sidebarTitle":"bt eval","href":"/reference/cli/eval"},{"title":"bt experiments","sidebarTitle":"bt experiments","href":"/reference/cli/experiments"},{"title":"bt functions","sidebarTitle":"bt functions","href":"/reference/cli/functions"},{"title":"bt init","sidebarTitle":"bt init","href":"/reference/cli/init"},{"title":"bt login","sidebarTitle":"bt login","href":"/reference/cli/login"},{"title":"bt logout","sidebarTitle":"bt logout","href":"/reference/cli/logout"},{"title":"bt mcp","sidebarTitle":"bt mcp","href":"/reference/cli/mcp"},{"title":"bt observability","sidebarTitle":"bt observability","href":"/reference/cli/observability"},{"title":"bt preprocessors","sidebarTitle":"bt preprocessors","href":"/reference/cli/preprocessors"},{"title":"bt profiles","sidebarTitle":"bt profiles","href":"/reference/cli/profiles"},{"title":"bt projects","sidebarTitle":"bt projects","href":"/reference/cli/projects"},{"title":"bt prompts","sidebarTitle":"bt prompts","href":"/reference/cli/prompts"},{"title":"bt scorers","sidebarTitle":"bt scorers","href":"/reference/cli/scorers"},{"title":"bt setup","sidebarTitle":"bt setup","href":"/reference/cli/setup"},{"title":"bt sql","sidebarTitle":"bt sql","href":"/reference/cli/sql"},{"title":"bt status","sidebarTitle":"bt status","href":"/reference/cli/status"},{"title":"bt switch","sidebarTitle":"bt switch","href":"/reference/cli/switch"},{"title":"bt sync","sidebarTitle":"bt sync","href":"/reference/cli/sync"},{"title":"bt tools","sidebarTitle":"bt tools","href":"/reference/cli/tools"},{"title":"bt topics","sidebarTitle":"bt topics","href":"/reference/cli/topics"},{"title":"bt trace","sidebarTitle":"bt trace","href":"/reference/cli/trace"},{"title":"bt update","sidebarTitle":"bt update","href":"/reference/cli/update"},{"title":"bt view","sidebarTitle":"bt view","href":"/reference/cli/view"}]},{"title":"Migrate bt","sidebarTitle":"Migrate","href":"/reference/cli/migrate"}]},{"group":"Terraform","icon":"boxes","pages":[{"title":"Terraform provider","sidebarTitle":"Overview","href":"/reference/terraform"},{"title":"Terraform Registry","sidebarTitle":"Reference","url":"https://registry.terraform.io/providers/braintrustdata/braintrust/latest/docs","href":"/reference/terraform-registry"}]},{"group":"SQL","icon":"database","pages":[{"title":"SQL reference","sidebarTitle":"Overview","href":"/reference/sql/index"},{"title":"How filtering works","sidebarTitle":"Filtering","href":"/reference/sql/filtering"},{"title":"SQL query structure","sidebarTitle":"Query structure","href":"/reference/sql/query-structure"},{"title":"SQL functions and operators","sidebarTitle":"Functions and operators","href":"/reference/sql/functions"},{"title":"Example queries","sidebarTitle":"Examples","href":"/reference/sql/examples"},{"title":"SQL best practices","sidebarTitle":"Best practices","href":"/reference/sql/best-practices"}]}]},{"tab":"Cookbook","icon":"notebook","pages":[{"title":"Cookbook","mode":"wide","href":"/cookbook"},{"group":"Recipes","boost":0.5,"pages":[{"title":"Improving coding agents with coding agent insights","href":"/cookbook/recipes/CodingAgentInsights"},{"title":"Supervising agent behavior with behavior specs","href":"/cookbook/recipes/AgentBehavior"},{"title":"Analyzing agent traces from Hugging Face","href":"/cookbook/recipes/HuggingFaceAgentTraces"},{"title":"Finding production issues using Topics","href":"/cookbook/recipes/FindingProductionIssues"},{"title":"Building a deep research agent with Temporal","href":"/cookbook/recipes/TemporalDeepResearch"},{"title":"Evaluating and iterating on AI apps with Lovable","href":"/cookbook/recipes/Lovable"},{"title":"Using Loop in AI product development","href":"/cookbook/recipes/Loop"},{"title":"Observability for Strands Agents on Amazon Bedrock","href":"/cookbook/recipes/AmazonBedrockStrands"},{"title":"Building reliable AI agents","href":"/cookbook/recipes/AgentWhileLoop"},{"title":"Using PDF attachments in playgrounds","href":"/cookbook/recipes/PDFPlayground"},{"title":"Tracing Vercel AI SDK applications","href":"/cookbook/recipes/VercelAISDKTracing"},{"title":"Evaluating video QA with Twelve Labs","href":"/cookbook/recipes/VideoQATwelveLabs"},{"title":"Evaluating a web agent","href":"/cookbook/recipes/WebAgent"},{"title":"Prompt versioning and deployment","href":"/cookbook/recipes/PromptVersioning"},{"title":"Evaluating video QA","href":"/cookbook/recipes/VideoQA"},{"title":"Evaluating a voice agent","href":"/cookbook/recipes/VoiceAgent"},{"title":"Classifying spam using structured outputs","href":"/cookbook/recipes/SpamClassifier"},{"title":"Evaluating a prompt chaining agent","href":"/cookbook/recipes/PromptChaining"},{"title":"Evaluating the precision and recall of an emotion classifier","href":"/cookbook/recipes/PrecisionRecall"},{"title":"Evaluating audio with the OpenAI Realtime API","href":"/cookbook/recipes/Realtime"},{"title":"Evaluating SimpleQA","href":"/cookbook/recipes/SimpleQA"},{"title":"Evaluating voice AI agents with Evalion","href":"/cookbook/recipes/EvalionVoiceAgentEval"},{"title":"Using Python functions to extract text from images","href":"/cookbook/recipes/ToolOCR"},{"title":"Using OpenTelemetry for LLM observability","href":"/cookbook/recipes/OTEL-logging"},{"title":"Using functions to build a RAG agent","href":"/cookbook/recipes/ToolRAG"},{"title":"Evaluating multimodal receipt extraction","href":"/cookbook/recipes/ReceiptExtraction"},{"title":"Unreleased AI: A full stack Next.js app for generating changelogs","href":"/cookbook/recipes/UnreleasedAI"},{"title":"An agent that runs OpenAPI commands","href":"/cookbook/recipes/APIAgent-Py"},{"title":"Benchmarking inference providers","href":"/cookbook/recipes/ProviderBenchmark"},{"title":"Tool calls in LLaMa 3.1","href":"/cookbook/recipes/LLaMa-3_1-Tools"},{"title":"Evaluating a chat assistant","href":"/cookbook/recipes/EvaluatingChatAssistant"},{"title":"LLM Eval For Text2SQL","href":"/cookbook/recipes/Text2SQL-Data"},{"title":"Optimizing Ragas to evaluate a RAG pipeline","href":"/cookbook/recipes/SimpleRagas"},{"title":"Comparing evals across multiple AI models","href":"/cookbook/recipes/ModelComparison"},{"title":"Detecting Prompt Injections","href":"/cookbook/recipes/PromptInjectionDetector"},{"title":"AI Search Bar","href":"/cookbook/recipes/AISearch"},{"title":"How Zapier uses assertions to evaluate tool usage in chatbots","href":"/cookbook/recipes/Assertions"},{"title":"Generating release notes and hill-climbing to improve them","href":"/cookbook/recipes/ReleaseNotes"},{"title":"Generating beautiful HTML components","href":"/cookbook/recipes/HTMLGenerator"},{"title":"Coda's Help Desk with and without RAG","href":"/cookbook/recipes/CodaHelpDesk"},{"title":"Improving Github issue titles using their contents","href":"/cookbook/recipes/Github-Issues"},{"title":"Classifying news articles","href":"/cookbook/recipes/ClassifyingNewsArticles"},{"title":"Text-to-SQL","href":"/cookbook/recipes/Text2SQL"}]}]},{"tab":"Troubleshooting","icon":"wrench","pages":[{"group":"All troubleshooting guides","boost":0.5,"pages":[{"title":"Knowledge Base","sidebarTitle":"Overview","href":"/kb"},{"title":"Troubleshooting guides","sidebarTitle":"Troubleshooting guides","href":"/kb/troubleshooting-guides"},{"title":"Config guides","sidebarTitle":"Config guides","href":"/kb/config-guides"},{"title":"Process \u0026 systems","sidebarTitle":"Process \u0026 systems","href":"/kb/process-systems"},{"title":"Azure AD client secret rotation SSO failures","href":"/kb/azure-ad-client-secret-rotation-sso-failures"},{"title":"OTLP traces endpoint payload limits","href":"/kb/otlp-traces-endpoint-payload-limits"},{"title":"Include runtime LLM output in dataset exports","href":"/kb/include-runtime-llm-output-in-dataset-exports"},{"title":"Routing Python SDK logs to multiple Braintrust backends","href":"/kb/python-sdk-byoc-routing-and-state-setup"}]}]},{"tab":"Changelog","icon":"mailbox","pages":[{"group":"Changelog","boost":0.5,"pages":[{"title":"Product updates","href":"/changelog"},{"title":"Self-hosting releases","sidebarTitle":"Self-hosting releases","href":"/data-plane-changelog"},{"title":"Feature lifecycle","href":"/feature-lifecycle"}]}]}]},"basePath":"","title":"Minimum OpenAI API key permissions for Braintrust - Braintrust","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":[],"chunks":[]}