Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.
The agent builds the screen your experts fill in for each item, called the labeling interface. You can check that screen and fix it by asking the agent or editing it yourself. This applies to the Generation and Quorum nodes, the two whose inspector carries a UI for Experts card.Review and fix the interface while the pipeline is still editable, before you deploy. Once a run is active the interface locks, as When editing is locked explains.
At deploy, four parts of your build make up what the expert reads and fills in: the onboarding course first, if it is turned on, the Display name shown alongside the task, the written instructions, and the labeling interface covered on this page.Only the labeling interface is reviewed and fixed here. The Display name and instructions and the onboarding course are separate cards with their own rules.
Open the node and find its UI for Experts card. The card has two tabs, View and Edit. View shows the real, interactive form with a sample item already filled in. The expert fills in this same form. Where the agent built the interface without choosing a sample, it filled the form with the dataset’s first item.Fill in the form as an expert would. Check that every required input is shown and the controls collect the right answer. Then test a submission. The automatic User Interface Types Lint also checks that the interface compiles and collects answers in the expected format.
Asking the agent is the usual way to change the interface. Describe the change in plain words: “add a comment box under the video”, “make the rating required”, “show the source text above the question”. The agent rebuilds the interface and saves it.The agent can also test the interface in ways the card cannot:
It catches build errors that would stop the form from rendering, before you see it.
It takes a screenshot of the rendered form and reads it back.
It fills the form and validates a complete submission end to end before it reports the interface done.
The Edit tab opens the editor with the sample data and the form preview side by side. Those two panes are all it shows on open — to reach the interface markup itself, switch on the View pane in the Layout bar. Then you change the interface and watch the preview update. There is no Save button: edits autosave about a second after you stop, and every save is a step you can undo.The markup language and its component set are not documented in this portal. Hand edits work best for small adjustments you can make by copying the patterns already in the markup — changing a label, reordering controls, tweaking a layout. For structural changes, or to add a component you do not see used yet, ask the agent: it knows the component set and validates the build.The sample data is a JSON object keyed by the node’s input fields, and its keys must match those inputs. A key the node does not read, or a missing value for a required input, blocks the deploy. See the sample-data errors. To change which inputs and outputs the node has, edit the node’s Datapoint Structure card or ask the agent. The interface only lays out fields that already exist.
Hand edits and agent edits change the same interface, and the last change wins. If you hand-tune the form and then ask the agent to rebuild it, the agent’s build replaces your edits with no warning and no prompt to confirm. Make your hand edits after the agent’s final pass, or tell the agent what to keep so it rebuilds around them.
Annotation Quality Assurance requires quality criteria and LLM review: LLM Only or Hybrid on Generation, LLM Only on Quorum. Without LLM review, use View to preview the form.Open Annotation Quality Assurance on the node and add a case. Enter sample values in Task Input, then click Annotate with UI. Complete the form and submit it. The check validates your submission against the output fields and fills Task Output.Click Run to review the annotation against the node’s quality criteria. You can also enter Task Output as JSON, or ask the agent to prepare and run the case. After editing the interface, use Reannotate with UI and rerun the check. See Self-check for test results and deployment requirements.
Both tabs stop accepting edits once the pipeline has an active run. Deploying locks the pipeline against every edit, including the interface (see One pipeline, one run). You can still open View to look at the form, but you cannot fill it, and Edit is disabled.After deploy, the agent refuses to change the interface and tells you to clone the pipeline into a new one to keep iterating. A failed deploy is the one exception. It frees the same pipeline to fix and deploy again.
Self-check — Annotation Quality Assurance, automatic lints, and the Issues gate.
Generation node — the node’s cards, its fields, and the Display name and instructions the interface sits beside.
Quorum node — the multi-expert labeling node that also carries a UI for Experts card, where each expert submits their own entry.
Pipeline errors and how to fix them — the sample-data and video-duration errors the interface can raise at deploy, verbatim, each with its cause and fix.
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":"data/guides/review-labeling-interface","slug":"/data/guides/review-labeling-interface","pageMetadata":{"title":"Review the labeling interface","description":"Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.","type":"how-to","status":"verified","summary":"Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.","sources":[{"code":"app/src/shared/workflow-engine/potato/nodes/quorum-sft.ts"},{"code":"app/src/backend/queuert/processors/run-pipeline-check-type.ts"},{"code":"app/src/frontend/features/workflow-graph/node-view/common/components/check-container.tsx"},{"code":"app/src/frontend/features/workflow-graph/node-view/check-components/check-annotation-qa/check-annotation-qa.tsx"},{"code":"app/src/shared/workflow-engine/core/dbm/checks.ts"},{"code":"app/src/frontend/features/workflow-graph/node-view/form-components/card-tbx-ui/card-tbx-ui.tsx#CardTbxUi"},{"code":"app/src/frontend/components/ui/tbx.tsx#TbxViewContent"},{"code":"app/src/frontend/components/ui/tbx.tsx#TbxEditContent"},{"code":"app/src/backend/ai/tools/pipeline/pipeline-tbx-toolkit.ts#createTbxToolkit"},{"code":"app/src/backend/ai/tools/pipeline/pipeline-tbx-toolkit.description.md"},{"code":"app/src/backend/tbx/tbx.ts"},{"code":"app/src/backend/tbx/pipeline-node-tbx-config-store.ts#saveTemplate"},{"code":"app/src/shared/workflow-engine/core/dbm/validation.ts#validateCardTbxUiFormComponent"},{"code":"app/src/shared/validation/project-specification.ts#validateVideoDuration"},{"code":"app/src/shared/workflow-engine/potato/nodes/generation-sft.ts#generationSftDbmNodeApi"},{"code":"app/src/shared/workflow-engine/potato/nodes/quorum-sft.ts#quorumSftDbmNodeApi"},{"code":"app/src/backend/queuert/processors/run-pipeline-check-type.ts#createRunPipelineCheckTypeProcessors"},{"code":"app/src/backend/queuert/processors/deploy-pipeline-run-node/transform-node-helpers.ts#buildBaseDeployNodeConfig"},{"code":"app/src/backend/ai/tools/pipeline/pipeline-tool-auth.ts#assertPipelineEditable"}],"statusReasons":["SeSe Doc Review pass 2026-08-18 (Notion feedback): reviewer expected a link to the interface editor's own documentation in Fix it by hand — none exists (the old public Template Builder docs URL now redirects to the homepage), so the section now states that limitation and scopes hand edits to pattern-copying, pointing structural changes to the agent.","Post-merge fact pass 2026-07-30: the Edit tab opens Data and Preview only, so hand-editing needs the View pane; the User Interface check is a warning at deploy while the new User Interface Types lint is the blocking gate.","2026-07-22 capture session on local dev (external persona, devtools removed) - UI for Experts View and Edit tab screenshots added.","Checker fixes - what-ships claim scoped (pay and time also come from the node), Datapoint Structure card named byte-exact, View-tab submit claim removed (unverifiable in repo), expert-platform term dropped.","Written from the code-verified fact sheet; every behavioral claim traces to code evidence in the sources above.","Scope honesty: the labeling interface renders and edits in an external bundle whose internals — the component set, the editor panes, and the expert-side chrome around the form — are out of this repo and out of scope. The page describes only what ships to the expert at deploy and the two customer surfaces (the View and Edit tabs) plus the User Interface check.","No screenshots yet: the UI for Experts card, its View and Edit tabs, and the User Interface check dialog were not captured on a dev server; step-visual-evidence pending.","Draft, pending the how-to page checker."],"suggestedReviewers":[],"href":"/data/guides/review-labeling-interface"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,OptimizedImage,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The agent builds the screen your experts fill in for each item, called the `,_jsx(_components.a,{href:`/start/glossary#labeling-interface`,children:`labeling interface`}),`. You can check that screen and fix it by asking the agent or editing it yourself. This applies to the Generation and Quorum nodes, the two whose inspector carries a `,_jsx(_components.strong,{children:`UI for Experts`}),` card.`]}),`\n`,_jsxs(_components.p,{children:[`Review and fix the interface while the pipeline is still editable, before you deploy. Once a run is active the interface locks, as `,_jsx(_components.a,{href:`#when-editing-is-locked`,children:`When editing is locked`}),` explains.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-expert-sees`,children:`What the expert sees`}),`\n`,_jsxs(_components.p,{children:[`At deploy, four parts of your build make up what the expert reads and fills in: the onboarding course first, if it is turned on, the `,_jsx(_components.strong,{children:`Display name`}),` shown alongside the task, the written instructions, and the labeling interface covered on this page.`]}),`\n`,_jsxs(_components.p,{children:[`Only the labeling interface is reviewed and fixed here. The `,_jsx(_components.a,{href:`/data/reference/nodes/generation#instructions-and-the-labeling-interface`,children:`Display name and instructions`}),` and the `,_jsx(_components.a,{href:`/data/reference/nodes/generation#onboarding`,children:`onboarding course`}),` are separate cards with their own rules.`]}),`\n`,_jsx(Heading,{level:`2`,id:`try-the-real-screen`,children:`Try the real screen`}),`\n`,_jsxs(_components.p,{children:[`Open the node and find its `,_jsx(_components.strong,{children:`UI for Experts`}),` card. The card has two tabs, `,_jsx(_components.strong,{children:`View`}),` and `,_jsx(_components.strong,{children:`Edit`}),`. `,_jsx(_components.strong,{children:`View`}),` shows the real, interactive form with a sample item already filled in. The expert fills in this same form. Where the agent built the interface without choosing a sample, it filled the form with the dataset’s first item.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-view.png?fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=7519e83ba0dbab1a2cf637b31a1caea4`,alt:`The UI for Experts card on its View tab: the interactive form the expert fills in, rendered on a sample item.`,\"data-og-width\":`400`,width:`400`,\"data-og-height\":`514`,height:`514`,\"data-path\":`images/how-to/review-labeling-interface/ui-for-experts-view.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-view.png?w=280\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=ec5d9bb64cf552611416f7d11884db2f 280w, https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-view.png?w=560\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=2b23b56d2dc275cad0bb04bab57a1cea 560w, https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-view.png?w=840\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=1c7f860c1b24098e0ff2116a16a290a3 840w, https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-view.png?w=1100\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=81b5a867066e589bd88a8193dc6b1ebf 1100w, https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-view.png?w=1650\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=2b9ca570cee79499c6fd0f9d6c6c49d2 1650w, https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-view.png?w=2500\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=58cc196a13b76d84071c665e99de37a0 2500w`}),`\n`,_jsxs(_components.p,{children:[`Fill in the form as an expert would. Check that every required input is shown and the controls collect the right answer. Then `,_jsx(_components.a,{href:`#verify-like-an-expert-would`,children:`test a submission`}),`. The automatic `,_jsx(_components.strong,{children:`User Interface Types Lint`}),` also checks that the interface compiles and collects answers in the expected format.`]}),`\n`,_jsx(Heading,{level:`2`,id:`fix-it-by-asking-the-agent`,children:`Fix it by asking the agent`}),`\n`,_jsx(_components.p,{children:`Asking the agent is the usual way to change the interface. Describe the change in plain words: “add a comment box under the video”, “make the rating required”, “show the source text above the question”. The agent rebuilds the interface and saves it.`}),`\n`,_jsx(_components.p,{children:`The agent can also test the interface in ways the card cannot:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`It catches build errors that would stop the form from rendering, before you see it.`}),`\n`,_jsx(_components.li,{children:`It takes a screenshot of the rendered form and reads it back.`}),`\n`,_jsx(_components.li,{children:`It fills the form and validates a complete submission end to end before it reports the interface done.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`fix-it-by-hand`,children:`Fix it by hand`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Edit`}),` tab opens the editor with the sample data and the form preview side by side. Those two panes are all it shows on open — to reach the interface markup itself, switch on the `,_jsx(_components.strong,{children:`View`}),` pane in the Layout bar. Then you change the interface and watch the preview update. There is no Save button: edits autosave about a second after you stop, and every save is a step you can undo.`]}),`\n`,_jsx(_components.p,{children:`The markup language and its component set are not documented in this portal. Hand edits work best for small adjustments you can make by copying the patterns already in the markup — changing a label, reordering controls, tweaking a layout. For structural changes, or to add a component you do not see used yet, ask the agent: it knows the component set and validates the build.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-edit.png?fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=c488a1d768166dd0944816261b5b4ae2`,alt:`The Edit tab: the editor with the sample data pane on the left and the live form preview on the right.`,\"data-og-width\":`400`,width:`400`,\"data-og-height\":`514`,height:`514`,\"data-path\":`images/how-to/review-labeling-interface/ui-for-experts-edit.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-edit.png?w=280\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=800d24f87a6d2f17c80ed1e8c5d64953 280w, https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-edit.png?w=560\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=e1c41abcfc41d9ebdd9c120738adc940 560w, https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-edit.png?w=840\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=d5624b176b9ddc5e1980784c617ba24e 840w, https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-edit.png?w=1100\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=ecf1b5975324235ed15d70b3a55d449b 1100w, https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-edit.png?w=1650\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=17079429ba3f3b418ec43c5da4e5cffb 1650w, https://mintcdn.com/toloka-platform/e2y6apyB8pyO00uJ/images/how-to/review-labeling-interface/ui-for-experts-edit.png?w=2500\u0026fit=max\u0026auto=format\u0026n=e2y6apyB8pyO00uJ\u0026q=85\u0026s=ac26c927169a63f389ae679ab402fb34 2500w`}),`\n`,_jsxs(_components.p,{children:[`The sample data is a JSON object keyed by the node’s input fields, and its keys must match those inputs. A key the node does not read, or a missing value for a required input, blocks the deploy. See `,_jsx(_components.a,{href:`/data/reference/errors#labeling-interface-sample-data`,children:`the sample-data errors`}),`. To change which inputs and outputs the node has, edit the node’s `,_jsx(_components.strong,{children:`Datapoint Structure`}),` card or ask the agent. The interface only lays out fields that already exist.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Hand edits and agent edits change the same interface, and the last change wins. If you hand-tune the form and then ask the agent to rebuild it, the agent’s build replaces your edits with no warning and no prompt to confirm. Make your hand edits after the agent’s final pass, or tell the agent what to keep so it rebuilds around them.`})}),`\n`,_jsx(Heading,{level:`2`,id:`verify-like-an-expert-would`,children:`Verify like an expert would`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Annotation Quality Assurance`}),` requires quality criteria and LLM review: `,_jsx(_components.strong,{children:`LLM Only`}),` or `,_jsx(_components.strong,{children:`Hybrid`}),` on Generation, `,_jsx(_components.strong,{children:`LLM Only`}),` on Quorum. Without LLM review, use `,_jsx(_components.strong,{children:`View`}),` to preview the form.`]}),`\n`,_jsxs(_components.p,{children:[`Open `,_jsx(_components.strong,{children:`Annotation Quality Assurance`}),` on the node and add a case. Enter sample values in `,_jsx(_components.strong,{children:`Task Input`}),`, then click `,_jsx(_components.strong,{children:`Annotate with UI`}),`. Complete the form and submit it. The check validates your submission against the output fields and fills `,_jsx(_components.strong,{children:`Task Output`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Run`}),` to review the annotation against the node’s quality criteria. You can also enter `,_jsx(_components.strong,{children:`Task Output`}),` as JSON, or ask the agent to prepare and run the case. After editing the interface, use `,_jsx(_components.strong,{children:`Reannotate with UI`}),` and rerun the check. See `,_jsx(_components.a,{href:`/data/concepts/self-check`,children:`Self-check`}),` for test results and deployment requirements.`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-editing-is-locked`,children:`When editing is locked`}),`\n`,_jsxs(_components.p,{children:[`Both tabs stop accepting edits once the pipeline has an active run. Deploying locks the pipeline against every edit, including the interface (see `,_jsx(_components.a,{href:`/data/concepts/overview#one-pipeline-one-run`,children:`One pipeline, one run`}),`). You can still open `,_jsx(_components.strong,{children:`View`}),` to look at the form, but you cannot fill it, and `,_jsx(_components.strong,{children:`Edit`}),` is disabled.`]}),`\n`,_jsx(_components.p,{children:`After deploy, the agent refuses to change the interface and tells you to clone the pipeline into a new one to keep iterating. A failed deploy is the one exception. It frees the same pipeline to fix and deploy again.`}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/data/concepts/self-check`,children:`Self-check`}),` — Annotation Quality Assurance, automatic lints, and the Issues gate.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/data/reference/nodes/generation`,children:`Generation node`}),` — the node’s cards, its fields, and the Display name and instructions the interface sits beside.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/data/reference/nodes/quorum`,children:`Quorum node`}),` — the multi-expert labeling node that also carries a UI for Experts card, where each expert submits their own entry.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/data/reference/errors`,children:`Pipeline errors and how to fix them`}),` — the sample-data and video-duration errors the interface can raise at deploy, verbatim, each with its cause and fix.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Review the labeling interface","description":"Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.","type":"how-to","status":"verified","summary":"Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.","sources":[{"code":"app/src/shared/workflow-engine/potato/nodes/quorum-sft.ts"},{"code":"app/src/backend/queuert/processors/run-pipeline-check-type.ts"},{"code":"app/src/frontend/features/workflow-graph/node-view/common/components/check-container.tsx"},{"code":"app/src/frontend/features/workflow-graph/node-view/check-components/check-annotation-qa/check-annotation-qa.tsx"},{"code":"app/src/shared/workflow-engine/core/dbm/checks.ts"},{"code":"app/src/frontend/features/workflow-graph/node-view/form-components/card-tbx-ui/card-tbx-ui.tsx#CardTbxUi"},{"code":"app/src/frontend/components/ui/tbx.tsx#TbxViewContent"},{"code":"app/src/frontend/components/ui/tbx.tsx#TbxEditContent"},{"code":"app/src/backend/ai/tools/pipeline/pipeline-tbx-toolkit.ts#createTbxToolkit"},{"code":"app/src/backend/ai/tools/pipeline/pipeline-tbx-toolkit.description.md"},{"code":"app/src/backend/tbx/tbx.ts"},{"code":"app/src/backend/tbx/pipeline-node-tbx-config-store.ts#saveTemplate"},{"code":"app/src/shared/workflow-engine/core/dbm/validation.ts#validateCardTbxUiFormComponent"},{"code":"app/src/shared/validation/project-specification.ts#validateVideoDuration"},{"code":"app/src/shared/workflow-engine/potato/nodes/generation-sft.ts#generationSftDbmNodeApi"},{"code":"app/src/shared/workflow-engine/potato/nodes/quorum-sft.ts#quorumSftDbmNodeApi"},{"code":"app/src/backend/queuert/processors/run-pipeline-check-type.ts#createRunPipelineCheckTypeProcessors"},{"code":"app/src/backend/queuert/processors/deploy-pipeline-run-node/transform-node-helpers.ts#buildBaseDeployNodeConfig"},{"code":"app/src/backend/ai/tools/pipeline/pipeline-tool-auth.ts#assertPipelineEditable"}],"statusReasons":["SeSe Doc Review pass 2026-08-18 (Notion feedback): reviewer expected a link to the interface editor's own documentation in Fix it by hand — none exists (the old public Template Builder docs URL now redirects to the homepage), so the section now states that limitation and scopes hand edits to pattern-copying, pointing structural changes to the agent.","Post-merge fact pass 2026-07-30: the Edit tab opens Data and Preview only, so hand-editing needs the View pane; the User Interface check is a warning at deploy while the new User Interface Types lint is the blocking gate.","2026-07-22 capture session on local dev (external persona, devtools removed) - UI for Experts View and Edit tab screenshots added.","Checker fixes - what-ships claim scoped (pay and time also come from the node), Datapoint Structure card named byte-exact, View-tab submit claim removed (unverifiable in repo), expert-platform term dropped.","Written from the code-verified fact sheet; every behavioral claim traces to code evidence in the sources above.","Scope honesty: the labeling interface renders and edits in an external bundle whose internals — the component set, the editor panes, and the expert-side chrome around the form — are out of this repo and out of scope. The page describes only what ships to the expert at deploy and the two customer surfaces (the View and Edit tabs) plus the User Interface check.","No screenshots yet: the UI for Experts card, its View and Edit tabs, and the User Interface check dialog were not captured on a dev server; step-visual-evidence pending.","Draft, pending the how-to page checker."],"suggestedReviewers":[],"href":"/data/guides/review-labeling-interface"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What the expert sees","slug":"what-the-expert-sees","depth":2,"children":[]},{"title":"Try the real screen","slug":"try-the-real-screen","depth":2,"children":[]},{"title":"Fix it by asking the agent","slug":"fix-it-by-asking-the-agent","depth":2,"children":[]},{"title":"Fix it by hand","slug":"fix-it-by-hand","depth":2,"children":[]},{"title":"Verify like an expert would","slug":"verify-like-an-expert-would","depth":2,"children":[]},{"title":"When editing is locked","slug":"when-editing-is-locked","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/toloka-platform/de8aa1b19d1c608c/platform-links.js"],"subdomain":"toloka-platform","siteName":"Toloka Platform","title":"Review the labeling interface - Toloka Platform","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T16:24:04.390Z","originalFileLocation":"data/guides/review-labeling-interface.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=\"Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.\">\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=\"Review the labeling interface - Toloka Platform\">\u003cmeta data-mint-head property=\"og:description\" content=\"Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.\">\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/data/guides/review-labeling-interface\">\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=How-to+guides\u0026amp;title=Review+the+labeling+interface\u0026amp;description=Preview+and+edit+the+labeling+interface%2C+then+test+a+submission+with+Annotation+Quality+Assurance.\u0026amp;theme=4f0acd7e5281f22bad8ad665\u0026amp;signature=00992492099a8fa93f2f6e07935898c546e50c7974a98df81772627fa361b37a\">\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=\"Review the labeling interface - Toloka Platform\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://toloka-platform.mintlify.site/docs/_mintlify/api/og/v2?division=How-to+guides\u0026amp;title=Review+the+labeling+interface\u0026amp;description=Preview+and+edit+the+labeling+interface%2C+then+test+a+submission+with+Annotation+Quality+Assurance.\u0026amp;theme=4f0acd7e5281f22bad8ad665\u0026amp;signature=00992492099a8fa93f2f6e07935898c546e50c7974a98df81772627fa361b37a\">\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/data/guides/review-labeling-interface\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/data/guides/review-labeling-interface.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/data/guides/review-labeling-interface#webpage\",\"url\":\"https://toloka-platform.mintlify.dev/docs/data/guides/review-labeling-interface\",\"name\":\"Review the labeling interface\",\"description\":\"Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.\",\"dateModified\":\"2026-11-03T16:24:04.390Z\",\"isPartOf\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs/data/guides/review-labeling-interface#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://toloka-platform.mintlify.dev/docs/data/guides/review-labeling-interface#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Data Labeling\",\"item\":\"https://toloka-platform.mintlify.dev/docs/data/get-started/first-labeled-dataset\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Review the labeling interface\",\"item\":\"https://toloka-platform.mintlify.dev/docs/data/guides/review-labeling-interface\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://toloka-platform.mintlify.dev/docs/data/guides/review-labeling-interface#article\",\"headline\":\"Review the labeling interface\",\"name\":\"Review the labeling interface\",\"description\":\"Preview and edit the labeling interface, then test a submission with Annotation Quality Assurance.\",\"url\":\"https://toloka-platform.mintlify.dev/docs/data/guides/review-labeling-interface\",\"mainEntityOfPage\":{\"@id\":\"https://toloka-platform.mintlify.dev/docs/data/guides/review-labeling-interface#webpage\"},\"dateModified\":\"2026-11-03T16:24:04.390Z\",\"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","groups":[{"group":"Start","icon":"flag","pages":[{"title":"Get started with Toloka Platform","sidebarTitle":"Introduction","mode":"frame","href":""},{"title":"How the platform works","href":"/start/how-it-works"},{"title":"Glossary","href":"/start/glossary"}]},{"group":"Data Labeling","icon":"tags","pages":[{"title":"Get your first labeled dataset","href":"/data/get-started/first-labeled-dataset"},{"title":"How data labeling works","href":"/data/concepts/overview"},{"title":"Projects","href":"/core/projects"},{"title":"Create and manage datasets","sidebarTitle":"Datasets","href":"/core/datasets"},{"group":"Concepts","pages":[{"title":"Pipelines","href":"/data/concepts/pipelines"},{"title":"Fields and data","href":"/data/concepts/fields-and-data"},{"title":"Quality control","href":"/data/concepts/quality-control"},{"title":"Self-check","href":"/data/concepts/self-check"},{"title":"Pipeline pricing","description":"How Data Labeling pipeline runs are forecast, which cost lines apply, what Expected and Maximum mean, how deployment freezes a contract, and what canceled or failed items cost.","href":"/data/concepts/pricing"}]},{"group":"How-to guides","pages":[{"title":"Review the labeling interface","href":"/data/guides/review-labeling-interface"},{"title":"Label a large dataset in batches","description":"Label more than one run's worth of data, and repeat the cycle for a recurring workload, by deploying in batches of up to 10,000 items and cloning the pipeline for each new batch.","href":"/data/guides/label-at-volume"},{"title":"Label with an LLM instead of experts","href":"/data/guides/synthetic-labeling"},{"title":"Export your labeled results","href":"/data/guides/export-results"},{"title":"Resume or cancel a pipeline run","href":"/data/guides/pause-resume-cancel"}]},{"group":"Recipes","pages":[{"title":"Start a project from a template","href":"/data/recipes/preset-project"},{"title":"Have the agent build your project","href":"/data/recipes/agentic-project"}]},{"group":"Pipeline nodes","pages":[{"title":"Pipeline nodes","href":"/data/reference/nodes/index"},{"title":"Start and End nodes","href":"/data/reference/nodes/start-and-end"},{"title":"Generation node","href":"/data/reference/nodes/generation"},{"title":"Quorum node","href":"/data/reference/nodes/quorum"},{"title":"Code node","href":"/data/reference/nodes/code"},{"title":"Match node","href":"/data/reference/nodes/match"}]},{"title":"Export format","href":"/data/reference/export-format"}]},{"group":"Train","icon":"brain","pages":[{"title":"Choose a training method","href":"/train/get-started/choose-method"},{"title":"Train your first model","href":"/train/get-started/first-trained-model"},{"group":"Concepts","pages":[{"title":"How Training works","href":"/train/concepts/how-training-works"},{"title":"Training cost","href":"/train/concepts/cost"}]},{"group":"How-to guides","pages":[{"title":"Prepare training data from labels","href":"/train/guides/prepare-training-data"},{"title":"Fine-tune a model","href":"/train/guides/fine-tune"},{"title":"Compress a prompt with gisting","href":"/train/guides/gist"}]},{"group":"Models and settings","pages":[{"title":"Base models","href":"/train/reference/base-models"},{"title":"Training settings","href":"/train/reference/settings"},{"title":"Training limits","href":"/train/reference/limits"}]}]},{"group":"Workflows","icon":"workflow","pages":[{"title":"Label, train, and evaluate","href":"/workflows/label-train-evaluate"}]},{"group":"Admin","icon":"shield","pages":[{"title":"Teams, access, and balance","href":"/core/teams-and-balance"},{"title":"Billing","href":"/core/billing"},{"title":"Security and privacy","href":"/core/security"}]}]},{"tab":"SDKs","icon":"boxes","pages":[{"title":"SDKs","href":"/sdk"}]},{"tab":"Reference","icon":"code","pages":[{"title":"Reference","href":"/reference"}]},{"tab":"Troubleshooting","icon":"wrench","pages":[{"title":"Troubleshooting","href":"/data/guides/troubleshoot"}]}]},"basePath":"","title":"Review the labeling interface - Toloka Platform","buildId":"dpl_6dVqRXFR2Go5vF5RLvAdHuv189oT","deploymentId":"dpl_6dVqRXFR2Go5vF5RLvAdHuv189oT","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CPu1dUmH.js","lightbox-handle-r17bVUz3.js"]}