Author a candidate workflow without running it (stateless · source-only)
The HTTP transport of the same Compile core as nika compile. Foundation scope: CREATE resolves an exact embedded skeleton name (or hello), EDIT changes one existing constant, answers are explicit JSON literals; any other intent is answered incomplete with no substitute workflow. Creates no job, run, approval or trace, writes no file, contacts no provider: ambient keys are never consent. check_preview is a REVIEW of the source only, never admission: POST /v1/jobs judges a candidate again. Questions carry stable keys; answering is a new request, not a session.
POST
/
v1
/
compile
Author a candidate workflow without running it (stateless · source-only)
Exactly one Authorization: Bearer value from the token file
Body
application/json
Generation 1 of the compile request. The encoded body is limited by the listener's configured HTTP body ceiling; no smaller field-size or answer-count quota is imposed. Unknown fields, a present null, duplicate keys (including inside answers) and positional arrays are refused. No field names a host path: an EDIT base travels inline in source.
Names a created workflow. On edit the core refuses it as data: an edit cannot rename its accepted base
Response
Authoring outcome — ready, incomplete and refused are all data
The engine-owned machine document of one authoring result — the document nika compile --json prints, without the CLI-only written. No field grants authority, writes or executes source.
Ordinary .nika source. It is proposed only when status is ready; under any other status it is never proposed. Under incomplete it is a preview: it may still carry unfilled holes, or, when an applied diagnostic targets verify_held, it is a candidate the verifier held: it answered on these bytes against the request and did not accept them. A preview is not to be run or saved as an accepted result. Null when no candidate is shown, a withdrawn one included.
Findings, in order. kind and target are their machine-readable part; message is for a reader. target names what a finding concerns: a question key, a task, a source field, or one of the compiler's own targets, among them semantic_verification, a finding on the request against the candidate's bytes (a clause or the whole request that no admitted judgment of these bytes settled, a part a verifier judged missing with its reason, a part it left unsettled or contested, a verification stopped at a judge call that got no answer); verify_held (kind applied), the candidate is held: the verifier answered on these bytes against the request and did not accept them (it rejected them or abstained), so candidate is a preview only, no replayable round is kept, and that verifier is not asked about the same bytes again in this round; and verify_resume (kind applied), no admitted judgment of the candidate was made (the verifier's call failed or chose no offered answer): the candidate is withdrawn and the round's record kept, and a zero-call replay of that round asks no verifier. Each verification attempt is recorded in provenance.decision.semantic_verification.
The trigger the request names (kind · source_hint · event_hint · cadence · at · payload_input · status · timezone · missed · overlap · ceiling · cron), stated beside the candidate whose bytes carry no cadence, host or event. A requirement the operator binds through the schedule contract, never a grant or a schedule row. timezone, missed, overlap and ceiling are the answered binding values (null until answered). cron is the exact five-field schedule projection when supported and fully specified, otherwise null; older engines omit it. It never supplies a missing time or timezone.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Nika","description":"Nika turns repeatable AI work into a .nika file you keep: checked before it runs, run with the model you choose, proven afterwards.","colors":{"primary":"#2f6bff","light":"#8db4ff","dark":"#2f6bff"},"logo":{"light":"https://mintcdn.com/supernovae-acdf3706/3ObRrFNWymK8fsLG/images/logo-light.svg?fit=max\u0026auto=format\u0026n=3ObRrFNWymK8fsLG\u0026q=85\u0026s=73b2f60862ed01f97cfa045151df991e","dark":"https://mintcdn.com/supernovae-acdf3706/3ObRrFNWymK8fsLG/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=3ObRrFNWymK8fsLG\u0026q=85\u0026s=ae6d5ed9959c0ecb505ee6dd3bf66fe1","href":"/introduction"},"favicon":"https://mintcdn.com/supernovae-acdf3706/3ObRrFNWymK8fsLG/images/favicon.svg?fit=max\u0026auto=format\u0026n=3ObRrFNWymK8fsLG\u0026q=85\u0026s=e2b5356160334944fea5bc30352f8b97","appearance":{"default":"dark"},"background":{"decoration":"gradient","color":{"light":"#F4F6FC","dark":"#08090b"}},"navbar":{"links":[{"href":"/getting-started/installation","label":"Install"},{"href":"https://nika.sh","label":"nika.sh"},{"href":"https://github.com/supernovae-st/nika","type":"github"}],"primary":{"type":"button","label":"Build with the SDK","href":"/sdk/start/quickstart"}},"footer":{"socials":{"github":"https://github.com/supernovae-st/nika","x":"https://x.com/ThibautMelen"},"links":[{"header":"Nika","items":[{"label":"Site","href":"https://nika.sh"},{"label":"Current status","href":"/reference/status"},{"label":"Constellation","href":"/reference/constellation"}]},{"header":"Build","items":[{"label":"Language spec (Apache-2.0)","href":"https://github.com/supernovae-st/nika-spec"},{"label":"Source (AGPL)","href":"https://github.com/supernovae-st/nika"},{"label":"TypeScript SDK","href":"/sdk/overview"},{"label":"Homebrew tap","href":"https://github.com/supernovae-st/homebrew-tap"}]},{"header":"Studio","items":[{"label":"SuperNovae","href":"https://supernovae.studio"}]}]},"search":{"prompt":"Search Nika docs…"},"seo":{"metatags":{"og:image":"https://docs.nika.sh/images/og-card.png","twitter:card":"summary_large_image"}},"fonts":{"family":"Inter"},"styling":{"eyebrows":"section","codeblocks":"system","latex":true},"banner":{"content":"New here? Write a workflow, run it, inspect a real result. No account or API key. [Start here →](/introduction)","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"metadata":{"timestamp":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"supernovae-acdf3706","hasAudioNarration":false,"actualSubdomain":"supernovae-acdf3706","customDomains":["docs.nika.sh"],"gitSource":{"type":"github","owner":"supernovae-st","repo":"nika-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adc61ddaad54c2adb2460b6","collectionId":"31527b5d-ed3f-419f-9f15-7daf04a86c42","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adc61ddaad54c2adb2460b6"},"feedback":{"thumbs":true,"agentFeedback":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6add356e3f0421323b9d08c6","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"Reference","count":154},{"language":"default","tag":"Language fields","count":106},{"language":"default","tag":"Guide","count":63},{"language":"default","tag":"SDK","count":52},{"language":"default","tag":"Examples","count":32},{"language":"default","tag":"Tool contracts","count":29},{"language":"default","tag":"Agents \u0026 integrations","count":28},{"language":"default","tag":"Verbs and models","count":27},{"language":"default","tag":"Tasks and dependencies","count":22},{"language":"default","tag":"Remote API","count":22}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"global.css","content":"@keyframes sdk-doc-particles{to{transform:translate3d(.4rem,-.55rem,0);opacity:.42}}.mermaid svg,.prose .mermaid svg,[data-mermaid] svg,div.mermaid,pre.mermaid{background:0 0!important}.mermaid .edgeLabel{background-color:transparent!important;color:#b8b2aa!important}.mermaid .edgePaths path,.mermaid .flowchart-link{stroke:#4a4540!important}.mermaid{display:flex;justify-content:center;padding:.75rem 0}.card,[class*=card] a{transition:border-color .2s ease,transform .2s ease}.card:hover{border-color:rgba(159,208,255,.45)!important;transform:translateY(-1px)}.dark pre{background-color:#0a1226!important}#banner,[data-component=banner]{background:linear-gradient(90deg,#0a1226,#04050d)!important;color:#cfe6ff!important}#banner a,[data-component=banner] a{color:#9fd0ff!important}.sdk-flight{--sdk-flight-ink:#cfe6ff;--sdk-flight-signal:#8db4ff;position:relative;isolation:isolate;overflow:hidden;margin:1.75rem 0;border:1px solid rgb(141 180 255/.24);border-radius:.55rem;background:radial-gradient(80% 120% at 92% -18%,rgb(47 107 255/.14),transparent 58%),linear-gradient(180deg,transparent 0 94%,rgb(141 180 255/.055) 94% 94.5%,transparent 94.5%),linear-gradient(90deg,rgb(141 180 255/.035) 1px,transparent 1px) 0 0/2rem 2rem,linear-gradient(rgb(141 180 255/.035) 1px,transparent 1px) 0 0/2rem 2rem,linear-gradient(145deg,rgb(10 18 38/.96),rgb(4 5 13/.98));box-shadow:inset 0 1px 0 rgb(255 255 255/.055),inset 0 0 5rem rgb(47 107 255/.06),0 2rem 5rem -3.4rem rgb(47 107 255/.62)}.sdk-flight::before{content:\"\";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 9% 24%,rgb(159 208 255/.7) 0 1px,transparent 1.4px),radial-gradient(circle at 23% 78%,rgb(159 208 255/.38) 0 1px,transparent 1.4px),radial-gradient(circle at 34% 47%,rgb(159 208 255/.3) 0 .8px,transparent 1.3px),radial-gradient(circle at 46% 19%,rgb(159 208 255/.5) 0 1px,transparent 1.4px),radial-gradient(circle at 57% 88%,rgb(159 208 255/.34) 0 .8px,transparent 1.3px),radial-gradient(circle at 68% 68%,rgb(159 208 255/.42) 0 1px,transparent 1.4px),radial-gradient(circle at 77% 16%,rgb(159 208 255/.32) 0 .8px,transparent 1.3px),radial-gradient(circle at 88% 31%,rgb(159 208 255/.62) 0 1px,transparent 1.4px),radial-gradient(circle at 94% 82%,rgb(159 208 255/.36) 0 .8px,transparent 1.3px);opacity:.7;animation:sdk-doc-particles 9s ease-in-out infinite alternate}.sdk-flight::after{content:\"\";position:absolute;top:.8rem;right:.8rem;width:.55rem;height:.55rem;border-top:1px solid rgb(159 208 255/.52);border-right:1px solid rgb(159 208 255/.52)}.sdk-flight>span{display:block;padding:.72rem 1rem .68rem;border-bottom:1px solid rgb(141 180 255/.16);background:linear-gradient(90deg,rgb(47 107 255/.055),transparent 58%);font:.66rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.17em;color:var(--sdk-flight-signal);text-transform:uppercase}.sdk-flight>span::before{content:\"[ SYS ]\";margin-right:.7rem;color:rgb(207 230 255/.46)}.dark .sdk-flight pre,.sdk-flight pre{overflow-x:auto;margin:0!important;padding:clamp(1.15rem,3vw,2rem)!important;border:0!important;background:0 0!important;scrollbar-color:rgb(141 180 255/.32) transparent;color:var(--sdk-flight-ink)!important;font-size:clamp(.71rem,1.5vw,.84rem)!important;line-height:1.75!important;text-shadow:0 0 1.25rem rgb(141 180 255/.18)}.sdk-flight pre:focus-visible{outline:1px solid rgb(141 180 255/.72)!important;outline-offset:-.25rem}.dark .sdk-flight-compact pre,.sdk-flight-compact pre{padding-block:1.15rem!important}@media (prefers-reduced-motion:reduce){.sdk-flight::before{animation:none}}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.prose{line-height:1.6}.prose p{max-width:72ch;text-wrap:pretty}.prose li,.prose p{overflow-wrap:break-word}.prose :is(h1, h2, h3){line-height:1.15;letter-spacing:-.018em;text-wrap:balance;scroll-margin-top:13.5rem}.prose :is(h4, h5, h6){line-height:1.25;scroll-margin-top:13.5rem}@media (min-width:768px){.prose :is(h1, h2, h3, h4, h5, h6){scroll-margin-top:10rem}}.prose table{font-variant-numeric:tabular-nums}.prose a{text-underline-position:from-font;text-decoration-thickness:from-font}.card:focus-visible,.prose a:focus-visible,[class*=card] a:focus-visible,button:focus-visible,pre:focus-visible{outline:2px solid #2f6bff;outline-offset:2px}.dark .card:focus-visible,.dark .prose a:focus-visible,.dark [class*=card] a:focus-visible,.dark button:focus-visible,.dark pre:focus-visible{outline-color:#8db4ff}.dark pre,pre{line-height:1.65}@media (max-width:640px){input,select,textarea{font-size:16px}.card:hover{transform:none}}@media (prefers-reduced-motion:reduce){.card,[class*=card] a{transition:none}.card:hover{transform:none}}::selection{background:rgb(47 107 255/.22);color:#08090b}.dark ::selection{background:rgb(47 107 255/.38);color:#cfe6ff}"}],"page":{"pagePath":"api-reference/author-a-candidate-workflow-without-running-it-stateless-·-source-only","slug":"/api-reference/author-a-candidate-workflow-without-running-it-stateless-·-source-only","pageMetadata":{"title":"Author a candidate workflow without running it (stateless · source-only)","description":"The HTTP transport of the same Compile core as `nika compile`. Foundation scope: CREATE resolves an exact embedded skeleton name (or `hello`), EDIT changes one existing constant, answers are explicit JSON literals; any other intent is answered `incomplete` with no substitute workflow. Creates no job, run, approval or trace, writes no file, contacts no provider: ambient keys are never consent. `check_preview` is a REVIEW of the source only, never admission: POST /v1/jobs judges a candidate again. Questions carry stable keys; answering is a new request, not a session.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/compile","href":"/api-reference/author-a-candidate-workflow-without-running-it-stateless-·-source-only","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"The HTTP transport of the same Compile core as \", _jsx(_components.code, {\n children: \"nika compile\"\n }), \". Foundation scope: CREATE resolves an exact embedded skeleton name (or \", _jsx(_components.code, {\n children: \"hello\"\n }), \"), EDIT changes one existing constant, answers are explicit JSON literals; any other intent is answered \", _jsx(_components.code, {\n children: \"incomplete\"\n }), \" with no substitute workflow. Creates no job, run, approval or trace, writes no file, contacts no provider: ambient keys are never consent. \", _jsx(_components.code, {\n children: \"check_preview\"\n }), \" is a REVIEW of the source only, never admission: POST /v1/jobs judges a candidate again. Questions carry stable keys; answering is a new request, not a session.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Author a candidate workflow without running it (stateless · source-only)","description":"The HTTP transport of the same Compile core as `nika compile`. Foundation scope: CREATE resolves an exact embedded skeleton name (or `hello`), EDIT changes one existing constant, answers are explicit JSON literals; any other intent is answered `incomplete` with no substitute workflow. Creates no job, run, approval or trace, writes no file, contacts no provider: ambient keys are never consent. `check_preview` is a REVIEW of the source only, never admission: POST /v1/jobs judges a candidate again. Questions carry stable keys; answering is a new request, not a session.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/compile","href":"/api-reference/author-a-candidate-workflow-without-running-it-stateless-·-source-only","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"The HTTP transport of the same Compile core as `nika compile`. Foundation scope: CREATE resolves an exact embedded skeleton name (or `hello`), EDIT changes one existing constant, answers are explicit JSON literals; any other intent is answered `incomplete` with no substitute workflow. Creates no job, run, approval or trace, writes no file, contacts no provider: ambient keys are never consent. `check_preview` is a REVIEW of the source only, never admission: POST /v1/jobs judges a candidate again. Questions carry stable keys; answering is a new request, not a session.","requestBody":"86864eaf-1ec5-44b3-8c96-ad5eac94cd0a","responses":{"200":"43c7e029-cafa-4a2e-9f2f-b650928c7cba","401":"b38793ab-ef65-49e5-90cd-82c306302800","408":"1bf40945-26a4-4bef-9355-0062662ed7bc","413":"d52760ff-29d5-42f2-9a22-31180203f2d1","415":"d15c2cc5-e4b0-4532-b942-d482d8db1365","422":"9e1afabd-c9f7-4d37-b9c4-0c3751ba6b21","500":"a736f4e8-6e8f-43bf-b409-2a94b6bae6ef","503":"343cf33c-0ff7-4c23-af4a-c4f3f4360a58"},"summary":"Author a candidate workflow without running it (stateless · source-only)","method":"post","type":"path","servers":["930118a2-5b9a-438c-ba56-df3f558320a7"],"security":["6eb7ccf3-95f9-45c7-b432-4f319f886e17"],"path":"/v1/compile","baseUrlOptions":["http://127.0.0.1"],"title":"Author a candidate workflow without running it (stateless · source-only)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"description":"Generation 1 of the compile request. The encoded body is limited by the listener's configured HTTP body ceiling; no smaller field-size or answer-count quota is imposed. Unknown fields, a present null, duplicate keys (including inside `answers`) and positional arrays are refused. No field names a host path: an EDIT base travels inline in `source`.","properties":{"compile_version":{"const":1,"type":"integer","isRequired":true,"uniqueKey":"compile_version","typeLabel":"integer"},"mode":{"description":"create requires `intent` and forbids `source`/`change`; edit requires `source` and `change` and forbids `intent`","enum":["create","edit"],"type":"string","isRequired":true,"uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"answers":{"additionalProperties":true,"description":"Question key → one JSON literal with its type preserved, judged exactly as sent within the HTTP body envelope.","type":"object","uniqueKey":"answers","typeLabel":"object"},"change":{"additionalProperties":false,"maxProperties":1,"minProperties":1,"properties":{"set_constant":{"additionalProperties":false,"properties":{"name":{"description":"Bare constant name, not a path","type":"string","isRequired":true,"uniqueKey":"change.set_constant.name","typeLabel":"string"},"value":{"description":"One JSON literal, judged exactly as sent within the HTTP body envelope.","isRequired":true,"uniqueKey":"change.set_constant.value","typeLabel":"any"}},"required":["name","value"],"type":"object","uniqueKey":"change.set_constant","typeLabel":"object"},"text":{"description":"`Set const.NAME to JSON_LITERAL`, or `Set const.NAME` answered through `answers`","type":"string","uniqueKey":"change.text","typeLabel":"string"}},"type":"object","uniqueKey":"change","typeLabel":"object"},"cognition":{"const":"deterministicOnly","description":"The only authoring cognition of this build. Any other value is refused; no authoring model is contacted","type":"string","uniqueKey":"cognition","typeLabel":"string"},"intent":{"type":"string","uniqueKey":"intent","typeLabel":"string"},"source":{"description":"Accepted `.nika` source, inline. The caller owns source selection, revision checks and materialization","type":"string","uniqueKey":"source","typeLabel":"string"},"workflow_id":{"description":"Names a created workflow. On edit the core refuses it as data: an edit cannot rename its accepted base","type":"string","uniqueKey":"workflow_id","typeLabel":"string"}},"required":["compile_version","mode"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"compile_version":1,"answers":{},"change":{"text":"\u003cstring>"},"cognition":"deterministicOnly","intent":"\u003cstring>","source":"\u003cstring>","workflow_id":"\u003cstring>"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"43c7e029-cafa-4a2e-9f2f-b650928c7cba":{"content":{"application/json":{"schema":{"description":"The engine-owned machine document of one authoring result — the document `nika compile --json` prints, without the CLI-only `written`. No field grants authority, writes or executes source.","properties":{"candidate":{"oneOf":[{"description":"Ordinary `.nika` source. It is proposed only when `status` is `ready`; under any other status it is never proposed. Under `incomplete` it is a preview: it may still carry unfilled holes, or, when an `applied` diagnostic targets `verify_held`, it is a candidate the verifier held: it answered on these bytes against the request and did not accept them. A preview is not to be run or saved as an accepted result. Null when no candidate is shown, a withdrawn one included.","type":"string","isRequired":true,"uniqueKey":"candidate.oneOf.0","typeLabel":"string"},{"description":"Ordinary `.nika` source. It is proposed only when `status` is `ready`; under any other status it is never proposed. Under `incomplete` it is a preview: it may still carry unfilled holes, or, when an `applied` diagnostic targets `verify_held`, it is a candidate the verifier held: it answered on these bytes against the request and did not accept them. A preview is not to be run or saved as an accepted result. Null when no candidate is shown, a withdrawn one included.","type":"null","isRequired":true,"uniqueKey":"candidate.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"candidate","typeLabel":"string | null"},"check_preview":{"oneOf":[{"description":"The engine's pure Check report over the source only. No child file, skill, credential probe, access plan or admission was evaluated","properties":{"report":{"additionalProperties":true,"type":"object","isRequired":true,"uniqueKey":"check_preview.oneOf.0.report","typeLabel":"object"},"scope":{"const":"sourceOnly","type":"string","isRequired":true,"uniqueKey":"check_preview.oneOf.0.scope","typeLabel":"string"}},"required":["scope","report"],"type":"object","isRequired":true,"uniqueKey":"check_preview.oneOf.0","typeLabel":"object"},{"description":"The engine's pure Check report over the source only. No child file, skill, credential probe, access plan or admission was evaluated","properties":{"report":{"additionalProperties":true,"type":"object"},"scope":{"const":"sourceOnly","type":"string"}},"required":["scope","report"],"type":"null","isRequired":true,"uniqueKey":"check_preview.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"check_preview","typeLabel":"object | null"},"compile_version":{"const":1,"type":"integer","isRequired":true,"uniqueKey":"compile_version","typeLabel":"integer"},"diagnostics":{"description":"Findings, in order. `kind` and `target` are their machine-readable part; `message` is for a reader. `target` names what a finding concerns: a question key, a task, a source field, or one of the compiler's own targets, among them `semantic_verification`, a finding on the request against the candidate's bytes (a clause or the whole request that no admitted judgment of these bytes settled, a part a verifier judged missing with its reason, a part it left unsettled or contested, a verification stopped at a judge call that got no answer); `verify_held` (kind `applied`), the candidate is held: the verifier answered on these bytes against the request and did not accept them (it rejected them or abstained), so `candidate` is a preview only, no replayable round is kept, and that verifier is not asked about the same bytes again in this round; and `verify_resume` (kind `applied`), no admitted judgment of the candidate was made (the verifier's call failed or chose no offered answer): the candidate is withdrawn and the round's record kept, and a zero-call replay of that round asks no verifier. Each verification attempt is recorded in `provenance.decision.semantic_verification`.","items":{"properties":{"kind":{"enum":["applied","missed","unknown","requiresHuman","refused"],"type":"string","isRequired":true,"uniqueKey":"diagnostics.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"message":{"description":"For a reader; never parsed to recover compiler state","type":"string","isRequired":true,"uniqueKey":"diagnostics.items.[INDEX].message","typeLabel":"string"},"target":{"type":"string","isRequired":true,"uniqueKey":"diagnostics.items.[INDEX].target","typeLabel":"string"}},"required":["kind","target","message"],"type":"object","uniqueKey":"diagnostics.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"diagnostics","typeLabel":"object[]"},"provenance":{"description":"Reproduction metadata; neither program identity nor run evidence","properties":{"cognition":{"const":"deterministicOnly","type":"string","isRequired":true,"uniqueKey":"provenance.cognition","typeLabel":"string"},"compiler_version":{"type":"string","isRequired":true,"uniqueKey":"provenance.compiler_version","typeLabel":"string"},"skeleton":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"provenance.skeleton.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"provenance.skeleton.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"provenance.skeleton","typeLabel":"string | null"},"spec_pin":{"type":"string","isRequired":true,"uniqueKey":"provenance.spec_pin","typeLabel":"string"},"decision":{"additionalProperties":true,"description":"Bounded compiler decision evidence, including deterministic and replay outcomes; it grants no execution or spending authority.","type":"object","uniqueKey":"provenance.decision","typeLabel":"object"},"plan":{"additionalProperties":true,"description":"The compiler record retained in this outcome; a server replay uses its opaque token rather than accepting this object as authority.","type":"object","uniqueKey":"provenance.plan","typeLabel":"object"},"strategy":{"description":"The compiler strategy that produced this outcome.","type":"string","uniqueKey":"provenance.strategy","typeLabel":"string"},"suggested_file":{"oneOf":[{"description":"A suggested candidate file name, never a file written by compilation.","type":"string","uniqueKey":"provenance.suggested_file.oneOf.0","typeLabel":"string"},{"description":"A suggested candidate file name, never a file written by compilation.","type":"null","uniqueKey":"provenance.suggested_file.oneOf.1","typeLabel":"null"}],"uniqueKey":"provenance.suggested_file","typeLabel":"string | null"}},"required":["compiler_version","spec_pin","skeleton","cognition"],"type":"object","isRequired":true,"uniqueKey":"provenance","typeLabel":"object"},"questions":{"items":{"properties":{"key":{"description":"Stable semantic hole path such as `const.request`, never a session id","type":"string","isRequired":true,"uniqueKey":"questions.items.[INDEX].key","typeLabel":"string"},"label":{"type":"string","isRequired":true,"uniqueKey":"questions.items.[INDEX].label","typeLabel":"string"},"mandatory":{"description":"false: the value belongs to a binding outside the program (a schedule's timezone, missed-run and overlap policies, per-run ceiling) and never blocks a ready candidate","type":"boolean","isRequired":true,"uniqueKey":"questions.items.[INDEX].mandatory","typeLabel":"boolean"},"type":{"description":"text: a JSON string · literal: one JSON value · choice: a JSON string that is the `key` of one of `options`","enum":["text","literal","choice"],"type":"string","isRequired":true,"uniqueKey":"questions.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"why":{"type":"string","isRequired":true,"uniqueKey":"questions.items.[INDEX].why","typeLabel":"string"},"options":{"description":"Present on a choice question only: the admissible answers, keys spelled by the owning grammar","items":{"properties":{"key":{"type":"string","isRequired":true,"uniqueKey":"questions.items.[INDEX].options.items.[INDEX].key","typeLabel":"string"},"label":{"type":"string","isRequired":true,"uniqueKey":"questions.items.[INDEX].options.items.[INDEX].label","typeLabel":"string"}},"required":["key","label"],"type":"object","uniqueKey":"questions.items.[INDEX].options.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"questions.items.[INDEX].options","typeLabel":"object[]"}},"required":["key","label","type","why","mandatory"],"type":"object","uniqueKey":"questions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"questions","typeLabel":"object[]"},"requested_boundary":{"oneOf":[{"additionalProperties":true,"description":"The candidate's requested permits, derived by Check. Requested, never granted","type":"object","isRequired":true,"uniqueKey":"requested_boundary.oneOf.0","typeLabel":"object"},{"additionalProperties":true,"description":"The candidate's requested permits, derived by Check. Requested, never granted","type":"null","isRequired":true,"uniqueKey":"requested_boundary.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"requested_boundary","typeLabel":"object | null"},"requested_trigger":{"oneOf":[{"additionalProperties":true,"description":"The trigger the request names (kind · source_hint · event_hint · cadence · at · payload_input · status · timezone · missed · overlap · ceiling · cron), stated beside the candidate whose bytes carry no cadence, host or event. A requirement the operator binds through the schedule contract, never a grant or a schedule row. timezone, missed, overlap and ceiling are the answered binding values (null until answered). cron is the exact five-field schedule projection when supported and fully specified, otherwise null; older engines omit it. It never supplies a missing time or timezone.","type":"object","isRequired":true,"uniqueKey":"requested_trigger.oneOf.0","typeLabel":"object"},{"additionalProperties":true,"description":"The trigger the request names (kind · source_hint · event_hint · cadence · at · payload_input · status · timezone · missed · overlap · ceiling · cron), stated beside the candidate whose bytes carry no cadence, host or event. A requirement the operator binds through the schedule contract, never a grant or a schedule row. timezone, missed, overlap and ceiling are the answered binding values (null until answered). cron is the exact five-field schedule projection when supported and fully specified, otherwise null; older engines omit it. It never supplies a missing time or timezone.","type":"null","isRequired":true,"uniqueKey":"requested_trigger.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"requested_trigger","typeLabel":"object | null"},"status":{"description":"Completeness of authoring, never permission to execute","enum":["ready","incomplete","refused"],"type":"string","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"}},"required":["compile_version","status","candidate","questions","diagnostics","requested_boundary","requested_trigger","check_preview","provenance"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"candidate":"\u003cstring>","check_preview":{"report":{},"scope":"sourceOnly"},"compile_version":1,"diagnostics":[{"kind":"applied","message":"\u003cstring>","target":"\u003cstring>"}],"provenance":{"cognition":"deterministicOnly","compiler_version":"\u003cstring>","skeleton":"\u003cstring>","spec_pin":"\u003cstring>","decision":{},"plan":{},"strategy":"\u003cstring>","suggested_file":"\u003cstring>"},"questions":[{"key":"\u003cstring>","label":"\u003cstring>","mandatory":true,"type":"text","why":"\u003cstring>","options":[{"key":"\u003cstring>","label":"\u003cstring>"}]}],"requested_boundary":{},"requested_trigger":{},"status":"ready"}}},"exampleType":"generated"}},"description":"Authoring outcome — ready, incomplete and refused are all data","exampleType":"generated"},"b38793ab-ef65-49e5-90cd-82c306302800":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"Error envelope","exampleType":"generated"},"1bf40945-26a4-4bef-9355-0062662ed7bc":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"Request deadline","exampleType":"generated"},"d52760ff-29d5-42f2-9a22-31180203f2d1":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"Encoded body above the compile ceiling","exampleType":"generated"},"d15c2cc5-e4b0-4532-b942-d482d8db1365":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"Content-Type or Content-Encoding refused","exampleType":"generated"},"9e1afabd-c9f7-4d37-b9c4-0c3751ba6b21":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"malformed_compile_request · compile_version_unsupported · compile_mode_unsupported · compile_cognition_unsupported · compile_limit","exampleType":"generated"},"a736f4e8-6e8f-43bf-b409-2a94b6bae6ef":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"Compiler machinery failure; nothing is echoed","exampleType":"generated"},"343cf33c-0ff7-4c23-af4a-c4f3f4360a58":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"compile_busy — every compile slot is in use","exampleType":"generated"}},"security":{"6eb7ccf3-95f9-45c7-b432-4f319f886e17":{"bearerAuth":{"description":"Exactly one Authorization: Bearer value from the token file","scheme":"bearer","type":"http","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"930118a2-5b9a-438c-ba56-df3f558320a7":{"url":"http://127.0.0.1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"Exactly one Authorization: Bearer value from the token file","scheme":"bearer","type":"http","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Exactly one Authorization: Bearer value from the token file","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"supernovae-acdf3706","siteName":"Nika","title":"Author a candidate workflow without running it (stateless · source-only) - Nika","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T23:46:38.565Z","originalFileLocation":"api-reference/author-a-candidate-workflow-without-running-it-stateless-·-source-only.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}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=\"The HTTP transport of the same Compile core as nika compile. Foundation scope: CREATE resolves an exact embedded skeleton name (or hello), EDIT changes one existing constant, answers are explicit JSON literals; any other intent is answered incomplete with no substitute workflow. Creates no job, run, approval or trace, writes no file, contacts no provider: ambient keys are never consent. check_preview is a REVIEW of the source only, never admission: POST /v1/jobs judges a candidate again. Questions carry stable keys; answering is a new request, not a session.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nika\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/supernovae-acdf3706/nNpvwcCdepgiS-MX/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/supernovae-acdf3706/nNpvwcCdepgiS-MX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/supernovae-acdf3706/nNpvwcCdepgiS-MX/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/supernovae-acdf3706/nNpvwcCdepgiS-MX/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/supernovae-acdf3706/nNpvwcCdepgiS-MX/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/supernovae-acdf3706/nNpvwcCdepgiS-MX/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/supernovae-acdf3706/nNpvwcCdepgiS-MX/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/supernovae-acdf3706/nNpvwcCdepgiS-MX/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/supernovae-acdf3706/nNpvwcCdepgiS-MX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Author a candidate workflow without running it (stateless · source-only) - Nika\">\u003cmeta data-mint-head property=\"og:description\" content=\"The HTTP transport of the same Compile core as nika compile. Foundation scope: CREATE resolves an exact embedded skeleton name (or hello), EDIT changes one existing constant, answers are explicit JSON literals; any other intent is answered incomplete with no substitute workflow. Creates no job, run, approval or trace, writes no file, contacts no provider: ambient keys are never consent. check_preview is a REVIEW of the source only, never admission: POST /v1/jobs judges a candidate again. Questions carry stable keys; answering is a new request, not a session.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nika\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.nika.sh/api-reference/author-a-candidate-workflow-without-running-it-stateless-·-source-only\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.nika.sh/images/og-card.png\">\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=\"Author a candidate workflow without running it (stateless · source-only) - Nika\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The HTTP transport of the same Compile core as nika compile. Foundation scope: CREATE resolves an exact embedded skeleton name (or hello), EDIT changes one existing constant, answers are explicit JSON literals; any other intent is answered incomplete with no substitute workflow. Creates no job, run, approval or trace, writes no file, contacts no provider: ambient keys are never consent. check_preview is a REVIEW of the source only, never admission: POST /v1/jobs judges a candidate again. Questions carry stable keys; answering is a new request, not a session.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.nika.sh/images/og-card.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/supernovae-acdf3706/nNpvwcCdepgiS-MX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nika\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2f6bff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.nika.sh/api-reference/author-a-candidate-workflow-without-running-it-stateless-·-source-only\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/author-a-candidate-workflow-without-running-it-stateless-%C2%B7-source-only.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.nika.sh/#organization\",\"name\":\"Nika\",\"url\":\"https://docs.nika.sh\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/supernovae-acdf3706/3ObRrFNWymK8fsLG/images/logo-light.svg?fit=max\u0026auto=format\u0026n=3ObRrFNWymK8fsLG\u0026q=85\u0026s=73b2f60862ed01f97cfa045151df991e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.nika.sh#website\",\"name\":\"Nika\",\"url\":\"https://docs.nika.sh\",\"publisher\":{\"@id\":\"https://docs.nika.sh/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.nika.sh/api-reference/author-a-candidate-workflow-without-running-it-stateless-%C2%B7-source-only#webpage\",\"url\":\"https://docs.nika.sh/api-reference/author-a-candidate-workflow-without-running-it-stateless-%C2%B7-source-only\",\"name\":\"Author a candidate workflow without running it (stateless · source-only)\",\"description\":\"The HTTP transport of the same Compile core as nika compile. Foundation scope: CREATE resolves an exact embedded skeleton name (or hello), EDIT changes one existing constant, answers are explicit JSON literals; any other intent is answered incomplete with no substitute workflow. Creates no job, run, approval or trace, writes no file, contacts no provider: ambient keys are never consent. check_preview is a REVIEW of the source only, never admission: POST /v1/jobs judges a candidate again. Questions carry stable keys; answering is a new request, not a session.\",\"dateModified\":\"2026-10-23T23:46:38.565Z\",\"isPartOf\":{\"@id\":\"https://docs.nika.sh#website\"},\"breadcrumb\":{\"@id\":\"https://docs.nika.sh/api-reference/author-a-candidate-workflow-without-running-it-stateless-%C2%B7-source-only#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.nika.sh/api-reference/author-a-candidate-workflow-without-running-it-stateless-%C2%B7-source-only#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Remote API\",\"item\":\"https://docs.nika.sh/sdk/remote/serve-quickstart\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Reference\",\"item\":\"https://docs.nika.sh/api-reference/public-process-liveness\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Author a candidate workflow without running it (stateless · source-only)\",\"item\":\"https://docs.nika.sh/api-reference/author-a-candidate-workflow-without-running-it-stateless-%C2%B7-source-only\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.nika.sh/api-reference/author-a-candidate-workflow-without-running-it-stateless-%C2%B7-source-only#apireference\",\"headline\":\"Author a candidate workflow without running it (stateless · source-only)\",\"name\":\"Author a candidate workflow without running it (stateless · source-only)\",\"description\":\"The HTTP transport of the same Compile core as nika compile. Foundation scope: CREATE resolves an exact embedded skeleton name (or hello), EDIT changes one existing constant, answers are explicit JSON literals; any other intent is answered incomplete with no substitute workflow. Creates no job, run, approval or trace, writes no file, contacts no provider: ambient keys are never consent. check_preview is a REVIEW of the source only, never admission: POST /v1/jobs judges a candidate again. Questions carry stable keys; answering is a new request, not a session.\",\"url\":\"https://docs.nika.sh/api-reference/author-a-candidate-workflow-without-running-it-stateless-%C2%B7-source-only\",\"mainEntityOfPage\":{\"@id\":\"https://docs.nika.sh/api-reference/author-a-candidate-workflow-without-running-it-stateless-%C2%B7-source-only#webpage\"},\"image\":\"https://docs.nika.sh/images/og-card.png\",\"dateModified\":\"2026-10-23T23:46:38.565Z\",\"publisher\":{\"@id\":\"https://docs.nika.sh/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.nika.sh#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nika\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Nika","nav":{"global":null,"tabs":[{"tab":"Guide","icon":"book-open","pages":[{"title":"Guide","href":"/introduction"}]},{"tab":"SDK","icon":"code","groups":[{"group":"Overview","pages":[{"title":"TypeScript SDK","sidebarTitle":"Overview","icon":"code","href":"/sdk/overview"},{"title":"How the SDK works","sidebarTitle":"How it works","icon":"diagram-project","href":"/sdk/how-it-works"}]},{"group":"Start","pages":[{"title":"TypeScript quickstart","sidebarTitle":"Quickstart","icon":"play","href":"/sdk/start/quickstart"},{"title":"Project setup","sidebarTitle":"Project setup","icon":"folder-tree","href":"/sdk/start/project-setup"}]},{"group":"Project","pages":[{"title":"nika.yaml project file","sidebarTitle":"nika.yaml","icon":"file-code","href":"/sdk/project/nika-yaml"},{"title":"CWD and monorepos","sidebarTitle":"CWD and monorepos","icon":"folder-tree","href":"/sdk/project/cwd-and-monorepos"},{"title":"Arm registry","sidebarTitle":"Arm registry","icon":"clock","href":"/sdk/project/arm-registry"},{"title":"Project policy ladders","sidebarTitle":"Policy ladders","icon":"stairs","href":"/sdk/project/policy-ladders"},{"title":"Project runtime state","sidebarTitle":"Runtime state","icon":"database","href":"/sdk/project/runtime-state"}]},{"group":"Local API","pages":[{"title":"Local client","sidebarTitle":"Local client","icon":"terminal","href":"/sdk/local/client"},{"title":"Check before admission","sidebarTitle":"Check","icon":"list-check","href":"/sdk/local/check-and-plan"},{"title":"Run and cancel","sidebarTitle":"Run and cancel","icon":"circle-play","href":"/sdk/local/run-and-cancel"},{"title":"Compile a workflow","sidebarTitle":"Compile","icon":"wand-magic-sparkles","href":"/sdk/local/compile"},{"title":"Test and trace","sidebarTitle":"Test and trace","icon":"vial-circle-check","href":"/sdk/local/test-and-trace"}]},{"group":"Runtime","pages":[{"title":"Results and settlement","sidebarTitle":"Results","icon":"flag-checkered","href":"/sdk/runtime/results"},{"title":"Run events","sidebarTitle":"Run events","icon":"wave-pulse","href":"/sdk/runtime/events"},{"title":"Errors","sidebarTitle":"Errors","icon":"triangle-exclamation","href":"/sdk/runtime/errors"},{"title":"Receipts and verification","sidebarTitle":"Receipts","icon":"link","href":"/sdk/runtime/receipts"},{"title":"Spend caps","sidebarTitle":"Spend caps","icon":"scale-balanced","href":"/sdk/runtime/spend"},{"title":"Permits and admission","sidebarTitle":"Permits","icon":"shield-halved","href":"/sdk/runtime/permits"}]},{"group":"Remote API","pages":[{"title":"Server quickstart","sidebarTitle":"Server quickstart","icon":"server","href":"/sdk/remote/serve-quickstart"},{"title":"Remote client","sidebarTitle":"Remote client","icon":"satellite-dish","href":"/sdk/remote/client"},{"title":"Remote jobs","sidebarTitle":"Jobs","icon":"list-check","href":"/sdk/remote/jobs"},{"title":"SSE streaming","sidebarTitle":"SSE streaming","icon":"wave-pulse","href":"/sdk/remote/streaming"},{"title":"Schedules","sidebarTitle":"Schedules","icon":"calendar","href":"/sdk/remote/schedules"},{"title":"Outputs and artifacts","sidebarTitle":"Outputs and artifacts","icon":"box-archive","href":"/sdk/remote/artifacts"},{"title":"Workflow registry","sidebarTitle":"Workflow registry","icon":"folder-open","href":"/sdk/remote/workflows"},{"title":"Application webhooks","sidebarTitle":"Application webhooks","icon":"webhook","href":"/sdk/remote/webhooks"},{"group":"API Reference","pages":[{"title":"Public process liveness","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /health","href":"/api-reference/public-process-liveness"},{"title":"Judge a workflow without creating a job — by served name, or as immutable snapshot bytes","description":"Runs the same admission as POST /v1/jobs (ADR-131 · both forms) over the exact request body, and creates nothing.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/check","href":"/api-reference/judge-a-workflow-without-creating-a-job-—-by-served-name-or-as-immutable-snapshot-bytes"},{"title":"Author a candidate workflow without running it (stateless · source-only)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/compile","href":"/api-reference/author-a-candidate-workflow-without-running-it-stateless-·-source-only"},{"title":"Admit a workflow as a durable job — by served name, or as immutable snapshot bytes","description":"Two forms, one admission (ADR-131). `{\"workflow\": \"\u003cname>\"}` names a workflow the served registry lists: the resident captures its world through ExecutionService, exactly as a schedule does. Optional `access` on that form is CLI `--access` for this job only. A snapshot body is the world `nika check \u003cfile> --json --sdk-snapshot` prints, decoded and readmitted through the same ExecutionService; its digests are optional caller-supplied integrity digests (a content assertion, never a signature). Snapshot jobs inherit the resident's unpinned plan. The server never interprets a caller filesystem path. Idempotency binds to the exact request bytes.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/jobs","href":"/api-reference/admit-a-workflow-as-a-durable-job-—-by-served-name-or-as-immutable-snapshot-bytes"},{"title":"Job identity and status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/jobs/{id}","href":"/api-reference/job-identity-and-status"},{"title":"Request cancellation or replay an ended observation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/jobs/{id}/cancel","href":"/api-reference/request-cancellation-or-replay-an-ended-observation"},{"title":"Job event SSE","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/jobs/{id}/events","href":"/api-reference/job-event-sse"},{"title":"Status only; diagnosis lives on GET /v1/jobs/{id} and SSE","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/jobs/{id}/status","href":"/api-reference/status-only;-diagnosis-lives-on-get-v1jobs-and-sse"},{"title":"Verify the job's trace journal","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/jobs/{id}/trace/verify","href":"/api-reference/verify-the-jobs-trace-journal"},{"title":"This document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/openapi.json","href":"/api-reference/this-document"},{"title":"Read one declarative resident schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/schedules/{id}","href":"/api-reference/read-one-declarative-resident-schedule"},{"title":"Create or revision-conditionally update one resident schedule","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/schedules/{id}","href":"/api-reference/create-or-revision-conditionally-update-one-resident-schedule"},{"title":"Contained workflow names","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows","href":"/api-reference/contained-workflow-names"},{"title":"Workflow metadata without source bytes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/workflows/{name}","href":"/api-reference/workflow-metadata-without-source-bytes"}]}]},{"group":"Operations","pages":[{"title":"CI gate","sidebarTitle":"CI gate","icon":"shield-check","href":"/sdk/operations/ci"},{"title":"Server surfaces","sidebarTitle":"Server surfaces","icon":"server","href":"/sdk/operations/server-surfaces"},{"title":"Resident server","sidebarTitle":"Resident server","icon":"server","href":"/sdk/operations/resident-server"},{"title":"Server runbook","sidebarTitle":"Server runbook","icon":"clipboard-check","href":"/sdk/operations/server-runbook"},{"title":"OS scheduler bridge","sidebarTitle":"OS schedulers","icon":"calendar","href":"/sdk/operations/os-schedulers"},{"title":"Deployment topologies","sidebarTitle":"Deployment topologies","icon":"sitemap","href":"/sdk/operations/deployment-topologies"},{"title":"Security boundary","sidebarTitle":"Security boundary","icon":"shield","href":"/sdk/operations/security"}]},{"group":"Reference","pages":[{"title":"SDK configuration","sidebarTitle":"Configuration","icon":"sliders","href":"/sdk/reference/configuration"},{"title":"SDK method index","sidebarTitle":"Method index","icon":"list","href":"/sdk/reference/methods"},{"title":"SDK type index","sidebarTitle":"Type index","icon":"brackets-curly","href":"/sdk/reference/types"}]}]},{"tab":"Examples","icon":"rocket","pages":[{"title":"Examples","href":"/examples/overview"}]},{"tab":"Architecture","icon":"layer-group","pages":[{"title":"Architecture","href":"/architecture/layers"}]},{"tab":"Reference","icon":"code","pages":[{"title":"Reference","href":"/reference/yaml-syntax"}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog/releases"}]}]},"title":"Author a candidate workflow without running it (stateless · source-only) - Nika","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-cfwQA_n9.js","dist-2LoAhjKH.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-DZLdJUrt.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","AssistantPageLink-Zwc0ZncM.js"]}