Idempotency-Key must contain non-whitespace text.
Keys are scoped to your manager account and stack creation.
Accepted keys do not expire automatically.A retry with the same key and equivalent original input returns the same stack ID.
It returns that stack’s current configuration and ETag.
If the stack has been updated, this can differ from the first creation response.
The retry does not revert changes or create a revision.The following differences do not change creation input identity:
JSON whitespace and object-field order.
Allocation-entry order.
Token-address capitalization that still passes address validation.
The exact name, token identities, integer weights, and schedule preset must match.
Changing any of them under the same key returns 409 conflict.
Use update a stack to change an existing stack.When matching requests arrive together, the first successfully saved creation establishes the result.
There is no fixed application limit on key length.
A key that exceeds supported storage size returns 400 invalid_request without creating a stack.
A UUID is a practical creation key.
Required for creation. Must contain non-whitespace text. Reuse the exact same manager-scoped key and original input after an uncertain result. Keys do not expire automatically. No fixed application length cap applies. A key beyond the database receipt index storage limit returns 400 and rolls back the complete creation.
Must contain non-whitespace text and must not contain U+0000. Accepted names retain their exact whitespace. No separate name-length limit applies within the body size limit.
The complete target allocation, with at most 10 entries including zero-weight entries. Weights must total exactly 10000. Duplicate token identities are rejected after lowercase normalization. When supplied in PATCH, this list replaces the full saved allocation. Omitted tokens are removed.
Must contain non-whitespace text and must not contain U+0000. Accepted names retain their exact whitespace. No separate name-length limit applies within the body size limit.
Schedule configuration only. Saving a preset does not execute trades.
Show child attributes
Example:
{ "preset": "daily" }
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"MyStacks","description":"Portfolio infrastructure for tokenised finance. Explore the MyStacks product and architecture.","colors":{"primary":"#0F766E","light":"#5EEAD4","dark":"#115E59"},"logo":{"light":"https://mintcdn.com/mystacks/ymy-epKFyNGe1l-w/assets/logo-light.svg?fit=max\u0026auto=format\u0026n=ymy-epKFyNGe1l-w\u0026q=85\u0026s=6c8a2d336c62be024d562c517a5695ef","dark":"https://mintcdn.com/mystacks/ymy-epKFyNGe1l-w/assets/logo-dark.svg?fit=max\u0026auto=format\u0026n=ymy-epKFyNGe1l-w\u0026q=85\u0026s=d4c28132f7c5c3d63395dda5e923f4bb"},"favicon":"https://mintcdn.com/mystacks/ymy-epKFyNGe1l-w/assets/favicon.svg?fit=max\u0026auto=format\u0026n=ymy-epKFyNGe1l-w\u0026q=85\u0026s=9e10b079d01dd9317775e39f81ed8c79","api":{"playground":{"display":"interactive","proxy":true},"examples":{"languages":["bash","javascript","python"],"prefill":true}},"appearance":{"default":"light"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mystacks","hasAudioNarration":false,"actualSubdomain":"mystacks","customDomains":["docs.mystacks.ai"],"gitSource":{"type":"github","owner":"hsignals","repo":"mystacks-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6abb51e6f6575acf5d607e2d","collectionId":"73d04ac6-007d-4d6d-8d1b-bef7dade6e25","liveDeploymentHistoryId":"6abb51e6f6575acf5d607e2d","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6abb51e6f6575acf5d607e2d","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Documentation","count":11},{"language":"default","tag":"API Reference","count":8},{"language":"default","tag":"Manager API","count":4},{"language":"default","tag":"Stacks","count":4},{"language":"default","tag":"Build with MyStacks","count":4},{"language":"default","tag":"Architecture","count":3},{"language":"default","tag":"Get started","count":3},{"language":"default","tag":"Reference","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/stacks/create","slug":"/api-reference/stacks/create","pageMetadata":{"title":"Create a stack","description":"Create and immediately publish a stack.","openapi":"POST /manager/stacks","href":"/api-reference/stacks/create"},"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 and immediately publish a stack.\"\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`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Creates a stack owned by the manager identified by your API key.\nThe stack is published immediately.\nThere is no separate draft or publish step.`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Try it sends a real request to staging. Creation immediately publishes a\nstack. Enter a new Idempotency-Key for each intended new stack.`})}),`\n`,_jsx(Heading,{level:`2`,id:`idempotency`,children:`Idempotency`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`Idempotency-Key`}),` must contain non-whitespace text.\nKeys are scoped to your manager account and stack creation.\nAccepted keys do not expire automatically.`]}),`\n`,_jsxs(_components.p,{children:[`A retry with the same key and equivalent original input returns the same stack ID.\nIt returns that stack’s `,_jsx(_components.strong,{children:`current`}),` configuration and ETag.\nIf the stack has been updated, this can differ from the first creation response.\nThe retry does not revert changes or create a revision.`]}),`\n`,_jsx(_components.p,{children:`The following differences do not change creation input identity:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`JSON whitespace and object-field order.`}),`\n`,_jsx(_components.li,{children:`Allocation-entry order.`}),`\n`,_jsx(_components.li,{children:`Token-address capitalization that still passes address validation.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The exact name, token identities, integer weights, and schedule preset must match.\nChanging any of them under the same key returns `,_jsx(_components.code,{children:`409 conflict`}),`.\nUse `,_jsx(_components.a,{href:`/api-reference/stacks/update`,children:`update a stack`}),` to change an existing stack.`]}),`\n`,_jsxs(_components.p,{children:[`When matching requests arrive together, the first successfully saved creation establishes the result.\nThere is no fixed application limit on key length.\nA key that exceeds supported storage size returns `,_jsx(_components.code,{children:`400 invalid_request`}),` without creating a stack.\nA UUID is a practical creation key.`]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Code`}),_jsx(_components.th,{children:`Cause`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`invalid_request`})}),_jsx(_components.td,{children:`Missing or blank creation key, unsupported key size, malformed JSON, or invalid configuration.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`conflict`})}),_jsx(_components.td,{children:`The creation key was already used with different input.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/api-reference/errors`,children:`Shared errors`}),` cover authentication, body size, and service failures.\nAfter an uncertain creation result, retry with the same key and original input.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a stack","description":"Create and immediately publish a stack.","openapi":"POST /manager/stacks","href":"/api-reference/stacks/create"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Idempotency","slug":"idempotency","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createStack","tags":["Stacks"],"summary":"Create a stack","description":"Create and immediately publish a stack.","parameters":["aacd6afa-16cd-45e8-b5ad-25a8bb21555c"],"requestBody":"b4ed082d-1c4b-4750-ae7f-6a3000741631","responses":{"200":"8017d674-09f8-45b3-9e8f-4f6aa4c43589","201":"cb60f465-7149-4b66-a96e-cb21b7c04f62","400":"aa42f584-9b3c-44db-8483-c33c23599c8d","401":"ef678f97-faf9-440d-875f-9e2bfceca8d8","409":"6a39593a-5067-40c4-bbbe-8aac1947f942","413":"10394977-7b8d-4f10-8a18-8a258af4e466","429":"14936a9d-d247-4095-b49b-86d12db26083","500":"ef4e87af-d6a3-4e65-8875-8aaad9493063","503":"fde1bf3c-e983-43d5-82ca-517db077a885"},"method":"post","type":"path","servers":["c0783c4b-1aae-477c-b2f7-364c35e704fd"],"security":["295fb731-5c20-4263-840b-1519b28f8154"],"path":"/manager/stacks","baseUrlOptions":["https://api-staging.mystacks.ai"],"title":"Create a stack","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.name":"Example stack","body.allocation.items.0.token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","body.allocation.items.0.weight_bps":6000,"body.allocation.items.1.token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","body.allocation.items.1.weight_bps":4000,"body.schedule.preset":"daily"}]},"dependencies":{"parameters":{"aacd6afa-16cd-45e8-b5ad-25a8bb21555c":{"name":"Idempotency-Key","in":"header","required":true,"description":"Required for creation. Must contain non-whitespace text. Reuse the exact same manager-scoped key and original input after an uncertain result. Keys do not expire automatically. No fixed application length cap applies. A key beyond the database receipt index storage limit returns 400 and rolls back the complete creation.","schema":{"type":"string","minLength":1,"pattern":"\\S","isRequired":true,"description":"Required for creation. Must contain non-whitespace text. Reuse the exact same manager-scoped key and original input after an uncertain result. Keys do not expire automatically. No fixed application length cap applies. A key beyond the database receipt index storage limit returns 400 and rolls back the complete creation.","uniqueKey":"","typeLabel":"string"},"example":"example-stack-create-001"},"938802e9-574a-481e-95f0-3fc1272a5c4d":{"name":"X-Request-Id","in":"header","required":false,"description":"Optional request trace ID. A nonempty value is echoed in the response. Missing or empty values cause a UUID to be generated.","schema":{"type":"string","isRequired":false,"description":"Optional request trace ID. A nonempty value is echoed in the response. Missing or empty values cause a UUID to be generated.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"pattern":"^(?![\\s\\S]*\\u0000)[\\s\\S]*\\S[\\s\\S]*$","description":"Must contain non-whitespace text and must not contain U+0000. Accepted names retain their exact whitespace. No separate name-length limit applies within the body size limit.","example":"Example stack","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"allocation":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"object","additionalProperties":false,"properties":{"token_address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"A token from the 32-asset Robinhood Chain mainnet whitelist (chain ID 4663). Use a lowercase or correctly checksummed address. The pattern checks address syntax only. The server also enforces checksum validity and whitelist membership before normalizing identity to lowercase. USDG can take up to 100% of an allocation. See [supported assets](/api-reference/assets) for all accepted addresses.","example":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","isRequired":true,"uniqueKey":"allocation.items.[INDEX].token_address","typeLabel":"string"},"weight_bps":{"type":"integer","minimum":0,"maximum":10000,"description":"Target weight in basis points. 10000 means 100%. Zero is allowed. All allocation weights together must total exactly 10000.","example":6000,"isRequired":true,"uniqueKey":"allocation.items.[INDEX].weight_bps","typeLabel":"integer"}},"required":["token_address","weight_bps"],"example":{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},"uniqueKey":"allocation.items.[INDEX]","typeLabel":"object"},"description":"The complete target allocation, with at most 10 entries including zero-weight entries. Weights must total exactly 10000. Duplicate token identities are rejected after lowercase normalization. When supplied in PATCH, this list replaces the full saved allocation. Omitted tokens are removed.","example":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"isRequired":true,"uniqueKey":"allocation","typeLabel":"object[]"},"schedule":{"type":"object","additionalProperties":false,"properties":{"preset":{"type":"string","enum":["hourly","daily","weekly","monthly"],"description":"Saved UTC schedule preset. Boundaries are minute zero each hour, 00:00 each day, 00:00 each Monday, or 00:00 on the first day of each month. Scheduled rebalances become due at these boundaries. Custom schedules and timezone fields are invalid.","example":"daily","isRequired":true,"uniqueKey":"schedule.preset","typeLabel":"enum\u003cstring>"}},"required":["preset"],"description":"Schedule configuration only. Saving a preset does not execute trades.","example":{"preset":"daily"},"isRequired":true,"uniqueKey":"schedule","typeLabel":"object"}},"required":["name","allocation","schedule"],"description":"Complete stack configuration. Unknown fields are rejected in the body and nested objects. The request body must not exceed 262144 bytes.","example":{"name":"Example stack","allocation":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"schedule":{"preset":"daily"}},"uniqueKey":"","typeLabel":"object"},"example":{"name":"Example stack","allocation":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"schedule":{"preset":"daily"}},"examples":{"Example":{"title":"Example","value":{"name":"Example stack","allocation":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"schedule":{"preset":"daily"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"8017d674-09f8-45b3-9e8f-4f6aa4c43589":{"description":"Identical creation retry. Returns the original stack ID with its current complete configuration and revision.","headers":{"X-Request-Id":{"description":"Request trace ID. A nonempty incoming X-Request-Id is reused. If missing or empty, the server generates a UUID. Error request_id values match this header.","schema":{"type":"string"},"example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"ETag":{"description":"Current revision ID enclosed in double quotes. PATCH does not require If-Match and does not enforce conditional updates.","schema":{"type":"string","pattern":"^\"[0-9a-fA-F-]{36}\"$"},"example":"\"e137435f-83ce-4b3c-86ae-75d6462487b6\""}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid","description":"Stable stack identifier.","example":"bf4bc5e9-0d9e-454c-bc1c-30abc120b074","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"current_revision_id":{"type":"string","format":"uuid","description":"Identifier of this complete saved configuration revision.","example":"e137435f-83ce-4b3c-86ae-75d6462487b6","isRequired":true,"uniqueKey":"current_revision_id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","minLength":1,"pattern":"^(?![\\s\\S]*\\u0000)[\\s\\S]*\\S[\\s\\S]*$","description":"Must contain non-whitespace text and must not contain U+0000. Accepted names retain their exact whitespace. No separate name-length limit applies within the body size limit.","example":"Example stack","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"allocation":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"object","additionalProperties":false,"properties":{"token_address":{"type":"string","pattern":"^0x[0-9a-f]{40}$","enum":["0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","0x117cc2133c37b721f49de2a7a74833232b3b4c0c","0x4a0e65a3eccec6dbe60ae065f2e7bb85fae35eea","0xccee82fe024c36fa15e1005ede3e9e4787e23d09","0x05b37fb53a299a1b874a619e1c4c404d52c36f4c","0xff080c8ce2e5feadaca0da81314ae59d232d4afd","0xa30fa36db767ad9ed3f7a60fc79526fb4d56d344","0xec262a75e413fafd0df80480274532c79d42da09","0xd5f3879160bc7c32ebb4dc785f8a4f505888de68","0x1b0e319c6a659f002271b69db8a7df2f911c153e","0x12f190a9f9d7d37a250758b26824b97ce941bf54","0xaf3d76f1834a1d425780943c99ea8a608f8a93f9","0x58ffe4a942d3885baa22d7520691f611ef09e7aa","0x86923f96303d656e4aa86d9d42d1e57ad2023fdc","0x2e0847e8910a9732eb3fb1bb4b70a580adad4fe3","0x4ea005168d7f09a7a0ba9d1def21a479950e44c2","0xe93237c50d904957cf27e7b1133b510c669c2e74","0x322f0929c4625ed5bad873c95208d54e1c003b2d","0xc0d6457c16cc70d6790dd43521c899c87ce02f35","0x9e7abd3c9139d14e4c86dce0e455aab7a0c2fb3e","0xb90a19ff0af67f7779aff50a882a9cff42446400","0xc72b96e0e48ecd4dc75e1e45396e26300bc39681","0x894e1ec2d74ffe5aef8dc8a9e84686accb964f2a","0x1d11f0496982706c5e14a514d4e79f2e6bde4516","0x411efb0e7f985935daec3d4c3ebaea0d0ad7d89f","0x5e81213613b6b86eab4c6c50d718d34359459786","0xc9a981fee1f9dec688bb123ccdecc63d0debfc4e","0x6330d8c3178a418788df01a47479c0ce7ccf450b","0xdf0992e440dd0be65bd8439b609d6d4366bf1cb5","0x48e39e56acdba37b09020c0b734a613c9a2f100a","0xcec185eb182c47d1ba1efc84e6959e18cd620be4","0x5fc5360d0400a0fd4f2af552add042d716f1d168"],"description":"A supported allocation token address normalized to lowercase. See [supported assets](/api-reference/assets) for names and symbols.","example":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","isRequired":true,"uniqueKey":"allocation.items.[INDEX].token_address","typeLabel":"enum\u003cstring>"},"weight_bps":{"type":"integer","minimum":0,"maximum":10000,"description":"Target weight in basis points. 10000 means 100%. Zero is allowed. All allocation weights together must total exactly 10000.","example":6000,"isRequired":true,"uniqueKey":"allocation.items.[INDEX].weight_bps","typeLabel":"integer"}},"required":["token_address","weight_bps"],"example":{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},"uniqueKey":"allocation.items.[INDEX]","typeLabel":"object"},"description":"Complete saved allocation. Addresses are lowercase, unique, and ordered by token address. Weights total exactly 10000.","example":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"isRequired":true,"uniqueKey":"allocation","typeLabel":"object[]"},"schedule":{"type":"object","additionalProperties":false,"properties":{"preset":{"type":"string","enum":["hourly","daily","weekly","monthly"],"description":"Saved UTC schedule preset. Boundaries are minute zero each hour, 00:00 each day, 00:00 each Monday, or 00:00 on the first day of each month. Scheduled rebalances become due at these boundaries. Custom schedules and timezone fields are invalid.","example":"daily","isRequired":true,"uniqueKey":"schedule.preset","typeLabel":"enum\u003cstring>"}},"required":["preset"],"description":"Schedule configuration only. Saving a preset does not execute trades.","example":{"preset":"daily"},"isRequired":true,"uniqueKey":"schedule","typeLabel":"object"}},"required":["id","current_revision_id","name","allocation","schedule"],"description":"Current complete configuration. No subscriber, balance, performance, or execution data is included.","example":{"id":"bf4bc5e9-0d9e-454c-bc1c-30abc120b074","current_revision_id":"e137435f-83ce-4b3c-86ae-75d6462487b6","name":"Example stack","allocation":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"schedule":{"preset":"daily"}},"uniqueKey":"","typeLabel":"object"},"example":{"id":"bf4bc5e9-0d9e-454c-bc1c-30abc120b074","current_revision_id":"e137435f-83ce-4b3c-86ae-75d6462487b6","name":"Example stack","allocation":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"schedule":{"preset":"daily"}},"examples":{"Example":{"title":"Example","value":{"id":"bf4bc5e9-0d9e-454c-bc1c-30abc120b074","current_revision_id":"e137435f-83ce-4b3c-86ae-75d6462487b6","name":"Example stack","allocation":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"schedule":{"preset":"daily"}}}},"exampleType":"examples"}},"exampleType":"examples"},"cb60f465-7149-4b66-a96e-cb21b7c04f62":{"description":"Stack created and immediately published.","headers":{"X-Request-Id":{"description":"Request trace ID. A nonempty incoming X-Request-Id is reused. If missing or empty, the server generates a UUID. Error request_id values match this header.","schema":{"type":"string"},"example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"ETag":{"description":"Current revision ID enclosed in double quotes. PATCH does not require If-Match and does not enforce conditional updates.","schema":{"type":"string","pattern":"^\"[0-9a-fA-F-]{36}\"$"},"example":"\"e137435f-83ce-4b3c-86ae-75d6462487b6\""}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid","description":"Stable stack identifier.","example":"bf4bc5e9-0d9e-454c-bc1c-30abc120b074","isRequired":true,"uniqueKey":"id","typeLabel":"string\u003cuuid>"},"current_revision_id":{"type":"string","format":"uuid","description":"Identifier of this complete saved configuration revision.","example":"e137435f-83ce-4b3c-86ae-75d6462487b6","isRequired":true,"uniqueKey":"current_revision_id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","minLength":1,"pattern":"^(?![\\s\\S]*\\u0000)[\\s\\S]*\\S[\\s\\S]*$","description":"Must contain non-whitespace text and must not contain U+0000. Accepted names retain their exact whitespace. No separate name-length limit applies within the body size limit.","example":"Example stack","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"allocation":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"object","additionalProperties":false,"properties":{"token_address":{"type":"string","pattern":"^0x[0-9a-f]{40}$","enum":["0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","0x117cc2133c37b721f49de2a7a74833232b3b4c0c","0x4a0e65a3eccec6dbe60ae065f2e7bb85fae35eea","0xccee82fe024c36fa15e1005ede3e9e4787e23d09","0x05b37fb53a299a1b874a619e1c4c404d52c36f4c","0xff080c8ce2e5feadaca0da81314ae59d232d4afd","0xa30fa36db767ad9ed3f7a60fc79526fb4d56d344","0xec262a75e413fafd0df80480274532c79d42da09","0xd5f3879160bc7c32ebb4dc785f8a4f505888de68","0x1b0e319c6a659f002271b69db8a7df2f911c153e","0x12f190a9f9d7d37a250758b26824b97ce941bf54","0xaf3d76f1834a1d425780943c99ea8a608f8a93f9","0x58ffe4a942d3885baa22d7520691f611ef09e7aa","0x86923f96303d656e4aa86d9d42d1e57ad2023fdc","0x2e0847e8910a9732eb3fb1bb4b70a580adad4fe3","0x4ea005168d7f09a7a0ba9d1def21a479950e44c2","0xe93237c50d904957cf27e7b1133b510c669c2e74","0x322f0929c4625ed5bad873c95208d54e1c003b2d","0xc0d6457c16cc70d6790dd43521c899c87ce02f35","0x9e7abd3c9139d14e4c86dce0e455aab7a0c2fb3e","0xb90a19ff0af67f7779aff50a882a9cff42446400","0xc72b96e0e48ecd4dc75e1e45396e26300bc39681","0x894e1ec2d74ffe5aef8dc8a9e84686accb964f2a","0x1d11f0496982706c5e14a514d4e79f2e6bde4516","0x411efb0e7f985935daec3d4c3ebaea0d0ad7d89f","0x5e81213613b6b86eab4c6c50d718d34359459786","0xc9a981fee1f9dec688bb123ccdecc63d0debfc4e","0x6330d8c3178a418788df01a47479c0ce7ccf450b","0xdf0992e440dd0be65bd8439b609d6d4366bf1cb5","0x48e39e56acdba37b09020c0b734a613c9a2f100a","0xcec185eb182c47d1ba1efc84e6959e18cd620be4","0x5fc5360d0400a0fd4f2af552add042d716f1d168"],"description":"A supported allocation token address normalized to lowercase. See [supported assets](/api-reference/assets) for names and symbols.","example":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","isRequired":true,"uniqueKey":"allocation.items.[INDEX].token_address","typeLabel":"enum\u003cstring>"},"weight_bps":{"type":"integer","minimum":0,"maximum":10000,"description":"Target weight in basis points. 10000 means 100%. Zero is allowed. All allocation weights together must total exactly 10000.","example":6000,"isRequired":true,"uniqueKey":"allocation.items.[INDEX].weight_bps","typeLabel":"integer"}},"required":["token_address","weight_bps"],"example":{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},"uniqueKey":"allocation.items.[INDEX]","typeLabel":"object"},"description":"Complete saved allocation. Addresses are lowercase, unique, and ordered by token address. Weights total exactly 10000.","example":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"isRequired":true,"uniqueKey":"allocation","typeLabel":"object[]"},"schedule":{"type":"object","additionalProperties":false,"properties":{"preset":{"type":"string","enum":["hourly","daily","weekly","monthly"],"description":"Saved UTC schedule preset. Boundaries are minute zero each hour, 00:00 each day, 00:00 each Monday, or 00:00 on the first day of each month. Scheduled rebalances become due at these boundaries. Custom schedules and timezone fields are invalid.","example":"daily","isRequired":true,"uniqueKey":"schedule.preset","typeLabel":"enum\u003cstring>"}},"required":["preset"],"description":"Schedule configuration only. Saving a preset does not execute trades.","example":{"preset":"daily"},"isRequired":true,"uniqueKey":"schedule","typeLabel":"object"}},"required":["id","current_revision_id","name","allocation","schedule"],"description":"Current complete configuration. No subscriber, balance, performance, or execution data is included.","example":{"id":"bf4bc5e9-0d9e-454c-bc1c-30abc120b074","current_revision_id":"e137435f-83ce-4b3c-86ae-75d6462487b6","name":"Example stack","allocation":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"schedule":{"preset":"daily"}},"uniqueKey":"","typeLabel":"object"},"example":{"id":"bf4bc5e9-0d9e-454c-bc1c-30abc120b074","current_revision_id":"e137435f-83ce-4b3c-86ae-75d6462487b6","name":"Example stack","allocation":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"schedule":{"preset":"daily"}},"examples":{"Example":{"title":"Example","value":{"id":"bf4bc5e9-0d9e-454c-bc1c-30abc120b074","current_revision_id":"e137435f-83ce-4b3c-86ae-75d6462487b6","name":"Example stack","allocation":[{"token_address":"0x117cc2133c37b721f49de2a7a74833232b3b4c0c","weight_bps":6000},{"token_address":"0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec","weight_bps":4000}],"schedule":{"preset":"daily"}}}},"exampleType":"examples"}},"exampleType":"examples"},"aa42f584-9b3c-44db-8483-c33c23599c8d":{"description":"Invalid JSON, configuration, pagination, stack UUID, or creation key.","headers":{"X-Request-Id":{"description":"Request trace ID. A nonempty incoming X-Request-Id is reused. If missing or empty, the server generates a UUID. Error request_id values match this header.","schema":{"type":"string"},"example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","not_found","conflict","payload_too_large","rate_limited","internal_error","service_unavailable"],"description":"Machine-readable error category.","example":"invalid_request","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Public-safe explanation. No field-by-field validation details are returned.","example":"invalid request body","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Matches the response X-Request-Id header. This can be a caller-supplied string, not only a UUID.","example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["code","message","request_id"],"example":{"code":"invalid_request","message":"invalid request body","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"uniqueKey":"","typeLabel":"object"},"example":{"code":"invalid_request","message":"invalid request body","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"examples":{"Example":{"title":"Example","value":{"code":"invalid_request","message":"invalid request body","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}}},"exampleType":"examples"}},"exampleType":"examples"},"ef678f97-faf9-440d-875f-9e2bfceca8d8":{"description":"Missing or invalid manager credential, or verified identity lacks required identity fields or a canonical lowercase UUID external ID.","headers":{"X-Request-Id":{"description":"Request trace ID. A nonempty incoming X-Request-Id is reused. If missing or empty, the server generates a UUID. Error request_id values match this header.","schema":{"type":"string"},"example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","not_found","conflict","payload_too_large","rate_limited","internal_error","service_unavailable"],"description":"Machine-readable error category.","example":"invalid_request","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Public-safe explanation. No field-by-field validation details are returned.","example":"invalid request body","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Matches the response X-Request-Id header. This can be a caller-supplied string, not only a UUID.","example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["code","message","request_id"],"example":{"code":"invalid_request","message":"invalid request body","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"uniqueKey":"","typeLabel":"object"},"example":{"code":"unauthorized","message":"invalid manager credential","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"examples":{"Example":{"title":"Example","value":{"code":"unauthorized","message":"invalid manager credential","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}}},"exampleType":"examples"}},"exampleType":"examples"},"6a39593a-5067-40c4-bbbe-8aac1947f942":{"description":"The manager already used this creation key with different normalized input.","headers":{"X-Request-Id":{"description":"Request trace ID. A nonempty incoming X-Request-Id is reused. If missing or empty, the server generates a UUID. Error request_id values match this header.","schema":{"type":"string"},"example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","not_found","conflict","payload_too_large","rate_limited","internal_error","service_unavailable"],"description":"Machine-readable error category.","example":"invalid_request","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Public-safe explanation. No field-by-field validation details are returned.","example":"invalid request body","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Matches the response X-Request-Id header. This can be a caller-supplied string, not only a UUID.","example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["code","message","request_id"],"example":{"code":"invalid_request","message":"invalid request body","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"uniqueKey":"","typeLabel":"object"},"example":{"code":"conflict","message":"Idempotency-Key was already used with different input","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"examples":{"Example":{"title":"Example","value":{"code":"conflict","message":"Idempotency-Key was already used with different input","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}}},"exampleType":"examples"}},"exampleType":"examples"},"10394977-7b8d-4f10-8a18-8a258af4e466":{"description":"Request body exceeds 262144 bytes.","headers":{"X-Request-Id":{"description":"Request trace ID. A nonempty incoming X-Request-Id is reused. If missing or empty, the server generates a UUID. Error request_id values match this header.","schema":{"type":"string"},"example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","not_found","conflict","payload_too_large","rate_limited","internal_error","service_unavailable"],"description":"Machine-readable error category.","example":"invalid_request","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Public-safe explanation. No field-by-field validation details are returned.","example":"invalid request body","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Matches the response X-Request-Id header. This can be a caller-supplied string, not only a UUID.","example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["code","message","request_id"],"example":{"code":"invalid_request","message":"invalid request body","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"uniqueKey":"","typeLabel":"object"},"example":{"code":"payload_too_large","message":"request body exceeds 262144 bytes","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"examples":{"Example":{"title":"Example","value":{"code":"payload_too_large","message":"request body exceeds 262144 bytes","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}}},"exampleType":"examples"}},"exampleType":"examples"},"14936a9d-d247-4095-b49b-86d12db26083":{"description":"API-key verification was rate limited. No fixed quota or Retry-After header contract is published.","headers":{"X-Request-Id":{"description":"Request trace ID. A nonempty incoming X-Request-Id is reused. If missing or empty, the server generates a UUID. Error request_id values match this header.","schema":{"type":"string"},"example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","not_found","conflict","payload_too_large","rate_limited","internal_error","service_unavailable"],"description":"Machine-readable error category.","example":"invalid_request","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Public-safe explanation. No field-by-field validation details are returned.","example":"invalid request body","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Matches the response X-Request-Id header. This can be a caller-supplied string, not only a UUID.","example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["code","message","request_id"],"example":{"code":"invalid_request","message":"invalid request body","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"uniqueKey":"","typeLabel":"object"},"example":{"code":"rate_limited","message":"manager verification rate limited","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"examples":{"Example":{"title":"Example","value":{"code":"rate_limited","message":"manager verification rate limited","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}}},"exampleType":"examples"}},"exampleType":"examples"},"ef4e87af-d6a3-4e65-8875-8aaad9493063":{"description":"Unexpected internal failure or conflicting saved manager identity binding.","headers":{"X-Request-Id":{"description":"Request trace ID. A nonempty incoming X-Request-Id is reused. If missing or empty, the server generates a UUID. Error request_id values match this header.","schema":{"type":"string"},"example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","not_found","conflict","payload_too_large","rate_limited","internal_error","service_unavailable"],"description":"Machine-readable error category.","example":"invalid_request","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Public-safe explanation. No field-by-field validation details are returned.","example":"invalid request body","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Matches the response X-Request-Id header. This can be a caller-supplied string, not only a UUID.","example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["code","message","request_id"],"example":{"code":"invalid_request","message":"invalid request body","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"uniqueKey":"","typeLabel":"object"},"example":{"code":"internal_error","message":"an unexpected error occurred","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"examples":{"Example":{"title":"Example","value":{"code":"internal_error","message":"an unexpected error occurred","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}}},"exampleType":"examples"}},"exampleType":"examples"},"fde1bf3c-e983-43d5-82ca-517db077a885":{"description":"API-key verification timed out or is unavailable, or the HTTP request exceeded its configured deadline (30 seconds by default). Failed verification grants no access and makes no stack changes. After a request timeout, its handler can continue and save a change. Check the result before retrying a write.","headers":{"X-Request-Id":{"description":"Request trace ID. A nonempty incoming X-Request-Id is reused. If missing or empty, the server generates a UUID. Error request_id values match this header.","schema":{"type":"string"},"example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","enum":["invalid_request","unauthorized","not_found","conflict","payload_too_large","rate_limited","internal_error","service_unavailable"],"description":"Machine-readable error category.","example":"invalid_request","isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Public-safe explanation. No field-by-field validation details are returned.","example":"invalid request body","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"request_id":{"type":"string","description":"Matches the response X-Request-Id header. This can be a caller-supplied string, not only a UUID.","example":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81","isRequired":true,"uniqueKey":"request_id","typeLabel":"string"}},"required":["code","message","request_id"],"example":{"code":"invalid_request","message":"invalid request body","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"uniqueKey":"","typeLabel":"object"},"example":{"code":"service_unavailable","message":"manager verification is unavailable","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"},"examples":{"Example":{"title":"Example","value":{"code":"service_unavailable","message":"manager verification is unavailable","request_id":"d28e1ad4-2ca8-4f35-b590-8bf3b53abc81"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"295fb731-5c20-4263-840b-1519b28f8154":{"ManagerApiKey":{"type":"http","scheme":"bearer","description":"Enter the API key supplied by MyStacks. The playground adds the `Authorization: Bearer` prefix for you.","scopes":[]}}},"servers":{"c0783c4b-1aae-477c-b2f7-364c35e704fd":{"url":"https://api-staging.mystacks.ai","description":"MyStacks staging backend"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Enter the API key supplied by MyStacks. The playground adds the `Authorization: Bearer` prefix for you.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Enter the API key supplied by MyStacks. The playground adds the `Authorization: Bearer` prefix for you.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ManagerApiKey","name":"Authorization"}],"title":"ManagerApiKey"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"mystacks","siteName":"MyStacks","title":"Create a stack - MyStacks","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-15T02:23:27.356Z","originalFileLocation":"api-reference/stacks/create.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=\"light\"}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 and immediately publish a stack.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MyStacks\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mystacks/uZzODQYI3p6r_sZZ/_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/mystacks/uZzODQYI3p6r_sZZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mystacks/uZzODQYI3p6r_sZZ/_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/mystacks/uZzODQYI3p6r_sZZ/_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/mystacks/uZzODQYI3p6r_sZZ/_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/mystacks/uZzODQYI3p6r_sZZ/_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/mystacks/uZzODQYI3p6r_sZZ/_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/mystacks/uZzODQYI3p6r_sZZ/_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/mystacks/uZzODQYI3p6r_sZZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a stack - MyStacks\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create and immediately publish a stack.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MyStacks\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mystacks.ai/api-reference/stacks/create\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mystacks.mintlify.app/_mintlify/api/og/v2?division=Stacks\u0026amp;title=Create+a+stack\u0026amp;description=Create+and+immediately+publish+a+stack.\u0026amp;theme=cb45f6a77ff290222cb5adea\u0026amp;signature=2a54ae89f8f1f9a78981824ab00e5a71150e7e4da355ef9252cfd05a0b4d1c9e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a stack - MyStacks\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create and immediately publish a stack.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mystacks.mintlify.app/_mintlify/api/og/v2?division=Stacks\u0026amp;title=Create+a+stack\u0026amp;description=Create+and+immediately+publish+a+stack.\u0026amp;theme=cb45f6a77ff290222cb5adea\u0026amp;signature=2a54ae89f8f1f9a78981824ab00e5a71150e7e4da355ef9252cfd05a0b4d1c9e\">\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/mystacks/uZzODQYI3p6r_sZZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MyStacks\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F766E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mystacks.ai/api-reference/stacks/create\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/stacks/create.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mystacks.ai/#organization\",\"name\":\"MyStacks\",\"url\":\"https://docs.mystacks.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mystacks/ymy-epKFyNGe1l-w/assets/logo-light.svg?fit=max\u0026auto=format\u0026n=ymy-epKFyNGe1l-w\u0026q=85\u0026s=6c8a2d336c62be024d562c517a5695ef\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mystacks.ai#website\",\"name\":\"MyStacks\",\"url\":\"https://docs.mystacks.ai\",\"publisher\":{\"@id\":\"https://docs.mystacks.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mystacks.ai/api-reference/stacks/create#webpage\",\"url\":\"https://docs.mystacks.ai/api-reference/stacks/create\",\"name\":\"Create a stack\",\"description\":\"Create and immediately publish a stack.\",\"dateModified\":\"2026-09-15T02:23:27.356Z\",\"isPartOf\":{\"@id\":\"https://docs.mystacks.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mystacks.ai/api-reference/stacks/create#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mystacks.ai/api-reference/stacks/create#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"MyStacks\",\"item\":\"https://docs.mystacks.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a stack\",\"item\":\"https://docs.mystacks.ai/api-reference/stacks/create\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.mystacks.ai/api-reference/stacks/create#apireference\",\"headline\":\"Create a stack\",\"name\":\"Create a stack\",\"description\":\"Create and immediately publish a stack.\",\"url\":\"https://docs.mystacks.ai/api-reference/stacks/create\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mystacks.ai/api-reference/stacks/create#webpage\"},\"dateModified\":\"2026-09-15T02:23:27.356Z\",\"publisher\":{\"@id\":\"https://docs.mystacks.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mystacks.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MyStacks\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"MyStacks","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Manager API","pages":[{"title":"Manager API overview","href":"/api-reference/overview"},{"title":"Stack configuration","href":"/api-reference/stack-configuration"},{"title":"Supported assets","href":"/api-reference/assets"},{"title":"Errors and retries","description":"HTTP status codes, request tracing, and safe manager API retries.","href":"/api-reference/errors"}]},{"group":"Stacks","pages":[{"title":"Create a stack","openapi":"POST /manager/stacks","href":"/api-reference/stacks/create"},{"title":"List stacks","description":"List your stacks with cursor pagination.","openapi":"GET /manager/stacks","href":"/api-reference/stacks/list"},{"title":"Get a stack","openapi":"GET /manager/stacks/{id}","href":"/api-reference/stacks/get"},{"title":"Update a stack","openapi":"PATCH /manager/stacks/{id}","href":"/api-reference/stacks/update"}]}]}]},"title":"Create a stack - MyStacks","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}