Create a new test case in your project. The shape of test depends on
test_type; this endpoint accepts the same verification / discovery /
task variants returned by Get Test.
By default, requests that include shared collection steps inline are
rejected with 400. Pass shared_collection_steps_mode=drop to silently
drop the inline steps (they will be resolved from the shared step
collection at run time).
Test definition. id may be omitted to have one generated. version is
ignored on create. See Get Test for the
detailed shape.
Expected results for verification steps. Use expected_results to give a
step one or more independent checks. It accepts:
a single string — one result,
a list of strings — one result per element,
a list of { "expected": "..." } objects (forward-compatible form).
One element is exactly one result; newlines inside a string are not
split. The legacy finish_condition (single string) is still accepted as an
alias for a single result and is ignored when expected_results is present.
The runtime budget is configured on the test itself, not on individual
steps or players. There is no per-run override surface — to change the
budget, edit the test (or create a new version).
Test type
Allowed fields
Default
Notes
verification
max_seconds
19800 (5.5h)
min_seconds is rejected — verification has no minimum runtime.
discovery
min_seconds, max_seconds
3600–10800 (1h–3h)
Both bounds optional; defaults apply when omitted.
task
min_seconds, max_seconds
0–19800 (0–5.5h)
Both bounds optional; defaults apply when omitted.
For discovery and task the server validates min_seconds <= max_seconds
against the effective budget — i.e. caller-supplied values after
defaults are applied. Supplying just one bound that conflicts with the
default for the other (e.g. min_seconds: 14400 on a discovery create with
no max_seconds) is rejected with 400; either supply the other bound
explicitly, or pick a value that fits inside the default range.The hard upper bound for any single run is 5.5h (19800 seconds).
memory controls whether the agent may read and write memory files across runs
of this test. It applies to every test type and requires the project’s knowledge
feature to be enabled.
Value
Behavior
omitted / null
Auto — inherit the project’s default memory setting.
disabled
Memory is off for this test.
read_write
The agent may read and write memory files across runs of this test.
read_only
The agent may read but not write memory files.
On update, omit memory to leave it
unchanged, send null to reset it to auto, or send an explicit value to
override. When the project’s knowledge feature is disabled, memory is always off
regardless of this setting.
Test-level minimum runtime in seconds. Allowed for discovery and task only; sending this on a verification test is rejected with 400. Defaults when omitted: discovery=3600 (1h), task=0. Must be ≤ max_seconds (validated against the effective budget after defaults are applied).
Test-level maximum runtime in seconds. Hard ceiling for any single run is 19800 (5.5h). Defaults when omitted: verification=19800 (5.5h), discovery=10800 (3h), task=19800 (5.5h).
Test-level memory override. null or omitted means "auto" — inherit the project's default memory setting. disabled turns memory off for this test; read_write lets the agent read and write memory files across runs. Requires the project's knowledge feature to be enabled. Applies to all test types. On read it is always present (null = auto); on a patch, omit it to leave it unchanged.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"nunu.ai","colors":{"primary":"#E55CD8","light":"#F79EDE","dark":"#9A2EA4"},"logo":{"light":"https://mintcdn.com/nunuai/3v-_21V5RzgZ0hsy/logo/light.svg?fit=max\u0026auto=format\u0026n=3v-_21V5RzgZ0hsy\u0026q=85\u0026s=72e6c926e51763f6f3775cfeddaf2bb2","dark":"https://mintcdn.com/nunuai/3v-_21V5RzgZ0hsy/logo/dark.svg?fit=max\u0026auto=format\u0026n=3v-_21V5RzgZ0hsy\u0026q=85\u0026s=71d1c274ff8d549db65f1f0a13c87d11"},"favicon":"https://mintcdn.com/nunuai/3v-_21V5RzgZ0hsy/favicon.svg?fit=max\u0026auto=format\u0026n=3v-_21V5RzgZ0hsy\u0026q=85\u0026s=96357a640e1c73d009bff3b73fa959a8","api":{"openapi":"api-reference/openapi.json"},"background":{"color":{"light":"#fafafa","dark":"#0A0A1C"}},"navbar":{"links":[{"href":"https://docs.nunu.ai","label":"Nexus Docs"}],"primary":{"type":"button","label":"Nexus","href":"https://nunu.ai/nexus"}},"footer":{"socials":{"x":"https://x.com/nunu_ai","github":"https://github.com/nunu-ai","linkedin":"https://linkedin.com/company/nunu-ai","discord":"https://discord.gg/nunu"}},"seo":{"metatags":{"robots":"noindex"}},"styling":{"codeblocks":{"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}},"latex":false},"contextual":{"options":["copy","chatgpt","claude","perplexity"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Nexus Documentation","icon":"newspaper","href":"https://docs.nunu.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nunuai","hasAudioNarration":false,"actualSubdomain":"nunuai","customDomains":["api-docs.nunu.ai"],"gitSource":{"type":"github","owner":"nunu-ai","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ab674d24ceb24a4c407e8db","collectionId":"c0c5f6f2-f8f0-41ed-9688-5c7bb1e4f798","latestBuiltDeploymentHistoryId":"6ab674d24ceb24a4c407e8db","schemaVersion":"v1"},"entitlements":{},"buildId":"6adf4396d13963272de84718","clientVersion":"0.0.4044","searchFilterCounts":[]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/tests/create-test","slug":"/api-reference/tests/create-test","pageMetadata":{"title":"Create Test","openapi":"POST /project/{projectId}/tests","noindex":true,"description":"Create a new test case in the authenticated project.","href":"/api-reference/tests/create-test"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a new test case in the authenticated project.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Info,Note,ParamField,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Permission Required`}),`: `,_jsx(_components.code,{children:`project:edit-tests`})]})}),`\n`,_jsxs(_components.p,{children:[`Create a new test case in your project. The shape of `,_jsx(_components.code,{children:`test`}),` depends on\n`,_jsx(_components.code,{children:`test_type`}),`; this endpoint accepts the same `,_jsx(_components.code,{children:`verification`}),` / `,_jsx(_components.code,{children:`discovery`}),` /\n`,_jsx(_components.code,{children:`task`}),` variants returned by `,_jsx(_components.a,{href:`/api-reference/tests/get-test`,children:`Get Test`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`By default, requests that include shared collection steps inline are\nrejected with `,_jsx(_components.code,{children:`400`}),`. Pass `,_jsx(_components.code,{children:`shared_collection_steps_mode=drop`}),` to silently\ndrop the inline steps (they will be resolved from the shared step\ncollection at run time).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`query-parameters`,children:`Query Parameters`}),`\n`,_jsx(ParamField,{query:`include_shared_collection_steps`,type:`boolean`,default:`true`,id:`param-include-shared-collection-steps`,children:_jsx(_components.p,{children:`Whether shared collection steps are expanded inline in the response.`})}),`\n`,_jsx(ParamField,{query:`shared_collection_steps_mode`,type:`string`,default:`error`,id:`param-shared-collection-steps-mode`,children:_jsxs(_components.p,{children:[`How to handle shared collection items that contain inline steps:\n`,_jsx(_components.code,{children:`error`}),` (reject) or `,_jsx(_components.code,{children:`drop`}),` (silently strip the inline steps).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request Body`}),`\n`,_jsx(ParamField,{body:`test`,type:`TestCase`,required:true,id:`param-test`,children:_jsxs(_components.p,{children:[`Test definition. `,_jsx(_components.code,{children:`id`}),` may be omitted to have one generated. `,_jsx(_components.code,{children:`version`}),` is\nignored on create. See `,_jsx(_components.a,{href:`/api-reference/tests/get-test`,children:`Get Test`}),` for the\ndetailed shape.`]})}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Expected results for verification steps.`}),` Use `,_jsx(_components.code,{children:`expected_results`}),` to give a\nstep one or more independent checks. It accepts:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`a single string — one result,`}),`\n`,_jsx(_components.li,{children:`a list of strings — one result per element,`}),`\n`,_jsxs(_components.li,{children:[`a list of `,_jsx(_components.code,{children:`{ \"expected\": \"...\" }`}),` objects (forward-compatible form).`]}),`\n`]}),_jsxs(_components.p,{children:[`One element is exactly one result; newlines inside a string are `,_jsx(_components.strong,{children:`not`}),`\nsplit. The legacy `,_jsx(_components.code,{children:`finish_condition`}),` (single string) is still accepted as an\nalias for a single result and is ignored when `,_jsx(_components.code,{children:`expected_results`}),` is present.`]})]}),`\n`,_jsx(ParamField,{body:`folder_path`,type:`string`,id:`param-folder-path`,children:_jsxs(_components.p,{children:[`Folder path to place the test in (e.g. `,_jsx(_components.code,{children:`\"regression/smoke\"`}),`). `,_jsx(_components.code,{children:`null`}),` or\n`,_jsx(_components.code,{children:`\"/\"`}),` places it at the project root. Mutually exclusive with `,_jsx(_components.code,{children:`folder_id`}),`.`]})}),`\n`,_jsx(ParamField,{body:`folder_id`,type:`string`,id:`param-folder-id`,children:_jsxs(_components.p,{children:[`Pre-resolved folder UUID. Mutually exclusive with `,_jsx(_components.code,{children:`folder_path`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`test-level-time-budget`,children:`Test-level time budget`}),`\n`,_jsxs(_components.p,{children:[`The runtime budget is configured `,_jsx(_components.strong,{children:`on the test itself`}),`, not on individual\nsteps or players. There is no per-run override surface — to change the\nbudget, edit the test (or create a new version).`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Test type`}),_jsx(_components.th,{children:`Allowed fields`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`verification`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`max_seconds`})}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`19800`}),` (5.5h)`]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`min_seconds`}),` is rejected — verification has no minimum runtime.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`discovery`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`min_seconds`}),`, `,_jsx(_components.code,{children:`max_seconds`})]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`3600`}),`–`,_jsx(_components.code,{children:`10800`}),` (1h–3h)`]}),_jsx(_components.td,{children:`Both bounds optional; defaults apply when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`task`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`min_seconds`}),`, `,_jsx(_components.code,{children:`max_seconds`})]}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`0`}),`–`,_jsx(_components.code,{children:`19800`}),` (0–5.5h)`]}),_jsx(_components.td,{children:`Both bounds optional; defaults apply when omitted.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`For `,_jsx(_components.code,{children:`discovery`}),` and `,_jsx(_components.code,{children:`task`}),` the server validates `,_jsx(_components.code,{children:`min_seconds \u003c= max_seconds`}),`\nagainst the `,_jsx(_components.em,{children:`effective`}),` budget — i.e. caller-supplied values `,_jsx(_components.strong,{children:`after`}),`\ndefaults are applied. Supplying just one bound that conflicts with the\ndefault for the other (e.g. `,_jsx(_components.code,{children:`min_seconds: 14400`}),` on a discovery create with\nno `,_jsx(_components.code,{children:`max_seconds`}),`) is rejected with `,_jsx(_components.code,{children:`400`}),`; either supply the other bound\nexplicitly, or pick a value that fits inside the default range.`]}),`\n`,_jsxs(_components.p,{children:[`The hard upper bound for any single run is `,_jsx(_components.code,{children:`5.5h`}),` (`,_jsx(_components.code,{children:`19800`}),` seconds).`]}),`\n`,_jsx(Heading,{level:`2`,id:`test-level-memory`,children:`Test-level memory`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`memory`}),` controls whether the agent may read and write memory files across runs\nof this test. It applies to every test type and requires the project’s knowledge\nfeature to be enabled.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Behavior`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`omitted / `,_jsx(_components.code,{children:`null`})]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Auto`}),` — inherit the project’s default memory setting.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`disabled`})}),_jsx(_components.td,{children:`Memory is off for this test.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`read_write`})}),_jsx(_components.td,{children:`The agent may read and write memory files across runs of this test.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`read_only`})}),_jsx(_components.td,{children:`The agent may read but not write memory files.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`On `,_jsx(_components.a,{href:`/api-reference/tests/update-test`,children:`update`}),`, omit `,_jsx(_components.code,{children:`memory`}),` to leave it\nunchanged, send `,_jsx(_components.code,{children:`null`}),` to reset it to auto, or send an explicit value to\noverride. When the project’s knowledge feature is disabled, memory is always off\nregardless of this setting.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`Returns the newly created test with status `,_jsx(_components.code,{children:`201`}),`. The response shape is\nidentical to `,_jsx(_components.a,{href:`/api-reference/tests/get-test`,children:`Get Test`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}},"config":{},"pageMetadata":{"title":"Create Test","openapi":"POST /project/{projectId}/tests","noindex":true,"description":"Create a new test case in the authenticated project.","href":"/api-reference/tests/create-test"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,Note,ParamField,RequestExample,ResponseExample,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Permission Required`}),`: `,_jsx(_components.code,{children:`project:edit-tests`})]})}),`\n`,_jsxs(_components.p,{children:[`Create a new test case in your project. The shape of `,_jsx(_components.code,{children:`test`}),` depends on\n`,_jsx(_components.code,{children:`test_type`}),`; this endpoint accepts the same `,_jsx(_components.code,{children:`verification`}),` / `,_jsx(_components.code,{children:`discovery`}),` /\n`,_jsx(_components.code,{children:`task`}),` variants returned by `,_jsx(_components.a,{href:`/api-reference/tests/get-test`,children:`Get Test`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`By default, requests that include shared collection steps inline are\nrejected with `,_jsx(_components.code,{children:`400`}),`. Pass `,_jsx(_components.code,{children:`shared_collection_steps_mode=drop`}),` to silently\ndrop the inline steps (they will be resolved from the shared step\ncollection at run time).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`query-parameters`,children:`Query Parameters`}),`\n`,_jsx(ParamField,{query:`include_shared_collection_steps`,type:`boolean`,default:`true`,id:`param-include-shared-collection-steps`,children:_jsx(_components.p,{children:`Whether shared collection steps are expanded inline in the response.`})}),`\n`,_jsx(ParamField,{query:`shared_collection_steps_mode`,type:`string`,default:`error`,id:`param-shared-collection-steps-mode`,children:_jsxs(_components.p,{children:[`How to handle shared collection items that contain inline steps:\n`,_jsx(_components.code,{children:`error`}),` (reject) or `,_jsx(_components.code,{children:`drop`}),` (silently strip the inline steps).`]})}),`\n`,_jsx(Heading,{level:`2`,id:`request-body`,children:`Request Body`}),`\n`,_jsx(ParamField,{body:`test`,type:`TestCase`,required:true,id:`param-test`,children:_jsxs(_components.p,{children:[`Test definition. `,_jsx(_components.code,{children:`id`}),` may be omitted to have one generated. `,_jsx(_components.code,{children:`version`}),` is\nignored on create. See `,_jsx(_components.a,{href:`/api-reference/tests/get-test`,children:`Get Test`}),` for the\ndetailed shape.`]})}),`\n`,_jsxs(Note,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Expected results for verification steps.`}),` Use `,_jsx(_components.code,{children:`expected_results`}),` to give a\nstep one or more independent checks. It accepts:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`a single string — one result,`}),`\n`,_jsx(_components.li,{children:`a list of strings — one result per element,`}),`\n`,_jsxs(_components.li,{children:[`a list of `,_jsx(_components.code,{children:`{ \"expected\": \"...\" }`}),` objects (forward-compatible form).`]}),`\n`]}),_jsxs(_components.p,{children:[`One element is exactly one result; newlines inside a string are `,_jsx(_components.strong,{children:`not`}),`\nsplit. The legacy `,_jsx(_components.code,{children:`finish_condition`}),` (single string) is still accepted as an\nalias for a single result and is ignored when `,_jsx(_components.code,{children:`expected_results`}),` is present.`]})]}),`\n`,_jsx(ParamField,{body:`folder_path`,type:`string`,id:`param-folder-path`,children:_jsxs(_components.p,{children:[`Folder path to place the test in (e.g. `,_jsx(_components.code,{children:`\"regression/smoke\"`}),`). `,_jsx(_components.code,{children:`null`}),` or\n`,_jsx(_components.code,{children:`\"/\"`}),` places it at the project root. Mutually exclusive with `,_jsx(_components.code,{children:`folder_id`}),`.`]})}),`\n`,_jsx(ParamField,{body:`folder_id`,type:`string`,id:`param-folder-id`,children:_jsxs(_components.p,{children:[`Pre-resolved folder UUID. Mutually exclusive with `,_jsx(_components.code,{children:`folder_path`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`test-level-time-budget`,children:`Test-level time budget`}),`\n`,_jsxs(_components.p,{children:[`The runtime budget is configured `,_jsx(_components.strong,{children:`on the test itself`}),`, not on individual\nsteps or players. There is no per-run override surface — to change the\nbudget, edit the test (or create a new version).`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Test type`}),_jsx(_components.th,{children:`Allowed fields`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`verification`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`max_seconds`})}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`19800`}),` (5.5h)`]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`min_seconds`}),` is rejected — verification has no minimum runtime.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`discovery`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`min_seconds`}),`, `,_jsx(_components.code,{children:`max_seconds`})]}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`3600`}),`–`,_jsx(_components.code,{children:`10800`}),` (1h–3h)`]}),_jsx(_components.td,{children:`Both bounds optional; defaults apply when omitted.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`task`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`min_seconds`}),`, `,_jsx(_components.code,{children:`max_seconds`})]}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`0`}),`–`,_jsx(_components.code,{children:`19800`}),` (0–5.5h)`]}),_jsx(_components.td,{children:`Both bounds optional; defaults apply when omitted.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`For `,_jsx(_components.code,{children:`discovery`}),` and `,_jsx(_components.code,{children:`task`}),` the server validates `,_jsx(_components.code,{children:`min_seconds \u003c= max_seconds`}),`\nagainst the `,_jsx(_components.em,{children:`effective`}),` budget — i.e. caller-supplied values `,_jsx(_components.strong,{children:`after`}),`\ndefaults are applied. Supplying just one bound that conflicts with the\ndefault for the other (e.g. `,_jsx(_components.code,{children:`min_seconds: 14400`}),` on a discovery create with\nno `,_jsx(_components.code,{children:`max_seconds`}),`) is rejected with `,_jsx(_components.code,{children:`400`}),`; either supply the other bound\nexplicitly, or pick a value that fits inside the default range.`]}),`\n`,_jsxs(_components.p,{children:[`The hard upper bound for any single run is `,_jsx(_components.code,{children:`5.5h`}),` (`,_jsx(_components.code,{children:`19800`}),` seconds).`]}),`\n`,_jsx(Heading,{level:`2`,id:`test-level-memory`,children:`Test-level memory`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`memory`}),` controls whether the agent may read and write memory files across runs\nof this test. It applies to every test type and requires the project’s knowledge\nfeature to be enabled.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Value`}),_jsx(_components.th,{children:`Behavior`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`omitted / `,_jsx(_components.code,{children:`null`})]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Auto`}),` — inherit the project’s default memory setting.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`disabled`})}),_jsx(_components.td,{children:`Memory is off for this test.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`read_write`})}),_jsx(_components.td,{children:`The agent may read and write memory files across runs of this test.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`read_only`})}),_jsx(_components.td,{children:`The agent may read but not write memory files.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`On `,_jsx(_components.a,{href:`/api-reference/tests/update-test`,children:`update`}),`, omit `,_jsx(_components.code,{children:`memory`}),` to leave it\nunchanged, send `,_jsx(_components.code,{children:`null`}),` to reset it to auto, or send an explicit value to\noverride. When the project’s knowledge feature is disabled, memory is always off\nregardless of this setting.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`Returns the newly created test with status `,_jsx(_components.code,{children:`201`}),`. The response shape is\nidentical to `,_jsx(_components.a,{href:`/api-reference/tests/get-test`,children:`Get Test`}),`.`]}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`38`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes catppuccin-latte catppuccin-mocha`,style:{backgroundColor:`#eff1f5`,\"--shiki-dark-bg\":`#1e1e2e`,color:`#4c4f69`,\"--shiki-dark\":`#cdd6f4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`38`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#89B4FA`,\"--shiki-dark-font-style\":`italic`},children:`curl`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` -X`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` POST`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"https://nunu.ai/api/v1/project/your-project-id/tests\"`}),_jsx(_components.span,{style:{color:`#EA76CB`,\"--shiki-dark\":`#F5C2E7`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` -H`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"X-Api-Key: YOUR_API_TOKEN\"`}),_jsx(_components.span,{style:{color:`#EA76CB`,\"--shiki-dark\":`#F5C2E7`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` -H`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#EA76CB`,\"--shiki-dark\":`#F5C2E7`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` -d`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"test\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"name\": \"Sanity smoke\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"test_type\": \"verification\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"tags\": [\"smoke\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"incident_auto_approve\": false,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"quarantined\": false,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"testrail\": null,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"max_seconds\": 1800,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"players_by_key\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"1\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"name\": \"P1\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"agent_config_id\": null,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"game_funcs_config_id\": null,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"items_by_key\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"1\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"type\": \"step\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"goal\": \"Reach the main menu\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"expected_results\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` { \"expected\": \"the main menu is visible\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` { \"expected\": \"no loading spinner remains on screen\" }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"screenshots\": 1,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"pause_game\": false,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"performance_monitoring\": false,`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"hint_manual\": []`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"item_order\": [\"1\"]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"player_order\": [\"1\"]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"folder_path\": \"regression/smoke\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` }'`})}),`\n`]})})})}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`201`,numberOfLines:`14`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes catppuccin-latte catppuccin-mocha`,style:{backgroundColor:`#eff1f5`,\"--shiki-dark-bg\":`#1e1e2e`,color:`#4c4f69`,\"--shiki-dark\":`#cdd6f4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`id`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"a5060a07-d386-4269-98ce-b33fb894201e\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`project_id`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"test\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`name`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"Sanity smoke\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`version`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#FE640B`,\"--shiki-dark\":`#FAB387`},children:` 0`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`tags`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` [`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:`\"smoke\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`incident_auto_approve`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#FE640B`,\"--shiki-dark\":`#FAB387`},children:` false`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`test_type`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"verification\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`quarantined`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#FE640B`,\"--shiki-dark\":`#FAB387`},children:` false`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`testrail`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#FE640B`,\"--shiki-dark\":`#FAB387`},children:` null`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`source`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"repository\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`players_by_key`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` {`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`...`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"...\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`player_order`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` [`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:`\"1\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`400 Bad Request`,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes catppuccin-latte catppuccin-mocha`,style:{backgroundColor:`#eff1f5`,\"--shiki-dark-bg\":`#1e1e2e`,color:`#4c4f69`,\"--shiki-dark\":`#cdd6f4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:` \"`}),_jsx(_components.span,{style:{color:`#1E66F5`,\"--shiki-dark\":`#89B4FA`},children:`error`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`\"`}),_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`:`}),_jsx(_components.span,{style:{color:`#40A02B`,\"--shiki-dark\":`#A6E3A1`},children:` \"invalid request: test.name: Required\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#7C7F93`,\"--shiki-dark\":`#9399B2`},children:`}`})}),`\n`]})})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}},"config":{},"pageMetadata":{"title":"Create Test","openapi":"POST /project/{projectId}/tests","noindex":true,"description":"Create a new test case in the authenticated project.","href":"/api-reference/tests/create-test"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Query Parameters","slug":"query-parameters","depth":2,"children":[]},{"title":"Request Body","slug":"request-body","depth":2,"children":[]},{"title":"Test-level time budget","slug":"test-level-time-budget","depth":2,"children":[]},{"title":"Test-level memory","slug":"test-level-memory","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes catppuccin-latte catppuccin-mocha\" style=\"background-color:#eff1f5;--shiki-dark-bg:#1e1e2e;color:#4c4f69;--shiki-dark:#cdd6f4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"38\">\u003cspan class=\"line\">\u003cspan style=\"color:#1E66F5;--shiki-light-font-style:italic;--shiki-dark:#89B4FA;--shiki-dark-font-style:italic\">curl\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> -X\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> POST\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"https://nunu.ai/api/v1/project/your-project-id/tests\"\u003c/span>\u003cspan style=\"color:#EA76CB;--shiki-dark:#F5C2E7\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> -H\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"X-Api-Key: YOUR_API_TOKEN\"\u003c/span>\u003cspan style=\"color:#EA76CB;--shiki-dark:#F5C2E7\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> -H\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#EA76CB;--shiki-dark:#F5C2E7\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> -d\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> '{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"test\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"name\": \"Sanity smoke\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"test_type\": \"verification\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"tags\": [\"smoke\"],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"incident_auto_approve\": false,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"quarantined\": false,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"testrail\": null,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"max_seconds\": 1800,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"players_by_key\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"1\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"name\": \"P1\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"agent_config_id\": null,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"game_funcs_config_id\": null,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"items_by_key\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"1\": {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"type\": \"step\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"goal\": \"Reach the main menu\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"expected_results\": [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> { \"expected\": \"the main menu is visible\" },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> { \"expected\": \"no loading spinner remains on screen\" }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"screenshots\": 1,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"pause_game\": false,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"performance_monitoring\": false,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"hint_manual\": []\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"item_order\": [\"1\"]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"player_order\": [\"1\"]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"folder_path\": \"regression/smoke\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"201","html":"\u003cpre class=\"shiki shiki-themes catppuccin-latte catppuccin-mocha\" style=\"background-color:#eff1f5;--shiki-dark-bg:#1e1e2e;color:#4c4f69;--shiki-dark:#cdd6f4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"14\">\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">id\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"a5060a07-d386-4269-98ce-b33fb894201e\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">project_id\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"test\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">name\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"Sanity smoke\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">version\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#FE640B;--shiki-dark:#FAB387\"> 0\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">tags\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> [\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\">\"smoke\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">incident_auto_approve\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#FE640B;--shiki-dark:#FAB387\"> false\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">test_type\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"verification\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">quarantined\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#FE640B;--shiki-dark:#FAB387\"> false\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">testrail\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#FE640B;--shiki-dark:#FAB387\"> null\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">source\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"repository\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">players_by_key\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> {\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">...\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"...\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">player_order\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> [\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\">\"1\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"400 Bad Request","html":"\u003cpre class=\"shiki shiki-themes catppuccin-latte catppuccin-mocha\" style=\"background-color:#eff1f5;--shiki-dark-bg:#1e1e2e;color:#4c4f69;--shiki-dark:#cdd6f4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"3\">\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\"> \"\u003c/span>\u003cspan style=\"color:#1E66F5;--shiki-dark:#89B4FA\">error\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">\"\u003c/span>\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">:\u003c/span>\u003cspan style=\"color:#40A02B;--shiki-dark:#A6E3A1\"> \"invalid request: test.name: Required\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#7C7F93;--shiki-dark:#9399B2\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createTest","summary":"Create Test","description":"Create a new test case in the authenticated project.","tags":["Tests"],"parameters":["e62368b0-5488-4691-b4af-c6c0a6f71a73","083c81d7-21d5-47fd-b300-d2e23486a0a8"],"requestBody":"9160ea4a-440f-4fbc-aca1-ee61b3cfbbd2","responses":{"201":"6bdaae7f-a0c2-4904-ab4e-8b899b1271f0","400":"a3331983-ab56-4c1f-85f2-49ca40a1e314","401":"d5da9705-e2a6-444e-b54e-7bc7c53ec11a","403":"0c4b5522-9eea-486c-a978-c8230ff98566"},"method":"post","type":"path","servers":["b161a08e-c191-4bda-918d-220e6fca179f"],"security":["44f1f26a-c835-4039-a305-45f5f3c1f6c7"],"path":"/project/{projectId}/tests","baseUrlOptions":["https://nunu.ai/api/v1"],"title":"Create Test","codeSamples":[],"requiredOnlyExamples":false,"requestExamples":[{"dropdown":false,"language":"shellscript","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes catppuccin-latte catppuccin-mocha","style":{"backgroundColor":"#eff1f5","--shiki-dark-bg":"#1e1e2e","color":"#4c4f69","--shiki-dark":"#cdd6f4"},"language":"shellscript","children":{"type":"code","key":null,"ref":null,"props":{"language":"shellscript","numberOfLines":"38","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-light-font-style":"italic","--shiki-dark":"#89B4FA","--shiki-dark-font-style":"italic"},"children":"curl"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" -X"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" POST"}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"https://nunu.ai/api/v1/project/your-project-id/tests\""}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#EA76CB","--shiki-dark":"#F5C2E7"},"children":" \\"}}]}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" -H"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"X-Api-Key: YOUR_API_TOKEN\""}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#EA76CB","--shiki-dark":"#F5C2E7"},"children":" \\"}}]}},"\n",{"type":"span","key":"4","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" -H"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"Content-Type: application/json\""}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#EA76CB","--shiki-dark":"#F5C2E7"},"children":" \\"}}]}},"\n",{"type":"span","key":"6","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" -d"}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" '{"}}]}},"\n",{"type":"span","key":"8","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"test\": {"}}}},"\n",{"type":"span","key":"10","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"name\": \"Sanity smoke\","}}}},"\n",{"type":"span","key":"12","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"test_type\": \"verification\","}}}},"\n",{"type":"span","key":"14","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"tags\": [\"smoke\"],"}}}},"\n",{"type":"span","key":"16","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"incident_auto_approve\": false,"}}}},"\n",{"type":"span","key":"18","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"quarantined\": false,"}}}},"\n",{"type":"span","key":"20","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"testrail\": null,"}}}},"\n",{"type":"span","key":"22","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"max_seconds\": 1800,"}}}},"\n",{"type":"span","key":"24","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"players_by_key\": {"}}}},"\n",{"type":"span","key":"26","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"1\": {"}}}},"\n",{"type":"span","key":"28","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"name\": \"P1\","}}}},"\n",{"type":"span","key":"30","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"agent_config_id\": null,"}}}},"\n",{"type":"span","key":"32","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"game_funcs_config_id\": null,"}}}},"\n",{"type":"span","key":"34","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"items_by_key\": {"}}}},"\n",{"type":"span","key":"36","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"1\": {"}}}},"\n",{"type":"span","key":"38","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"type\": \"step\","}}}},"\n",{"type":"span","key":"40","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"goal\": \"Reach the main menu\","}}}},"\n",{"type":"span","key":"42","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"expected_results\": ["}}}},"\n",{"type":"span","key":"44","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" { \"expected\": \"the main menu is visible\" },"}}}},"\n",{"type":"span","key":"46","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" { \"expected\": \"no loading spinner remains on screen\" }"}}}},"\n",{"type":"span","key":"48","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" ],"}}}},"\n",{"type":"span","key":"50","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"screenshots\": 1,"}}}},"\n",{"type":"span","key":"52","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"pause_game\": false,"}}}},"\n",{"type":"span","key":"54","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"performance_monitoring\": false,"}}}},"\n",{"type":"span","key":"56","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"hint_manual\": []"}}}},"\n",{"type":"span","key":"58","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" }"}}}},"\n",{"type":"span","key":"60","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" },"}}}},"\n",{"type":"span","key":"62","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"item_order\": [\"1\"]"}}}},"\n",{"type":"span","key":"64","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" }"}}}},"\n",{"type":"span","key":"66","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" },"}}}},"\n",{"type":"span","key":"68","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"player_order\": [\"1\"]"}}}},"\n",{"type":"span","key":"70","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" },"}}}},"\n",{"type":"span","key":"72","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"folder_path\": \"regression/smoke\""}}}},"\n",{"type":"span","key":"74","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" }'"}}}},"\n"]}}}},"filename":"cURL"}],"requestExampleType":"mdx","responseExamples":[{"dropdown":false,"language":"json","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes catppuccin-latte catppuccin-mocha","style":{"backgroundColor":"#eff1f5","--shiki-dark-bg":"#1e1e2e","color":"#4c4f69","--shiki-dark":"#cdd6f4"},"language":"json","children":{"type":"code","key":null,"ref":null,"props":{"language":"json","numberOfLines":"14","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"{"}}}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"id"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"a5060a07-d386-4269-98ce-b33fb894201e\""}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":","}}]}},"\n",{"type":"span","key":"4","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"project_id"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"test\""}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":","}}]}},"\n",{"type":"span","key":"6","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"name"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"Sanity smoke\""}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":","}}]}},"\n",{"type":"span","key":"8","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"version"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#FE640B","--shiki-dark":"#FAB387"},"children":" 0"}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":","}}]}},"\n",{"type":"span","key":"10","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"tags"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" ["}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":"\"smoke\""}},{"type":"span","key":"6","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"],"}}]}},"\n",{"type":"span","key":"12","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"incident_auto_approve"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#FE640B","--shiki-dark":"#FAB387"},"children":" false"}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":","}}]}},"\n",{"type":"span","key":"14","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"test_type"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"verification\""}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":","}}]}},"\n",{"type":"span","key":"16","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"quarantined"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#FE640B","--shiki-dark":"#FAB387"},"children":" false"}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":","}}]}},"\n",{"type":"span","key":"18","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"testrail"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#FE640B","--shiki-dark":"#FAB387"},"children":" null"}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":","}}]}},"\n",{"type":"span","key":"20","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"source"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"repository\""}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":","}}]}},"\n",{"type":"span","key":"22","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"players_by_key"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" {"}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"6","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"..."}},{"type":"span","key":"7","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"8","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"9","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"...\""}},{"type":"span","key":"10","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" },"}}]}},"\n",{"type":"span","key":"24","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"player_order"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" ["}},{"type":"span","key":"5","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":"\"1\""}},{"type":"span","key":"6","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"]"}}]}},"\n",{"type":"span","key":"26","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"}"}}}},"\n"]}}}},"filename":"201"},{"dropdown":false,"language":"json","code":{"type":"pre","key":null,"ref":null,"props":{"className":"shiki shiki-themes catppuccin-latte catppuccin-mocha","style":{"backgroundColor":"#eff1f5","--shiki-dark-bg":"#1e1e2e","color":"#4c4f69","--shiki-dark":"#cdd6f4"},"language":"json","children":{"type":"code","key":null,"ref":null,"props":{"language":"json","numberOfLines":"3","children":[{"type":"span","key":"0","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"{"}}}},"\n",{"type":"span","key":"2","ref":null,"props":{"className":"line","children":[{"type":"span","key":"0","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":" \""}},{"type":"span","key":"1","ref":null,"props":{"style":{"color":"#1E66F5","--shiki-dark":"#89B4FA"},"children":"error"}},{"type":"span","key":"2","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"\""}},{"type":"span","key":"3","ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":":"}},{"type":"span","key":"4","ref":null,"props":{"style":{"color":"#40A02B","--shiki-dark":"#A6E3A1"},"children":" \"invalid request: test.name: Required\""}}]}},"\n",{"type":"span","key":"4","ref":null,"props":{"className":"line","children":{"type":"span","key":null,"ref":null,"props":{"style":{"color":"#7C7F93","--shiki-dark":"#9399B2"},"children":"}"}}}},"\n"]}}}},"filename":"400 Bad Request"}],"responseExampleType":"mdx"},"dependencies":{"parameters":{"e62368b0-5488-4691-b4af-c6c0a6f71a73":{"name":"include_shared_collection_steps","in":"query","description":"Whether shared collection steps are expanded inline in the response","schema":{"type":"boolean","default":true,"description":"Whether shared collection steps are expanded inline in the response","uniqueKey":"","typeLabel":"boolean"}},"083c81d7-21d5-47fd-b300-d2e23486a0a8":{"name":"shared_collection_steps_mode","in":"query","description":"How to treat shared collection items with inline steps","schema":{"type":"string","enum":["error","drop"],"default":"error","description":"How to treat shared collection items with inline steps","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"ed024864-c687-43de-b2d1-07fefc2426b2":{"name":"projectId","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"The project ID. You can copy it from the project settings page or the project URL in the dashboard.","uniqueKey":"","typeLabel":"string"},"description":"The project ID. You can copy it from the project settings page or the project URL in the dashboard."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["test"],"properties":{"test":{"type":"object","description":"Full test case body. Shape varies by test_type (verification, discovery, task); see the docs page for the exact shape.","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"test.id","typeLabel":"string\u003cuuid>"},"project_id":{"type":"string","uniqueKey":"test.project_id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"test.name","typeLabel":"string"},"version":{"type":"integer","uniqueKey":"test.version","typeLabel":"integer"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"test.tags.items.[INDEX]","typeLabel":"string"},"uniqueKey":"test.tags","typeLabel":"string[]"},"incident_auto_approve":{"type":"boolean","uniqueKey":"test.incident_auto_approve","typeLabel":"boolean"},"test_type":{"type":"string","enum":["verification","discovery","task"],"uniqueKey":"test.test_type","typeLabel":"enum\u003cstring>"},"quarantined":{"type":"boolean","uniqueKey":"test.quarantined","typeLabel":"boolean"},"testrail":{"oneOf":[{"type":"object","uniqueKey":"test.testrail.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"test.testrail.oneOf.1","typeLabel":"null"}],"uniqueKey":"test.testrail","typeLabel":"object | null"},"source":{"type":"string","enum":["repository","bot"],"uniqueKey":"test.source","typeLabel":"enum\u003cstring>"},"min_seconds":{"type":"integer","minimum":0,"maximum":19800,"description":"Test-level minimum runtime in seconds. Allowed for `discovery` and `task` only; sending this on a `verification` test is rejected with 400. Defaults when omitted: discovery=3600 (1h), task=0. Must be ≤ `max_seconds` (validated against the effective budget after defaults are applied).","uniqueKey":"test.min_seconds","typeLabel":"integer"},"max_seconds":{"type":"integer","minimum":0,"maximum":19800,"description":"Test-level maximum runtime in seconds. Hard ceiling for any single run is 19800 (5.5h). Defaults when omitted: verification=19800 (5.5h), discovery=10800 (3h), task=19800 (5.5h).","uniqueKey":"test.max_seconds","typeLabel":"integer"},"memory":{"oneOf":[{"type":"string","enum":["disabled","read_only","read_write"],"description":"Test-level memory override. `null` or omitted means \"auto\" — inherit the project's default memory setting. `disabled` turns memory off for this test; `read_write` lets the agent read and write memory files across runs. Requires the project's knowledge feature to be enabled. Applies to all test types. On read it is always present (`null` = auto); on a patch, omit it to leave it unchanged.","uniqueKey":"test.memory.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["disabled","read_only","read_write"],"description":"Test-level memory override. `null` or omitted means \"auto\" — inherit the project's default memory setting. `disabled` turns memory off for this test; `read_write` lets the agent read and write memory files across runs. Requires the project's knowledge feature to be enabled. Applies to all test types. On read it is always present (`null` = auto); on a patch, omit it to leave it unchanged.","uniqueKey":"test.memory.oneOf.1","typeLabel":"null"}],"uniqueKey":"test.memory","typeLabel":"enum\u003cstring> | null"},"players_by_key":{"type":"object","additionalProperties":true,"uniqueKey":"test.players_by_key","typeLabel":"object"},"player_order":{"type":"array","items":{"type":"string","uniqueKey":"test.player_order.items.[INDEX]","typeLabel":"string"},"uniqueKey":"test.player_order","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"test","typeLabel":"object"},"folder_path":{"oneOf":[{"type":"string","description":"Folder path placement. \"/\" or null = root. Mutually exclusive with folder_id.","uniqueKey":"folder_path.oneOf.0","typeLabel":"string"},{"type":"null","description":"Folder path placement. \"/\" or null = root. Mutually exclusive with folder_id.","uniqueKey":"folder_path.oneOf.1","typeLabel":"null"}],"uniqueKey":"folder_path","typeLabel":"string | null"},"folder_id":{"type":"string","format":"uuid","description":"Folder UUID placement. Mutually exclusive with folder_path.","uniqueKey":"folder_id","typeLabel":"string\u003cuuid>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"test":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","project_id":"\u003cstring>","name":"\u003cstring>","version":123,"tags":["\u003cstring>"],"incident_auto_approve":true,"quarantined":true,"testrail":{},"min_seconds":9900,"max_seconds":9900,"players_by_key":{},"player_order":["\u003cstring>"]},"folder_path":"\u003cstring>","folder_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"6bdaae7f-a0c2-4904-ab4e-8b899b1271f0":{"description":"Test created","content":{"application/json":{"schema":{"type":"object","description":"Full test case body. Shape varies by test_type (verification, discovery, task); see the docs page for the exact shape.","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"id","typeLabel":"string\u003cuuid>"},"project_id":{"type":"string","uniqueKey":"project_id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"version":{"type":"integer","uniqueKey":"version","typeLabel":"integer"},"tags":{"type":"array","items":{"type":"string","uniqueKey":"tags.items.[INDEX]","typeLabel":"string"},"uniqueKey":"tags","typeLabel":"string[]"},"incident_auto_approve":{"type":"boolean","uniqueKey":"incident_auto_approve","typeLabel":"boolean"},"test_type":{"type":"string","enum":["verification","discovery","task"],"uniqueKey":"test_type","typeLabel":"enum\u003cstring>"},"quarantined":{"type":"boolean","uniqueKey":"quarantined","typeLabel":"boolean"},"testrail":{"oneOf":[{"type":"object","uniqueKey":"testrail.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"testrail.oneOf.1","typeLabel":"null"}],"uniqueKey":"testrail","typeLabel":"object | null"},"source":{"type":"string","enum":["repository","bot"],"uniqueKey":"source","typeLabel":"enum\u003cstring>"},"min_seconds":{"type":"integer","minimum":0,"maximum":19800,"description":"Test-level minimum runtime in seconds. Allowed for `discovery` and `task` only; sending this on a `verification` test is rejected with 400. Defaults when omitted: discovery=3600 (1h), task=0. Must be ≤ `max_seconds` (validated against the effective budget after defaults are applied).","uniqueKey":"min_seconds","typeLabel":"integer"},"max_seconds":{"type":"integer","minimum":0,"maximum":19800,"description":"Test-level maximum runtime in seconds. Hard ceiling for any single run is 19800 (5.5h). Defaults when omitted: verification=19800 (5.5h), discovery=10800 (3h), task=19800 (5.5h).","uniqueKey":"max_seconds","typeLabel":"integer"},"memory":{"oneOf":[{"type":"string","enum":["disabled","read_only","read_write"],"description":"Test-level memory override. `null` or omitted means \"auto\" — inherit the project's default memory setting. `disabled` turns memory off for this test; `read_write` lets the agent read and write memory files across runs. Requires the project's knowledge feature to be enabled. Applies to all test types. On read it is always present (`null` = auto); on a patch, omit it to leave it unchanged.","uniqueKey":"memory.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["disabled","read_only","read_write"],"description":"Test-level memory override. `null` or omitted means \"auto\" — inherit the project's default memory setting. `disabled` turns memory off for this test; `read_write` lets the agent read and write memory files across runs. Requires the project's knowledge feature to be enabled. Applies to all test types. On read it is always present (`null` = auto); on a patch, omit it to leave it unchanged.","uniqueKey":"memory.oneOf.1","typeLabel":"null"}],"uniqueKey":"memory","typeLabel":"enum\u003cstring> | null"},"players_by_key":{"type":"object","additionalProperties":true,"uniqueKey":"players_by_key","typeLabel":"object"},"player_order":{"type":"array","items":{"type":"string","uniqueKey":"player_order.items.[INDEX]","typeLabel":"string"},"uniqueKey":"player_order","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","project_id":"\u003cstring>","name":"\u003cstring>","version":123,"tags":["\u003cstring>"],"incident_auto_approve":true,"test_type":"verification","quarantined":true,"testrail":{},"source":"repository","min_seconds":9900,"max_seconds":9900,"memory":"disabled","players_by_key":{},"player_order":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"a3331983-ab56-4c1f-85f2-49ca40a1e314":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"d5da9705-e2a6-444e-b54e-7bc7c53ec11a":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"0c4b5522-9eea-486c-a978-c8230ff98566":{"description":"Forbidden - missing project:edit-tests","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","code":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"44f1f26a-c835-4039-a305-45f5f3c1f6c7":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"API key for authentication","scopes":[],"schemeName":"apiKeyAuth"}}},"servers":{"b161a08e-c191-4bda-918d-220e6fca179f":{"url":"https://nunu.ai/api/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"API key for authentication","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"X-Api-Key","type":"string","description":"API key for authentication","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"X-Api-Key"}],"title":"apiKeyAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"nunuai","siteName":"nunu.ai","title":"Create Test - nunu.ai","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-23T11:37:23.794Z","originalFileLocation":"api-reference/tests/create-test.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 new test case in the authenticated project.\">\u003cmeta data-mint-head name=\"application-name\" content=\"nunu.ai\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nunuai/CX_3dxSgbcmNqPIc/_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/nunuai/CX_3dxSgbcmNqPIc/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nunuai/CX_3dxSgbcmNqPIc/_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/nunuai/CX_3dxSgbcmNqPIc/_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/nunuai/CX_3dxSgbcmNqPIc/_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/nunuai/CX_3dxSgbcmNqPIc/_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/nunuai/CX_3dxSgbcmNqPIc/_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/nunuai/CX_3dxSgbcmNqPIc/_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/nunuai/CX_3dxSgbcmNqPIc/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create Test - nunu.ai\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a new test case in the authenticated project.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"nunu.ai\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://api-docs.nunu.ai/api-reference/tests/create-test\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nunuai.mintlify.app/_mintlify/api/og/v2?division=Tests\u0026amp;title=Create+Test\u0026amp;description=Create+a+new+test+case+in+the+authenticated+project.\u0026amp;theme=0d97650000a7b5dd625bee00\u0026amp;signature=279fb4982b755d9f980cb998cb109064548638fa47acb754ad068ead8603ddd8\">\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 Test - nunu.ai\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a new test case in the authenticated project.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nunuai.mintlify.app/_mintlify/api/og/v2?division=Tests\u0026amp;title=Create+Test\u0026amp;description=Create+a+new+test+case+in+the+authenticated+project.\u0026amp;theme=0d97650000a7b5dd625bee00\u0026amp;signature=279fb4982b755d9f980cb998cb109064548638fa47acb754ad068ead8603ddd8\">\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/nunuai/CX_3dxSgbcmNqPIc/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"nunu.ai\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#E55CD8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://api-docs.nunu.ai/api-reference/tests/create-test\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/tests/create-test.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"nunu.ai\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"nunu.ai","nav":{"global":{"anchors":[{"anchor":"Nexus Documentation","icon":"newspaper","href":"https://docs.nunu.ai"}]},"tabs":[{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Authentication","href":"/api-reference/authentication"}]},{"group":"Runs","pages":[{"title":"List Runs","openapi":"GET /project/{projectId}/runs","href":"/api-reference/runs/list-runs"},{"title":"Start a Run","openapi":"POST /project/{projectId}/runs","href":"/api-reference/runs/start-run"},{"title":"Get Run Details","openapi":"GET /project/{projectId}/runs/{runId}","href":"/api-reference/runs/get-run"},{"title":"Get Live Run Snapshot","openapi":"GET /project/{projectId}/runs/{runId}/live","href":"/api-reference/runs/get-live-run"},{"title":"List Run Bugs","openapi":"GET /project/{projectId}/runs/{runId}/bugs","href":"/api-reference/runs/list-bugs"},{"title":"Stop Runs","openapi":"POST /project/{projectId}/runs/stop","href":"/api-reference/runs/stop-runs"},{"title":"Export to TestRail","openapi":"POST /project/{projectId}/runs/export/testrail","href":"/api-reference/runs/export-testrail"}]},{"group":"Jobs","pages":[{"title":"List Jobs","openapi":"GET /project/{projectId}/jobs","href":"/api-reference/jobs/list-jobs"},{"title":"Get Job Details","openapi":"GET /project/{projectId}/jobs/{jobId}","href":"/api-reference/jobs/get-job"}]},{"group":"Bugs","pages":[{"title":"List Reviewed Bugs","openapi":"GET /project/{projectId}/bugs","href":"/api-reference/bugs/list-bugs"},{"title":"Get Reviewed Bug","openapi":"GET /project/{projectId}/bugs/{bugId}","href":"/api-reference/bugs/get-bug"}]},{"group":"Artifacts","pages":[{"title":"List Run Artifacts","openapi":"GET /runs/{runId}/artifacts","href":"/api-reference/artifacts/list-artifacts"},{"title":"Get Artifact File","openapi":"GET /runs/{runId}/artifacts/{filename}","href":"/api-reference/artifacts/get-artifact"}]},{"group":"Knowledge","pages":[{"title":"List Knowledge Files","openapi":"GET /file-storage/{projectId}","href":"/api-reference/knowledge/list-files"},{"title":"List Project-Scope Knowledge","openapi":"GET /file-storage/{projectId}/project","href":"/api-reference/knowledge/list-project-files"},{"title":"List Agent-Scope Knowledge","openapi":"GET /file-storage/{projectId}/agent/{agentId}","href":"/api-reference/knowledge/list-agent-files"},{"title":"List Test-Case-Scope Knowledge","openapi":"GET /file-storage/{projectId}/test_case/{testCaseId}","href":"/api-reference/knowledge/list-test-case-files"}]},{"group":"Tests","pages":[{"title":"List Tests","openapi":"GET /project/{projectId}/tests","href":"/api-reference/tests/list-tests"},{"title":"Get Test","openapi":"GET /project/{projectId}/tests/{testId}","description":"Retrieve a single test case, optionally by version.","href":"/api-reference/tests/get-test"},{"title":"Create Test","openapi":"POST /project/{projectId}/tests","href":"/api-reference/tests/create-test"},{"title":"Update Test","openapi":"PATCH /project/{projectId}/tests/{testId}","description":"Apply a partial update to a test case. Uses optimistic concurrency control via expected_version.","href":"/api-reference/tests/update-test"},{"title":"Delete Test","openapi":"DELETE /project/{projectId}/tests/{testId}","href":"/api-reference/tests/delete-test"}]},{"group":"Test Folders","pages":[{"title":"List Test Folders","openapi":"GET /project/{projectId}/test-folders","href":"/api-reference/test-folders/list-test-folders"},{"title":"Create Test Folder","openapi":"POST /project/{projectId}/test-folders","href":"/api-reference/test-folders/create-test-folder"}]},{"group":"Shared Steps","pages":[{"title":"List Shared Steps","openapi":"GET /project/{projectId}/shared-steps","href":"/api-reference/shared-steps/list-shared-steps"},{"title":"Get Shared Step","openapi":"GET /project/{projectId}/shared-steps/{sharedStepId}","href":"/api-reference/shared-steps/get-shared-step"},{"title":"Create Shared Step","openapi":"POST /project/{projectId}/shared-steps","href":"/api-reference/shared-steps/create-shared-step"},{"title":"Update Shared Step","openapi":"PATCH /project/{projectId}/shared-steps/{sharedStepId}","href":"/api-reference/shared-steps/update-shared-step"},{"title":"Delete Shared Step","openapi":"DELETE /project/{projectId}/shared-steps/{sharedStepId}","href":"/api-reference/shared-steps/delete-shared-step"}]},{"group":"Test Plans","pages":[{"title":"List Test Plans","openapi":"GET /project/{projectId}/test-plans","href":"/api-reference/test-plans/list-test-plans"},{"title":"Get Test Plan","openapi":"GET /project/{projectId}/test-plans/{testPlanId}","href":"/api-reference/test-plans/get-test-plan"},{"title":"Create Test Plan","openapi":"POST /project/{projectId}/test-plans","href":"/api-reference/test-plans/create-test-plan"},{"title":"Update Test Plan","openapi":"PATCH /project/{projectId}/test-plans/{testPlanId}","href":"/api-reference/test-plans/update-test-plan"},{"title":"Delete Test Plan","openapi":"DELETE /project/{projectId}/test-plans/{testPlanId}","href":"/api-reference/test-plans/delete-test-plan"},{"title":"Start Test Plan Run","openapi":"POST /project/{projectId}/test-plans/{testPlanId}/runs","href":"/api-reference/test-plans/start-test-plan-run"},{"title":"List Test Plan Executions","openapi":"GET /project/{projectId}/test-plan-executions","href":"/api-reference/test-plans/list-test-plan-executions"}]},{"group":"Configs","pages":[{"title":"List Agent Configs","openapi":"GET /project/{projectId}/agent-configs","href":"/api-reference/configs/list-agent-configs"},{"title":"List Deployment Configs","openapi":"GET /project/{projectId}/deployment-configs","href":"/api-reference/configs/list-deployment-configs"},{"title":"List Credential Kinds","openapi":"GET /project/{projectId}/credential-kinds","href":"/api-reference/configs/list-credential-kinds"}]},{"group":"Builds","pages":[{"title":"List Builds","openapi":"GET /project/{projectId}/builds","href":"/api-reference/builds/list-builds"},{"title":"Get Build Details","openapi":"GET /project/{projectId}/builds/{buildId}","href":"/api-reference/builds/get-build"},{"title":"Delete Build","openapi":"DELETE /project/{projectId}/builds/{buildId}","href":"/api-reference/builds/delete-build"},{"title":"Initiate Upload","openapi":"POST /project/{projectId}/builds/upload","href":"/api-reference/builds/initiate-upload"},{"title":"Get Upload URLs for Parts","openapi":"GET /project/{projectId}/builds/upload/parts","href":"/api-reference/builds/get-upload-parts"},{"title":"Complete Upload","openapi":"POST /project/{projectId}/builds/upload/complete","href":"/api-reference/builds/complete-upload"},{"title":"Cancel Upload","openapi":"DELETE /project/{projectId}/builds/upload","href":"/api-reference/builds/cancel-upload"}]},{"group":"Minions","pages":[{"title":"Download Minion","openapi":"GET /minions/download","href":"/api-reference/minions/download-minion"}]}]}]},"basePath":"","title":"Create Test - nunu.ai","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}