Create a new project automation. If there is an existing project automation with the same name as the one specified in the request, will return the existing project automation unmodified
Most Braintrust endpoints are authenticated by providing your API key as a header Authorization: Bearer [api_key] to your HTTP request. You can create an API key in the Braintrust organization settings page.
Body
application/json
Any desired information about the new project automation object
{"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":"6ae4fcf7ed968a0e8f391474","collectionId":"93d39e66-db84-483f-a5c3-b55d9d43d5a4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4fcf7ed968a0e8f391474"},"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":"api-reference/projectautomations/create-project-automation","slug":"/api-reference/projectautomations/create-project-automation","pageMetadata":{"title":"Create project automation","description":"Create a new project automation. If there is an existing project automation with the same name as the one specified in the request, will return the existing project automation unmodified","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project_automation","href":"/api-reference/projectautomations/create-project-automation","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a new project automation. If there is an existing project automation with the same name as the one specified in the request, will return the existing project automation unmodified\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark-dimmed"}},"config":{},"pageMetadata":{"title":"Create project automation","description":"Create a new project automation. If there is an existing project automation with the same name as the one specified in the request, will return the existing project automation unmodified","deprecated":null,"version":null,"openapi":"/openapi.yaml post /v1/project_automation","href":"/api-reference/projectautomations/create-project-automation","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/braintrust/dd75b144de68c9c9/custom.js","/_mintlify/custom/braintrust/0c94fa43664e0c40/utm-attribution.js"],"openApiReferenceData":{"operation":{"tags":["ProjectAutomations"],"security":["6ae798aa-2f0b-4947-9c82-c95d96df4992","734498ec-4d1d-4f8f-a4b1-c01d2a66516b"],"operationId":"postProjectAutomation","description":"Create a new project automation. If there is an existing project automation with the same name as the one specified in the request, will return the existing project automation unmodified","summary":"Create project automation","requestBody":"fd53f07a-74f0-4311-9778-51f44d45a4b5","responses":{"200":"edd56f14-d541-4f25-9be4-fc6ee83945da","400":"473dc596-441b-4ed4-9111-d8fdddc401a8","401":"48e4d4dc-d3d0-4d1c-bc11-9b46a0dab3a0","403":"07108845-db72-4e84-b125-4e2ef2e8d4a6","429":"c51ca250-4027-482d-a5e6-5425f5877fc5","500":"59b5692e-91ba-498b-a51c-c4b785e34c4e"},"method":"post","type":"path","servers":["1d9d417d-d904-4567-b8c6-4e98adac3af2"],"path":"/v1/project_automation","baseUrlOptions":["https://api.braintrust.dev"],"title":"Create project automation","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"description":"Any desired information about the new project automation object","required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid","description":"Unique identifier for the project that the project automation belongs under","isRequired":true,"uniqueKey":"project_id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"Name of the project automation","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"config":{"oneOf":[{"type":"object","description":"The configuration for the automation rule","required":["event_type","btql_filter","interval_seconds","action"],"properties":{"event_type":{"type":"string","enum":["logs"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.0.event_type","typeLabel":"enum\u003cstring>"},"btql_filter":{"type":"string","description":"BTQL filter to identify rows for the automation rule","isRequired":true,"uniqueKey":"config.oneOf.0.btql_filter","typeLabel":"string"},"interval_seconds":{"type":"number","minimum":1,"maximum":2592000,"description":"Perform the triggered action at most once in this interval of seconds","isRequired":true,"uniqueKey":"config.oneOf.0.interval_seconds","typeLabel":"number"},"action":{"oneOf":[{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","url"],"properties":{"type":{"type":"string","enum":["webhook"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"The webhook URL to send the request to","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.0.url","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.0.action.oneOf.0.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.0","typeLabel":"object"},{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","workspace_id","channel"],"properties":{"type":{"type":"string","enum":["slack"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.1.type","typeLabel":"enum\u003cstring>"},"workspace_id":{"type":"string","description":"The Slack workspace ID to post to","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.1.workspace_id","typeLabel":"string"},"channel":{"type":"string","description":"The Slack channel ID to post to","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.1.channel","typeLabel":"string"},"message_template":{"type":"string","description":"Custom message template for the alert","uniqueKey":"config.oneOf.0.action.oneOf.1.message_template","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.0.action.oneOf.1.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.1","typeLabel":"object"},{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","routing_key_secret_name","severity"],"properties":{"type":{"type":"string","enum":["pagerduty"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.2.type","typeLabel":"enum\u003cstring>"},"routing_key_secret_name":{"type":"string","format":"uuid","description":"The data-plane secret containing the PagerDuty routing key","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.2.routing_key_secret_name","typeLabel":"string\u003cuuid>"},"severity":{"type":"string","enum":["critical","error","warning","info"],"isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.2.severity","typeLabel":"enum\u003cstring>"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.0.action.oneOf.2.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config.oneOf.0.action","typeLabel":"object"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.0.status","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"config.oneOf.0","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","export_definition","export_path","format","interval_seconds","credentials"],"properties":{"event_type":{"type":"string","enum":["btql_export"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.1.event_type","typeLabel":"enum\u003cstring>"},"export_definition":{"oneOf":[{"type":"object","description":"The definition of what to export","required":["type"],"properties":{"type":{"type":"string","enum":["log_traces"],"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.0","typeLabel":"object"},{"type":"object","description":"The definition of what to export","required":["type"],"properties":{"type":{"type":"string","enum":["log_spans"],"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.1.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.1","typeLabel":"object"},{"type":"object","description":"The definition of what to export","required":["type","btql_query"],"properties":{"type":{"type":"string","enum":["btql_query"],"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.2.type","typeLabel":"enum\u003cstring>"},"btql_query":{"type":"string","description":"The BTQL query to export","isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.2.btql_query","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition","typeLabel":"object"},"export_path":{"type":"string","description":"The path to export the results to. It should include the storage protocol and prefix, e.g. s3://bucket-name/path/to/export","isRequired":true,"uniqueKey":"config.oneOf.1.export_path","typeLabel":"string"},"format":{"type":"string","enum":["jsonl","parquet"],"description":"The format to export the results in","isRequired":true,"uniqueKey":"config.oneOf.1.format","typeLabel":"enum\u003cstring>"},"interval_seconds":{"type":"number","minimum":1,"maximum":2592000,"description":"Perform the triggered action at most once in this interval of seconds","isRequired":true,"uniqueKey":"config.oneOf.1.interval_seconds","typeLabel":"number"},"credentials":{"oneOf":[{"type":"object","required":["type","role_arn","external_id"],"properties":{"type":{"type":"string","enum":["aws_iam"],"isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.0.type","typeLabel":"enum\u003cstring>"},"role_arn":{"type":"string","description":"The ARN of the IAM role to use","isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.0.role_arn","typeLabel":"string"},"external_id":{"type":"string","description":"The automation-specific external id component (auto-generated by default)","isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.0.external_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.0","typeLabel":"object"},{"type":"object","required":["type","service_account_email"],"properties":{"type":{"type":"string","enum":["gcp_service_account"],"isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.1.type","typeLabel":"enum\u003cstring>"},"service_account_email":{"type":"string","description":"The GCP service account email to impersonate","isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.1.service_account_email","typeLabel":"string"},"credential_name":{"type":"string","minLength":1,"description":"The name of a Google workload identity federation credential configured in this organization's AI providers. Supported data planes can use it regardless of hosting environment. If omitted, the data plane's GCP identity is used.","uniqueKey":"config.oneOf.1.credentials.oneOf.1.credential_name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config.oneOf.1.credentials","typeLabel":"object"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.1.status","typeLabel":"enum\u003cstring>"},"scope":{"oneOf":[{"type":"object","description":"Execution scope for export automation. Defaults to span-level execution.","required":["type"],"properties":{"type":{"type":"string","enum":["span"],"isRequired":true,"uniqueKey":"config.oneOf.1.scope.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.1.scope.oneOf.0","typeLabel":"object"},{"type":"object","description":"Execution scope for export automation. Defaults to span-level execution.","required":["type"],"properties":{"type":{"type":"string","enum":["trace"],"isRequired":true,"uniqueKey":"config.oneOf.1.scope.oneOf.1.type","typeLabel":"enum\u003cstring>"},"idle_seconds":{"type":"number","description":"Consider trace complete after this many seconds of inactivity (default: 30)","uniqueKey":"config.oneOf.1.scope.oneOf.1.idle_seconds","typeLabel":"number"}},"uniqueKey":"config.oneOf.1.scope.oneOf.1","typeLabel":"object"},{"type":"object","description":"Execution scope for export automation. Defaults to span-level execution.","required":["type","group_by","placement"],"properties":{"type":{"type":"string","enum":["group"],"isRequired":true,"uniqueKey":"config.oneOf.1.scope.oneOf.2.type","typeLabel":"enum\u003cstring>"},"group_by":{"type":"string","description":"Field path to group by, e.g. metadata.session_id","isRequired":true,"uniqueKey":"config.oneOf.1.scope.oneOf.2.group_by","typeLabel":"string"},"placement":{"type":"string","enum":["first","each"],"description":"Which trace or traces to write grouped scorer results to","isRequired":true,"uniqueKey":"config.oneOf.1.scope.oneOf.2.placement","typeLabel":"enum\u003cstring>"},"interval_seconds":{"type":"number","minimum":1,"description":"Maximum time range to include when constructing a group","uniqueKey":"config.oneOf.1.scope.oneOf.2.interval_seconds","typeLabel":"number"},"max_traces":{"type":"integer","minimum":1,"maximum":64,"description":"Maximum number of traces to include when constructing a group (default/max: 64)","uniqueKey":"config.oneOf.1.scope.oneOf.2.max_traces","typeLabel":"integer"},"idle_seconds":{"type":"number","description":"Optional: trigger after this many seconds of inactivity","uniqueKey":"config.oneOf.1.scope.oneOf.2.idle_seconds","typeLabel":"number"}},"uniqueKey":"config.oneOf.1.scope.oneOf.2","typeLabel":"object"},{"type":"null","description":"Execution scope for export automation. Defaults to span-level execution.","uniqueKey":"config.oneOf.1.scope.oneOf.3","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.scope","typeLabel":"object · object · object · null"},"batch_size":{"oneOf":[{"type":"number","description":"The number of rows to export in each batch","uniqueKey":"config.oneOf.1.batch_size.oneOf.0","typeLabel":"number"},{"type":"null","description":"The number of rows to export in each batch","uniqueKey":"config.oneOf.1.batch_size.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.batch_size","typeLabel":"number | null"}},"isRequired":true,"uniqueKey":"config.oneOf.1","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","created_by_user_id","object_type","object_id","query","format"],"properties":{"event_type":{"type":"string","enum":["async_query"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.2.event_type","typeLabel":"enum\u003cstring>"},"created_by_user_id":{"type":"string","format":"uuid","description":"The user who submitted the async query","isRequired":true,"uniqueKey":"config.oneOf.2.created_by_user_id","typeLabel":"string\u003cuuid>"},"object_type":{"type":"string","enum":["project_logs","experiment","dataset","playground_logs"],"description":"The source object type for the async query","isRequired":true,"uniqueKey":"config.oneOf.2.object_type","typeLabel":"enum\u003cstring>"},"object_id":{"type":"string","description":"The source object ID for the async query","isRequired":true,"uniqueKey":"config.oneOf.2.object_id","typeLabel":"string"},"query":{"type":"string","description":"The SQL query to execute asynchronously","isRequired":true,"uniqueKey":"config.oneOf.2.query","typeLabel":"string"},"format":{"type":"string","enum":["jsonl"],"description":"The materialized result format","isRequired":true,"uniqueKey":"config.oneOf.2.format","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.2.status","typeLabel":"enum\u003cstring>"},"batch_size":{"oneOf":[{"type":"integer","exclusiveMinimum":0,"maximum":100000,"description":"The maximum number of result rows to write per async query batch","uniqueKey":"config.oneOf.2.batch_size.oneOf.0","typeLabel":"integer"},{"type":"null","exclusiveMinimum":0,"maximum":100000,"description":"The maximum number of result rows to write per async query batch","uniqueKey":"config.oneOf.2.batch_size.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.batch_size","typeLabel":"integer | null"}},"isRequired":true,"uniqueKey":"config.oneOf.2","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","object_type","retention_days"],"properties":{"event_type":{"type":"string","enum":["retention"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.3.event_type","typeLabel":"enum\u003cstring>"},"object_type":{"type":"string","enum":["project_logs","experiment","dataset"],"description":"The object type that the retention policy applies to","isRequired":true,"uniqueKey":"config.oneOf.3.object_type","typeLabel":"enum\u003cstring>"},"retention_days":{"type":"integer","minimum":0,"description":"The number of days to retain the object","isRequired":true,"uniqueKey":"config.oneOf.3.retention_days","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"config.oneOf.3","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","action"],"properties":{"event_type":{"type":"string","enum":["environment_update"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.4.event_type","typeLabel":"enum\u003cstring>"},"action":{"oneOf":[{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","url"],"properties":{"type":{"type":"string","enum":["webhook"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"The webhook URL to send the request to","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.0.url","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.4.action.oneOf.0.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.0","typeLabel":"object"},{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","workspace_id","channel"],"properties":{"type":{"type":"string","enum":["slack"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.1.type","typeLabel":"enum\u003cstring>"},"workspace_id":{"type":"string","description":"The Slack workspace ID to post to","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.1.workspace_id","typeLabel":"string"},"channel":{"type":"string","description":"The Slack channel ID to post to","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.1.channel","typeLabel":"string"},"message_template":{"type":"string","description":"Custom message template for the alert","uniqueKey":"config.oneOf.4.action.oneOf.1.message_template","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.4.action.oneOf.1.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.1","typeLabel":"object"},{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","routing_key_secret_name","severity"],"properties":{"type":{"type":"string","enum":["pagerduty"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.2.type","typeLabel":"enum\u003cstring>"},"routing_key_secret_name":{"type":"string","format":"uuid","description":"The data-plane secret containing the PagerDuty routing key","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.2.routing_key_secret_name","typeLabel":"string\u003cuuid>"},"severity":{"type":"string","enum":["critical","error","warning","info"],"isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.2.severity","typeLabel":"enum\u003cstring>"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.4.action.oneOf.2.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config.oneOf.4.action","typeLabel":"object"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.4.status","typeLabel":"enum\u003cstring>"},"environment_filter":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.4.environment_filter.items.[INDEX]","typeLabel":"string"},"description":"Optional list of environment slugs to filter by","uniqueKey":"config.oneOf.4.environment_filter","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"config.oneOf.4","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","window"],"properties":{"event_type":{"type":"string","enum":["windowed"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.5.event_type","typeLabel":"enum\u003cstring>"},"window":{"type":"object","properties":{"window_seconds":{"type":"integer","minimum":1,"maximum":2592000,"description":"How much recent data each scheduled run covers","isRequired":true,"uniqueKey":"config.oneOf.5.window.window_seconds","typeLabel":"integer"},"schedule":{"oneOf":[{"type":"object","description":"How often the windowed automation runs: at a fixed interval or on a cron schedule","required":["type","evaluation_interval_seconds"],"properties":{"type":{"type":"string","enum":["interval"],"isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.0.type","typeLabel":"enum\u003cstring>"},"evaluation_interval_seconds":{"type":"integer","minimum":1,"maximum":2592000,"description":"How often the automation runs","isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.0.evaluation_interval_seconds","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often the windowed automation runs: at a fixed interval or on a cron schedule","required":["type","cron_expression"],"properties":{"type":{"type":"string","enum":["cron"],"isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.1.type","typeLabel":"enum\u003cstring>"},"cron_expression":{"type":"string","minLength":1,"description":"A standard five-field cron expression (minute hour day-of-month month day-of-week) controlling when the automation runs","isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.1.cron_expression","typeLabel":"string"},"timezone":{"oneOf":[{"type":"string","minLength":1,"description":"IANA timezone used to interpret the cron expression (defaults to UTC)","uniqueKey":"config.oneOf.5.window.schedule.oneOf.1.timezone.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"IANA timezone used to interpret the cron expression (defaults to UTC)","uniqueKey":"config.oneOf.5.window.schedule.oneOf.1.timezone.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.window.schedule.oneOf.1.timezone","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule","typeLabel":"object"},"evaluation_delay_seconds":{"type":"integer","minimum":0,"maximum":2592000,"description":"How far behind the present each evaluation window ends","isRequired":true,"uniqueKey":"config.oneOf.5.window.evaluation_delay_seconds","typeLabel":"integer"}},"required":["window_seconds","schedule","evaluation_delay_seconds"],"isRequired":true,"uniqueKey":"config.oneOf.5.window","typeLabel":"object"},"product_origin":{"oneOf":[{"type":"string","enum":["patterns","dashboard",null],"description":"The product surface that created and manages the automation","uniqueKey":"config.oneOf.5.product_origin.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["patterns","dashboard",null],"description":"The product surface that created and manages the automation","uniqueKey":"config.oneOf.5.product_origin.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.product_origin","typeLabel":"enum\u003cstring> | null"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.5.status","typeLabel":"enum\u003cstring>"},"continuous":{"type":"boolean","description":"Between scheduled runs, check for accumulated new work. The executor decides how to process it.","uniqueKey":"config.oneOf.5.continuous","typeLabel":"boolean"},"threshold":{"type":"object","properties":{"calculation":{"type":"object","description":"The calculation evaluated for each window","required":["type","btql_query","output"],"properties":{"type":{"type":"string","enum":["btql"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation.type","typeLabel":"enum\u003cstring>"},"btql_query":{"type":"string","minLength":1,"description":"A project-scoped BTQL or SQL query without runtime-owned evaluation time bounds","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation.btql_query","typeLabel":"string"},"output":{"type":"object","properties":{"type":{"type":"string","enum":["scalar"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation.output.type","typeLabel":"enum\u003cstring>"},"value_column":{"type":"string","minLength":1,"description":"The numeric result column produced by the query","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation.output.value_column","typeLabel":"string"}},"required":["type","value_column"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation.output","typeLabel":"object"}},"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation","typeLabel":"object"},"policy":{"type":"object","properties":{"condition":{"type":"object","properties":{"type":{"type":"string","enum":["threshold"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.condition.type","typeLabel":"enum\u003cstring>"},"operator":{"type":"string","enum":["lt","lte","gt","gte","eq","neq"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.condition.operator","typeLabel":"enum\u003cstring>"},"threshold":{"type":"number","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.condition.threshold","typeLabel":"number"}},"required":["type","operator","threshold"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.condition","typeLabel":"object"},"pending_seconds":{"type":"integer","minimum":0,"maximum":2592000,"description":"How long the condition must remain breached before firing","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.pending_seconds","typeLabel":"integer"},"no_data_behavior":{"type":"string","enum":["keep_last","resolve","alert"],"description":"How the lifecycle changes when the calculation returns no data","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.no_data_behavior","typeLabel":"enum\u003cstring>"},"renotify_interval_seconds":{"oneOf":[{"type":"integer","minimum":1,"maximum":2592000,"description":"Optional reminder interval while the automation is firing","uniqueKey":"config.oneOf.5.threshold.policy.renotify_interval_seconds.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"maximum":2592000,"description":"Optional reminder interval while the automation is firing","uniqueKey":"config.oneOf.5.threshold.policy.renotify_interval_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.threshold.policy.renotify_interval_seconds","typeLabel":"integer | null"},"notify_on_recovery":{"type":"boolean","default":true,"description":"Whether to deliver actions when a firing automation recovers","uniqueKey":"config.oneOf.5.threshold.policy.notify_on_recovery","typeLabel":"boolean"}},"required":["condition","pending_seconds","no_data_behavior"],"description":"The lifecycle policy applied to each calculation result","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy","typeLabel":"object"}},"required":["calculation","policy"],"description":"Optional calculation and lifecycle policy that gate scheduled delivery","uniqueKey":"config.oneOf.5.threshold","typeLabel":"object"},"loop":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for the Loop agent","isRequired":true,"uniqueKey":"config.oneOf.5.loop.prompt","typeLabel":"string"},"agent_slug":{"type":"string","minLength":1,"description":"The Loop agent to run","isRequired":true,"uniqueKey":"config.oneOf.5.loop.agent_slug","typeLabel":"string"},"include_trigger_input":{"type":"boolean","default":false,"description":"Whether to include the automation trigger payload as input","uniqueKey":"config.oneOf.5.loop.include_trigger_input","typeLabel":"boolean"},"auto_approve_tools":{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"config.oneOf.5.loop.auto_approve_tools.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Write tools that may run without interactive approval","uniqueKey":"config.oneOf.5.loop.auto_approve_tools","typeLabel":"string[]"},"harness":{"type":"string","enum":["native","codex","claude-code","pi"],"description":"Required for an explicit model selection. Currently only Codex is supported.","uniqueKey":"config.oneOf.5.loop.harness","typeLabel":"enum\u003cstring>"},"model":{"type":"string","minLength":1,"description":"Omit harness, model, and endpoint_name to inherit the organization default provider and its recommended execution settings.","uniqueKey":"config.oneOf.5.loop.model","typeLabel":"string"},"endpoint_name":{"type":"string","minLength":1,"uniqueKey":"config.oneOf.5.loop.endpoint_name","typeLabel":"string"},"reasoning_effort":{"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"],"uniqueKey":"config.oneOf.5.loop.reasoning_effort","typeLabel":"enum\u003cstring>"},"target":{"type":"object","properties":{"type":{"type":"string","enum":["dashboard"],"isRequired":true,"uniqueKey":"config.oneOf.5.loop.target.type","typeLabel":"enum\u003cstring>"},"id":{"oneOf":[{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"config.oneOf.5.loop.target.id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"string","enum":["overview"],"isRequired":true,"uniqueKey":"config.oneOf.5.loop.target.id.oneOf.1","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"config.oneOf.5.loop.target.id","typeLabel":"string\u003cuuid> | enum\u003cstring>"}},"required":["type","id"],"description":"The object this automation writes to or maintains","uniqueKey":"config.oneOf.5.loop.target","typeLabel":"object"}},"required":["prompt","agent_slug"],"description":"Optional Loop agent to run for each triggered window","uniqueKey":"config.oneOf.5.loop","typeLabel":"object"},"actions":{"type":"array","items":{"oneOf":[{"type":"object","description":"A delivery action available to an automation","required":["type","url"],"properties":{"type":{"type":"string","enum":["webhook"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"The webhook URL to send the request to","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.0.url","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.0.formatting_prompt","typeLabel":"string"}},"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"A delivery action available to an automation","required":["type","workspace_id","channel"],"properties":{"type":{"type":"string","enum":["slack"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"workspace_id":{"type":"string","description":"The Slack workspace ID to post to","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1.workspace_id","typeLabel":"string"},"channel":{"type":"string","description":"The Slack channel ID to post to","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1.channel","typeLabel":"string"},"message_template":{"type":"string","description":"Custom message template for the alert","uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1.message_template","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1.formatting_prompt","typeLabel":"string"}},"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"A delivery action available to an automation","required":["type","routing_key_secret_name","severity"],"properties":{"type":{"type":"string","enum":["pagerduty"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"routing_key_secret_name":{"type":"string","format":"uuid","description":"The data-plane secret containing the PagerDuty routing key","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.2.routing_key_secret_name","typeLabel":"string\u003cuuid>"},"severity":{"type":"string","enum":["critical","error","warning","info"],"isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.2.severity","typeLabel":"enum\u003cstring>"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.2.formatting_prompt","typeLabel":"string"}},"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"config.oneOf.5.actions.items.[INDEX]","typeLabel":"object"},"maxItems":20,"default":[],"description":"Delivery actions exposed to Loop as tools, or run directly when Loop is not configured","uniqueKey":"config.oneOf.5.actions","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"config.oneOf.5","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","sampling_rate","facet_functions","topic_map_functions"],"properties":{"event_type":{"type":"string","enum":["topic"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.6.event_type","typeLabel":"enum\u003cstring>"},"sampling_rate":{"type":"number","minimum":0,"maximum":1,"description":"The sampling rate for topic automation","isRequired":true,"uniqueKey":"config.oneOf.6.sampling_rate","typeLabel":"number"},"facet_functions":{"type":"array","items":{"oneOf":[{"type":"object","title":"function","description":"Optional function identifier that produced the classification","required":["type","id"],"properties":{"type":{"type":"string","enum":["function"],"isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.0.id","typeLabel":"string"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.0.version","typeLabel":"string"}},"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.0","typeLabel":"function · object"},{"type":"object","title":"global","description":"Optional function identifier that produced the classification","required":["type","name","id"],"properties":{"type":{"type":"string","enum":[],"isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1.id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1.name","typeLabel":"string"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1.version","typeLabel":"string"},"function_type":{"type":"string","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1.function_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1","typeLabel":"global · object"},{"type":"object","title":"function","description":"Optional function identifier that produced the classification","required":["type","id","name"],"properties":{"type":{"type":"string","enum":[],"isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2.name","typeLabel":"string"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2.id","typeLabel":"string"},"function_type":{"type":"string","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2.function_type","typeLabel":"enum\u003cstring>"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2.version","typeLabel":"string"}},"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2","typeLabel":"function · object"},{"type":"object","title":"global","description":"Optional function identifier that produced the classification","required":["type","name"],"properties":{"type":{"type":"string","enum":["global"],"isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.3.name","typeLabel":"string"},"function_type":{"type":"string","description":"The type of global function. Defaults to 'scorer'.","default":"scorer","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.3.function_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.3","typeLabel":"global · object"}],"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX]","typeLabel":"function · object · global · object · function · object · global · object"},"description":"Facet functions used by the topic automation","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions","typeLabel":"function · object · global · object · function · object · global · object[]"},"topic_map_functions":{"type":"array","items":{"type":"object","properties":{"function":{"oneOf":[{"type":"object","title":"function","description":"Topic map function","required":["type","id"],"properties":{"type":{"type":"string","enum":["function"],"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.0.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.0.id","typeLabel":"string"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.0.version","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.0","typeLabel":"function · object"},{"type":"object","title":"global","description":"Topic map function","required":["type","name","id"],"properties":{"type":{"type":"string","enum":[],"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1.id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1.name","typeLabel":"string"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1.version","typeLabel":"string"},"function_type":{"type":"string","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1.function_type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1","typeLabel":"global · object"},{"type":"object","title":"function","description":"Topic map function","required":["type","id","name"],"properties":{"type":{"type":"string","enum":[],"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2.name","typeLabel":"string"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2.id","typeLabel":"string"},"function_type":{"type":"string","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2.function_type","typeLabel":"enum\u003cstring>"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2.version","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2","typeLabel":"function · object"},{"type":"object","title":"global","description":"Topic map function","required":["type","name"],"properties":{"type":{"type":"string","enum":["global"],"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.3.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.3.name","typeLabel":"string"},"function_type":{"type":"string","description":"The type of global function. Defaults to 'scorer'.","default":"scorer","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.3.function_type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.3","typeLabel":"global · object"}],"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function","typeLabel":"function · object · global · object · function · object · global · object"},"btql_filter":{"oneOf":[{"type":"string","description":"Per-topic-map BTQL filter. For trace scope, a topic map runs when max(filter) over the trace is truthy. For span scope, it runs when the current span matches.","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].btql_filter.oneOf.0","typeLabel":"string"},{"type":"null","description":"Per-topic-map BTQL filter. For trace scope, a topic map runs when max(filter) over the trace is truthy. For span scope, it runs when the current span matches.","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].btql_filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].btql_filter","typeLabel":"string | null"}},"required":["function"],"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX]","typeLabel":"object"},"description":"Topic map functions with optional per-topic-map filters","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions","typeLabel":"object[]"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.6.status","typeLabel":"enum\u003cstring>"},"facet_model":{"oneOf":[{"type":"string","enum":["brain-facet-latest","brain-facet-1","brain-facet-2",null],"description":"Optional facet model override for topic automation","uniqueKey":"config.oneOf.6.facet_model.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["brain-facet-latest","brain-facet-1","brain-facet-2",null],"description":"Optional facet model override for topic automation","uniqueKey":"config.oneOf.6.facet_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.facet_model","typeLabel":"enum\u003cstring> | null"},"scope":{"oneOf":[{"type":"object","description":"Execution scope for topic automation.","required":["type"],"properties":{"type":{"type":"string","enum":["span"],"isRequired":true,"uniqueKey":"config.oneOf.6.scope.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.6.scope.oneOf.0","typeLabel":"object"},{"type":"object","description":"Execution scope for topic automation.","required":["type"],"properties":{"type":{"type":"string","enum":["trace"],"isRequired":true,"uniqueKey":"config.oneOf.6.scope.oneOf.1.type","typeLabel":"enum\u003cstring>"},"idle_seconds":{"type":"number","description":"Consider trace complete after this many seconds of inactivity (default: 30)","uniqueKey":"config.oneOf.6.scope.oneOf.1.idle_seconds","typeLabel":"number"}},"uniqueKey":"config.oneOf.6.scope.oneOf.1","typeLabel":"object"},{"type":"object","description":"Execution scope for topic automation.","required":["type","group_by","placement"],"properties":{"type":{"type":"string","enum":["group"],"isRequired":true,"uniqueKey":"config.oneOf.6.scope.oneOf.2.type","typeLabel":"enum\u003cstring>"},"group_by":{"type":"string","description":"Field path to group by, e.g. metadata.session_id","isRequired":true,"uniqueKey":"config.oneOf.6.scope.oneOf.2.group_by","typeLabel":"string"},"placement":{"type":"string","enum":["first","each"],"description":"Which trace or traces to write grouped scorer results to","isRequired":true,"uniqueKey":"config.oneOf.6.scope.oneOf.2.placement","typeLabel":"enum\u003cstring>"},"interval_seconds":{"type":"number","minimum":1,"description":"Maximum time range to include when constructing a group","uniqueKey":"config.oneOf.6.scope.oneOf.2.interval_seconds","typeLabel":"number"},"max_traces":{"type":"integer","minimum":1,"maximum":64,"description":"Maximum number of traces to include when constructing a group (default/max: 64)","uniqueKey":"config.oneOf.6.scope.oneOf.2.max_traces","typeLabel":"integer"},"idle_seconds":{"type":"number","description":"Optional: trigger after this many seconds of inactivity","uniqueKey":"config.oneOf.6.scope.oneOf.2.idle_seconds","typeLabel":"number"}},"uniqueKey":"config.oneOf.6.scope.oneOf.2","typeLabel":"object"},{"type":"null","description":"Execution scope for topic automation.","uniqueKey":"config.oneOf.6.scope.oneOf.3","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.scope","typeLabel":"object · object · object · null"},"data_scope":{"oneOf":[{"type":"object","description":"Optional data scope for topic automation.","required":["type"],"properties":{"type":{"type":"string","enum":["project_logs"],"isRequired":true,"uniqueKey":"config.oneOf.6.data_scope.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.6.data_scope.oneOf.0","typeLabel":"object"},{"type":"object","description":"Optional data scope for topic automation.","required":["type"],"properties":{"type":{"type":"string","enum":["project_experiments"],"isRequired":true,"uniqueKey":"config.oneOf.6.data_scope.oneOf.1.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.6.data_scope.oneOf.1","typeLabel":"object"},{"type":"object","description":"Optional data scope for topic automation.","required":["type","experiment_id"],"properties":{"type":{"type":"string","enum":["experiment"],"isRequired":true,"uniqueKey":"config.oneOf.6.data_scope.oneOf.2.type","typeLabel":"enum\u003cstring>"},"experiment_id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.data_scope.oneOf.2.experiment_id","typeLabel":"string"}},"uniqueKey":"config.oneOf.6.data_scope.oneOf.2","typeLabel":"object"},{"type":"null","description":"Optional data scope for topic automation.","uniqueKey":"config.oneOf.6.data_scope.oneOf.3","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.data_scope","typeLabel":"object · object · object · null"},"btql_filter":{"oneOf":[{"type":"string","description":"Optional BTQL filter applied before topic automation.","uniqueKey":"config.oneOf.6.btql_filter.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional BTQL filter applied before topic automation.","uniqueKey":"config.oneOf.6.btql_filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.btql_filter","typeLabel":"string | null"},"rerun_seconds":{"oneOf":[{"type":"number","minimum":600,"description":"How often to recompute topic maps","uniqueKey":"config.oneOf.6.rerun_seconds.oneOf.0","typeLabel":"number"},{"type":"null","minimum":600,"description":"How often to recompute topic maps","uniqueKey":"config.oneOf.6.rerun_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.rerun_seconds","typeLabel":"number | null"},"relabel_overlap_seconds":{"oneOf":[{"type":"number","minimum":60,"description":"Deprecated. How much recent history to relabel after a new topic map version becomes active. Data planes v2.15.0 and later ignore this and apply a topic map version after the first only to traces classified once it is active.","uniqueKey":"config.oneOf.6.relabel_overlap_seconds.oneOf.0","typeLabel":"number"},{"type":"null","minimum":60,"description":"Deprecated. How much recent history to relabel after a new topic map version becomes active. Data planes v2.15.0 and later ignore this and apply a topic map version after the first only to traces classified once it is active.","uniqueKey":"config.oneOf.6.relabel_overlap_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.relabel_overlap_seconds","typeLabel":"number | null"},"backfill_time_range":{"oneOf":[{"type":"string","description":"Topic window used for classification coverage and initial backfill.","uniqueKey":"config.oneOf.6.backfill_time_range.oneOf.0","typeLabel":"string"},{"type":"object","description":"Topic window used for classification coverage and initial backfill.","required":["from","to"],"properties":{"from":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.backfill_time_range.oneOf.1.from","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.backfill_time_range.oneOf.1.to","typeLabel":"string"}},"uniqueKey":"config.oneOf.6.backfill_time_range.oneOf.1","typeLabel":"object"},{"type":"null","description":"Topic window used for classification coverage and initial backfill.","uniqueKey":"config.oneOf.6.backfill_time_range.oneOf.2","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.backfill_time_range","typeLabel":"string | object | null"}},"isRequired":true,"uniqueKey":"config.oneOf.6","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","scheduled_time_minutes_utc","action"],"properties":{"event_type":{"type":"string","enum":["topic_digest"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.7.event_type","typeLabel":"enum\u003cstring>"},"scheduled_time_minutes_utc":{"type":"integer","minimum":0,"maximum":1439,"description":"Minutes after midnight UTC when the digest should be sent","isRequired":true,"uniqueKey":"config.oneOf.7.scheduled_time_minutes_utc","typeLabel":"integer"},"action":{"type":"object","properties":{"type":{"type":"string","enum":["slack"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.7.action.type","typeLabel":"enum\u003cstring>"},"workspace_id":{"type":"string","description":"The Slack workspace ID to post to","isRequired":true,"uniqueKey":"config.oneOf.7.action.workspace_id","typeLabel":"string"},"channel":{"type":"string","description":"The Slack channel ID to post to","isRequired":true,"uniqueKey":"config.oneOf.7.action.channel","typeLabel":"string"},"message_template":{"type":"string","description":"Custom message template for the alert","uniqueKey":"config.oneOf.7.action.message_template","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.7.action.formatting_prompt","typeLabel":"string"}},"required":["type","workspace_id","channel"],"description":"The Slack action to take when the digest is sent","isRequired":true,"uniqueKey":"config.oneOf.7.action","typeLabel":"object"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.7.status","typeLabel":"enum\u003cstring>"},"window_seconds":{"type":"integer","minimum":3600,"maximum":2592000,"default":86400,"description":"How much recent history to include in each digest","uniqueKey":"config.oneOf.7.window_seconds","typeLabel":"integer"},"topic_map_function_ids":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.7.topic_map_function_ids.items.[INDEX]","typeLabel":"string"},"maxItems":10,"description":"Optional topic map function IDs to include in the digest","uniqueKey":"config.oneOf.7.topic_map_function_ids","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"config.oneOf.7","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config","typeLabel":"object"},"description":{"oneOf":[{"type":"string","description":"Textual description of the project automation","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Textual description of the project automation","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"}},"required":["project_id","name","config"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"project_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>","config":{"event_type":"logs","btql_filter":"\u003cstring>","interval_seconds":1296000.5,"action":{"type":"webhook","url":"\u003cstring>","formatting_prompt":"\u003cstring>"}},"description":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"edd56f14-d541-4f25-9be4-fc6ee83945da":{"description":"Returns the new project automation object","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the project automation","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"project_id":{"type":"string","format":"uuid","description":"Unique identifier for the project that the project automation belongs under","isRequired":true,"uniqueKey":"project_id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"Name of the project automation","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"config":{"oneOf":[{"type":"object","description":"The configuration for the automation rule","required":["event_type","btql_filter","interval_seconds","action"],"properties":{"event_type":{"type":"string","enum":["logs"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.0.event_type","typeLabel":"enum\u003cstring>"},"btql_filter":{"type":"string","description":"BTQL filter to identify rows for the automation rule","isRequired":true,"uniqueKey":"config.oneOf.0.btql_filter","typeLabel":"string"},"interval_seconds":{"type":"number","minimum":1,"maximum":2592000,"description":"Perform the triggered action at most once in this interval of seconds","isRequired":true,"uniqueKey":"config.oneOf.0.interval_seconds","typeLabel":"number"},"action":{"oneOf":[{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","url"],"properties":{"type":{"type":"string","enum":["webhook"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"The webhook URL to send the request to","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.0.url","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.0.action.oneOf.0.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.0","typeLabel":"object"},{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","workspace_id","channel"],"properties":{"type":{"type":"string","enum":["slack"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.1.type","typeLabel":"enum\u003cstring>"},"workspace_id":{"type":"string","description":"The Slack workspace ID to post to","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.1.workspace_id","typeLabel":"string"},"channel":{"type":"string","description":"The Slack channel ID to post to","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.1.channel","typeLabel":"string"},"message_template":{"type":"string","description":"Custom message template for the alert","uniqueKey":"config.oneOf.0.action.oneOf.1.message_template","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.0.action.oneOf.1.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.1","typeLabel":"object"},{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","routing_key_secret_name","severity"],"properties":{"type":{"type":"string","enum":["pagerduty"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.2.type","typeLabel":"enum\u003cstring>"},"routing_key_secret_name":{"type":"string","format":"uuid","description":"The data-plane secret containing the PagerDuty routing key","isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.2.routing_key_secret_name","typeLabel":"string\u003cuuid>"},"severity":{"type":"string","enum":["critical","error","warning","info"],"isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.2.severity","typeLabel":"enum\u003cstring>"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.0.action.oneOf.2.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.0.action.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config.oneOf.0.action","typeLabel":"object"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.0.status","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"config.oneOf.0","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","export_definition","export_path","format","interval_seconds","credentials"],"properties":{"event_type":{"type":"string","enum":["btql_export"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.1.event_type","typeLabel":"enum\u003cstring>"},"export_definition":{"oneOf":[{"type":"object","description":"The definition of what to export","required":["type"],"properties":{"type":{"type":"string","enum":["log_traces"],"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.0","typeLabel":"object"},{"type":"object","description":"The definition of what to export","required":["type"],"properties":{"type":{"type":"string","enum":["log_spans"],"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.1.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.1","typeLabel":"object"},{"type":"object","description":"The definition of what to export","required":["type","btql_query"],"properties":{"type":{"type":"string","enum":["btql_query"],"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.2.type","typeLabel":"enum\u003cstring>"},"btql_query":{"type":"string","description":"The BTQL query to export","isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.2.btql_query","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config.oneOf.1.export_definition","typeLabel":"object"},"export_path":{"type":"string","description":"The path to export the results to. It should include the storage protocol and prefix, e.g. s3://bucket-name/path/to/export","isRequired":true,"uniqueKey":"config.oneOf.1.export_path","typeLabel":"string"},"format":{"type":"string","enum":["jsonl","parquet"],"description":"The format to export the results in","isRequired":true,"uniqueKey":"config.oneOf.1.format","typeLabel":"enum\u003cstring>"},"interval_seconds":{"type":"number","minimum":1,"maximum":2592000,"description":"Perform the triggered action at most once in this interval of seconds","isRequired":true,"uniqueKey":"config.oneOf.1.interval_seconds","typeLabel":"number"},"credentials":{"oneOf":[{"type":"object","required":["type","role_arn","external_id"],"properties":{"type":{"type":"string","enum":["aws_iam"],"isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.0.type","typeLabel":"enum\u003cstring>"},"role_arn":{"type":"string","description":"The ARN of the IAM role to use","isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.0.role_arn","typeLabel":"string"},"external_id":{"type":"string","description":"The automation-specific external id component (auto-generated by default)","isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.0.external_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.0","typeLabel":"object"},{"type":"object","required":["type","service_account_email"],"properties":{"type":{"type":"string","enum":["gcp_service_account"],"isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.1.type","typeLabel":"enum\u003cstring>"},"service_account_email":{"type":"string","description":"The GCP service account email to impersonate","isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.1.service_account_email","typeLabel":"string"},"credential_name":{"type":"string","minLength":1,"description":"The name of a Google workload identity federation credential configured in this organization's AI providers. Supported data planes can use it regardless of hosting environment. If omitted, the data plane's GCP identity is used.","uniqueKey":"config.oneOf.1.credentials.oneOf.1.credential_name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.1.credentials.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config.oneOf.1.credentials","typeLabel":"object"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.1.status","typeLabel":"enum\u003cstring>"},"scope":{"oneOf":[{"type":"object","description":"Execution scope for export automation. Defaults to span-level execution.","required":["type"],"properties":{"type":{"type":"string","enum":["span"],"isRequired":true,"uniqueKey":"config.oneOf.1.scope.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.1.scope.oneOf.0","typeLabel":"object"},{"type":"object","description":"Execution scope for export automation. Defaults to span-level execution.","required":["type"],"properties":{"type":{"type":"string","enum":["trace"],"isRequired":true,"uniqueKey":"config.oneOf.1.scope.oneOf.1.type","typeLabel":"enum\u003cstring>"},"idle_seconds":{"type":"number","description":"Consider trace complete after this many seconds of inactivity (default: 30)","uniqueKey":"config.oneOf.1.scope.oneOf.1.idle_seconds","typeLabel":"number"}},"uniqueKey":"config.oneOf.1.scope.oneOf.1","typeLabel":"object"},{"type":"object","description":"Execution scope for export automation. Defaults to span-level execution.","required":["type","group_by","placement"],"properties":{"type":{"type":"string","enum":["group"],"isRequired":true,"uniqueKey":"config.oneOf.1.scope.oneOf.2.type","typeLabel":"enum\u003cstring>"},"group_by":{"type":"string","description":"Field path to group by, e.g. metadata.session_id","isRequired":true,"uniqueKey":"config.oneOf.1.scope.oneOf.2.group_by","typeLabel":"string"},"placement":{"type":"string","enum":["first","each"],"description":"Which trace or traces to write grouped scorer results to","isRequired":true,"uniqueKey":"config.oneOf.1.scope.oneOf.2.placement","typeLabel":"enum\u003cstring>"},"interval_seconds":{"type":"number","minimum":1,"description":"Maximum time range to include when constructing a group","uniqueKey":"config.oneOf.1.scope.oneOf.2.interval_seconds","typeLabel":"number"},"max_traces":{"type":"integer","minimum":1,"maximum":64,"description":"Maximum number of traces to include when constructing a group (default/max: 64)","uniqueKey":"config.oneOf.1.scope.oneOf.2.max_traces","typeLabel":"integer"},"idle_seconds":{"type":"number","description":"Optional: trigger after this many seconds of inactivity","uniqueKey":"config.oneOf.1.scope.oneOf.2.idle_seconds","typeLabel":"number"}},"uniqueKey":"config.oneOf.1.scope.oneOf.2","typeLabel":"object"},{"type":"null","description":"Execution scope for export automation. Defaults to span-level execution.","uniqueKey":"config.oneOf.1.scope.oneOf.3","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.scope","typeLabel":"object · object · object · null"},"batch_size":{"oneOf":[{"type":"number","description":"The number of rows to export in each batch","uniqueKey":"config.oneOf.1.batch_size.oneOf.0","typeLabel":"number"},{"type":"null","description":"The number of rows to export in each batch","uniqueKey":"config.oneOf.1.batch_size.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.1.batch_size","typeLabel":"number | null"}},"isRequired":true,"uniqueKey":"config.oneOf.1","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","created_by_user_id","object_type","object_id","query","format"],"properties":{"event_type":{"type":"string","enum":["async_query"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.2.event_type","typeLabel":"enum\u003cstring>"},"created_by_user_id":{"type":"string","format":"uuid","description":"The user who submitted the async query","isRequired":true,"uniqueKey":"config.oneOf.2.created_by_user_id","typeLabel":"string\u003cuuid>"},"object_type":{"type":"string","enum":["project_logs","experiment","dataset","playground_logs"],"description":"The source object type for the async query","isRequired":true,"uniqueKey":"config.oneOf.2.object_type","typeLabel":"enum\u003cstring>"},"object_id":{"type":"string","description":"The source object ID for the async query","isRequired":true,"uniqueKey":"config.oneOf.2.object_id","typeLabel":"string"},"query":{"type":"string","description":"The SQL query to execute asynchronously","isRequired":true,"uniqueKey":"config.oneOf.2.query","typeLabel":"string"},"format":{"type":"string","enum":["jsonl"],"description":"The materialized result format","isRequired":true,"uniqueKey":"config.oneOf.2.format","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.2.status","typeLabel":"enum\u003cstring>"},"batch_size":{"oneOf":[{"type":"integer","exclusiveMinimum":0,"maximum":100000,"description":"The maximum number of result rows to write per async query batch","uniqueKey":"config.oneOf.2.batch_size.oneOf.0","typeLabel":"integer"},{"type":"null","exclusiveMinimum":0,"maximum":100000,"description":"The maximum number of result rows to write per async query batch","uniqueKey":"config.oneOf.2.batch_size.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.2.batch_size","typeLabel":"integer | null"}},"isRequired":true,"uniqueKey":"config.oneOf.2","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","object_type","retention_days"],"properties":{"event_type":{"type":"string","enum":["retention"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.3.event_type","typeLabel":"enum\u003cstring>"},"object_type":{"type":"string","enum":["project_logs","experiment","dataset"],"description":"The object type that the retention policy applies to","isRequired":true,"uniqueKey":"config.oneOf.3.object_type","typeLabel":"enum\u003cstring>"},"retention_days":{"type":"integer","minimum":0,"description":"The number of days to retain the object","isRequired":true,"uniqueKey":"config.oneOf.3.retention_days","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"config.oneOf.3","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","action"],"properties":{"event_type":{"type":"string","enum":["environment_update"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.4.event_type","typeLabel":"enum\u003cstring>"},"action":{"oneOf":[{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","url"],"properties":{"type":{"type":"string","enum":["webhook"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"The webhook URL to send the request to","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.0.url","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.4.action.oneOf.0.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.0","typeLabel":"object"},{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","workspace_id","channel"],"properties":{"type":{"type":"string","enum":["slack"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.1.type","typeLabel":"enum\u003cstring>"},"workspace_id":{"type":"string","description":"The Slack workspace ID to post to","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.1.workspace_id","typeLabel":"string"},"channel":{"type":"string","description":"The Slack channel ID to post to","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.1.channel","typeLabel":"string"},"message_template":{"type":"string","description":"Custom message template for the alert","uniqueKey":"config.oneOf.4.action.oneOf.1.message_template","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.4.action.oneOf.1.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.1","typeLabel":"object"},{"type":"object","description":"The action to take when the automation rule is triggered","required":["type","routing_key_secret_name","severity"],"properties":{"type":{"type":"string","enum":["pagerduty"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.2.type","typeLabel":"enum\u003cstring>"},"routing_key_secret_name":{"type":"string","format":"uuid","description":"The data-plane secret containing the PagerDuty routing key","isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.2.routing_key_secret_name","typeLabel":"string\u003cuuid>"},"severity":{"type":"string","enum":["critical","error","warning","info"],"isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.2.severity","typeLabel":"enum\u003cstring>"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.4.action.oneOf.2.formatting_prompt","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.4.action.oneOf.2","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config.oneOf.4.action","typeLabel":"object"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.4.status","typeLabel":"enum\u003cstring>"},"environment_filter":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.4.environment_filter.items.[INDEX]","typeLabel":"string"},"description":"Optional list of environment slugs to filter by","uniqueKey":"config.oneOf.4.environment_filter","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"config.oneOf.4","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","window"],"properties":{"event_type":{"type":"string","enum":["windowed"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.5.event_type","typeLabel":"enum\u003cstring>"},"window":{"type":"object","properties":{"window_seconds":{"type":"integer","minimum":1,"maximum":2592000,"description":"How much recent data each scheduled run covers","isRequired":true,"uniqueKey":"config.oneOf.5.window.window_seconds","typeLabel":"integer"},"schedule":{"oneOf":[{"type":"object","description":"How often the windowed automation runs: at a fixed interval or on a cron schedule","required":["type","evaluation_interval_seconds"],"properties":{"type":{"type":"string","enum":["interval"],"isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.0.type","typeLabel":"enum\u003cstring>"},"evaluation_interval_seconds":{"type":"integer","minimum":1,"maximum":2592000,"description":"How often the automation runs","isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.0.evaluation_interval_seconds","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.0","typeLabel":"object"},{"type":"object","description":"How often the windowed automation runs: at a fixed interval or on a cron schedule","required":["type","cron_expression"],"properties":{"type":{"type":"string","enum":["cron"],"isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.1.type","typeLabel":"enum\u003cstring>"},"cron_expression":{"type":"string","minLength":1,"description":"A standard five-field cron expression (minute hour day-of-month month day-of-week) controlling when the automation runs","isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.1.cron_expression","typeLabel":"string"},"timezone":{"oneOf":[{"type":"string","minLength":1,"description":"IANA timezone used to interpret the cron expression (defaults to UTC)","uniqueKey":"config.oneOf.5.window.schedule.oneOf.1.timezone.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"IANA timezone used to interpret the cron expression (defaults to UTC)","uniqueKey":"config.oneOf.5.window.schedule.oneOf.1.timezone.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.window.schedule.oneOf.1.timezone","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config.oneOf.5.window.schedule","typeLabel":"object"},"evaluation_delay_seconds":{"type":"integer","minimum":0,"maximum":2592000,"description":"How far behind the present each evaluation window ends","isRequired":true,"uniqueKey":"config.oneOf.5.window.evaluation_delay_seconds","typeLabel":"integer"}},"required":["window_seconds","schedule","evaluation_delay_seconds"],"isRequired":true,"uniqueKey":"config.oneOf.5.window","typeLabel":"object"},"product_origin":{"oneOf":[{"type":"string","enum":["patterns","dashboard",null],"description":"The product surface that created and manages the automation","uniqueKey":"config.oneOf.5.product_origin.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["patterns","dashboard",null],"description":"The product surface that created and manages the automation","uniqueKey":"config.oneOf.5.product_origin.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.product_origin","typeLabel":"enum\u003cstring> | null"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.5.status","typeLabel":"enum\u003cstring>"},"continuous":{"type":"boolean","description":"Between scheduled runs, check for accumulated new work. The executor decides how to process it.","uniqueKey":"config.oneOf.5.continuous","typeLabel":"boolean"},"threshold":{"type":"object","properties":{"calculation":{"type":"object","description":"The calculation evaluated for each window","required":["type","btql_query","output"],"properties":{"type":{"type":"string","enum":["btql"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation.type","typeLabel":"enum\u003cstring>"},"btql_query":{"type":"string","minLength":1,"description":"A project-scoped BTQL or SQL query without runtime-owned evaluation time bounds","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation.btql_query","typeLabel":"string"},"output":{"type":"object","properties":{"type":{"type":"string","enum":["scalar"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation.output.type","typeLabel":"enum\u003cstring>"},"value_column":{"type":"string","minLength":1,"description":"The numeric result column produced by the query","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation.output.value_column","typeLabel":"string"}},"required":["type","value_column"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation.output","typeLabel":"object"}},"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.calculation","typeLabel":"object"},"policy":{"type":"object","properties":{"condition":{"type":"object","properties":{"type":{"type":"string","enum":["threshold"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.condition.type","typeLabel":"enum\u003cstring>"},"operator":{"type":"string","enum":["lt","lte","gt","gte","eq","neq"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.condition.operator","typeLabel":"enum\u003cstring>"},"threshold":{"type":"number","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.condition.threshold","typeLabel":"number"}},"required":["type","operator","threshold"],"isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.condition","typeLabel":"object"},"pending_seconds":{"type":"integer","minimum":0,"maximum":2592000,"description":"How long the condition must remain breached before firing","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.pending_seconds","typeLabel":"integer"},"no_data_behavior":{"type":"string","enum":["keep_last","resolve","alert"],"description":"How the lifecycle changes when the calculation returns no data","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy.no_data_behavior","typeLabel":"enum\u003cstring>"},"renotify_interval_seconds":{"oneOf":[{"type":"integer","minimum":1,"maximum":2592000,"description":"Optional reminder interval while the automation is firing","uniqueKey":"config.oneOf.5.threshold.policy.renotify_interval_seconds.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"maximum":2592000,"description":"Optional reminder interval while the automation is firing","uniqueKey":"config.oneOf.5.threshold.policy.renotify_interval_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.5.threshold.policy.renotify_interval_seconds","typeLabel":"integer | null"},"notify_on_recovery":{"type":"boolean","default":true,"description":"Whether to deliver actions when a firing automation recovers","uniqueKey":"config.oneOf.5.threshold.policy.notify_on_recovery","typeLabel":"boolean"}},"required":["condition","pending_seconds","no_data_behavior"],"description":"The lifecycle policy applied to each calculation result","isRequired":true,"uniqueKey":"config.oneOf.5.threshold.policy","typeLabel":"object"}},"required":["calculation","policy"],"description":"Optional calculation and lifecycle policy that gate scheduled delivery","uniqueKey":"config.oneOf.5.threshold","typeLabel":"object"},"loop":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for the Loop agent","isRequired":true,"uniqueKey":"config.oneOf.5.loop.prompt","typeLabel":"string"},"agent_slug":{"type":"string","minLength":1,"description":"The Loop agent to run","isRequired":true,"uniqueKey":"config.oneOf.5.loop.agent_slug","typeLabel":"string"},"include_trigger_input":{"type":"boolean","default":false,"description":"Whether to include the automation trigger payload as input","uniqueKey":"config.oneOf.5.loop.include_trigger_input","typeLabel":"boolean"},"auto_approve_tools":{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"config.oneOf.5.loop.auto_approve_tools.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Write tools that may run without interactive approval","uniqueKey":"config.oneOf.5.loop.auto_approve_tools","typeLabel":"string[]"},"harness":{"type":"string","enum":["native","codex","claude-code","pi"],"description":"Required for an explicit model selection. Currently only Codex is supported.","uniqueKey":"config.oneOf.5.loop.harness","typeLabel":"enum\u003cstring>"},"model":{"type":"string","minLength":1,"description":"Omit harness, model, and endpoint_name to inherit the organization default provider and its recommended execution settings.","uniqueKey":"config.oneOf.5.loop.model","typeLabel":"string"},"endpoint_name":{"type":"string","minLength":1,"uniqueKey":"config.oneOf.5.loop.endpoint_name","typeLabel":"string"},"reasoning_effort":{"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"],"uniqueKey":"config.oneOf.5.loop.reasoning_effort","typeLabel":"enum\u003cstring>"},"target":{"type":"object","properties":{"type":{"type":"string","enum":["dashboard"],"isRequired":true,"uniqueKey":"config.oneOf.5.loop.target.type","typeLabel":"enum\u003cstring>"},"id":{"oneOf":[{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"config.oneOf.5.loop.target.id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"string","enum":["overview"],"isRequired":true,"uniqueKey":"config.oneOf.5.loop.target.id.oneOf.1","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"config.oneOf.5.loop.target.id","typeLabel":"string\u003cuuid> | enum\u003cstring>"}},"required":["type","id"],"description":"The object this automation writes to or maintains","uniqueKey":"config.oneOf.5.loop.target","typeLabel":"object"}},"required":["prompt","agent_slug"],"description":"Optional Loop agent to run for each triggered window","uniqueKey":"config.oneOf.5.loop","typeLabel":"object"},"actions":{"type":"array","items":{"oneOf":[{"type":"object","description":"A delivery action available to an automation","required":["type","url"],"properties":{"type":{"type":"string","enum":["webhook"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"The webhook URL to send the request to","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.0.url","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.0.formatting_prompt","typeLabel":"string"}},"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"A delivery action available to an automation","required":["type","workspace_id","channel"],"properties":{"type":{"type":"string","enum":["slack"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"workspace_id":{"type":"string","description":"The Slack workspace ID to post to","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1.workspace_id","typeLabel":"string"},"channel":{"type":"string","description":"The Slack channel ID to post to","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1.channel","typeLabel":"string"},"message_template":{"type":"string","description":"Custom message template for the alert","uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1.message_template","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1.formatting_prompt","typeLabel":"string"}},"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"A delivery action available to an automation","required":["type","routing_key_secret_name","severity"],"properties":{"type":{"type":"string","enum":["pagerduty"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"routing_key_secret_name":{"type":"string","format":"uuid","description":"The data-plane secret containing the PagerDuty routing key","isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.2.routing_key_secret_name","typeLabel":"string\u003cuuid>"},"severity":{"type":"string","enum":["critical","error","warning","info"],"isRequired":true,"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.2.severity","typeLabel":"enum\u003cstring>"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.2.formatting_prompt","typeLabel":"string"}},"uniqueKey":"config.oneOf.5.actions.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"config.oneOf.5.actions.items.[INDEX]","typeLabel":"object"},"maxItems":20,"default":[],"description":"Delivery actions exposed to Loop as tools, or run directly when Loop is not configured","uniqueKey":"config.oneOf.5.actions","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"config.oneOf.5","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","sampling_rate","facet_functions","topic_map_functions"],"properties":{"event_type":{"type":"string","enum":["topic"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.6.event_type","typeLabel":"enum\u003cstring>"},"sampling_rate":{"type":"number","minimum":0,"maximum":1,"description":"The sampling rate for topic automation","isRequired":true,"uniqueKey":"config.oneOf.6.sampling_rate","typeLabel":"number"},"facet_functions":{"type":"array","items":{"oneOf":[{"type":"object","title":"function","description":"Optional function identifier that produced the classification","required":["type","id"],"properties":{"type":{"type":"string","enum":["function"],"isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.0.id","typeLabel":"string"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.0.version","typeLabel":"string"}},"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.0","typeLabel":"function · object"},{"type":"object","title":"global","description":"Optional function identifier that produced the classification","required":["type","name","id"],"properties":{"type":{"type":"string","enum":[],"isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1.id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1.name","typeLabel":"string"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1.version","typeLabel":"string"},"function_type":{"type":"string","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1.function_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.1","typeLabel":"global · object"},{"type":"object","title":"function","description":"Optional function identifier that produced the classification","required":["type","id","name"],"properties":{"type":{"type":"string","enum":[],"isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2.name","typeLabel":"string"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2.id","typeLabel":"string"},"function_type":{"type":"string","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2.function_type","typeLabel":"enum\u003cstring>"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2.version","typeLabel":"string"}},"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.2","typeLabel":"function · object"},{"type":"object","title":"global","description":"Optional function identifier that produced the classification","required":["type","name"],"properties":{"type":{"type":"string","enum":["global"],"isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.3.name","typeLabel":"string"},"function_type":{"type":"string","description":"The type of global function. Defaults to 'scorer'.","default":"scorer","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.3.function_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX].oneOf.3","typeLabel":"global · object"}],"uniqueKey":"config.oneOf.6.facet_functions.items.[INDEX]","typeLabel":"function · object · global · object · function · object · global · object"},"description":"Facet functions used by the topic automation","isRequired":true,"uniqueKey":"config.oneOf.6.facet_functions","typeLabel":"function · object · global · object · function · object · global · object[]"},"topic_map_functions":{"type":"array","items":{"type":"object","properties":{"function":{"oneOf":[{"type":"object","title":"function","description":"Topic map function","required":["type","id"],"properties":{"type":{"type":"string","enum":["function"],"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.0.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.0.id","typeLabel":"string"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.0.version","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.0","typeLabel":"function · object"},{"type":"object","title":"global","description":"Topic map function","required":["type","name","id"],"properties":{"type":{"type":"string","enum":[],"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1.type","typeLabel":"enum\u003cstring>"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1.id","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1.name","typeLabel":"string"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1.version","typeLabel":"string"},"function_type":{"type":"string","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1.function_type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.1","typeLabel":"global · object"},{"type":"object","title":"function","description":"Topic map function","required":["type","id","name"],"properties":{"type":{"type":"string","enum":[],"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2.name","typeLabel":"string"},"id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2.id","typeLabel":"string"},"function_type":{"type":"string","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"default":"scorer","description":"The type of global function. Defaults to 'scorer'.","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2.function_type","typeLabel":"enum\u003cstring>"},"version":{"type":"string","description":"The version of the function","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2.version","typeLabel":"string"}},"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.2","typeLabel":"function · object"},{"type":"object","title":"global","description":"Topic map function","required":["type","name"],"properties":{"type":{"type":"string","enum":["global"],"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.3.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.3.name","typeLabel":"string"},"function_type":{"type":"string","description":"The type of global function. Defaults to 'scorer'.","default":"scorer","enum":["llm","scorer","task","tool","custom_view","preprocessor","facet","classifier","tag","parameters","sandbox"],"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.3.function_type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function.oneOf.3","typeLabel":"global · object"}],"isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].function","typeLabel":"function · object · global · object · function · object · global · object"},"btql_filter":{"oneOf":[{"type":"string","description":"Per-topic-map BTQL filter. For trace scope, a topic map runs when max(filter) over the trace is truthy. For span scope, it runs when the current span matches.","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].btql_filter.oneOf.0","typeLabel":"string"},{"type":"null","description":"Per-topic-map BTQL filter. For trace scope, a topic map runs when max(filter) over the trace is truthy. For span scope, it runs when the current span matches.","uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].btql_filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX].btql_filter","typeLabel":"string | null"}},"required":["function"],"uniqueKey":"config.oneOf.6.topic_map_functions.items.[INDEX]","typeLabel":"object"},"description":"Topic map functions with optional per-topic-map filters","isRequired":true,"uniqueKey":"config.oneOf.6.topic_map_functions","typeLabel":"object[]"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.6.status","typeLabel":"enum\u003cstring>"},"facet_model":{"oneOf":[{"type":"string","enum":["brain-facet-latest","brain-facet-1","brain-facet-2",null],"description":"Optional facet model override for topic automation","uniqueKey":"config.oneOf.6.facet_model.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["brain-facet-latest","brain-facet-1","brain-facet-2",null],"description":"Optional facet model override for topic automation","uniqueKey":"config.oneOf.6.facet_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.facet_model","typeLabel":"enum\u003cstring> | null"},"scope":{"oneOf":[{"type":"object","description":"Execution scope for topic automation.","required":["type"],"properties":{"type":{"type":"string","enum":["span"],"isRequired":true,"uniqueKey":"config.oneOf.6.scope.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.6.scope.oneOf.0","typeLabel":"object"},{"type":"object","description":"Execution scope for topic automation.","required":["type"],"properties":{"type":{"type":"string","enum":["trace"],"isRequired":true,"uniqueKey":"config.oneOf.6.scope.oneOf.1.type","typeLabel":"enum\u003cstring>"},"idle_seconds":{"type":"number","description":"Consider trace complete after this many seconds of inactivity (default: 30)","uniqueKey":"config.oneOf.6.scope.oneOf.1.idle_seconds","typeLabel":"number"}},"uniqueKey":"config.oneOf.6.scope.oneOf.1","typeLabel":"object"},{"type":"object","description":"Execution scope for topic automation.","required":["type","group_by","placement"],"properties":{"type":{"type":"string","enum":["group"],"isRequired":true,"uniqueKey":"config.oneOf.6.scope.oneOf.2.type","typeLabel":"enum\u003cstring>"},"group_by":{"type":"string","description":"Field path to group by, e.g. metadata.session_id","isRequired":true,"uniqueKey":"config.oneOf.6.scope.oneOf.2.group_by","typeLabel":"string"},"placement":{"type":"string","enum":["first","each"],"description":"Which trace or traces to write grouped scorer results to","isRequired":true,"uniqueKey":"config.oneOf.6.scope.oneOf.2.placement","typeLabel":"enum\u003cstring>"},"interval_seconds":{"type":"number","minimum":1,"description":"Maximum time range to include when constructing a group","uniqueKey":"config.oneOf.6.scope.oneOf.2.interval_seconds","typeLabel":"number"},"max_traces":{"type":"integer","minimum":1,"maximum":64,"description":"Maximum number of traces to include when constructing a group (default/max: 64)","uniqueKey":"config.oneOf.6.scope.oneOf.2.max_traces","typeLabel":"integer"},"idle_seconds":{"type":"number","description":"Optional: trigger after this many seconds of inactivity","uniqueKey":"config.oneOf.6.scope.oneOf.2.idle_seconds","typeLabel":"number"}},"uniqueKey":"config.oneOf.6.scope.oneOf.2","typeLabel":"object"},{"type":"null","description":"Execution scope for topic automation.","uniqueKey":"config.oneOf.6.scope.oneOf.3","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.scope","typeLabel":"object · object · object · null"},"data_scope":{"oneOf":[{"type":"object","description":"Optional data scope for topic automation.","required":["type"],"properties":{"type":{"type":"string","enum":["project_logs"],"isRequired":true,"uniqueKey":"config.oneOf.6.data_scope.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.6.data_scope.oneOf.0","typeLabel":"object"},{"type":"object","description":"Optional data scope for topic automation.","required":["type"],"properties":{"type":{"type":"string","enum":["project_experiments"],"isRequired":true,"uniqueKey":"config.oneOf.6.data_scope.oneOf.1.type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"config.oneOf.6.data_scope.oneOf.1","typeLabel":"object"},{"type":"object","description":"Optional data scope for topic automation.","required":["type","experiment_id"],"properties":{"type":{"type":"string","enum":["experiment"],"isRequired":true,"uniqueKey":"config.oneOf.6.data_scope.oneOf.2.type","typeLabel":"enum\u003cstring>"},"experiment_id":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.data_scope.oneOf.2.experiment_id","typeLabel":"string"}},"uniqueKey":"config.oneOf.6.data_scope.oneOf.2","typeLabel":"object"},{"type":"null","description":"Optional data scope for topic automation.","uniqueKey":"config.oneOf.6.data_scope.oneOf.3","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.data_scope","typeLabel":"object · object · object · null"},"btql_filter":{"oneOf":[{"type":"string","description":"Optional BTQL filter applied before topic automation.","uniqueKey":"config.oneOf.6.btql_filter.oneOf.0","typeLabel":"string"},{"type":"null","description":"Optional BTQL filter applied before topic automation.","uniqueKey":"config.oneOf.6.btql_filter.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.btql_filter","typeLabel":"string | null"},"rerun_seconds":{"oneOf":[{"type":"number","minimum":600,"description":"How often to recompute topic maps","uniqueKey":"config.oneOf.6.rerun_seconds.oneOf.0","typeLabel":"number"},{"type":"null","minimum":600,"description":"How often to recompute topic maps","uniqueKey":"config.oneOf.6.rerun_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.rerun_seconds","typeLabel":"number | null"},"relabel_overlap_seconds":{"oneOf":[{"type":"number","minimum":60,"description":"Deprecated. How much recent history to relabel after a new topic map version becomes active. Data planes v2.15.0 and later ignore this and apply a topic map version after the first only to traces classified once it is active.","uniqueKey":"config.oneOf.6.relabel_overlap_seconds.oneOf.0","typeLabel":"number"},{"type":"null","minimum":60,"description":"Deprecated. How much recent history to relabel after a new topic map version becomes active. Data planes v2.15.0 and later ignore this and apply a topic map version after the first only to traces classified once it is active.","uniqueKey":"config.oneOf.6.relabel_overlap_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.relabel_overlap_seconds","typeLabel":"number | null"},"backfill_time_range":{"oneOf":[{"type":"string","description":"Topic window used for classification coverage and initial backfill.","uniqueKey":"config.oneOf.6.backfill_time_range.oneOf.0","typeLabel":"string"},{"type":"object","description":"Topic window used for classification coverage and initial backfill.","required":["from","to"],"properties":{"from":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.backfill_time_range.oneOf.1.from","typeLabel":"string"},"to":{"type":"string","isRequired":true,"uniqueKey":"config.oneOf.6.backfill_time_range.oneOf.1.to","typeLabel":"string"}},"uniqueKey":"config.oneOf.6.backfill_time_range.oneOf.1","typeLabel":"object"},{"type":"null","description":"Topic window used for classification coverage and initial backfill.","uniqueKey":"config.oneOf.6.backfill_time_range.oneOf.2","typeLabel":"null"}],"uniqueKey":"config.oneOf.6.backfill_time_range","typeLabel":"string | object | null"}},"isRequired":true,"uniqueKey":"config.oneOf.6","typeLabel":"object"},{"type":"object","description":"The configuration for the automation rule","required":["event_type","scheduled_time_minutes_utc","action"],"properties":{"event_type":{"type":"string","enum":["topic_digest"],"description":"The type of automation.","isRequired":true,"uniqueKey":"config.oneOf.7.event_type","typeLabel":"enum\u003cstring>"},"scheduled_time_minutes_utc":{"type":"integer","minimum":0,"maximum":1439,"description":"Minutes after midnight UTC when the digest should be sent","isRequired":true,"uniqueKey":"config.oneOf.7.scheduled_time_minutes_utc","typeLabel":"integer"},"action":{"type":"object","properties":{"type":{"type":"string","enum":["slack"],"description":"The type of action to take","isRequired":true,"uniqueKey":"config.oneOf.7.action.type","typeLabel":"enum\u003cstring>"},"workspace_id":{"type":"string","description":"The Slack workspace ID to post to","isRequired":true,"uniqueKey":"config.oneOf.7.action.workspace_id","typeLabel":"string"},"channel":{"type":"string","description":"The Slack channel ID to post to","isRequired":true,"uniqueKey":"config.oneOf.7.action.channel","typeLabel":"string"},"message_template":{"type":"string","description":"Custom message template for the alert","uniqueKey":"config.oneOf.7.action.message_template","typeLabel":"string"},"formatting_prompt":{"type":"string","minLength":1,"maxLength":10000,"description":"Instructions for Loop to format content sent to this destination","uniqueKey":"config.oneOf.7.action.formatting_prompt","typeLabel":"string"}},"required":["type","workspace_id","channel"],"description":"The Slack action to take when the digest is sent","isRequired":true,"uniqueKey":"config.oneOf.7.action","typeLabel":"object"},"status":{"type":"string","enum":["active","paused"],"description":"Whether the automation is active or paused.","uniqueKey":"config.oneOf.7.status","typeLabel":"enum\u003cstring>"},"window_seconds":{"type":"integer","minimum":3600,"maximum":2592000,"default":86400,"description":"How much recent history to include in each digest","uniqueKey":"config.oneOf.7.window_seconds","typeLabel":"integer"},"topic_map_function_ids":{"type":"array","items":{"type":"string","uniqueKey":"config.oneOf.7.topic_map_function_ids.items.[INDEX]","typeLabel":"string"},"maxItems":10,"description":"Optional topic map function IDs to include in the digest","uniqueKey":"config.oneOf.7.topic_map_function_ids","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"config.oneOf.7","typeLabel":"object"}],"isRequired":true,"uniqueKey":"config","typeLabel":"object"},"user_id":{"oneOf":[{"type":"string","format":"uuid","description":"Identifies the user who created the project automation","uniqueKey":"user_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Identifies the user who created the project automation","uniqueKey":"user_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"user_id","typeLabel":"string\u003cuuid> | null"},"created":{"oneOf":[{"type":"string","format":"date-time","description":"Date of project automation creation","uniqueKey":"created.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Date of project automation creation","uniqueKey":"created.oneOf.1","typeLabel":"null"}],"uniqueKey":"created","typeLabel":"string\u003cdate-time> | null"},"description":{"oneOf":[{"type":"string","description":"Textual description of the project automation","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Textual description of the project automation","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"runtime_block":{"type":"object","properties":{"reason":{"type":"string","isRequired":true,"uniqueKey":"runtime_block.reason","typeLabel":"string"},"model":{"type":"string","isRequired":true,"uniqueKey":"runtime_block.model","typeLabel":"string"}},"required":["reason","model"],"uniqueKey":"runtime_block","typeLabel":"object"}},"required":["id","project_id","name","config"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","project_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","name":"\u003cstring>","config":{"event_type":"logs","btql_filter":"\u003cstring>","interval_seconds":1296000.5,"action":{"type":"webhook","url":"\u003cstring>","formatting_prompt":"\u003cstring>"},"status":"active"},"user_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","created":"2023-11-07T05:31:56Z","description":"\u003cstring>","runtime_block":{"reason":"\u003cstring>","model":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"473dc596-441b-4ed4-9111-d8fdddc401a8":{"description":"The request was unacceptable, often due to missing a required parameter","content":{"text/plain":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"},"application/json":{"schema":{}}},"exampleType":"generated"},"48e4d4dc-d3d0-4d1c-bc11-9b46a0dab3a0":{"description":"No valid API key provided","content":{"text/plain":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"},"application/json":{"schema":{}}},"exampleType":"generated"},"07108845-db72-4e84-b125-4e2ef2e8d4a6":{"description":"The API key doesn’t have permissions to perform the request","content":{"text/plain":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"},"application/json":{"schema":{}}},"exampleType":"generated"},"c51ca250-4027-482d-a5e6-5425f5877fc5":{"description":"Too many requests hit the API too quickly. We recommend an exponential backoff of your requests","headers":{"Retry-After":{"schema":{"type":"string"}}},"content":{"text/plain":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"},"application/json":{"schema":{}}},"exampleType":"generated"},"59b5692e-91ba-498b-a51c-c4b785e34c4e":{"description":"Something went wrong on Braintrust's end. (These are rare.)","content":{"text/plain":{"schema":{"type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"},"application/json":{"schema":{}}},"exampleType":"generated"}},"security":{"6ae798aa-2f0b-4947-9c82-c95d96df4992":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key or JWT","description":"Most Braintrust endpoints are authenticated by providing your API key as a header `Authorization: Bearer [api_key]` to your HTTP request. You can create an API key in the Braintrust [organization settings page](https://www.braintrustdata.com/app/settings?subroute=api-keys).","scopes":[],"schemeName":"bearerAuth"}},"734498ec-4d1d-4f8f-a4b1-c01d2a66516b":{}},"servers":{"1d9d417d-d904-4567-b8c6-4e98adac3af2":{"url":"https://api.braintrust.dev"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API key or JWT","description":"Most Braintrust endpoints are authenticated by providing your API key as a header `Authorization: Bearer [api_key]` to your HTTP request. You can create an API key in the Braintrust [organization settings page](https://www.braintrustdata.com/app/settings?subroute=api-keys).","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Most Braintrust endpoints are authenticated by providing your API key as a header `Authorization: Bearer [api_key]` to your HTTP request. You can create an API key in the Braintrust [organization settings page](https://www.braintrustdata.com/app/settings?subroute=api-keys).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"braintrust","siteName":"Braintrust","title":"Create project automation - Braintrust","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T19:52:52.225Z","originalFileLocation":"api-reference/projectautomations/create-project-automation.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a new project automation. If there is an existing project automation with the same name as the one specified in the request, will return the existing project automation unmodified\">\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=\"Create project automation - Braintrust\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new project automation. If there is an existing project automation with the same name as the one specified in the request, will return the existing project automation unmodified\">\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/api-reference/projectautomations/create-project-automation\">\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=Get+started\">\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=\"Create project automation - Braintrust\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new project automation. If there is an existing project automation with the same name as the one specified in the request, will return the existing project automation unmodified\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://www.braintrust.dev/og?template=docs\u0026amp;title=Get+started\">\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/api-reference/projectautomations/create-project-automation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/projectautomations/create-project-automation.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/api-reference/projectautomations/create-project-automation#webpage\",\"url\":\"https://docs.braintrust.dev/api-reference/projectautomations/create-project-automation\",\"name\":\"Create project automation\",\"description\":\"Create a new project automation. If there is an existing project automation with the same name as the one specified in the request, will return the existing project automation unmodified\",\"dateModified\":\"2026-10-30T19:52:52.225Z\",\"isPartOf\":{\"@id\":\"https://docs.braintrust.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.braintrust.dev/api-reference/projectautomations/create-project-automation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.braintrust.dev/api-reference/projectautomations/create-project-automation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API\",\"item\":\"https://docs.braintrust.dev/api-reference/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Resources\",\"item\":\"https://docs.braintrust.dev/api-reference/projects/list-projects\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"ProjectAutomations\",\"item\":\"https://docs.braintrust.dev/api-reference/projectautomations/list-project-automations\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Create project automation\",\"item\":\"https://docs.braintrust.dev/api-reference/projectautomations/create-project-automation\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.braintrust.dev/api-reference/projectautomations/create-project-automation#apireference\",\"headline\":\"Create project automation\",\"name\":\"Create project automation\",\"description\":\"Create a new project automation. If there is an existing project automation with the same name as the one specified in the request, will return the existing project automation unmodified\",\"url\":\"https://docs.braintrust.dev/api-reference/projectautomations/create-project-automation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.braintrust.dev/api-reference/projectautomations/create-project-automation#webpage\"},\"image\":\"https://www.braintrust.dev/og?template=docs\u0026title=Get+started\",\"dateModified\":\"2026-10-30T19:52:52.225Z\",\"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":[{"title":"Guides","href":""}]},{"tab":"Integrations","icon":"plug","pages":[{"title":"Integrations","href":"/integrations"}]},{"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","description":"Create or replace project automation. If there is an existing project automation with the same name as the one specified in the request, will replace the existing project automation with the provided fields","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","description":"Get a project automation object by its id","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","href":"/cookbook"}]},{"tab":"Troubleshooting","icon":"wrench","pages":[{"title":"Troubleshooting","href":"/kb"}]},{"tab":"Changelog","icon":"mailbox","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Create project automation - Braintrust","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}