Send a graph to receive configuration findings and matching check results without saving it. Pending or running lints produce running_node_check warnings. A lint with no matching run produces the same warning during the first 60 seconds after graph activation, then not_ran_node_check afterward. Start lints with POST /api/v2-beta/pipelines/{pipelineId}/lints.
Enter ApiKey <your-api-key> in Authorization, including the ApiKey prefix. In cURL and Python samples, <api-key> means this full value. The TypeScript SDK adds the prefix for you.
Whether the submitted graph has no validation errors.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Toloka Platform","description":"Label your data, train a model, and build a repeatable workflow on Toloka Platform.","colors":{"primary":"#18181B","light":"#F4F4F5","dark":"#6E56CF"},"logo":{"light":"https://mintcdn.com/toloka-platform/fjh9GDGXaqVVguLv/logo/light.svg?fit=max\u0026auto=format\u0026n=fjh9GDGXaqVVguLv\u0026q=85\u0026s=9416e21160a0887c5e444512177d135c","dark":"https://mintcdn.com/toloka-platform/fjh9GDGXaqVVguLv/logo/dark.svg?fit=max\u0026auto=format\u0026n=fjh9GDGXaqVVguLv\u0026q=85\u0026s=649d79e1ccbcf9daf8320b1c0fd85de2"},"favicon":"https://mintcdn.com/toloka-platform/vXmp7okJgVEfMccw/favicon.svg?fit=max\u0026auto=format\u0026n=vXmp7okJgVEfMccw\u0026q=85\u0026s=821d83f2a395922abca12417944389eb","api":{"playground":{"display":"interactive","proxy":false},"examples":{"defaults":"required","languages":["typescript","bash","python"],"autogenerate":true}},"navbar":{"links":[{"href":"https://toloka.ai/talk-to-us","label":"Talk to us"}],"primary":{"type":"button","label":"Open platform","href":"https://platform.toloka.ai/"}},"footer":{"socials":{"website":"https://toloka.ai"},"links":[{"header":"Platform","items":[{"label":"Open platform","href":"https://platform.toloka.ai/"},{"label":"API reference","href":"/api-reference"}]},{"header":"Company","items":[{"label":"About Toloka","href":"https://toloka.ai/about"},{"label":"Blog","href":"https://toloka.ai/blog"},{"label":"Careers","href":"https://toloka.ai/careers"}]},{"header":"Legal","items":[{"label":"Terms","href":"https://toloka.ai/legal/terms"},{"label":"Privacy notice","href":"https://toloka.ai/legal/privacy-notice"},{"label":"Security","href":"https://toloka.ai/security"}]}]},"fonts":{"family":"Inter"},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"toloka-platform","hasAudioNarration":false,"actualSubdomain":"toloka-platform","customDomains":[],"gitSource":{"type":"github","owner":"toloka-dev","repo":"potato","deployBranch":"main","contentDirectory":"docs/mintlify","isPrivate":true,"mountPath":"","label":"","_id":"6aeaf5259649d32714ca2223"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af1c9e5f9312b54bbd32862","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Reference","count":329},{"language":"default","tag":"TypeScript SDK","count":118},{"language":"default","tag":"CLI","count":112},{"language":"default","tag":"HTTP API","count":104},{"language":"default","tag":"Guides","count":40},{"language":"default","tag":"Datasets","count":34},{"language":"default","tag":"Trainings","count":30},{"language":"default","tag":"Data Labeling","count":25},{"language":"default","tag":"Pipelines","count":20},{"language":"default","tag":"Projects","count":18}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--tlk-ink: #18181b;--tlk-on-ink: #ffffff;--tlk-muted: #52525b;--tlk-line: rgb(24 24 27 / 0.08);--tlk-line-strong: rgb(24 24 27 / 0.16);--tlk-selected: rgb(24 24 27 / 0.04);--tlk-surface: #f5f5f6;--tlk-gradient-hover: linear-gradient(120deg, #f1edfc 0%, #f4f3f7 55%, #eef7ea 100%);--tlk-gradient-icon: linear-gradient(135deg, #d6c9f7 0%, #e0dcf3 50%, #d1ebc4 100%);--tlk-underline: linear-gradient(90deg, #a996ec, #8fca7c);--tlk-hero:\n radial-gradient(60% 90% at 50% 65%, #dbd1f5 0%, rgb(219 209 245 / 0) 70%),\n radial-gradient(45% 80% at 0% 0%, #e1f1d9 0%, rgb(225 241 217 / 0) 70%),\n radial-gradient(45% 80% at 100% 0%, #e1f1d9 0%, rgb(225 241 217 / 0) 70%),\n linear-gradient(180deg, #e9ebee 0%, #f3effb 100%)}.dark{--tlk-ink: #f4f4f5;--tlk-on-ink: #18181b;--tlk-muted: #a1a1aa;--tlk-line: rgb(255 255 255 / 0.08);--tlk-line-strong: rgb(255 255 255 / 0.16);--tlk-selected: rgb(255 255 255 / 0.06);--tlk-surface: #141418;--tlk-gradient-hover: linear-gradient(120deg, #1e1a2b 0%, #18181c 55%, #18211b 100%);--tlk-gradient-icon: linear-gradient(135deg, #3a3060 0%, #2a2836 50%, #26392b 100%);--tlk-hero:\n radial-gradient(60% 90% at 50% 65%, #2b2447 0%, rgb(43 36 71 / 0) 70%),\n radial-gradient(45% 80% at 0% 0%, #1c2a20 0%, rgb(28 42 32 / 0) 70%),\n radial-gradient(45% 80% at 100% 0%, #1c2a20 0%, rgb(28 42 32 / 0) 70%),\n linear-gradient(180deg, #121216 0%, #17141f 100%)}img.nav-logo{height:1.25rem!important;width:auto!important}#topbar-cta-button a span.absolute{background-color:var(--tlk-ink);border-radius:9999px}#topbar-cta-button a{border-radius:9999px}#topbar-cta-button a .text-white,#topbar-cta-button a svg{color:var(--tlk-on-ink)}.navbar-link a{border-radius:9999px}li[data-active-nav-item]>a[aria-current=\"page\"]{background-color:var(--tlk-selected);background-image:linear-gradient(180deg, #b6a3f0, #96cc84);background-position:0.375rem center;background-repeat:no-repeat;background-size:2px 1rem;color:var(--tlk-ink);font-weight:500}.eyebrow{color:var(--tlk-muted)!important}#content-area h1,#content-area h2,#content-area h3{font-weight:500;letter-spacing:-0.015em}#page-title{font-size:2.25rem;line-height:1.15}#content :where(a.link):not(:where(.not-prose,.not-prose *)){border-bottom:0;background-image:var(--tlk-underline);background-position:0 100%;background-repeat:no-repeat;background-size:100% 2px}#content :where(a.link:hover):not(:where(.not-prose,.not-prose *)){background-image:linear-gradient(var(--tlk-ink), var(--tlk-ink))}#content :where(a.link):has(>code:only-child):not(:where(.not-prose,.not-prose *)){background-image:none}#content :where(a.link):has(>code:only-child):not(:where(.not-prose,.not-prose *))>code{transition:background-color 150ms,\n box-shadow 150ms}#content :where(a.link:hover):has(>code:only-child):not(:where(.not-prose,.not-prose *))>code{background-color:var(--tlk-selected);box-shadow:inset 0 0 0 1px var(--tlk-line-strong)}#content img:not([data-component-part]){border:1px solid var(--tlk-line);border-radius:0.75rem}#content .card{background-color:var(--tlk-surface);border-color:transparent;transition:background-color 150ms ease, border-color 150ms ease}#content .card[role=\"link\"]:hover,#content a.card[href]:hover{background-image:var(--tlk-gradient-hover);border-color:var(--tlk-line-strong)!important}#content .card [data-component-part=\"card-icon\"]{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:0.625rem;background-image:var(--tlk-gradient-icon)}#content .card [data-component-part=\"card-icon\"] svg{width:1.125rem;height:1.125rem;background-color:var(--tlk-ink)!important}#content .card [data-component-part=\"card-title\"]{color:var(--tlk-ink);font-weight:500}.tlk-home{max-width:64rem;margin:0 auto;padding:2rem 0 4rem}.tlk-hero{padding:3.5rem 3rem;border-radius:1.5rem;background:var(--tlk-hero)}.tlk-hero-eyebrow{margin:0 0 1.25rem;color:var(--tlk-muted);font-size:0.8125rem;font-weight:500;letter-spacing:0.01em}.tlk-hero-title{margin:0;color:var(--tlk-ink);font-size:clamp(2.5rem, 4.6vw, 3.75rem);font-weight:500;line-height:1.04;letter-spacing:-0.035em}.tlk-hero-lead{max-width:36rem;margin:1.25rem 0 2rem;color:var(--tlk-muted);font-size:1.125rem;line-height:1.6}.tlk-hero-actions{display:flex;flex-wrap:wrap;gap:0.75rem}.tlk-home a.tlk-button{display:inline-flex;align-items:center;gap:0.375rem;height:2.5rem;padding:0 1.25rem;border:1px solid transparent;border-radius:9999px;font-size:0.9375rem;font-weight:500;text-decoration:none;transition:opacity 150ms ease, background-color 150ms ease}.tlk-home a.tlk-button-primary{background-color:var(--tlk-ink);color:var(--tlk-on-ink)}.tlk-home a.tlk-button-primary:hover{opacity:0.85}.tlk-home a.tlk-button-secondary{border-color:var(--tlk-line-strong);background-color:rgb(255 255 255 / 0.55);color:var(--tlk-ink)}.dark .tlk-home a.tlk-button-secondary{background-color:rgb(255 255 255 / 0.04)}.tlk-home a.tlk-button-secondary:hover{background-color:rgb(255 255 255 / 0.85)}.dark .tlk-home a.tlk-button-secondary:hover{background-color:rgb(255 255 255 / 0.1)}.tlk-home a.tlk-button:focus-visible,#content .tlk-reference a:focus-visible{outline:2px solid var(--tlk-ink);outline-offset:3px}.tlk-home .tlk-section-title{margin:3.5rem 0 1rem;color:var(--tlk-ink);font-size:1.5rem;font-weight:500;letter-spacing:-0.02em}.tlk-reference{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:2rem}.tlk-reference-title{margin:0 0 0.25rem;color:var(--tlk-muted);font-size:0.8125rem;font-weight:500}#content .tlk-reference a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem 0;border-bottom:1px solid var(--tlk-line);color:var(--tlk-ink);font-size:0.9375rem;text-decoration:none}#content .tlk-reference a::after{content:\"→\";color:var(--tlk-muted);transition:transform 150ms ease}#content .tlk-reference a[href^=\"http\"]::after{content:\"↗\"}#content .tlk-reference a:hover::after{transform:translateX(3px);color:var(--tlk-ink)}@media (min-width: 1024px){#content-container{padding-left:2.25rem;padding-right:2.25rem}}@media (max-width: 1023px){.tlk-home{padding-inline:1.25rem}}@media (max-width: 767px){.tlk-home{padding-top:1rem;padding-inline:1rem}.tlk-hero{padding:2rem 1.25rem;border-radius:1.25rem}.tlk-hero-title{font-size:2.125rem}.tlk-hero-lead{font-size:1rem}.tlk-home a.tlk-button{padding:0 1rem}.tlk-reference{grid-template-columns:minmax(0, 1fr);gap:1.5rem}}@media (prefers-reduced-motion: reduce){.tlk-home a.tlk-button,#content .tlk-reference a::after,#content .card{transition:none}}div:has(>.method-pill)>[data-component-part=\"scroll-area\"] [data-component-part=\"scroll-area-content\"]{min-width:0!important}div:has(>.method-pill)>[data-component-part=\"scroll-area\"] [data-component-part=\"scroll-area-content\"]>div{flex-wrap:wrap;row-gap:0.125rem}"}],"page":{"pagePath":"api-reference/pipeline-graph/validate-pipeline-graph","slug":"/api-reference/pipeline-graph/validate-pipeline-graph","pageMetadata":{"title":"Validate a pipeline graph","description":"Send a graph to receive configuration findings and matching check results without saving it. Pending or running lints produce `running_node_check` warnings. A lint with no matching run produces the same warning during the first 60 seconds after graph activation, then `not_ran_node_check` afterward. Start lints with `POST /api/v2-beta/pipelines/{pipelineId}/lints`.","deprecated":null,"version":null,"sidebarTitle":"Validate pipeline graph","openapi":"/api-reference/openapi.json post /pipelines/{pipelineId}/graph/validate","href":"/api-reference/pipeline-graph/validate-pipeline-graph","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Send a graph to receive configuration findings and matching check results without saving it. Pending or running lints produce \", _jsx(_components.code, {\n children: \"running_node_check\"\n }), \" warnings. A lint with no matching run produces the same warning during the first 60 seconds after graph activation, then \", _jsx(_components.code, {\n children: \"not_ran_node_check\"\n }), \" afterward. Start lints with \", _jsx(_components.code, {\n children: \"POST /api/v2-beta/pipelines/{pipelineId}/lints\"\n }), \".\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Validate a pipeline graph","description":"Send a graph to receive configuration findings and matching check results without saving it. Pending or running lints produce `running_node_check` warnings. A lint with no matching run produces the same warning during the first 60 seconds after graph activation, then `not_ran_node_check` afterward. Start lints with `POST /api/v2-beta/pipelines/{pipelineId}/lints`.","deprecated":null,"version":null,"sidebarTitle":"Validate pipeline graph","openapi":"/api-reference/openapi.json post /pipelines/{pipelineId}/graph/validate","href":"/api-reference/pipeline-graph/validate-pipeline-graph","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/toloka-platform/de8aa1b19d1c608c/platform-links.js"],"openApiReferenceData":{"operation":{"description":"Send a graph to receive configuration findings and matching check results without saving it. Pending or running lints produce `running_node_check` warnings. A lint with no matching run produces the same warning during the first 60 seconds after graph activation, then `not_ran_node_check` afterward. Start lints with `POST /api/v2-beta/pipelines/{pipelineId}/lints`.","operationId":"validatePipelineGraph","parameters":["b38322de-37ff-4ca1-9a12-edd5713a10d6"],"requestBody":"2715f0f5-f6ac-4517-b5a7-3c68d746770b","responses":{"200":"49b597b2-2a38-4983-82e6-6181e2e7157d","400":"61f22898-03a5-4bd6-8428-4f01f5508892","404":"473ff0a4-9181-4a96-85ca-20346ce52293","429":"58addd6a-3b97-4e8d-8c95-cbadd33a9ce5"},"summary":"Validate a pipeline graph","tags":["Pipeline graph"],"x-codeSamples":[{"label":"TypeScript SDK","lang":"typescript","source":"import assert from \"node:assert/strict\";\nimport { createClient } from \"@toloka-platform/sdk\";\n\nconst client = createClient({\n baseUrl: \"https://platform.toloka.ai\",\n apiKey: process.env.TOLOKA_API_KEY!,\n});\n\nconst snapshot = await client.pipelines.getGraph({ pipelineId: \"pl.019a0000-0000-7000-8000-000000000001\" });\nconst graph = structuredClone(snapshot.graph);\nconst root = graph.nodes.find((node) => node.type === \"root\");\nassert(root, \"The pipeline has no Start node.\");\nroot.settings.itemLimit = 100;\n\nconst validation = await client.pipelines.validateGraph({\n pipelineId: \"pl.019a0000-0000-7000-8000-000000000001\",\n graph: graph\n});\nconsole.log(validation);\n"}],"x-mint":{"href":"/api-reference/pipeline-graph/validate-pipeline-graph"},"method":"post","type":"path","servers":["be43ad82-416d-49c5-9f57-d6094305744c"],"security":["6a488a3e-579a-4098-8375-fa2d9d194ac2","37e6192b-0abe-4b60-b9c9-736b6acfb640"],"path":"/pipelines/{pipelineId}/graph/validate","baseUrlOptions":["https://platform.toloka.ai/api/v2-beta"],"title":"Validate a pipeline graph","codeSamples":[{"label":"TypeScript SDK","lang":"typescript","source":"import assert from \"node:assert/strict\";\nimport { createClient } from \"@toloka-platform/sdk\";\n\nconst client = createClient({\n baseUrl: \"https://platform.toloka.ai\",\n apiKey: process.env.TOLOKA_API_KEY!,\n});\n\nconst snapshot = await client.pipelines.getGraph({ pipelineId: \"pl.019a0000-0000-7000-8000-000000000001\" });\nconst graph = structuredClone(snapshot.graph);\nconst root = graph.nodes.find((node) => node.type === \"root\");\nassert(root, \"The pipeline has no Start node.\");\nroot.settings.itemLimit = 100;\n\nconst validation = await client.pipelines.validateGraph({\n pipelineId: \"pl.019a0000-0000-7000-8000-000000000001\",\n graph: graph\n});\nconsole.log(validation);\n"}],"requestExampleLanguages":["typescript","bash","python"],"requiredOnlyExamples":true,"requestExampleType":"codeSamples","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{"b38322de-37ff-4ca1-9a12-edd5713a10d6":{"in":"path","name":"pipelineId","required":true,"schema":{"description":"Pipeline ID with prefix `pl.`.","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"properties":{"graph":{"additionalProperties":false,"properties":{"connections":{"description":"Directed connections between node handles.","items":{"additionalProperties":false,"description":"One directed connection.","properties":{"from":{"additionalProperties":false,"description":"Node and handle at one end of a connection.","properties":{"handle":{"description":"Input or output handle identifier on that node.","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string","isRequired":true,"uniqueKey":"graph.connections.items.[INDEX].from.handle","typeLabel":"string"},"node":{"description":"Node identifier from `graph.nodes`.","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string","isRequired":true,"uniqueKey":"graph.connections.items.[INDEX].from.node","typeLabel":"string"}},"required":["node","handle"],"type":"object","isRequired":true,"uniqueKey":"graph.connections.items.[INDEX].from","typeLabel":"object"},"settings":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"graph.connections.items.[INDEX].settings.additionalProperties","typeLabel":"any"},"description":"Connection settings; use an empty object for a normal connection.","properties":{},"type":"object","isRequired":true,"uniqueKey":"graph.connections.items.[INDEX].settings","typeLabel":"object"},"to":{"additionalProperties":false,"description":"Node and handle at one end of a connection.","properties":{"handle":{"description":"Input or output handle identifier on that node.","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string","isRequired":true,"uniqueKey":"graph.connections.items.[INDEX].to.handle","typeLabel":"string"},"node":{"description":"Node identifier from `graph.nodes`.","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string","isRequired":true,"uniqueKey":"graph.connections.items.[INDEX].to.node","typeLabel":"string"}},"required":["node","handle"],"type":"object","isRequired":true,"uniqueKey":"graph.connections.items.[INDEX].to","typeLabel":"object"}},"required":["from","to","settings"],"type":"object","uniqueKey":"graph.connections.items.[INDEX]","typeLabel":"object"},"maxItems":2000,"type":"array","isRequired":true,"uniqueKey":"graph.connections","typeLabel":"object[]"},"fields":{"description":"Fields used by the pipeline, with names and JSON Schemas.","items":{"additionalProperties":false,"description":"One pipeline field.","properties":{"id":{"description":"Caller-defined field identifier, unique within the graph.","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string","isRequired":true,"uniqueKey":"graph.fields.items.[INDEX].id","typeLabel":"string"},"jsonSchema":{"additionalProperties":false,"description":"JSON Schema defining the accepted values for a field.","properties":{"additionalProperties":{"oneOf":[{"type":"boolean","description":"Whether extra object properties are allowed, or the schema they must satisfy; omitted means allowed.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.\\additionalProperties.oneOf.0","typeLabel":"boolean"},{"description":"Whether extra object properties are allowed, or the schema they must satisfy; omitted means allowed.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.\\additionalProperties.oneOf.1","typeLabel":"any"}],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.\\additionalProperties","typeLabel":"boolean | any"},"allOf":{"description":"Combined schemas; a value must satisfy every schema when supplied.","items":{"$circularRef":"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d","description":"JSON Schema defining the accepted values for a field.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.allOf.items.[INDEX]","typeLabel":"any"},"minItems":1,"type":"array","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.allOf","typeLabel":"any[]"},"anyOf":{"description":"Alternative schemas; a value must satisfy at least one when supplied.","items":{"$circularRef":"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d","description":"JSON Schema defining the accepted values for a field.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.anyOf.items.[INDEX]","typeLabel":"any"},"minItems":1,"type":"array","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.anyOf","typeLabel":"any[]"},"const":{"oneOf":[{"type":"string","description":"Single required JSON value; omit when no exact value is required.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.const.oneOf.0","typeLabel":"string"},{"type":"number","description":"Single required JSON value; omit when no exact value is required.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.const.oneOf.1","typeLabel":"number"},{"type":"boolean","description":"Single required JSON value; omit when no exact value is required.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.const.oneOf.2","typeLabel":"boolean"},{"type":"null","description":"Single required JSON value; omit when no exact value is required.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.const.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.const.oneOf.4.items.[INDEX]","typeLabel":"any"},"description":"Single required JSON value; omit when no exact value is required.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.const.oneOf.4","typeLabel":"any[]"},{"type":"object","description":"Single required JSON value; omit when no exact value is required.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.const.oneOf.5","typeLabel":"object"}],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.const","typeLabel":"string | number | boolean | null | any[] | object"},"default":{"oneOf":[{"type":"string","description":"Suggested default JSON value; omit when none is specified.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.default.oneOf.0","typeLabel":"string"},{"type":"number","description":"Suggested default JSON value; omit when none is specified.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.default.oneOf.1","typeLabel":"number"},{"type":"boolean","description":"Suggested default JSON value; omit when none is specified.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.default.oneOf.2","typeLabel":"boolean"},{"type":"null","description":"Suggested default JSON value; omit when none is specified.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.default.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.default.oneOf.4.items.[INDEX]","typeLabel":"any"},"description":"Suggested default JSON value; omit when none is specified.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.default.oneOf.4","typeLabel":"any[]"},{"type":"object","description":"Suggested default JSON value; omit when none is specified.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.default.oneOf.5","typeLabel":"object"}],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.default","typeLabel":"string | number | boolean | null | any[] | object"},"description":{"description":"Optional explanation of the values accepted by this schema.","type":"string","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.description","typeLabel":"string"},"enum":{"description":"Allowed JSON values; omit to allow any value satisfying the other constraints.","items":{"oneOf":[{"type":"string","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.enum.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.enum.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.enum.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.enum.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.enum.items.[INDEX].oneOf.4.items.[INDEX]","typeLabel":"any"},"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.enum.items.[INDEX].oneOf.4","typeLabel":"any[]"},{"type":"object","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.enum.items.[INDEX].oneOf.5","typeLabel":"object"}],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.enum.items.[INDEX]","typeLabel":"string | number | boolean | null | any[] | object"},"minItems":1,"type":"array","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.enum","typeLabel":"(string | number | boolean | null | any[] | object)[]"},"examples":{"description":"Example JSON values for this schema; omit when none are supplied.","items":{"oneOf":[{"type":"string","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.examples.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.examples.items.[INDEX].oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.examples.items.[INDEX].oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.examples.items.[INDEX].oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.examples.items.[INDEX].oneOf.4.items.[INDEX]","typeLabel":"any"},"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.examples.items.[INDEX].oneOf.4","typeLabel":"any[]"},{"type":"object","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.examples.items.[INDEX].oneOf.5","typeLabel":"object"}],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.examples.items.[INDEX]","typeLabel":"string | number | boolean | null | any[] | object"},"type":"array","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.examples","typeLabel":"(string | number | boolean | null | any[] | object)[]"},"exclusiveMaximum":{"description":"Exclusive upper bound for a number; omit when none is required.","type":"number","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.exclusiveMaximum","typeLabel":"number"},"exclusiveMinimum":{"description":"Exclusive lower bound for a number; omit when none is required.","type":"number","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.exclusiveMinimum","typeLabel":"number"},"format":{"description":"String format, such as `date-time`, `email`, or `uri`; omit when no format is required.","type":"string","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.format","typeLabel":"string"},"items":{"$circularRef":"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d","description":"Schema that every array item must satisfy; omit to leave items unrestricted.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.\\items","typeLabel":"any"},"maxItems":{"description":"Maximum number of array items; omit for no upper bound.","maximum":9007199254740991,"minimum":0,"type":"integer","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.maxItems","typeLabel":"integer"},"maxLength":{"description":"Maximum string length in Unicode characters; omit for no upper bound.","maximum":9007199254740991,"minimum":0,"type":"integer","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.maxLength","typeLabel":"integer"},"maximum":{"description":"Inclusive upper bound for a number; omit for no upper bound.","type":"number","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.maximum","typeLabel":"number"},"minItems":{"description":"Minimum number of array items; omit for no lower bound.","maximum":9007199254740991,"minimum":0,"type":"integer","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.minItems","typeLabel":"integer"},"minLength":{"description":"Minimum string length in Unicode characters; omit for no lower bound.","maximum":9007199254740991,"minimum":0,"type":"integer","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.minLength","typeLabel":"integer"},"minimum":{"description":"Inclusive lower bound for a number; omit for no lower bound.","type":"number","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.minimum","typeLabel":"number"},"oneOf":{"description":"Alternative schemas; a value must satisfy exactly one when supplied.","items":{"$circularRef":"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d","description":"JSON Schema defining the accepted values for a field.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.\\oneOf.items.[INDEX]","typeLabel":"any"},"minItems":1,"type":"array","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.\\oneOf","typeLabel":"any[]"},"pattern":{"description":"Regular expression a string must match; omit for no pattern constraint.","type":"string","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.pattern","typeLabel":"string"},"properties":{"additionalProperties":{"$circularRef":"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d"},"propertyNames":{"type":"string"},"type":"object","description":"Schemas for named object properties; omit when none are specified.","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.properties","typeLabel":"object"},"required":{"description":"Object property names that must be present; omit when none are required.","items":{"type":"string","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.required.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.required","typeLabel":"string[]"},"title":{"description":"Optional display title for this schema.","type":"string","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.title","typeLabel":"string"},"type":{"oneOf":[{"type":"string","description":"Accepted JSON type or types; omit to allow any type.","enum":["string","number","integer","boolean","object","array","null"],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"array","items":{"enum":["string","number","integer","boolean","object","array","null"],"type":"string","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.type.oneOf.1.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Accepted JSON type or types; omit to allow any type.","minItems":1,"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.type.oneOf.1","typeLabel":"enum\u003cstring>[]"}],"uniqueKey":"graph.fields.items.[INDEX].jsonSchema.type","typeLabel":"enum\u003cstring> | enum\u003cstring>[]"},"uniqueItems":{"description":"Whether array items must be unique; omitted means duplicates are allowed.","type":"boolean","uniqueKey":"graph.fields.items.[INDEX].jsonSchema.uniqueItems","typeLabel":"boolean"}},"type":"object","isRequired":true,"uniqueKey":"graph.fields.items.[INDEX].jsonSchema","typeLabel":"object"},"name":{"description":"Dataset field name bound to this pipeline field.","type":"string","isRequired":true,"uniqueKey":"graph.fields.items.[INDEX].name","typeLabel":"string"}},"required":["id","name","jsonSchema"],"type":"object","uniqueKey":"graph.fields.items.[INDEX]","typeLabel":"object"},"maxItems":500,"type":"array","isRequired":true,"uniqueKey":"graph.fields","typeLabel":"object[]"},"nodes":{"description":"Nodes that make up the pipeline.","items":{"oneOf":[{"type":"object","description":"One pipeline node.","required":["id","type","settings"],"properties":{"id":{"description":"Caller-defined node identifier, unique within the graph.","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.id","typeLabel":"string"},"settings":{"additionalProperties":false,"description":"Configuration for this node type.","properties":{"completedFieldProxies":{"description":"Fields collected by the End node.","properties":{"input":{"description":"Fields written at the pipeline output.","items":{"additionalProperties":false,"description":"Field binding.","properties":{"id":{"description":"Field identifier from `graph.fields`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.completedFieldProxies.input.items.[INDEX].id","typeLabel":"string"},"optional":{"description":"Whether this field may be absent when the node executes.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.completedFieldProxies.input.items.[INDEX].optional","typeLabel":"boolean"}},"required":["id","optional"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.completedFieldProxies.input.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.completedFieldProxies.input","typeLabel":"object[]"}},"required":["input"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.completedFieldProxies","typeLabel":"object"},"startedFieldProxies":{"description":"Fields supplied by the Start node.","properties":{"output":{"description":"Dataset fields read at the pipeline input.","items":{"additionalProperties":false,"description":"Field binding.","properties":{"id":{"description":"Field identifier from `graph.fields`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.startedFieldProxies.output.items.[INDEX].id","typeLabel":"string"},"optional":{"description":"Whether this field may be absent when the node executes.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.startedFieldProxies.output.items.[INDEX].optional","typeLabel":"boolean"}},"required":["id","optional"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.startedFieldProxies.output.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.startedFieldProxies.output","typeLabel":"object[]"}},"required":["output"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.startedFieldProxies","typeLabel":"object"},"datasetId":{"description":"Attached dataset ID with prefix `ds.`; absent before a dataset is attached.","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.datasetId","typeLabel":"string"},"itemFilter":{"additionalProperties":false,"description":"Conditions selecting dataset rows; omitted conditions do not restrict the selection.","properties":{"createdBefore":{"description":"Cutoff for dataset items and field revisions, as an ISO 8601 timestamp; omit to use the endpoint's cutoff.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.createdBefore","typeLabel":"string\u003cdate-time>"},"excludeParts":{"description":"Split-part selections to exclude; omit when no parts should be excluded.","items":{"additionalProperties":false,"description":"Split field and selected part names.","properties":{"fieldId":{"description":"Split field ID with prefix `df.`.","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.excludeParts.items.[INDEX].fieldId","typeLabel":"string"},"names":{"description":"Names of the split parts to select.","items":{"maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.excludeParts.items.[INDEX].names.items.[INDEX]","typeLabel":"string"},"maxItems":10,"minItems":1,"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.excludeParts.items.[INDEX].names","typeLabel":"string[]"}},"required":["fieldId","names"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.excludeParts.items.[INDEX]","typeLabel":"object"},"maxItems":500,"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.excludeParts","typeLabel":"object[]"},"fieldSources":{"description":"Field-author conditions that selected rows must satisfy; defaults to no conditions.","items":{"additionalProperties":false,"description":"Required authors for a field.","properties":{"fieldId":{"description":"Dataset field ID with prefix `df.`.","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources.items.[INDEX].fieldId","typeLabel":"string"},"sources":{"description":"Revision authors to match for this field.","items":{"oneOf":[{"type":"object","description":"Source that wrote a field revision.","required":["type","userId"],"properties":{"type":{"const":"user","description":"Revision author: `user` for a user action or `system` for a platform operation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources.items.[INDEX].sources.items.[INDEX].oneOf.0.type","typeLabel":"string"},"userId":{"description":"Identifier of the user who wrote the revision.","minLength":1,"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources.items.[INDEX].sources.items.[INDEX].oneOf.0.userId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources.items.[INDEX].sources.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Source that wrote a field revision.","required":["type","source"],"properties":{"source":{"description":"Identifier of the platform operation that wrote the revision.","minLength":1,"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources.items.[INDEX].sources.items.[INDEX].oneOf.1.source","typeLabel":"string"},"type":{"const":"system","description":"Revision author: `user` for a user action or `system` for a platform operation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources.items.[INDEX].sources.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources.items.[INDEX].sources.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources.items.[INDEX].sources.items.[INDEX]","typeLabel":"object"},"minItems":1,"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources.items.[INDEX].sources","typeLabel":"object[]"}},"required":["fieldId","sources"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldSources","typeLabel":"object[]"},"fieldValues":{"description":"Field-value conditions that selected rows must satisfy; defaults to no conditions.","items":{"additionalProperties":false,"description":"Condition applied to a field value.","properties":{"fieldId":{"description":"Dataset field ID with prefix `df.` to compare.","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].fieldId","typeLabel":"string"},"jsonPath":{"description":"JSONPath locating the value within the field.","minLength":1,"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].jsonPath","typeLabel":"string"},"operator":{"description":"Text comparison: `text_eq` for equality or `text_neq` for inequality.","enum":["text_eq","text_neq"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"description":"Scalar value compared as text; null is treated as an empty string.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"description":"Scalar value compared as text; null is treated as an empty string.","type":"number","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].value.oneOf.1","typeLabel":"number"},{"description":"Scalar value compared as text; null is treated as an empty string.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].value.oneOf.2","typeLabel":"boolean"},{"description":"Scalar value compared as text; null is treated as an empty string.","type":"null","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].value.oneOf.3","typeLabel":"null"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].value","typeLabel":"string | number | boolean | null"},"latestOnly":{"default":true,"description":"Whether to test only the latest revision from the allowed authors; false tests any revision, and the default is true.","type":"boolean","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].latestOnly","typeLabel":"boolean"},"sources":{"default":[],"description":"Allowed revision authors; an empty array allows any author.","items":{"oneOf":[{"type":"object","description":"Source that wrote a field revision.","required":["type","userId"],"properties":{"type":{"const":"user","description":"Revision author: `user` for a user action or `system` for a platform operation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].sources.items.[INDEX].oneOf.0.type","typeLabel":"string"},"userId":{"description":"Identifier of the user who wrote the revision.","minLength":1,"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].sources.items.[INDEX].oneOf.0.userId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].sources.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Source that wrote a field revision.","required":["type","source"],"properties":{"source":{"description":"Identifier of the platform operation that wrote the revision.","minLength":1,"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].sources.items.[INDEX].oneOf.1.source","typeLabel":"string"},"type":{"const":"system","description":"Revision author: `user` for a user action or `system` for a platform operation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].sources.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].sources.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].sources.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX].sources","typeLabel":"object[]"}},"required":["jsonPath","operator","value","fieldId"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.fieldValues","typeLabel":"object[]"},"missingRevisionFields":{"description":"Field IDs with prefix `df.` that must have no revision on a selected row; defaults to an empty array.","items":{"pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.missingRevisionFields.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.missingRevisionFields","typeLabel":"string[]"},"parts":{"additionalProperties":false,"description":"Split parts to include; omit to include every part.","properties":{"fieldId":{"description":"Split field ID with prefix `df.`.","pattern":"^df\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.parts.fieldId","typeLabel":"string"},"names":{"description":"Names of the split parts to select.","items":{"maxLength":64,"pattern":"^[A-Za-z0-9_]+(?:[.-][A-Za-z0-9_]+)*$","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.parts.names.items.[INDEX]","typeLabel":"string"},"maxItems":10,"minItems":1,"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.parts.names","typeLabel":"string[]"}},"required":["fieldId","names"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.parts","typeLabel":"object"},"slice":{"additionalProperties":false,"description":"Slice whose frozen rows and fields to read; omit to use live dataset rows.","properties":{"sliceId":{"description":"Dataset slice ID with prefix `dsl.`.","pattern":"^dsl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.slice.sliceId","typeLabel":"string"}},"required":["sliceId"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter.slice","typeLabel":"object"}},"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemFilter","typeLabel":"object"},"itemLimit":{"description":"Maximum number of matching items to process; omit to process every matching item.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer","uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings.itemLimit","typeLabel":"integer"}},"required":["startedFieldProxies","completedFieldProxies"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.settings","typeLabel":"object"},"type":{"const":"root","description":"Node type: `root` supplies Start and End, `code` runs Python, `generation` creates answers, `match` routes items, and `quorum` combines expert answers.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"One pipeline node.","required":["id","type","settings"],"properties":{"id":{"description":"Caller-defined node identifier, unique within the graph.","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.id","typeLabel":"string"},"settings":{"additionalProperties":false,"description":"Configuration for this node type.","properties":{"about":{"additionalProperties":false,"description":"Node name and task context.","properties":{"name":{"description":"Display name of the node.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.about.name","typeLabel":"string"},"description":{"description":"Optional explanation of the node's purpose.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.about.description","typeLabel":"string"},"projectType":{"description":"Task type: `general` for labeling existing data or `data_collection` for collecting new data; absent when unspecified.","enum":["general","data_collection"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.about.projectType","typeLabel":"enum\u003cstring>"}},"required":["name"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.about","typeLabel":"object"},"code":{"additionalProperties":false,"description":"Code executed by this node.","properties":{"code":{"description":"Python source code for the node.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.code.code","typeLabel":"string"}},"required":["code"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.code","typeLabel":"object"},"fieldProxies":{"description":"Input and output field bindings for the node.","properties":{"input":{"description":"Fields available to this node as input.","items":{"additionalProperties":false,"description":"Field binding.","properties":{"id":{"description":"Field identifier from `graph.fields`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.fieldProxies.input.items.[INDEX].id","typeLabel":"string"},"optional":{"description":"Whether this field may be absent when the node executes.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.fieldProxies.input.items.[INDEX].optional","typeLabel":"boolean"}},"required":["id","optional"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.fieldProxies.input.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.fieldProxies.input","typeLabel":"object[]"},"output":{"description":"Fields this node produces.","items":{"additionalProperties":false,"description":"Field binding.","properties":{"id":{"description":"Field identifier from `graph.fields`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.fieldProxies.output.items.[INDEX].id","typeLabel":"string"},"optional":{"description":"Whether this field may be absent when the node executes.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.fieldProxies.output.items.[INDEX].optional","typeLabel":"boolean"}},"required":["id","optional"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.fieldProxies.output.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.fieldProxies.output","typeLabel":"object[]"}},"required":["input","output"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.fieldProxies","typeLabel":"object"},"checks":{"additionalProperties":{"description":"Test cases for this check type.","items":{"description":"One configured check case.","properties":{"id":{"description":"Identifier of the check case.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.checks.additionalProperties.items.[INDEX].id","typeLabel":"string"},"input":{"oneOf":[{"type":"string","description":"Check input as JSON text, or JSON values encoded as strings and keyed by field ID.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.checks.additionalProperties.items.[INDEX].input.oneOf.0","typeLabel":"string"},{"type":"object","description":"Check input as JSON text, or JSON values encoded as strings and keyed by field ID.","additionalProperties":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.checks.additionalProperties.items.[INDEX].input.oneOf.1.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.checks.additionalProperties.items.[INDEX].input.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.checks.additionalProperties.items.[INDEX].input","typeLabel":"string | object"},"name":{"description":"Display name of the check case.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.checks.additionalProperties.items.[INDEX].name","typeLabel":"string"}},"required":["id","name","input"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.checks.additionalProperties.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.checks.additionalProperties","typeLabel":"object[]"},"description":"Configured test inputs grouped by check type; absent when no tests are configured.","propertyNames":{"enum":["code"],"type":"string"},"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.checks","typeLabel":"object"},"envVars":{"default":[],"description":"Environment variables available to the node code; defaults to an empty array.","items":{"oneOf":[{"type":"object","description":"One environment variable for node code.","required":["type","name","value"],"properties":{"name":{"description":"Environment variable name available to the node code.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.envVars.items.[INDEX].oneOf.0.name","typeLabel":"string"},"type":{"const":"static","description":"Value source: `static` uses the supplied value; `secret` reads a named project secret.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.envVars.items.[INDEX].oneOf.0.type","typeLabel":"string"},"value":{"description":"Literal value for a static environment variable.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.envVars.items.[INDEX].oneOf.0.value","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.envVars.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"One environment variable for node code.","required":["type","name","secretName"],"properties":{"name":{"description":"Environment variable name available to the node code.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.envVars.items.[INDEX].oneOf.1.name","typeLabel":"string"},"secretName":{"description":"Name of the project secret supplying this environment variable.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.envVars.items.[INDEX].oneOf.1.secretName","typeLabel":"string"},"type":{"const":"secret","description":"Value source: `static` uses the supplied value; `secret` reads a named project secret.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.envVars.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.envVars.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.envVars.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings.envVars","typeLabel":"object[]"}},"required":["about","fieldProxies","code"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.settings","typeLabel":"object"},"type":{"const":"code","description":"Node type: `root` supplies Start and End, `code` runs Python, `generation` creates answers, `match` routes items, and `quorum` combines expert answers.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"One pipeline node.","required":["id","type","settings"],"properties":{"id":{"description":"Caller-defined node identifier, unique within the graph.","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.id","typeLabel":"string"},"settings":{"additionalProperties":false,"description":"Configuration for this node type.","properties":{"about":{"additionalProperties":false,"description":"Node name and task context.","properties":{"name":{"description":"Display name of the node.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.about.name","typeLabel":"string"},"description":{"description":"Optional explanation of the node's purpose.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.about.description","typeLabel":"string"},"projectType":{"description":"Task type: `general` for labeling existing data or `data_collection` for collecting new data; absent when unspecified.","enum":["general","data_collection"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.about.projectType","typeLabel":"enum\u003cstring>"}},"required":["name"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.about","typeLabel":"object"},"entities":{"additionalProperties":false,"description":"Task input and output entities.","properties":{"input":{"description":"Entities supplied as task input.","items":{"oneOf":[{"type":"object","description":"Task entity bound to a pipeline field.","required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"properties":{"description":{"description":"Explanation of the entity and how it is used in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.description","typeLabel":"string"},"dynamic":{"const":false,"description":"Whether one item can contain multiple instances of this entity.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.dynamic","typeLabel":"boolean"},"entityType":{"description":"Semantic entity type, such as `PROMPT`, `RESPONSE`, `SINGLE_LABEL`, or `VIDEO`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.entityType","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the field containing this entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.fieldProxyId","typeLabel":"string"},"jsonPath":{"description":"JSONPath locating entity values within the field.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.jsonPath","typeLabel":"string"},"optional":{"description":"Whether the entity value may be omitted.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.optional","typeLabel":"boolean"},"allowedLabels":{"description":"Allowed classification labels; absent for entities without a fixed label set.","items":{"additionalProperties":false,"description":"One allowed classification label.","properties":{"label":{"description":"Label displayed to the expert.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX].label","typeLabel":"string"},"value":{"description":"Value stored for this label in the annotation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX].value","typeLabel":"string"}},"required":["label","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.allowedLabels","typeLabel":"object[]"},"maxDurationSeconds":{"description":"Maximum expected media duration in seconds; absent when not applicable.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.maxDurationSeconds","typeLabel":"number"},"maxEntities":{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"null","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.maxEntities","typeLabel":"null"},"minDurationSeconds":{"description":"Minimum expected media duration in seconds; absent when no minimum is set.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.minDurationSeconds","typeLabel":"number"},"relations":{"description":"Relations to other entities; omit when the entity has no relations.","items":{"oneOf":[{"type":"object","description":"Relation to another entity.","required":["id","rel_type"],"properties":{"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"rel_type":{"description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","enum":["context","references","depends_on","evaluates"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0.rel_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Relation to another entity.","required":["id","rel_type","condition"],"properties":{"condition":{"description":"Condition controlling whether the related entity applies.","properties":{"operator":{"description":"Comparison: `EQ` or `NEQ` for equality, `IN` or `NOT_IN` for list membership, or `NOT_EMPTY` for a nonempty value.","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value","typeLabel":"string | string[]"}},"required":["operator","value"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition","typeLabel":"object"},"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"rel_type":{"const":"conditional","description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.rel_type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0.relations","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Task entity bound to a pipeline field.","required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"properties":{"description":{"description":"Explanation of the entity and how it is used in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.description","typeLabel":"string"},"dynamic":{"const":true,"description":"Whether one item can contain multiple instances of this entity.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.dynamic","typeLabel":"boolean"},"entityType":{"description":"Semantic entity type, such as `PROMPT`, `RESPONSE`, `SINGLE_LABEL`, or `VIDEO`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.entityType","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the field containing this entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.fieldProxyId","typeLabel":"string"},"jsonPath":{"description":"JSONPath locating entity values within the field.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.jsonPath","typeLabel":"string"},"optional":{"description":"Whether the entity value may be omitted.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.optional","typeLabel":"boolean"},"allowedLabels":{"description":"Allowed classification labels; absent for entities without a fixed label set.","items":{"additionalProperties":false,"description":"One allowed classification label.","properties":{"label":{"description":"Label displayed to the expert.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX].label","typeLabel":"string"},"value":{"description":"Value stored for this label in the annotation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX].value","typeLabel":"string"}},"required":["label","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.allowedLabels","typeLabel":"object[]"},"maxDurationSeconds":{"description":"Maximum expected media duration in seconds; absent when not applicable.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.maxDurationSeconds","typeLabel":"number"},"maxEntities":{"oneOf":[{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.maxEntities.oneOf.0","typeLabel":"number"},{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"null","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.maxEntities.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.maxEntities","typeLabel":"number | null"},"minDurationSeconds":{"description":"Minimum expected media duration in seconds; absent when no minimum is set.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.minDurationSeconds","typeLabel":"number"},"relations":{"description":"Relations to other entities; omit when the entity has no relations.","items":{"oneOf":[{"type":"object","description":"Relation to another entity.","required":["id","rel_type"],"properties":{"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"rel_type":{"description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","enum":["context","references","depends_on","evaluates"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0.rel_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Relation to another entity.","required":["id","rel_type","condition"],"properties":{"condition":{"description":"Condition controlling whether the related entity applies.","properties":{"operator":{"description":"Comparison: `EQ` or `NEQ` for equality, `IN` or `NOT_IN` for list membership, or `NOT_EMPTY` for a nonempty value.","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value","typeLabel":"string | string[]"}},"required":["operator","value"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition","typeLabel":"object"},"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"rel_type":{"const":"conditional","description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.rel_type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1.relations","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.input","typeLabel":"object[]"},"output":{"description":"Entities the expert or model must produce.","items":{"oneOf":[{"type":"object","description":"Task entity bound to a pipeline field.","required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"properties":{"description":{"description":"Explanation of the entity and how it is used in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.description","typeLabel":"string"},"dynamic":{"const":false,"description":"Whether one item can contain multiple instances of this entity.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.dynamic","typeLabel":"boolean"},"entityType":{"description":"Semantic entity type, such as `PROMPT`, `RESPONSE`, `SINGLE_LABEL`, or `VIDEO`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.entityType","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the field containing this entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.fieldProxyId","typeLabel":"string"},"jsonPath":{"description":"JSONPath locating entity values within the field.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.jsonPath","typeLabel":"string"},"optional":{"description":"Whether the entity value may be omitted.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.optional","typeLabel":"boolean"},"allowedLabels":{"description":"Allowed classification labels; absent for entities without a fixed label set.","items":{"additionalProperties":false,"description":"One allowed classification label.","properties":{"label":{"description":"Label displayed to the expert.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX].label","typeLabel":"string"},"value":{"description":"Value stored for this label in the annotation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX].value","typeLabel":"string"}},"required":["label","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.allowedLabels","typeLabel":"object[]"},"maxDurationSeconds":{"description":"Maximum expected media duration in seconds; absent when not applicable.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.maxDurationSeconds","typeLabel":"number"},"maxEntities":{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"null","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.maxEntities","typeLabel":"null"},"minDurationSeconds":{"description":"Minimum expected media duration in seconds; absent when no minimum is set.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.minDurationSeconds","typeLabel":"number"},"relations":{"description":"Relations to other entities; omit when the entity has no relations.","items":{"oneOf":[{"type":"object","description":"Relation to another entity.","required":["id","rel_type"],"properties":{"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"rel_type":{"description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","enum":["context","references","depends_on","evaluates"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0.rel_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Relation to another entity.","required":["id","rel_type","condition"],"properties":{"condition":{"description":"Condition controlling whether the related entity applies.","properties":{"operator":{"description":"Comparison: `EQ` or `NEQ` for equality, `IN` or `NOT_IN` for list membership, or `NOT_EMPTY` for a nonempty value.","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value","typeLabel":"string | string[]"}},"required":["operator","value"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition","typeLabel":"object"},"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"rel_type":{"const":"conditional","description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.rel_type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0.relations","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Task entity bound to a pipeline field.","required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"properties":{"description":{"description":"Explanation of the entity and how it is used in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.description","typeLabel":"string"},"dynamic":{"const":true,"description":"Whether one item can contain multiple instances of this entity.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.dynamic","typeLabel":"boolean"},"entityType":{"description":"Semantic entity type, such as `PROMPT`, `RESPONSE`, `SINGLE_LABEL`, or `VIDEO`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.entityType","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the field containing this entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.fieldProxyId","typeLabel":"string"},"jsonPath":{"description":"JSONPath locating entity values within the field.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.jsonPath","typeLabel":"string"},"optional":{"description":"Whether the entity value may be omitted.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.optional","typeLabel":"boolean"},"allowedLabels":{"description":"Allowed classification labels; absent for entities without a fixed label set.","items":{"additionalProperties":false,"description":"One allowed classification label.","properties":{"label":{"description":"Label displayed to the expert.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX].label","typeLabel":"string"},"value":{"description":"Value stored for this label in the annotation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX].value","typeLabel":"string"}},"required":["label","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.allowedLabels","typeLabel":"object[]"},"maxDurationSeconds":{"description":"Maximum expected media duration in seconds; absent when not applicable.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.maxDurationSeconds","typeLabel":"number"},"maxEntities":{"oneOf":[{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.maxEntities.oneOf.0","typeLabel":"number"},{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"null","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.maxEntities.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.maxEntities","typeLabel":"number | null"},"minDurationSeconds":{"description":"Minimum expected media duration in seconds; absent when no minimum is set.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.minDurationSeconds","typeLabel":"number"},"relations":{"description":"Relations to other entities; omit when the entity has no relations.","items":{"oneOf":[{"type":"object","description":"Relation to another entity.","required":["id","rel_type"],"properties":{"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"rel_type":{"description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","enum":["context","references","depends_on","evaluates"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0.rel_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Relation to another entity.","required":["id","rel_type","condition"],"properties":{"condition":{"description":"Condition controlling whether the related entity applies.","properties":{"operator":{"description":"Comparison: `EQ` or `NEQ` for equality, `IN` or `NOT_IN` for list membership, or `NOT_EMPTY` for a nonempty value.","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value","typeLabel":"string | string[]"}},"required":["operator","value"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition","typeLabel":"object"},"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"rel_type":{"const":"conditional","description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.rel_type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1.relations","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities.output","typeLabel":"object[]"}},"required":["input","output"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.entities","typeLabel":"object"},"instruction":{"description":"Task instructions shown to experts.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.instruction","typeLabel":"string"},"onboarding":{"description":"Preparation content experts complete before working on tasks.","properties":{"enabled":{"description":"Whether experts must complete onboarding.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.enabled","typeLabel":"boolean"},"info":{"description":"Overview of the task for experts.","properties":{"estimatedTime":{"description":"Estimated completion time as display text.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.info.estimatedTime","typeLabel":"string"},"goal":{"description":"Goal of the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.info.goal","typeLabel":"string"},"role":{"description":"Role the expert takes in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.info.role","typeLabel":"string"},"successCriteria":{"description":"Requirements for completing the task successfully.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.info.successCriteria","typeLabel":"string"}},"required":["estimatedTime","role","goal","successCriteria"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.info","typeLabel":"object"},"steps":{"description":"Onboarding steps in display order.","items":{"description":"One onboarding step.","properties":{"id":{"description":"Identifier of the onboarding step.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].id","typeLabel":"string"},"blocks":{"description":"Content blocks in this step; absent when the step has no blocks.","items":{"oneOf":[{"type":"object","description":"One onboarding content block.","required":["id","type","estimatedTime","role","goal","successCriteria"],"properties":{"estimatedTime":{"description":"Estimated completion time as display text.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.estimatedTime","typeLabel":"string"},"goal":{"description":"Goal of the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.goal","typeLabel":"string"},"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.id","typeLabel":"string"},"role":{"description":"Role the expert takes in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.role","typeLabel":"string"},"successCriteria":{"description":"Requirements for completing the task successfully.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.successCriteria","typeLabel":"string"},"type":{"const":"info","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"One onboarding content block.","required":["id","type"],"properties":{"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.id","typeLabel":"string"},"type":{"const":"text","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.type","typeLabel":"string"},"content":{"description":"Markdown content for this block; absent when no content is supplied.","items":{"description":"Markdown content fragment.","properties":{"type":{"const":"markdown","description":"Content format; always `markdown`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.content.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Markdown text to display.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.content.items.[INDEX].value","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.content.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.content","typeLabel":"object[]"},"title":{"description":"Optional heading for the block.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.title","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"One onboarding content block.","required":["id","type","questions"],"properties":{"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.id","typeLabel":"string"},"questions":{"description":"Questions in this quiz block.","items":{"description":"Question used to check an expert's understanding.","properties":{"correctAnswer":{"oneOf":[{"type":"string","description":"Correct option value, or an array of correct values for a multiple-choice question.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].correctAnswer.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].correctAnswer.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Correct option value, or an array of correct values for a multiple-choice question.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].correctAnswer.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].correctAnswer","typeLabel":"string | string[]"},"id":{"description":"Identifier of the quiz question.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].id","typeLabel":"string"},"options":{"description":"Answer choices shown to the expert.","items":{"description":"One answer choice.","properties":{"label":{"description":"Text displayed for the answer choice.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].options.items.[INDEX].label","typeLabel":"string"},"value":{"description":"Value identifying the answer choice.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].options.items.[INDEX].value","typeLabel":"string"}},"required":["value","label"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].options","typeLabel":"object[]"},"question":{"description":"Question text shown to the expert.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].question","typeLabel":"string"},"type":{"description":"Question type: `single-choice` accepts one option; `multiple-choice` accepts several.","enum":["single-choice","multiple-choice"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"correctAnswerFeedback":{"description":"Feedback shown for a correct answer; absent when none is configured.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].correctAnswerFeedback","typeLabel":"string"},"hint":{"description":"Optional hint shown with the question.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].hint","typeLabel":"string"},"incorrectAnswerFeedback":{"description":"Feedback shown for an incorrect answer; absent when none is configured.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].incorrectAnswerFeedback","typeLabel":"string"},"title":{"description":"Optional title displayed above the question.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].title","typeLabel":"string"}},"required":["id","type","question","options","correctAnswer"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions","typeLabel":"object[]"},"type":{"const":"quiz","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.type","typeLabel":"string"},"content":{"description":"Markdown content for this block; absent when no content is supplied.","items":{"description":"Markdown content fragment.","properties":{"type":{"const":"markdown","description":"Content format; always `markdown`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.content.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Markdown text to display.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.content.items.[INDEX].value","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.content.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.content","typeLabel":"object[]"},"title":{"description":"Optional heading for the block.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.title","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","description":"One onboarding content block.","required":["id","type"],"properties":{"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.id","typeLabel":"string"},"type":{"const":"practice","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.type","typeLabel":"string"},"content":{"description":"Markdown content for this block; absent when no content is supplied.","items":{"description":"Markdown content fragment.","properties":{"type":{"const":"markdown","description":"Content format; always `markdown`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.content.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Markdown text to display.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.content.items.[INDEX].value","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.content.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.content","typeLabel":"object[]"},"editorConfig":{"description":"Optional settings for the practice-answer editor.","properties":{"language":{"description":"Editor language identifier; absent when no language is selected.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.editorConfig.language","typeLabel":"string"},"placeholder":{"description":"Placeholder text shown in an empty editor; absent when none is configured.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.editorConfig.placeholder","typeLabel":"string"},"rows":{"description":"Number of visible editor rows; absent to use the editor default.","type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.editorConfig.rows","typeLabel":"number"}},"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.editorConfig","typeLabel":"object"},"editorType":{"description":"Optional practice-answer editor type.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.editorType","typeLabel":"string"},"imageUrl":{"description":"Optional image URL illustrating the practice exercise.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.imageUrl","typeLabel":"string"},"title":{"description":"Optional heading for the block.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.title","typeLabel":"string"},"validators":{"description":"Practice-answer validation rules; absent when none are configured.","items":{"description":"One practice-answer validation rule.","properties":{"criteria":{"description":"Conditions the practice answer must meet.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators.items.[INDEX].criteria","typeLabel":"string"},"description":{"description":"Explanation of what this rule checks.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators.items.[INDEX].description","typeLabel":"string"},"id":{"description":"Identifier of this validation rule.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators.items.[INDEX].id","typeLabel":"string"},"name":{"description":"Display name of the validation rule.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators.items.[INDEX].name","typeLabel":"string"}},"required":["id","name","description","criteria"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators","typeLabel":"object[]"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","description":"One onboarding content block.","required":["id","type","examples"],"properties":{"examples":{"description":"Interactive examples in this block.","items":{"description":"Interactive example shown during onboarding.","properties":{"checks":{"description":"Checks that evaluate the expert's answer to this example.","items":{"oneOf":[{"type":"object","description":"Check used to grade an onboarding example.","required":["type","path","golden","hint"],"properties":{"golden":{"oneOf":[{"type":"string","description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.0","typeLabel":"string"},{"type":"number","description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.1","typeLabel":"number"},{"type":"boolean","description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.2","typeLabel":"boolean"},{"type":"null","description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.4.items.[INDEX]","typeLabel":"any"},"description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.4","typeLabel":"any[]"},{"type":"object","description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.5","typeLabel":"object"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden","typeLabel":"string | number | boolean | null | any[] | object"},"hint":{"description":"Hint explaining how to satisfy the check.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.hint","typeLabel":"string"},"path":{"description":"Path to the answer value to check.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.path","typeLabel":"string"},"type":{"const":"exact","description":"Check type: `exact` compares an expected value, `code` runs a validation function, and `llm` assesses the answer against criteria.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Check used to grade an onboarding example.","required":["type","code","hint"],"properties":{"code":{"description":"Validation code used by a code check.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.1.code","typeLabel":"string"},"hint":{"description":"Hint explaining how to satisfy the check.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.1.hint","typeLabel":"string"},"type":{"const":"code","description":"Check type: `exact` compares an expected value, `code` runs a validation function, and `llm` assesses the answer against criteria.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"Check used to grade an onboarding example.","required":["type","paths","criteria"],"properties":{"criteria":{"description":"Criteria used to assess the example answer.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.criteria","typeLabel":"string"},"paths":{"description":"Answer paths to assess together.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.paths.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.paths","typeLabel":"string[]"},"type":{"const":"llm","description":"Check type: `exact` compares an expected value, `code` runs a validation function, and `llm` assesses the answer against criteria.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.type","typeLabel":"string"},"hint":{"description":"Hint explaining how to satisfy the check.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.hint","typeLabel":"string"},"imageUrl":{"description":"Optional image URL used by the check.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.imageUrl","typeLabel":"string"},"reference":{"description":"Optional reference answer for the check.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.reference","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX]","typeLabel":"object"},"maxItems":10,"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks","typeLabel":"object[]"},"id":{"description":"Identifier of the example.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].id","typeLabel":"string"},"input":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"any"},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.4","typeLabel":"any[]"},{"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.5","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties","typeLabel":"string | number | boolean | null | any[] | object"},"description":"Example input values keyed by field name.","propertyNames":{"type":"string"},"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input","typeLabel":"object"},"explanation":{"description":"Optional explanation of the example answer.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].explanation","typeLabel":"string"},"sourceItemId":{"description":"Source dataset item ID, when the example was taken from a dataset; otherwise absent.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].sourceItemId","typeLabel":"string"}},"required":["id","input","checks"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX]","typeLabel":"object"},"maxItems":10,"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples","typeLabel":"object[]"},"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.id","typeLabel":"string"},"type":{"const":"examples","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.type","typeLabel":"string"},"title":{"description":"Optional heading for the block.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.title","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","description":"One onboarding content block.","required":["id","type","consentLabel"],"properties":{"consentLabel":{"description":"Text of the consent option the expert must accept.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.consentLabel","typeLabel":"string"},"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.id","typeLabel":"string"},"type":{"const":"consent","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.type","typeLabel":"string"},"content":{"description":"Markdown content for this block; absent when no content is supplied.","items":{"description":"Markdown content fragment.","properties":{"type":{"const":"markdown","description":"Content format; always `markdown`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.content.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Markdown text to display.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.content.items.[INDEX].value","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.content.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.content","typeLabel":"object[]"},"title":{"description":"Optional heading for the block.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.title","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX].blocks","typeLabel":"object[]"}},"required":["id"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding.steps","typeLabel":"object[]"}},"required":["enabled","steps","info"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.onboarding","typeLabel":"object"},"publicName":{"description":"Task name shown to experts.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.publicName","typeLabel":"string"},"qualityCriteria":{"description":"Requirements used to assess the generated answers.","items":{"description":"Quality requirement applied to a task entity.","properties":{"id":{"description":"Unique criterion identifier, formatted as a UUID.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityCriteria.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"qualityElement":{"description":"Description of the quality requirement.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityCriteria.items.[INDEX].qualityElement","typeLabel":"string"},"targetEntity":{"description":"Field identifier of the entity assessed by this criterion.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityCriteria.items.[INDEX].targetEntity","typeLabel":"string"},"thresholds":{"description":"Conditions for passing or failing this criterion.","properties":{"fail":{"description":"What makes an answer fail this criterion.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityCriteria.items.[INDEX].thresholds.fail","typeLabel":"string"},"pass":{"description":"What an acceptable answer must satisfy.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityCriteria.items.[INDEX].thresholds.pass","typeLabel":"string"}},"required":["pass","fail"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityCriteria.items.[INDEX].thresholds","typeLabel":"object"},"llmQaInstruction":{"description":"Additional instruction for LLM quality checks; absent when none is provided.","maxLength":5000,"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityCriteria.items.[INDEX].llmQaInstruction","typeLabel":"string"}},"required":["id","qualityElement","thresholds","targetEntity"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityCriteria.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityCriteria","typeLabel":"object[]"},"ui":{"description":"Labeling interface and its data transformations.","properties":{"code":{"description":"Source code for the labeling interface.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.ui.code","typeLabel":"string"},"constants":{"description":"JSON object encoded as a string, containing constants available to the interface.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.ui.constants","typeLabel":"string"},"data":{"description":"JSON text containing sample data for the interface preview.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.ui.data","typeLabel":"string"},"preprocess":{"description":"JavaScript code that prepares input data for the interface.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.ui.preprocess","typeLabel":"string"},"postprocess":{"default":"return {};","description":"JavaScript code that transforms submitted interface values; defaults to `return {};`.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.ui.postprocess","typeLabel":"string"}},"required":["code","data","preprocess","constants"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.ui","typeLabel":"object"},"audienceAndPricing":{"oneOf":[{"type":"object","description":"Who completes tasks and how attempts are priced.","required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"properties":{"audience":{"additionalProperties":false,"description":"Expert eligibility filters.","properties":{"countries":{"additionalProperties":false,"description":"Eligible expert countries.","properties":{"type":{"description":"Matching rule; `or` accepts experts from any selected country.","enum":["or"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.countries.type","typeLabel":"enum\u003cstring>"},"values":{"description":"Country identifiers to include; an empty array applies no country restriction.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.countries.values.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.countries.values","typeLabel":"string[]"}},"required":["type","values"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.countries","typeLabel":"object"},"languages":{"additionalProperties":false,"description":"Required expert languages.","properties":{"type":{"description":"Matching rule: `and` requires all selected languages; `or` requires at least one.","enum":["or","and"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.languages.type","typeLabel":"enum\u003cstring>"},"values":{"description":"Languages to match; an empty array applies no language restriction.","items":{"description":"Selected expert language.","properties":{"value":{"description":"Language identifier used by the audience filter.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.languages.values.items.[INDEX].value","typeLabel":"string"}},"required":["value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.languages.values.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.languages.values","typeLabel":"object[]"}},"required":["type","values"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.languages","typeLabel":"object"},"specializations":{"additionalProperties":false,"description":"Required expert specializations.","properties":{"type":{"description":"Matching rule: `and` requires all selected specializations; `or` requires at least one.","enum":["or","and"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.specializations.type","typeLabel":"enum\u003cstring>"},"values":{"description":"Specializations to match; an empty array applies no specialization restriction.","items":{"additionalProperties":false,"description":"Selected expert specialization.","properties":{"qualificationId":{"description":"Qualification ID returned with the specialization.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.specializations.values.items.[INDEX].qualificationId","typeLabel":"string"},"value":{"description":"Specialization name returned by the specializations endpoint.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.specializations.values.items.[INDEX].value","typeLabel":"string"}},"required":["value","qualificationId"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.specializations.values.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.specializations.values","typeLabel":"object[]"}},"required":["type","values"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience.specializations","typeLabel":"object"}},"required":["languages","specializations","countries"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audience","typeLabel":"object"},"audienceType":{"const":"human","description":"Task performer: `human` for experts or `synthetic` for model-generated answers.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.audienceType","typeLabel":"string"},"pricePerTask":{"description":"Price per expert task in US dollars.","type":"number","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.pricePerTask","typeLabel":"number"},"timeForTask":{"description":"Expected task completion time in seconds.","type":"number","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.timeForTask","typeLabel":"number"},"verifiedExperts":{"description":"Whether experts must have verified identities.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.verifiedExperts","typeLabel":"boolean"},"expertListId":{"oneOf":[{"type":"string","description":"Expert list the experts come from, with prefix `exl.`. Requires `audienceMode: service`. `null` detaches the list. Omitted when no list is attached.","pattern":"^exl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.expertListId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Expert list the experts come from, with prefix `exl.`. Requires `audienceMode: service`. `null` detaches the list. Omitted when no list is attached.","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.expertListId.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.expertListId","typeLabel":"string | null"},"perExpertCapEnabled":{"default":false,"description":"Whether to limit how many tasks each expert may submit; defaults to false.","type":"boolean","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.perExpertCapEnabled","typeLabel":"boolean"},"perExpertCapValue":{"default":1,"description":"Maximum tasks per expert when the cap is enabled, from 1 to 50; defaults to 1.","exclusiveMinimum":0,"maximum":50,"type":"integer","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0.perExpertCapValue","typeLabel":"integer"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.0","typeLabel":"object"},{"type":"object","description":"Who completes tasks and how attempts are priced.","required":["audienceType","maxCostPerAttempt"],"properties":{"audienceType":{"const":"synthetic","description":"Task performer: `human` for experts or `synthetic` for model-generated answers.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.1.audienceType","typeLabel":"string"},"maxCostPerAttempt":{"description":"Maximum spend for one generation attempt, in US dollars.","type":"number","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.1.maxCostPerAttempt","typeLabel":"number"},"generationModelId":{"default":"gpt-5.6-terra","description":"Generation model ID from the generation-models endpoint.","enum":["gpt-5.4","gpt-5.4-mini","claude-sonnet-4-6","gemini-3.1-pro-preview","gemini-3.5-flash","gemini-3.7-flash","claude-sonnet-5","claude-opus-5","claude-fable-5","gpt-5.6-terra","gpt-5.6-luna","gpt-5.6-sol"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.1.generationModelId","typeLabel":"enum\u003cstring>"},"llmInstruction":{"default":"","description":"Instruction supplied to the generation model; defaults to an empty string.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.1.llmInstruction","typeLabel":"string"},"reasoningEffort":{"description":"Reasoning effort for models that support it; omit to use the model default.","enum":["low","medium","high"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.1.reasoningEffort","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing.oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceAndPricing","typeLabel":"object"},"audienceMode":{"description":"How the node finds experts. `legacy`: audience filters and smart search. `service`: the audience service, which can also take experts from an expert list. Only teams with the audience service enabled can use `service`. Omitted when `legacy`.","enum":["legacy","service"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.audienceMode","typeLabel":"enum\u003cstring>"},"checks":{"additionalProperties":{"description":"Test cases for this check type.","items":{"description":"One configured check case.","properties":{"id":{"description":"Identifier of the check case.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.checks.additionalProperties.items.[INDEX].id","typeLabel":"string"},"input":{"oneOf":[{"type":"string","description":"Check input as JSON text, or JSON values encoded as strings and keyed by field ID.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.checks.additionalProperties.items.[INDEX].input.oneOf.0","typeLabel":"string"},{"type":"object","description":"Check input as JSON text, or JSON values encoded as strings and keyed by field ID.","additionalProperties":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.checks.additionalProperties.items.[INDEX].input.oneOf.1.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.checks.additionalProperties.items.[INDEX].input.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.checks.additionalProperties.items.[INDEX].input","typeLabel":"string | object"},"name":{"description":"Display name of the check case.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.checks.additionalProperties.items.[INDEX].name","typeLabel":"string"}},"required":["id","name","input"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.checks.additionalProperties.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.checks.additionalProperties","typeLabel":"object[]"},"description":"Configured test inputs grouped by check type; absent when no tests are configured.","propertyNames":{"enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset","synthgen"],"type":"string"},"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.checks","typeLabel":"object"},"exam":{"additionalProperties":false,"description":"Qualification exam settings; omitted settings use a disabled one-task exam.","properties":{"enabled":{"description":"Whether experts must pass an exam before receiving regular tasks.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.enabled","typeLabel":"boolean"},"gradedEntities":{"description":"Entities and grading rules used in the exam.","items":{"additionalProperties":false,"description":"Grading rule for one entity.","properties":{"customInstruction":{"description":"Instruction for custom reference-answer comparison.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.gradedEntities.items.[INDEX].customInstruction","typeLabel":"string"},"disabledCriterionIds":{"description":"UUIDs of quality criteria excluded from exam grading.","items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.gradedEntities.items.[INDEX].disabledCriterionIds.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.gradedEntities.items.[INDEX].disabledCriterionIds","typeLabel":"string\u003cuuid>[]"},"groundTruthType":{"description":"Reference comparison: `direct` compares values directly; `custom` uses the supplied instruction.","enum":["direct","custom"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.gradedEntities.items.[INDEX].groundTruthType","typeLabel":"enum\u003cstring>"},"mode":{"description":"Grading mode: `ground_truth` compares with reference answers, `quality_criteria` applies quality requirements, and `not_graded` excludes the entity from grading.","enum":["ground_truth","quality_criteria","not_graded"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.gradedEntities.items.[INDEX].mode","typeLabel":"enum\u003cstring>"},"targetEntity":{"description":"Field identifier of the entity being graded.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.gradedEntities.items.[INDEX].targetEntity","typeLabel":"string"}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.gradedEntities.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.gradedEntities","typeLabel":"object[]"},"passThreshold":{"description":"Minimum number of exam tasks an expert must pass.","maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.passThreshold","typeLabel":"integer"},"tasksPerExpert":{"description":"Number of exam tasks each expert receives.","maximum":9007199254740991,"minimum":1,"type":"integer","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.tasksPerExpert","typeLabel":"integer"},"goldenDatasetId":{"description":"Dataset ID with prefix `ds.` containing reference answers; absent when no reference dataset is selected.","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam.goldenDatasetId","typeLabel":"string"}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.exam","typeLabel":"object"},"qualityAssurance":{"oneOf":[{"type":"object","description":"How answers are checked for quality.","required":["qaMode"],"properties":{"qaMode":{"const":"llm_only","description":"Review mode: `llm_only` uses LLM checks, `human_only` uses human review, and `hybrid` combines them.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.0.qaMode","typeLabel":"string"},"llmQaModelId":{"default":"gpt-5.6-terra","description":"Model identifier for LLM quality checks.","enum":["gpt-5.6-terra","gpt-5.6-luna","gpt-5.4","gpt-5.4-mini","gpt-5","gpt-5-mini","claude-sonnet-4-6"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.0.llmQaModelId","typeLabel":"enum\u003cstring>"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.0","typeLabel":"object"},{"type":"object","description":"How answers are checked for quality.","required":["qaMode"],"properties":{"qaMode":{"const":"human_only","description":"Review mode: `llm_only` uses LLM checks, `human_only` uses human review, and `hybrid` combines them.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.1.qaMode","typeLabel":"string"},"expertListId":{"oneOf":[{"type":"string","description":"Expert list the experts come from, with prefix `exl.`. Requires `audienceMode: service`. `null` detaches the list. Omitted when no list is attached.","pattern":"^exl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.1.expertListId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Expert list the experts come from, with prefix `exl.`. Requires `audienceMode: service`. `null` detaches the list. Omitted when no list is attached.","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.1.expertListId.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.1.expertListId","typeLabel":"string | null"},"humanQaTimeForTask":{"description":"Expected human review time per task in seconds; absent when not specified.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.1.humanQaTimeForTask","typeLabel":"number"},"smartSamplingPercent":{"default":100,"description":"Percentage of answers sampled for human review, from 10 to 100; defaults to 100 for human-only review and 30 for hybrid review.","maximum":100,"minimum":10,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.1.smartSamplingPercent","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.1","typeLabel":"object"},{"type":"object","description":"How answers are checked for quality.","required":["qaMode"],"properties":{"qaMode":{"const":"hybrid","description":"Review mode: `llm_only` uses LLM checks, `human_only` uses human review, and `hybrid` combines them.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.2.qaMode","typeLabel":"string"},"expertListId":{"oneOf":[{"type":"string","description":"Expert list the experts come from, with prefix `exl.`. Requires `audienceMode: service`. `null` detaches the list. Omitted when no list is attached.","pattern":"^exl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.2.expertListId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Expert list the experts come from, with prefix `exl.`. Requires `audienceMode: service`. `null` detaches the list. Omitted when no list is attached.","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.2.expertListId.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.2.expertListId","typeLabel":"string | null"},"humanQaTimeForTask":{"description":"Expected human review time per task in seconds; absent when not specified.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.2.humanQaTimeForTask","typeLabel":"number"},"llmQaModelId":{"default":"gpt-5.6-terra","description":"Model identifier for LLM quality checks.","enum":["gpt-5.6-terra","gpt-5.6-luna","gpt-5.4","gpt-5.4-mini","gpt-5","gpt-5-mini","claude-sonnet-4-6"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.2.llmQaModelId","typeLabel":"enum\u003cstring>"},"smartSamplingPercent":{"default":30,"description":"Percentage of answers sampled for human review, from 10 to 100; defaults to 100 for human-only review and 30 for hybrid review.","maximum":100,"minimum":10,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.2.smartSamplingPercent","typeLabel":"number"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance.oneOf.2","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.qualityAssurance","typeLabel":"object"},"reuseAudienceWithNodeId":{"oneOf":[{"type":"object","description":"Node whose expert audience is reused, or null when no audience is reused.","required":["pipelineId","nodeId"],"properties":{"nodeId":{"description":"Node ID whose qualified experts are reused.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.reuseAudienceWithNodeId.oneOf.0.nodeId","typeLabel":"string"},"pipelineId":{"description":"Pipeline ID with prefix `pl.` containing the source audience.","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.reuseAudienceWithNodeId.oneOf.0.pipelineId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.reuseAudienceWithNodeId.oneOf.0","typeLabel":"object"},{"type":"null","description":"Node whose expert audience is reused, or null when no audience is reused.","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.reuseAudienceWithNodeId.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.reuseAudienceWithNodeId","typeLabel":"object | null"},"smartSearch":{"oneOf":[{"type":"object","description":"Expert recruitment criteria, or null when no recruitment brief is configured.","required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"properties":{"briefDescription":{"description":"Short description of the expert role.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.briefDescription","typeLabel":"string"},"extraHardRequirements":{"description":"Mandatory qualifications for candidate experts.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.extraHardRequirements.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.extraHardRequirements","typeLabel":"string[]"},"idealCandidateProfile":{"description":"Description of an ideal candidate.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.idealCandidateProfile","typeLabel":"string"},"projectDescription":{"oneOf":[{"description":"Project context for recruitment, or null when none is supplied.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.projectDescription.oneOf.0","typeLabel":"string"},{"description":"Project context for recruitment, or null when none is supplied.","type":"null","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.projectDescription.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.projectDescription","typeLabel":"string | null"},"relevanceCriteria":{"description":"Criteria used to judge whether a candidate fits the task.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.relevanceCriteria.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.relevanceCriteria","typeLabel":"string[]"},"typicalJobTitles":{"description":"Job titles commonly held by suitable experts.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.typicalJobTitles.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.typicalJobTitles","typeLabel":"string[]"},"whoIsNotAFit":{"description":"Reasons a candidate would be unsuitable.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.whoIsNotAFit.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.whoIsNotAFit","typeLabel":"string[]"},"sourceFingerprint":{"description":"Fingerprint of the source brief; absent when none is recorded.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0.sourceFingerprint","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.0","typeLabel":"object"},{"type":"null","description":"Expert recruitment criteria, or null when no recruitment brief is configured.","uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings.smartSearch","typeLabel":"object | null"}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","onboarding"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.settings","typeLabel":"object"},"type":{"const":"generation","description":"Node type: `root` supplies Start and End, `code` runs Python, `generation` creates answers, `match` routes items, and `quorum` combines expert answers.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","description":"One pipeline node.","required":["id","type","settings"],"properties":{"id":{"description":"Caller-defined node identifier, unique within the graph.","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.id","typeLabel":"string"},"settings":{"additionalProperties":false,"description":"Configuration for this node type.","properties":{"about":{"additionalProperties":false,"description":"Node name and task context.","properties":{"name":{"description":"Display name of the node.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.about.name","typeLabel":"string"},"description":{"description":"Optional explanation of the node's purpose.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.about.description","typeLabel":"string"},"projectType":{"description":"Task type: `general` for labeling existing data or `data_collection` for collecting new data; absent when unspecified.","enum":["general","data_collection"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.about.projectType","typeLabel":"enum\u003cstring>"}},"required":["name"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.about","typeLabel":"object"},"conditions":{"description":"Routing conditions evaluated in order.","items":{"additionalProperties":false,"description":"One routing condition.","properties":{"name":{"description":"Display name of the condition.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].name","typeLabel":"string"},"predicates":{"description":"Predicates used by this routing condition.","items":{"additionalProperties":false,"description":"Condition applied to a field value.","properties":{"fieldProxyId":{"description":"Identifier of the field whose value is compared.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].predicates.items.[INDEX].fieldProxyId","typeLabel":"string"},"jsonPath":{"description":"JSONPath locating the value within the field.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].predicates.items.[INDEX].jsonPath","typeLabel":"string"},"operator":{"description":"Text comparison: `text_eq` for equality or `text_neq` for inequality.","enum":["text_eq","text_neq"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].predicates.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"description":"Scalar value compared as text; null is treated as an empty string.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].predicates.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"description":"Scalar value compared as text; null is treated as an empty string.","type":"number","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].predicates.items.[INDEX].value.oneOf.1","typeLabel":"number"},{"description":"Scalar value compared as text; null is treated as an empty string.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].predicates.items.[INDEX].value.oneOf.2","typeLabel":"boolean"},{"description":"Scalar value compared as text; null is treated as an empty string.","type":"null","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].predicates.items.[INDEX].value.oneOf.3","typeLabel":"null"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].predicates.items.[INDEX].value","typeLabel":"string | number | boolean | null"}},"required":["fieldProxyId","jsonPath","operator","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].predicates.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].predicates","typeLabel":"object[]"},"logic":{"default":"and","description":"How predicates combine: `and` requires all to match; `or` requires at least one; defaults to `and`.","enum":["and","or"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX].logic","typeLabel":"enum\u003cstring>"}},"required":["name","predicates"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.conditions","typeLabel":"object[]"},"fieldProxies":{"description":"Input and output field bindings for the node.","properties":{"input":{"description":"Fields available to this node as input.","items":{"additionalProperties":false,"description":"Field binding.","properties":{"id":{"description":"Field identifier from `graph.fields`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.fieldProxies.input.items.[INDEX].id","typeLabel":"string"},"optional":{"description":"Whether this field may be absent when the node executes.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.fieldProxies.input.items.[INDEX].optional","typeLabel":"boolean"}},"required":["id","optional"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.fieldProxies.input.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.fieldProxies.input","typeLabel":"object[]"}},"required":["input"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings.fieldProxies","typeLabel":"object"}},"required":["about","conditions","fieldProxies"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.settings","typeLabel":"object"},"type":{"const":"match","description":"Node type: `root` supplies Start and End, `code` runs Python, `generation` creates answers, `match` routes items, and `quorum` combines expert answers.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","description":"One pipeline node.","required":["id","type","settings"],"properties":{"id":{"description":"Caller-defined node identifier, unique within the graph.","pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.id","typeLabel":"string"},"settings":{"additionalProperties":false,"description":"Configuration for this node type.","properties":{"about":{"additionalProperties":false,"description":"Node name and task context.","properties":{"name":{"description":"Display name of the node.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.about.name","typeLabel":"string"},"description":{"description":"Optional explanation of the node's purpose.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.about.description","typeLabel":"string"},"projectType":{"description":"Task type: `general` for labeling existing data or `data_collection` for collecting new data; absent when unspecified.","enum":["general","data_collection"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.about.projectType","typeLabel":"enum\u003cstring>"}},"required":["name"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.about","typeLabel":"object"},"entities":{"additionalProperties":false,"description":"Task input and output entities.","properties":{"input":{"description":"Entities supplied as task input.","items":{"oneOf":[{"type":"object","description":"Task entity bound to a pipeline field.","required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"properties":{"description":{"description":"Explanation of the entity and how it is used in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.description","typeLabel":"string"},"dynamic":{"const":false,"description":"Whether one item can contain multiple instances of this entity.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.dynamic","typeLabel":"boolean"},"entityType":{"description":"Semantic entity type, such as `PROMPT`, `RESPONSE`, `SINGLE_LABEL`, or `VIDEO`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.entityType","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the field containing this entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.fieldProxyId","typeLabel":"string"},"jsonPath":{"description":"JSONPath locating entity values within the field.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.jsonPath","typeLabel":"string"},"optional":{"description":"Whether the entity value may be omitted.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.optional","typeLabel":"boolean"},"allowedLabels":{"description":"Allowed classification labels; absent for entities without a fixed label set.","items":{"additionalProperties":false,"description":"One allowed classification label.","properties":{"label":{"description":"Label displayed to the expert.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX].label","typeLabel":"string"},"value":{"description":"Value stored for this label in the annotation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX].value","typeLabel":"string"}},"required":["label","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.allowedLabels","typeLabel":"object[]"},"maxDurationSeconds":{"description":"Maximum expected media duration in seconds; absent when not applicable.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.maxDurationSeconds","typeLabel":"number"},"maxEntities":{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"null","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.maxEntities","typeLabel":"null"},"minDurationSeconds":{"description":"Minimum expected media duration in seconds; absent when no minimum is set.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.minDurationSeconds","typeLabel":"number"},"relations":{"description":"Relations to other entities; omit when the entity has no relations.","items":{"oneOf":[{"type":"object","description":"Relation to another entity.","required":["id","rel_type"],"properties":{"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"rel_type":{"description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","enum":["context","references","depends_on","evaluates"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0.rel_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Relation to another entity.","required":["id","rel_type","condition"],"properties":{"condition":{"description":"Condition controlling whether the related entity applies.","properties":{"operator":{"description":"Comparison: `EQ` or `NEQ` for equality, `IN` or `NOT_IN` for list membership, or `NOT_EMPTY` for a nonempty value.","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value","typeLabel":"string | string[]"}},"required":["operator","value"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition","typeLabel":"object"},"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"rel_type":{"const":"conditional","description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.rel_type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0.relations","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Task entity bound to a pipeline field.","required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"properties":{"description":{"description":"Explanation of the entity and how it is used in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.description","typeLabel":"string"},"dynamic":{"const":true,"description":"Whether one item can contain multiple instances of this entity.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.dynamic","typeLabel":"boolean"},"entityType":{"description":"Semantic entity type, such as `PROMPT`, `RESPONSE`, `SINGLE_LABEL`, or `VIDEO`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.entityType","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the field containing this entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.fieldProxyId","typeLabel":"string"},"jsonPath":{"description":"JSONPath locating entity values within the field.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.jsonPath","typeLabel":"string"},"optional":{"description":"Whether the entity value may be omitted.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.optional","typeLabel":"boolean"},"allowedLabels":{"description":"Allowed classification labels; absent for entities without a fixed label set.","items":{"additionalProperties":false,"description":"One allowed classification label.","properties":{"label":{"description":"Label displayed to the expert.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX].label","typeLabel":"string"},"value":{"description":"Value stored for this label in the annotation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX].value","typeLabel":"string"}},"required":["label","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.allowedLabels","typeLabel":"object[]"},"maxDurationSeconds":{"description":"Maximum expected media duration in seconds; absent when not applicable.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.maxDurationSeconds","typeLabel":"number"},"maxEntities":{"oneOf":[{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.maxEntities.oneOf.0","typeLabel":"number"},{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"null","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.maxEntities.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.maxEntities","typeLabel":"number | null"},"minDurationSeconds":{"description":"Minimum expected media duration in seconds; absent when no minimum is set.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.minDurationSeconds","typeLabel":"number"},"relations":{"description":"Relations to other entities; omit when the entity has no relations.","items":{"oneOf":[{"type":"object","description":"Relation to another entity.","required":["id","rel_type"],"properties":{"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"rel_type":{"description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","enum":["context","references","depends_on","evaluates"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0.rel_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Relation to another entity.","required":["id","rel_type","condition"],"properties":{"condition":{"description":"Condition controlling whether the related entity applies.","properties":{"operator":{"description":"Comparison: `EQ` or `NEQ` for equality, `IN` or `NOT_IN` for list membership, or `NOT_EMPTY` for a nonempty value.","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value","typeLabel":"string | string[]"}},"required":["operator","value"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition","typeLabel":"object"},"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"rel_type":{"const":"conditional","description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.rel_type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1.relations","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.input","typeLabel":"object[]"},"output":{"description":"Entities the expert or model must produce.","items":{"oneOf":[{"type":"object","description":"Task entity bound to a pipeline field.","required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"properties":{"description":{"description":"Explanation of the entity and how it is used in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.description","typeLabel":"string"},"dynamic":{"const":false,"description":"Whether one item can contain multiple instances of this entity.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.dynamic","typeLabel":"boolean"},"entityType":{"description":"Semantic entity type, such as `PROMPT`, `RESPONSE`, `SINGLE_LABEL`, or `VIDEO`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.entityType","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the field containing this entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.fieldProxyId","typeLabel":"string"},"jsonPath":{"description":"JSONPath locating entity values within the field.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.jsonPath","typeLabel":"string"},"optional":{"description":"Whether the entity value may be omitted.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.optional","typeLabel":"boolean"},"allowedLabels":{"description":"Allowed classification labels; absent for entities without a fixed label set.","items":{"additionalProperties":false,"description":"One allowed classification label.","properties":{"label":{"description":"Label displayed to the expert.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX].label","typeLabel":"string"},"value":{"description":"Value stored for this label in the annotation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX].value","typeLabel":"string"}},"required":["label","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.allowedLabels.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.allowedLabels","typeLabel":"object[]"},"maxDurationSeconds":{"description":"Maximum expected media duration in seconds; absent when not applicable.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.maxDurationSeconds","typeLabel":"number"},"maxEntities":{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"null","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.maxEntities","typeLabel":"null"},"minDurationSeconds":{"description":"Minimum expected media duration in seconds; absent when no minimum is set.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.minDurationSeconds","typeLabel":"number"},"relations":{"description":"Relations to other entities; omit when the entity has no relations.","items":{"oneOf":[{"type":"object","description":"Relation to another entity.","required":["id","rel_type"],"properties":{"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"rel_type":{"description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","enum":["context","references","depends_on","evaluates"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0.rel_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Relation to another entity.","required":["id","rel_type","condition"],"properties":{"condition":{"description":"Condition controlling whether the related entity applies.","properties":{"operator":{"description":"Comparison: `EQ` or `NEQ` for equality, `IN` or `NOT_IN` for list membership, or `NOT_EMPTY` for a nonempty value.","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition.value","typeLabel":"string | string[]"}},"required":["operator","value"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.condition","typeLabel":"object"},"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"rel_type":{"const":"conditional","description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1.rel_type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0.relations","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Task entity bound to a pipeline field.","required":["fieldProxyId","entityType","optional","jsonPath","description","dynamic"],"properties":{"description":{"description":"Explanation of the entity and how it is used in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.description","typeLabel":"string"},"dynamic":{"const":true,"description":"Whether one item can contain multiple instances of this entity.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.dynamic","typeLabel":"boolean"},"entityType":{"description":"Semantic entity type, such as `PROMPT`, `RESPONSE`, `SINGLE_LABEL`, or `VIDEO`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.entityType","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the field containing this entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.fieldProxyId","typeLabel":"string"},"jsonPath":{"description":"JSONPath locating entity values within the field.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.jsonPath","typeLabel":"string"},"optional":{"description":"Whether the entity value may be omitted.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.optional","typeLabel":"boolean"},"allowedLabels":{"description":"Allowed classification labels; absent for entities without a fixed label set.","items":{"additionalProperties":false,"description":"One allowed classification label.","properties":{"label":{"description":"Label displayed to the expert.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX].label","typeLabel":"string"},"value":{"description":"Value stored for this label in the annotation.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX].value","typeLabel":"string"}},"required":["label","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.allowedLabels.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.allowedLabels","typeLabel":"object[]"},"maxDurationSeconds":{"description":"Maximum expected media duration in seconds; absent when not applicable.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.maxDurationSeconds","typeLabel":"number"},"maxEntities":{"oneOf":[{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.maxEntities.oneOf.0","typeLabel":"number"},{"description":"Maximum expected instances of a dynamic entity per item; null or absent when no maximum is set.","type":"null","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.maxEntities.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.maxEntities","typeLabel":"number | null"},"minDurationSeconds":{"description":"Minimum expected media duration in seconds; absent when no minimum is set.","exclusiveMinimum":0,"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.minDurationSeconds","typeLabel":"number"},"relations":{"description":"Relations to other entities; omit when the entity has no relations.","items":{"oneOf":[{"type":"object","description":"Relation to another entity.","required":["id","rel_type"],"properties":{"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0.id","typeLabel":"string"},"rel_type":{"description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","enum":["context","references","depends_on","evaluates"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0.rel_type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Relation to another entity.","required":["id","rel_type","condition"],"properties":{"condition":{"description":"Condition controlling whether the related entity applies.","properties":{"operator":{"description":"Comparison: `EQ` or `NEQ` for equality, `IN` or `NOT_IN` for list membership, or `NOT_EMPTY` for a nonempty value.","enum":["EQ","NEQ","IN","NOT_IN","NOT_EMPTY"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.operator","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Value or values to compare with the related entity.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition.value","typeLabel":"string | string[]"}},"required":["operator","value"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.condition","typeLabel":"object"},"id":{"description":"Field identifier of the related entity.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.id","typeLabel":"string"},"rel_type":{"const":"conditional","description":"Relation: `context` supplies context, `references` cites another entity, `depends_on` requires it, `evaluates` assesses it, or `conditional` applies only when a condition matches.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1.rel_type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1.relations","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities.output","typeLabel":"object[]"}},"required":["input","output"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.entities","typeLabel":"object"},"instruction":{"description":"Task instructions shown to experts.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.instruction","typeLabel":"string"},"onboarding":{"description":"Preparation content experts complete before working on tasks.","properties":{"enabled":{"description":"Whether experts must complete onboarding.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.enabled","typeLabel":"boolean"},"info":{"description":"Overview of the task for experts.","properties":{"estimatedTime":{"description":"Estimated completion time as display text.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.info.estimatedTime","typeLabel":"string"},"goal":{"description":"Goal of the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.info.goal","typeLabel":"string"},"role":{"description":"Role the expert takes in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.info.role","typeLabel":"string"},"successCriteria":{"description":"Requirements for completing the task successfully.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.info.successCriteria","typeLabel":"string"}},"required":["estimatedTime","role","goal","successCriteria"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.info","typeLabel":"object"},"steps":{"description":"Onboarding steps in display order.","items":{"description":"One onboarding step.","properties":{"id":{"description":"Identifier of the onboarding step.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].id","typeLabel":"string"},"blocks":{"description":"Content blocks in this step; absent when the step has no blocks.","items":{"oneOf":[{"type":"object","description":"One onboarding content block.","required":["id","type","estimatedTime","role","goal","successCriteria"],"properties":{"estimatedTime":{"description":"Estimated completion time as display text.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.estimatedTime","typeLabel":"string"},"goal":{"description":"Goal of the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.goal","typeLabel":"string"},"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.id","typeLabel":"string"},"role":{"description":"Role the expert takes in the task.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.role","typeLabel":"string"},"successCriteria":{"description":"Requirements for completing the task successfully.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.successCriteria","typeLabel":"string"},"type":{"const":"info","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"One onboarding content block.","required":["id","type"],"properties":{"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.id","typeLabel":"string"},"type":{"const":"text","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.type","typeLabel":"string"},"content":{"description":"Markdown content for this block; absent when no content is supplied.","items":{"description":"Markdown content fragment.","properties":{"type":{"const":"markdown","description":"Content format; always `markdown`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.content.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Markdown text to display.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.content.items.[INDEX].value","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.content.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.content","typeLabel":"object[]"},"title":{"description":"Optional heading for the block.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1.title","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"One onboarding content block.","required":["id","type","questions"],"properties":{"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.id","typeLabel":"string"},"questions":{"description":"Questions in this quiz block.","items":{"description":"Question used to check an expert's understanding.","properties":{"correctAnswer":{"oneOf":[{"type":"string","description":"Correct option value, or an array of correct values for a multiple-choice question.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].correctAnswer.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].correctAnswer.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"Correct option value, or an array of correct values for a multiple-choice question.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].correctAnswer.oneOf.1","typeLabel":"string[]"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].correctAnswer","typeLabel":"string | string[]"},"id":{"description":"Identifier of the quiz question.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].id","typeLabel":"string"},"options":{"description":"Answer choices shown to the expert.","items":{"description":"One answer choice.","properties":{"label":{"description":"Text displayed for the answer choice.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].options.items.[INDEX].label","typeLabel":"string"},"value":{"description":"Value identifying the answer choice.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].options.items.[INDEX].value","typeLabel":"string"}},"required":["value","label"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].options","typeLabel":"object[]"},"question":{"description":"Question text shown to the expert.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].question","typeLabel":"string"},"type":{"description":"Question type: `single-choice` accepts one option; `multiple-choice` accepts several.","enum":["single-choice","multiple-choice"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"correctAnswerFeedback":{"description":"Feedback shown for a correct answer; absent when none is configured.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].correctAnswerFeedback","typeLabel":"string"},"hint":{"description":"Optional hint shown with the question.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].hint","typeLabel":"string"},"incorrectAnswerFeedback":{"description":"Feedback shown for an incorrect answer; absent when none is configured.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].incorrectAnswerFeedback","typeLabel":"string"},"title":{"description":"Optional title displayed above the question.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX].title","typeLabel":"string"}},"required":["id","type","question","options","correctAnswer"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.questions","typeLabel":"object[]"},"type":{"const":"quiz","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.type","typeLabel":"string"},"content":{"description":"Markdown content for this block; absent when no content is supplied.","items":{"description":"Markdown content fragment.","properties":{"type":{"const":"markdown","description":"Content format; always `markdown`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.content.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Markdown text to display.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.content.items.[INDEX].value","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.content.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.content","typeLabel":"object[]"},"title":{"description":"Optional heading for the block.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2.title","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","description":"One onboarding content block.","required":["id","type"],"properties":{"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.id","typeLabel":"string"},"type":{"const":"practice","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.type","typeLabel":"string"},"content":{"description":"Markdown content for this block; absent when no content is supplied.","items":{"description":"Markdown content fragment.","properties":{"type":{"const":"markdown","description":"Content format; always `markdown`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.content.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Markdown text to display.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.content.items.[INDEX].value","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.content.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.content","typeLabel":"object[]"},"editorConfig":{"description":"Optional settings for the practice-answer editor.","properties":{"language":{"description":"Editor language identifier; absent when no language is selected.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.editorConfig.language","typeLabel":"string"},"placeholder":{"description":"Placeholder text shown in an empty editor; absent when none is configured.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.editorConfig.placeholder","typeLabel":"string"},"rows":{"description":"Number of visible editor rows; absent to use the editor default.","type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.editorConfig.rows","typeLabel":"number"}},"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.editorConfig","typeLabel":"object"},"editorType":{"description":"Optional practice-answer editor type.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.editorType","typeLabel":"string"},"imageUrl":{"description":"Optional image URL illustrating the practice exercise.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.imageUrl","typeLabel":"string"},"title":{"description":"Optional heading for the block.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.title","typeLabel":"string"},"validators":{"description":"Practice-answer validation rules; absent when none are configured.","items":{"description":"One practice-answer validation rule.","properties":{"criteria":{"description":"Conditions the practice answer must meet.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators.items.[INDEX].criteria","typeLabel":"string"},"description":{"description":"Explanation of what this rule checks.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators.items.[INDEX].description","typeLabel":"string"},"id":{"description":"Identifier of this validation rule.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators.items.[INDEX].id","typeLabel":"string"},"name":{"description":"Display name of the validation rule.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators.items.[INDEX].name","typeLabel":"string"}},"required":["id","name","description","criteria"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3.validators","typeLabel":"object[]"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","description":"One onboarding content block.","required":["id","type","examples"],"properties":{"examples":{"description":"Interactive examples in this block.","items":{"description":"Interactive example shown during onboarding.","properties":{"checks":{"description":"Checks that evaluate the expert's answer to this example.","items":{"oneOf":[{"type":"object","description":"Check used to grade an onboarding example.","required":["type","path","golden","hint"],"properties":{"golden":{"oneOf":[{"type":"string","description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.0","typeLabel":"string"},{"type":"number","description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.1","typeLabel":"number"},{"type":"boolean","description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.2","typeLabel":"boolean"},{"type":"null","description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.4.items.[INDEX]","typeLabel":"any"},"description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.4","typeLabel":"any[]"},{"type":"object","description":"Expected JSON value for an exact check; null is a valid expected value.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden.oneOf.5","typeLabel":"object"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.golden","typeLabel":"string | number | boolean | null | any[] | object"},"hint":{"description":"Hint explaining how to satisfy the check.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.hint","typeLabel":"string"},"path":{"description":"Path to the answer value to check.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.path","typeLabel":"string"},"type":{"const":"exact","description":"Check type: `exact` compares an expected value, `code` runs a validation function, and `llm` assesses the answer against criteria.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Check used to grade an onboarding example.","required":["type","code","hint"],"properties":{"code":{"description":"Validation code used by a code check.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.1.code","typeLabel":"string"},"hint":{"description":"Hint explaining how to satisfy the check.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.1.hint","typeLabel":"string"},"type":{"const":"code","description":"Check type: `exact` compares an expected value, `code` runs a validation function, and `llm` assesses the answer against criteria.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"Check used to grade an onboarding example.","required":["type","paths","criteria"],"properties":{"criteria":{"description":"Criteria used to assess the example answer.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.criteria","typeLabel":"string"},"paths":{"description":"Answer paths to assess together.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.paths.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.paths","typeLabel":"string[]"},"type":{"const":"llm","description":"Check type: `exact` compares an expected value, `code` runs a validation function, and `llm` assesses the answer against criteria.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.type","typeLabel":"string"},"hint":{"description":"Hint explaining how to satisfy the check.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.hint","typeLabel":"string"},"imageUrl":{"description":"Optional image URL used by the check.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.imageUrl","typeLabel":"string"},"reference":{"description":"Optional reference answer for the check.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2.reference","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks.items.[INDEX]","typeLabel":"object"},"maxItems":10,"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].checks","typeLabel":"object[]"},"id":{"description":"Identifier of the example.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].id","typeLabel":"string"},"input":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"any"},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.4","typeLabel":"any[]"},{"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties.oneOf.5","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input.additionalProperties","typeLabel":"string | number | boolean | null | any[] | object"},"description":"Example input values keyed by field name.","propertyNames":{"type":"string"},"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].input","typeLabel":"object"},"explanation":{"description":"Optional explanation of the example answer.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].explanation","typeLabel":"string"},"sourceItemId":{"description":"Source dataset item ID, when the example was taken from a dataset; otherwise absent.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX].sourceItemId","typeLabel":"string"}},"required":["id","input","checks"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples.items.[INDEX]","typeLabel":"object"},"maxItems":10,"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.examples","typeLabel":"object[]"},"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.id","typeLabel":"string"},"type":{"const":"examples","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.type","typeLabel":"string"},"title":{"description":"Optional heading for the block.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4.title","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","description":"One onboarding content block.","required":["id","type","consentLabel"],"properties":{"consentLabel":{"description":"Text of the consent option the expert must accept.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.consentLabel","typeLabel":"string"},"id":{"description":"Identifier of the onboarding block.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.id","typeLabel":"string"},"type":{"const":"consent","description":"Block kind: `info`, `text`, `consent`, `quiz`, `practice`, or interactive `examples`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.type","typeLabel":"string"},"content":{"description":"Markdown content for this block; absent when no content is supplied.","items":{"description":"Markdown content fragment.","properties":{"type":{"const":"markdown","description":"Content format; always `markdown`.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.content.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Markdown text to display.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.content.items.[INDEX].value","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.content.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.content","typeLabel":"object[]"},"title":{"description":"Optional heading for the block.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5.title","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX].oneOf.5","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX].blocks","typeLabel":"object[]"}},"required":["id"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding.steps","typeLabel":"object[]"}},"required":["enabled","steps","info"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.onboarding","typeLabel":"object"},"overlap":{"description":"Configured number of independent expert answers per item.","maximum":100,"minimum":1,"type":"integer","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.overlap","typeLabel":"integer"},"publicName":{"description":"Task name shown to experts.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.publicName","typeLabel":"string"},"qualityCriteria":{"description":"Requirements used to assess the generated answers.","items":{"description":"Quality requirement applied to a task entity.","properties":{"id":{"description":"Unique criterion identifier, formatted as a UUID.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityCriteria.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"qualityElement":{"description":"Description of the quality requirement.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityCriteria.items.[INDEX].qualityElement","typeLabel":"string"},"targetEntity":{"description":"Field identifier of the entity assessed by this criterion.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityCriteria.items.[INDEX].targetEntity","typeLabel":"string"},"thresholds":{"description":"Conditions for passing or failing this criterion.","properties":{"fail":{"description":"What makes an answer fail this criterion.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityCriteria.items.[INDEX].thresholds.fail","typeLabel":"string"},"pass":{"description":"What an acceptable answer must satisfy.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityCriteria.items.[INDEX].thresholds.pass","typeLabel":"string"}},"required":["pass","fail"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityCriteria.items.[INDEX].thresholds","typeLabel":"object"},"llmQaInstruction":{"description":"Additional instruction for LLM quality checks; absent when none is provided.","maxLength":5000,"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityCriteria.items.[INDEX].llmQaInstruction","typeLabel":"string"}},"required":["id","qualityElement","thresholds","targetEntity"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityCriteria.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityCriteria","typeLabel":"object[]"},"ui":{"description":"Labeling interface and its data transformations.","properties":{"code":{"description":"Source code for the labeling interface.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.ui.code","typeLabel":"string"},"constants":{"description":"JSON object encoded as a string, containing constants available to the interface.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.ui.constants","typeLabel":"string"},"data":{"description":"JSON text containing sample data for the interface preview.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.ui.data","typeLabel":"string"},"preprocess":{"description":"JavaScript code that prepares input data for the interface.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.ui.preprocess","typeLabel":"string"},"postprocess":{"default":"return {};","description":"JavaScript code that transforms submitted interface values; defaults to `return {};`.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.ui.postprocess","typeLabel":"string"}},"required":["code","data","preprocess","constants"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.ui","typeLabel":"object"},"audienceAndPricing":{"additionalProperties":false,"description":"Who completes tasks and how attempts are priced.","properties":{"audience":{"additionalProperties":false,"description":"Expert eligibility filters.","properties":{"countries":{"additionalProperties":false,"description":"Eligible expert countries.","properties":{"type":{"description":"Matching rule; `or` accepts experts from any selected country.","enum":["or"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.countries.type","typeLabel":"enum\u003cstring>"},"values":{"description":"Country identifiers to include; an empty array applies no country restriction.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.countries.values.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.countries.values","typeLabel":"string[]"}},"required":["type","values"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.countries","typeLabel":"object"},"languages":{"additionalProperties":false,"description":"Required expert languages.","properties":{"type":{"description":"Matching rule: `and` requires all selected languages; `or` requires at least one.","enum":["or","and"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.languages.type","typeLabel":"enum\u003cstring>"},"values":{"description":"Languages to match; an empty array applies no language restriction.","items":{"description":"Selected expert language.","properties":{"value":{"description":"Language identifier used by the audience filter.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.languages.values.items.[INDEX].value","typeLabel":"string"}},"required":["value"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.languages.values.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.languages.values","typeLabel":"object[]"}},"required":["type","values"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.languages","typeLabel":"object"},"specializations":{"additionalProperties":false,"description":"Required expert specializations.","properties":{"type":{"description":"Matching rule: `and` requires all selected specializations; `or` requires at least one.","enum":["or","and"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.specializations.type","typeLabel":"enum\u003cstring>"},"values":{"description":"Specializations to match; an empty array applies no specialization restriction.","items":{"additionalProperties":false,"description":"Selected expert specialization.","properties":{"qualificationId":{"description":"Qualification ID returned with the specialization.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.specializations.values.items.[INDEX].qualificationId","typeLabel":"string"},"value":{"description":"Specialization name returned by the specializations endpoint.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.specializations.values.items.[INDEX].value","typeLabel":"string"}},"required":["value","qualificationId"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.specializations.values.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.specializations.values","typeLabel":"object[]"}},"required":["type","values"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience.specializations","typeLabel":"object"}},"required":["languages","specializations","countries"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audience","typeLabel":"object"},"audienceType":{"const":"human","description":"Task performer: `human` for experts or `synthetic` for model-generated answers.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.audienceType","typeLabel":"string"},"pricePerTask":{"description":"Price per expert task in US dollars.","type":"number","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.pricePerTask","typeLabel":"number"},"timeForTask":{"description":"Expected task completion time in seconds.","type":"number","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.timeForTask","typeLabel":"number"},"verifiedExperts":{"description":"Whether experts must have verified identities.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.verifiedExperts","typeLabel":"boolean"},"expertListId":{"oneOf":[{"type":"string","description":"Expert list the experts come from, with prefix `exl.`. Requires `audienceMode: service`. `null` detaches the list. Omitted when no list is attached.","pattern":"^exl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.expertListId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Expert list the experts come from, with prefix `exl.`. Requires `audienceMode: service`. `null` detaches the list. Omitted when no list is attached.","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.expertListId.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.expertListId","typeLabel":"string | null"},"perExpertCapEnabled":{"default":false,"description":"Whether to limit how many tasks each expert may submit; defaults to false.","type":"boolean","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.perExpertCapEnabled","typeLabel":"boolean"},"perExpertCapValue":{"default":1,"description":"Maximum tasks per expert when the cap is enabled, from 1 to 50; defaults to 1.","exclusiveMinimum":0,"maximum":50,"type":"integer","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing.perExpertCapValue","typeLabel":"integer"}},"required":["verifiedExperts","audience","pricePerTask","timeForTask","audienceType"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceAndPricing","typeLabel":"object"},"audienceMode":{"description":"How the node finds experts. `legacy`: audience filters and smart search. `service`: the audience service, which can also take experts from an expert list. Only teams with the audience service enabled can use `service`. Omitted when `legacy`.","enum":["legacy","service"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.audienceMode","typeLabel":"enum\u003cstring>"},"checks":{"additionalProperties":{"description":"Test cases for this check type.","items":{"description":"One configured check case.","properties":{"id":{"description":"Identifier of the check case.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.checks.additionalProperties.items.[INDEX].id","typeLabel":"string"},"input":{"oneOf":[{"type":"string","description":"Check input as JSON text, or JSON values encoded as strings and keyed by field ID.","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.checks.additionalProperties.items.[INDEX].input.oneOf.0","typeLabel":"string"},{"type":"object","description":"Check input as JSON text, or JSON values encoded as strings and keyed by field ID.","additionalProperties":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.checks.additionalProperties.items.[INDEX].input.oneOf.1.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.checks.additionalProperties.items.[INDEX].input.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.checks.additionalProperties.items.[INDEX].input","typeLabel":"string | object"},"name":{"description":"Display name of the check case.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.checks.additionalProperties.items.[INDEX].name","typeLabel":"string"}},"required":["id","name","input"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.checks.additionalProperties.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.checks.additionalProperties","typeLabel":"object[]"},"description":"Configured test inputs grouped by check type; absent when no tests are configured.","propertyNames":{"enum":["ui","llmqa","annotation_qa","qc_lint","ui_types_lint","exam_dataset"],"type":"string"},"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.checks","typeLabel":"object"},"exam":{"additionalProperties":false,"description":"Qualification exam settings; omitted settings use a disabled one-task exam.","properties":{"enabled":{"description":"Whether experts must pass an exam before receiving regular tasks.","type":"boolean","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.enabled","typeLabel":"boolean"},"gradedEntities":{"description":"Entities and grading rules used in the exam.","items":{"additionalProperties":false,"description":"Grading rule for one entity.","properties":{"customInstruction":{"description":"Instruction for custom reference-answer comparison.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.gradedEntities.items.[INDEX].customInstruction","typeLabel":"string"},"disabledCriterionIds":{"description":"UUIDs of quality criteria excluded from exam grading.","items":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.gradedEntities.items.[INDEX].disabledCriterionIds.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.gradedEntities.items.[INDEX].disabledCriterionIds","typeLabel":"string\u003cuuid>[]"},"groundTruthType":{"description":"Reference comparison: `direct` compares values directly; `custom` uses the supplied instruction.","enum":["direct","custom"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.gradedEntities.items.[INDEX].groundTruthType","typeLabel":"enum\u003cstring>"},"mode":{"description":"Grading mode: `ground_truth` compares with reference answers, `quality_criteria` applies quality requirements, and `not_graded` excludes the entity from grading.","enum":["ground_truth","quality_criteria","not_graded"],"type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.gradedEntities.items.[INDEX].mode","typeLabel":"enum\u003cstring>"},"targetEntity":{"description":"Field identifier of the entity being graded.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.gradedEntities.items.[INDEX].targetEntity","typeLabel":"string"}},"required":["targetEntity","mode","groundTruthType","customInstruction","disabledCriterionIds"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.gradedEntities.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.gradedEntities","typeLabel":"object[]"},"passThreshold":{"description":"Minimum number of exam tasks an expert must pass.","maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.passThreshold","typeLabel":"integer"},"tasksPerExpert":{"description":"Number of exam tasks each expert receives.","maximum":9007199254740991,"minimum":1,"type":"integer","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.tasksPerExpert","typeLabel":"integer"},"goldenDatasetId":{"description":"Dataset ID with prefix `ds.` containing reference answers; absent when no reference dataset is selected.","pattern":"^ds\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam.goldenDatasetId","typeLabel":"string"}},"required":["enabled","gradedEntities","tasksPerExpert","passThreshold"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.exam","typeLabel":"object"},"offboardingRules":{"default":[],"description":"Rules for excluding experts based on answer quality; defaults to an empty array.","items":{"additionalProperties":false,"description":"One expert-exclusion rule.","properties":{"id":{"description":"Identifier of the rule, formatted as a UUID.","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.offboardingRules.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"agreementScale":{"description":"Field used to measure agreement; absent when no field is selected.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.offboardingRules.items.[INDEX].agreementScale","typeLabel":"string"},"type":{"description":"Rule type: `mv_agreement` checks agreement with the majority answer; absent for an unspecified rule.","enum":["mv_agreement"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.offboardingRules.items.[INDEX].type","typeLabel":"enum\u003cstring>"}},"required":["id"],"type":"object","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.offboardingRules.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.offboardingRules","typeLabel":"object[]"},"qualityAssurance":{"oneOf":[{"type":"object","description":"How answers are checked for quality.","default":{"llmQaModelId":"gpt-5.6-terra","qaMode":"llm_only"},"required":["qaMode"],"properties":{"qaMode":{"const":"llm_only","description":"Review mode: `llm_only` uses LLM checks, `human_only` uses human review, and `hybrid` combines them.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityAssurance.oneOf.0.qaMode","typeLabel":"string"},"llmQaModelId":{"default":"gpt-5.6-terra","description":"Model identifier for LLM quality checks.","enum":["gpt-5.6-terra","gpt-5.6-luna","gpt-5.4","gpt-5.4-mini","gpt-5","gpt-5-mini","claude-sonnet-4-6"],"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityAssurance.oneOf.0.llmQaModelId","typeLabel":"enum\u003cstring>"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityAssurance.oneOf.0","typeLabel":"object"},{"type":"object","description":"How answers are checked for quality.","default":{"llmQaModelId":"gpt-5.6-terra","qaMode":"llm_only"},"required":["qaMode"],"properties":{"qaMode":{"const":"none","description":"Review mode: `llm_only` uses LLM checks, `human_only` uses human review, and `hybrid` combines them.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityAssurance.oneOf.1.qaMode","typeLabel":"string"}},"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityAssurance.oneOf.1","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.qualityAssurance","typeLabel":"object"},"reuseAudienceWithNodeId":{"oneOf":[{"type":"object","description":"Node whose expert audience is reused, or null when no audience is reused.","required":["pipelineId","nodeId"],"properties":{"nodeId":{"description":"Node ID whose qualified experts are reused.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.reuseAudienceWithNodeId.oneOf.0.nodeId","typeLabel":"string"},"pipelineId":{"description":"Pipeline ID with prefix `pl.` containing the source audience.","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.reuseAudienceWithNodeId.oneOf.0.pipelineId","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.reuseAudienceWithNodeId.oneOf.0","typeLabel":"object"},{"type":"null","description":"Node whose expert audience is reused, or null when no audience is reused.","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.reuseAudienceWithNodeId.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.reuseAudienceWithNodeId","typeLabel":"object | null"},"smartSearch":{"oneOf":[{"type":"object","description":"Expert recruitment criteria, or null when no recruitment brief is configured.","required":["briefDescription","projectDescription","extraHardRequirements","relevanceCriteria","typicalJobTitles","idealCandidateProfile","whoIsNotAFit"],"properties":{"briefDescription":{"description":"Short description of the expert role.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.briefDescription","typeLabel":"string"},"extraHardRequirements":{"description":"Mandatory qualifications for candidate experts.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.extraHardRequirements.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.extraHardRequirements","typeLabel":"string[]"},"idealCandidateProfile":{"description":"Description of an ideal candidate.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.idealCandidateProfile","typeLabel":"string"},"projectDescription":{"oneOf":[{"description":"Project context for recruitment, or null when none is supplied.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.projectDescription.oneOf.0","typeLabel":"string"},{"description":"Project context for recruitment, or null when none is supplied.","type":"null","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.projectDescription.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.projectDescription","typeLabel":"string | null"},"relevanceCriteria":{"description":"Criteria used to judge whether a candidate fits the task.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.relevanceCriteria.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.relevanceCriteria","typeLabel":"string[]"},"typicalJobTitles":{"description":"Job titles commonly held by suitable experts.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.typicalJobTitles.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.typicalJobTitles","typeLabel":"string[]"},"whoIsNotAFit":{"description":"Reasons a candidate would be unsuitable.","items":{"type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.whoIsNotAFit.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.whoIsNotAFit","typeLabel":"string[]"},"sourceFingerprint":{"description":"Fingerprint of the source brief; absent when none is recorded.","type":"string","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0.sourceFingerprint","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.0","typeLabel":"object"},{"type":"null","description":"Expert recruitment criteria, or null when no recruitment brief is configured.","uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch.oneOf.1","typeLabel":"null"}],"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings.smartSearch","typeLabel":"object | null"}},"required":["about","publicName","entities","qualityCriteria","instruction","ui","overlap","onboarding"],"type":"object","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.settings","typeLabel":"object"},"type":{"const":"quorum","description":"Node type: `root` supplies Start and End, `code` runs Python, `generation` creates answers, `match` routes items, and `quorum` combines expert answers.","type":"string","isRequired":true,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4.type","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"graph.nodes.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"graph.nodes.items.[INDEX]","typeLabel":"object"},"maxItems":500,"type":"array","isRequired":true,"uniqueKey":"graph.nodes","typeLabel":"object[]"},"version":{"const":1,"description":"Graph format version; always 1.","type":"number","isRequired":true,"uniqueKey":"graph.version","typeLabel":"number"},"layout":{"additionalProperties":{"additionalProperties":{"type":"object","_tupleOriginal":true,"properties":{"[0]":{"description":"X","type":"number","uniqueKey":"graph.layout.additionalProperties.additionalProperties.[0]","typeLabel":"number"},"[1]":{"description":"Y","type":"number","uniqueKey":"graph.layout.additionalProperties.additionalProperties.[1]","typeLabel":"number"}},"uniqueKey":"graph.layout.additionalProperties.additionalProperties","typeLabel":"tuple"},"maxProperties":2,"propertyNames":{"pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string"},"type":"object","uniqueKey":"graph.layout.additionalProperties","typeLabel":"object"},"description":"Optional node positions for the visual editor, keyed by node ID and block group; each position is an [x, y] pair.","maxProperties":500,"propertyNames":{"pattern":"^(?!(?:__proto__|constructor|prototype)$).+$","type":"string"},"type":"object","uniqueKey":"graph.layout","typeLabel":"object"}},"required":["version","fields","nodes","connections"],"type":"object","description":"Complete pipeline graph in version 1 of the public graph format.","isRequired":true,"uniqueKey":"graph","typeLabel":"object"}},"required":["graph"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"graph":{"connections":[{"from":{"handle":"\u003cstring>","node":"\u003cstring>"},"settings":{},"to":{"handle":"\u003cstring>","node":"\u003cstring>"}}],"fields":[{"id":"\u003cstring>","jsonSchema":{"additionalProperties":true,"allOf":["\u003cunknown>"],"anyOf":["\u003cunknown>"],"const":"\u003cstring>","default":"\u003cstring>","description":"\u003cstring>","enum":["\u003cstring>"],"examples":["\u003cstring>"],"exclusiveMaximum":123,"exclusiveMinimum":123,"format":"\u003cstring>","items":"\u003cunknown>","maxItems":4503599627370495,"maxLength":4503599627370495,"maximum":123,"minItems":4503599627370495,"minLength":4503599627370495,"minimum":123,"oneOf":["\u003cunknown>"],"pattern":"\u003cstring>","properties":{},"required":["\u003cstring>"],"title":"\u003cstring>","uniqueItems":true},"name":"\u003cstring>"}],"nodes":[{"id":"\u003cstring>","settings":{"completedFieldProxies":{"input":[{"id":"\u003cstring>","optional":true}]},"startedFieldProxies":{"output":[{"id":"\u003cstring>","optional":true}]},"datasetId":"\u003cstring>","itemFilter":{"createdBefore":"2023-11-07T05:31:56Z","excludeParts":[{"fieldId":"\u003cstring>","names":["\u003cstring>"]}],"fieldSources":[{"fieldId":"\u003cstring>","sources":[{"type":"user","userId":"\u003cstring>"}]}],"fieldValues":[{"fieldId":"\u003cstring>","jsonPath":"\u003cstring>","value":"\u003cstring>","latestOnly":true,"sources":[]}],"missingRevisionFields":["\u003cstring>"]},"itemLimit":123},"type":"root"}],"version":1,"layout":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"49b597b2-2a38-4983-82e6-6181e2e7157d":{"content":{"application/json":{"schema":{"description":"Configuration errors, check status, and matching checks for a submitted pipeline graph.","properties":{"checks":{"description":"Checks whose results match the submitted graph configuration.","items":{"description":"An asynchronous pipeline check job. Poll until status is succeeded or failed.","properties":{"checkId":{"description":"Identifier of the check defined for this node, such as `dataset-lint` on the Start node.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].checkId","typeLabel":"string"},"createdAt":{"description":"Time the check was started, as an ISO 8601 timestamp.","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].createdAt","typeLabel":"string\u003cdate-time>"},"id":{"description":"Check run ID with prefix `plcr.`.","pattern":"^plcr\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].id","typeLabel":"string"},"nodeId":{"description":"Identifier of the pipeline graph node to check.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].nodeId","typeLabel":"string"},"pipelineId":{"description":"Pipeline ID with prefix `pl.`.","pattern":"^pl\\.[0-9a-f]{8}-[0-9a-f]{4}-[7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].pipelineId","typeLabel":"string"},"result":{"description":"Output and structured findings returned by the check.","properties":{"output":{"oneOf":[{"type":"string","description":"JSON output produced by the check, or absent or null when no output is available.","uniqueKey":"checks.items.[INDEX].result.output.oneOf.0","typeLabel":"string"},{"type":"number","description":"JSON output produced by the check, or absent or null when no output is available.","uniqueKey":"checks.items.[INDEX].result.output.oneOf.1","typeLabel":"number"},{"type":"boolean","description":"JSON output produced by the check, or absent or null when no output is available.","uniqueKey":"checks.items.[INDEX].result.output.oneOf.2","typeLabel":"boolean"},{"type":"null","description":"JSON output produced by the check, or absent or null when no output is available.","uniqueKey":"checks.items.[INDEX].result.output.oneOf.3","typeLabel":"null"},{"type":"array","items":{"oneOf":[{}],"uniqueKey":"checks.items.[INDEX].result.output.oneOf.4.items.[INDEX]","typeLabel":"any"},"description":"JSON output produced by the check, or absent or null when no output is available.","uniqueKey":"checks.items.[INDEX].result.output.oneOf.4","typeLabel":"any[]"},{"type":"object","description":"JSON output produced by the check, or absent or null when no output is available.","uniqueKey":"checks.items.[INDEX].result.output.oneOf.5","typeLabel":"object"},{"type":"null","description":"JSON output produced by the check, or absent or null when no output is available.","uniqueKey":"checks.items.[INDEX].result.output.oneOf.6","typeLabel":"null"}],"uniqueKey":"checks.items.[INDEX].result.output","typeLabel":"string · number · boolean · null · any[] · object · null"},"report":{"oneOf":[{"type":"object","description":"Structured check findings, or absent or null when the check has no report.","required":["findings","checkedItemCount"],"properties":{"checkedItemCount":{"description":"Number of dataset items examined by this check.","maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.checkedItemCount","typeLabel":"integer"},"findings":{"description":"Findings produced by this check.","items":{"oneOf":[{"type":"object","description":"One check finding.","required":["type","fieldProxyId","fieldName","itemCount","sampleItemIds","explanation"],"properties":{"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.0.explanation","typeLabel":"string"},"fieldName":{"description":"Name of the affected field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.0.fieldName","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the affected pipeline field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.0.fieldProxyId","typeLabel":"string"},"itemCount":{"description":"Number of dataset items affected by this finding.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.0.itemCount","typeLabel":"integer"},"sampleItemIds":{"description":"Sample of affected dataset item IDs.","items":{"type":"string","uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.0.sampleItemIds.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.0.sampleItemIds","typeLabel":"string[]"},"type":{"const":"missing_required_values","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"One check finding.","required":["type","fieldProxyId","fieldName","explanation"],"properties":{"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.1.explanation","typeLabel":"string"},"fieldName":{"description":"Name of the affected field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.1.fieldName","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the affected pipeline field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.1.fieldProxyId","typeLabel":"string"},"type":{"const":"field_missing","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"One check finding.","required":["type","explanation"],"properties":{"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.2.explanation","typeLabel":"string"},"type":{"const":"no_items_matched","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.2.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0.findings","typeLabel":"object[]"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.0","typeLabel":"object"},{"type":"object","description":"Structured check findings, or absent or null when the check has no report.","required":["findings","truncatedFindingCount"],"properties":{"findings":{"description":"Findings produced by this check.","items":{"description":"One check finding.","properties":{"message":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.1.findings.items.[INDEX].message","typeLabel":"string"},"settingName":{"description":"Node setting to which this finding applies.","enum":["code","data","preprocess","postprocess","constants"],"type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.1.findings.items.[INDEX].settingName","typeLabel":"enum\u003cstring>"},"severity":{"description":"Finding severity: `error` blocks validation and `warning` calls for review.","enum":["error","warning"],"type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.1.findings.items.[INDEX].severity","typeLabel":"enum\u003cstring>"}},"required":["settingName","severity","message"],"type":"object","uniqueKey":"checks.items.[INDEX].result.report.oneOf.1.findings.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.1.findings","typeLabel":"object[]"},"truncatedFindingCount":{"description":"Number of additional findings omitted from the report.","maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.1.truncatedFindingCount","typeLabel":"integer"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.1","typeLabel":"object"},{"type":"object","description":"Structured check findings, or absent or null when the check has no report.","required":["findings","checkedItemCount"],"properties":{"checkedItemCount":{"description":"Number of dataset items examined by this check.","maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.checkedItemCount","typeLabel":"integer"},"findings":{"description":"Findings produced by this check.","items":{"oneOf":[{"type":"object","description":"One check finding.","required":["type","entityName","fieldProxyId","explanation"],"properties":{"entityName":{"description":"Name of the affected task entity.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.0.entityName","typeLabel":"string"},"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.0.explanation","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the affected pipeline field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.0.fieldProxyId","typeLabel":"string"},"type":{"const":"golden_field_missing","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"One check finding.","required":["type","entityName","fieldProxyId","itemCount","sampleItemIds","explanation"],"properties":{"entityName":{"description":"Name of the affected task entity.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.1.entityName","typeLabel":"string"},"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.1.explanation","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the affected pipeline field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.1.fieldProxyId","typeLabel":"string"},"itemCount":{"description":"Number of dataset items affected by this finding.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.1.itemCount","typeLabel":"integer"},"sampleItemIds":{"description":"Sample of affected dataset item IDs.","items":{"type":"string","uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.1.sampleItemIds.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.1.sampleItemIds","typeLabel":"string[]"},"type":{"const":"missing_golden_values","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.1.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"One check finding.","required":["type","entityName","fieldProxyId","itemCount","sampleItemIds","explanation"],"properties":{"entityName":{"description":"Name of the affected task entity.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.2.entityName","typeLabel":"string"},"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.2.explanation","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the affected pipeline field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.2.fieldProxyId","typeLabel":"string"},"itemCount":{"description":"Number of dataset items affected by this finding.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.2.itemCount","typeLabel":"integer"},"sampleItemIds":{"description":"Sample of affected dataset item IDs.","items":{"type":"string","uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.2.sampleItemIds.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.2.sampleItemIds","typeLabel":"string[]"},"type":{"const":"invalid_golden_values","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.2.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","description":"One check finding.","required":["type","fieldName","fieldProxyId","itemCount","sampleItemIds","explanation"],"properties":{"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.3.explanation","typeLabel":"string"},"fieldName":{"description":"Name of the affected field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.3.fieldName","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the affected pipeline field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.3.fieldProxyId","typeLabel":"string"},"itemCount":{"description":"Number of dataset items affected by this finding.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.3.itemCount","typeLabel":"integer"},"sampleItemIds":{"description":"Sample of affected dataset item IDs.","items":{"type":"string","uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.3.sampleItemIds.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.3.sampleItemIds","typeLabel":"string[]"},"type":{"const":"missing_input_values","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.3.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","description":"One check finding.","required":["type","fieldName","fieldProxyId","explanation"],"properties":{"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.4.explanation","typeLabel":"string"},"fieldName":{"description":"Name of the affected field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.4.fieldName","typeLabel":"string"},"fieldProxyId":{"description":"Identifier of the affected pipeline field.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.4.fieldProxyId","typeLabel":"string"},"type":{"const":"input_field_missing","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.4.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","description":"One check finding.","required":["type","explanation"],"properties":{"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.5.explanation","typeLabel":"string"},"type":{"const":"no_items","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.5.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.5","typeLabel":"object"},{"type":"object","description":"One check finding.","required":["type","itemCount","tasksPerExpert","explanation"],"properties":{"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.6.explanation","typeLabel":"string"},"itemCount":{"description":"Number of dataset items affected by this finding.","maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.6.itemCount","typeLabel":"integer"},"tasksPerExpert":{"description":"Number of exam tasks required per expert.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.6.tasksPerExpert","typeLabel":"integer"},"type":{"const":"not_enough_items","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.6.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.6","typeLabel":"object"},{"type":"object","description":"One check finding.","required":["type","itemCount","explanation"],"properties":{"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.7.explanation","typeLabel":"string"},"itemCount":{"description":"Number of dataset items affected by this finding.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.7.itemCount","typeLabel":"integer"},"type":{"const":"too_many_items","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.7.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.7","typeLabel":"object"},{"type":"object","description":"One check finding.","required":["type","totalValueBytes","explanation"],"properties":{"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.8.explanation","typeLabel":"string"},"totalValueBytes":{"description":"Combined size of the reference-answer values, in bytes.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.8.totalValueBytes","typeLabel":"integer"},"type":{"const":"golden_values_too_large","description":"Finding category describing missing or invalid fields, values, or exam examples.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.8.type","typeLabel":"string"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX].oneOf.8","typeLabel":"object"}],"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2.findings","typeLabel":"object[]"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.2","typeLabel":"object"},{"type":"object","description":"Structured check findings, or absent or null when the check has no report.","required":["findings"],"properties":{"findings":{"description":"Findings produced by this check.","items":{"description":"One check finding.","properties":{"criterionId":{"description":"Identifier of the affected quality criterion.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.3.findings.items.[INDEX].criterionId","typeLabel":"string"},"explanation":{"description":"Explanation of the finding.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.3.findings.items.[INDEX].explanation","typeLabel":"string"},"flag":{"description":"Criterion issue: `redundant` duplicates another criterion; `guideline_conflict` contradicts instructions; `entity_irrelevant` targets the wrong entity; `not_in_ui` refers to an undefined entity; `not_atomic` combines unrelated checks; `measures_input_not_signal` grades supplied inputs; `unanchored_subjective` lacks a clear standard; `ui_check` belongs in form validation; `dataset_level` requires comparing items.","enum":["redundant","guideline_conflict","entity_irrelevant","not_in_ui","not_atomic","measures_input_not_signal","unanchored_subjective","ui_check","dataset_level"],"type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.3.findings.items.[INDEX].flag","typeLabel":"enum\u003cstring>"},"settingName":{"description":"Node setting to which this finding applies.","enum":["qualityElement","targetEntity","thresholds.pass","thresholds.fail"],"type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.3.findings.items.[INDEX].settingName","typeLabel":"enum\u003cstring>"}},"required":["criterionId","settingName","flag","explanation"],"type":"object","uniqueKey":"checks.items.[INDEX].result.report.oneOf.3.findings.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.3.findings","typeLabel":"object[]"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.3","typeLabel":"object"},{"type":"object","description":"Structured check findings, or absent or null when the check has no report.","required":["tokens"],"properties":{"tokens":{"description":"Tokens used by a synthetic-generation check.","properties":{"cached":{"description":"Number of input tokens served from cache.","maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.4.tokens.cached","typeLabel":"integer"},"input":{"description":"Number of input tokens used.","maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.4.tokens.input","typeLabel":"integer"},"output":{"description":"Number of output tokens generated.","maximum":9007199254740991,"minimum":0,"type":"integer","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.4.tokens.output","typeLabel":"integer"}},"required":["input","cached","output"],"type":"object","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.4.tokens","typeLabel":"object"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.4","typeLabel":"object"},{"type":"object","description":"Structured check findings, or absent or null when the check has no report.","required":["results"],"properties":{"results":{"description":"Quality-check verdict for each criterion.","items":{"description":"One criterion verdict.","properties":{"criterionId":{"description":"Identifier of the assessed quality criterion.","type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.5.results.items.[INDEX].criterionId","typeLabel":"string"},"verdict":{"description":"Assessment outcome: `pass` or `fail`; `unable_to_process`, `incorrect_data`, `jsonpath_error`, and `error` describe evaluation failures; `skipped` means the criterion was not evaluated.","enum":["pass","fail","unable_to_process","incorrect_data","jsonpath_error","error","skipped"],"type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.5.results.items.[INDEX].verdict","typeLabel":"enum\u003cstring>"}},"required":["criterionId","verdict"],"type":"object","uniqueKey":"checks.items.[INDEX].result.report.oneOf.5.results.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"checks.items.[INDEX].result.report.oneOf.5.results","typeLabel":"object[]"}},"uniqueKey":"checks.items.[INDEX].result.report.oneOf.5","typeLabel":"object"},{"type":"null","description":"Structured check findings, or absent or null when the check has no report.","uniqueKey":"checks.items.[INDEX].result.report.oneOf.6","typeLabel":"null"}],"uniqueKey":"checks.items.[INDEX].result.report","typeLabel":"object · object · object · object · object · object · null"}},"type":"object","isRequired":true,"uniqueKey":"checks.items.[INDEX].result","typeLabel":"object"},"status":{"description":"Check state: `pending` while queued, `running` while executing, `succeeded` when execution finishes, or `failed` after an execution error; inspect `result.report` for findings.","enum":["pending","running","succeeded","failed"],"type":"string","isRequired":true,"uniqueKey":"checks.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"error":{"oneOf":[{"description":"Execution error message, or absent or null when no error is recorded.","type":"string","uniqueKey":"checks.items.[INDEX].error.oneOf.0","typeLabel":"string"},{"description":"Execution error message, or absent or null when no error is recorded.","type":"null","uniqueKey":"checks.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"uniqueKey":"checks.items.[INDEX].error","typeLabel":"string | null"}},"required":["id","pipelineId","nodeId","checkId","status","createdAt","result"],"type":"object","uniqueKey":"checks.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"checks","typeLabel":"object[]"},"issues":{"description":"Configuration and check findings for the submitted graph.","items":{"description":"One platform validation finding on a submitted pipeline graph.","properties":{"code":{"description":"Machine-readable code identifying the validation issue.","type":"string","isRequired":true,"uniqueKey":"issues.items.[INDEX].code","typeLabel":"string"},"message":{"description":"Explanation of the validation issue.","type":"string","isRequired":true,"uniqueKey":"issues.items.[INDEX].message","typeLabel":"string"},"severity":{"description":"Finding severity: `error` prevents validation from passing; `warning` reports a non-blocking issue.","enum":["error","warning"],"type":"string","isRequired":true,"uniqueKey":"issues.items.[INDEX].severity","typeLabel":"enum\u003cstring>"},"checkId":{"description":"Related check ID; absent when the issue does not refer to a check.","type":"string","uniqueKey":"issues.items.[INDEX].checkId","typeLabel":"string"},"nodeId":{"description":"Affected node ID; absent for issues that apply to the whole graph.","type":"string","uniqueKey":"issues.items.[INDEX].nodeId","typeLabel":"string"}},"required":["severity","code","message"],"type":"object","uniqueKey":"issues.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"issues","typeLabel":"object[]"},"valid":{"description":"Whether the submitted graph has no validation errors.","type":"boolean","isRequired":true,"uniqueKey":"valid","typeLabel":"boolean"}},"required":["valid","issues","checks"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"checks":[{"checkId":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","id":"\u003cstring>","nodeId":"\u003cstring>","pipelineId":"\u003cstring>","result":{"output":"\u003cstring>","report":{"checkedItemCount":4503599627370495,"findings":[{"explanation":"\u003cstring>","fieldName":"\u003cstring>","fieldProxyId":"\u003cstring>","itemCount":123,"sampleItemIds":["\u003cstring>"],"type":"missing_required_values"}]}},"status":"pending","error":"\u003cstring>"}],"issues":[{"code":"\u003cstring>","message":"\u003cstring>","severity":"error","checkId":"\u003cstring>","nodeId":"\u003cstring>"}],"valid":true}}},"exampleType":"generated"}},"description":"Validation report","headers":{"RateLimit-Limit":{"description":"The maximum number of requests allowed in the current window.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"The rate limit policy (e.g., \"60;w=60\").","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"The number of requests remaining in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"The number of seconds until the current window resets.","schema":{"type":"integer"}},"X-Request-Id":{"description":"The request id: the X-Request-Id you sent when it is 1-128 characters of letters, digits, \".\", \"_\" or \"-\", otherwise a generated UUID. Present on every response, including errors; quote it when reporting a problem.","schema":{"type":"string"}}},"exampleType":"generated"},"61f22898-03a5-4bd6-8428-4f01f5508892":{"description":"Submitted graph is not a valid PipelineGraphV1 document","headers":{"RateLimit-Limit":{"description":"The maximum number of requests allowed in the current window.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"The rate limit policy (e.g., \"60;w=60\").","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"The number of requests remaining in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"The number of seconds until the current window resets.","schema":{"type":"integer"}},"X-Request-Id":{"description":"The request id: the X-Request-Id you sent when it is 1-128 characters of letters, digits, \".\", \"_\" or \"-\", otherwise a generated UUID. Present on every response, including errors; quote it when reporting a problem.","schema":{"type":"string"}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"473ff0a4-9181-4a96-85ca-20346ce52293":{"description":"Pipeline not found","headers":{"RateLimit-Limit":{"description":"The maximum number of requests allowed in the current window.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"The rate limit policy (e.g., \"60;w=60\").","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"The number of requests remaining in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"The number of seconds until the current window resets.","schema":{"type":"integer"}},"X-Request-Id":{"description":"The request id: the X-Request-Id you sent when it is 1-128 characters of letters, digits, \".\", \"_\" or \"-\", otherwise a generated UUID. Present on every response, including errors; quote it when reporting a problem.","schema":{"type":"string"}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"58addd6a-3b97-4e8d-8c95-cbadd33a9ce5":{"description":"Rate limit exceeded","headers":{"RateLimit-Limit":{"description":"The maximum number of requests allowed in the current window.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"The rate limit policy (e.g., \"60;w=60\").","schema":{"type":"string"}},"RateLimit-Remaining":{"description":"The number of requests remaining in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"The number of seconds until the current window resets.","schema":{"type":"integer"}},"X-Request-Id":{"description":"The request id: the X-Request-Id you sent when it is 1-128 characters of letters, digits, \".\", \"_\" or \"-\", otherwise a generated UUID. Present on every response, including errors; quote it when reporting a problem.","schema":{"type":"string"}}},"content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"6a488a3e-579a-4098-8375-fa2d9d194ac2":{"apiKeyAuth":{"description":"Enter `ApiKey \u003cyour-api-key>` in Authorization, including the `ApiKey ` prefix. In cURL and Python samples, `\u003capi-key>` means this full value. The TypeScript SDK adds the prefix for you.","in":"header","name":"Authorization","type":"apiKey","scopes":[],"schemeName":"apiKeyAuth"}},"37e6192b-0abe-4b60-b9c9-736b6acfb640":{"scopedTokenAuth":{"description":"Enter the project-scoped token as `pst_...` in X-Scoped-Token, without an `ApiKey ` prefix. Create a token with POST /projects/{projectId}/tokens.","in":"header","name":"X-Scoped-Token","type":"apiKey","scopes":[],"schemeName":"scopedTokenAuth"}}},"servers":{"be43ad82-416d-49c5-9f57-d6094305744c":{"url":"https://platform.toloka.ai/api/v2-beta"}},"schemas":{"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d":{"additionalProperties":false,"description":"JSON Schema defining the accepted values for a field.","properties":{"additionalProperties":{"oneOf":[{"type":"boolean","description":"Whether extra object properties are allowed, or the schema they must satisfy; omitted means allowed."},{"description":"Whether extra object properties are allowed, or the schema they must satisfy; omitted means allowed."}]},"allOf":{"description":"Combined schemas; a value must satisfy every schema when supplied.","items":{"$circularRef":"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d","description":"JSON Schema defining the accepted values for a field."},"minItems":1,"type":"array"},"anyOf":{"description":"Alternative schemas; a value must satisfy at least one when supplied.","items":{"$circularRef":"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d","description":"JSON Schema defining the accepted values for a field."},"minItems":1,"type":"array"},"const":{"oneOf":[{"type":"string","description":"Single required JSON value; omit when no exact value is required."},{"type":"number","description":"Single required JSON value; omit when no exact value is required."},{"type":"boolean","description":"Single required JSON value; omit when no exact value is required."},{"type":"null","description":"Single required JSON value; omit when no exact value is required."},{"type":"array","items":{"oneOf":[{}]},"description":"Single required JSON value; omit when no exact value is required."},{"type":"object","description":"Single required JSON value; omit when no exact value is required."}]},"default":{"oneOf":[{"type":"string","description":"Suggested default JSON value; omit when none is specified."},{"type":"number","description":"Suggested default JSON value; omit when none is specified."},{"type":"boolean","description":"Suggested default JSON value; omit when none is specified."},{"type":"null","description":"Suggested default JSON value; omit when none is specified."},{"type":"array","items":{"oneOf":[{}]},"description":"Suggested default JSON value; omit when none is specified."},{"type":"object","description":"Suggested default JSON value; omit when none is specified."}]},"description":{"description":"Optional explanation of the values accepted by this schema.","type":"string"},"enum":{"description":"Allowed JSON values; omit to allow any value satisfying the other constraints.","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"oneOf":[{}]}},{"type":"object"}]},"minItems":1,"type":"array"},"examples":{"description":"Example JSON values for this schema; omit when none are supplied.","items":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"oneOf":[{}]}},{"type":"object"}]},"type":"array"},"exclusiveMaximum":{"description":"Exclusive upper bound for a number; omit when none is required.","type":"number"},"exclusiveMinimum":{"description":"Exclusive lower bound for a number; omit when none is required.","type":"number"},"format":{"description":"String format, such as `date-time`, `email`, or `uri`; omit when no format is required.","type":"string"},"items":{"$circularRef":"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d","description":"Schema that every array item must satisfy; omit to leave items unrestricted."},"maxItems":{"description":"Maximum number of array items; omit for no upper bound.","maximum":9007199254740991,"minimum":0,"type":"integer"},"maxLength":{"description":"Maximum string length in Unicode characters; omit for no upper bound.","maximum":9007199254740991,"minimum":0,"type":"integer"},"maximum":{"description":"Inclusive upper bound for a number; omit for no upper bound.","type":"number"},"minItems":{"description":"Minimum number of array items; omit for no lower bound.","maximum":9007199254740991,"minimum":0,"type":"integer"},"minLength":{"description":"Minimum string length in Unicode characters; omit for no lower bound.","maximum":9007199254740991,"minimum":0,"type":"integer"},"minimum":{"description":"Inclusive lower bound for a number; omit for no lower bound.","type":"number"},"oneOf":{"description":"Alternative schemas; a value must satisfy exactly one when supplied.","items":{"$circularRef":"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d","description":"JSON Schema defining the accepted values for a field."},"minItems":1,"type":"array"},"pattern":{"description":"Regular expression a string must match; omit for no pattern constraint.","type":"string"},"properties":{"additionalProperties":{"$circularRef":"3c44df5b-0ddb-4eed-8a73-3e4f18c5db6d"},"propertyNames":{"type":"string"},"type":"object","description":"Schemas for named object properties; omit when none are specified."},"required":{"description":"Object property names that must be present; omit when none are required.","items":{"type":"string"},"type":"array"},"title":{"description":"Optional display title for this schema.","type":"string"},"type":{"oneOf":[{"type":"string","description":"Accepted JSON type or types; omit to allow any type.","enum":["string","number","integer","boolean","object","array","null"]},{"type":"array","items":{"enum":["string","number","integer","boolean","object","array","null"],"type":"string"},"description":"Accepted JSON type or types; omit to allow any type.","minItems":1}]},"uniqueItems":{"description":"Whether array items must be unique; omitted means duplicates are allowed.","type":"boolean"}},"type":"object"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"Enter `ApiKey \u003cyour-api-key>` in Authorization, including the `ApiKey ` prefix. In cURL and Python samples, `\u003capi-key>` means this full value. The TypeScript SDK adds the prefix for you.","in":"header","name":"Authorization","type":"apiKey","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"Authorization","type":"string","description":"Enter `ApiKey \u003cyour-api-key>` in Authorization, including the `ApiKey ` prefix. In cURL and Python samples, `\u003capi-key>` means this full value. The TypeScript SDK adds the prefix for you.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"Authorization"}],"title":"apiKeyAuth"},{"schemes":[{"scheme":{"description":"Enter the project-scoped token as `pst_...` in X-Scoped-Token, without an `ApiKey ` prefix. Create a token with POST /projects/{projectId}/tokens.","in":"header","name":"X-Scoped-Token","type":"apiKey","scopes":[],"schemeName":"scopedTokenAuth"},"schema":{"title":"X-Scoped-Token","type":"string","description":"Enter the project-scoped token as `pst_...` in X-Scoped-Token, without an `ApiKey ` prefix. Create a token with POST /projects/{projectId}/tokens.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"scopedTokenAuth","name":"X-Scoped-Token"}],"title":"scopedTokenAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"toloka-platform","siteName":"Toloka Platform","title":"Validate a pipeline graph - Toloka Platform","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T13:26:04.735Z","originalFileLocation":"api-reference/pipeline-graph/validate-pipeline-graph.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Send a graph to receive configuration findings and matching check results without saving it. Pending or running lints produce running_node_check warnings. A lint with no matching run produces the same warning during the first 60 seconds after graph activation, then not_ran_node_check afterward. Start lints with POST /api/v2-beta/pipelines/{pipelineId}/lints.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Toloka Platform\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_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=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Validate a pipeline graph - Toloka Platform\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send a graph to receive configuration findings and matching check results without saving it. Pending or running lints produce running_node_check warnings. A lint with no matching run produces the same warning during the first 60 seconds after graph activation, then not_ran_node_check afterward. Start lints with POST /api/v2-beta/pipelines/{pipelineId}/lints.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Toloka Platform\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/validate-pipeline-graph\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://toloka-platform.mintlify.site/docs/_mintlify/api/og/v2?division=Pipeline+graph\u0026amp;title=Validate+a+pipeline+graph\u0026amp;description=Send+a+graph+to+receive+configuration+findings+and+matching+check+results+without+saving+it.+Pending+or+running+lints+produce+%60running_node_check%60+warnings.+A+l\u0026amp;theme=4f0acd7e5281f22bad8ad665\u0026amp;signature=d8449b85a1b4144864cae7be8338dd147d630b8c4bc891554738c18bc8bcdffe\">\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=\"Validate a pipeline graph - Toloka Platform\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send a graph to receive configuration findings and matching check results without saving it. Pending or running lints produce running_node_check warnings. A lint with no matching run produces the same warning during the first 60 seconds after graph activation, then not_ran_node_check afterward. Start lints with POST /api/v2-beta/pipelines/{pipelineId}/lints.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://toloka-platform.mintlify.site/docs/_mintlify/api/og/v2?division=Pipeline+graph\u0026amp;title=Validate+a+pipeline+graph\u0026amp;description=Send+a+graph+to+receive+configuration+findings+and+matching+check+results+without+saving+it.+Pending+or+running+lints+produce+%60running_node_check%60+warnings.+A+l\u0026amp;theme=4f0acd7e5281f22bad8ad665\u0026amp;signature=d8449b85a1b4144864cae7be8338dd147d630b8c4bc891554738c18bc8bcdffe\">\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=\"/docs/mintlify-assets/_mintlify/favicons/toloka-platform/DF8VYWTGOtIk-J7s/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Toloka Platform\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#18181B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/validate-pipeline-graph\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/pipeline-graph/validate-pipeline-graph.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://toloka-platform.mintlify.dev/#organization\",\"name\":\"Toloka Platform\",\"url\":\"https://toloka-platform.mintlify.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/toloka-platform/fjh9GDGXaqVVguLv/logo/light.svg?fit=max\u0026auto=format\u0026n=fjh9GDGXaqVVguLv\u0026q=85\u0026s=9416e21160a0887c5e444512177d135c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://toloka-platform.mintlify.dev/docs#website\",\"name\":\"Toloka Platform\",\"url\":\"https://toloka-platform.mintlify.dev/docs\",\"publisher\":{\"@id\":\"https://toloka-platform.mintlify.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/validate-pipeline-graph#webpage\",\"url\":\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/validate-pipeline-graph\",\"name\":\"Validate a pipeline graph\",\"description\":\"Send a graph to receive configuration findings and matching check results without saving it. Pending or running lints produce running_node_check warnings. A lint with no matching run produces the same warning during the first 60 seconds after graph activation, then not_ran_node_check afterward. Start lints with POST /api/v2-beta/pipelines/{pipelineId}/lints.\",\"dateModified\":\"2026-11-09T13:26:04.735Z\",\"isPartOf\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/validate-pipeline-graph#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/validate-pipeline-graph#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HTTP API\",\"item\":\"https://toloka-platform.mintlify.dev/docs/api-reference/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pipeline graph\",\"item\":\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/get-pipeline-graph-snapshot\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Validate a pipeline graph\",\"item\":\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/validate-pipeline-graph\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/validate-pipeline-graph#apireference\",\"headline\":\"Validate a pipeline graph\",\"name\":\"Validate a pipeline graph\",\"description\":\"Send a graph to receive configuration findings and matching check results without saving it. Pending or running lints produce running_node_check warnings. A lint with no matching run produces the same warning during the first 60 seconds after graph activation, then not_ran_node_check afterward. Start lints with POST /api/v2-beta/pipelines/{pipelineId}/lints.\",\"url\":\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/validate-pipeline-graph\",\"mainEntityOfPage\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs/api-reference/pipeline-graph/validate-pipeline-graph#webpage\"},\"dateModified\":\"2026-11-09T13:26:04.735Z\",\"publisher\":{\"@id\":\"https://toloka-platform.mintlify.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Toloka Platform\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Toloka Platform","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":""}]},{"tab":"SDKs","icon":"boxes","pages":[{"title":"SDKs","href":"/sdk"}]},{"tab":"Reference","icon":"code","groups":[{"group":"Reference","pages":[{"title":"Reference","sidebarTitle":"Overview","href":"/reference"}]},{"group":"TypeScript SDK","pages":[{"title":"Client reference","sidebarTitle":"Client overview","href":"/sdk/reference/client-methods"},{"title":"createClient","sidebarTitle":"createClient()","href":"/sdk/reference/create-client"},{"title":"waitFor","sidebarTitle":"waitFor()","href":"/sdk/reference/wait-for"},{"title":"client.me()","sidebarTitle":"Account","href":"/sdk/reference/account/me"},{"group":"Projects","expanded":false,"pages":[{"title":"client.projects.listAll()","sidebarTitle":"listAll() / listPage()","href":"/sdk/reference/projects/list"},{"title":"client.projects.create()","sidebarTitle":"create()","href":"/sdk/reference/projects/create"},{"title":"client.projects.get()","sidebarTitle":"get()","href":"/sdk/reference/projects/get"},{"title":"client.projects.update()","sidebarTitle":"update()","href":"/sdk/reference/projects/update"},{"title":"client.projects.createToken()","sidebarTitle":"createToken()","href":"/sdk/reference/projects/create-token"},{"title":"client.projects.listAllTokens()","sidebarTitle":"listAllTokens() / listTokens()","href":"/sdk/reference/projects/list-tokens"},{"title":"client.projects.revokeAllTokens()","sidebarTitle":"revokeAllTokens()","href":"/sdk/reference/projects/revoke-all-tokens"},{"title":"client.projects.revokeToken()","sidebarTitle":"revokeToken()","href":"/sdk/reference/projects/revoke-token"},{"title":"client.projects.revokeCurrentToken()","sidebarTitle":"revokeCurrentToken()","href":"/sdk/reference/projects/revoke-current-token"}]},{"group":"Datasets","expanded":false,"pages":[{"title":"client.datasets.listAll()","sidebarTitle":"listAll() / listPage()","href":"/sdk/reference/datasets/list"},{"title":"client.datasets.create()","sidebarTitle":"create()","href":"/sdk/reference/datasets/create"},{"title":"client.datasets.get()","sidebarTitle":"get()","href":"/sdk/reference/datasets/get"},{"title":"client.datasets.listAllFields()","sidebarTitle":"listAllFields() / listFieldsPage()","href":"/sdk/reference/datasets/list-fields"},{"title":"client.datasets.createField()","sidebarTitle":"createField() / createFields()","href":"/sdk/reference/datasets/create-field"},{"title":"client.datasets.getInferredFields()","sidebarTitle":"getInferredFields()","href":"/sdk/reference/datasets/get-inferred-fields"},{"title":"client.datasets.appendItems()","sidebarTitle":"appendItems()","href":"/sdk/reference/datasets/append-items"},{"title":"client.datasets.listAllItems()","sidebarTitle":"listAllItems() / listItemsPage()","href":"/sdk/reference/datasets/list-items"},{"title":"client.datasets.createSlice()","sidebarTitle":"createSlice()","href":"/sdk/reference/datasets/create-slice"},{"title":"client.datasets.listSlicesPage()","sidebarTitle":"listSlicesPage()","href":"/sdk/reference/datasets/list-slices"},{"title":"client.datasets.getSlice()","sidebarTitle":"getSlice()","href":"/sdk/reference/datasets/get-slice"},{"title":"client.datasets.split()","sidebarTitle":"split()","href":"/sdk/reference/datasets/split"},{"title":"client.datasets.createFieldsFromUploadedRows()","sidebarTitle":"createFieldsFromUploadedRows()","href":"/sdk/reference/datasets/create-fields-from-uploaded-rows"},{"title":"client.datasets.startUpload()","sidebarTitle":"startUpload()","href":"/sdk/reference/datasets/start-upload"},{"title":"client.datasets.finalizeUpload()","sidebarTitle":"finalizeUpload()","href":"/sdk/reference/datasets/finalize-upload"},{"title":"client.datasets.cancelUpload()","sidebarTitle":"cancelUpload()","href":"/sdk/reference/datasets/cancel-upload"},{"title":"client.datasets.getUpload()","sidebarTitle":"getUpload()","href":"/sdk/reference/datasets/get-upload"},{"title":"client.datasets.startExport()","sidebarTitle":"startExport()","href":"/sdk/reference/datasets/start-export"},{"title":"client.datasets.getExport()","sidebarTitle":"getExport()","href":"/sdk/reference/datasets/get-export"}]},{"group":"Pipelines","expanded":false,"pages":[{"title":"client.pipelines.listAll()","sidebarTitle":"listAll() / listPage()","href":"/sdk/reference/pipelines/list"},{"title":"client.pipelines.get()","sidebarTitle":"get()","href":"/sdk/reference/pipelines/get"},{"title":"client.pipelines.update()","sidebarTitle":"update()","href":"/sdk/reference/pipelines/update"},{"title":"client.pipelines.import()","sidebarTitle":"import()","href":"/sdk/reference/pipelines/import"},{"title":"client.pipelines.attachDataset()","sidebarTitle":"attachDataset()","href":"/sdk/reference/pipelines/attach-dataset"},{"title":"client.pipelines.export()","sidebarTitle":"export()","href":"/sdk/reference/pipelines/export"},{"title":"client.pipelines.copy()","sidebarTitle":"copy()","href":"/sdk/reference/pipelines/copy"},{"title":"client.pipelines.estimateCost()","sidebarTitle":"estimateCost()","href":"/sdk/reference/pipelines/estimate-cost"},{"title":"client.pipelines.getGraph()","sidebarTitle":"getGraph()","href":"/sdk/reference/pipelines/get-graph"},{"title":"client.pipelines.replaceGraph()","sidebarTitle":"replaceGraph()","href":"/sdk/reference/pipelines/replace-graph"},{"title":"client.pipelines.validateGraph()","sidebarTitle":"validateGraph()","href":"/sdk/reference/pipelines/validate-graph"},{"title":"client.pipelines.patchNode()","sidebarTitle":"patchNode()","href":"/sdk/reference/pipelines/patch-node"}]},{"group":"Runs","expanded":false,"pages":[{"title":"client.runs.start()","sidebarTitle":"start()","href":"/sdk/reference/runs/start"},{"title":"client.runs.listAll()","sidebarTitle":"listAll() / listPage()","href":"/sdk/reference/runs/list"},{"title":"client.runs.get()","sidebarTitle":"get()","href":"/sdk/reference/runs/get"},{"title":"client.runs.cancel()","sidebarTitle":"cancel()","href":"/sdk/reference/runs/cancel"},{"title":"client.runs.listAllItems()","sidebarTitle":"listAllItems() / listItemsPage()","href":"/sdk/reference/runs/list-items"},{"title":"client.runs.getItem()","sidebarTitle":"getItem()","href":"/sdk/reference/runs/get-item"}]},{"group":"Checks","expanded":false,"pages":[{"title":"client.checks.list()","sidebarTitle":"list()","href":"/sdk/reference/checks/list"},{"title":"client.checks.start()","sidebarTitle":"start()","href":"/sdk/reference/checks/start"},{"title":"client.checks.runLints()","sidebarTitle":"runLints()","href":"/sdk/reference/checks/run-lints"},{"title":"client.checks.get()","sidebarTitle":"get()","href":"/sdk/reference/checks/get"}]},{"group":"Secrets","expanded":false,"pages":[{"title":"client.secrets.list()","sidebarTitle":"list()","href":"/sdk/reference/secrets/list"},{"title":"client.secrets.set()","sidebarTitle":"set()","href":"/sdk/reference/secrets/set"}]},{"group":"Files","expanded":false,"pages":[{"title":"client.files.list()","sidebarTitle":"list()","href":"/sdk/reference/files/list"},{"title":"client.files.startUpload()","sidebarTitle":"startUpload()","href":"/sdk/reference/files/start-upload"},{"title":"client.files.finalizeUpload()","sidebarTitle":"finalizeUpload()","href":"/sdk/reference/files/finalize-upload"},{"title":"client.files.delete()","sidebarTitle":"delete()","href":"/sdk/reference/files/delete"}]},{"title":"client.generationModels.list()","sidebarTitle":"Generation models","href":"/sdk/reference/generation-models/list"},{"title":"client.audience.specializations.listAll()","sidebarTitle":"Audience","href":"/sdk/reference/audience/list-specializations"},{"group":"Expert lists","expanded":false,"pages":[{"title":"client.expertLists.list()","sidebarTitle":"list()","href":"/sdk/reference/expert-lists/list"},{"title":"client.expertLists.create()","sidebarTitle":"create()","href":"/sdk/reference/expert-lists/create"},{"title":"client.expertLists.get()","sidebarTitle":"get()","href":"/sdk/reference/expert-lists/get"},{"title":"client.expertLists.update()","sidebarTitle":"update()","href":"/sdk/reference/expert-lists/update"},{"title":"client.expertLists.listExpertsPage()","sidebarTitle":"listExpertsPage()","href":"/sdk/reference/expert-lists/list-experts"},{"title":"client.expertLists.addExperts()","sidebarTitle":"addExperts()","href":"/sdk/reference/expert-lists/add-experts"},{"title":"client.expertLists.removeExperts()","sidebarTitle":"removeExperts()","href":"/sdk/reference/expert-lists/remove-experts"}]},{"group":"Expert ban list","expanded":false,"pages":[{"title":"client.expertBanList.get()","sidebarTitle":"get()","href":"/sdk/reference/expert-ban-list/get"},{"title":"client.expertBanList.listExpertsPage()","sidebarTitle":"listExpertsPage()","href":"/sdk/reference/expert-ban-list/list-experts"},{"title":"client.expertBanList.addExperts()","sidebarTitle":"addExperts()","href":"/sdk/reference/expert-ban-list/add-experts"},{"title":"client.expertBanList.removeExperts()","sidebarTitle":"removeExperts()","href":"/sdk/reference/expert-ban-list/remove-experts"}]},{"group":"Base models","expanded":false,"pages":[{"title":"client.baseModels.list()","sidebarTitle":"list()","href":"/sdk/reference/base-models/list"},{"title":"client.baseModels.get()","sidebarTitle":"get()","href":"/sdk/reference/base-models/get"}]},{"group":"Trainings","expanded":false,"pages":[{"title":"client.trainings.create()","sidebarTitle":"create()","href":"/sdk/reference/trainings/create"},{"title":"client.trainings.get()","sidebarTitle":"get()","href":"/sdk/reference/trainings/get"},{"title":"client.trainings.listAll()","sidebarTitle":"listAll() / listPage()","href":"/sdk/reference/trainings/list"},{"title":"client.trainings.updateMetadata()","sidebarTitle":"updateMetadata()","href":"/sdk/reference/trainings/update-metadata"},{"title":"client.trainings.replaceConfiguration()","sidebarTitle":"replaceConfiguration()","href":"/sdk/reference/trainings/replace-configuration"},{"title":"client.trainings.prepareCostEstimateInputs()","sidebarTitle":"prepareCostEstimateInputs()","href":"/sdk/reference/trainings/prepare-cost-estimate-inputs"},{"title":"client.trainings.estimateCost()","sidebarTitle":"estimateCost()","href":"/sdk/reference/trainings/estimate-cost"},{"title":"client.trainings.createRun()","sidebarTitle":"createRun()","href":"/sdk/reference/trainings/create-run"},{"title":"client.trainings.getRun()","sidebarTitle":"getRun()","href":"/sdk/reference/trainings/get-run"},{"title":"client.trainings.listAllRuns()","sidebarTitle":"listAllRuns() / listRunsPage()","href":"/sdk/reference/trainings/list-runs"},{"title":"client.trainings.getRunLogs()","sidebarTitle":"getRunLogs()","href":"/sdk/reference/trainings/get-run-logs"},{"title":"client.trainings.getRunMetrics()","sidebarTitle":"getRunMetrics()","href":"/sdk/reference/trainings/get-run-metrics"},{"title":"client.trainings.getRunMetricHistory()","sidebarTitle":"getRunMetricHistory()","href":"/sdk/reference/trainings/get-run-metric-history"},{"title":"client.trainings.cancelRun()","sidebarTitle":"cancelRun()","href":"/sdk/reference/trainings/cancel-run"},{"title":"client.trainings.resumeRun()","sidebarTitle":"resumeRun()","href":"/sdk/reference/trainings/resume-run"}]},{"group":"Models","expanded":false,"pages":[{"title":"client.models.listAll()","sidebarTitle":"listAll() / listPage()","href":"/sdk/reference/models/list"},{"title":"client.models.create()","sidebarTitle":"create()","href":"/sdk/reference/models/create"},{"title":"client.models.listAllVersions()","sidebarTitle":"listAllVersions() / listVersionsPage()","href":"/sdk/reference/models/list-versions"},{"title":"client.models.getVersion()","sidebarTitle":"getVersion()","href":"/sdk/reference/models/get-version"},{"title":"client.models.getVersionContent()","sidebarTitle":"getVersionContent()","href":"/sdk/reference/models/get-version-content"},{"title":"client.models.archive()","sidebarTitle":"archive()","href":"/sdk/reference/models/archive"},{"title":"client.models.get()","sidebarTitle":"get()","href":"/sdk/reference/models/get"}]},{"group":"Batch inference","expanded":false,"pages":[{"title":"client.batchInference.createRun()","sidebarTitle":"createRun()","href":"/sdk/reference/batch-inference/create-run"},{"title":"client.batchInference.listAllRuns()","sidebarTitle":"listAllRuns() / listRunsPage()","href":"/sdk/reference/batch-inference/list-runs"},{"title":"client.batchInference.getRun()","sidebarTitle":"getRun()","href":"/sdk/reference/batch-inference/get-run"},{"title":"client.batchInference.confirmRun()","sidebarTitle":"confirmRun()","href":"/sdk/reference/batch-inference/confirm-run"},{"title":"client.batchInference.resumeRun()","sidebarTitle":"resumeRun()","href":"/sdk/reference/batch-inference/resume-run"},{"title":"client.batchInference.cancelRun()","sidebarTitle":"cancelRun()","href":"/sdk/reference/batch-inference/cancel-run"}]},{"group":"Pipeline authoring","expanded":false,"pages":[{"title":"definePipeline","sidebarTitle":"definePipeline()","href":"/sdk/reference/define-pipeline"},{"title":"field","sidebarTitle":"field()","href":"/sdk/reference/field"},{"title":"connect","sidebarTitle":"connect()","href":"/sdk/reference/connect"},{"title":"root","sidebarTitle":"root()","href":"/sdk/reference/root"},{"title":"code","sidebarTitle":"code()","href":"/sdk/reference/code"},{"title":"generation","sidebarTitle":"generation()","href":"/sdk/reference/generation"},{"title":"quorum","sidebarTitle":"quorum()","href":"/sdk/reference/quorum"},{"title":"match","sidebarTitle":"match()","href":"/sdk/reference/match"},{"title":"validate","sidebarTitle":"validate()","href":"/sdk/reference/validate"}]}]},{"group":"CLI","pages":[{"title":"CLI reference","sidebarTitle":"Overview","href":"/cli/reference/index"},{"title":"toloka version","sidebarTitle":"version","href":"/cli/reference/version"},{"group":"config","expanded":false,"pages":[{"title":"toloka config","sidebarTitle":"config","href":"/cli/reference/config"},{"title":"toloka config get","sidebarTitle":"get","href":"/cli/reference/config/get"},{"title":"toloka config set","sidebarTitle":"set","href":"/cli/reference/config/set"}]},{"title":"toloka login","sidebarTitle":"login","href":"/cli/reference/login"},{"title":"toloka logout","sidebarTitle":"logout","href":"/cli/reference/logout"},{"title":"toloka auth-status","sidebarTitle":"auth-status","href":"/cli/reference/auth-status"},{"group":"project","expanded":false,"pages":[{"title":"toloka project","sidebarTitle":"project","href":"/cli/reference/project"},{"title":"toloka project list","sidebarTitle":"list","href":"/cli/reference/project/list"},{"title":"toloka project add","sidebarTitle":"add","href":"/cli/reference/project/add"},{"title":"toloka project switch","sidebarTitle":"switch","href":"/cli/reference/project/switch"},{"title":"toloka project current","sidebarTitle":"current","href":"/cli/reference/project/current"},{"title":"toloka project url","sidebarTitle":"url","href":"/cli/reference/project/url"},{"title":"toloka project remove","sidebarTitle":"remove","href":"/cli/reference/project/remove"},{"title":"toloka project untrack","sidebarTitle":"untrack","href":"/cli/reference/project/untrack"},{"title":"toloka project token","sidebarTitle":"token","href":"/cli/reference/project/token"},{"title":"toloka project tokens","sidebarTitle":"tokens","href":"/cli/reference/project/tokens"},{"title":"toloka project revoke-token","sidebarTitle":"revoke-token","href":"/cli/reference/project/revoke-token"},{"title":"toloka project revoke-tokens","sidebarTitle":"revoke-tokens","href":"/cli/reference/project/revoke-tokens"},{"title":"toloka project create","sidebarTitle":"create","href":"/cli/reference/project/create"}]},{"group":"audience","expanded":false,"pages":[{"title":"toloka audience","sidebarTitle":"audience","href":"/cli/reference/audience"},{"group":"specialization","expanded":false,"pages":[{"title":"toloka audience specialization","sidebarTitle":"specialization","href":"/cli/reference/audience/specialization"},{"title":"toloka audience specialization list","sidebarTitle":"list","href":"/cli/reference/audience/specialization/list"}]}]},{"group":"generation-model","expanded":false,"pages":[{"title":"toloka generation-model","sidebarTitle":"generation-model","href":"/cli/reference/generation-model"},{"title":"toloka generation-model list","sidebarTitle":"list","href":"/cli/reference/generation-model/list"}]},{"title":"toloka init","sidebarTitle":"init","href":"/cli/reference/init"},{"title":"toloka import","sidebarTitle":"import","href":"/cli/reference/import"},{"title":"toloka plan","sidebarTitle":"plan","href":"/cli/reference/plan"},{"title":"toloka validate","sidebarTitle":"validate","href":"/cli/reference/validate"},{"title":"toloka check","sidebarTitle":"check","href":"/cli/reference/check"},{"title":"toloka apply","sidebarTitle":"apply","href":"/cli/reference/apply"},{"group":"secret","expanded":false,"pages":[{"title":"toloka secret","sidebarTitle":"secret","href":"/cli/reference/secret"},{"title":"toloka secret set","sidebarTitle":"set","href":"/cli/reference/secret/set"}]},{"group":"expert-list","expanded":false,"pages":[{"title":"toloka expert-list","sidebarTitle":"expert-list","href":"/cli/reference/expert-list"},{"title":"toloka expert-list list","sidebarTitle":"list","href":"/cli/reference/expert-list/list"},{"title":"toloka expert-list create","sidebarTitle":"create","href":"/cli/reference/expert-list/create"},{"title":"toloka expert-list show","sidebarTitle":"show","href":"/cli/reference/expert-list/show"},{"title":"toloka expert-list rename","sidebarTitle":"rename","href":"/cli/reference/expert-list/rename"},{"title":"toloka expert-list hide","sidebarTitle":"hide","href":"/cli/reference/expert-list/hide"},{"title":"toloka expert-list unhide","sidebarTitle":"unhide","href":"/cli/reference/expert-list/unhide"},{"title":"toloka expert-list experts","sidebarTitle":"experts","href":"/cli/reference/expert-list/experts"},{"title":"toloka expert-list add","sidebarTitle":"add","href":"/cli/reference/expert-list/add"},{"title":"toloka expert-list remove","sidebarTitle":"remove","href":"/cli/reference/expert-list/remove"}]},{"group":"expert-ban-list","expanded":false,"pages":[{"title":"toloka expert-ban-list","sidebarTitle":"expert-ban-list","href":"/cli/reference/expert-ban-list"},{"title":"toloka expert-ban-list show","sidebarTitle":"show","href":"/cli/reference/expert-ban-list/show"},{"title":"toloka expert-ban-list experts","sidebarTitle":"experts","href":"/cli/reference/expert-ban-list/experts"},{"title":"toloka expert-ban-list add","sidebarTitle":"add","href":"/cli/reference/expert-ban-list/add"},{"title":"toloka expert-ban-list remove","sidebarTitle":"remove","href":"/cli/reference/expert-ban-list/remove"}]},{"group":"base-model","expanded":false,"pages":[{"title":"toloka base-model","sidebarTitle":"base-model","href":"/cli/reference/base-model"},{"title":"toloka base-model list","sidebarTitle":"list","href":"/cli/reference/base-model/list"},{"title":"toloka base-model get","sidebarTitle":"get","href":"/cli/reference/base-model/get"}]},{"group":"model","expanded":false,"pages":[{"title":"toloka model","sidebarTitle":"model","href":"/cli/reference/model"},{"title":"toloka model list","sidebarTitle":"list","href":"/cli/reference/model/list"},{"title":"toloka model get","sidebarTitle":"get","href":"/cli/reference/model/get"},{"title":"toloka model versions","sidebarTitle":"versions","href":"/cli/reference/model/versions"},{"title":"toloka model create","sidebarTitle":"create","href":"/cli/reference/model/create"},{"title":"toloka model archive","sidebarTitle":"archive","href":"/cli/reference/model/archive"},{"group":"version","expanded":false,"pages":[{"title":"toloka model version","sidebarTitle":"version","href":"/cli/reference/model/version"},{"title":"toloka model version download","sidebarTitle":"download","href":"/cli/reference/model/version/download"}]}]},{"group":"training","expanded":false,"pages":[{"title":"toloka training","sidebarTitle":"training","href":"/cli/reference/training"},{"title":"toloka training list","sidebarTitle":"list","href":"/cli/reference/training/list"},{"title":"toloka training get","sidebarTitle":"get","href":"/cli/reference/training/get"},{"title":"toloka training create","sidebarTitle":"create","href":"/cli/reference/training/create"},{"title":"toloka training update","sidebarTitle":"update","href":"/cli/reference/training/update"},{"title":"toloka training cost","sidebarTitle":"cost","href":"/cli/reference/training/cost"},{"title":"toloka training run","sidebarTitle":"run","href":"/cli/reference/training/run"},{"title":"toloka training runs","sidebarTitle":"runs","href":"/cli/reference/training/runs"},{"title":"toloka training status","sidebarTitle":"status","href":"/cli/reference/training/status"},{"title":"toloka training resume","sidebarTitle":"resume","href":"/cli/reference/training/resume"},{"title":"toloka training cancel","sidebarTitle":"cancel","href":"/cli/reference/training/cancel"},{"title":"toloka training metrics","sidebarTitle":"metrics","href":"/cli/reference/training/metrics"},{"title":"toloka training logs","sidebarTitle":"logs","href":"/cli/reference/training/logs"}]},{"group":"batch-inference","expanded":false,"pages":[{"title":"toloka batch-inference","sidebarTitle":"batch-inference","href":"/cli/reference/batch-inference"},{"title":"toloka batch-inference run","sidebarTitle":"run","href":"/cli/reference/batch-inference/run"},{"title":"toloka batch-inference list","sidebarTitle":"list","href":"/cli/reference/batch-inference/list"},{"title":"toloka batch-inference status","sidebarTitle":"status","href":"/cli/reference/batch-inference/status"},{"title":"toloka batch-inference confirm","sidebarTitle":"confirm","href":"/cli/reference/batch-inference/confirm"},{"title":"toloka batch-inference resume","sidebarTitle":"resume","href":"/cli/reference/batch-inference/resume"},{"title":"toloka batch-inference cancel","sidebarTitle":"cancel","href":"/cli/reference/batch-inference/cancel"}]},{"group":"dataset","expanded":false,"pages":[{"title":"toloka dataset","sidebarTitle":"dataset","href":"/cli/reference/dataset"},{"title":"toloka dataset list","sidebarTitle":"list","href":"/cli/reference/dataset/list"},{"title":"toloka dataset create","sidebarTitle":"create","href":"/cli/reference/dataset/create"},{"group":"fields","expanded":false,"pages":[{"title":"toloka dataset fields","sidebarTitle":"fields","href":"/cli/reference/dataset/fields"},{"title":"toloka dataset fields declarations","sidebarTitle":"declarations","href":"/cli/reference/dataset/fields/declarations"},{"title":"toloka dataset fields add","sidebarTitle":"add","href":"/cli/reference/dataset/fields/add"}]},{"title":"toloka dataset load","sidebarTitle":"load","href":"/cli/reference/dataset/load"},{"title":"toloka dataset upload","sidebarTitle":"upload","href":"/cli/reference/dataset/upload"},{"group":"slice","expanded":false,"pages":[{"title":"toloka dataset slice","sidebarTitle":"slice","href":"/cli/reference/dataset/slice"},{"title":"toloka dataset slice create","sidebarTitle":"create","href":"/cli/reference/dataset/slice/create"},{"title":"toloka dataset slice list","sidebarTitle":"list","href":"/cli/reference/dataset/slice/list"},{"title":"toloka dataset slice show","sidebarTitle":"show","href":"/cli/reference/dataset/slice/show"}]},{"title":"toloka dataset split","sidebarTitle":"split","href":"/cli/reference/dataset/split"},{"title":"toloka dataset columns","sidebarTitle":"columns","href":"/cli/reference/dataset/columns"}]},{"group":"pipeline","expanded":false,"pages":[{"title":"toloka pipeline","sidebarTitle":"pipeline","href":"/cli/reference/pipeline"},{"title":"toloka pipeline list","sidebarTitle":"list","href":"/cli/reference/pipeline/list"},{"title":"toloka pipeline run","sidebarTitle":"run","href":"/cli/reference/pipeline/run"},{"title":"toloka pipeline lint","sidebarTitle":"lint","href":"/cli/reference/pipeline/lint"},{"title":"toloka pipeline status","sidebarTitle":"status","href":"/cli/reference/pipeline/status"},{"title":"toloka pipeline runs","sidebarTitle":"runs","href":"/cli/reference/pipeline/runs"},{"title":"toloka pipeline cost","sidebarTitle":"cost","href":"/cli/reference/pipeline/cost"},{"title":"toloka pipeline cancel","sidebarTitle":"cancel","href":"/cli/reference/pipeline/cancel"},{"title":"toloka pipeline results","sidebarTitle":"results","href":"/cli/reference/pipeline/results"}]},{"title":"toloka status","sidebarTitle":"status","href":"/cli/reference/status"},{"title":"toloka report","sidebarTitle":"report","href":"/cli/reference/report"},{"group":"skill","expanded":false,"pages":[{"title":"toloka skill","sidebarTitle":"skill","href":"/cli/reference/skill"},{"title":"toloka skill list","sidebarTitle":"list","href":"/cli/reference/skill/list"},{"title":"toloka skill search","sidebarTitle":"search","href":"/cli/reference/skill/search"},{"title":"toloka skill install","sidebarTitle":"install","href":"/cli/reference/skill/install"}]},{"group":"ui","expanded":false,"pages":[{"title":"toloka ui","sidebarTitle":"ui","href":"/cli/reference/ui"},{"title":"toloka ui components","sidebarTitle":"components","href":"/cli/reference/ui/components"}]}]},{"group":"HTTP API","pages":[{"title":"HTTP API","sidebarTitle":"Overview","href":"/api-reference/index"},{"title":"Get the current user","deprecated":null,"version":null,"sidebarTitle":"Get current user","openapi":"/api-reference/openapi.json get /me","href":"/api-reference/account/get-current-user"},{"group":"Projects","expanded":false,"pages":[{"title":"List projects","deprecated":null,"version":null,"sidebarTitle":"List projects","openapi":"/api-reference/openapi.json get /projects","href":"/api-reference/projects/list-projects"},{"title":"Create a project","deprecated":null,"version":null,"sidebarTitle":"Create project","openapi":"/api-reference/openapi.json post /projects","href":"/api-reference/projects/create-project"},{"title":"Get a project","deprecated":null,"version":null,"sidebarTitle":"Get project by id","openapi":"/api-reference/openapi.json get /projects/{projectId}","href":"/api-reference/projects/get-project-by-id"},{"title":"Update a project","deprecated":null,"version":null,"sidebarTitle":"Update project","openapi":"/api-reference/openapi.json patch /projects/{projectId}","href":"/api-reference/projects/update-project"},{"title":"Issue a project-scoped token","deprecated":null,"version":null,"sidebarTitle":"Create project token","openapi":"/api-reference/openapi.json post /projects/{projectId}/tokens","href":"/api-reference/projects/create-project-token"},{"title":"List live project-scoped tokens","deprecated":null,"version":null,"sidebarTitle":"List project tokens","openapi":"/api-reference/openapi.json get /projects/{projectId}/tokens","href":"/api-reference/projects/list-project-tokens"},{"title":"Revoke all project tokens","deprecated":null,"version":null,"sidebarTitle":"Revoke project tokens","openapi":"/api-reference/openapi.json delete /projects/{projectId}/tokens","href":"/api-reference/projects/revoke-project-tokens"},{"title":"Revoke a project-scoped token","deprecated":null,"version":null,"sidebarTitle":"Revoke project token","openapi":"/api-reference/openapi.json delete /projects/{projectId}/tokens/{tokenId}","href":"/api-reference/projects/revoke-project-token"},{"title":"Revoke the current token","deprecated":null,"version":null,"sidebarTitle":"Revoke current token","openapi":"/api-reference/openapi.json delete /tokens/current","href":"/api-reference/projects/revoke-current-token"}]},{"group":"Datasets","expanded":false,"pages":[{"title":"List project datasets","deprecated":null,"version":null,"sidebarTitle":"List project datasets","openapi":"/api-reference/openapi.json get /projects/{projectId}/datasets","href":"/api-reference/datasets/list-project-datasets"},{"title":"Create a dataset","deprecated":null,"version":null,"sidebarTitle":"Create dataset","openapi":"/api-reference/openapi.json post /projects/{projectId}/datasets","href":"/api-reference/datasets/create-dataset"},{"title":"Get a dataset","deprecated":null,"version":null,"sidebarTitle":"Get dataset by id","openapi":"/api-reference/openapi.json get /datasets/{datasetId}","href":"/api-reference/datasets/get-dataset-by-id"},{"title":"List dataset fields","deprecated":null,"version":null,"sidebarTitle":"List dataset fields","openapi":"/api-reference/openapi.json get /datasets/{datasetId}/fields","href":"/api-reference/datasets/list-dataset-fields"},{"title":"Create dataset fields","deprecated":null,"version":null,"sidebarTitle":"Create dataset field","openapi":"/api-reference/openapi.json post /datasets/{datasetId}/fields","href":"/api-reference/datasets/create-dataset-field"},{"title":"List inferred dataset fields","deprecated":null,"version":null,"sidebarTitle":"Get dataset inferred fields","openapi":"/api-reference/openapi.json get /datasets/{datasetId}/inferred-fields","href":"/api-reference/datasets/get-dataset-inferred-fields"},{"title":"Add rows to a dataset","deprecated":null,"version":null,"sidebarTitle":"Add dataset items","openapi":"/api-reference/openapi.json post /datasets/{datasetId}/items","href":"/api-reference/datasets/add-dataset-items"},{"title":"List dataset items","deprecated":null,"version":null,"sidebarTitle":"List dataset items","openapi":"/api-reference/openapi.json get /datasets/{datasetId}/items","href":"/api-reference/datasets/list-dataset-items"},{"title":"Mark a deterministic sample of rows","deprecated":null,"version":null,"sidebarTitle":"Sample dataset items","openapi":"/api-reference/openapi.json post /datasets/{datasetId}/sample","href":"/api-reference/datasets/sample-dataset-items"},{"title":"Get dataset sampling status","deprecated":null,"version":null,"sidebarTitle":"Get dataset sample","openapi":"/api-reference/openapi.json get /samples/{sampleId}","href":"/api-reference/datasets/get-dataset-sample"},{"title":"Create a dataset slice","deprecated":null,"version":null,"sidebarTitle":"Create dataset slice","openapi":"/api-reference/openapi.json post /datasets/{datasetId}/slices","href":"/api-reference/datasets/create-dataset-slice"},{"title":"List dataset slices","deprecated":null,"version":null,"sidebarTitle":"List dataset slices","openapi":"/api-reference/openapi.json get /datasets/{datasetId}/slices","href":"/api-reference/datasets/list-dataset-slices"},{"title":"Get a dataset slice","deprecated":null,"version":null,"sidebarTitle":"Get dataset slice","openapi":"/api-reference/openapi.json get /slices/{sliceId}","href":"/api-reference/datasets/get-dataset-slice"},{"title":"Split a dataset into parts","deprecated":null,"version":null,"sidebarTitle":"Split dataset","openapi":"/api-reference/openapi.json post /datasets/{datasetId}/split","href":"/api-reference/datasets/split-dataset"},{"title":"Create fields from uploaded rows","deprecated":null,"version":null,"sidebarTitle":"Create dataset fields from uploaded rows","openapi":"/api-reference/openapi.json post /datasets/{datasetId}/fields/from-uploaded","href":"/api-reference/datasets/create-dataset-fields-from-uploaded-rows"}]},{"group":"Dataset uploads","expanded":false,"pages":[{"title":"Start a dataset file upload","deprecated":null,"version":null,"sidebarTitle":"Create dataset upload","openapi":"/api-reference/openapi.json post /datasets/{datasetId}/uploads","href":"/api-reference/dataset-uploads/create-dataset-upload"},{"title":"Finalize a dataset file upload","deprecated":null,"version":null,"sidebarTitle":"Finalize dataset upload","openapi":"/api-reference/openapi.json post /uploads/{uploadId}/finalize","href":"/api-reference/dataset-uploads/finalize-dataset-upload"},{"title":"Cancel a dataset upload","deprecated":null,"version":null,"sidebarTitle":"Cancel dataset upload","openapi":"/api-reference/openapi.json post /uploads/{uploadId}/cancel","href":"/api-reference/dataset-uploads/cancel-dataset-upload"},{"title":"Get a dataset upload","deprecated":null,"version":null,"sidebarTitle":"Get dataset upload","openapi":"/api-reference/openapi.json get /uploads/{uploadId}","href":"/api-reference/dataset-uploads/get-dataset-upload"}]},{"group":"Dataset exports","expanded":false,"pages":[{"title":"Start a dataset export","deprecated":null,"version":null,"sidebarTitle":"Create dataset export","openapi":"/api-reference/openapi.json post /datasets/{datasetId}/exports","href":"/api-reference/dataset-exports/create-dataset-export"},{"title":"Get a dataset export","deprecated":null,"version":null,"sidebarTitle":"Get dataset export","openapi":"/api-reference/openapi.json get /exports/{exportId}","href":"/api-reference/dataset-exports/get-dataset-export"}]},{"group":"Pipelines","expanded":false,"pages":[{"title":"List project pipelines","deprecated":null,"version":null,"sidebarTitle":"List project pipelines","openapi":"/api-reference/openapi.json get /projects/{projectId}/pipelines","href":"/api-reference/pipelines/list-project-pipelines"},{"title":"Get a pipeline","deprecated":null,"version":null,"sidebarTitle":"Get pipeline by id","openapi":"/api-reference/openapi.json get /pipelines/{pipelineId}","href":"/api-reference/pipelines/get-pipeline-by-id"},{"title":"Update a pipeline","deprecated":null,"version":null,"sidebarTitle":"Update pipeline","openapi":"/api-reference/openapi.json patch /pipelines/{pipelineId}","href":"/api-reference/pipelines/update-pipeline"},{"title":"Import a pipeline into a project","deprecated":null,"version":null,"sidebarTitle":"Import pipeline","openapi":"/api-reference/openapi.json post /projects/{projectId}/pipelines/import","href":"/api-reference/pipelines/import-pipeline"},{"title":"Attach a dataset to a pipeline","deprecated":null,"version":null,"sidebarTitle":"Attach pipeline dataset","openapi":"/api-reference/openapi.json post /pipelines/{pipelineId}/dataset","href":"/api-reference/pipelines/attach-pipeline-dataset"},{"title":"Export a pipeline","deprecated":null,"version":null,"sidebarTitle":"Export pipeline","openapi":"/api-reference/openapi.json get /pipelines/{pipelineId}/export","href":"/api-reference/pipelines/export-pipeline"},{"title":"Copy a pipeline","deprecated":null,"version":null,"sidebarTitle":"Copy pipeline","openapi":"/api-reference/openapi.json post /pipelines/{pipelineId}/copy","href":"/api-reference/pipelines/copy-pipeline"},{"title":"Estimate pipeline cost","deprecated":null,"version":null,"sidebarTitle":"Estimate pipeline cost","openapi":"/api-reference/openapi.json post /pipelines/{pipelineId}/cost-estimate","href":"/api-reference/pipelines/estimate-pipeline-cost"}]},{"group":"Pipeline graph","expanded":false,"pages":[{"title":"Get the pipeline graph","deprecated":null,"version":null,"sidebarTitle":"Get pipeline graph snapshot","openapi":"/api-reference/openapi.json get /pipelines/{pipelineId}/graph","href":"/api-reference/pipeline-graph/get-pipeline-graph-snapshot"},{"title":"Replace the pipeline graph","description":"Send the complete graph, up to 2 MiB, and optionally `expectedVersion`. Returns the updated pipeline metadata. Invalid configuration or missing secrets returns 400; failed checks and lint findings do not block this write. An attached dataset cannot be removed. A stale version, concurrent edit, or active run returns 409; read the graph again before retrying.","deprecated":null,"version":null,"sidebarTitle":"Replace pipeline graph","openapi":"/api-reference/openapi.json put /pipelines/{pipelineId}/graph","href":"/api-reference/pipeline-graph/replace-pipeline-graph"},{"title":"Validate a pipeline graph","deprecated":null,"version":null,"sidebarTitle":"Validate pipeline graph","openapi":"/api-reference/openapi.json post /pipelines/{pipelineId}/graph/validate","href":"/api-reference/pipeline-graph/validate-pipeline-graph"},{"title":"Update a pipeline node","description":"Send top-level settings for one node. Nested settings are replaced as a whole. The platform validates and saves the updated graph, then returns the pipeline metadata. Use `expectedVersion` to detect conflicting edits.","deprecated":null,"version":null,"sidebarTitle":"Patch pipeline node","openapi":"/api-reference/openapi.json patch /pipelines/{pipelineId}/graph/nodes/{nodeId}","href":"/api-reference/pipeline-graph/patch-pipeline-node"}]},{"group":"Runs","expanded":false,"pages":[{"title":"Start a pipeline run","deprecated":null,"version":null,"sidebarTitle":"Create pipeline run","openapi":"/api-reference/openapi.json post /pipelines/{pipelineId}/runs","href":"/api-reference/runs/create-pipeline-run"},{"title":"List pipeline runs","deprecated":null,"version":null,"sidebarTitle":"List pipeline runs","openapi":"/api-reference/openapi.json get /pipelines/{pipelineId}/runs","href":"/api-reference/runs/list-pipeline-runs"},{"title":"Get a pipeline run","deprecated":null,"version":null,"sidebarTitle":"Get pipeline run","openapi":"/api-reference/openapi.json get /runs/{runId}","href":"/api-reference/runs/get-pipeline-run"},{"title":"Get the cost of a run","deprecated":null,"version":null,"sidebarTitle":"Get pipeline run cost","openapi":"/api-reference/openapi.json get /runs/{runId}/cost","href":"/api-reference/runs/get-pipeline-run-cost"},{"title":"Cancel a pipeline run","deprecated":null,"version":null,"sidebarTitle":"Cancel pipeline run","openapi":"/api-reference/openapi.json post /runs/{runId}/cancel","href":"/api-reference/runs/cancel-pipeline-run"},{"title":"List run items","deprecated":null,"version":null,"sidebarTitle":"List pipeline run items","openapi":"/api-reference/openapi.json get /runs/{runId}/items","href":"/api-reference/runs/list-pipeline-run-items"},{"title":"Get a run item","deprecated":null,"version":null,"sidebarTitle":"Get pipeline run item","openapi":"/api-reference/openapi.json get /runs/{runId}/items/{itemId}","href":"/api-reference/runs/get-pipeline-run-item"}]},{"group":"Checks","expanded":false,"pages":[{"title":"List pipeline checks","deprecated":null,"version":null,"sidebarTitle":"List pipeline checks","openapi":"/api-reference/openapi.json get /pipelines/{pipelineId}/checks","href":"/api-reference/checks/list-pipeline-checks"},{"title":"Start a pipeline check","deprecated":null,"version":null,"sidebarTitle":"Create pipeline check","openapi":"/api-reference/openapi.json post /pipelines/{pipelineId}/checks","href":"/api-reference/checks/create-pipeline-check"},{"title":"Run pipeline lints","deprecated":null,"version":null,"sidebarTitle":"Run pipeline lints","openapi":"/api-reference/openapi.json post /pipelines/{pipelineId}/lints","href":"/api-reference/checks/run-pipeline-lints"},{"title":"Get a pipeline check","deprecated":null,"version":null,"sidebarTitle":"Get pipeline check","openapi":"/api-reference/openapi.json get /checks/{checkRunId}","href":"/api-reference/checks/get-pipeline-check"}]},{"group":"Secrets","expanded":false,"pages":[{"title":"List project secret names","deprecated":null,"version":null,"sidebarTitle":"List project secrets","openapi":"/api-reference/openapi.json get /projects/{projectId}/secrets","href":"/api-reference/secrets/list-project-secrets"},{"title":"Set a project secret","deprecated":null,"version":null,"sidebarTitle":"Set project secret","openapi":"/api-reference/openapi.json put /projects/{projectId}/secrets/{name}","href":"/api-reference/secrets/set-project-secret"}]},{"group":"Files","expanded":false,"pages":[{"title":"List project files","deprecated":null,"version":null,"sidebarTitle":"List project files","openapi":"/api-reference/openapi.json get /projects/{projectId}/files","href":"/api-reference/files/list-project-files"},{"title":"Start a project file upload","deprecated":null,"version":null,"sidebarTitle":"Create project file upload","openapi":"/api-reference/openapi.json post /projects/{projectId}/files","href":"/api-reference/files/create-project-file-upload"},{"title":"Finalize a project file upload","deprecated":null,"version":null,"sidebarTitle":"Finalize project file upload","openapi":"/api-reference/openapi.json post /projects/{projectId}/files/{fileId}/finalize","href":"/api-reference/files/finalize-project-file-upload"},{"title":"Delete a project file","deprecated":null,"version":null,"sidebarTitle":"Delete project file","openapi":"/api-reference/openapi.json delete /projects/{projectId}/files/{fileId}","href":"/api-reference/files/delete-project-file"}]},{"title":"List synthetic generation models","deprecated":null,"version":null,"sidebarTitle":"List generation models","openapi":"/api-reference/openapi.json get /generation-models","href":"/api-reference/generation-models/list-generation-models"},{"title":"List expert specializations","deprecated":null,"version":null,"sidebarTitle":"List audience specializations","openapi":"/api-reference/openapi.json get /audience/specializations","href":"/api-reference/audience/list-audience-specializations"},{"group":"Expert lists","expanded":false,"pages":[{"title":"List expert lists","deprecated":null,"version":null,"sidebarTitle":"List expert lists","openapi":"/api-reference/openapi.json get /projects/{projectId}/expert-lists","href":"/api-reference/expert-lists/list-expert-lists"},{"title":"Create an expert list","deprecated":null,"version":null,"sidebarTitle":"Create expert list","openapi":"/api-reference/openapi.json post /projects/{projectId}/expert-lists","href":"/api-reference/expert-lists/create-expert-list"},{"title":"Get an expert list","deprecated":null,"version":null,"sidebarTitle":"Get expert list","openapi":"/api-reference/openapi.json get /expert-lists/{expertListId}","href":"/api-reference/expert-lists/get-expert-list"},{"title":"Rename, hide or show an expert list","deprecated":null,"version":null,"sidebarTitle":"Update expert list","openapi":"/api-reference/openapi.json patch /expert-lists/{expertListId}","href":"/api-reference/expert-lists/update-expert-list"},{"title":"List the experts of an expert list","deprecated":null,"version":null,"sidebarTitle":"List expert list experts","openapi":"/api-reference/openapi.json get /expert-lists/{expertListId}/experts","href":"/api-reference/expert-lists/list-expert-list-experts"},{"title":"Add experts to an expert list","deprecated":null,"version":null,"sidebarTitle":"Add expert list experts","openapi":"/api-reference/openapi.json post /expert-lists/{expertListId}/experts/add","href":"/api-reference/expert-lists/add-expert-list-experts"},{"title":"Remove experts from an expert list","deprecated":null,"version":null,"sidebarTitle":"Remove expert list experts","openapi":"/api-reference/openapi.json post /expert-lists/{expertListId}/experts/remove","href":"/api-reference/expert-lists/remove-expert-list-experts"}]},{"group":"Expert ban list","expanded":false,"pages":[{"title":"Get the expert ban list of a project","deprecated":null,"version":null,"sidebarTitle":"Get expert ban list","openapi":"/api-reference/openapi.json get /projects/{projectId}/expert-ban-list","href":"/api-reference/expert-ban-list/get-expert-ban-list"},{"title":"List the experts of the expert ban list","deprecated":null,"version":null,"sidebarTitle":"List expert ban list experts","openapi":"/api-reference/openapi.json get /projects/{projectId}/expert-ban-list/experts","href":"/api-reference/expert-ban-list/list-expert-ban-list-experts"},{"title":"Ban experts in a project","deprecated":null,"version":null,"sidebarTitle":"Add expert ban list experts","openapi":"/api-reference/openapi.json post /projects/{projectId}/expert-ban-list/experts/add","href":"/api-reference/expert-ban-list/add-expert-ban-list-experts"},{"title":"Unban experts in a project","deprecated":null,"version":null,"sidebarTitle":"Remove expert ban list experts","openapi":"/api-reference/openapi.json post /projects/{projectId}/expert-ban-list/experts/remove","href":"/api-reference/expert-ban-list/remove-expert-ban-list-experts"}]},{"group":"Base models","expanded":false,"pages":[{"title":"List base models","deprecated":null,"version":null,"sidebarTitle":"List base models","openapi":"/api-reference/openapi.json get /base-models","href":"/api-reference/base-models/list-base-models"},{"title":"Get a base model","deprecated":null,"version":null,"sidebarTitle":"Get base model","openapi":"/api-reference/openapi.json get /base-models/{baseModelId}","href":"/api-reference/base-models/get-base-model"}]},{"group":"Trainings","expanded":false,"pages":[{"title":"Create a training","deprecated":null,"version":null,"sidebarTitle":"Create project training","openapi":"/api-reference/openapi.json post /projects/{projectId}/trainings","href":"/api-reference/trainings/create-project-training"},{"title":"Get a training","deprecated":null,"version":null,"sidebarTitle":"Get training","openapi":"/api-reference/openapi.json get /trainings/{trainingId}","href":"/api-reference/trainings/get-training"},{"title":"List project trainings","deprecated":null,"version":null,"sidebarTitle":"List project trainings","openapi":"/api-reference/openapi.json get /projects/{projectId}/trainings","href":"/api-reference/trainings/list-project-trainings"},{"title":"Update training metadata","deprecated":null,"version":null,"sidebarTitle":"Update training metadata","openapi":"/api-reference/openapi.json patch /trainings/{trainingId}","href":"/api-reference/trainings/update-training-metadata"},{"title":"Replace a training configuration","deprecated":null,"version":null,"sidebarTitle":"Replace training configuration","openapi":"/api-reference/openapi.json put /trainings/{trainingId}/configuration","href":"/api-reference/trainings/replace-training-configuration"},{"title":"Prepare training cost estimate inputs","deprecated":null,"version":null,"sidebarTitle":"Prepare training cost estimate inputs","openapi":"/api-reference/openapi.json post /trainings/{trainingId}/cost-estimate-inputs","href":"/api-reference/trainings/prepare-training-cost-estimate-inputs"},{"title":"Estimate training cost","deprecated":null,"version":null,"sidebarTitle":"Estimate training cost","openapi":"/api-reference/openapi.json post /trainings/{trainingId}/cost-estimate","href":"/api-reference/trainings/estimate-training-cost"},{"title":"Create a training run","deprecated":null,"version":null,"sidebarTitle":"Create training run","openapi":"/api-reference/openapi.json post /trainings/{trainingId}/runs","href":"/api-reference/trainings/create-training-run"},{"title":"Get a training run","deprecated":null,"version":null,"sidebarTitle":"Get training run","openapi":"/api-reference/openapi.json get /training-runs/{trainingRunId}","href":"/api-reference/trainings/get-training-run"},{"title":"List training runs","deprecated":null,"version":null,"sidebarTitle":"List training runs","openapi":"/api-reference/openapi.json get /trainings/{trainingId}/runs","href":"/api-reference/trainings/list-training-runs"},{"title":"Read training run logs","deprecated":null,"version":null,"sidebarTitle":"Get training run logs","openapi":"/api-reference/openapi.json get /training-runs/{trainingRunId}/logs","href":"/api-reference/trainings/get-training-run-logs"},{"title":"Get training run metrics","deprecated":null,"version":null,"sidebarTitle":"Get training run metrics","openapi":"/api-reference/openapi.json get /training-runs/{trainingRunId}/metrics","href":"/api-reference/trainings/get-training-run-metrics"},{"title":"Get training metric history","deprecated":null,"version":null,"sidebarTitle":"Get training run metric history","openapi":"/api-reference/openapi.json get /training-runs/{trainingRunId}/metrics/{metricKey}","href":"/api-reference/trainings/get-training-run-metric-history"},{"title":"Cancel a training run","deprecated":null,"version":null,"sidebarTitle":"Cancel training run","openapi":"/api-reference/openapi.json post /training-runs/{trainingRunId}/cancel","href":"/api-reference/trainings/cancel-training-run"},{"title":"Resume a training run","deprecated":null,"version":null,"sidebarTitle":"Resume training run","openapi":"/api-reference/openapi.json post /training-runs/{trainingRunId}/resume","href":"/api-reference/trainings/resume-training-run"}]},{"group":"Models","expanded":false,"pages":[{"title":"List project models","deprecated":null,"version":null,"sidebarTitle":"List project models","openapi":"/api-reference/openapi.json get /projects/{projectId}/models","href":"/api-reference/models/list-project-models"},{"title":"Create a project model","deprecated":null,"version":null,"sidebarTitle":"Create project model","openapi":"/api-reference/openapi.json post /projects/{projectId}/models","href":"/api-reference/models/create-project-model"},{"title":"List model versions","deprecated":null,"version":null,"sidebarTitle":"List model versions","openapi":"/api-reference/openapi.json get /projects/{projectId}/models/{modelId}/versions","href":"/api-reference/models/list-model-versions"},{"title":"Get a model version","deprecated":null,"version":null,"sidebarTitle":"Get model version","openapi":"/api-reference/openapi.json get /model-versions/{modelVersionId}","href":"/api-reference/models/get-model-version"},{"title":"Get model version download links","deprecated":null,"version":null,"sidebarTitle":"Get model version content","openapi":"/api-reference/openapi.json get /model-versions/{modelVersionId}/content","href":"/api-reference/models/get-model-version-content"},{"title":"Archive a project model","deprecated":null,"version":null,"sidebarTitle":"Archive project model","openapi":"/api-reference/openapi.json post /projects/{projectId}/models/{modelId}/archive","href":"/api-reference/models/archive-project-model"},{"title":"Get a project model","deprecated":null,"version":null,"sidebarTitle":"Get project model","openapi":"/api-reference/openapi.json get /projects/{projectId}/models/{modelId}","href":"/api-reference/models/get-project-model"}]},{"group":"Batch inference","expanded":false,"pages":[{"title":"Create a batch inference run","deprecated":null,"version":null,"sidebarTitle":"Create batch inference run","openapi":"/api-reference/openapi.json post /projects/{projectId}/batch-inference-runs","href":"/api-reference/batch-inference/create-batch-inference-run"},{"title":"List batch inference runs","deprecated":null,"version":null,"sidebarTitle":"List batch inference runs","openapi":"/api-reference/openapi.json get /projects/{projectId}/batch-inference-runs","href":"/api-reference/batch-inference/list-batch-inference-runs"},{"title":"Get a batch inference run","deprecated":null,"version":null,"sidebarTitle":"Get batch inference run","openapi":"/api-reference/openapi.json get /batch-inference-runs/{batchInferenceRunId}","href":"/api-reference/batch-inference/get-batch-inference-run"},{"title":"Confirm a batch inference run","deprecated":null,"version":null,"sidebarTitle":"Confirm batch inference run","openapi":"/api-reference/openapi.json post /batch-inference-runs/{batchInferenceRunId}/confirm","href":"/api-reference/batch-inference/confirm-batch-inference-run"},{"title":"Resume a batch inference run","deprecated":null,"version":null,"sidebarTitle":"Resume batch inference run","openapi":"/api-reference/openapi.json post /batch-inference-runs/{batchInferenceRunId}/resume","href":"/api-reference/batch-inference/resume-batch-inference-run"},{"title":"Cancel a batch inference run","deprecated":null,"version":null,"sidebarTitle":"Cancel batch inference run","openapi":"/api-reference/openapi.json post /batch-inference-runs/{batchInferenceRunId}/cancel","href":"/api-reference/batch-inference/cancel-batch-inference-run"}]}]}]},{"tab":"Troubleshooting","icon":"wrench","pages":[{"title":"Troubleshooting","href":"/data/guides/troubleshoot"}]}]},"basePath":"","title":"Validate a pipeline graph - Toloka Platform","buildId":"dpl_6dVqRXFR2Go5vF5RLvAdHuv189oT","deploymentId":"dpl_6dVqRXFR2Go5vF5RLvAdHuv189oT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-D_7my4bd.js","utils-Cq_itTNA.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B5KPEvGz.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DBX-JepP.js","snippetPresets-Bsspz-Ge.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-jcs-2nGf.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Dp53in7F.js","shallow-Dv9eUdUd.js","getApiPlaygroundDisplay-D8cDwNhi.js","CodeSnippet-DkwXLQor.js","CodeSnippets-DcSgKqs5.js","Page-t8ynOKTD.js","getPastedJson-I2RjoApV.js","icon-BIj57rZC.js","MethodPill-CTwLPWXC.js","DuplicateIcon-BJpFwygY.js","createIcon-C7PorfAe.js","DynamicMarkdown-BBht_uEs.js","SectionHeading-YIBwxbzj.js","axios-vUo_bRtp.js","Markdown--YCeFtOs.js","clsx-CrPa459s.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BWxsj3I0.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fBzVvq7k.js"]}