Research mode only. Fixes which questions are asked: one per item in each item set plus one per custom question. The question writer only words them. Leave out to let it decide what to ask. A malformed survey_design is a 422 like any other malformed field; a well-formed one that cannot be used (journey mode, nothing to ask, too many questions) is a 400.
Context to plan against (from /v1/contexts). Defaults to your most recently updated context, else your organisation's. A simulation in a project plans against the project's context, so leave this out when passing project_id unless it names that same context.
Round of project_id to put this simulation in. Defaults to the project's latest round.
Response
Successful Response
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Semilattice","colors":{"primary":"#4B4FCF","light":"#4B4FCF","dark":"#4B4FCF"},"logo":{"light":"https://mintcdn.com/semilattice/Bq2OGFClOPtUvJA7/logo/light.svg?fit=max\u0026auto=format\u0026n=Bq2OGFClOPtUvJA7\u0026q=85\u0026s=16b9d08d8fe11ee44445bcd18b9166ca","dark":"https://mintcdn.com/semilattice/Bq2OGFClOPtUvJA7/logo/dark.svg?fit=max\u0026auto=format\u0026n=Bq2OGFClOPtUvJA7\u0026q=85\u0026s=601fe8dd927c3df64dd78cb2ac8a7747"},"favicon":"https://mintcdn.com/semilattice/SZYVJM_YQEB-edCc/favicon.png?fit=max\u0026auto=format\u0026n=SZYVJM_YQEB-edCc\u0026q=85\u0026s=bdff4d38bdf7f7e2d593e25158331fb4","background":{"color":{"light":"#F7F7FA","dark":"#121213"}},"navbar":{"links":[{"href":"https://semilattice.ai/user-in-the-loop","label":"Guide"},{"href":"mailto:support@semilattice.ai","label":"Support"}],"primary":{"type":"button","label":"Open the app","href":"https://app.semilattice.ai"}},"footer":{"socials":{"website":"https://semilattice.ai","x":"https://x.com/semilatticeai","github":"https://github.com/semilattice-research","linkedin":"https://www.linkedin.com/company/semilattice"}},"icons":{"library":"lucide"},"banner":{"content":"Public Anacreon user models launch in November 2026. [What you can do until then](/user-models#public-user-models)","dismissible":true},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"semilattice","hasAudioNarration":false,"actualSubdomain":"semilattice","customDomains":["docs.semilattice.ai"],"gitSource":{"type":"github","owner":"semilattice-research","repo":"semilattice","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adab68b7191aa8611d09bc1","collectionId":"3716ade9-9e70-40f4-aac4-413d027e4a23","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adab68b7191aa8611d09bc1"},"entitlements":{},"buildId":"6adab68b7191aa8611d09bc1","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API Reference","count":24},{"language":"default","tag":"Endpoints","count":23},{"language":"default","tag":"Simulations","count":8},{"language":"default","tag":"Get Started","count":7},{"language":"default","tag":"Measurement \u0026 Trust","count":6},{"language":"default","tag":"Documentation","count":5},{"language":"default","tag":"Rounds","count":5},{"language":"default","tag":"MCP","count":4},{"language":"default","tag":"Context","count":4},{"language":"default","tag":"Projects","count":4}]},"assistantConfig":{},"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":":root{--sl-accent:#4B4FCF;--sl-accent-secondary:#3B3FA8;--sl-highlight:#F45AA8;--sl-signal:#00B7B3;--sl-fg:#1A1A1E;--sl-fg-dim:#7B7B86;--sl-bg:#F7F7FA;--sl-muted:#ECECF2;--sl-border:#DADAE3;--sl-dark-bg:#121213;--sl-dark-fg:#E6E6EA}.body-content h1{letter-spacing:-.03em;line-height:1.15}.body-content h2{letter-spacing:-.02em;line-height:1.25;margin-top:2.5rem}.body-content h3{letter-spacing:-.015em}.body-content p{line-height:1.75}.body-content [class*=Update]{margin-bottom:3rem;padding-bottom:3rem}.art-cabinet{margin-top:6rem;padding-top:4rem;border-top:1px solid var(--sl-border)}.art-cabinet-header{text-align:center;margin-bottom:3rem}.art-cabinet-header h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--sl-fg-dim);font-weight:500;margin:0}.art-cabinet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:720px;margin:0 auto}.art-piece{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--sl-muted);border:1px solid var(--sl-border);transition:border-color .3s ease,box-shadow .3s ease}.art-piece:hover{border-color:var(--sl-accent);box-shadow:0 4px 24px rgba(75,79,207,.08)}.art-piece canvas{width:100%;height:100%;display:block}.art-piece-label{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:linear-gradient(transparent,rgba(26,26,30,.7));color:#fff;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;opacity:0;transition:opacity .3s ease}.art-piece:hover .art-piece-label,.art-piece:hover .art-piece-play{opacity:1}.art-piece-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.9);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease,transform .3s ease;box-shadow:0 2px 12px rgba(0,0,0,.1)}.art-piece-play:hover{transform:translate(-50%,-50%) scale(1.1)}.art-piece-play svg{width:18px;height:18px;fill:var(--sl-accent);margin-left:2px}.art-piece.playing .art-piece-play{opacity:0}.art-piece.playing .art-piece-label{opacity:1}"}],"page":{"pagePath":"api-reference/simulations/create-a-simulation","slug":"/api-reference/simulations/create-a-simulation","pageMetadata":{"title":"Create a simulation","description":"Create a simulation from mode + goal + inputs + user_model_ids.\n\nReturns immediately in status `planning`; the plan is generated in the\nbackground. Poll `GET /v1/simulations/{id}` until status is `planned` or\n`failed`.\n\nWith project_id it joins round_id, or the project's latest round. Refused\nwith 409 while the agent in the app is replying on that project.","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/simulations","href":"/api-reference/simulations/create-a-simulation","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Create a simulation from mode + goal + inputs + user_model_ids.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Returns immediately in status \", _jsx(_components.code, {\n children: \"planning\"\n }), \"; the plan is generated in the\\nbackground. Poll \", _jsx(_components.code, {\n children: \"GET /v1/simulations/{id}\"\n }), \" until status is \", _jsx(_components.code, {\n children: \"planned\"\n }), \" or\\n\", _jsx(_components.code, {\n children: \"failed\"\n }), \".\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"With project_id it joins round_id, or the project’s latest round. Refused\\nwith 409 while the agent in the app is replying on that project.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a simulation","description":"Create a simulation from mode + goal + inputs + user_model_ids.\n\nReturns immediately in status `planning`; the plan is generated in the\nbackground. Poll `GET /v1/simulations/{id}` until status is `planned` or\n`failed`.\n\nWith project_id it joins round_id, or the project's latest round. Refused\nwith 409 while the agent in the app is replying on that project.","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/simulations","href":"/api-reference/simulations/create-a-simulation","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Simulations"],"summary":"Create a simulation","description":"Create a simulation from mode + goal + inputs + user_model_ids.\n\nReturns immediately in status `planning`; the plan is generated in the\nbackground. Poll `GET /v1/simulations/{id}` until status is `planned` or\n`failed`.\n\nWith project_id it joins round_id, or the project's latest round. Refused\nwith 409 while the agent in the app is replying on that project.","operationId":"create_simulation_route_v1_simulations_post","parameters":["7ecba895-ac80-4464-a0f7-aef7ace850bc"],"requestBody":"51064349-c2f0-45cd-ac81-5d392d4a62d6","responses":{"201":"a728f85c-6d8c-48d6-8332-0c77b5c5ed84","422":"a8a401c4-24d4-4015-b25e-ebb77275ef92"},"method":"post","type":"path","servers":["5b97cb34-1a4d-40f5-b1d6-ce2bf29421b1"],"security":["c1f39603-7da5-4981-952c-79a4343ed825"],"path":"/v1/simulations","baseUrlOptions":["https://api.semilattice.ai"],"title":"Create a simulation","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"7ecba895-ac80-4464-a0f7-aef7ace850bc":{"name":"authorization","in":"header","required":false,"schema":{"type":"string","title":"Authorization","isRequired":false,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"mode":{"type":"string","title":"Mode","description":"'research' or 'journey'","isRequired":true,"uniqueKey":"mode","typeLabel":"string"},"goal":{"type":"string","title":"Goal","description":"Goal id within the mode (from /v1/simulation-schema)","isRequired":true,"uniqueKey":"goal","typeLabel":"string"},"user_model_ids":{"items":{"type":"string","format":"uuid","uniqueKey":"user_model_ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"type":"array","title":"User Model Ids","description":"One or more user-model ids to simulate against","isRequired":true,"uniqueKey":"user_model_ids","typeLabel":"string\u003cuuid>[]"},"inputs":{"additionalProperties":true,"type":"object","title":"Inputs","description":"Answers keyed by the goal's input ids (from /v1/simulation-schema)","uniqueKey":"inputs","typeLabel":"Inputs · object"},"title":{"oneOf":[{"type":"string","title":"Title","description":"A name for the simulation. Leave it out and it is named from what it asks.","uniqueKey":"title.oneOf.0","typeLabel":"string"},{"type":"null","title":"Title","description":"A name for the simulation. Leave it out and it is named from what it asks.","uniqueKey":"title.oneOf.1","typeLabel":"null"}],"uniqueKey":"title","typeLabel":"string | null"},"project_id":{"oneOf":[{"type":"string","title":"Project Id","description":"Optional project to add this simulation to; it joins the project's latest round (round 1 is created if none exists)","format":"uuid","uniqueKey":"project_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Project Id","description":"Optional project to add this simulation to; it joins the project's latest round (round 1 is created if none exists)","uniqueKey":"project_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"project_id","typeLabel":"string\u003cuuid> | null"},"survey_design":{"oneOf":[{"type":"object","title":"SurveyDesign","description":"Research mode only. Fixes which questions are asked: one per item in each item set plus one per custom question. The question writer only words them. Leave out to let it decide what to ask. A malformed survey_design is a 422 like any other malformed field; a well-formed one that cannot be used (journey mode, nothing to ask, too many questions) is a 400.","properties":{"stimulus":{"oneOf":[{"type":"string","title":"Stimulus","description":"What is being tested: a concept, a message, a price. The question writer states it in every item set question. Custom questions are used as written and do not get it added.","uniqueKey":"survey_design.oneOf.0.stimulus.oneOf.0","typeLabel":"string"},{"type":"null","title":"Stimulus","description":"What is being tested: a concept, a message, a price. The question writer states it in every item set question. Custom questions are used as written and do not get it added.","uniqueKey":"survey_design.oneOf.0.stimulus.oneOf.1","typeLabel":"null"}],"uniqueKey":"survey_design.oneOf.0.stimulus","typeLabel":"string | null"},"item_sets":{"items":{"properties":{"ask":{"type":"string","minLength":1,"title":"Ask","description":"What is asked about every item in the set, e.g. 'How valuable would this feature be to you?'","isRequired":true,"uniqueKey":"survey_design.oneOf.0.item_sets.items.[INDEX].ask","typeLabel":"string"},"items":{"items":{"type":"string","minLength":1,"uniqueKey":"survey_design.oneOf.0.item_sets.items.[INDEX].\\items.items.[INDEX]","typeLabel":"string"},"type":"array","minItems":2,"title":"Items","description":"The things being compared. Each one gets its own question.","isRequired":true,"uniqueKey":"survey_design.oneOf.0.item_sets.items.[INDEX].\\items","typeLabel":"string[]"},"scale":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"survey_design.oneOf.0.item_sets.items.[INDEX].scale.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Scale","description":"Answer labels every question in the set uses, ordered from least to most favourable. Leave out to let the question writer pick one scale for the whole set.","maxItems":7,"minItems":2,"uniqueKey":"survey_design.oneOf.0.item_sets.items.[INDEX].scale.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Scale","description":"Answer labels every question in the set uses, ordered from least to most favourable. Leave out to let the question writer pick one scale for the whole set.","uniqueKey":"survey_design.oneOf.0.item_sets.items.[INDEX].scale.oneOf.1","typeLabel":"null"}],"uniqueKey":"survey_design.oneOf.0.item_sets.items.[INDEX].scale","typeLabel":"string[] | null"}},"additionalProperties":false,"type":"object","required":["ask","items"],"title":"DesignItemSet","uniqueKey":"survey_design.oneOf.0.item_sets.items.[INDEX]","typeLabel":"DesignItemSet · object"},"type":"array","title":"Item Sets","description":"Groups of items that each get their own question on one shared scale, so the items can be compared with each other.","uniqueKey":"survey_design.oneOf.0.item_sets","typeLabel":"DesignItemSet · object[]"},"custom_questions":{"items":{"properties":{"question_text":{"type":"string","minLength":1,"title":"Question Text","description":"The question, asked exactly as written. Respondents see only this text, so name what it asks about: 'Would you pay £45 a week for this meal kit?', not 'Would you buy this?'.","isRequired":true,"uniqueKey":"survey_design.oneOf.0.custom_questions.items.[INDEX].question_text","typeLabel":"string"},"answer_options":{"oneOf":[{"type":"array","items":{"type":"string","minLength":1,"uniqueKey":"survey_design.oneOf.0.custom_questions.items.[INDEX].answer_options.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Answer Options","description":"Answer options, used exactly as given. Leave out to let the question writer supply them.","maxItems":10,"minItems":2,"uniqueKey":"survey_design.oneOf.0.custom_questions.items.[INDEX].answer_options.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Answer Options","description":"Answer options, used exactly as given. Leave out to let the question writer supply them.","uniqueKey":"survey_design.oneOf.0.custom_questions.items.[INDEX].answer_options.oneOf.1","typeLabel":"null"}],"uniqueKey":"survey_design.oneOf.0.custom_questions.items.[INDEX].answer_options","typeLabel":"string[] | null"}},"additionalProperties":false,"type":"object","required":["question_text"],"title":"DesignCustomQuestion","uniqueKey":"survey_design.oneOf.0.custom_questions.items.[INDEX]","typeLabel":"DesignCustomQuestion · object"},"type":"array","title":"Custom Questions","description":"Individual questions asked as written.","uniqueKey":"survey_design.oneOf.0.custom_questions","typeLabel":"DesignCustomQuestion · object[]"}},"additionalProperties":false,"uniqueKey":"survey_design.oneOf.0","typeLabel":"SurveyDesign · object"},{"type":"null","description":"Research mode only. Fixes which questions are asked: one per item in each item set plus one per custom question. The question writer only words them. Leave out to let it decide what to ask. A malformed survey_design is a 422 like any other malformed field; a well-formed one that cannot be used (journey mode, nothing to ask, too many questions) is a 400.","uniqueKey":"survey_design.oneOf.1","typeLabel":"null"}],"uniqueKey":"survey_design","typeLabel":"SurveyDesign · object | null"},"context_id":{"oneOf":[{"type":"string","title":"Context Id","description":"Context to plan against (from /v1/contexts). Defaults to your most recently updated context, else your organisation's. A simulation in a project plans against the project's context, so leave this out when passing project_id unless it names that same context.","format":"uuid","uniqueKey":"context_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Context Id","description":"Context to plan against (from /v1/contexts). Defaults to your most recently updated context, else your organisation's. A simulation in a project plans against the project's context, so leave this out when passing project_id unless it names that same context.","uniqueKey":"context_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"context_id","typeLabel":"string\u003cuuid> | null"},"round_id":{"oneOf":[{"type":"string","title":"Round Id","description":"Round of project_id to put this simulation in. Defaults to the project's latest round.","format":"uuid","uniqueKey":"round_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","title":"Round Id","description":"Round of project_id to put this simulation in. Defaults to the project's latest round.","uniqueKey":"round_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"round_id","typeLabel":"string\u003cuuid> | null"}},"type":"object","required":["mode","goal","user_model_ids"],"title":"CreateSimulationBody","uniqueKey":"","typeLabel":"CreateSimulationBody · object"},"examples":{"Example":{"title":"Example","value":{"mode":"\u003cstring>","goal":"\u003cstring>","user_model_ids":["3c90c3cc-0d44-4b50-8888-8dd25736052a"],"inputs":{},"title":"\u003cstring>","project_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","survey_design":{"stimulus":"\u003cstring>","item_sets":[{"ask":"\u003cstring>","items":["\u003cstring>"],"scale":["\u003cstring>"]}],"custom_questions":[{"question_text":"\u003cstring>","answer_options":["\u003cstring>"]}]},"context_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","round_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"a728f85c-6d8c-48d6-8332-0c77b5c5ed84":{"description":"Successful Response","content":{"application/json":{"schema":{}}},"exampleType":"generated"},"a8a401c4-24d4-4015-b25e-ebb77275ef92":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"c1f39603-7da5-4981-952c-79a4343ed825":{"BearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"5b97cb34-1a4d-40f5-b1d6-ce2bf29421b1":{"url":"https://api.semilattice.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"https://api.semilattice.ai/openapi.json"},"subdomain":"semilattice","siteName":"Semilattice","title":"Create a simulation - Semilattice","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T16:03:20.067Z","originalFileLocation":"api-reference/simulations/create-a-simulation.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=\"Create a simulation from mode + goal + inputs + user_model_ids. Returns immediately in status planning; the plan is generated in the background. Poll GET /v1/simulations/{id} until status is planned or failed. With project_id it joins round_id, or the project\u0026#x27;s latest round. Refused with 409 while the agent in the app is replying on that project.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Semilattice\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/semilattice/r0JBpKcdeZoKYb0T/_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/semilattice/r0JBpKcdeZoKYb0T/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/semilattice/r0JBpKcdeZoKYb0T/_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/semilattice/r0JBpKcdeZoKYb0T/_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/semilattice/r0JBpKcdeZoKYb0T/_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/semilattice/r0JBpKcdeZoKYb0T/_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/semilattice/r0JBpKcdeZoKYb0T/_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/semilattice/r0JBpKcdeZoKYb0T/_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/semilattice/r0JBpKcdeZoKYb0T/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a simulation - Semilattice\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a simulation from mode + goal + inputs + user_model_ids. Returns immediately in status planning; the plan is generated in the background. Poll GET /v1/simulations/{id} until status is planned or failed. With project_id it joins round_id, or the project\u0026#x27;s latest round. Refused with 409 while the agent in the app is replying on that project.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Semilattice\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.semilattice.ai/api-reference/simulations/create-a-simulation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://semilattice.mintlify.app/_mintlify/api/og/v2?division=Simulations\u0026amp;title=Create+a+simulation\u0026amp;description=Create+a+simulation+from+mode+%2B+goal+%2B+inputs+%2B+user_model_ids.%0A%0AReturns+immediately+in+status+%60planning%60%3B+the+plan+is+generated+in+the%0Abackground.+Poll+%60GET+%2Fv\u0026amp;theme=16269cd9edbbf4ce42d662fe\u0026amp;signature=7dee32079c83a44e0f07126b88eb1c71bcad0105f7843b6b39a4d9f153c2c00e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a simulation - Semilattice\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a simulation from mode + goal + inputs + user_model_ids. Returns immediately in status planning; the plan is generated in the background. Poll GET /v1/simulations/{id} until status is planned or failed. With project_id it joins round_id, or the project\u0026#x27;s latest round. Refused with 409 while the agent in the app is replying on that project.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://semilattice.mintlify.app/_mintlify/api/og/v2?division=Simulations\u0026amp;title=Create+a+simulation\u0026amp;description=Create+a+simulation+from+mode+%2B+goal+%2B+inputs+%2B+user_model_ids.%0A%0AReturns+immediately+in+status+%60planning%60%3B+the+plan+is+generated+in+the%0Abackground.+Poll+%60GET+%2Fv\u0026amp;theme=16269cd9edbbf4ce42d662fe\u0026amp;signature=7dee32079c83a44e0f07126b88eb1c71bcad0105f7843b6b39a4d9f153c2c00e\">\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/semilattice/r0JBpKcdeZoKYb0T/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Semilattice\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4B4FCF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.semilattice.ai/api-reference/simulations/create-a-simulation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/simulations/create-a-simulation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.semilattice.ai/#organization\",\"name\":\"Semilattice\",\"url\":\"https://docs.semilattice.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/semilattice/Bq2OGFClOPtUvJA7/logo/light.svg?fit=max\u0026auto=format\u0026n=Bq2OGFClOPtUvJA7\u0026q=85\u0026s=16b9d08d8fe11ee44445bcd18b9166ca\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.semilattice.ai#website\",\"name\":\"Semilattice\",\"url\":\"https://docs.semilattice.ai\",\"publisher\":{\"@id\":\"https://docs.semilattice.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.semilattice.ai/api-reference/simulations/create-a-simulation#webpage\",\"url\":\"https://docs.semilattice.ai/api-reference/simulations/create-a-simulation\",\"name\":\"Create a simulation\",\"description\":\"Create a simulation from mode + goal + inputs + user_model_ids. Returns immediately in status planning; the plan is generated in the background. Poll GET /v1/simulations/{id} until status is planned or failed. With project_id it joins round_id, or the project's latest round. Refused with 409 while the agent in the app is replying on that project.\",\"dateModified\":\"2026-10-21T16:03:20.067Z\",\"isPartOf\":{\"@id\":\"https://docs.semilattice.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.semilattice.ai/api-reference/simulations/create-a-simulation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.semilattice.ai/api-reference/simulations/create-a-simulation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.semilattice.ai/api-reference/user-models/list-user-models\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simulations\",\"item\":\"https://docs.semilattice.ai/api-reference/simulations/list-simulations\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create a simulation\",\"item\":\"https://docs.semilattice.ai/api-reference/simulations/create-a-simulation\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.semilattice.ai/api-reference/simulations/create-a-simulation#apireference\",\"headline\":\"Create a simulation\",\"name\":\"Create a simulation\",\"description\":\"Create a simulation from mode + goal + inputs + user_model_ids. Returns immediately in status planning; the plan is generated in the background. Poll GET /v1/simulations/{id} until status is planned or failed. With project_id it joins round_id, or the project's latest round. Refused with 409 while the agent in the app is replying on that project.\",\"url\":\"https://docs.semilattice.ai/api-reference/simulations/create-a-simulation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.semilattice.ai/api-reference/simulations/create-a-simulation#webpage\"},\"dateModified\":\"2026-10-21T16:03:20.067Z\",\"publisher\":{\"@id\":\"https://docs.semilattice.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.semilattice.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Semilattice\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Semilattice","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/introduction"}]},{"tab":"API Reference","groups":[{"group":"Get Started","icon":"rocket","pages":[{"title":"Introduction","href":"/api-reference/introduction"}]},{"group":"Endpoints","pages":[{"group":"User Models","pages":[{"title":"List user models","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json get /v1/user-models","href":"/api-reference/user-models/list-user-models"}]},{"group":"Simulation Schema","pages":[{"title":"Discover goals and inputs","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json get /v1/simulation-schema","href":"/api-reference/simulation-schema/discover-goals-and-inputs"}]},{"group":"Simulations","pages":[{"title":"List simulations","description":"List the caller's simulations, newest first. Optionally filter by status\nor by project_id (projects group related simulations).","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json get /v1/simulations","href":"/api-reference/simulations/list-simulations"},{"title":"Create a simulation","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/simulations","href":"/api-reference/simulations/create-a-simulation"},{"title":"Get a simulation","description":"Fetch a simulation by id. Poll it while the simulation plans and runs:\nit returns progress while running, and the synthesis, a Markdown report\nand the results once completed.","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json get /v1/simulations/{simulation_id}","href":"/api-reference/simulations/get-a-simulation"},{"title":"Delete a simulation","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json delete /v1/simulations/{simulation_id}","href":"/api-reference/simulations/delete-a-simulation"},{"title":"Move a simulation into a project","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json patch /v1/simulations/{simulation_id}","href":"/api-reference/simulations/move-a-simulation-into-a-project"},{"title":"Edit the plan","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json patch /v1/simulations/{simulation_id}/plan","href":"/api-reference/simulations/edit-the-plan"},{"title":"Run a simulation","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/simulations/{simulation_id}/run","href":"/api-reference/simulations/run-a-simulation"},{"title":"Make a simulation public","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/simulations/{simulation_id}/share","href":"/api-reference/simulations/make-a-simulation-public"}]},{"group":"Projects","pages":[{"title":"List projects","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json get /v1/projects","href":"/api-reference/projects/list-projects"},{"title":"Create a project","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/projects","href":"/api-reference/projects/create-a-project"},{"title":"Get a project","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json get /v1/projects/{project_id}","href":"/api-reference/projects/get-a-project"},{"title":"Rename a project","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json patch /v1/projects/{project_id}","href":"/api-reference/projects/rename-a-project"}]},{"group":"Rounds","pages":[{"title":"Start a round","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/projects/{project_id}/rounds","href":"/api-reference/rounds/start-a-round"},{"title":"Rename a round","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json patch /v1/projects/{project_id}/rounds/{round_id}","href":"/api-reference/rounds/rename-a-round"},{"title":"Attach a round's artefact","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/projects/{project_id}/rounds/{round_id}/artefact","href":"/api-reference/rounds/attach-a-rounds-artefact"},{"title":"Upload a round's artefact","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/projects/{project_id}/rounds/{round_id}/artefact/file","href":"/api-reference/rounds/upload-a-rounds-artefact"},{"title":"Regenerate a round's synthesis","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/projects/{project_id}/rounds/{round_id}/synthesis","href":"/api-reference/rounds/regenerate-a-rounds-synthesis"}]},{"group":"Context","pages":[{"title":"Get your default context","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json get /v1/context","href":"/api-reference/context/get-your-default-context"},{"title":"List contexts","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json get /v1/contexts","href":"/api-reference/context/list-contexts"},{"title":"Create a context","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json post /v1/contexts","href":"/api-reference/context/create-a-context"},{"title":"Get a context","deprecated":null,"version":null,"openapi":"https://api.semilattice.ai/openapi.json get /v1/contexts/{context_id}","href":"/api-reference/context/get-a-context"}]}]}]},{"tab":"Measurement \u0026 Trust","pages":[{"title":"Measurement \u0026 Trust","href":"/measurement"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"Create a simulation - Semilattice","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"]}