Write a finished authoring job's cases into the suite
Writes the job’s drafts into the suite. A draft carrying unresolved blocking issues or proposed additions is skipped rather than written, and comes back under skipped with a reviewUrl for finishing it in the app.
A job whose source is markdown — the in-app upload — is not committable here and answers 404: those drafts exist so a person decides on them, and an API commit would decide on their behalf.
POST
/
projects
/
{projectId}
/
eval-suites
/
{suiteId}
/
authoring
/
{jobId}
/
commit
Write a finished authoring job's cases into the suite
The cases written and any the commit skipped, or the job's own status when it finished without committing (failed, cancelled, or still pending at the end of the wait).
Opens the app on exactly the skipped drafts. Present only when something was skipped — finishing them there costs nothing, whereas re-sending the document re-authors and re-bills every case in it.
Was this page helpful?
⌘I
Write a finished authoring job's cases into the suite
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"MCPJam Inspector","colors":{"primary":"#e07856","light":"#f08c6b","dark":"#c96442"},"logo":{"light":"https://mintcdn.com/mcpjam/vsGvCDGvliesO33B/logo/mcp_jam_light.png?fit=max\u0026auto=format\u0026n=vsGvCDGvliesO33B\u0026q=85\u0026s=754a0151aa3da5cbb9bcefa21396cde9","dark":"https://mintcdn.com/mcpjam/vsGvCDGvliesO33B/logo/mcp_jam_dark.png?fit=max\u0026auto=format\u0026n=vsGvCDGvliesO33B\u0026q=85\u0026s=f28fe195b19b2cb8ecedc1e78f63b473"},"favicon":"https://mintcdn.com/mcpjam/Wx1t0nRRuCrjZNoi/mcp_jam.svg?fit=max\u0026auto=format\u0026n=Wx1t0nRRuCrjZNoi\u0026q=85\u0026s=86c9baba0205ffb6185ccddd67789fd3","appearance":{"default":"light","strict":false},"background":{"color":{"light":"#faf9f5","dark":"#262624"}},"navbar":{"links":[{"href":"https://github.com/MCPJam/inspector","label":"GitHub"}]},"footer":{"socials":{"discord":"https://discord.gg/JEnDtz8X6z","github":"https://github.com/MCPJam/inspector","website":"https://mcpjam.com","linkedin":"https://www.linkedin.com/company/109011364","x":"https://x.com/mcpjams"},"links":[{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://www.mcpjam.com/privacy-policy"},{"label":"Terms of Use","href":"https://www.mcpjam.com/terms-of-use"}]}]},"fonts":{"heading":{"family":"Geist","weight":500,"source":"fonts/geist-latin-500-normal.woff2","format":"woff2"},"body":{"family":"Geist","weight":400,"source":"fonts/geist-latin-400-normal.woff2","format":"woff2"}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":"css-variables"},"latex":true},"errors":{"404":{"redirect":false,"title":"Lost in the inspector?","description":"Try the [getting started guide](/getting-started), the [CLI overview](/cli/overview), or the [SDK reference](/sdk/index). Related pages are listed below."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Discord","icon":"discord","href":"https://discord.gg/JEnDtz8X6z"},{"anchor":"GitHub","icon":"github","href":"https://github.com/MCPJam/inspector"},{"anchor":"Website","icon":"globe","href":"https://mcpjam.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mcpjam","hasAudioNarration":false,"actualSubdomain":"mcpjam","customDomains":["docs.mcpjam.com"],"gitSource":{"type":"github","owner":"mcpjam","repo":"inspector","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3b7c7c8389b6add0ba449","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API","count":239},{"language":"default","tag":"Endpoints","count":237},{"language":"default","tag":"Eval runs","count":49},{"language":"default","tag":"SDK","count":28},{"language":"default","tag":"Inspector","count":24},{"language":"default","tag":"Studies","count":21},{"language":"default","tag":"Reference","count":18},{"language":"default","tag":"CLI","count":17},{"language":"default","tag":"Swarms","count":17},{"language":"default","tag":"Get Started","count":16}]},"assistantConfig":{"deflection":{"enabled":true,"email":"[email protected]","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@font-face{font-family:\"Geist Mono\";font-style:normal;font-weight:400;font-display:swap;src:url(\"/fonts/geist-mono-latin-400-normal.woff2\") format(\"woff2\")}@font-face{font-family:\"Geist Mono\";font-style:normal;font-weight:500;font-display:swap;src:url(\"/fonts/geist-mono-latin-500-normal.woff2\") format(\"woff2\")}:root{--mcj-paper: oklch(0.9818 0.0054 95.0986);--mcj-paper-2: oklch(0.9341 0.0153 90.239);--mcj-paper-3: oklch(0.9245 0.0138 92.9892);--mcj-ink: oklch(0.3438 0.0269 95.7226);--mcj-ink-strong: oklch(0.1908 0.002 106.5859);--mcj-ink-muted: oklch(0.6059 0.0075 97.4233);--mcj-rule: oklch(0.8847 0.0069 97.3627);--mcj-rule-strong: oklch(0.7621 0.0156 98.3528);--mcj-orange: oklch(0.6832 0.1382 38.744);--mcj-orange-edge: oklch(0.6171 0.1375 39.0427);--mcj-radius: 0.5rem;--mcj-orange-soft: oklch(0.6832 0.1382 38.744 / 0.10);--mint-color-text: oklch(0.1908 0.002 106.5859);--mint-color-background: oklch(0.9341 0.0153 90.239);--mint-token-keyword: oklch(0.55 0.16 35);--mint-token-function: oklch(0.1908 0.002 106.5859);--mint-token-string: oklch(0.45 0.09 145);--mint-token-string-expression: oklch(0.45 0.09 145);--mint-token-constant: oklch(0.52 0.08 60);--mint-token-parameter: oklch(0.3438 0.0269 95.7226);--mint-token-punctuation: oklch(0.58 0.005 95);--mint-token-comment: oklch(0.62 0.01 95);--mint-token-link: oklch(0.6171 0.1375 39.0427)}.dark,[data-theme=\"dark\"]{--mcj-paper: oklch(0.2679 0.0036 106.6427);--mcj-paper-2: oklch(0.2213 0.0038 106.707);--mcj-paper-3: oklch(0.213 0.0078 95.4245);--mcj-ink: oklch(0.8074 0.0142 93.0137);--mcj-ink-strong: oklch(0.9818 0.0054 95.0986);--mcj-ink-muted: oklch(0.7713 0.0169 99.0657);--mcj-rule: oklch(0.3618 0.0101 106.8928);--mcj-rule-strong: oklch(0.4336 0.0113 100.2195);--mcj-orange: oklch(0.6724 0.1308 38.7559);--mcj-orange-edge: oklch(0.6724 0.1308 38.7559);--mcj-radius: 0.5rem;--mcj-orange-soft: oklch(0.6724 0.1308 38.7559 / 0.14);--mint-color-text: oklch(0.92 0.01 95);--mint-color-background: oklch(0.2213 0.0038 106.707);--mint-token-keyword: oklch(0.75 0.13 35);--mint-token-function: oklch(0.92 0.01 95);--mint-token-string: oklch(0.78 0.10 145);--mint-token-string-expression: oklch(0.78 0.10 145);--mint-token-constant: oklch(0.78 0.09 65);--mint-token-parameter: oklch(0.86 0.01 95);--mint-token-punctuation: oklch(0.60 0.005 95);--mint-token-comment: oklch(0.55 0.01 95);--mint-token-link: oklch(0.7400 0.1308 38.7559)}body{background:var(--mcj-paper);color:var(--mcj-ink);font-feature-settings:\"ss01\", \"cv11\";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#navbar{background:var(--mcj-paper);border-bottom:1px solid var(--mcj-rule);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}#sidebar,aside[aria-label=\"sidebar\"]{background:var(--mcj-paper);border-right:1px solid var(--mcj-rule)}footer{background:var(--mcj-paper);border-top:1px solid var(--mcj-rule)}h1,h2,h3,h4{color:var(--mcj-ink-strong);letter-spacing:-0.012em;font-weight:500}h1{letter-spacing:-0.022em;font-weight:600}h2{letter-spacing:-0.018em}p,li{color:var(--mcj-ink)}a{color:var(--mcj-orange-edge);text-decoration:none;text-underline-offset:3px;text-decoration-thickness:1px;transition:color 120ms ease-out}a:hover{color:var(--mcj-orange);text-decoration:underline}#sidebar a,aside[aria-label=\"sidebar\"] a{color:var(--mcj-ink-muted);border-radius:6px;transition:background 100ms ease-out, color 100ms ease-out}#sidebar a:hover,aside[aria-label=\"sidebar\"] a:hover{color:var(--mcj-ink-strong);background:var(--mcj-paper-2)}#sidebar a[aria-current=\"page\"],aside[aria-label=\"sidebar\"] a[aria-current=\"page\"]{color:var(--mcj-orange);background:var(--mcj-orange-soft);font-weight:500}:is(#sidebar,aside[aria-label=\"sidebar\"]) :is(h2,h3,h4,h5,[role=\"heading\"],button[aria-expanded],[data-sidebar-group-label]){font-size:0.68rem!important;font-weight:600!important;letter-spacing:0.08em!important;text-transform:uppercase!important;color:var(--mcj-ink-muted)!important;margin-top:1.5rem!important;padding-top:1rem!important;border-top:1px solid var(--mcj-rule)}:is(#sidebar,aside[aria-label=\"sidebar\"])>:first-child :is(h2,h3,h4,button[aria-expanded]):first-of-type,:is(#sidebar,aside[aria-label=\"sidebar\"]) :is(h2,h3,h4,button[aria-expanded]):first-of-type{border-top:none;margin-top:0.5rem!important;padding-top:0!important}code,pre,kbd,samp{font-family:\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Monaco,\n Consolas, \"Liberation Mono\", \"Courier New\", monospace}:is(article,.prose,main,body) :is(p,li,td,h1,h2,h3,h4,h5,h6,span) code:not(pre code),:is(article,.prose,main,body)>code:not(pre code){background:var(--mcj-orange-soft)!important;border:none!important;color:var(--mcj-orange-edge)!important;padding:0.08em 0.38em!important;border-radius:4px!important;font-size:0.86em!important;font-weight:500!important;line-height:1.45!important}:root{--mint-background: var(--mcj-paper-2)}.dark,[data-theme=\"dark\"]{--mint-background: oklch(0.2213 0.0038 106.707)}code-block,pre,.shiki,.code-block,[data-component-part=\"code-block-root\"]{background:var(--mint-background)!important;border:none!important;border-radius:var(--mcj-radius);box-shadow:none!important}:root .code-block{color:var(--mcj-ink-strong)!important}.dark .code-block,[data-theme=\"dark\"] .code-block{color:oklch(0.92 0.01 95)!important}.code-block .nav-tabs-item:not([data-state=\"active\"]):not([aria-selected=\"true\"]){color:var(--mcj-ink-muted)!important}:root [data-component-part=\"code-block-root\"]{scrollbar-color:var(--mcj-rule-strong) transparent}:root [data-component-part=\"code-block-root\"]::-webkit-scrollbar-thumb{background:var(--mcj-rule-strong)!important}[data-component-part=\"code-block-header\"]{color:var(--mcj-ink-muted)!important;border-bottom:1px solid var(--mcj-rule)!important;font-family:\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Monaco,\n Consolas, \"Liberation Mono\", \"Courier New\", monospace;font-size:0.78rem!important;letter-spacing:0.01em}[data-component-part=\"code-block-header-filename\"],[data-component-part=\"code-block-header-filename\"] *{color:var(--mcj-ink-muted)!important}.dark [data-component-part=\"code-block-header\"],[data-theme=\"dark\"] [data-component-part=\"code-block-header\"]{border-bottom-color:var(--mcj-rule)!important}pre,pre code,.shiki,.shiki code{color:var(--mcj-ink-strong)!important}pre{scrollbar-width:thin;scrollbar-color:var(--mcj-rule-strong) transparent}pre::-webkit-scrollbar{height:5px;width:5px}pre::-webkit-scrollbar-track{background:transparent}pre::-webkit-scrollbar-thumb{background:var(--mcj-rule-strong);border-radius:9999px}pre::-webkit-scrollbar-thumb:hover{background:var(--mcj-ink-muted)}:is(pre,code-block,.code-block,figure[data-rehype-pretty-code-figure],[data-component-part=\"code-block-header\"]) :is(button,[role=\"button\"],[aria-label*=\"opy\"i],[aria-label*=\"lipboard\"i]),[data-testid=\"copy-code-button\"]{opacity:1!important;color:var(--mcj-ink-muted)!important;background:transparent!important;border:none!important;transition:color 120ms ease-out, background 120ms ease-out}:is(pre,code-block,.code-block,figure[data-rehype-pretty-code-figure],[data-component-part=\"code-block-header\"]) :is(button,[role=\"button\"],[aria-label*=\"opy\"i],[aria-label*=\"lipboard\"i]):hover,[data-testid=\"copy-code-button\"]:hover{color:var(--mcj-ink-strong)!important;background:var(--mcj-paper-3)!important}:is(pre,code-block,.code-block,[data-component-part=\"code-block-header\"]) :is(button,[role=\"button\"]) svg,[data-testid=\"copy-code-button\"] svg,[data-testid=\"copy-code-button\"] svg *{color:inherit!important;stroke:currentColor!important;opacity:1!important}callout,.callout,note,tip,warning,info{background:transparent!important;border:none!important;border-left:2px solid var(--mcj-orange)!important;border-radius:0!important;box-shadow:none!important;padding:0.35rem 0 0.35rem 1rem!important;margin:1.25rem 0}:is(callout,.callout,note,tip,warning,info) :is(p,li,span){color:var(--mcj-ink)!important}:is(callout,.callout,note,tip,warning,info) :is(svg,[class*=\"icon\"]){color:inherit!important;opacity:1!important}note{border-left-color:var(--mcj-orange)!important;color:var(--mcj-orange-edge)!important}tip{border-left-color:oklch(0.55 0.13 152.5)!important;color:oklch(0.40 0.10 152.5)!important}info{border-left-color:oklch(0.55 0.16 259)!important;color:oklch(0.40 0.14 259)!important}warning{border-left-color:oklch(0.6261 0.2077 25.2698)!important;color:oklch(0.50 0.18 25.270)!important}.dark note,[data-theme=\"dark\"] note{color:oklch(0.78 0.13 38.7)!important}.dark tip,[data-theme=\"dark\"] tip{color:oklch(0.78 0.12 152.5)!important}.dark info,[data-theme=\"dark\"] info{color:oklch(0.78 0.14 259)!important}.dark warning,[data-theme=\"dark\"] warning{color:oklch(0.78 0.16 25.331)!important}card,.card{background:var(--mcj-paper);border:1px solid var(--mcj-rule);border-radius:var(--mcj-radius);box-shadow:none!important;transition:border-color 140ms ease-out, transform 140ms ease-out}card:hover,.card:hover{border-color:var(--mcj-orange);transform:none}.accordion-group{background:var(--mcj-paper-2)!important;border:1px solid var(--mcj-rule)!important;border-radius:var(--mcj-radius)!important;overflow:hidden;box-shadow:none!important}details.accordion,.accordion-group>details{background:transparent!important;border:none!important;border-radius:0!important;margin:0!important;box-shadow:none!important}.accordion-group>details+details{border-top:1px solid var(--mcj-rule)!important}details.accordion>summary,.accordion-group summary[data-component-part=\"accordion-button\"]{background:transparent!important;color:var(--mcj-ink-strong)!important;font-weight:500;border-radius:0!important}details.accordion>summary:hover,.accordion-group summary[data-component-part=\"accordion-button\"]:hover{background:var(--mcj-paper-3)!important;color:var(--mcj-ink-strong)!important}details.accordion[open]>:not(summary){color:var(--mcj-ink)!important}button[data-variant=\"primary\"],.button-primary,a.button-primary{background:var(--mcj-orange);color:#ffffff;border:1px solid var(--mcj-orange-edge);border-radius:var(--mcj-radius);box-shadow:none;font-weight:500}button[data-variant=\"primary\"]:hover,.button-primary:hover,a.button-primary:hover{background:var(--mcj-orange-edge)}table{border:none!important;border-collapse:collapse;width:100%}thead tr,thead th{background:transparent!important}th{color:var(--mcj-ink-strong)!important;font-weight:500!important;text-align:left;border-bottom:1px solid var(--mcj-rule)!important;padding:0.55rem 0.9rem!important;font-size:0.92em}td{color:var(--mcj-ink)!important;border-top:none!important;border-bottom:1px solid var(--mcj-rule)!important;border-left:none!important;border-right:none!important;padding:0.7rem 0.9rem!important;vertical-align:top}tbody tr:last-child td{border-bottom:none!important}tbody tr:hover td{background:var(--mcj-paper-2)}:is(td,th) a:not(.button-primary){color:var(--mcj-ink-strong)!important;text-decoration:underline!important;text-decoration-color:var(--mcj-rule-strong)!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important;transition:text-decoration-color 120ms ease-out, color 120ms ease-out}:is(td,th) a:not(.button-primary):hover{color:var(--mcj-orange)!important;text-decoration-color:var(--mcj-orange)!important}:is([role=\"tablist\"],nav[aria-label*=\"tab\"i],[data-slot=\"tabs\"]) :is(a,button)[aria-selected=\"true\"],:is([role=\"tablist\"],nav[aria-label*=\"tab\"i],[data-slot=\"tabs\"]) :is(a,button)[data-state=\"active\"]{color:var(--mcj-ink-strong)!important;font-weight:500!important;border-bottom:2px solid var(--mcj-orange)!important;margin-bottom:-1px}:is([role=\"tablist\"],nav[aria-label*=\"tab\"i],[data-slot=\"tabs\"]) :is(a,button):not([aria-selected=\"true\"]):not([data-state=\"active\"]){color:var(--mcj-ink-muted);transition:color 120ms ease-out}:is([role=\"tablist\"],nav[aria-label*=\"tab\"i],[data-slot=\"tabs\"]) :is(a,button):not([aria-selected=\"true\"]):not([data-state=\"active\"]):hover{color:var(--mcj-ink-strong)}.sdk-version-pill{display:inline-flex;align-items:center;padding:0.18rem 0.55rem;border-radius:9999px;background:var(--mcj-orange-soft);color:var(--mcj-orange-edge);font-size:0.72rem;font-weight:600;letter-spacing:0.02em;margin-bottom:0.75rem}hr{border:none;border-top:1px solid var(--mcj-rule);margin:2rem 0}blockquote{border-left:2px solid var(--mcj-rule-strong);color:var(--mcj-ink-muted);padding-left:1rem;font-style:normal}::selection{background:var(--mcj-orange-soft);color:var(--mcj-ink-strong)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--mcj-rule-strong);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--mcj-ink-muted)}button[aria-label=\"Yes\"],button[aria-label=\"No\"],button[aria-label*=\"helpful\"i]{background:var(--mcj-paper-2)!important;border:1px solid var(--mcj-rule)!important;color:var(--mcj-ink)!important;border-radius:var(--mcj-radius)!important;box-shadow:none!important;font-weight:500}button[aria-label=\"Yes\"]:hover,button[aria-label=\"No\"]:hover,button[aria-label*=\"helpful\"i]:hover{border-color:var(--mcj-orange)!important;color:var(--mcj-ink-strong)!important}nav[aria-label*=\"agination\"i],nav[aria-label*=\"age navigation\"i],[class*=\"pagination\"i]{background:transparent!important;border:1px solid var(--mcj-rule);border-radius:var(--mcj-radius);box-shadow:none!important;margin-top:1.25rem}nav[aria-label*=\"agination\"i] a,nav[aria-label*=\"age navigation\"i] a,[class*=\"pagination\"i] a{background:transparent!important;color:var(--mcj-ink)!important;border-radius:0;transition:background 120ms ease-out, color 120ms ease-out}nav[aria-label*=\"agination\"i] a:hover,nav[aria-label*=\"age navigation\"i] a:hover,[class*=\"pagination\"i] a:hover{background:var(--mcj-paper-2)!important;color:var(--mcj-ink-strong)!important}footer,[role=\"contentinfo\"]{background:transparent!important;border-top:1px solid var(--mcj-rule);padding:1rem 1.5rem!important;min-height:0!important;height:auto!important;margin:0!important}footer>*,[role=\"contentinfo\"]>*{min-height:0!important;height:auto!important}footer a,[role=\"contentinfo\"] a{color:var(--mcj-ink-muted);transition:color 120ms ease-out}footer a:hover,[role=\"contentinfo\"] a:hover{color:var(--mcj-orange)}footer [class*=\"powered\"i],[role=\"contentinfo\"] [class*=\"powered\"i]{color:var(--mcj-ink-muted);font-size:0.8125rem}.card-group:has(a[href=\"/inspector/playground\"]):has(a[href=\"https://app.mcpjam.com\"]) [data-component-part=\"card-title\"]{font-size:1.25rem!important}"}],"page":{"pagePath":"api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite","slug":"/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite","pageMetadata":{"title":"Write a finished authoring job's cases into the suite","description":"Writes the job's drafts into the suite. A draft carrying unresolved blocking issues or proposed additions is **skipped** rather than written, and comes back under `skipped` with a `reviewUrl` for finishing it in the app.\n\nA job whose `source` is `markdown` — the in-app upload — is not committable here and answers `404`: those drafts exist so a person decides on them, and an API commit would decide on their behalf.","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-suites/{suiteId}/authoring/{jobId}/commit","href":"/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Writes the job’s drafts into the suite. A draft carrying unresolved blocking issues or proposed additions is \", _jsx(_components.strong, {\n children: \"skipped\"\n }), \" rather than written, and comes back under \", _jsx(_components.code, {\n children: \"skipped\"\n }), \" with a \", _jsx(_components.code, {\n children: \"reviewUrl\"\n }), \" for finishing it in the app.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"A job whose \", _jsx(_components.code, {\n children: \"source\"\n }), \" is \", _jsx(_components.code, {\n children: \"markdown\"\n }), \" — the in-app upload — is not committable here and answers \", _jsx(_components.code, {\n children: \"404\"\n }), \": those drafts exist so a person decides on them, and an API commit would decide on their behalf.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":"css-variables"},"config":{},"pageMetadata":{"title":"Write a finished authoring job's cases into the suite","description":"Writes the job's drafts into the suite. A draft carrying unresolved blocking issues or proposed additions is **skipped** rather than written, and comes back under `skipped` with a `reviewUrl` for finishing it in the app.\n\nA job whose `source` is `markdown` — the in-app upload — is not committable here and answers `404`: those drafts exist so a person decides on them, and an API commit would decide on their behalf.","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-suites/{suiteId}/authoring/{jobId}/commit","href":"/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"commitEvalAuthoringJob","tags":["Eval runs"],"summary":"Write a finished authoring job's cases into the suite","description":"Writes the job's drafts into the suite. A draft carrying unresolved blocking issues or proposed additions is **skipped** rather than written, and comes back under `skipped` with a `reviewUrl` for finishing it in the app.\n\nA job whose `source` is `markdown` — the in-app upload — is not committable here and answers `404`: those drafts exist so a person decides on them, and an API commit would decide on their behalf.","parameters":["7245aff1-3bd4-4f9f-9fe5-8b2256ea53d9","b936fa11-391e-47ad-9270-82241eefcc57","cb4fb221-3043-4bf4-9d1d-50adb59fe918"],"requestBody":"6207c9f3-34e4-4929-ae66-b3daa92e740b","responses":{"200":"4f2681af-acd4-4e30-97c8-72331e213c7c","400":"8666da92-0c36-4c32-be2d-f84c7429ce44","401":"e446c250-1215-457a-9e24-fe14b7acb7ac","403":"5729a1a6-b989-4d34-a6ae-c26d54c06547","404":"3fad3633-4d58-4336-8605-b8a8cc1a7878","409":"3cc3fec1-8877-4eb8-887f-b388a2bfdcbb","429":"117d6bf4-dc6c-4808-b316-87dd1a3d4995","500":"b0e5549c-8a13-46ca-a038-d3698cae0046","502":"1cdae547-bdd4-4a7f-8934-83fd8dba6b6c","504":"0c59fa7d-1c68-439a-8c4f-ea8d076f6424"},"method":"post","type":"path","servers":["3a17c30e-f143-4b32-acde-c44b91392915"],"security":["236724e9-93c1-4046-b325-e1ca4fea3dfe"],"path":"/projects/{projectId}/eval-suites/{suiteId}/authoring/{jobId}/commit","baseUrlOptions":["https://app.mcpjam.com/api/v1"],"title":"Write a finished authoring job's cases into the suite","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"7245aff1-3bd4-4f9f-9fe5-8b2256ea53d9":{"name":"projectId","in":"path","required":true,"description":"ID of the hosted project that contains the server.","schema":{"type":"string","isRequired":true,"description":"ID of the hosted project that contains the server.","uniqueKey":"","typeLabel":"string"}},"b936fa11-391e-47ad-9270-82241eefcc57":{"name":"suiteId","in":"path","required":true,"description":"Eval suite ID, as returned by `POST /eval-runs`.","schema":{"type":"string","isRequired":true,"description":"Eval suite ID, as returned by `POST /eval-runs`.","uniqueKey":"","typeLabel":"string"}},"cb4fb221-3043-4bf4-9d1d-50adb59fe918":{"name":"jobId","in":"path","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"duplicatePolicy":{"type":"string","enum":["block","warn","create_anyway"],"description":"How to treat a case that duplicates one already in the suite. Anything but `block` requires `overrideReason`.","uniqueKey":"duplicatePolicy","typeLabel":"enum\u003cstring>"},"overrideReason":{"type":"string","minLength":1,"uniqueKey":"overrideReason","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"overrideReason":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"4f2681af-acd4-4e30-97c8-72331e213c7c":{"description":"The cases written and any the commit skipped, or the job's own status when it finished without committing (failed, cancelled, or still pending at the end of the wait).","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["generationModel","created","counts"],"properties":{"generationModel":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.generationModel","typeLabel":"string"},"created":{"type":"array","items":{"type":"object","required":["id","title","steps","iterations","isNegative","models"],"description":"A persisted eval case, in the public steps-first shape. Note this is NOT `EvalTestCase`, which is the INLINE authoring shape accepted by suite creation.","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].id","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].title","typeLabel":"string"},"steps":{"type":"array","minItems":1,"items":{"type":"object","description":"One authored test step (the unified test model). `kind` discriminates: `prompt` is a user message (model turn); `toolCall` is a deterministic, model-free tool call; `interact` is one pure widget action; `assert` is an assertion (a `Predicate` like `toolCalledWith` / `widgetRendered`, or a DOM `WidgetAssertion`).","required":["id","kind"],"properties":{"id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].steps.items.[INDEX].id","typeLabel":"string"},"kind":{"type":"string","enum":["prompt","toolCall","interact","assert"],"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].steps.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"prompt":{"type":"string","description":"User message (`kind: prompt`).","uniqueKey":"oneOf.0.created.items.[INDEX].steps.items.[INDEX].prompt","typeLabel":"string"},"serverName":{"type":"string","description":"Server that owns the tool (`kind: toolCall`).","uniqueKey":"oneOf.0.created.items.[INDEX].steps.items.[INDEX].serverName","typeLabel":"string"},"toolName":{"type":"string","description":"Tool name (`kind: toolCall` / `interact`).","uniqueKey":"oneOf.0.created.items.[INDEX].steps.items.[INDEX].toolName","typeLabel":"string"},"arguments":{"type":"object","description":"Tool-call arguments (`kind: toolCall`).","additionalProperties":true,"uniqueKey":"oneOf.0.created.items.[INDEX].steps.items.[INDEX].arguments","typeLabel":"object"},"action":{"type":"object","description":"Widget action (`kind: interact`).","additionalProperties":true,"uniqueKey":"oneOf.0.created.items.[INDEX].steps.items.[INDEX].action","typeLabel":"object"},"assertion":{"type":"object","description":"The rule an `assert` step checks (`kind: assert`). NOT a narrower spelling of a case's `checks`: this is `WidgetAssertion | Predicate`, and that union is why the field is called an assertion rather than a check. A `Predicate` is evaluated against the PERSISTED transcript, so a stored run can be re-graded against it months later; a `WidgetAssertion` is evaluated against a LIVE DOM and can never be replayed. Calling this a check would promise the replayability only one half of it has.","additionalProperties":true,"uniqueKey":"oneOf.0.created.items.[INDEX].steps.items.[INDEX].assertion","typeLabel":"object"}},"additionalProperties":true,"uniqueKey":"oneOf.0.created.items.[INDEX].steps.items.[INDEX]","typeLabel":"object"},"description":"Ordered test steps. A `prompt` step is a model turn; a single model-free `toolCall` step is a render-check; `assert` steps hold the expectations.","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].steps","typeLabel":"object[]"},"iterations":{"type":"integer","minimum":1,"maximum":10,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].iterations","typeLabel":"integer"},"isNegative":{"type":"boolean","description":"When true, the case passes if NO tools are called.","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].isNegative","typeLabel":"boolean"},"models":{"type":"array","items":{"type":"object","required":["model"],"properties":{"model":{"type":"string","readOnly":true,"description":"COMPUTED in responses: the selection's `modelId` when there is one, else the stored bare id. Accepted on writes as a shorthand: send a bare id and the platform converts it (a hosted id becomes a `hosted` selection, any other a `LegacyModelSelection`).","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].model","typeLabel":"string"},"provider":{"type":"string","uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].provider","typeLabel":"string"},"selection":{"oneOf":[{"type":"object","description":"The saved model choice behind `model` (source, connection, `settings.reasoningEffort`). Absent when the case stores only a bare model id. May be a STORED legacy selection (`LegacyModelSelection`, `source: \"legacy\"`): own key only, never MCPJam credits. The model id beside it is computed from it.","required":["modelId","source","fallback"],"properties":{"modelId":{"type":"string","description":"Canonical `provider/model` id.","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.modelId","typeLabel":"string"},"source":{"type":"string","enum":["hosted","org","local"],"description":"Whose credentials pay for and serve the call.","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.source","typeLabel":"enum\u003cstring>"},"fallback":{"type":"object","required":["provider","model"],"additionalProperties":false,"properties":{"provider":{"type":"string","enum":["none","openrouter"],"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.fallback.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","enum":["none"],"description":"Always `none`: no surface substitutes a different model.","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.fallback.model","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.fallback","typeLabel":"object"},"connectionRef":{"type":"object","description":"Required for `org` (`kind: orgProvider`) and `local` (`kind: localProvider`), absent for `hosted`.","required":["kind"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["orgProvider","localProvider"],"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.connectionRef.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The organization model provider row (`orgProvider`).","uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.connectionRef.id","typeLabel":"string"},"providerKey":{"type":"string","description":"The provider configured on the user's own machine (`localProvider`).","uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.connectionRef.providerKey","typeLabel":"string"},"customProviderName":{"type":"string","uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.connectionRef.customProviderName","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.connectionRef","typeLabel":"object"},"nativeModelId":{"type":"string","description":"Deployment or native id where it is not derivable from `modelId` (Azure deployment name, Bedrock inference profile, custom provider).","uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.nativeModelId","typeLabel":"string"},"settings":{"type":"object","additionalProperties":false,"properties":{"reasoningEffort":{"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"],"description":"Reasoning effort. An effort replaces the sampling temperature: a `temperature` beside it is dropped or refused, depending on the route.","uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.settings.reasoningEffort","typeLabel":"enum\u003cstring>"},"temperature":{"type":"number","minimum":0,"maximum":2,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.settings.temperature","typeLabel":"number"}},"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.settings","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0","typeLabel":"object"},{"type":"object","description":"The saved model choice behind `model` (source, connection, `settings.reasoningEffort`). Absent when the case stores only a bare model id. May be a STORED legacy selection (`LegacyModelSelection`, `source: \"legacy\"`): own key only, never MCPJam credits. The model id beside it is computed from it.","required":["source","modelId"],"properties":{"source":{"type":"string","enum":["legacy"],"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.1.source","typeLabel":"enum\u003cstring>"},"modelId":{"type":"string","description":"The id exactly as stored (it may be a bare, non-canonical id).","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.1.modelId","typeLabel":"string"},"provider":{"type":"string","description":"The case entry's provider hint, kept so the stored `{ model, provider }` pair survives the round trip.","uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.1.provider","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selection","typeLabel":"object"},"selectionOrigin":{"type":"string","enum":["backfill"],"description":"`backfill` when a conversion (a save of a bare id, or the old-data backfill) chose `selection` rather than a person. Absent when a person chose it, and on rows with no selection.","uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX].selectionOrigin","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.0.created.items.[INDEX].models.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].models","typeLabel":"object[]"},"judge":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","uniqueKey":"oneOf.0.created.items.[INDEX].judge.enabled","typeLabel":"boolean"}},"description":"Per-case judge override. enabled: false skips goal-completion grading for this case.","uniqueKey":"oneOf.0.created.items.[INDEX].judge","typeLabel":"object"},"declaredId":{"type":"string","description":"The case's effective declared id. Absent on cases authored before declared identity existed.","uniqueKey":"oneOf.0.created.items.[INDEX].declaredId","typeLabel":"string"},"expectedOutput":{"type":"string","uniqueKey":"oneOf.0.created.items.[INDEX].expectedOutput","typeLabel":"string"},"repetitions":{"type":"integer","minimum":1,"description":"Trials this case runs under per-case grading, overriding the suite default. Absent means the case inherits it. NOT a second spelling of `iterations`: that one is read as a FLOOR (`max(iterations, suite.minimumIterations)`) by a suite decided on suite-wide accuracy, and a per-case-graded case still reports it for compatibility. This one REPLACES the count rather than raising it — a case at 7 runs 7 times under a floor of 3 and 3 times under a default of 3.","uniqueKey":"oneOf.0.created.items.[INDEX].repetitions","typeLabel":"integer"},"passThreshold":{"type":"number","minimum":0,"maximum":1,"description":"Fraction of this case's trials that must pass, overriding the suite default. Absent means the case inherits it. Never derived from the suite's `minimumAccuracy`, which is a PERCENT under a different resolver.","uniqueKey":"oneOf.0.created.items.[INDEX].passThreshold","typeLabel":"number"},"scenario":{"type":"string","uniqueKey":"oneOf.0.created.items.[INDEX].scenario","typeLabel":"string"},"intent":{"type":"string","minLength":1,"maxLength":64,"pattern":"^\\S(?:[\\s\\S]*\\S)?$","description":"Optional authored analytics grouping label. Must be already trimmed; absent means unlabelled.","uniqueKey":"oneOf.0.created.items.[INDEX].intent","typeLabel":"string"},"kind":{"type":"string","enum":["capability","regression"],"description":"Authored case kind for the simple editor. Absent means the editor derives it from matchOptions.","uniqueKey":"oneOf.0.created.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"matchOptions":{"type":"object","description":"In the public vocabulary (`toolCallOrder: any|in-order|exact`, `extraToolCalls`, `arguments`). Absent when the case sets none — omitted from the response rather than sent as `null`.","uniqueKey":"oneOf.0.created.items.[INDEX].matchOptions","typeLabel":"object"},"checks":{"type":"object","description":"Absent when the case sets none — omitted from the response rather than sent as `null`.","properties":{"mode":{"type":"string","enum":["inherit","replace","extend"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.mode","typeLabel":"enum\u003cstring>"},"list":{"type":"array","items":{"oneOf":[{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolDescriptionsPresent","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.0.type","typeLabel":"string"},"minLength":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.0.minLength","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.0.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.0.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolAnnotationsPresent","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1.type","typeLabel":"string"},"require":{"maxItems":2,"type":"array","items":{"type":"string","enum":["readOnlyHint","destructiveHint"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1.require.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1.require","typeLabel":"enum\u003cstring>[]"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolNamesUnique","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.2.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.2.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.2.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noDeprecatedToolExposed","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.3.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.3.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.3.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolInputSchemasWellFormed","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.4.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.4.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.4.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolOutputSchemasPresent","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.5.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.5.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.5.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.5","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName","args"],"properties":{"type":{"type":"string","const":"toolCalledWith","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.toolName","typeLabel":"string"},"args":{"type":"object","properties":{"args":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.args.args.additionalProperties","typeLabel":"any"},"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.args.args","typeLabel":"object"},"argumentMatching":{"type":"string","enum":["exact","partial","ignore"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.args.argumentMatching","typeLabel":"enum\u003cstring>"}},"required":["args"],"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.args","typeLabel":"object"},"minCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.minCount","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName"],"properties":{"type":{"type":"string","const":"toolCalledAtLeastOnce","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.7.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.7.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.7.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.7.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.7","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName"],"properties":{"type":{"type":"string","const":"toolNeverCalled","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.8.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.8.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.8.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.8.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.8","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolNames"],"properties":{"type":{"type":"string","const":"onlyToolsCalled","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9.type","typeLabel":"string"},"toolNames":{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9.toolNames.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9.toolNames","typeLabel":"string[]"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName"],"properties":{"type":{"type":"string","const":"firstToolWas","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.10.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.10.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.10.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.10.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.10","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","needle"],"properties":{"type":{"type":"string","const":"responseContains","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11.type","typeLabel":"string"},"needle":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11.needle","typeLabel":"string"},"caseSensitive":{"type":"boolean","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11.caseSensitive","typeLabel":"boolean"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","pattern"],"properties":{"type":{"type":"string","const":"responseMatches","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.12.type","typeLabel":"string"},"pattern":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.12.pattern","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.12.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.12.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.12","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noToolErrors","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.13.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.13.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.13.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.13","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"finalAssistantMessageNonEmpty","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.14.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.14.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.14.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.14","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","tokens"],"properties":{"type":{"type":"string","const":"tokenBudgetUnder","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.15.type","typeLabel":"string"},"tokens":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.15.tokens","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.15.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.15.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.15","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"widgetRendered","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.16.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.16.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.16.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.16.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.16","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","ms"],"properties":{"type":{"type":"string","const":"widgetRenderLatencyUnder","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17.type","typeLabel":"string"},"ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17.ms","typeLabel":"integer"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"widgetNoConsoleErrors","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.18.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.18.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.18.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.18.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.18","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","turns"],"properties":{"type":{"type":"string","const":"turnCountUnder","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.19.type","typeLabel":"string"},"turns":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.19.turns","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.19.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.19.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.19","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noEndingQuestion","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.20.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.20.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.20.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.20","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","ms"],"properties":{"type":{"type":"string","const":"toolLatencyUnder","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21.type","typeLabel":"string"},"ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21.ms","typeLabel":"integer"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","needle"],"properties":{"type":{"type":"string","const":"toolResultContains","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.type","typeLabel":"string"},"needle":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.needle","typeLabel":"string"},"caseSensitive":{"type":"boolean","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.caseSensitive","typeLabel":"boolean"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","schema"],"properties":{"type":{"type":"string","const":"toolResultMatchesSchema","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23.type","typeLabel":"string"},"schema":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23.schema","typeLabel":"any"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","maxBytes"],"properties":{"type":{"type":"string","const":"toolResultSizeUnder","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24.type","typeLabel":"string"},"maxBytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24.maxBytes","typeLabel":"integer"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"argumentsMatchToolSchema","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.25.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.25.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.25.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.25.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.25","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName","patterns"],"properties":{"type":{"type":"string","const":"toolInputMatches","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.toolName","typeLabel":"string"},"patterns":{"description":"Every pattern must match the same call. Use alternation (A|B) inside one pattern for either.","minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.patterns.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.patterns","typeLabel":"string[]"},"flags":{"description":"Applies to every pattern: i (ignore case), m (multiline), s (dot matches newline).","type":"string","enum":["i","m","s","im","is","ms","ims"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.flags","typeLabel":"enum\u003cstring>"},"path":{"description":"JSON Pointer (RFC 6901) to ONE top-level argument key, such as /elements; inside the key, ~1 stands for / and ~0 for ~. Omit to match the whole arguments object. A call without the key does not match.","type":"string","minLength":2,"maxLength":257,"pattern":"^\\/(?:[^/~]|~[01])+$","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.path","typeLabel":"string"},"min":{"description":"Minimum number of MATCHING calls (default 1). min 0 requires max.","type":"integer","minimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.min","typeLabel":"integer"},"max":{"description":"Maximum number of MATCHING calls; at least min (or 1 when min is omitted).","type":"integer","minimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.max","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","patterns"],"properties":{"type":{"type":"string","const":"toolResultMatches","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.type","typeLabel":"string"},"patterns":{"description":"Every pattern must match the same result. Use alternation (A|B) inside one pattern for either.","minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.patterns.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.patterns","typeLabel":"string[]"},"toolName":{"description":"Omit to read every tool's results.","type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.toolName","typeLabel":"string"},"flags":{"description":"Applies to every pattern: i (ignore case), m (multiline), s (dot matches newline).","type":"string","enum":["i","m","s","im","is","ms","ims"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.flags","typeLabel":"enum\u003cstring>"},"path":{"description":"JSON Pointer (RFC 6901) to ONE top-level key of structuredContent (of the JSON output part when there is no structuredContent), such as /elements; inside the key, ~1 stands for / and ~0 for ~. Omit to match the whole result. A result without the key does not match.","type":"string","minLength":2,"maxLength":257,"pattern":"^\\/(?:[^/~]|~[01])+$","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.path","typeLabel":"string"},"min":{"description":"Minimum number of MATCHING results (default 1). min 0 requires max.","type":"integer","minimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.min","typeLabel":"integer"},"max":{"description":"Maximum number of MATCHING results; at least min (or 1 when min is omitted).","type":"integer","minimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.max","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noRepeatedIdenticalCall","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.28.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.28.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.28.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.28.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.28","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","count"],"properties":{"type":{"type":"string","const":"toolCallCountUnder","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29.type","typeLabel":"string"},"count":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29.count","typeLabel":"integer"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName","beforeToolName"],"properties":{"type":{"type":"string","const":"toolCalledBefore","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30.toolName","typeLabel":"string"},"beforeToolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30.beforeToolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noDeprecatedToolCalled","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.31.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.31.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.31.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.31","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noDestructiveToolCalled","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.32.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.32.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.32.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.32","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolErrorNamesInput","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.33.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.33.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.33.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.33.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.33","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"fullPageHasContinuation","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.34.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.34.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.34.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.34.severity","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX].oneOf.34","typeLabel":"object"}],"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.created.items.[INDEX].checks.list","typeLabel":"object[]"}},"uniqueKey":"oneOf.0.created.items.[INDEX].checks","typeLabel":"object"},"import":{"type":"object","description":"What a converter CLAIMED about one imported case. `exact` is CONVERTER-CLAIMED exact — the converter says it applied a structural mapping rule, cited in `note`. MCPJam has NOT verified semantic equivalence, so user-facing copy must say \"claimed exact\", never \"verified\" or \"accepted\". Claim-only: who approved an approximation, when, and why is a PER-RUN decision frozen on the run (`ImportEligibility.approvedApproximationReceipts`), never stored on the case — an approval that lived on a case would outlive the run it was granted for and the edit that invalidated it. Approval and internal keys are rejected with 400, never stripped.","required":["status"],"additionalProperties":false,"properties":{"status":{"type":"string","enum":["exact","approximated","unsupported","unresolved"],"description":"`exact`: the converter claims a 1:1 structural mapping, and must cite it in `note`. `approximated`: behaviour was intentionally approximated; a human must approve it for EVERY run. `unsupported`: the source behaviour cannot currently be represented. `unresolved`: a deterministic reference does not resolve against the live target. A selected `unsupported` or `unresolved` case cannot run.","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].import.status","typeLabel":"enum\u003cstring>"},"sourceCaseKey":{"type":"string","minLength":1,"maxLength":512,"description":"The case's identity in the source system, when it had one.","uniqueKey":"oneOf.0.created.items.[INDEX].import.sourceCaseKey","typeLabel":"string"},"note":{"type":"string","minLength":1,"maxLength":2000,"description":"Why the status is what it is — the mapping rule cited, or what was lost. REQUIRED when `status` is `exact`.","uniqueKey":"oneOf.0.created.items.[INDEX].import.note","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].import","typeLabel":"object"},"source":{"type":"object","description":"Where an AI-assisted Markdown case was authored from. Provenance only: the file, its hash, and the line range the extractor read, so a reader can trace a case back to its source document. It is not an import claim (see `EvalCaseImportClaim`) and carries no approval semantics.","required":["format","method","fileName","fileHash","excerpt","startLine","endLine","extractorVersion"],"additionalProperties":false,"properties":{"format":{"type":"string","enum":["markdown"],"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].source.format","typeLabel":"enum\u003cstring>"},"method":{"type":"string","enum":["ai"],"description":"How the case was derived from the document. `ai`: an extractor model proposed it and a person reviewed it before it was saved.","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].source.method","typeLabel":"enum\u003cstring>"},"fileName":{"type":"string","minLength":1,"maxLength":255,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].source.fileName","typeLabel":"string"},"fileHash":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"SHA-256 of the source document, lowercase hex.","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].source.fileHash","typeLabel":"string"},"excerpt":{"type":"string","minLength":1,"maxLength":102400,"description":"The passage the case was extracted from.","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].source.excerpt","typeLabel":"string"},"startLine":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].source.startLine","typeLabel":"integer"},"endLine":{"type":"integer","minimum":1,"description":"Inclusive; never less than `startLine`.","isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].source.endLine","typeLabel":"integer"},"extractorVersion":{"type":"string","minLength":1,"maxLength":100,"isRequired":true,"uniqueKey":"oneOf.0.created.items.[INDEX].source.extractorVersion","typeLabel":"string"}},"uniqueKey":"oneOf.0.created.items.[INDEX].source","typeLabel":"object"},"createdAt":{"oneOf":[{"type":"number","uniqueKey":"oneOf.0.created.items.[INDEX].createdAt.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"oneOf.0.created.items.[INDEX].createdAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.created.items.[INDEX].createdAt","typeLabel":"number | null"},"updatedAt":{"oneOf":[{"type":"number","uniqueKey":"oneOf.0.created.items.[INDEX].updatedAt.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"oneOf.0.created.items.[INDEX].updatedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.created.items.[INDEX].updatedAt","typeLabel":"number | null"},"suppressedSuiteStandardCheckIds":{"maxItems":64,"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.created.items.[INDEX].suppressedSuiteStandardCheckIds.items.[INDEX]","typeLabel":"string"},"description":"Stable standard assertion family IDs suppressed from suite defaults. Applies before inherit/extend/replace resolution; explicit case and step assertions are preserved. Omitted updates preserve; [] clears. At most 64 IDs, normalized to unique sorted values.","uniqueKey":"oneOf.0.created.items.[INDEX].suppressedSuiteStandardCheckIds","typeLabel":"string[]"}},"uniqueKey":"oneOf.0.created.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.0.created","typeLabel":"object[]"},"counts":{"type":"object","properties":{"normal":{"type":"integer","uniqueKey":"oneOf.0.counts.normal","typeLabel":"integer"},"negative":{"type":"integer","uniqueKey":"oneOf.0.counts.negative","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.0.counts","typeLabel":"object"},"skipped":{"type":"array","description":"Cases the commit could not write, each with its reason. They stay on the job rather than being lost.","items":{"type":"object","uniqueKey":"oneOf.0.skipped.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.skipped","typeLabel":"object[]"},"reviewUrl":{"type":"string","format":"uri","description":"Opens the app on exactly the skipped drafts. Present only when something was skipped — finishing them there costs nothing, whereas re-sending the document re-authors and re-bills every case in it.","uniqueKey":"oneOf.0.reviewUrl","typeLabel":"string\u003curi>"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["jobId","status"],"properties":{"jobId":{"type":"string","description":"Poll this job, then commit it.","isRequired":true,"uniqueKey":"oneOf.1.jobId","typeLabel":"string"},"status":{"type":"string","enum":["pending","completed","failed","cancelled"],"isRequired":true,"uniqueKey":"oneOf.1.status","typeLabel":"enum\u003cstring>"},"error":{"type":"string","description":"Why the job stopped. Present only on a failed job.","uniqueKey":"oneOf.1.error","typeLabel":"string"},"generationModel":{"type":"string","uniqueKey":"oneOf.1.generationModel","typeLabel":"string"},"created":{"type":"array","description":"Always empty here — nothing is written until the job is committed.","items":{"type":"object","required":["id","title","steps","iterations","isNegative","models"],"description":"A persisted eval case, in the public steps-first shape. Note this is NOT `EvalTestCase`, which is the INLINE authoring shape accepted by suite creation.","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].id","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].title","typeLabel":"string"},"steps":{"type":"array","minItems":1,"items":{"type":"object","description":"One authored test step (the unified test model). `kind` discriminates: `prompt` is a user message (model turn); `toolCall` is a deterministic, model-free tool call; `interact` is one pure widget action; `assert` is an assertion (a `Predicate` like `toolCalledWith` / `widgetRendered`, or a DOM `WidgetAssertion`).","required":["id","kind"],"properties":{"id":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].steps.items.[INDEX].id","typeLabel":"string"},"kind":{"type":"string","enum":["prompt","toolCall","interact","assert"],"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].steps.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"prompt":{"type":"string","description":"User message (`kind: prompt`).","uniqueKey":"oneOf.1.created.items.[INDEX].steps.items.[INDEX].prompt","typeLabel":"string"},"serverName":{"type":"string","description":"Server that owns the tool (`kind: toolCall`).","uniqueKey":"oneOf.1.created.items.[INDEX].steps.items.[INDEX].serverName","typeLabel":"string"},"toolName":{"type":"string","description":"Tool name (`kind: toolCall` / `interact`).","uniqueKey":"oneOf.1.created.items.[INDEX].steps.items.[INDEX].toolName","typeLabel":"string"},"arguments":{"type":"object","description":"Tool-call arguments (`kind: toolCall`).","additionalProperties":true,"uniqueKey":"oneOf.1.created.items.[INDEX].steps.items.[INDEX].arguments","typeLabel":"object"},"action":{"type":"object","description":"Widget action (`kind: interact`).","additionalProperties":true,"uniqueKey":"oneOf.1.created.items.[INDEX].steps.items.[INDEX].action","typeLabel":"object"},"assertion":{"type":"object","description":"The rule an `assert` step checks (`kind: assert`). NOT a narrower spelling of a case's `checks`: this is `WidgetAssertion | Predicate`, and that union is why the field is called an assertion rather than a check. A `Predicate` is evaluated against the PERSISTED transcript, so a stored run can be re-graded against it months later; a `WidgetAssertion` is evaluated against a LIVE DOM and can never be replayed. Calling this a check would promise the replayability only one half of it has.","additionalProperties":true,"uniqueKey":"oneOf.1.created.items.[INDEX].steps.items.[INDEX].assertion","typeLabel":"object"}},"additionalProperties":true,"uniqueKey":"oneOf.1.created.items.[INDEX].steps.items.[INDEX]","typeLabel":"object"},"description":"Ordered test steps. A `prompt` step is a model turn; a single model-free `toolCall` step is a render-check; `assert` steps hold the expectations.","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].steps","typeLabel":"object[]"},"iterations":{"type":"integer","minimum":1,"maximum":10,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].iterations","typeLabel":"integer"},"isNegative":{"type":"boolean","description":"When true, the case passes if NO tools are called.","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].isNegative","typeLabel":"boolean"},"models":{"type":"array","items":{"type":"object","required":["model"],"properties":{"model":{"type":"string","readOnly":true,"description":"COMPUTED in responses: the selection's `modelId` when there is one, else the stored bare id. Accepted on writes as a shorthand: send a bare id and the platform converts it (a hosted id becomes a `hosted` selection, any other a `LegacyModelSelection`).","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].model","typeLabel":"string"},"provider":{"type":"string","uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].provider","typeLabel":"string"},"selection":{"oneOf":[{"type":"object","description":"The saved model choice behind `model` (source, connection, `settings.reasoningEffort`). Absent when the case stores only a bare model id. May be a STORED legacy selection (`LegacyModelSelection`, `source: \"legacy\"`): own key only, never MCPJam credits. The model id beside it is computed from it.","required":["modelId","source","fallback"],"properties":{"modelId":{"type":"string","description":"Canonical `provider/model` id.","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.modelId","typeLabel":"string"},"source":{"type":"string","enum":["hosted","org","local"],"description":"Whose credentials pay for and serve the call.","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.source","typeLabel":"enum\u003cstring>"},"fallback":{"type":"object","required":["provider","model"],"additionalProperties":false,"properties":{"provider":{"type":"string","enum":["none","openrouter"],"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.fallback.provider","typeLabel":"enum\u003cstring>"},"model":{"type":"string","enum":["none"],"description":"Always `none`: no surface substitutes a different model.","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.fallback.model","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.fallback","typeLabel":"object"},"connectionRef":{"type":"object","description":"Required for `org` (`kind: orgProvider`) and `local` (`kind: localProvider`), absent for `hosted`.","required":["kind"],"additionalProperties":false,"properties":{"kind":{"type":"string","enum":["orgProvider","localProvider"],"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.connectionRef.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"The organization model provider row (`orgProvider`).","uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.connectionRef.id","typeLabel":"string"},"providerKey":{"type":"string","description":"The provider configured on the user's own machine (`localProvider`).","uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.connectionRef.providerKey","typeLabel":"string"},"customProviderName":{"type":"string","uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.connectionRef.customProviderName","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.connectionRef","typeLabel":"object"},"nativeModelId":{"type":"string","description":"Deployment or native id where it is not derivable from `modelId` (Azure deployment name, Bedrock inference profile, custom provider).","uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.nativeModelId","typeLabel":"string"},"settings":{"type":"object","additionalProperties":false,"properties":{"reasoningEffort":{"type":"string","enum":["none","minimal","low","medium","high","xhigh","max"],"description":"Reasoning effort. An effort replaces the sampling temperature: a `temperature` beside it is dropped or refused, depending on the route.","uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.settings.reasoningEffort","typeLabel":"enum\u003cstring>"},"temperature":{"type":"number","minimum":0,"maximum":2,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.settings.temperature","typeLabel":"number"}},"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0.settings","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.0","typeLabel":"object"},{"type":"object","description":"The saved model choice behind `model` (source, connection, `settings.reasoningEffort`). Absent when the case stores only a bare model id. May be a STORED legacy selection (`LegacyModelSelection`, `source: \"legacy\"`): own key only, never MCPJam credits. The model id beside it is computed from it.","required":["source","modelId"],"properties":{"source":{"type":"string","enum":["legacy"],"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.1.source","typeLabel":"enum\u003cstring>"},"modelId":{"type":"string","description":"The id exactly as stored (it may be a bare, non-canonical id).","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.1.modelId","typeLabel":"string"},"provider":{"type":"string","description":"The case entry's provider hint, kept so the stored `{ model, provider }` pair survives the round trip.","uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.1.provider","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selection","typeLabel":"object"},"selectionOrigin":{"type":"string","enum":["backfill"],"description":"`backfill` when a conversion (a save of a bare id, or the old-data backfill) chose `selection` rather than a person. Absent when a person chose it, and on rows with no selection.","uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX].selectionOrigin","typeLabel":"enum\u003cstring>"}},"uniqueKey":"oneOf.1.created.items.[INDEX].models.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].models","typeLabel":"object[]"},"judge":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","uniqueKey":"oneOf.1.created.items.[INDEX].judge.enabled","typeLabel":"boolean"}},"description":"Per-case judge override. enabled: false skips goal-completion grading for this case.","uniqueKey":"oneOf.1.created.items.[INDEX].judge","typeLabel":"object"},"declaredId":{"type":"string","description":"The case's effective declared id. Absent on cases authored before declared identity existed.","uniqueKey":"oneOf.1.created.items.[INDEX].declaredId","typeLabel":"string"},"expectedOutput":{"type":"string","uniqueKey":"oneOf.1.created.items.[INDEX].expectedOutput","typeLabel":"string"},"repetitions":{"type":"integer","minimum":1,"description":"Trials this case runs under per-case grading, overriding the suite default. Absent means the case inherits it. NOT a second spelling of `iterations`: that one is read as a FLOOR (`max(iterations, suite.minimumIterations)`) by a suite decided on suite-wide accuracy, and a per-case-graded case still reports it for compatibility. This one REPLACES the count rather than raising it — a case at 7 runs 7 times under a floor of 3 and 3 times under a default of 3.","uniqueKey":"oneOf.1.created.items.[INDEX].repetitions","typeLabel":"integer"},"passThreshold":{"type":"number","minimum":0,"maximum":1,"description":"Fraction of this case's trials that must pass, overriding the suite default. Absent means the case inherits it. Never derived from the suite's `minimumAccuracy`, which is a PERCENT under a different resolver.","uniqueKey":"oneOf.1.created.items.[INDEX].passThreshold","typeLabel":"number"},"scenario":{"type":"string","uniqueKey":"oneOf.1.created.items.[INDEX].scenario","typeLabel":"string"},"intent":{"type":"string","minLength":1,"maxLength":64,"pattern":"^\\S(?:[\\s\\S]*\\S)?$","description":"Optional authored analytics grouping label. Must be already trimmed; absent means unlabelled.","uniqueKey":"oneOf.1.created.items.[INDEX].intent","typeLabel":"string"},"kind":{"type":"string","enum":["capability","regression"],"description":"Authored case kind for the simple editor. Absent means the editor derives it from matchOptions.","uniqueKey":"oneOf.1.created.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"matchOptions":{"type":"object","description":"In the public vocabulary (`toolCallOrder: any|in-order|exact`, `extraToolCalls`, `arguments`). Absent when the case sets none — omitted from the response rather than sent as `null`.","uniqueKey":"oneOf.1.created.items.[INDEX].matchOptions","typeLabel":"object"},"checks":{"type":"object","description":"Absent when the case sets none — omitted from the response rather than sent as `null`.","properties":{"mode":{"type":"string","enum":["inherit","replace","extend"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.mode","typeLabel":"enum\u003cstring>"},"list":{"type":"array","items":{"oneOf":[{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolDescriptionsPresent","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.0.type","typeLabel":"string"},"minLength":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.0.minLength","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.0.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.0.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolAnnotationsPresent","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1.type","typeLabel":"string"},"require":{"maxItems":2,"type":"array","items":{"type":"string","enum":["readOnlyHint","destructiveHint"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1.require.items.[INDEX]","typeLabel":"enum\u003cstring>"},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1.require","typeLabel":"enum\u003cstring>[]"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolNamesUnique","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.2.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.2.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.2.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noDeprecatedToolExposed","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.3.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.3.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.3.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolInputSchemasWellFormed","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.4.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.4.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.4.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolOutputSchemasPresent","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.5.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.5.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.5.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.5","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName","args"],"properties":{"type":{"type":"string","const":"toolCalledWith","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.toolName","typeLabel":"string"},"args":{"type":"object","properties":{"args":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.args.args.additionalProperties","typeLabel":"any"},"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.args.args","typeLabel":"object"},"argumentMatching":{"type":"string","enum":["exact","partial","ignore"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.args.argumentMatching","typeLabel":"enum\u003cstring>"}},"required":["args"],"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.args","typeLabel":"object"},"minCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.minCount","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.6","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName"],"properties":{"type":{"type":"string","const":"toolCalledAtLeastOnce","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.7.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.7.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.7.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.7.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.7","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName"],"properties":{"type":{"type":"string","const":"toolNeverCalled","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.8.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.8.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.8.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.8.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.8","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolNames"],"properties":{"type":{"type":"string","const":"onlyToolsCalled","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9.type","typeLabel":"string"},"toolNames":{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9.toolNames.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9.toolNames","typeLabel":"string[]"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.9","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName"],"properties":{"type":{"type":"string","const":"firstToolWas","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.10.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.10.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.10.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.10.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.10","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","needle"],"properties":{"type":{"type":"string","const":"responseContains","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11.type","typeLabel":"string"},"needle":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11.needle","typeLabel":"string"},"caseSensitive":{"type":"boolean","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11.caseSensitive","typeLabel":"boolean"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.11","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","pattern"],"properties":{"type":{"type":"string","const":"responseMatches","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.12.type","typeLabel":"string"},"pattern":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.12.pattern","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.12.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.12.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.12","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noToolErrors","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.13.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.13.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.13.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.13","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"finalAssistantMessageNonEmpty","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.14.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.14.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.14.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.14","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","tokens"],"properties":{"type":{"type":"string","const":"tokenBudgetUnder","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.15.type","typeLabel":"string"},"tokens":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.15.tokens","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.15.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.15.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.15","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"widgetRendered","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.16.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.16.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.16.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.16.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.16","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","ms"],"properties":{"type":{"type":"string","const":"widgetRenderLatencyUnder","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17.type","typeLabel":"string"},"ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17.ms","typeLabel":"integer"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.17","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"widgetNoConsoleErrors","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.18.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.18.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.18.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.18.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.18","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","turns"],"properties":{"type":{"type":"string","const":"turnCountUnder","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.19.type","typeLabel":"string"},"turns":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.19.turns","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.19.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.19.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.19","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noEndingQuestion","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.20.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.20.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.20.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.20","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","ms"],"properties":{"type":{"type":"string","const":"toolLatencyUnder","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21.type","typeLabel":"string"},"ms":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21.ms","typeLabel":"integer"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.21","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","needle"],"properties":{"type":{"type":"string","const":"toolResultContains","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.type","typeLabel":"string"},"needle":{"type":"string","minLength":1,"maxLength":1000,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.needle","typeLabel":"string"},"caseSensitive":{"type":"boolean","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.caseSensitive","typeLabel":"boolean"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.22","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","schema"],"properties":{"type":{"type":"string","const":"toolResultMatchesSchema","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23.type","typeLabel":"string"},"schema":{"oneOf":[{"isRequired":true}],"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23.schema","typeLabel":"any"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.23","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","maxBytes"],"properties":{"type":{"type":"string","const":"toolResultSizeUnder","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24.type","typeLabel":"string"},"maxBytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24.maxBytes","typeLabel":"integer"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.24","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"argumentsMatchToolSchema","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.25.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.25.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.25.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.25.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.25","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName","patterns"],"properties":{"type":{"type":"string","const":"toolInputMatches","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.toolName","typeLabel":"string"},"patterns":{"description":"Every pattern must match the same call. Use alternation (A|B) inside one pattern for either.","minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.patterns.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.patterns","typeLabel":"string[]"},"flags":{"description":"Applies to every pattern: i (ignore case), m (multiline), s (dot matches newline).","type":"string","enum":["i","m","s","im","is","ms","ims"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.flags","typeLabel":"enum\u003cstring>"},"path":{"description":"JSON Pointer (RFC 6901) to ONE top-level argument key, such as /elements; inside the key, ~1 stands for / and ~0 for ~. Omit to match the whole arguments object. A call without the key does not match.","type":"string","minLength":2,"maxLength":257,"pattern":"^\\/(?:[^/~]|~[01])+$","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.path","typeLabel":"string"},"min":{"description":"Minimum number of MATCHING calls (default 1). min 0 requires max.","type":"integer","minimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.min","typeLabel":"integer"},"max":{"description":"Maximum number of MATCHING calls; at least min (or 1 when min is omitted).","type":"integer","minimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.max","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.26","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","patterns"],"properties":{"type":{"type":"string","const":"toolResultMatches","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.type","typeLabel":"string"},"patterns":{"description":"Every pattern must match the same result. Use alternation (A|B) inside one pattern for either.","minItems":1,"maxItems":8,"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.patterns.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.patterns","typeLabel":"string[]"},"toolName":{"description":"Omit to read every tool's results.","type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.toolName","typeLabel":"string"},"flags":{"description":"Applies to every pattern: i (ignore case), m (multiline), s (dot matches newline).","type":"string","enum":["i","m","s","im","is","ms","ims"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.flags","typeLabel":"enum\u003cstring>"},"path":{"description":"JSON Pointer (RFC 6901) to ONE top-level key of structuredContent (of the JSON output part when there is no structuredContent), such as /elements; inside the key, ~1 stands for / and ~0 for ~. Omit to match the whole result. A result without the key does not match.","type":"string","minLength":2,"maxLength":257,"pattern":"^\\/(?:[^/~]|~[01])+$","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.path","typeLabel":"string"},"min":{"description":"Minimum number of MATCHING results (default 1). min 0 requires max.","type":"integer","minimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.min","typeLabel":"integer"},"max":{"description":"Maximum number of MATCHING results; at least min (or 1 when min is omitted).","type":"integer","minimum":0,"maximum":9007199254740991,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.max","typeLabel":"integer"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.27","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noRepeatedIdenticalCall","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.28.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.28.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.28.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.28.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.28","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","count"],"properties":{"type":{"type":"string","const":"toolCallCountUnder","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29.type","typeLabel":"string"},"count":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29.count","typeLabel":"integer"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.29","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type","toolName","beforeToolName"],"properties":{"type":{"type":"string","const":"toolCalledBefore","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30.toolName","typeLabel":"string"},"beforeToolName":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30.beforeToolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.30","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noDeprecatedToolCalled","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.31.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.31.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.31.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.31","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"noDestructiveToolCalled","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.32.type","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.32.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.32.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.32","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"toolErrorNamesInput","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.33.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.33.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.33.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.33.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.33","typeLabel":"object"},{"type":"object","description":"An SDK assertion reported through UVC. Discovery assertions require complete raw tool declarations; missing evidence is an evaluator error. Observation kinds, including noDeprecatedToolExposed, require role advisory. Structural schema; runtime also validates policy and unique required annotation keys.","required":["type"],"properties":{"type":{"type":"string","const":"fullPageHasContinuation","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.34.type","typeLabel":"string"},"toolName":{"type":"string","minLength":1,"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.34.toolName","typeLabel":"string"},"role":{"type":"string","enum":["gating","advisory","required"],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.34.role","typeLabel":"enum\u003cstring>"},"severity":{"type":"string","const":"warn","uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.34.severity","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX].oneOf.34","typeLabel":"object"}],"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.created.items.[INDEX].checks.list","typeLabel":"object[]"}},"uniqueKey":"oneOf.1.created.items.[INDEX].checks","typeLabel":"object"},"import":{"type":"object","description":"What a converter CLAIMED about one imported case. `exact` is CONVERTER-CLAIMED exact — the converter says it applied a structural mapping rule, cited in `note`. MCPJam has NOT verified semantic equivalence, so user-facing copy must say \"claimed exact\", never \"verified\" or \"accepted\". Claim-only: who approved an approximation, when, and why is a PER-RUN decision frozen on the run (`ImportEligibility.approvedApproximationReceipts`), never stored on the case — an approval that lived on a case would outlive the run it was granted for and the edit that invalidated it. Approval and internal keys are rejected with 400, never stripped.","required":["status"],"additionalProperties":false,"properties":{"status":{"type":"string","enum":["exact","approximated","unsupported","unresolved"],"description":"`exact`: the converter claims a 1:1 structural mapping, and must cite it in `note`. `approximated`: behaviour was intentionally approximated; a human must approve it for EVERY run. `unsupported`: the source behaviour cannot currently be represented. `unresolved`: a deterministic reference does not resolve against the live target. A selected `unsupported` or `unresolved` case cannot run.","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].import.status","typeLabel":"enum\u003cstring>"},"sourceCaseKey":{"type":"string","minLength":1,"maxLength":512,"description":"The case's identity in the source system, when it had one.","uniqueKey":"oneOf.1.created.items.[INDEX].import.sourceCaseKey","typeLabel":"string"},"note":{"type":"string","minLength":1,"maxLength":2000,"description":"Why the status is what it is — the mapping rule cited, or what was lost. REQUIRED when `status` is `exact`.","uniqueKey":"oneOf.1.created.items.[INDEX].import.note","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].import","typeLabel":"object"},"source":{"type":"object","description":"Where an AI-assisted Markdown case was authored from. Provenance only: the file, its hash, and the line range the extractor read, so a reader can trace a case back to its source document. It is not an import claim (see `EvalCaseImportClaim`) and carries no approval semantics.","required":["format","method","fileName","fileHash","excerpt","startLine","endLine","extractorVersion"],"additionalProperties":false,"properties":{"format":{"type":"string","enum":["markdown"],"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].source.format","typeLabel":"enum\u003cstring>"},"method":{"type":"string","enum":["ai"],"description":"How the case was derived from the document. `ai`: an extractor model proposed it and a person reviewed it before it was saved.","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].source.method","typeLabel":"enum\u003cstring>"},"fileName":{"type":"string","minLength":1,"maxLength":255,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].source.fileName","typeLabel":"string"},"fileHash":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"SHA-256 of the source document, lowercase hex.","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].source.fileHash","typeLabel":"string"},"excerpt":{"type":"string","minLength":1,"maxLength":102400,"description":"The passage the case was extracted from.","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].source.excerpt","typeLabel":"string"},"startLine":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].source.startLine","typeLabel":"integer"},"endLine":{"type":"integer","minimum":1,"description":"Inclusive; never less than `startLine`.","isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].source.endLine","typeLabel":"integer"},"extractorVersion":{"type":"string","minLength":1,"maxLength":100,"isRequired":true,"uniqueKey":"oneOf.1.created.items.[INDEX].source.extractorVersion","typeLabel":"string"}},"uniqueKey":"oneOf.1.created.items.[INDEX].source","typeLabel":"object"},"createdAt":{"oneOf":[{"type":"number","uniqueKey":"oneOf.1.created.items.[INDEX].createdAt.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"oneOf.1.created.items.[INDEX].createdAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.created.items.[INDEX].createdAt","typeLabel":"number | null"},"updatedAt":{"oneOf":[{"type":"number","uniqueKey":"oneOf.1.created.items.[INDEX].updatedAt.oneOf.0","typeLabel":"number"},{"type":"null","uniqueKey":"oneOf.1.created.items.[INDEX].updatedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.created.items.[INDEX].updatedAt","typeLabel":"number | null"},"suppressedSuiteStandardCheckIds":{"maxItems":64,"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.created.items.[INDEX].suppressedSuiteStandardCheckIds.items.[INDEX]","typeLabel":"string"},"description":"Stable standard assertion family IDs suppressed from suite defaults. Applies before inherit/extend/replace resolution; explicit case and step assertions are preserved. Omitted updates preserve; [] clears. At most 64 IDs, normalized to unique sorted values.","uniqueKey":"oneOf.1.created.items.[INDEX].suppressedSuiteStandardCheckIds","typeLabel":"string[]"}},"uniqueKey":"oneOf.1.created.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.1.created","typeLabel":"object[]"},"counts":{"type":"object","properties":{"normal":{"type":"integer","uniqueKey":"oneOf.1.counts.normal","typeLabel":"integer"},"negative":{"type":"integer","uniqueKey":"oneOf.1.counts.negative","typeLabel":"integer"}},"uniqueKey":"oneOf.1.counts","typeLabel":"object"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"generationModel":"\u003cstring>","created":[{"id":"\u003cstring>","title":"\u003cstring>","steps":[{"id":"\u003cstring>","kind":"prompt","prompt":"\u003cstring>","serverName":"\u003cstring>","toolName":"\u003cstring>","arguments":{},"action":{},"assertion":{}}],"iterations":5,"isNegative":true,"models":[{"model":"\u003cstring>","provider":"\u003cstring>","selection":{"modelId":"\u003cstring>","source":"hosted","fallback":{"provider":"none","model":"none"},"connectionRef":{"kind":"orgProvider","id":"\u003cstring>","providerKey":"\u003cstring>","customProviderName":"\u003cstring>"},"nativeModelId":"\u003cstring>","settings":{"reasoningEffort":"none","temperature":1}},"selectionOrigin":"backfill"}],"judge":{"enabled":true},"declaredId":"\u003cstring>","expectedOutput":"\u003cstring>","repetitions":2,"passThreshold":0.5,"scenario":"\u003cstring>","intent":"\u003cstring>","kind":"capability","matchOptions":{},"checks":{"mode":"inherit","list":[{"type":"toolDescriptionsPresent","minLength":123,"role":"gating","severity":"warn"}]},"import":{"status":"exact","sourceCaseKey":"\u003cstring>","note":"\u003cstring>"},"source":{"format":"markdown","method":"ai","fileName":"\u003cstring>","fileHash":"\u003cstring>","excerpt":"\u003cstring>","startLine":2,"endLine":2,"extractorVersion":"\u003cstring>"},"createdAt":123,"updatedAt":123,"suppressedSuiteStandardCheckIds":["\u003cstring>"]}],"counts":{"normal":123,"negative":123},"skipped":[{}],"reviewUrl":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"8666da92-0c36-4c32-be2d-f84c7429ce44":{"description":"Malformed body or parameters.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. New codes may be added over time; treat unknown codes as non-retryable failures unless the HTTP status says otherwise.","enum":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","VALIDATION_ERROR","RATE_LIMITED","FEATURE_NOT_SUPPORTED","SERVER_UNREACHABLE","TIMEOUT","OAUTH_REQUIRED","AUTH_REQUIRED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable description. May change between releases — don't match on it.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional, unstructured context bag.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"VALIDATION_ERROR","message":"Invalid JSON body"},"examples":{"Example":{"title":"Example","value":{"code":"VALIDATION_ERROR","message":"Invalid JSON body"}}},"exampleType":"examples"}},"exampleType":"examples"},"e446c250-1215-457a-9e24-fe14b7acb7ac":{"description":"Missing, invalid, revoked, or orphaned key (`UNAUTHORIZED`) — or the **target MCP server** needs an OAuth grant (`OAUTH_REQUIRED`), which is a property of the server, not your key.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. New codes may be added over time; treat unknown codes as non-retryable failures unless the HTTP status says otherwise.","enum":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","VALIDATION_ERROR","RATE_LIMITED","FEATURE_NOT_SUPPORTED","SERVER_UNREACHABLE","TIMEOUT","OAUTH_REQUIRED","AUTH_REQUIRED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable description. May change between releases — don't match on it.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional, unstructured context bag.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"badKey":{"title":"badKey","value":{"code":"UNAUTHORIZED","message":"Invalid API key"}},"oauthRequired":{"title":"oauthRequired","value":{"code":"OAUTH_REQUIRED","message":"Server requires OAuth authorization"}}},"exampleType":"examples"}},"exampleType":"examples"},"5729a1a6-b989-4d34-a6ae-c26d54c06547":{"description":"Key is valid but not allowed to do this.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. New codes may be added over time; treat unknown codes as non-retryable failures unless the HTTP status says otherwise.","enum":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","VALIDATION_ERROR","RATE_LIMITED","FEATURE_NOT_SUPPORTED","SERVER_UNREACHABLE","TIMEOUT","OAUTH_REQUIRED","AUTH_REQUIRED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable description. May change between releases — don't match on it.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional, unstructured context bag.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"FORBIDDEN","message":"You do not have access to this project"},"examples":{"Example":{"title":"Example","value":{"code":"FORBIDDEN","message":"You do not have access to this project"}}},"exampleType":"examples"}},"exampleType":"examples"},"3fad3633-4d58-4336-8605-b8a8cc1a7878":{"description":"Unknown project, server, or resource.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. New codes may be added over time; treat unknown codes as non-retryable failures unless the HTTP status says otherwise.","enum":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","VALIDATION_ERROR","RATE_LIMITED","FEATURE_NOT_SUPPORTED","SERVER_UNREACHABLE","TIMEOUT","OAUTH_REQUIRED","AUTH_REQUIRED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable description. May change between releases — don't match on it.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional, unstructured context bag.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"NOT_FOUND","message":"Server not found"},"examples":{"Example":{"title":"Example","value":{"code":"NOT_FOUND","message":"Server not found"}}},"exampleType":"examples"}},"exampleType":"examples"},"3cc3fec1-8877-4eb8-887f-b388a2bfdcbb":{"description":"The resource is not in a state that accepts this write — a stale `expectedRevision`, a duplicate name, or an environment that cannot currently be launched. The request was well-formed; re-read the resource and retry.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. New codes may be added over time; treat unknown codes as non-retryable failures unless the HTTP status says otherwise.","enum":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","VALIDATION_ERROR","RATE_LIMITED","FEATURE_NOT_SUPPORTED","SERVER_UNREACHABLE","TIMEOUT","OAUTH_REQUIRED","AUTH_REQUIRED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable description. May change between releases — don't match on it.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional, unstructured context bag.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"CONFLICT","message":"Environment changed since you loaded it (expected revision 3, current 5). Reload and retry."},"examples":{"Example":{"title":"Example","value":{"code":"CONFLICT","message":"Environment changed since you loaded it (expected revision 3, current 5). Reload and retry."}}},"exampleType":"examples"}},"exampleType":"examples"},"117d6bf4-dc6c-4808-b316-87dd1a3d4995":{"description":"Per-key rate limit exceeded (60 requests/minute sustained, bursts up to 10). Honor `Retry-After` and back off with jitter.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. New codes may be added over time; treat unknown codes as non-retryable failures unless the HTTP status says otherwise.","enum":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","VALIDATION_ERROR","RATE_LIMITED","FEATURE_NOT_SUPPORTED","SERVER_UNREACHABLE","TIMEOUT","OAUTH_REQUIRED","AUTH_REQUIRED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable description. May change between releases — don't match on it.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional, unstructured context bag.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"RATE_LIMITED","message":"API key rate limit exceeded. Slow down and retry."},"examples":{"Example":{"title":"Example","value":{"code":"RATE_LIMITED","message":"API key rate limit exceeded. Slow down and retry."}}},"exampleType":"examples"}},"exampleType":"examples"},"b0e5549c-8a13-46ca-a038-d3698cae0046":{"description":"Something failed on MCPJam's side.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. New codes may be added over time; treat unknown codes as non-retryable failures unless the HTTP status says otherwise.","enum":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","VALIDATION_ERROR","RATE_LIMITED","FEATURE_NOT_SUPPORTED","SERVER_UNREACHABLE","TIMEOUT","OAUTH_REQUIRED","AUTH_REQUIRED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable description. May change between releases — don't match on it.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional, unstructured context bag.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"INTERNAL_ERROR","message":"Unexpected internal error"},"examples":{"Example":{"title":"Example","value":{"code":"INTERNAL_ERROR","message":"Unexpected internal error"}}},"exampleType":"examples"}},"exampleType":"examples"},"1cdae547-bdd4-4a7f-8934-83fd8dba6b6c":{"description":"Could not connect to the target MCP server.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. New codes may be added over time; treat unknown codes as non-retryable failures unless the HTTP status says otherwise.","enum":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","VALIDATION_ERROR","RATE_LIMITED","FEATURE_NOT_SUPPORTED","SERVER_UNREACHABLE","TIMEOUT","OAUTH_REQUIRED","AUTH_REQUIRED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable description. May change between releases — don't match on it.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional, unstructured context bag.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"SERVER_UNREACHABLE","message":"Failed to connect to server"},"examples":{"Example":{"title":"Example","value":{"code":"SERVER_UNREACHABLE","message":"Failed to connect to server"}}},"exampleType":"examples"}},"exampleType":"examples"},"0c59fa7d-1c68-439a-8c4f-ea8d076f6424":{"description":"The target MCP server connected but didn't respond in time.","content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable, machine-readable error code. New codes may be added over time; treat unknown codes as non-retryable failures unless the HTTP status says otherwise.","enum":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","VALIDATION_ERROR","RATE_LIMITED","FEATURE_NOT_SUPPORTED","SERVER_UNREACHABLE","TIMEOUT","OAUTH_REQUIRED","AUTH_REQUIRED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable description. May change between releases — don't match on it.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional, unstructured context bag.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"code":"TIMEOUT","message":"Request to server timed out"},"examples":{"Example":{"title":"Example","value":{"code":"TIMEOUT","message":"Request to server timed out"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"236724e9-93c1-4046-b325-e1ca4fea3dfe":{"bearerAuth":{"type":"http","scheme":"bearer","description":"MCPJam API key (`sk_…`). Create one at [Settings → API keys](https://app.mcpjam.com/settings/api-keys). Guest sessions cannot use the API, and API keys cannot manage other API keys.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"3a17c30e-f143-4b32-acde-c44b91392915":{"url":"https://app.mcpjam.com/api/v1","description":"Hosted MCPJam"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"MCPJam API key (`sk_…`). Create one at [Settings → API keys](https://app.mcpjam.com/settings/api-keys). Guest sessions cannot use the API, and API keys cannot manage other API keys.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"MCPJam API key (`sk_…`). Create one at [Settings → API keys](https://app.mcpjam.com/settings/api-keys). Guest sessions cannot use the API, and API keys cannot manage other API keys.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"reference/openapi.json"},"subdomain":"mcpjam","siteName":"MCPJam Inspector","title":"Write a finished authoring job's cases into the suite - MCPJam Inspector","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T06:16:24.350Z","originalFileLocation":"api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite.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=\"light\"}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=\"Writes the job\u0026#x27;s drafts into the suite. A draft carrying unresolved blocking issues or proposed additions is skipped rather than written, and comes back under skipped with a reviewUrl for finishing it in the app. A job whose source is markdown — the in-app upload — is not committable here and answers 404: those drafts exist so a person decides on them, and an API commit would decide on their behalf.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MCPJam Inspector\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mcpjam/ep1o5nNQ5y_CiuIP/_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/mcpjam/ep1o5nNQ5y_CiuIP/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mcpjam/ep1o5nNQ5y_CiuIP/_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/mcpjam/ep1o5nNQ5y_CiuIP/_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/mcpjam/ep1o5nNQ5y_CiuIP/_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/mcpjam/ep1o5nNQ5y_CiuIP/_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/mcpjam/ep1o5nNQ5y_CiuIP/_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/mcpjam/ep1o5nNQ5y_CiuIP/_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/mcpjam/ep1o5nNQ5y_CiuIP/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Write a finished authoring job\u0026#x27;s cases into the suite - MCPJam Inspector\">\u003cmeta data-mint-head property=\"og:description\" content=\"Writes the job\u0026#x27;s drafts into the suite. A draft carrying unresolved blocking issues or proposed additions is skipped rather than written, and comes back under skipped with a reviewUrl for finishing it in the app. A job whose source is markdown — the in-app upload — is not committable here and answers 404: those drafts exist so a person decides on them, and an API commit would decide on their behalf.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MCPJam Inspector\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mcpjam.com/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mcpjam.mintlify.site/_mintlify/api/og/v2?division=Eval+runs\u0026amp;title=Write+a+finished+authoring+job%27s+cases+into+the+suite\u0026amp;description=Writes+the+job%27s+drafts+into+the+suite.+A+draft+carrying+unresolved+blocking+issues+or+proposed+additions+is+**skipped**+rather+than+written%2C+and+comes+back+und\u0026amp;theme=bc7efb06d96f3956b38e3f7c\u0026amp;signature=2c77fb434d37b3564070218354803bea91f27de43e31ded6b6701f674c333dba\">\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=\"Write a finished authoring job\u0026#x27;s cases into the suite - MCPJam Inspector\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Writes the job\u0026#x27;s drafts into the suite. A draft carrying unresolved blocking issues or proposed additions is skipped rather than written, and comes back under skipped with a reviewUrl for finishing it in the app. A job whose source is markdown — the in-app upload — is not committable here and answers 404: those drafts exist so a person decides on them, and an API commit would decide on their behalf.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mcpjam.mintlify.site/_mintlify/api/og/v2?division=Eval+runs\u0026amp;title=Write+a+finished+authoring+job%27s+cases+into+the+suite\u0026amp;description=Writes+the+job%27s+drafts+into+the+suite.+A+draft+carrying+unresolved+blocking+issues+or+proposed+additions+is+**skipped**+rather+than+written%2C+and+comes+back+und\u0026amp;theme=bc7efb06d96f3956b38e3f7c\u0026amp;signature=2c77fb434d37b3564070218354803bea91f27de43e31ded6b6701f674c333dba\">\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/mcpjam/ep1o5nNQ5y_CiuIP/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MCPJam Inspector\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#e07856\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mcpjam.com/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mcpjam.com/#organization\",\"name\":\"MCPJam Inspector\",\"url\":\"https://docs.mcpjam.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mcpjam/vsGvCDGvliesO33B/logo/mcp_jam_light.png?fit=max\u0026auto=format\u0026n=vsGvCDGvliesO33B\u0026q=85\u0026s=754a0151aa3da5cbb9bcefa21396cde9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mcpjam.com#website\",\"name\":\"MCPJam Inspector\",\"url\":\"https://docs.mcpjam.com\",\"publisher\":{\"@id\":\"https://docs.mcpjam.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mcpjam.com/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite#webpage\",\"url\":\"https://docs.mcpjam.com/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite\",\"name\":\"Write a finished authoring job's cases into the suite\",\"description\":\"Writes the job's drafts into the suite. A draft carrying unresolved blocking issues or proposed additions is skipped rather than written, and comes back under skipped with a reviewUrl for finishing it in the app. A job whose source is markdown — the in-app upload — is not committable here and answers 404: those drafts exist so a person decides on them, and an API commit would decide on their behalf.\",\"dateModified\":\"2026-11-09T06:16:24.350Z\",\"isPartOf\":{\"@id\":\"https://docs.mcpjam.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mcpjam.com/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mcpjam.com/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.mcpjam.com/api-reference/eval-runs/pay-for-one-local-eval-iteration\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Eval runs\",\"item\":\"https://docs.mcpjam.com/api-reference/eval-runs/pay-for-one-local-eval-iteration\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Write a finished authoring job's cases into the suite\",\"item\":\"https://docs.mcpjam.com/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.mcpjam.com/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite#apireference\",\"headline\":\"Write a finished authoring job's cases into the suite\",\"name\":\"Write a finished authoring job's cases into the suite\",\"description\":\"Writes the job's drafts into the suite. A draft carrying unresolved blocking issues or proposed additions is skipped rather than written, and comes back under skipped with a reviewUrl for finishing it in the app. A job whose source is markdown — the in-app upload — is not committable here and answers 404: those drafts exist so a person decides on them, and an API commit would decide on their behalf.\",\"url\":\"https://docs.mcpjam.com/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mcpjam.com/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite#webpage\"},\"dateModified\":\"2026-11-09T06:16:24.350Z\",\"publisher\":{\"@id\":\"https://docs.mcpjam.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mcpjam.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MCPJam Inspector\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"MCPJam Inspector\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite.md","siteName":"MCPJam Inspector","nav":{"global":{"anchors":[{"anchor":"Discord","icon":"discord","href":"https://discord.gg/JEnDtz8X6z"},{"anchor":"GitHub","icon":"github","href":"https://github.com/MCPJam/inspector"},{"anchor":"Website","icon":"globe","href":"https://mcpjam.com"}]},"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":""}]},{"tab":"Inspector","pages":[{"title":"Inspector","href":"/inspector/home"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/overview"}]},{"tab":"SDK","pages":[{"title":"SDK","href":"/sdk"}]},{"tab":"API","groups":[{"group":"API Guides","icon":"map","pages":[{"title":"MCPJam API","icon":"braces","tag":"Preview","href":"/reference/public-api"},{"title":"API keys","icon":"key","href":"/reference/api-keys"}]},{"group":"Endpoints","icon":"braces","pages":[{"group":"Eval runs","pages":[{"title":"Pay for one local eval iteration","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-ingest/pay-iteration","href":"/api-reference/eval-runs/pay-for-one-local-eval-iteration"},{"title":"Preview draft judge grading on one recorded iteration","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-runs/{runId}/judge/backtest","href":"/api-reference/eval-runs/preview-draft-judge-grading-on-one-recorded-iteration"},{"title":"Create an eval run (async)","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-runs","href":"/api-reference/eval-runs/create-an-eval-run-async"},{"title":"Get run status","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-runs/{runId}","href":"/api-reference/eval-runs/get-run-status"},{"title":"Get a run's decision summary","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-runs/{runId}/decision-summary","href":"/api-reference/eval-runs/get-a-runs-decision-summary"},{"title":"Compare a run against a baseline","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-runs/{runId}/compare","href":"/api-reference/eval-runs/compare-a-run-against-a-baseline"},{"title":"List run iterations","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-runs/{runId}/iterations","href":"/api-reference/eval-runs/list-run-iterations"},{"title":"Get an iteration trace","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-runs/{runId}/iterations/{iterationId}/trace","href":"/api-reference/eval-runs/get-an-iteration-trace"},{"title":"Get an iteration's step results","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-runs/{runId}/iterations/{iterationId}/steps","href":"/api-reference/eval-runs/get-an-iterations-step-results"},{"title":"Cancel a run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-runs/{runId}/cancel","href":"/api-reference/eval-runs/cancel-a-run"},{"title":"Preview a failed-cases rerun","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-runs/{runId}/rerun-preview","href":"/api-reference/eval-runs/preview-a-failed-cases-rerun"},{"title":"Rerun a run's failed cases","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-runs/{runId}/rerun","href":"/api-reference/eval-runs/rerun-a-runs-failed-cases"},{"title":"List a suite's runs","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-suites/{suiteId}/runs","href":"/api-reference/eval-runs/list-a-suites-runs"},{"title":"List a suite's per-run stage analytics","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-suites/{suiteId}/stage-analytics","href":"/api-reference/eval-runs/list-a-suites-per-run-stage-analytics"},{"title":"Get one run's stage analytics","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-runs/{runId}/stage-analytics","href":"/api-reference/eval-runs/get-one-runs-stage-analytics"},{"title":"Get one run's suite quality-gate report","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-runs/{runId}/gate","href":"/api-reference/eval-runs/get-one-runs-suite-quality-gate-report"},{"title":"Enable, repoint, or disable a suite's schedule","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/eval-suites/{suiteId}/schedule","href":"/api-reference/eval-runs/enable-repoint-or-disable-a-suites-schedule"},{"title":"Launch one run per target as a group (async)","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-run-groups","href":"/api-reference/eval-runs/launch-one-run-per-target-as-a-group-async"},{"title":"Create an eval suite (author-only, does not run)","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-suites","href":"/api-reference/eval-runs/create-an-eval-suite-author-only-does-not-run"},{"title":"Resolve or create a file-owned eval suite","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-suites/from-file","href":"/api-reference/eval-runs/resolve-or-create-a-file-owned-eval-suite"},{"title":"Get one eval suite's configuration","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-suites/{suiteId}","href":"/api-reference/eval-runs/get-one-eval-suites-configuration"},{"title":"Delete an eval suite","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/eval-suites/{suiteId}","href":"/api-reference/eval-runs/delete-an-eval-suite"},{"title":"Update an eval suite's settings","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/eval-suites/{suiteId}","href":"/api-reference/eval-runs/update-an-eval-suites-settings"},{"title":"Get the pre-run disclosure for a suite launch plan","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-suites/{suiteId}/run-disclosure","href":"/api-reference/eval-runs/get-the-pre-run-disclosure-for-a-suite-launch-plan"},{"title":"List a suite's eval cases","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-suites/{suiteId}/cases","href":"/api-reference/eval-runs/list-a-suites-eval-cases"},{"title":"Create an eval case","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-suites/{suiteId}/cases","href":"/api-reference/eval-runs/create-an-eval-case"},{"title":"Create several eval cases","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-suites/{suiteId}/cases/batch","href":"/api-reference/eval-runs/create-several-eval-cases"},{"title":"Generate eval cases from the suite's tools","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-suites/{suiteId}/cases/generate","href":"/api-reference/eval-runs/generate-eval-cases-from-the-suites-tools"},{"title":"Author eval cases from a document","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-suites/{suiteId}/cases/import","href":"/api-reference/eval-runs/author-eval-cases-from-a-document"},{"title":"Read an eval authoring job","description":"Progress and drafts for a job started by `cases/generate` or `cases/import`. Poll this after a `202`, then commit the job once its `status` is `completed`.","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-suites/{suiteId}/authoring/{jobId}","href":"/api-reference/eval-runs/read-an-eval-authoring-job"},{"title":"Write a finished authoring job's cases into the suite","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-suites/{suiteId}/authoring/{jobId}/commit","href":"/api-reference/eval-runs/write-a-finished-authoring-jobs-cases-into-the-suite"},{"title":"Get one eval case","description":"A case that belongs to this suite and project. A case in another suite is a 404, not a 403.","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-suites/{suiteId}/cases/{caseId}","href":"/api-reference/eval-runs/get-one-eval-case"},{"title":"Delete an eval case","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/eval-suites/{suiteId}/cases/{caseId}","href":"/api-reference/eval-runs/delete-an-eval-case"},{"title":"Update an eval case","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/eval-suites/{suiteId}/cases/{caseId}","href":"/api-reference/eval-runs/update-an-eval-case"},{"title":"Upload a run artifact","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-ingest/artifacts","href":"/api-reference/eval-runs/upload-a-run-artifact"},{"title":"Get an upload URL for a run artifact","deprecated":true,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-ingest/artifacts/upload-url","href":"/api-reference/eval-runs/get-an-upload-url-for-a-run-artifact"},{"title":"Discover authenticated eval ingestion capabilities","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-ingest/capabilities","href":"/api-reference/eval-runs/discover-authenticated-eval-ingestion-capabilities"},{"title":"Persist advisory case-run evaluations","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-ingest/runs/evaluations","href":"/api-reference/eval-runs/persist-advisory-case-run-evaluations"},{"title":"Ingest a completed eval run in one call","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-ingest/report","href":"/api-reference/eval-runs/ingest-a-completed-eval-run-in-one-call"},{"title":"Mint a model lease for MCPJam-hosted inference","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/model-leases","href":"/api-reference/eval-runs/mint-a-model-lease-for-mcpjam-hosted-inference"},{"title":"Revoke a model lease","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/model-leases/revoke","href":"/api-reference/eval-runs/revoke-a-model-lease"},{"title":"Close an open ingestion run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-ingest/runs/finalize","href":"/api-reference/eval-runs/close-an-open-ingestion-run"},{"title":"Append iterations to an open run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-ingest/runs/iterations","href":"/api-reference/eval-runs/append-iterations-to-an-open-run"},{"title":"Authenticate and record an eval start","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-ingest/start-run","href":"/api-reference/eval-runs/authenticate-and-record-an-eval-start"},{"title":"Open a run for incremental ingestion","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-ingest/runs/start","href":"/api-reference/eval-runs/open-a-run-for-incremental-ingestion"},{"title":"Get a run's gate waiver","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-runs/{runId}/gate-waivers","href":"/api-reference/eval-runs/get-a-runs-gate-waiver"},{"title":"Waive a run gate","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-runs/{runId}/gate-waivers","href":"/api-reference/eval-runs/waive-a-run-gate"},{"title":"Revoke a gate waiver","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/eval-runs/{runId}/gate-waivers/{waiverId}","href":"/api-reference/eval-runs/revoke-a-gate-waiver"},{"title":"Preview deterministic draft evaluators against stored evidence","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-runs/{runId}/backtest","href":"/api-reference/eval-runs/preview-deterministic-draft-evaluators-against-stored-evidence"}]},{"group":"Agent browsers","pages":[{"title":"Open a cloud browser session","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /browser-sessions/session","href":"/api-reference/agent-browsers/open-a-cloud-browser-session"},{"title":"List your browser sessions","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /browser-sessions/sessions","href":"/api-reference/agent-browsers/list-your-browser-sessions"},{"title":"Execute a browser command","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /browser-sessions/command","href":"/api-reference/agent-browsers/execute-a-browser-command"},{"title":"Append a session note","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /browser-sessions/note","href":"/api-reference/agent-browsers/append-a-session-note"},{"title":"Read command receipts","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /browser-sessions/trace","href":"/api-reference/agent-browsers/read-command-receipts"},{"title":"Fetch a browser screenshot","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /browser-sessions/artifact","href":"/api-reference/agent-browsers/fetch-a-browser-screenshot"},{"title":"Close a browser session","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /browser-sessions/close","href":"/api-reference/agent-browsers/close-a-browser-session"}]},{"group":"Catalog","pages":[{"title":"Get the host-compat catalog","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /host-catalog","href":"/api-reference/catalog/get-the-host-compat-catalog"},{"title":"Get the authenticated account","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /me","href":"/api-reference/catalog/get-the-authenticated-account"},{"title":"Read the organization's spend budget","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /organizations/{organizationId}/spend-budget","href":"/api-reference/catalog/read-the-organizations-spend-budget"},{"title":"Set the organization's spend budget","deprecated":null,"version":null,"openapi":"/reference/openapi.json put /organizations/{organizationId}/spend-budget","href":"/api-reference/catalog/set-the-organizations-spend-budget"},{"title":"Remove the organization's spend budget","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /organizations/{organizationId}/spend-budget","href":"/api-reference/catalog/remove-the-organizations-spend-budget"},{"title":"List organizations","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /organizations","href":"/api-reference/catalog/list-organizations"},{"title":"List projects","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects","href":"/api-reference/catalog/list-projects"},{"title":"List a project's servers","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/servers","href":"/api-reference/catalog/list-a-projects-servers"},{"title":"List a project's eval suites","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-suites","href":"/api-reference/catalog/list-a-projects-eval-suites"},{"title":"Search or list unified sessions","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/sessions","href":"/api-reference/catalog/search-or-list-unified-sessions"},{"title":"List chat sessions","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /chat-sessions","href":"/api-reference/catalog/list-chat-sessions"},{"title":"The MCPJam-provided model catalog","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /models","href":"/api-reference/catalog/the-mcpjam-provided-model-catalog"},{"title":"Export project traces as OTLP/JSON","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /trace-exports/otlp","href":"/api-reference/catalog/export-project-traces-as-otlpjson"}]},{"group":"Harness","pages":[{"title":"List a harness's native built-in tools","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /harness/{harnessId}/builtin-tools","href":"/api-reference/harness/list-a-harnesss-native-built-in-tools"}]},{"group":"Sandbox images","pages":[{"title":"List a project's sandbox images","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/images","href":"/api-reference/sandbox-images/list-a-projects-sandbox-images"},{"title":"Create a sandbox image","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/images","href":"/api-reference/sandbox-images/create-a-sandbox-image"},{"title":"Get a sandbox image","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/images/{imageId}","href":"/api-reference/sandbox-images/get-a-sandbox-image"},{"title":"Delete a sandbox image","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/images/{imageId}","href":"/api-reference/sandbox-images/delete-a-sandbox-image"},{"title":"Update a sandbox image","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/images/{imageId}","href":"/api-reference/sandbox-images/update-a-sandbox-image"},{"title":"List a sandbox image's builds","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/images/{imageId}/builds","href":"/api-reference/sandbox-images/list-a-sandbox-images-builds"},{"title":"Build a sandbox image","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/images/{imageId}/build","href":"/api-reference/sandbox-images/build-a-sandbox-image"},{"title":"Share a sandbox image with the project","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/images/{imageId}/promote","href":"/api-reference/sandbox-images/share-a-sandbox-image-with-the-project"},{"title":"Boot your computer from a sandbox image","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/images/{imageId}/use","href":"/api-reference/sandbox-images/boot-your-computer-from-a-sandbox-image"},{"title":"Reset your computer to its image","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/computer/reset","href":"/api-reference/sandbox-images/reset-your-computer-to-its-image"},{"title":"Validate a blueprint","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/images/validate","href":"/api-reference/sandbox-images/validate-a-blueprint"}]},{"group":"Clients","pages":[{"title":"List a project's clients","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/clients","href":"/api-reference/clients/list-a-projects-clients"},{"title":"Create a client (from a template or a full config)","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/clients","href":"/api-reference/clients/create-a-client-from-a-template-or-a-full-config"},{"title":"Get a client","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/clients/{client}","href":"/api-reference/clients/get-a-client"},{"title":"Delete a client","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/clients/{client}","href":"/api-reference/clients/delete-a-client"},{"title":"Update a client","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/clients/{client}","href":"/api-reference/clients/update-a-client"},{"title":"Replace a client's servers","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/clients/{client}/servers","href":"/api-reference/clients/replace-a-clients-servers"},{"title":"Duplicate a client","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/clients/{client}/duplicate","href":"/api-reference/clients/duplicate-a-client"}]},{"group":"Server diagnostics","pages":[{"title":"Validate a server","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/validate","href":"/api-reference/server-diagnostics/validate-a-server"},{"title":"Run the doctor","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/doctor","href":"/api-reference/server-diagnostics/run-the-doctor"},{"title":"Check OAuth requirement","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/check-oauth","href":"/api-reference/server-diagnostics/check-oauth-requirement"}]},{"group":"Primitives","pages":[{"title":"List tools","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/tools","href":"/api-reference/primitives/list-tools"},{"title":"List prompts","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/prompts","href":"/api-reference/primitives/list-prompts"},{"title":"List resources","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/resources","href":"/api-reference/primitives/list-resources"},{"title":"Read a resource","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/resources/read","href":"/api-reference/primitives/read-a-resource"},{"title":"List server skills","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/skills","href":"/api-reference/primitives/list-server-skills"},{"title":"Get a server skill","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/skills/get","href":"/api-reference/primitives/get-a-server-skill"},{"title":"Read a server skill's supporting file","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/skills/read-file","href":"/api-reference/primitives/read-a-server-skills-supporting-file"}]},{"group":"Export","pages":[{"title":"Export a server snapshot","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/export","href":"/api-reference/export/export-a-server-snapshot"}]},{"group":"Execution","pages":[{"title":"Call a tool","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/tools/call","href":"/api-reference/execution/call-a-tool"},{"title":"Render a prompt","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/prompts/get","href":"/api-reference/execution/render-a-prompt"},{"title":"Render an MCP App widget headlessly","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/widgets/render","href":"/api-reference/execution/render-an-mcp-app-widget-headlessly"},{"title":"Create a retained widget session","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/widget-sessions","href":"/api-reference/execution/create-a-retained-widget-session"},{"title":"Read a retained widget snapshot","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/servers/{serverId}/widget-sessions/{id}/snapshot","href":"/api-reference/execution/read-a-retained-widget-snapshot"},{"title":"Act on a retained widget","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/widget-sessions/{id}/action","href":"/api-reference/execution/act-on-a-retained-widget"},{"title":"Run a retained widget step","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/widget-sessions/{id}/scripted-step","href":"/api-reference/execution/run-a-retained-widget-step"},{"title":"Close a retained widget session","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/servers/{serverId}/widget-sessions/{id}","href":"/api-reference/execution/close-a-retained-widget-session"}]},{"group":"Eval suites","pages":[{"title":"List a suite's settings history","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/eval-suites/{suiteId}/revisions","href":"/api-reference/eval-suites/list-a-suites-settings-history"},{"title":"Attach one environment to a suite (atomic append)","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-suites/{suiteId}/environments","href":"/api-reference/eval-suites/attach-one-environment-to-a-suite-atomic-append"}]},{"group":"OAuth","pages":[{"title":"Import OAuth tokens","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/oauth/import-tokens","href":"/api-reference/oauth/import-oauth-tokens"}]},{"group":"Evals","pages":[{"title":"List GitHub Checks repositories","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /organizations/{organizationId}/eval-check-repos","href":"/api-reference/evals/list-github-checks-repositories"},{"title":"Run an eval suite on a repository's pull requests","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /organizations/{organizationId}/eval-check-repos","href":"/api-reference/evals/run-an-eval-suite-on-a-repositorys-pull-requests"},{"title":"Request insights for an eval run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-runs/{runId}/insights","href":"/api-reference/evals/request-insights-for-an-eval-run"},{"title":"Grade an eval run with LLM as Judge","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/eval-runs/{runId}/judge","href":"/api-reference/evals/grade-an-eval-run-with-llm-as-judge"}]},{"group":"Projects","pages":[{"title":"Create a project","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects","href":"/api-reference/projects/create-a-project"},{"title":"Delete a project and everything scoped to it","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}","href":"/api-reference/projects/delete-a-project-and-everything-scoped-to-it"},{"title":"Update project metadata","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}","href":"/api-reference/projects/update-project-metadata"},{"title":"What the caller may do here","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/capabilities","href":"/api-reference/projects/what-the-caller-may-do-here"}]},{"group":"Servers","pages":[{"title":"Save a server into a project","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers","href":"/api-reference/servers/save-a-server-into-a-project"},{"title":"Get one saved server","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/servers/{serverId}","href":"/api-reference/servers/get-one-saved-server"},{"title":"Delete a saved server","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/servers/{serverId}","href":"/api-reference/servers/delete-a-saved-server"},{"title":"Update a saved server","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/servers/{serverId}","href":"/api-reference/servers/update-a-saved-server"}]},{"group":"Environments","pages":[{"title":"List a project's server groups","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/server-groups","href":"/api-reference/environments/list-a-projects-server-groups"},{"title":"Snapshot servers into a server group","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/server-groups","href":"/api-reference/environments/snapshot-servers-into-a-server-group"},{"title":"List a project's environments","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/environments","href":"/api-reference/environments/list-a-projects-environments"},{"title":"Create an environment","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/environments","href":"/api-reference/environments/create-an-environment"},{"title":"Check what this deployment's environment surface supports","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/environments/capabilities","href":"/api-reference/environments/check-what-this-deployments-environment-surface-supports"},{"title":"Show one environment","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/environments/{environmentId}","href":"/api-reference/environments/show-one-environment"},{"title":"Update an environment","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/environments/{environmentId}","href":"/api-reference/environments/update-an-environment"},{"title":"Preview what an environment resolves to","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/environments/{environmentId}/resolve","href":"/api-reference/environments/preview-what-an-environment-resolves-to"},{"title":"Get or create an unnamed environment for a composed stack","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/environments/ensure-adhoc","href":"/api-reference/environments/get-or-create-an-unnamed-environment-for-a-composed-stack"},{"title":"Promote an unnamed environment","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/environments/{environmentId}/name","href":"/api-reference/environments/promote-an-unnamed-environment"},{"title":"Archive an environment","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/environments/{environmentId}/archive","href":"/api-reference/environments/archive-an-environment"},{"title":"Restore an archived environment","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/environments/{environmentId}/restore","href":"/api-reference/environments/restore-an-archived-environment"}]},{"group":"Studies","pages":[{"title":"List a project's scenarios","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/studies","href":"/api-reference/studies/list-a-projects-scenarios"},{"title":"Publish an environment for user testing","deprecated":null,"version":null,"openapi":"/reference/openapi.json put /projects/{projectId}/environments/{environmentId}/study","href":"/api-reference/studies/publish-an-environment-for-user-testing"},{"title":"Unpublish an environment","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/environments/{environmentId}/study","href":"/api-reference/studies/unpublish-an-environment"},{"title":"Get a study","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/studies/{studyId}","href":"/api-reference/studies/get-a-study"},{"title":"Update a scenario","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/studies/{studyId}","href":"/api-reference/studies/update-a-scenario"},{"title":"List a scenario's sessions","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/studies/{studyId}/sessions","href":"/api-reference/studies/list-a-scenarios-sessions"},{"title":"Get a session transcript","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/studies/{studyId}/sessions/{sessionId}","href":"/api-reference/studies/get-a-session-transcript"},{"title":"Set the guest-execution caps","deprecated":null,"version":null,"openapi":"/reference/openapi.json put /projects/{projectId}/studies/{studyId}/guest-execution","href":"/api-reference/studies/set-the-guest-execution-caps"},{"title":"Rotate the share link","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/studies/{studyId}/rotate-link","href":"/api-reference/studies/rotate-the-share-link"},{"title":"Invite a member","deprecated":null,"version":null,"openapi":"/reference/openapi.json put /projects/{projectId}/studies/{studyId}/members","href":"/api-reference/studies/invite-a-member"},{"title":"Remove a member","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/studies/{studyId}/members/{memberIdOrEmail}","href":"/api-reference/studies/remove-a-member"},{"title":"Point a scenario at a different environment","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/studies/{studyId}/rebind","href":"/api-reference/studies/point-a-scenario-at-a-different-environment"},{"title":"Session metrics","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/studies/{studyId}/metrics","href":"/api-reference/studies/session-metrics"},{"title":"Usage breakdown","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/studies/{studyId}/usage","href":"/api-reference/studies/usage-breakdown"},{"title":"Current window signals","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/studies/{studyId}/signals","href":"/api-reference/studies/current-window-signals"},{"title":"List scenario findings","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/studies/{studyId}/findings","href":"/api-reference/studies/list-scenario-findings"},{"title":"Read a window's insights","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/studies/{studyId}/windows/{windowId}/insights","href":"/api-reference/studies/read-a-windows-insights"},{"title":"Request insights for the current window","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/studies/{studyId}/insights","href":"/api-reference/studies/request-insights-for-the-current-window"},{"title":"Cancel a window's generation","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/studies/{studyId}/insights","href":"/api-reference/studies/cancel-a-windows-generation"},{"title":"Dismiss a finding","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/studies/{studyId}/findings/{findingId}/dismiss","href":"/api-reference/studies/dismiss-a-finding"},{"title":"Restore a dismissed finding","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/studies/{studyId}/findings/{findingId}/undismiss","href":"/api-reference/studies/restore-a-dismissed-finding"}]},{"group":"Tunnels","pages":[{"title":"Create (or revive) a relay tunnel for a named project server","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/tunnels","href":"/api-reference/tunnels/create-or-revive-a-relay-tunnel-for-a-named-project-server"},{"title":"Revoke a tunnel's live grant","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/tunnels/{serverId}/close","href":"/api-reference/tunnels/revoke-a-tunnels-live-grant"}]},{"group":"Plugins","pages":[{"title":"List a project's plugins","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/plugins","href":"/api-reference/plugins/list-a-projects-plugins"},{"title":"Get a plugin version","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /plugin-versions/{pluginVersionId}","href":"/api-reference/plugins/get-a-plugin-version"}]},{"group":"Skills","pages":[{"title":"List a project's skills","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/skills","href":"/api-reference/skills/list-a-projects-skills"},{"title":"Get a skill","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/skills/{skillId}","href":"/api-reference/skills/get-a-skill"}]},{"group":"Agent","pages":[{"title":"Run one headless agent turn","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/agent","href":"/api-reference/agent/run-one-headless-agent-turn"}]},{"group":"Server connections","pages":[{"title":"Connect an MCP server","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /server-connections","href":"/api-reference/server-connections/connect-an-mcp-server"},{"title":"Get a connection request","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /server-connections/{requestId}","href":"/api-reference/server-connections/get-a-connection-request"},{"title":"Cancel a connection request","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /server-connections/{requestId}/cancel","href":"/api-reference/server-connections/cancel-a-connection-request"},{"title":"Retry validation","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /server-connections/{requestId}/retry-validation","href":"/api-reference/server-connections/retry-validation"}]},{"group":"Swarms","pages":[{"title":"List personas","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/personas","href":"/api-reference/swarms/list-personas"},{"title":"Create a persona","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/personas","href":"/api-reference/swarms/create-a-persona"},{"title":"Get a persona","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/personas/{personaId}","href":"/api-reference/swarms/get-a-persona"},{"title":"Delete a persona","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/personas/{personaId}","href":"/api-reference/swarms/delete-a-persona"},{"title":"Update a persona","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/personas/{personaId}","href":"/api-reference/swarms/update-a-persona"},{"title":"Draft personas with a model","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/personas/generate","href":"/api-reference/swarms/draft-personas-with-a-model"},{"title":"Draft journeys for a persona","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/goals/generate","href":"/api-reference/swarms/draft-journeys-for-a-persona"},{"title":"Get a journey","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/goals/{goalId}","href":"/api-reference/swarms/get-a-journey"},{"title":"Archive a journey","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/goals/{goalId}","href":"/api-reference/swarms/archive-a-journey"},{"title":"Update a journey","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/goals/{goalId}","href":"/api-reference/swarms/update-a-journey"},{"title":"List swarms","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/swarms","href":"/api-reference/swarms/list-swarms"},{"title":"Create a swarm","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/swarms","href":"/api-reference/swarms/create-a-swarm"},{"title":"Get a swarm","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/swarms/{swarmId}","href":"/api-reference/swarms/get-a-swarm"},{"title":"Archive a swarm","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/swarms/{swarmId}","href":"/api-reference/swarms/archive-a-swarm"},{"title":"Update a swarm","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/swarms/{swarmId}","href":"/api-reference/swarms/update-a-swarm"},{"title":"List journeys","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/goals","href":"/api-reference/swarms/list-journeys"},{"title":"Create a journey","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/goals","href":"/api-reference/swarms/create-a-journey"}]},{"group":"Secrets","pages":[{"title":"List secrets","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/secrets","href":"/api-reference/secrets/list-secrets"},{"title":"Create a secret","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/secrets","href":"/api-reference/secrets/create-a-secret"},{"title":"Get a secret","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/secrets/{secretId}","href":"/api-reference/secrets/get-a-secret"},{"title":"Delete a secret","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/secrets/{secretId}","href":"/api-reference/secrets/delete-a-secret"},{"title":"Rotate or re-bind a secret","deprecated":null,"version":null,"openapi":"/reference/openapi.json patch /projects/{projectId}/secrets/{secretId}","href":"/api-reference/secrets/rotate-or-re-bind-a-secret"}]},{"group":"Swarm runs","pages":[{"title":"List a journey's runs","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/goals/{goalId}/runs","href":"/api-reference/swarm-runs/list-a-journeys-runs"},{"title":"Launch a journey","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/goals/{goalId}/runs","href":"/api-reference/swarm-runs/launch-a-journey"},{"title":"Get a journey run","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/goal-runs/{runId}","href":"/api-reference/swarm-runs/get-a-journey-run"},{"title":"List a run's sessions","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/goal-runs/{runId}/sessions","href":"/api-reference/swarm-runs/list-a-runs-sessions"},{"title":"Cancel a journey run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/goal-runs/{runId}/cancel","href":"/api-reference/swarm-runs/cancel-a-journey-run"}]},{"group":"Swarm insights","pages":[{"title":"Project swarm roll-up","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/goals-overview","href":"/api-reference/swarm-insights/project-swarm-roll-up"},{"title":"Get a run's rubric scorecard","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/goal-runs/{runId}/scorecard","href":"/api-reference/swarm-insights/get-a-runs-rubric-scorecard"},{"title":"List swarm findings","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/goal-findings","href":"/api-reference/swarm-insights/list-swarm-findings"},{"title":"Dismiss a finding","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/goal-findings/{findingId}/dismiss","href":"/api-reference/swarm-insights/dismiss-a-finding"},{"title":"Undismiss a finding","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/goal-findings/{findingId}/undismiss","href":"/api-reference/swarm-insights/undismiss-a-finding"},{"title":"Get swarm run insights","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/swarm-runs/{swarmRunId}/insights","href":"/api-reference/swarm-insights/get-swarm-run-insights"},{"title":"Request swarm run insights","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/swarm-runs/{swarmRunId}/insights","href":"/api-reference/swarm-insights/request-swarm-run-insights"},{"title":"Cancel a pending swarm-run-insights generation","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/swarm-runs/{swarmRunId}/insights","href":"/api-reference/swarm-insights/cancel-a-pending-swarm-run-insights-generation"}]},{"group":"Directory readiness","pages":[{"title":"Start a Claude directory-readiness run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/readiness-runs/claude","href":"/api-reference/directory-readiness/start-a-claude-directory-readiness-run"},{"title":"Start an OpenAI plugin-directory readiness run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/readiness-runs/openai","href":"/api-reference/directory-readiness/start-an-openai-plugin-directory-readiness-run"},{"title":"Start a Muse connector readiness run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/readiness-runs/muse","href":"/api-reference/directory-readiness/start-a-muse-connector-readiness-run"},{"title":"List readiness runs","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/readiness-runs","href":"/api-reference/directory-readiness/list-readiness-runs"},{"title":"Read one readiness run","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/readiness-runs/{runId}","href":"/api-reference/directory-readiness/read-one-readiness-run"},{"title":"Cancel an in-flight readiness run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/readiness-runs/{runId}/cancel","href":"/api-reference/directory-readiness/cancel-an-in-flight-readiness-run"},{"title":"Fetch a readiness run's full report","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/readiness-runs/{runId}/report","href":"/api-reference/directory-readiness/fetch-a-readiness-runs-full-report"}]},{"group":"Conformance runs","pages":[{"title":"Start a persisted conformance run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/servers/{serverId}/conformance-runs","href":"/api-reference/conformance-runs/start-a-persisted-conformance-run"},{"title":"List persisted conformance runs","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/conformance-runs","href":"/api-reference/conformance-runs/list-persisted-conformance-runs"},{"title":"Get a persisted conformance run","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/conformance-runs/{runId}","href":"/api-reference/conformance-runs/get-a-persisted-conformance-run"},{"title":"Fetch a bounded conformance report projection","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/conformance-runs/{runId}/report","href":"/api-reference/conformance-runs/fetch-a-bounded-conformance-report-projection"},{"title":"Read one check of a conformance run in full","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/conformance-runs/{runId}/checks/{checkId}","href":"/api-reference/conformance-runs/read-one-check-of-a-conformance-run-in-full"},{"title":"Ingest a completed conformance run in one call","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/conformance-ingest/report","href":"/api-reference/conformance-runs/ingest-a-completed-conformance-run-in-one-call"},{"title":"Open a conformance run for incremental ingestion","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/conformance-ingest/runs/start","href":"/api-reference/conformance-runs/open-a-conformance-run-for-incremental-ingestion"},{"title":"Upload one suite report onto a started conformance run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/conformance-ingest/runs/reports","href":"/api-reference/conformance-runs/upload-one-suite-report-onto-a-started-conformance-run"},{"title":"Keep a long-running uploaded conformance run alive","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/conformance-ingest/runs/heartbeat","href":"/api-reference/conformance-runs/keep-a-long-running-uploaded-conformance-run-alive"},{"title":"Finalize an incrementally ingested conformance run","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/conformance-ingest/runs/finalize","href":"/api-reference/conformance-runs/finalize-an-incrementally-ingested-conformance-run"}]},{"group":"Registry","pages":[{"title":"Search the scraped MCP directories","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /registry/directory-servers","href":"/api-reference/registry/search-the-scraped-mcp-directories"},{"title":"Get one directory server","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /registry/directory-servers/{idOrName}","href":"/api-reference/registry/get-one-directory-server"},{"title":"List directory sources","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /registry/directory-sources","href":"/api-reference/registry/list-directory-sources"},{"title":"List curated and org registry cards","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/registry/servers","href":"/api-reference/registry/list-curated-and-org-registry-cards"},{"title":"List registry installs in a project","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /projects/{projectId}/registry/connections","href":"/api-reference/registry/list-registry-installs-in-a-project"},{"title":"Install a directory server into a project","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/registry/directory-installs","href":"/api-reference/registry/install-a-directory-server-into-a-project"},{"title":"Install a curated or org registry card","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /projects/{projectId}/registry/installs","href":"/api-reference/registry/install-a-curated-or-org-registry-card"},{"title":"Uninstall a registry card","deprecated":null,"version":null,"openapi":"/reference/openapi.json delete /projects/{projectId}/registry/installs/{registryServerId}","href":"/api-reference/registry/uninstall-a-registry-card"}]},{"group":"Chat sessions","pages":[{"title":"Send one agent Playground message","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /chat-sessions/messages","href":"/api-reference/chat-sessions/send-one-agent-playground-message"},{"title":"Read a chat session's messages","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /chat-sessions/{sessionId}","href":"/api-reference/chat-sessions/read-a-chat-sessions-messages"},{"title":"Read a chat session's execution trace","deprecated":null,"version":null,"openapi":"/reference/openapi.json get /chat-sessions/{sessionId}/trace","href":"/api-reference/chat-sessions/read-a-chat-sessions-execution-trace"},{"title":"Open the API session browser","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /chat-sessions/{sessionId}/browser/open","href":"/api-reference/chat-sessions/open-the-api-session-browser"},{"title":"Command the API session browser","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /chat-sessions/{sessionId}/browser/command","href":"/api-reference/chat-sessions/command-the-api-session-browser"},{"title":"Add a note to the API session browser","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /chat-sessions/{sessionId}/browser/note","href":"/api-reference/chat-sessions/add-a-note-to-the-api-session-browser"},{"title":"Read the API session browser command trace","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /chat-sessions/{sessionId}/browser/trace","href":"/api-reference/chat-sessions/read-the-api-session-browser-command-trace"},{"title":"Read an API session browser screenshot URL","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /chat-sessions/{sessionId}/browser/artifact","href":"/api-reference/chat-sessions/read-an-api-session-browser-screenshot-url"},{"title":"Close the API session browser","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /chat-sessions/{sessionId}/browser/close","href":"/api-reference/chat-sessions/close-the-api-session-browser"},{"title":"Create an API session shell and open its browser","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /chat-sessions/browser","href":"/api-reference/chat-sessions/create-an-api-session-shell-and-open-its-browser"}]},{"group":"Feedback","pages":[{"title":"Send feedback to the MCPJam team","deprecated":null,"version":null,"openapi":"/reference/openapi.json post /feedback","href":"/api-reference/feedback/send-feedback-to-the-mcpjam-team"}]}]}]}]},"basePath":"","title":"Write a finished authoring job's cases into the suite - MCPJam Inspector","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-D6S0Yh6q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}