Create several Classifier metrics at once (classifier metrics only)
Creates CLASSIFIER metrics only. Each item takes a classifierQuestion and an optional evaluatorModelName, and no source or judge prompt. To create metrics of any source in one call, use POST /metrics/batch. Each metric gets the classifier model its item names, or the one selectable classifier model when the item names none, and is linked to the specifications it names. All or nothing, so a refused item creates no metric and no link. A name already used in the organization is refused with every taken name quoted in the message. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and for an item that names none while several are selectable.
POST
/
metrics
/
bulk
Create several Classifier metrics at once (classifier metrics only)
API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Galtea Docs","colors":{"primary":"#5286FF","light":"#A9E3FE","dark":"#171717"},"logo":{"light":"https://mintcdn.com/galtea/t4BZ_SsOYjDJqfd8/logo/light.svg?fit=max\u0026auto=format\u0026n=t4BZ_SsOYjDJqfd8\u0026q=85\u0026s=52a5941e3fa4d5af453da96cfa8d07e5","dark":"https://mintcdn.com/galtea/t4BZ_SsOYjDJqfd8/logo/dark.svg?fit=max\u0026auto=format\u0026n=t4BZ_SsOYjDJqfd8\u0026q=85\u0026s=0ea251446a97e2cd0bb0e9de1b049412"},"favicon":"https://mintcdn.com/galtea/sKxmtq77X98SiOSi/favicon.png?fit=max\u0026auto=format\u0026n=sKxmtq77X98SiOSi\u0026q=85\u0026s=a297a4f88e5dd07d7858dc2998dfe3ce","appearance":{"default":"system","strict":false},"background":{"color":{"light":"#f6f6f5","dark":"#09090a"}},"navbar":{"links":[{"href":"mailto:support@galtea.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://platform.galtea.ai"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/galtea-ai","website":"https://galtea.ai"}},"fonts":{"family":"Geist"},"icons":{"library":"fontawesome"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":true},"integrations":{"posthog":{"apiKey":"phc_5hcYhBTteqSv1mp9ObS5j28EKEA1HV6sog9EZHikgcF","apiHost":"https://t.galtea.ai","sessionRecording":false}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://galtea.ai/blog"},{"anchor":"Changelog","icon":"list-check","href":"https://docs.galtea.ai/changelog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"galtea","hasAudioNarration":false,"actualSubdomain":"galtea","customDomains":["docs.galtea.ai"],"gitSource":{"type":"github","owner":"galtea-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf835d16765f5140a193a4","collectionId":"1ec4052b-d628-4539-990e-5d43c677bb87","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf835d16765f5140a193a4"},"entitlements":{},"buildId":"6ae84b9b6e6e556c3ab6a9c4","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Concepts","count":434},{"language":"default","tag":"REST API","count":225},{"language":"default","tag":"Endpoints","count":223},{"language":"default","tag":"SDK","count":157},{"language":"default","tag":"Metrics","count":44},{"language":"default","tag":"Guides","count":37},{"language":"default","tag":"metrics","count":21},{"language":"default","tag":"Deployment","count":20},{"language":"default","tag":"evaluations","count":20},{"language":"default","tag":"monitors","count":20}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only","slug":"/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only","pageMetadata":{"title":"Create several Classifier metrics at once (classifier metrics only)","description":"Creates CLASSIFIER metrics only. Each item takes a `classifierQuestion` and an optional `evaluatorModelName`, and no source or judge prompt. To create metrics of any source in one call, use `POST /metrics/batch`. Each metric gets the classifier model its item names, or the one selectable classifier model when the item names none, and is linked to the specifications it names. All or nothing, so a refused item creates no metric and no link. A name already used in the organization is refused with every taken name quoted in the message. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and for an item that names none while several are selectable.","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/bulk","href":"/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Creates CLASSIFIER metrics only. Each item takes a \", _jsx(_components.code, {\n children: \"classifierQuestion\"\n }), \" and an optional \", _jsx(_components.code, {\n children: \"evaluatorModelName\"\n }), \", and no source or judge prompt. To create metrics of any source in one call, use \", _jsx(_components.code, {\n children: \"POST /metrics/batch\"\n }), \". Each metric gets the classifier model its item names, or the one selectable classifier model when the item names none, and is linked to the specifications it names. All or nothing, so a refused item creates no metric and no link. A name already used in the organization is refused with every taken name quoted in the message. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and for an item that names none while several are selectable.\"]\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":"system","config":{},"pageMetadata":{"title":"Create several Classifier metrics at once (classifier metrics only)","description":"Creates CLASSIFIER metrics only. Each item takes a `classifierQuestion` and an optional `evaluatorModelName`, and no source or judge prompt. To create metrics of any source in one call, use `POST /metrics/batch`. Each metric gets the classifier model its item names, or the one selectable classifier model when the item names none, and is linked to the specifications it names. All or nothing, so a refused item creates no metric and no link. A name already used in the organization is refused with every taken name quoted in the message. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and for an item that names none while several are selectable.","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/bulk","href":"/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/galtea/e5a02beb3e16d20a/galtea-assistant.js"],"openApiReferenceData":{"operation":{"operationId":"createClassifierMetrics","tags":["metrics"],"summary":"Create several Classifier metrics at once (classifier metrics only)","description":"Creates CLASSIFIER metrics only. Each item takes a `classifierQuestion` and an optional `evaluatorModelName`, and no source or judge prompt. To create metrics of any source in one call, use `POST /metrics/batch`. Each metric gets the classifier model its item names, or the one selectable classifier model when the item names none, and is linked to the specifications it names. All or nothing, so a refused item creates no metric and no link. A name already used in the organization is refused with every taken name quoted in the message. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and for an item that names none while several are selectable.","security":["190f8d25-873e-4eb8-8183-193b74ecd473"],"x-cli-name":"create-bulk","requestBody":"fd5ce657-b4a6-4942-b905-7944dcd025dc","responses":{"201":"9bb01b71-d488-41b7-8707-c2bc64f0b9dc","400":"4629398a-68f1-4466-8fec-ec3dcb53162a","401":"6dd5b7db-b556-4bd4-9256-245647c47e19","403":"13c91032-e69f-45be-ac44-7bbc4fb7dfae","404":"298c8605-1f28-4a1b-bc52-9d9ccef73035"},"method":"post","type":"path","servers":["472f2e37-b9dd-4e1b-9161-6975ec99842f"],"path":"/metrics/bulk","baseUrlOptions":["https://api.galtea.ai"],"title":"Create several Classifier metrics at once (classifier metrics only)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"metrics":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200,"isRequired":true,"uniqueKey":"metrics.items.[INDEX].name","typeLabel":"string"},"classifierQuestion":{"type":"object","description":"The one question the classifier answers. evaluationParams is derived from its {{ param }} placeholders.","required":["type","instructions"],"properties":{"type":{"type":"string","enum":["yes_no","scale"],"isRequired":true,"uniqueKey":"metrics.items.[INDEX].classifierQuestion.type","typeLabel":"enum\u003cstring>"},"instructions":{"type":"string","maxLength":2000,"description":"The question, in English, naming at least one {{ evaluation_param }}.","isRequired":true,"uniqueKey":"metrics.items.[INDEX].classifierQuestion.instructions","typeLabel":"string"},"goodAnswer":{"oneOf":[{"type":"string","enum":["yes","no"],"description":"yes_no only, and required there.","uniqueKey":"metrics.items.[INDEX].classifierQuestion.goodAnswer.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["yes","no"],"description":"yes_no only, and required there.","uniqueKey":"metrics.items.[INDEX].classifierQuestion.goodAnswer.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].classifierQuestion.goodAnswer","typeLabel":"enum\u003cstring> | null"},"criteria":{"oneOf":[{"type":"object","properties":{"yes":{"oneOf":[{"type":"string","maxLength":1000,"uniqueKey":"metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.yes.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":1000,"uniqueKey":"metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.yes.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.yes","typeLabel":"string | null"},"no":{"oneOf":[{"type":"string","maxLength":1000,"uniqueKey":"metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.no.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":1000,"uniqueKey":"metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.no.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.no","typeLabel":"string | null"}},"description":"yes_no only: what yes and no mean.","uniqueKey":"metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"yes":{"oneOf":[{"type":"string","maxLength":1000},{"type":"null","maxLength":1000}]},"no":{"oneOf":[{"type":"string","maxLength":1000},{"type":"null","maxLength":1000}]}},"description":"yes_no only: what yes and no mean.","uniqueKey":"metrics.items.[INDEX].classifierQuestion.criteria.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].classifierQuestion.criteria","typeLabel":"object | null"},"levels":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"description":{"type":"string","maxLength":1000,"isRequired":true,"uniqueKey":"metrics.items.[INDEX].classifierQuestion.levels.oneOf.0.items.[INDEX].description","typeLabel":"string"},"score":{"oneOf":[{"type":"number","description":"From 0 to 1. Omit it on every level to space the scores evenly from 0 (worst) to 1 (best).","uniqueKey":"metrics.items.[INDEX].classifierQuestion.levels.oneOf.0.items.[INDEX].score.oneOf.0","typeLabel":"number"},{"type":"null","description":"From 0 to 1. Omit it on every level to space the scores evenly from 0 (worst) to 1 (best).","uniqueKey":"metrics.items.[INDEX].classifierQuestion.levels.oneOf.0.items.[INDEX].score.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].classifierQuestion.levels.oneOf.0.items.[INDEX].score","typeLabel":"number | null"}},"required":["description"],"uniqueKey":"metrics.items.[INDEX].classifierQuestion.levels.oneOf.0.items.[INDEX]","typeLabel":"object"},"maxItems":10,"description":"scale only: the scored levels, worst first, with non-decreasing scores.","uniqueKey":"metrics.items.[INDEX].classifierQuestion.levels.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"description":{"type":"string","maxLength":1000},"score":{"oneOf":[{"type":"number","description":"From 0 to 1. Omit it on every level to space the scores evenly from 0 (worst) to 1 (best)."},{"type":"null","description":"From 0 to 1. Omit it on every level to space the scores evenly from 0 (worst) to 1 (best)."}]}},"required":["description"]},"maxItems":10,"description":"scale only: the scored levels, worst first, with non-decreasing scores.","uniqueKey":"metrics.items.[INDEX].classifierQuestion.levels.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].classifierQuestion.levels","typeLabel":"object[] | null"},"doesNotApply":{"oneOf":[{"type":"string","maxLength":1000,"description":"scale only: the text of an extra level that skips the evaluation when the classifier picks it.","uniqueKey":"metrics.items.[INDEX].classifierQuestion.doesNotApply.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":1000,"description":"scale only: the text of an extra level that skips the evaluation when the classifier picks it.","uniqueKey":"metrics.items.[INDEX].classifierQuestion.doesNotApply.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].classifierQuestion.doesNotApply","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"metrics.items.[INDEX].classifierQuestion","typeLabel":"object"},"description":{"oneOf":[{"type":"string","maxLength":5000,"uniqueKey":"metrics.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":5000,"uniqueKey":"metrics.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].description","typeLabel":"string | null"},"tags":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"metrics.items.[INDEX].tags.oneOf.0.items.[INDEX]","typeLabel":"string"},"uniqueKey":"metrics.items.[INDEX].tags.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"uniqueKey":"metrics.items.[INDEX].tags.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].tags","typeLabel":"string[] | null"},"evaluatorModelName":{"oneOf":[{"type":"string","example":"jev-1.13.0","description":"The selectable classifier model to run the question under, as listed by `GET /evaluatorModels` with `kind=CLASSIFIER` and `selectable=true`. Omitted or null, the one selectable classifier model is used. When several are selectable, the request is refused with 400 and this field must be sent.","uniqueKey":"metrics.items.[INDEX].evaluatorModelName.oneOf.0","typeLabel":"string"},{"type":"null","example":"jev-1.13.0","description":"The selectable classifier model to run the question under, as listed by `GET /evaluatorModels` with `kind=CLASSIFIER` and `selectable=true`. Omitted or null, the one selectable classifier model is used. When several are selectable, the request is refused with 400 and this field must be sent.","uniqueKey":"metrics.items.[INDEX].evaluatorModelName.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].evaluatorModelName","typeLabel":"string | null"},"specificationIds":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"metrics.items.[INDEX].specificationIds.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"POLICY or CAPABILITY specifications of your organization to link the metric to.","uniqueKey":"metrics.items.[INDEX].specificationIds.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string","minLength":1},"description":"POLICY or CAPABILITY specifications of your organization to link the metric to.","uniqueKey":"metrics.items.[INDEX].specificationIds.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].specificationIds","typeLabel":"string[] | null"},"passThreshold":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"example":0.7,"description":"Score from 0 to 1 at or above which an evaluation of this metric passes. Omitted or null, it defaults to 0.5.","uniqueKey":"metrics.items.[INDEX].passThreshold.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"example":0.7,"description":"Score from 0 to 1 at or above which an evaluation of this metric passes. Omitted or null, it defaults to 0.5.","uniqueKey":"metrics.items.[INDEX].passThreshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].passThreshold","typeLabel":"number | null"},"applicabilityScope":{"oneOf":[{"type":"string","enum":["NONE","DEVELOPMENT","PRODUCTION","ALL"],"example":"PRODUCTION","description":"Which sessions get the applicability check before this metric is judged: `PRODUCTION`, `DEVELOPMENT`, `ALL` or `NONE` (no check). A session the check finds the metric does not apply to is skipped and no judge call is made. Omitted or null, it defaults to `PRODUCTION`. Fixed at create: a change creates a revision. A metric whose question reads `traces` is never checked, so it takes `NONE` and refuses any other value. The check runs only where the deployment enables it.","uniqueKey":"metrics.items.[INDEX].applicabilityScope.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["NONE","DEVELOPMENT","PRODUCTION","ALL"],"example":"PRODUCTION","description":"Which sessions get the applicability check before this metric is judged: `PRODUCTION`, `DEVELOPMENT`, `ALL` or `NONE` (no check). A session the check finds the metric does not apply to is skipped and no judge call is made. Omitted or null, it defaults to `PRODUCTION`. Fixed at create: a change creates a revision. A metric whose question reads `traces` is never checked, so it takes `NONE` and refuses any other value. The check runs only where the deployment enables it.","uniqueKey":"metrics.items.[INDEX].applicabilityScope.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].applicabilityScope","typeLabel":"enum\u003cstring> | null"},"applicabilityThreshold":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"example":0.7,"description":"The lowest probability, from 0 to 1, that the metric applies to a session at which it is judged. Below it, the session is skipped. Omitted or null, it defaults to 0.5. Refused for a metric whose question reads `traces`. Fixed at create: a change creates a revision. The check runs only where the deployment enables it.","uniqueKey":"metrics.items.[INDEX].applicabilityThreshold.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"example":0.7,"description":"The lowest probability, from 0 to 1, that the metric applies to a session at which it is judged. Below it, the session is skipped. Omitted or null, it defaults to 0.5. Refused for a metric whose question reads `traces`. Fixed at create: a change creates a revision. The check runs only where the deployment enables it.","uniqueKey":"metrics.items.[INDEX].applicabilityThreshold.oneOf.1","typeLabel":"null"}],"uniqueKey":"metrics.items.[INDEX].applicabilityThreshold","typeLabel":"number | null"}},"required":["name","classifierQuestion"],"uniqueKey":"metrics.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":10,"isRequired":true,"uniqueKey":"metrics","typeLabel":"object[]"}},"required":["metrics"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"metrics":[{"name":"\u003cstring>","classifierQuestion":{"instructions":"\u003cstring>","criteria":{"yes":"\u003cstring>","no":"\u003cstring>"},"levels":[{"description":"\u003cstring>","score":123}],"doesNotApply":"\u003cstring>"},"description":"\u003cstring>","tags":["\u003cstring>"],"evaluatorModelName":"jev-1.13.0","specificationIds":["\u003cstring>"],"passThreshold":0.7,"applicabilityScope":"PRODUCTION","applicabilityThreshold":0.7}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"9bb01b71-d488-41b7-8707-c2bc64f0b9dc":{"description":"The created metrics, in request order. When the read after the create fails, `metrics` holds only the created ids (`[{ id }]`) instead","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["metrics"],"properties":{"metrics":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"metric_123","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].id","typeLabel":"string"},"metricGroupId":{"type":"string","readOnly":true,"example":"metric_123","description":"Identifier shared by every metric in the same revision family. Server-managed — derived from `parentMetricId` on create (or generated for roots). Cannot be set by the caller.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].metricGroupId","typeLabel":"string"},"parentMetricId":{"oneOf":[{"type":"string","example":"metric_122","description":"Id of the direct parent metric. On create, providing this value turns the new metric into a revision: it joins the parent's family and (if the parent is active) flips the parent to legacy. Omit or null to create a root metric in a fresh group. On responses, this is the recorded parent edge (null for roots).","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].parentMetricId.oneOf.0","typeLabel":"string"},{"type":"null","example":"metric_122","description":"Id of the direct parent metric. On create, providing this value turns the new metric into a revision: it joins the parent's family and (if the parent is active) flips the parent to legacy. Omit or null to create a root metric in a fresh group. On responses, this is the recorded parent edge (null for roots).","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].parentMetricId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].parentMetricId","typeLabel":"string | null"},"organizationId":{"oneOf":[{"type":"string","example":"org_123","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].organizationId.oneOf.0","typeLabel":"string"},{"type":"null","example":"org_123","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].organizationId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].organizationId","typeLabel":"string | null"},"userId":{"oneOf":[{"type":"string","example":"user_123","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].userId.oneOf.0","typeLabel":"string"},{"type":"null","example":"user_123","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].userId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].userId","typeLabel":"string | null"},"name":{"type":"string","example":"Accuracy","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].name","typeLabel":"string"},"evaluationParams":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.metrics.items.[INDEX].evaluationParams.items.[INDEX]","typeLabel":"string"},"example":["input","actual_output","expected_output"],"description":"Ordered list of trace fields the evaluator needs, written in snake_case (e.g. `input`, `actual_output`, `expected_output`, `retrieval_context`). Determines which data the evaluation engine extracts from each trace. Full list of accepted values: https://docs.galtea.ai/concepts/metric/evaluation-parameters","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].evaluationParams","typeLabel":"string[]"},"source":{"oneOf":[{"type":"string","enum":["SELF_HOSTED","FULL_PROMPT","PARTIAL_PROMPT","HUMAN_EVALUATION","GEVAL","DEEPEVAL","DETERMINISTIC","CLASSIFIER"],"example":"PARTIAL_PROMPT","description":"Evaluation method for the metric. `FULL_PROMPT` is deprecated for creation — `POST /metrics` rejects it with a 400. Use `PARTIAL_PROMPT` for new AI Evaluation metrics. The value remains in the enum because existing FULL_PROMPT metrics are still returned by reads and filters. `CLASSIFIER` is the Classifier judge, accepted only where the deployment enables it.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].source.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["SELF_HOSTED","FULL_PROMPT","PARTIAL_PROMPT","HUMAN_EVALUATION","GEVAL","DEEPEVAL","DETERMINISTIC","CLASSIFIER"],"example":"PARTIAL_PROMPT","description":"Evaluation method for the metric. `FULL_PROMPT` is deprecated for creation — `POST /metrics` rejects it with a 400. Use `PARTIAL_PROMPT` for new AI Evaluation metrics. The value remains in the enum because existing FULL_PROMPT metrics are still returned by reads and filters. `CLASSIFIER` is the Classifier judge, accepted only where the deployment enables it.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].source.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].source","typeLabel":"enum\u003cstring> | null"},"judgePrompt":{"oneOf":[{"type":"string","example":"Evaluate the accuracy of the response","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgePrompt.oneOf.0","typeLabel":"string"},{"type":"null","example":"Evaluate the accuracy of the response","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgePrompt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgePrompt","typeLabel":"string | null"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.metrics.items.[INDEX].tags.items.[INDEX]","typeLabel":"string"},"example":["accuracy","quality"],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].tags","typeLabel":"string[]"},"description":{"oneOf":[{"type":"string","example":"Measures the accuracy of responses","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].description.oneOf.0","typeLabel":"string"},{"type":"null","example":"Measures the accuracy of responses","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].description","typeLabel":"string | null"},"documentationUrl":{"oneOf":[{"type":"string","example":"https://docs.example.com/metrics/accuracy","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].documentationUrl.oneOf.0","typeLabel":"string"},{"type":"null","example":"https://docs.example.com/metrics/accuracy","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].documentationUrl.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].documentationUrl","typeLabel":"string | null"},"evaluatorModelName":{"oneOf":[{"type":"string","example":"GPT-4","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].evaluatorModelName.oneOf.0","typeLabel":"string"},{"type":"null","example":"GPT-4","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].evaluatorModelName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].evaluatorModelName","typeLabel":"string | null"},"areEvalParamsTop":{"oneOf":[{"type":"boolean","description":"When true, evaluationParams are injected at the top level of the evaluator prompt instead of nested inside the conversation context.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].areEvalParamsTop.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"When true, evaluationParams are injected at the top level of the evaluator prompt instead of nested inside the conversation context.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].areEvalParamsTop.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].areEvalParamsTop","typeLabel":"boolean | null"},"isBeingOptimized":{"type":"boolean","readOnly":true,"description":"Whether the metric is currently being optimized.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].isBeingOptimized","typeLabel":"boolean"},"optimizationStatus":{"oneOf":[{"type":"string","enum":["OPTIMIZING","READY_FOR_REVIEW","FAILED","NO_IMPROVEMENT","DECLINED","ACTIVATED"],"readOnly":true,"example":"READY_FOR_REVIEW","description":"Where an optimization attempt stands. Null for a metric that did not come from an optimization. A candidate waiting for review is legacy until it is activated.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["OPTIMIZING","READY_FOR_REVIEW","FAILED","NO_IMPROVEMENT","DECLINED","ACTIVATED"],"readOnly":true,"example":"READY_FOR_REVIEW","description":"Where an optimization attempt stands. Null for a metric that did not come from an optimization. A candidate waiting for review is legacy until it is activated.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationStatus.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationStatus","typeLabel":"enum\u003cstring> | null"},"judgeGenerationSettings":{"oneOf":[{"type":"object","properties":{"temperature":{"oneOf":[{"type":"number","minimum":0,"example":0.3,"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.temperature.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"example":0.3,"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.temperature.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.temperature","typeLabel":"number | null"},"topP":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"example":0.9,"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.topP.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"example":0.9,"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.topP.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.topP","typeLabel":"number | null"},"maxOutputTokens":{"oneOf":[{"type":"integer","minimum":1,"example":512,"description":"A new metric needs at least 256, so the judge's structured answer fits. A metric stored before that floor keeps its cap.","uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.maxOutputTokens.oneOf.0","typeLabel":"integer"},{"type":"null","minimum":1,"example":512,"description":"A new metric needs at least 256, so the judge's structured answer fits. A metric stored before that floor keeps its cap.","uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.maxOutputTokens.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.maxOutputTokens","typeLabel":"integer | null"},"reasoningEffort":{"oneOf":[{"type":"string","example":"low","uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.reasoningEffort.oneOf.0","typeLabel":"string"},{"type":"null","example":"low","uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.reasoningEffort.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0.reasoningEffort","typeLabel":"string | null"}},"additionalProperties":false,"description":"The generation settings this metric's judge runs with. Null runs the platform defaults. Immutable: changing one creates a revision.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"temperature":{"oneOf":[{"type":"number","minimum":0,"example":0.3},{"type":"null","minimum":0,"example":0.3}]},"topP":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"example":0.9},{"type":"null","minimum":0,"maximum":1,"example":0.9}]},"maxOutputTokens":{"oneOf":[{"type":"integer","minimum":1,"example":512,"description":"A new metric needs at least 256, so the judge's structured answer fits. A metric stored before that floor keeps its cap."},{"type":"null","minimum":1,"example":512,"description":"A new metric needs at least 256, so the judge's structured answer fits. A metric stored before that floor keeps its cap."}]},"reasoningEffort":{"oneOf":[{"type":"string","example":"low"},{"type":"null","example":"low"}]}},"additionalProperties":false,"description":"The generation settings this metric's judge runs with. Null runs the platform defaults. Immutable: changing one creates a revision.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].judgeGenerationSettings","typeLabel":"object | null"},"passThreshold":{"type":"number","minimum":0,"maximum":1,"example":0.7,"description":"Score from 0 to 1 at or above which an evaluation of this metric passes. Immutable: changing it creates a revision.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].passThreshold","typeLabel":"number"},"applicabilityScope":{"type":"string","enum":["NONE","DEVELOPMENT","PRODUCTION","ALL"],"example":"PRODUCTION","description":"Which sessions get the applicability check before this metric is judged. `NONE` for a metric the platform does not score. A metric that scores `traces` is never checked, so it takes `NONE` and refuses any other value. A FULL_PROMPT metric whose judge prompt reads `traces` but does not list it in evaluationParams is stored as checked, yet the evaluator judges it without the check. Immutable: changing it creates a revision. The check runs only where the deployment enables it.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].applicabilityScope","typeLabel":"enum\u003cstring>"},"applicabilityThreshold":{"oneOf":[{"type":"number","minimum":0,"maximum":1,"example":0.7,"description":"The lowest probability that the metric applies to a session at which it is judged. Null means the platform default, 0.5. Immutable: changing it creates a revision.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].applicabilityThreshold.oneOf.0","typeLabel":"number"},{"type":"null","minimum":0,"maximum":1,"example":0.7,"description":"The lowest probability that the metric applies to a session at which it is judged. Null means the platform default, 0.5. Immutable: changing it creates a revision.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].applicabilityThreshold.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].applicabilityThreshold","typeLabel":"number | null"},"classifierQuestion":{"type":"object","description":"The one question of a CLASSIFIER metric; null for every other source.","required":["type","instructions"],"properties":{"type":{"type":"string","enum":["yes_no","scale"],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.type","typeLabel":"enum\u003cstring>"},"instructions":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.instructions","typeLabel":"string"},"goodAnswer":{"type":"string","enum":["yes","no"],"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.goodAnswer","typeLabel":"enum\u003cstring>"},"criteria":{"oneOf":[{"type":"object","properties":{"yes":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.yes.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.yes.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.yes","typeLabel":"string | null"},"no":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.no.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.no.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0.no","typeLabel":"string | null"}},"required":["yes","no"],"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.criteria.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"yes":{"oneOf":[{"type":"string"},{"type":"null"}]},"no":{"oneOf":[{"type":"string"},{"type":"null"}]}},"required":["yes","no"],"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.criteria.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.criteria","typeLabel":"object | null"},"levels":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.levels.items.[INDEX].description","typeLabel":"string"},"score":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.levels.items.[INDEX].score","typeLabel":"number"}},"required":["description","score"],"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.levels.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.levels","typeLabel":"object[]"},"doesNotApply":{"oneOf":[{"type":"string","uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.doesNotApply.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.doesNotApply.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion.doesNotApply","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].classifierQuestion","typeLabel":"object"},"optimizationValidation":{"oneOf":[{"type":"object","properties":{"used":{"type":"boolean","description":"Whether any evaluation was held out for validation. False when none was: too few annotated evaluations and no session kept from an earlier attempt, or no session was eligible for the hold-out.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.used","typeLabel":"boolean"},"heldOutEvaluationIds":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.heldOutEvaluationIds.items.[INDEX]","typeLabel":"string"},"description":"Evaluations held out of the search. Empty when no validation set was used.","example":["evaluation_123"],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.heldOutEvaluationIds","typeLabel":"string[]"},"results":{"oneOf":[{"type":"object","properties":{"optimization":{"type":"object","properties":{"rowsScored":{"type":"integer","minimum":0,"description":"Rows both prompts scored. Only these rows are compared.","example":25,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.rowsScored","typeLabel":"integer"},"rowsTotal":{"type":"integer","minimum":0,"description":"Rows in the set.","example":25,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.rowsTotal","typeLabel":"integer"},"source":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.source.correct","typeLabel":"integer"},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.source.alignment.oneOf.0","typeLabel":"number"},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.source.alignment.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.source.alignment","typeLabel":"number | null"}},"required":["correct","alignment"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.source","typeLabel":"object"},"candidate":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.candidate.correct","typeLabel":"integer"},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.candidate.alignment.oneOf.0","typeLabel":"number"},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.candidate.alignment.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.candidate.alignment","typeLabel":"number | null"}},"required":["correct","alignment"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization.candidate","typeLabel":"object"}},"required":["rowsScored","rowsTotal","source","candidate"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.optimization","typeLabel":"object"},"validation":{"type":"object","properties":{"rowsScored":{"type":"integer","minimum":0,"description":"Rows both prompts scored. Only these rows are compared.","example":25,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.rowsScored","typeLabel":"integer"},"rowsTotal":{"type":"integer","minimum":0,"description":"Rows in the set.","example":25,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.rowsTotal","typeLabel":"integer"},"source":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.source.correct","typeLabel":"integer"},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.source.alignment.oneOf.0","typeLabel":"number"},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.source.alignment.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.source.alignment","typeLabel":"number | null"}},"required":["correct","alignment"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.source","typeLabel":"object"},"candidate":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.candidate.correct","typeLabel":"integer"},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.candidate.alignment.oneOf.0","typeLabel":"number"},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.candidate.alignment.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.candidate.alignment","typeLabel":"number | null"}},"required":["correct","alignment"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation.candidate","typeLabel":"object"}},"required":["rowsScored","rowsTotal","source","candidate"],"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0.validation","typeLabel":"object"}},"required":["optimization","validation"],"additionalProperties":false,"description":"Both prompts scored on the rows the search used and on the held-out rows. Null when the optimizer reported nothing.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"optimization":{"type":"object","properties":{"rowsScored":{"type":"integer","minimum":0,"description":"Rows both prompts scored. Only these rows are compared.","example":25},"rowsTotal":{"type":"integer","minimum":0,"description":"Rows in the set.","example":25},"source":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false},"candidate":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false}},"required":["rowsScored","rowsTotal","source","candidate"],"additionalProperties":false},"validation":{"type":"object","properties":{"rowsScored":{"type":"integer","minimum":0,"description":"Rows both prompts scored. Only these rows are compared.","example":25},"rowsTotal":{"type":"integer","minimum":0,"description":"Rows in the set.","example":25},"source":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false},"candidate":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false}},"required":["rowsScored","rowsTotal","source","candidate"],"additionalProperties":false}},"required":["optimization","validation"],"additionalProperties":false,"description":"Both prompts scored on the rows the search used and on the held-out rows. Null when the optimizer reported nothing.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.results","typeLabel":"object | null"},"rows":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"evaluationId":{"type":"string","example":"evaluation_123","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.0.items.[INDEX].evaluationId","typeLabel":"string"},"humanScore":{"type":"number","description":"The human label.","example":1,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.0.items.[INDEX].humanScore","typeLabel":"number"},"sourceScore":{"oneOf":[{"type":"number","description":"The source prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":0,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.0.items.[INDEX].sourceScore.oneOf.0","typeLabel":"number"},{"type":"null","description":"The source prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":0,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.0.items.[INDEX].sourceScore.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.0.items.[INDEX].sourceScore","typeLabel":"number | null"},"candidateScore":{"oneOf":[{"type":"number","description":"The optimized prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":1,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.0.items.[INDEX].candidateScore.oneOf.0","typeLabel":"number"},{"type":"null","description":"The optimized prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":1,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.0.items.[INDEX].candidateScore.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.0.items.[INDEX].candidateScore","typeLabel":"number | null"}},"required":["evaluationId","humanScore","sourceScore","candidateScore"],"additionalProperties":false,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.0.items.[INDEX]","typeLabel":"object"},"description":"One entry per held-out row the optimizer reported; a score is null when that prompt failed on the row. Null when the optimizer reported nothing.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.0","typeLabel":"object[]"},{"type":"null","items":{"type":"object","properties":{"evaluationId":{"type":"string","example":"evaluation_123"},"humanScore":{"type":"number","description":"The human label.","example":1},"sourceScore":{"oneOf":[{"type":"number","description":"The source prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":0},{"type":"null","description":"The source prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":0}]},"candidateScore":{"oneOf":[{"type":"number","description":"The optimized prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":1},{"type":"null","description":"The optimized prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":1}]}},"required":["evaluationId","humanScore","sourceScore","candidateScore"],"additionalProperties":false},"description":"One entry per held-out row the optimizer reported; a score is null when that prompt failed on the row. Null when the optimizer reported nothing.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0.rows","typeLabel":"object[] | null"}},"required":["used","heldOutEvaluationIds","results","rows"],"additionalProperties":false,"readOnly":true,"description":"How an optimization attempt was validated: the held-out evaluations and, once the optimizer reported, both prompts scored on the search rows and on the held-out rows. Set on an optimization attempt only, and null for any other metric, for an attempt that predates it, and for an attempt copied from another organization.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"used":{"type":"boolean","description":"Whether any evaluation was held out for validation. False when none was: too few annotated evaluations and no session kept from an earlier attempt, or no session was eligible for the hold-out."},"heldOutEvaluationIds":{"type":"array","items":{"type":"string"},"description":"Evaluations held out of the search. Empty when no validation set was used.","example":["evaluation_123"]},"results":{"oneOf":[{"type":"object","properties":{"optimization":{"type":"object","properties":{"rowsScored":{"type":"integer","minimum":0,"description":"Rows both prompts scored. Only these rows are compared.","example":25},"rowsTotal":{"type":"integer","minimum":0,"description":"Rows in the set.","example":25},"source":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false},"candidate":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false}},"required":["rowsScored","rowsTotal","source","candidate"],"additionalProperties":false},"validation":{"type":"object","properties":{"rowsScored":{"type":"integer","minimum":0,"description":"Rows both prompts scored. Only these rows are compared.","example":25},"rowsTotal":{"type":"integer","minimum":0,"description":"Rows in the set.","example":25},"source":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false},"candidate":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false}},"required":["rowsScored","rowsTotal","source","candidate"],"additionalProperties":false}},"required":["optimization","validation"],"additionalProperties":false,"description":"Both prompts scored on the rows the search used and on the held-out rows. Null when the optimizer reported nothing."},{"type":"null","properties":{"optimization":{"type":"object","properties":{"rowsScored":{"type":"integer","minimum":0,"description":"Rows both prompts scored. Only these rows are compared.","example":25},"rowsTotal":{"type":"integer","minimum":0,"description":"Rows in the set.","example":25},"source":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false},"candidate":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false}},"required":["rowsScored","rowsTotal","source","candidate"],"additionalProperties":false},"validation":{"type":"object","properties":{"rowsScored":{"type":"integer","minimum":0,"description":"Rows both prompts scored. Only these rows are compared.","example":25},"rowsTotal":{"type":"integer","minimum":0,"description":"Rows in the set.","example":25},"source":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false},"candidate":{"type":"object","properties":{"correct":{"type":"integer","minimum":0,"description":"Rows where the AI verdict matches the human label. A score at or above the metric's pass threshold is a positive verdict.","example":20},"alignment":{"oneOf":[{"type":"number","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71},{"type":"null","description":"Alignment between the AI scores and the human labels on the compared rows. Null when undefined.","example":0.71}]}},"required":["correct","alignment"],"additionalProperties":false}},"required":["rowsScored","rowsTotal","source","candidate"],"additionalProperties":false}},"required":["optimization","validation"],"additionalProperties":false,"description":"Both prompts scored on the rows the search used and on the held-out rows. Null when the optimizer reported nothing."}]},"rows":{"oneOf":[{"type":"array","items":{"type":"object","properties":{"evaluationId":{"type":"string","example":"evaluation_123"},"humanScore":{"type":"number","description":"The human label.","example":1},"sourceScore":{"oneOf":[{"type":"number","description":"The source prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":0},{"type":"null","description":"The source prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":0}]},"candidateScore":{"oneOf":[{"type":"number","description":"The optimized prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":1},{"type":"null","description":"The optimized prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":1}]}},"required":["evaluationId","humanScore","sourceScore","candidateScore"],"additionalProperties":false},"description":"One entry per held-out row the optimizer reported; a score is null when that prompt failed on the row. Null when the optimizer reported nothing."},{"type":"null","items":{"type":"object","properties":{"evaluationId":{"type":"string","example":"evaluation_123"},"humanScore":{"type":"number","description":"The human label.","example":1},"sourceScore":{"oneOf":[{"type":"number","description":"The source prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":0},{"type":"null","description":"The source prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":0}]},"candidateScore":{"oneOf":[{"type":"number","description":"The optimized prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":1},{"type":"null","description":"The optimized prompt's judge score on this row, or null when it failed. A score at or above the metric's pass threshold is a positive verdict.","example":1}]}},"required":["evaluationId","humanScore","sourceScore","candidateScore"],"additionalProperties":false},"description":"One entry per held-out row the optimizer reported; a score is null when that prompt failed on the row. Null when the optimizer reported nothing."}]}},"required":["used","heldOutEvaluationIds","results","rows"],"additionalProperties":false,"readOnly":true,"description":"How an optimization attempt was validated: the held-out evaluations and, once the optimizer reported, both prompts scored on the search rows and on the held-out rows. Set on an optimization attempt only, and null for any other metric, for an attempt that predates it, and for an attempt copied from another organization.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationValidation","typeLabel":"object | null"},"optimizationRun":{"oneOf":[{"type":"object","properties":{"strategies":{"type":"array","items":{"type":"string","enum":["FIX_FALSE_POSITIVES","FIX_FALSE_NEGATIVES","ADD_RUBRIC","SIMPLIFY","BROADEN"],"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationRun.oneOf.0.strategies.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"The strategies the run wrote candidates with.","example":["ADD_RUBRIC","SIMPLIFY"],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationRun.oneOf.0.strategies","typeLabel":"enum\u003cstring>[]"},"maxSteps":{"type":"integer","minimum":1,"description":"The run's step budget, after the optimizer applied its own ceiling.","example":6,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationRun.oneOf.0.maxSteps","typeLabel":"integer"},"stepsUsed":{"type":"integer","minimum":0,"description":"The search steps the run took. 0 when the source prompt already met the target.","example":4,"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationRun.oneOf.0.stepsUsed","typeLabel":"integer"}},"required":["strategies","maxSteps","stepsUsed"],"additionalProperties":false,"readOnly":true,"description":"What an optimization attempt ran: the strategies, the step budget and the steps used. Null while the attempt runs, and when it was not reported: an attempt from before the report existed, one run by an older optimizer, a failed run, an attempt copied from another organization, or a metric that is not an optimization attempt. Null never means a run of 0 steps.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationRun.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"strategies":{"type":"array","items":{"type":"string","enum":["FIX_FALSE_POSITIVES","FIX_FALSE_NEGATIVES","ADD_RUBRIC","SIMPLIFY","BROADEN"]},"description":"The strategies the run wrote candidates with.","example":["ADD_RUBRIC","SIMPLIFY"]},"maxSteps":{"type":"integer","minimum":1,"description":"The run's step budget, after the optimizer applied its own ceiling.","example":6},"stepsUsed":{"type":"integer","minimum":0,"description":"The search steps the run took. 0 when the source prompt already met the target.","example":4}},"required":["strategies","maxSteps","stepsUsed"],"additionalProperties":false,"readOnly":true,"description":"What an optimization attempt ran: the strategies, the step budget and the steps used. Null while the attempt runs, and when it was not reported: an attempt from before the report existed, one run by an older optimizer, a failed run, an attempt copied from another organization, or a metric that is not an optimization attempt. Null never means a run of 0 steps.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationRun.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].optimizationRun","typeLabel":"object | null"},"specificationIds":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.metrics.items.[INDEX].specificationIds.items.[INDEX]","typeLabel":"string"},"description":"Specifications linked to this metric. A MEMBER, READER or HUMAN_EVALUATOR caller sees only the specifications of the products it can read.","example":["spec_123"],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].specificationIds","typeLabel":"string[]"},"userGroupIds":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.metrics.items.[INDEX].userGroupIds.items.[INDEX]","typeLabel":"string"},"example":["ug_123"],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].userGroupIds","typeLabel":"string[]"},"createdAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"legacyAt":{"oneOf":[{"type":"string","format":"date-time","readOnly":true,"description":"Earliest non-null of this metric's own legacy date and its evaluator model's `unselectableAt`, so a model no longer selectable makes every metric linked to it report as legacy even though the metric row itself is untouched. Present only once that date has passed: a scheduled future cutoff reports null, because the metric is still active until then. Unlike `disabledAt`, this field never carries a future date.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].legacyAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","readOnly":true,"description":"Earliest non-null of this metric's own legacy date and its evaluator model's `unselectableAt`, so a model no longer selectable makes every metric linked to it report as legacy even though the metric row itself is untouched. Present only once that date has passed: a scheduled future cutoff reports null, because the metric is still active until then. Unlike `disabledAt`, this field never carries a future date.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].legacyAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].legacyAt","typeLabel":"string\u003cdate-time> | null"},"disabledAt":{"oneOf":[{"type":"string","format":"date-time","readOnly":true,"description":"Earliest non-null of this metric's own disabled date and its evaluator model's `disabledAt` — a disabled model makes every metric linked to it report as disabled even though the metric row itself is untouched.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].disabledAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","readOnly":true,"description":"Earliest non-null of this metric's own disabled date and its evaluator model's `disabledAt` — a disabled model makes every metric linked to it report as disabled even though the metric row itself is untouched.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].disabledAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].disabledAt","typeLabel":"string\u003cdate-time> | null"},"excludedFromAnalyticsAt":{"oneOf":[{"type":"string","format":"date-time","readOnly":true,"description":"When set, results produced by this metric revision do not feed analytics.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].excludedFromAnalyticsAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","readOnly":true,"description":"When set, results produced by this metric revision do not feed analytics.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].excludedFromAnalyticsAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].excludedFromAnalyticsAt","typeLabel":"string\u003cdate-time> | null"},"excludedByUserId":{"oneOf":[{"type":"string","readOnly":true,"description":"User who last excluded this metric revision from analytics.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].excludedByUserId.oneOf.0","typeLabel":"string"},{"type":"null","readOnly":true,"description":"User who last excluded this metric revision from analytics.","isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].excludedByUserId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"oneOf.0.metrics.items.[INDEX].excludedByUserId","typeLabel":"string | null"}},"required":["id","metricGroupId","parentMetricId","organizationId","userId","name","evaluationParams","source","judgePrompt","tags","description","documentationUrl","evaluatorModelName","areEvalParamsTop","isBeingOptimized","optimizationStatus","judgeGenerationSettings","passThreshold","applicabilityScope","applicabilityThreshold","classifierQuestion","optimizationValidation","optimizationRun","specificationIds","userGroupIds","createdAt","legacyAt","disabledAt","excludedFromAnalyticsAt","excludedByUserId"],"uniqueKey":"oneOf.0.metrics.items.[INDEX]","typeLabel":"object"},"description":"The created metrics, in request order.","isRequired":true,"uniqueKey":"oneOf.0.metrics","typeLabel":"object[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["metrics"],"properties":{"metrics":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.metrics.items.[INDEX].id","typeLabel":"string"}},"required":["id"],"additionalProperties":false,"uniqueKey":"oneOf.1.metrics.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.1.metrics","typeLabel":"object[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"metrics":[{"id":"metric_123","metricGroupId":"metric_123","parentMetricId":"metric_122","organizationId":"org_123","userId":"user_123","name":"Accuracy","evaluationParams":["input","actual_output","expected_output"],"source":"PARTIAL_PROMPT","judgePrompt":"Evaluate the accuracy of the response","tags":["accuracy","quality"],"description":"Measures the accuracy of responses","documentationUrl":"https://docs.example.com/metrics/accuracy","evaluatorModelName":"GPT-4","areEvalParamsTop":true,"isBeingOptimized":true,"optimizationStatus":"READY_FOR_REVIEW","judgeGenerationSettings":{"temperature":0.3,"topP":0.9,"maxOutputTokens":512,"reasoningEffort":"low"},"passThreshold":0.7,"applicabilityScope":"PRODUCTION","applicabilityThreshold":0.7,"classifierQuestion":{"type":"yes_no","instructions":"\u003cstring>","goodAnswer":"yes","criteria":{"yes":"\u003cstring>","no":"\u003cstring>"},"levels":[{"description":"\u003cstring>","score":123}],"doesNotApply":"\u003cstring>"},"optimizationValidation":{"used":true,"heldOutEvaluationIds":["evaluation_123"],"results":{"optimization":{"rowsScored":25,"rowsTotal":25,"source":{"correct":20,"alignment":0.71},"candidate":{"correct":20,"alignment":0.71}},"validation":{"rowsScored":25,"rowsTotal":25,"source":{"correct":20,"alignment":0.71},"candidate":{"correct":20,"alignment":0.71}}},"rows":[{"evaluationId":"evaluation_123","humanScore":1,"sourceScore":0,"candidateScore":1}]},"optimizationRun":{"strategies":["ADD_RUBRIC","SIMPLIFY"],"maxSteps":6,"stepsUsed":4},"specificationIds":["spec_123"],"userGroupIds":["ug_123"],"createdAt":"2023-11-07T05:31:56Z","legacyAt":"2023-11-07T05:31:56Z","disabledAt":"2023-11-07T05:31:56Z","excludedFromAnalyticsAt":"2023-11-07T05:31:56Z","excludedByUserId":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"4629398a-68f1-4466-8fec-ec3dcb53162a":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error type","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"Error message description","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Error type","message":"Error message description"}}},"exampleType":"generated"}},"exampleType":"generated"},"6dd5b7db-b556-4bd4-9256-245647c47e19":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error type","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"Error message description","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Error type","message":"Error message description"}}},"exampleType":"generated"}},"exampleType":"generated"},"13c91032-e69f-45be-ac44-7bbc4fb7dfae":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error type","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"Error message description","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Error type","message":"Error message description"}}},"exampleType":"generated"}},"exampleType":"generated"},"298c8605-1f28-4a1b-bc52-9d9ccef73035":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Error type","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","example":"Error message description","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"Error type","message":"Error message description"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"190f8d25-873e-4eb8-8183-193b74ecd473":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (`gsk_*`) and legacy (`gsk-`) API keys are accepted, e.g. `Authorization: Bearer gsk_...` or `Authorization: Bearer gsk-...`.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"472f2e37-b9dd-4e1b-9161-6975ec99842f":{"url":"https://api.galtea.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (`gsk_*`) and legacy (`gsk-`) API keys are accepted, e.g. `Authorization: Bearer gsk_...` or `Authorization: Bearer gsk-...`.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (`gsk_*`) and legacy (`gsk-`) API keys are accepted, e.g. `Authorization: Bearer gsk_...` or `Authorization: Bearer gsk-...`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"https://api.galtea.ai/openapi.json"},"subdomain":"galtea","siteName":"Galtea Docs","title":"Create several Classifier metrics at once (classifier metrics only) - Galtea Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T08:36:54.269Z","originalFileLocation":"api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only.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=\"Creates CLASSIFIER metrics only. Each item takes a classifierQuestion and an optional evaluatorModelName, and no source or judge prompt. To create metrics of any source in one call, use POST /metrics/batch. Each metric gets the classifier model its item names, or the one selectable classifier model when the item names none, and is linked to the specifications it names. All or nothing, so a refused item creates no metric and no link. A name already used in the organization is refused with every taken name quoted in the message. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and for an item that names none while several are selectable.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Galtea Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/galtea/uhYCG_Ntu-v3eoIp/_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/galtea/uhYCG_Ntu-v3eoIp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/galtea/uhYCG_Ntu-v3eoIp/_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/galtea/uhYCG_Ntu-v3eoIp/_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/galtea/uhYCG_Ntu-v3eoIp/_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/galtea/uhYCG_Ntu-v3eoIp/_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/galtea/uhYCG_Ntu-v3eoIp/_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/galtea/uhYCG_Ntu-v3eoIp/_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/galtea/uhYCG_Ntu-v3eoIp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create several Classifier metrics at once (classifier metrics only) - Galtea Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates CLASSIFIER metrics only. Each item takes a classifierQuestion and an optional evaluatorModelName, and no source or judge prompt. To create metrics of any source in one call, use POST /metrics/batch. Each metric gets the classifier model its item names, or the one selectable classifier model when the item names none, and is linked to the specifications it names. All or nothing, so a refused item creates no metric and no link. A name already used in the organization is refused with every taken name quoted in the message. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and for an item that names none while several are selectable.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Galtea Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.galtea.ai/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://galtea.mintlify.app/_mintlify/api/og/v2?division=metrics\u0026amp;title=Create+several+Classifier+metrics+at+once+%28classifier+metrics+only%29\u0026amp;description=Creates+CLASSIFIER+metrics+only.+Each+item+takes+a+%60classifierQuestion%60+and+an+optional+%60evaluatorModelName%60%2C+and+no+source+or+judge+prompt.+To+create+metrics+o\u0026amp;theme=70336b2daf09337d9a490c1f\u0026amp;signature=26e1e6310ea43feddc792b407a1fe545080ea9fbedb1501f841900747abbdc9e\">\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 several Classifier metrics at once (classifier metrics only) - Galtea Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates CLASSIFIER metrics only. Each item takes a classifierQuestion and an optional evaluatorModelName, and no source or judge prompt. To create metrics of any source in one call, use POST /metrics/batch. Each metric gets the classifier model its item names, or the one selectable classifier model when the item names none, and is linked to the specifications it names. All or nothing, so a refused item creates no metric and no link. A name already used in the organization is refused with every taken name quoted in the message. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and for an item that names none while several are selectable.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://galtea.mintlify.app/_mintlify/api/og/v2?division=metrics\u0026amp;title=Create+several+Classifier+metrics+at+once+%28classifier+metrics+only%29\u0026amp;description=Creates+CLASSIFIER+metrics+only.+Each+item+takes+a+%60classifierQuestion%60+and+an+optional+%60evaluatorModelName%60%2C+and+no+source+or+judge+prompt.+To+create+metrics+o\u0026amp;theme=70336b2daf09337d9a490c1f\u0026amp;signature=26e1e6310ea43feddc792b407a1fe545080ea9fbedb1501f841900747abbdc9e\">\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/galtea/uhYCG_Ntu-v3eoIp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Galtea Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5286FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.galtea.ai/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.galtea.ai/#organization\",\"name\":\"Galtea Docs\",\"url\":\"https://docs.galtea.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/galtea/t4BZ_SsOYjDJqfd8/logo/light.svg?fit=max\u0026auto=format\u0026n=t4BZ_SsOYjDJqfd8\u0026q=85\u0026s=52a5941e3fa4d5af453da96cfa8d07e5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.galtea.ai#website\",\"name\":\"Galtea Docs\",\"url\":\"https://docs.galtea.ai\",\"publisher\":{\"@id\":\"https://docs.galtea.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.galtea.ai/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only#webpage\",\"url\":\"https://docs.galtea.ai/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only\",\"name\":\"Create several Classifier metrics at once (classifier metrics only)\",\"description\":\"Creates CLASSIFIER metrics only. Each item takes a classifierQuestion and an optional evaluatorModelName, and no source or judge prompt. To create metrics of any source in one call, use POST /metrics/batch. Each metric gets the classifier model its item names, or the one selectable classifier model when the item names none, and is linked to the specifications it names. All or nothing, so a refused item creates no metric and no link. A name already used in the organization is refused with every taken name quoted in the message. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and for an item that names none while several are selectable.\",\"dateModified\":\"2026-11-02T08:36:54.269Z\",\"isPartOf\":{\"@id\":\"https://docs.galtea.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.galtea.ai/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.galtea.ai/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.galtea.ai/api-reference/health-check\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"metrics\",\"item\":\"https://docs.galtea.ai/api-reference/metrics/get-metrics\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create several Classifier metrics at once (classifier metrics only)\",\"item\":\"https://docs.galtea.ai/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.galtea.ai/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only#apireference\",\"headline\":\"Create several Classifier metrics at once (classifier metrics only)\",\"name\":\"Create several Classifier metrics at once (classifier metrics only)\",\"description\":\"Creates CLASSIFIER metrics only. Each item takes a classifierQuestion and an optional evaluatorModelName, and no source or judge prompt. To create metrics of any source in one call, use POST /metrics/batch. Each metric gets the classifier model its item names, or the one selectable classifier model when the item names none, and is linked to the specifications it names. All or nothing, so a refused item creates no metric and no link. A name already used in the organization is refused with every taken name quoted in the message. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and for an item that names none while several are selectable.\",\"url\":\"https://docs.galtea.ai/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only\",\"mainEntityOfPage\":{\"@id\":\"https://docs.galtea.ai/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only#webpage\"},\"dateModified\":\"2026-11-02T08:36:54.269Z\",\"publisher\":{\"@id\":\"https://docs.galtea.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.galtea.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Galtea Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Galtea Docs","nav":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://galtea.ai/blog"},{"anchor":"Changelog","icon":"list-check","href":"https://docs.galtea.ai/changelog"}]},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"Concepts","pages":[{"title":"Concepts","href":"/concepts/overview"}]},{"tab":"Deployment","pages":[{"title":"Deployment","href":"/deployment/executive-summary"}]},{"tab":"REST API","groups":[{"group":"Overview","pages":[{"title":"Write responses","icon":"reply","href":"/api-reference/write-responses"},{"title":"Enum values","icon":"list","href":"/api-reference/enum-values"}]},{"group":"Endpoints","pages":[{"group":"API Reference","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /health","href":"/api-reference/health-check"},{"title":"Get minimum SDK version","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /minimum-sdk-version","href":"/api-reference/get-minimum-sdk-version"},{"title":"Build info","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /build-info","href":"/api-reference/build-info"},{"title":"Build info for every deployed service","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /build-info/services","href":"/api-reference/build-info-for-every-deployed-service"},{"title":"Platform compatibility","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /platform-compatibility","href":"/api-reference/platform-compatibility"},{"title":"Whether every deployed service can reach its dependencies","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /self-check","href":"/api-reference/whether-every-deployed-service-can-reach-its-dependencies"}]},{"group":"api-tokens","pages":[{"title":"List API tokens","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /auth/apiTokens","href":"/api-reference/api-tokens/list-api-tokens"},{"title":"Create API token","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /auth/apiTokens","href":"/api-reference/api-tokens/create-api-token"},{"title":"Revoke API token","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /auth/apiTokens/{apiTokenId}","href":"/api-reference/api-tokens/revoke-api-token"},{"title":"Rename API token","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /auth/apiTokens/{apiTokenId}","href":"/api-reference/api-tokens/rename-api-token"},{"title":"Regenerate API token","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /auth/apiTokens/{apiTokenId}/regenerate","href":"/api-reference/api-tokens/regenerate-api-token"}]},{"group":"auth","pages":[{"title":"Get current user","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /auth/user","href":"/api-reference/auth/get-current-user"}]},{"group":"organizations","pages":[{"title":"Get organizations","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /organizations","href":"/api-reference/organizations/get-organizations"},{"title":"Get organization by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /organizations/{id}","href":"/api-reference/organizations/get-organization-by-id"},{"title":"Update organization","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /organizations/{id}","href":"/api-reference/organizations/update-organization"},{"title":"Get credit status","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /organizations/{id}/creditStatus","href":"/api-reference/organizations/get-credit-status"}]},{"group":"user-groups","pages":[{"title":"Get user groups","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /userGroups","href":"/api-reference/user-groups/get-user-groups"},{"title":"Create user group","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /userGroups","href":"/api-reference/user-groups/create-user-group"},{"title":"Link users to user group","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /userGroups/{id}/users","href":"/api-reference/user-groups/link-users-to-user-group"},{"title":"Unlink users from user group","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /userGroups/{id}/users","href":"/api-reference/user-groups/unlink-users-from-user-group"},{"title":"Delete multiple user groups","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /userGroups/batch","href":"/api-reference/user-groups/delete-multiple-user-groups"},{"title":"Get user group by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /userGroups/{id}","href":"/api-reference/user-groups/get-user-group-by-id"},{"title":"Delete user group","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /userGroups/{id}","href":"/api-reference/user-groups/delete-user-group"},{"title":"Update user group","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /userGroups/{id}","href":"/api-reference/user-groups/update-user-group"},{"title":"List grantable user group permissions","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /userGroups/grantablePermissions","href":"/api-reference/user-groups/list-grantable-user-group-permissions"},{"title":"Link metrics to user group","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /userGroups/{id}/metrics","href":"/api-reference/user-groups/link-metrics-to-user-group"},{"title":"Unlink metrics from user group","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /userGroups/{id}/metrics","href":"/api-reference/user-groups/unlink-metrics-from-user-group"},{"title":"Link products to user group","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /userGroups/{id}/products","href":"/api-reference/user-groups/link-products-to-user-group"},{"title":"Unlink products from user group","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /userGroups/{id}/products","href":"/api-reference/user-groups/unlink-products-from-user-group"}]},{"group":"metrics","pages":[{"title":"Get metrics","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /metrics","href":"/api-reference/metrics/get-metrics"},{"title":"Create metric","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics","href":"/api-reference/metrics/create-metric"},{"title":"Create multiple metrics","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/batch","href":"/api-reference/metrics/create-multiple-metrics"},{"title":"Delete multiple metrics","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /metrics/batch","href":"/api-reference/metrics/delete-multiple-metrics"},{"title":"Get metric by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /metrics/{id}","href":"/api-reference/metrics/get-metric-by-id"},{"title":"Delete metric","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /metrics/{id}","href":"/api-reference/metrics/delete-metric"},{"title":"Update metric","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /metrics/{id}","href":"/api-reference/metrics/update-metric"},{"title":"Count replay candidates per product for a metric revision","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /metrics/{id}/replay-candidate-count","href":"/api-reference/metrics/count-replay-candidates-per-product-for-a-metric-revision"},{"title":"Generate or complete metric configuration with AI","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/generate-config","href":"/api-reference/metrics/generate-or-complete-metric-configuration-with-ai"},{"title":"Preview the prompt a judge configuration produces","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/preview-prompt","href":"/api-reference/metrics/preview-the-prompt-a-judge-configuration-produces"},{"title":"Score a draft Classifier question on a sample","description":"Runs the Classifier on a question that has not been saved, against a session, one turn of it, or typed values. Runs under the classifier model named by `evaluatorModelName`, or under the one selectable classifier model when none is named. Persists nothing and consumes no credits. Answers 400 where the deployment does not enable Classifier metrics, for a name that is not a selectable classifier model, and when none is named while several are selectable.","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/test-draft","href":"/api-reference/metrics/score-a-draft-classifier-question-on-a-sample"},{"title":"Create several Classifier metrics at once (classifier metrics only)","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/bulk","href":"/api-reference/metrics/create-several-classifier-metrics-at-once-classifier-metrics-only"},{"title":"Propose Classifier metrics for an LLM judge metric","description":"Splits an LLM judge (PARTIAL_PROMPT) metric's judge prompt into one classifier question per condition, plus one question listing them all when every condition always applies. Persists nothing, consumes no credits, and leaves the source metric unchanged. Create the proposals with `POST /metrics/bulk`. Answers 400 where the deployment does not enable Classifier metrics.","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/{id}/classifier-conversion","href":"/api-reference/metrics/propose-classifier-metrics-for-an-llm-judge-metric"},{"title":"Export a metric revision as a document","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /metrics/{id}/export","href":"/api-reference/metrics/export-a-metric-revision-as-a-document"},{"title":"Get the analytics impact of a metric revision","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /metrics/{id}/analytics-exclusion-impact","href":"/api-reference/metrics/get-the-analytics-impact-of-a-metric-revision"},{"title":"Include or exclude a metric revision from analytics","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /metrics/{id}/analytics-exclusion","href":"/api-reference/metrics/include-or-exclude-a-metric-revision-from-analytics"},{"title":"Get human annotation count and optimization eligibility","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /metrics/{id}/human-annotation-count","href":"/api-reference/metrics/get-human-annotation-count-and-optimization-eligibility"},{"title":"Optimize metric","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/{id}/optimize","href":"/api-reference/metrics/optimize-metric"},{"title":"Activate an optimized judge prompt","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/{id}/activate-optimization","href":"/api-reference/metrics/activate-an-optimized-judge-prompt"},{"title":"Keep the current judge prompt over an optimized candidate","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/{id}/decline-optimization","href":"/api-reference/metrics/keep-the-current-judge-prompt-over-an-optimized-candidate"},{"title":"Revise metric configuration with AI (Update With AI)","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /metrics/update-config","href":"/api-reference/metrics/revise-metric-configuration-with-ai-update-with-ai"}]},{"group":"specifications","pages":[{"title":"Get specifications","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /specifications","href":"/api-reference/specifications/get-specifications"},{"title":"Create specification","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /specifications","href":"/api-reference/specifications/create-specification"},{"title":"Get specification by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /specifications/{id}","href":"/api-reference/specifications/get-specification-by-id"},{"title":"Delete specification","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /specifications/{id}","href":"/api-reference/specifications/delete-specification"},{"title":"Update specification","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /specifications/{id}","href":"/api-reference/specifications/update-specification"},{"title":"Create multiple specifications","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /specifications/batch","href":"/api-reference/specifications/create-multiple-specifications"},{"title":"Delete multiple specifications","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /specifications/batch","href":"/api-reference/specifications/delete-multiple-specifications"},{"title":"Get linked metrics","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /specifications/{id}/metrics","href":"/api-reference/specifications/get-linked-metrics"},{"title":"Link metrics to specification","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /specifications/{id}/metrics","href":"/api-reference/specifications/link-metrics-to-specification"},{"title":"Unlink metrics from specification","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /specifications/{id}/metrics","href":"/api-reference/specifications/unlink-metrics-from-specification"},{"title":"Get linked datasets","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /specifications/{id}/tests","href":"/api-reference/specifications/get-linked-datasets"},{"title":"Link datasets to specification","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /specifications/{id}/tests","href":"/api-reference/specifications/link-datasets-to-specification"},{"title":"Unlink datasets from specification","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /specifications/{id}/tests","href":"/api-reference/specifications/unlink-datasets-from-specification"},{"title":"Generate specification configuration","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /specifications/generate-config","href":"/api-reference/specifications/generate-specification-configuration"}]},{"group":"models","pages":[{"title":"Get models","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /models","href":"/api-reference/models/get-models"},{"title":"Create model","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /models","href":"/api-reference/models/create-model"},{"title":"Get model by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /models/{id}","href":"/api-reference/models/get-model-by-id"},{"title":"Delete model","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /models/{id}","href":"/api-reference/models/delete-model"},{"title":"Update model","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /models/{id}","href":"/api-reference/models/update-model"},{"title":"Delete multiple models","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /models/batch","href":"/api-reference/models/delete-multiple-models"}]},{"group":"products","pages":[{"title":"Get products","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /products","href":"/api-reference/products/get-products"},{"title":"Create product","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /products","href":"/api-reference/products/create-product"},{"title":"List distinct product tags","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /products/tags","href":"/api-reference/products/list-distinct-product-tags"},{"title":"Delete multiple products","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /products/batch","href":"/api-reference/products/delete-multiple-products"},{"title":"Get product by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /products/{id}","href":"/api-reference/products/get-product-by-id"},{"title":"Delete product","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /products/{id}","href":"/api-reference/products/delete-product"},{"title":"Update product","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /products/{id}","href":"/api-reference/products/update-product"},{"title":"Generate product configuration using AI","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /products/generate-config","href":"/api-reference/products/generate-product-configuration-using-ai"},{"title":"Cross-check a document against an existing product's specifications","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /products/{id}/regenerate-config","href":"/api-reference/products/cross-check-a-document-against-an-existing-products-specifications"}]},{"group":"versions","pages":[{"title":"Get versions","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /versions","href":"/api-reference/versions/get-versions"},{"title":"Create version","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /versions","href":"/api-reference/versions/create-version"},{"title":"Get version by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /versions/{id}","href":"/api-reference/versions/get-version-by-id"},{"title":"Delete version","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /versions/{id}","href":"/api-reference/versions/delete-version"},{"title":"Update version","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /versions/{id}","href":"/api-reference/versions/update-version"},{"title":"List metrics annotated with compatibility for a version","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /versions/{id}/compatible-metrics","href":"/api-reference/versions/list-metrics-annotated-with-compatibility-for-a-version"},{"title":"Delete multiple versions","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /versions/batch","href":"/api-reference/versions/delete-multiple-versions"},{"title":"Get or create version by facts","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /versions/get-or-create","href":"/api-reference/versions/get-or-create-version-by-facts"}]},{"group":"monitors","pages":[{"title":"Get monitor results","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /monitors/{id}/results","href":"/api-reference/monitors/get-monitor-results"},{"title":"Delete multiple monitors","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /monitors/batch","href":"/api-reference/monitors/delete-multiple-monitors"},{"title":"Get monitor by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /monitors/{id}","href":"/api-reference/monitors/get-monitor-by-id"},{"title":"Delete monitor","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /monitors/{id}","href":"/api-reference/monitors/delete-monitor"},{"title":"Update monitor","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /monitors/{id}","href":"/api-reference/monitors/update-monitor"},{"title":"Get monitors","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /monitors","href":"/api-reference/monitors/get-monitors"},{"title":"Create monitor","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /monitors","href":"/api-reference/monitors/create-monitor"},{"title":"Preview monitor content-filter matches","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /monitors/preview","href":"/api-reference/monitors/preview-monitor-content-filter-matches"},{"title":"Pause monitor","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /monitors/{id}/pause","href":"/api-reference/monitors/pause-monitor"},{"title":"Resume monitor","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /monitors/{id}/resume","href":"/api-reference/monitors/resume-monitor"},{"title":"List a monitor's alert rules","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /monitors/{monitorId}/alert-rules","href":"/api-reference/monitors/list-a-monitors-alert-rules"},{"title":"Create a monitor alert rule","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /monitors/{monitorId}/alert-rules","href":"/api-reference/monitors/create-a-monitor-alert-rule"},{"title":"Get a monitor alert rule","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /monitors/{monitorId}/alert-rules/{alertRuleId}","href":"/api-reference/monitors/get-a-monitor-alert-rule"},{"title":"Delete a monitor alert rule","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /monitors/{monitorId}/alert-rules/{alertRuleId}","href":"/api-reference/monitors/delete-a-monitor-alert-rule"},{"title":"Update a monitor alert rule","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /monitors/{monitorId}/alert-rules/{alertRuleId}","href":"/api-reference/monitors/update-a-monitor-alert-rule"},{"title":"Pause a monitor alert rule","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /monitors/{monitorId}/alert-rules/{alertRuleId}/pause","href":"/api-reference/monitors/pause-a-monitor-alert-rule"},{"title":"Resume a monitor alert rule","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /monitors/{monitorId}/alert-rules/{alertRuleId}/resume","href":"/api-reference/monitors/resume-a-monitor-alert-rule"},{"title":"Regenerate an alert rule's webhook signing secret","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /monitors/{monitorId}/alert-rules/{alertRuleId}/regenerate-webhook-secret","href":"/api-reference/monitors/regenerate-an-alert-rules-webhook-signing-secret"},{"title":"List a monitor's alerts","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /monitors/{monitorId}/alerts","href":"/api-reference/monitors/list-a-monitors-alerts"},{"title":"Get a monitor alert","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /monitors/{monitorId}/alerts/{alertId}","href":"/api-reference/monitors/get-a-monitor-alert"}]},{"group":"endpoint-connections","pages":[{"title":"Get endpoint connections","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /endpointConnections","href":"/api-reference/endpoint-connections/get-endpoint-connections"},{"title":"Create endpoint connection","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /endpointConnections","href":"/api-reference/endpoint-connections/create-endpoint-connection"},{"title":"Get endpoint connection by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /endpointConnections/{id}","href":"/api-reference/endpoint-connections/get-endpoint-connection-by-id"},{"title":"Delete endpoint connection","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /endpointConnections/{id}","href":"/api-reference/endpoint-connections/delete-endpoint-connection"},{"title":"Update endpoint connection","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /endpointConnections/{id}","href":"/api-reference/endpoint-connections/update-endpoint-connection"},{"title":"Test endpoint connection","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /endpointConnections/testConnection","href":"/api-reference/endpoint-connections/test-endpoint-connection"},{"title":"Parse a cURL command into endpoint connection fields","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /endpointConnections/parse-curl","href":"/api-reference/endpoint-connections/parse-a-curl-command-into-endpoint-connection-fields"},{"title":"Delete multiple endpoint connections","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /endpointConnections/batch","href":"/api-reference/endpoint-connections/delete-multiple-endpoint-connections"}]},{"group":"datasets","pages":[{"title":"Get dataset types used by the organization","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /tests/types","href":"/api-reference/datasets/get-dataset-types-used-by-the-organization"},{"title":"Extend a generated dataset with more cases","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /tests/{id}/extend","href":"/api-reference/datasets/extend-a-generated-dataset-with-more-cases"},{"title":"Create multiple datasets","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /tests/batch","href":"/api-reference/datasets/create-multiple-datasets"},{"title":"Delete multiple datasets","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /tests/batch","href":"/api-reference/datasets/delete-multiple-datasets"},{"title":"Get dataset by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /tests/{id}","href":"/api-reference/datasets/get-dataset-by-id"},{"title":"Delete dataset","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /tests/{id}","href":"/api-reference/datasets/delete-dataset"},{"title":"Update dataset","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /tests/{id}","href":"/api-reference/datasets/update-dataset"},{"title":"Get datasets","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /tests","href":"/api-reference/datasets/get-datasets"},{"title":"Create dataset","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /tests","href":"/api-reference/datasets/create-dataset"},{"title":"Generate dataset configuration from specifications","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /tests/generate-config","href":"/api-reference/datasets/generate-dataset-configuration-from-specifications"}]},{"group":"test-cases","pages":[{"title":"Get test cases","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /testCases","href":"/api-reference/test-cases/get-test-cases"},{"title":"Create test case","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /testCases","href":"/api-reference/test-cases/create-test-case"},{"title":"Get test case languages","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /testCases/languages","href":"/api-reference/test-cases/get-test-case-languages"},{"title":"Export test cases as CSV","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /testCases/export","href":"/api-reference/test-cases/export-test-cases-as-csv"},{"title":"Get test case by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /testCases/{id}","href":"/api-reference/test-cases/get-test-case-by-id"},{"title":"Delete test case","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /testCases/{id}","href":"/api-reference/test-cases/delete-test-case"},{"title":"Update test case","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /testCases/{id}","href":"/api-reference/test-cases/update-test-case"},{"title":"Delete multiple test cases","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /testCases/batch","href":"/api-reference/test-cases/delete-multiple-test-cases"},{"title":"Augment test cases","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /generateFromFewShot/augment","href":"/api-reference/test-cases/augment-test-cases"},{"title":"Get augmentation task status","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /generateFromFewShot/status/{taskId}","href":"/api-reference/test-cases/get-augmentation-task-status"},{"title":"Count replay candidates per product for a test case revision","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /testCases/{id}/replay-candidate-count","href":"/api-reference/test-cases/count-replay-candidates-per-product-for-a-test-case-revision"}]},{"group":"sessions","pages":[{"title":"List metrics annotated with compatibility for a session","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /sessions/{id}/compatible-metrics","href":"/api-reference/sessions/list-metrics-annotated-with-compatibility-for-a-session"},{"title":"Get sessions","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /sessions","href":"/api-reference/sessions/get-sessions"},{"title":"Create session","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /sessions","href":"/api-reference/sessions/create-session"},{"title":"Get session by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /sessions/{id}","href":"/api-reference/sessions/get-session-by-id"},{"title":"Delete session","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /sessions/{id}","href":"/api-reference/sessions/delete-session"},{"title":"Update session","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /sessions/{id}","href":"/api-reference/sessions/update-session"},{"title":"Finish session","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /sessions/{id}/finish","href":"/api-reference/sessions/finish-session"},{"title":"Delete multiple sessions","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /sessions/batch","href":"/api-reference/sessions/delete-multiple-sessions"},{"title":"Generate next user message","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /conversationSimulator/generateNextUserMessage","href":"/api-reference/sessions/generate-next-user-message"},{"title":"Import sessions from a Langfuse trace export","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /sessions/import","href":"/api-reference/sessions/import-sessions-from-a-langfuse-trace-export"}]},{"group":"traces","pages":[{"title":"Get traces","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /inferenceResults","href":"/api-reference/traces/get-traces"},{"title":"Create trace","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /inferenceResults","href":"/api-reference/traces/create-trace"},{"title":"Get aggregated performance data","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /inferenceResults/aggregatedData","href":"/api-reference/traces/get-aggregated-performance-data"},{"title":"Get trace by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /inferenceResults/{id}","href":"/api-reference/traces/get-trace-by-id"},{"title":"Delete trace","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /inferenceResults/{id}","href":"/api-reference/traces/delete-trace"},{"title":"Update trace","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /inferenceResults/{id}","href":"/api-reference/traces/update-trace"},{"title":"Create traces batch","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /inferenceResults/batch","href":"/api-reference/traces/create-traces-batch"},{"title":"Delete multiple traces","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /inferenceResults/batch","href":"/api-reference/traces/delete-multiple-traces"},{"title":"Generate traces from test cases","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /inferenceResults/generate","href":"/api-reference/traces/generate-traces-from-test-cases"}]},{"group":"spans","pages":[{"title":"Get spans","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /traces","href":"/api-reference/spans/get-spans"},{"title":"Create span","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /traces","href":"/api-reference/spans/create-span"},{"title":"Get span by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /traces/{id}","href":"/api-reference/spans/get-span-by-id"},{"title":"Delete span","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /traces/{id}","href":"/api-reference/spans/delete-span"},{"title":"Create spans batch","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /traces/batch","href":"/api-reference/spans/create-spans-batch"},{"title":"Delete multiple spans","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /traces/batch","href":"/api-reference/spans/delete-multiple-spans"}]},{"group":"analytics","pages":[{"title":"Get analytics data","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /analytics","href":"/api-reference/analytics/get-analytics-data"},{"title":"Export analytics data","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /analytics/export","href":"/api-reference/analytics/export-analytics-data"},{"title":"Get analytics insights for a version","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /analytics/insights","href":"/api-reference/analytics/get-analytics-insights-for-a-version"},{"title":"Get cross-version analytics comparison insights","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /analytics/insights/comparison","href":"/api-reference/analytics/get-cross-version-analytics-comparison-insights"},{"title":"Get per-version scores and the newest version, per product","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /analytics/summary","href":"/api-reference/analytics/get-per-version-scores-and-the-newest-version-per-product"},{"title":"List products with their session stats for a period","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /analytics/products","href":"/api-reference/analytics/list-products-with-their-session-stats-for-a-period"},{"title":"Get the sessions of a period summed over products","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /analytics/sessions-overview","href":"/api-reference/analytics/get-the-sessions-of-a-period-summed-over-products"},{"title":"Get the estimated cost of the sessions of a period summed over products","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /analytics/cost-overview","href":"/api-reference/analytics/get-the-estimated-cost-of-the-sessions-of-a-period-summed-over-products"},{"title":"List the products whose share of critical failures went up","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /analytics/changes","href":"/api-reference/analytics/list-the-products-whose-share-of-critical-failures-went-up"},{"title":"List the specifications that sessions failed in a period","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /analytics/failing-specifications","href":"/api-reference/analytics/list-the-specifications-that-sessions-failed-in-a-period"},{"title":"Get the session outcomes of a product per day, week or month","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /analytics/session-outcomes-over-time","href":"/api-reference/analytics/get-the-session-outcomes-of-a-product-per-day-week-or-month"}]},{"group":"storage","pages":[{"title":"Generate upload presigned URL","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /storage/generate-put-presigned-url","href":"/api-reference/storage/generate-upload-presigned-url"},{"title":"Generate download presigned URL","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /storage/generate-get-presigned-url","href":"/api-reference/storage/generate-download-presigned-url"}]},{"group":"jobs","pages":[{"title":"Get job status","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /jobs/{jobId}/status","href":"/api-reference/jobs/get-job-status"},{"title":"Cancel a job","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /jobs/{jobId}/cancel","href":"/api-reference/jobs/cancel-a-job"}]},{"group":"otel","pages":[{"title":"Validate credentials for OTel ingestion","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /otel/auth","href":"/api-reference/otel/validate-credentials-for-otel-ingestion"},{"title":"Ingest OpenTelemetry spans (OTLP JSON)","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /otel/traces","href":"/api-reference/otel/ingest-opentelemetry-spans-otlp-json"}]},{"group":"phone-connections","pages":[{"title":"Get phone connections","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /phoneConnections","href":"/api-reference/phone-connections/get-phone-connections"},{"title":"Create phone connection","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /phoneConnections","href":"/api-reference/phone-connections/create-phone-connection"},{"title":"Get phone connection by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /phoneConnections/{id}","href":"/api-reference/phone-connections/get-phone-connection-by-id"},{"title":"Delete phone connection","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /phoneConnections/{id}","href":"/api-reference/phone-connections/delete-phone-connection"},{"title":"Update phone connection","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /phoneConnections/{id}","href":"/api-reference/phone-connections/update-phone-connection"},{"title":"Delete multiple phone connections","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /phoneConnections/batch","href":"/api-reference/phone-connections/delete-multiple-phone-connections"}]},{"group":"web-rtc-connections","pages":[{"title":"Get WebRTC connections","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /webRtcConnections","href":"/api-reference/web-rtc-connections/get-webrtc-connections"},{"title":"Create WebRTC connection","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /webRtcConnections","href":"/api-reference/web-rtc-connections/create-webrtc-connection"},{"title":"Get WebRTC connection by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /webRtcConnections/{id}","href":"/api-reference/web-rtc-connections/get-webrtc-connection-by-id"},{"title":"Delete WebRTC connection","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /webRtcConnections/{id}","href":"/api-reference/web-rtc-connections/delete-webrtc-connection"},{"title":"Update WebRTC connection","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json patch /webRtcConnections/{id}","href":"/api-reference/web-rtc-connections/update-webrtc-connection"},{"title":"Delete multiple WebRTC connections","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /webRtcConnections/batch","href":"/api-reference/web-rtc-connections/delete-multiple-webrtc-connections"}]},{"group":"evaluations","pages":[{"title":"Get evaluations","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /evaluations","href":"/api-reference/evaluations/get-evaluations"},{"title":"Get evaluation count and last-evaluated date per product","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /evaluations/summary","href":"/api-reference/evaluations/get-evaluation-count-and-last-evaluated-date-per-product"},{"title":"Get evaluation by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /evaluations/{id}","href":"/api-reference/evaluations/get-evaluation-by-id"},{"title":"Delete evaluation","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /evaluations/{id}","href":"/api-reference/evaluations/delete-evaluation"},{"title":"Create evaluations from session","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/fromSession","href":"/api-reference/evaluations/create-evaluations-from-session"},{"title":"Evaluate multiple sessions in one call","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/fromSessions","href":"/api-reference/evaluations/evaluate-multiple-sessions-in-one-call"},{"title":"Create evaluations for a single trace","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/fromInferenceResult","href":"/api-reference/evaluations/create-evaluations-for-a-single-trace"},{"title":"Create single-turn evaluations","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/singleTurn","href":"/api-reference/evaluations/create-single-turn-evaluations"},{"title":"Retry failed evaluations","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/retry","href":"/api-reference/evaluations/retry-failed-evaluations"},{"title":"Evaluate a version","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/fromVersion","href":"/api-reference/evaluations/evaluate-a-version"},{"title":"Replay evaluations onto a new metric revision","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/fromMetrics","href":"/api-reference/evaluations/replay-evaluations-onto-a-new-metric-revision"},{"title":"Replay evaluations onto a new test case revision","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/fromTestCases","href":"/api-reference/evaluations/replay-evaluations-onto-a-new-test-case-revision"},{"title":"Delete multiple evaluations","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /evaluations/batch","href":"/api-reference/evaluations/delete-multiple-evaluations"},{"title":"Get pending human evaluations","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /evaluations/human/pending","href":"/api-reference/evaluations/get-pending-human-evaluations"},{"title":"Get completed human evaluations","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /evaluations/human/completed","href":"/api-reference/evaluations/get-completed-human-evaluations"},{"title":"Claim an evaluation for human review or annotation","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/{id}/claim","href":"/api-reference/evaluations/claim-an-evaluation-for-human-review-or-annotation"},{"title":"Release a claimed evaluation or annotation","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/{id}/release","href":"/api-reference/evaluations/release-a-claimed-evaluation-or-annotation"},{"title":"Submit a human evaluation or annotation score","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/{id}/submit","href":"/api-reference/evaluations/submit-a-human-evaluation-or-annotation-score"},{"title":"Edit a submitted human evaluation","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluations/{id}/edit-human","href":"/api-reference/evaluations/edit-a-submitted-human-evaluation"},{"title":"Remove a human annotation","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /evaluations/{id}/human-annotation","href":"/api-reference/evaluations/remove-a-human-annotation"}]},{"group":"comments","pages":[{"title":"Create comment","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /comments","href":"/api-reference/comments/create-comment"},{"title":"List distinct comment labels","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /comments/tags","href":"/api-reference/comments/list-distinct-comment-labels"},{"title":"Delete comment","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /comments/{commentId}","href":"/api-reference/comments/delete-comment"}]},{"group":"evaluator-models","pages":[{"title":"Get evaluator models","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /evaluatorModels","href":"/api-reference/evaluator-models/get-evaluator-models"},{"title":"Check judge generation settings against the model","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /evaluatorModels/test-generation-settings","href":"/api-reference/evaluator-models/check-judge-generation-settings-against-the-model"}]},{"group":"runs","pages":[{"title":"Get runs","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /runs","href":"/api-reference/runs/get-runs"},{"title":"Create run","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /runs","href":"/api-reference/runs/create-run"},{"title":"Close run","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /runs/{id}/close","href":"/api-reference/runs/close-run"},{"title":"Run a run again","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /runs/{id}/relaunch","href":"/api-reference/runs/run-a-run-again"},{"title":"Cancel run","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json post /runs/{id}/cancel","href":"/api-reference/runs/cancel-run"},{"title":"Get run metric summary","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /runs/{id}/metric-summary","href":"/api-reference/runs/get-run-metric-summary"},{"title":"Get run by ID","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json get /runs/{id}","href":"/api-reference/runs/get-run-by-id"},{"title":"Delete run","deprecated":null,"version":null,"openapi":"https://api.galtea.ai/openapi.json delete /runs/{id}","href":"/api-reference/runs/delete-run"}]}]}]}]},"basePath":"","title":"Create several Classifier metrics at once (classifier metrics only) - Galtea Docs","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}