Presign a direct-to-storage upload for multimodal data.
POST the file to the returned URL yourself, then reference the returned object key as a message’s content uri (/api/v2/memory/add) or as a document’s content uri (…/documents).
Uploading first and passing the key is the only path that gets a non-text item parsed — see base64 on the content object. The Python SDK’s upload() does both steps in one call.
Objects to sign for upload. At most 50 per request
(status: 1007 if exceeded). Each fileId must be unique within
the request (status: 1009 on duplicates).
Required array length: 1 - 50 elements
Show child attributes
Response
Envelope response (MMS returns HTTP 200 for every business outcome;
only unmatched routes return 404). status: 0 means success and
result.data is a SignResponse. Non-zero status values seen on
this endpoint:
20003 — request body bind failure (malformed JSON).
2018 — parameter validation failed (e.g. missing objectList,
fileId, fileName, or fileType); result.data is the
validator error string.
1012 — mms-token missing, invalid, expired, or revoked
(emitted by the auth middleware before the handler runs).
1013 — token lacks the required object:sign scope.
1007 — objectList exceeds the per-request limit of 50.
1002 — fileType not one of image/video/file.
1009 — duplicate fileId within the request.
1004 — S3 operation failed (bucket unavailable).
1005 — presigned POST generation failed.
2015 — object metadata persistence failed.
20001 — unhandled internal server error.
Response envelope for the sign endpoint. The result.data shape
depends on status:
status: 0 (success) — result.data is a SignResponse, as
modelled below.
status: 2018 (validation failed) — result.data is a plain
string carrying the validator error message, not a SignResponse.
all other non-zero statuses — result.data is null.
Generated clients should treat result.data as populated only when
status is 0.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"EverOS","colors":{"primary":"#2DABC2","light":"#FAF9F5","dark":"#FFC53D"},"logo":{"light":"https://mintcdn.com/evermind/r7FUvGqFENzWPpQK/logo/dark.png?fit=max\u0026auto=format\u0026n=r7FUvGqFENzWPpQK\u0026q=85\u0026s=3c77717d85a2e6597b61a703fa9f18dc","dark":"https://mintcdn.com/evermind/r7FUvGqFENzWPpQK/logo/light.png?fit=max\u0026auto=format\u0026n=r7FUvGqFENzWPpQK\u0026q=85\u0026s=8edcb7078f3569fbce98154987e4c825","href":"//evermind.ai"},"favicon":"https://mintcdn.com/evermind/KH16NOZG47OFzMRe/favicon.svg?fit=max\u0026auto=format\u0026n=KH16NOZG47OFzMRe\u0026q=85\u0026s=5d3fe0e14c145627d3adc793919fc891","navbar":{"links":[{"href":"mailto:contact@evermind.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://everos.evermind.ai"}},"footer":{"socials":{"x":"https://x.com/EverMindAI","github":"https://github.com/EverMind-AI/EverOS","linkedin":"https://www.linkedin.com/company/ai-evermind"}},"integrations":{"gtm":{"tagId":"GTM-WQG5VGJQ"},"posthog":{"apiKey":"phc_xzrNRpDb4XkGwtE0wb24VNJT89c47fsuEA4FibnmdnE","apiHost":"https://phc.evermind.ai"}},"banner":{"content":"EverOS API v1 retires on November 2, 2026. [See what you need to do](/api-reference/v1-sunset)","dismissible":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"evermind","hasAudioNarration":false,"actualSubdomain":"evermind","customDomains":["docs.evermind.ai"],"gitSource":{"type":"github","owner":"evermind-ai","repo":"everos-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adec8aacdbe2c2cc473aa1f","collectionId":"22f13430-6cac-44bc-889d-b59c91ab5b8d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adec8aacdbe2c2cc473aa1f"},"feedback":{"agentFeedback":true,"thumbs":true},"entitlements":{},"buildId":"6adec8aacdbe2c2cc473aa1f","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API Reference","count":39},{"language":"default","tag":"API Reference (Cloud v1 · legacy)","count":21},{"language":"default","tag":"Knowledge Bases","count":19},{"language":"default","tag":"API Reference (OSS v1 · legacy)","count":17},{"language":"default","tag":"Memory","count":17},{"language":"default","tag":"EverOS Cloud","count":14},{"language":"default","tag":"Core Concepts","count":10},{"language":"default","tag":"Open Source","count":10},{"language":"default","tag":"Knowledge Wiki","count":9},{"language":"default","tag":"Memories","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":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":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"html:not(.dark),html:not(.dark) #body-content,html:not(.dark) #content-area,html:not(.dark) #navbar,html:not(.dark) #sidebar,html:not(.dark) #sidebar-content,html:not(.dark) #table-of-contents,html:not(.dark) aside,html:not(.dark) body,html:not(.dark) header,html:not(.dark) main,html:not(.dark) nav{background-color:#faf9f5}:not(.dark) .from-background-light{--tw-gradient-from:#FAF9F5!important}.dark .from-background-light{--tw-gradient-from:#0e0e10!important}div.mt-2.text-lg.prose{margin-top:1.5rem}"}],"page":{"pagePath":"api-reference/storage/get-multimodal-upload-urls","slug":"/api-reference/storage/get-multimodal-upload-urls","pageMetadata":{"title":"Get multimodal upload URLs","description":"Presign a direct-to-storage upload for multimodal data.\n\nPOST the file to the returned URL yourself, then reference the returned object key as a message's content `uri` (/api/v2/memory/add) or as a document's content `uri` (.../documents).\n\nUploading first and passing the key is the only path that gets a non-text item parsed — see `base64` on the content object. The Python SDK's `upload()` does both steps in one call.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/object/sign","href":"/api-reference/storage/get-multimodal-upload-urls","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Presign a direct-to-storage upload for multimodal data.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"POST the file to the returned URL yourself, then reference the returned object key as a message’s content \", _jsx(_components.code, {\n children: \"uri\"\n }), \" (/api/v2/memory/add) or as a document’s content \", _jsx(_components.code, {\n children: \"uri\"\n }), \" (…/documents).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Uploading first and passing the key is the only path that gets a non-text item parsed — see \", _jsx(_components.code, {\n children: \"base64\"\n }), \" on the content object. The Python SDK’s \", _jsx(_components.code, {\n children: \"upload()\"\n }), \" does both steps in one call.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get multimodal upload URLs","description":"Presign a direct-to-storage upload for multimodal data.\n\nPOST the file to the returned URL yourself, then reference the returned object key as a message's content `uri` (/api/v2/memory/add) or as a document's content `uri` (.../documents).\n\nUploading first and passing the key is the only path that gets a non-text item parsed — see `base64` on the content object. The Python SDK's `upload()` does both steps in one call.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/object/sign","href":"/api-reference/storage/get-multimodal-upload-urls","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Storage"],"summary":"Get multimodal upload URLs","operationId":"signObjects","requestBody":"1b58d969-5977-4398-9873-d26e59de30e0","responses":{"200":"27fa95de-e3e4-4d7a-b65a-d95849f1a999","401":"cb342e3d-2bc6-40f7-86c4-09928220e561","403":"c171703e-262e-49d1-b368-f7215e2b2311","429":"70c2f26d-f45b-4cdc-a15d-3d4006a0b4d0","503":"4320bd97-d776-459c-b54a-f941b657b138"},"description":"Presign a direct-to-storage upload for multimodal data.\n\nPOST the file to the returned URL yourself, then reference the returned object key as a message's content `uri` (/api/v2/memory/add) or as a document's content `uri` (.../documents).\n\nUploading first and passing the key is the only path that gets a non-text item parsed — see `base64` on the content object. The Python SDK's `upload()` does both steps in one call.","method":"post","type":"path","servers":["6755bf3f-8ce6-4610-8f69-e9440a578770"],"security":["903c48f7-e2df-45e0-bf1e-f020d6c26b61"],"path":"/api/v2/object/sign","baseUrlOptions":["https://api.evermind.ai"],"title":"Get multimodal upload URLs","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["objectList"],"properties":{"objectList":{"type":"array","minItems":1,"maxItems":50,"description":"Objects to sign for upload. At most 50 per request\n(`status: 1007` if exceeded). Each `fileId` must be unique within\nthe request (`status: 1009` on duplicates).\n","items":{"type":"object","required":["fileId","fileName","fileType"],"properties":{"fileId":{"type":"string","description":"Your own id for this file. It comes back on the matching response item.","isRequired":true,"uniqueKey":"objectList.items.[INDEX].fileId","typeLabel":"string"},"fileName":{"type":"string","description":"The file's name, used to derive its type and preserved for display.","isRequired":true,"uniqueKey":"objectList.items.[INDEX].fileName","typeLabel":"string"},"fileType":{"type":"string","enum":["image","file","video"],"description":"Media class. Default size limits per type: image=10MB,\nfile=100MB, video=500MB. These are defaults and may be overridden\nper token (via the token's `file_limits`); the effective limit is\nenforced by S3 through the presigned POST `content-length-range`\ncondition, and surfaced as `objectSignedInfo.maxSize`.\n","isRequired":true,"uniqueKey":"objectList.items.[INDEX].fileType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"objectList.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"objectList","typeLabel":"object[]"}},"example":{"objectList":[{"fileId":"file-1","fileName":"photo.jpg","fileType":"image"}]},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"objectList":[{"fileId":"file-1","fileName":"photo.jpg","fileType":"image"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"27fa95de-e3e4-4d7a-b65a-d95849f1a999":{"description":"Envelope response (MMS returns HTTP 200 for every business outcome;\nonly unmatched routes return 404). `status: 0` means success and\n`result.data` is a SignResponse. Non-zero `status` values seen on\nthis endpoint:\n\n- `20003` — request body bind failure (malformed JSON).\n- `2018` — parameter validation failed (e.g. missing `objectList`,\n `fileId`, `fileName`, or `fileType`); `result.data` is the\n validator error string.\n- `1012` — `mms-token` missing, invalid, expired, or revoked\n (emitted by the auth middleware before the handler runs).\n- `1013` — token lacks the required `object:sign` scope.\n- `1007` — `objectList` exceeds the per-request limit of 50.\n- `1002` — `fileType` not one of image/video/file.\n- `1009` — duplicate `fileId` within the request.\n- `1004` — S3 operation failed (bucket unavailable).\n- `1005` — presigned POST generation failed.\n- `2015` — object metadata persistence failed.\n- `20001` — unhandled internal server error.\n","content":{"application/json":{"schema":{"type":"object","description":"Response envelope for the sign endpoint. The `result.data` shape\ndepends on `status`:\n\n- `status: 0` (success) — `result.data` is a `SignResponse`, as\n modelled below.\n- `status: 2018` (validation failed) — `result.data` is a plain\n string carrying the validator error message, not a `SignResponse`.\n- all other non-zero statuses — `result.data` is `null`.\n\nGenerated clients should treat `result.data` as populated only when\n`status` is 0.\n","properties":{"error":{"type":"string","description":"`\"OK\"` on success, otherwise a human-readable error message\ndecoded from the business error.\n","uniqueKey":"error","typeLabel":"string"},"request_id":{"type":"string","description":"Id of this request — quote it when reporting a problem.","uniqueKey":"request_id","typeLabel":"string"},"status":{"type":"integer","description":"Business status code; 0 means success","uniqueKey":"status","typeLabel":"integer"},"result":{"type":"object","description":"The response payload.","properties":{"data":{"type":"object","properties":{"objectList":{"type":"array","items":{"type":"object","properties":{"fileId":{"type":"string","description":"The id you supplied for this file.","uniqueKey":"result.data.objectList.items.[INDEX].fileId","typeLabel":"string"},"fileName":{"type":"string","description":"The file's name, echoed back.","uniqueKey":"result.data.objectList.items.[INDEX].fileName","typeLabel":"string"},"fileType":{"type":"string","description":"The type the service resolved for it.","uniqueKey":"result.data.objectList.items.[INDEX].fileType","typeLabel":"string"},"objectKey":{"type":"string","description":"The stored object's key — this is the value to pass later as a content `uri` on /api/v2/memory/add or a document ingest.","uniqueKey":"result.data.objectList.items.[INDEX].objectKey","typeLabel":"string"},"objectUrl":{"type":"string","description":"Present in the response struct for parity with the find endpoint,\nbut not populated on the sign path (omitted from the JSON).\n","uniqueKey":"result.data.objectList.items.[INDEX].objectUrl","typeLabel":"string"},"objectSignedInfo":{"type":"object","description":"Where and how to upload the bytes.","properties":{"url":{"type":"string","description":"The URL to POST the file to.","uniqueKey":"result.data.objectList.items.[INDEX].objectSignedInfo.url","typeLabel":"string"},"fields":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"result.data.objectList.items.[INDEX].objectSignedInfo.fields.additionalProperties","typeLabel":"string"},"description":"Form fields that must accompany the upload, exactly as given, with the file itself last.","uniqueKey":"result.data.objectList.items.[INDEX].objectSignedInfo.fields","typeLabel":"object"},"maxSize":{"type":"integer","format":"int64","description":"Maximum file size in bytes","uniqueKey":"result.data.objectList.items.[INDEX].objectSignedInfo.maxSize","typeLabel":"integer\u003cint64>"}},"uniqueKey":"result.data.objectList.items.[INDEX].objectSignedInfo","typeLabel":"object"}},"uniqueKey":"result.data.objectList.items.[INDEX]","typeLabel":"object"},"description":"One signed entry per requested file, in the same order.","uniqueKey":"result.data.objectList","typeLabel":"object[]"}},"uniqueKey":"result.data","typeLabel":"object"}},"uniqueKey":"result","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","request_id":"\u003cstring>","status":123,"result":{"data":{"objectList":[{"fileId":"\u003cstring>","fileName":"\u003cstring>","fileType":"\u003cstring>","objectKey":"\u003cstring>","objectUrl":"\u003cstring>","objectSignedInfo":{"url":"\u003cstring>","fields":{},"maxSize":123}}]}}}}},"exampleType":"generated"}},"exampleType":"generated"},"cb342e3d-2bc6-40f7-86c4-09928220e561":{"description":"Missing or invalid bearer token.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Gateway error body. NOTE: shape is not yet uniform across auth/quota/ rate-limit paths — treat fields as best-effort. Commonly includes a `code`/`message` (flat) or an `error` object/string with a `message`.","title":"GatewayError","uniqueKey":"","typeLabel":"GatewayError · object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"c171703e-262e-49d1-b368-f7215e2b2311":{"description":"Authenticated but not permitted — either rejected by the auth service, or the account's memory API version does not match the interface version implied by the path (a v1 account calling an /api/v2 route).","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Gateway error body. NOTE: shape is not yet uniform across auth/quota/ rate-limit paths — treat fields as best-effort. Commonly includes a `code`/`message` (flat) or an `error` object/string with a `message`.","title":"GatewayError","uniqueKey":"","typeLabel":"GatewayError · object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"70c2f26d-f45b-4cdc-a15d-3d4006a0b4d0":{"description":"Rate limit or quota exceeded.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Gateway error body. NOTE: shape is not yet uniform across auth/quota/ rate-limit paths — treat fields as best-effort. Commonly includes a `code`/`message` (flat) or an `error` object/string with a `message`.","title":"GatewayError","uniqueKey":"","typeLabel":"GatewayError · object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"},"4320bd97-d776-459c-b54a-f941b657b138":{"description":"The gateway could not reach the authentication service. Transient — retry with backoff.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"Gateway error body. NOTE: shape is not yet uniform across auth/quota/ rate-limit paths — treat fields as best-effort. Commonly includes a `code`/`message` (flat) or an `error` object/string with a `message`.","title":"GatewayError","uniqueKey":"","typeLabel":"GatewayError · object"},"examples":{"Example":{"title":"Example","value":{}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"903c48f7-e2df-45e0-bf1e-f020d6c26b61":{"BearerAuth":{"type":"http","scheme":"bearer","description":"API key issued by EverOS, sent as `Authorization: Bearer \u003capi_key>`.","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"6755bf3f-8ce6-4610-8f69-e9440a578770":{"url":"https://api.evermind.ai","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key issued by EverOS, sent as `Authorization: Bearer \u003capi_key>`.","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key issued by EverOS, sent as `Authorization: Bearer \u003capi_key>`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"evermind","siteName":"EverOS","title":"Get multimodal upload URLs - EverOS","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T03:27:46.039Z","originalFileLocation":"api-reference/storage/get-multimodal-upload-urls.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=\"Presign a direct-to-storage upload for multimodal data. POST the file to the returned URL yourself, then reference the returned object key as a message\u0026#x27;s content uri (/api/v2/memory/add) or as a document\u0026#x27;s content uri (.../documents). Uploading first and passing the key is the only path that gets a non-text item parsed — see base64 on the content object. The Python SDK\u0026#x27;s upload() does both steps in one call.\">\u003cmeta data-mint-head name=\"application-name\" content=\"EverOS\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_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/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/evermind/9Y2uP5IsfgMDaKTY/_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/evermind/9Y2uP5IsfgMDaKTY/_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/evermind/9Y2uP5IsfgMDaKTY/_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/evermind/9Y2uP5IsfgMDaKTY/_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/evermind/9Y2uP5IsfgMDaKTY/_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/evermind/9Y2uP5IsfgMDaKTY/_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/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get multimodal upload URLs - EverOS\">\u003cmeta data-mint-head property=\"og:description\" content=\"Presign a direct-to-storage upload for multimodal data. POST the file to the returned URL yourself, then reference the returned object key as a message\u0026#x27;s content uri (/api/v2/memory/add) or as a document\u0026#x27;s content uri (.../documents). Uploading first and passing the key is the only path that gets a non-text item parsed — see base64 on the content object. The Python SDK\u0026#x27;s upload() does both steps in one call.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"EverOS\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.evermind.ai/api-reference/storage/get-multimodal-upload-urls\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://evermind.mintlify.app/_mintlify/api/og/v2?division=Storage\u0026amp;title=Get+multimodal+upload+URLs\u0026amp;description=Presign+a+direct-to-storage+upload+for+multimodal+data.%0A%0APOST+the+file+to+the+returned+URL+yourself%2C+then+reference+the+returned+object+key+as+a+message%27s+conte\u0026amp;theme=542fb84329606931cb1a7e2a\u0026amp;signature=e1042a04ed9d1f87d86452be8530e1f439b228adee0e664d05e3ca6d38eab41f\">\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=\"Get multimodal upload URLs - EverOS\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Presign a direct-to-storage upload for multimodal data. POST the file to the returned URL yourself, then reference the returned object key as a message\u0026#x27;s content uri (/api/v2/memory/add) or as a document\u0026#x27;s content uri (.../documents). Uploading first and passing the key is the only path that gets a non-text item parsed — see base64 on the content object. The Python SDK\u0026#x27;s upload() does both steps in one call.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://evermind.mintlify.app/_mintlify/api/og/v2?division=Storage\u0026amp;title=Get+multimodal+upload+URLs\u0026amp;description=Presign+a+direct-to-storage+upload+for+multimodal+data.%0A%0APOST+the+file+to+the+returned+URL+yourself%2C+then+reference+the+returned+object+key+as+a+message%27s+conte\u0026amp;theme=542fb84329606931cb1a7e2a\u0026amp;signature=e1042a04ed9d1f87d86452be8530e1f439b228adee0e664d05e3ca6d38eab41f\">\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/evermind/9Y2uP5IsfgMDaKTY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"EverOS\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2DABC2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.evermind.ai/api-reference/storage/get-multimodal-upload-urls\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/storage/get-multimodal-upload-urls.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.evermind.ai/#organization\",\"name\":\"EverOS\",\"url\":\"https://docs.evermind.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/evermind/r7FUvGqFENzWPpQK/logo/dark.png?fit=max\u0026auto=format\u0026n=r7FUvGqFENzWPpQK\u0026q=85\u0026s=3c77717d85a2e6597b61a703fa9f18dc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.evermind.ai#website\",\"name\":\"EverOS\",\"url\":\"https://docs.evermind.ai\",\"publisher\":{\"@id\":\"https://docs.evermind.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.evermind.ai/api-reference/storage/get-multimodal-upload-urls#webpage\",\"url\":\"https://docs.evermind.ai/api-reference/storage/get-multimodal-upload-urls\",\"name\":\"Get multimodal upload URLs\",\"description\":\"Presign a direct-to-storage upload for multimodal data. POST the file to the returned URL yourself, then reference the returned object key as a message's content uri (/api/v2/memory/add) or as a document's content uri (.../documents). Uploading first and passing the key is the only path that gets a non-text item parsed — see base64 on the content object. The Python SDK's upload() does both steps in one call.\",\"dateModified\":\"2026-10-26T03:27:46.039Z\",\"isPartOf\":{\"@id\":\"https://docs.evermind.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.evermind.ai/api-reference/storage/get-multimodal-upload-urls#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.evermind.ai/api-reference/storage/get-multimodal-upload-urls#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"EverOS\",\"item\":\"https://docs.evermind.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get multimodal upload URLs\",\"item\":\"https://docs.evermind.ai/api-reference/storage/get-multimodal-upload-urls\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.evermind.ai/api-reference/storage/get-multimodal-upload-urls#apireference\",\"headline\":\"Get multimodal upload URLs\",\"name\":\"Get multimodal upload URLs\",\"description\":\"Presign a direct-to-storage upload for multimodal data. POST the file to the returned URL yourself, then reference the returned object key as a message's content uri (/api/v2/memory/add) or as a document's content uri (.../documents). Uploading first and passing the key is the only path that gets a non-text item parsed — see base64 on the content object. The Python SDK's upload() does both steps in one call.\",\"url\":\"https://docs.evermind.ai/api-reference/storage/get-multimodal-upload-urls\",\"mainEntityOfPage\":{\"@id\":\"https://docs.evermind.ai/api-reference/storage/get-multimodal-upload-urls#webpage\"},\"dateModified\":\"2026-10-26T03:27:46.039Z\",\"publisher\":{\"@id\":\"https://docs.evermind.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.evermind.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"EverOS\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"EverOS","nav":{"global":{},"tabs":[{"tab":"Welcome","pages":[{"title":"Welcome","href":"/introduction"}]},{"tab":"EverOS Cloud","pages":[{"title":"EverOS Cloud","href":"/cloud/overview"}]},{"tab":"Open Source","pages":[{"title":"Open Source","href":"/open-source/overview"}]},{"tab":"Cookbook","pages":[{"title":"Cookbook","href":"/cookbook/quickstart"}]},{"tab":"API Reference","groups":[{"group":"Getting Started","icon":"rocket","pages":[{"title":"API Overview","icon":"circle-info","href":"/api-reference/introduction"}]},{"group":"Migration","icon":"arrow-up-right-dots","pages":[{"title":"v1 API Retirement","icon":"calendar-xmark","href":"/api-reference/v1-sunset"},{"title":"Upgrade Python SDK to 1.x","icon":"arrow-up-right-dots","href":"/api-reference/sdk-migration-1x"}]},{"group":"Memory","icon":"database","pages":[{"title":"Add messages [OSS + Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/add","href":"/api-reference/memory/add-messages-[oss-+-cloud]"},{"title":"Force memory extraction [OSS + Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/flush","href":"/api-reference/memory/force-memory-extraction-[oss-+-cloud]"},{"title":"Get memories [OSS + Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/get","href":"/api-reference/memory/get-memories-[oss-+-cloud]"},{"title":"Search memories [OSS + Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/search","href":"/api-reference/memory/search-memories-[oss-+-cloud]"},{"title":"Context Retrieval [Cloud-only]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/context","href":"/api-reference/memory/context-retrieval-[cloud-only]"},{"title":"Edit profile items [Cloud-only]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/edit","href":"/api-reference/memory/edit-profile-items-[cloud-only]"},{"title":"Edit one memory record [Cloud-only]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/update","href":"/api-reference/memory/edit-one-memory-record-[cloud-only]"},{"title":"Delete memories [Cloud-only]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/delete","href":"/api-reference/memory/delete-memories-[cloud-only]"},{"title":"Soft-delete memory records by id [Cloud-only]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/delete_by_ids","href":"/api-reference/memory/soft-delete-memory-records-by-id-[cloud-only]"},{"title":"Submit feedback about one memory [Cloud-only]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/feedback","href":"/api-reference/memory/submit-feedback-about-one-memory-[cloud-only]"},{"group":"Tags","icon":"tags","pages":[{"title":"Bind tags to memories [Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/tag/bind","href":"/api-reference/memory/bind-tags-to-memories-[cloud]"},{"title":"Unbind tags from memories [Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/tag/unbind","href":"/api-reference/memory/unbind-tags-from-memories-[cloud]"},{"title":"Replace tags on memories [Cloud]","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/memory/tag/replace","href":"/api-reference/memory/replace-tags-on-memories-[cloud]"}]}]},{"group":"Knowledge Bases","icon":"book","pages":[{"title":"Create a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases","href":"/api-reference/knowledge/create-a-knowledge-base"},{"title":"List knowledge bases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases","href":"/api-reference/knowledge/list-knowledge-bases"},{"title":"Get a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases/{kb_id}","href":"/api-reference/knowledge/get-a-knowledge-base"},{"title":"Update a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /api/v2/knowledge_bases/{kb_id}","href":"/api-reference/knowledge/update-a-knowledge-base"},{"title":"Delete a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /api/v2/knowledge_bases/{kb_id}","href":"/api-reference/knowledge/delete-a-knowledge-base"},{"title":"Search a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases/{kb_id}/search","href":"/api-reference/knowledge/search-a-knowledge-base"},{"group":"Documents","icon":"file-lines","pages":[{"title":"Upload a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases/{kb_id}/documents","href":"/api-reference/knowledge/upload-a-document"},{"title":"List Documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-oss-v1.json get /api/v1/knowledge/documents","href":"/api-reference/knowledge/list-documents"},{"title":"Get a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}","href":"/api-reference/knowledge/get-a-document"},{"title":"Replace a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}","href":"/api-reference/knowledge/replace-a-document"},{"title":"Update a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}","href":"/api-reference/knowledge/update-a-document"},{"title":"Delete a document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}","href":"/api-reference/knowledge/delete-a-document"}]},{"group":"Categories","icon":"folder-tree","pages":[{"title":"Create a category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases/{kb_id}/categories","href":"/api-reference/knowledge/create-a-category"},{"title":"List Categories","deprecated":null,"version":null,"openapi":"/api-reference/openapi-oss-v1.json get /api/v1/knowledge/categories","href":"/api-reference/knowledge/list-categories"},{"title":"Update a category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /api/v2/knowledge_bases/{kb_id}/categories/{category_id}","href":"/api-reference/knowledge/update-a-category"},{"title":"Delete a category","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /api/v2/knowledge_bases/{kb_id}/categories/{category_id}","href":"/api-reference/knowledge/delete-a-category"}]},{"group":"Topics","icon":"sitemap","pages":[{"title":"List a document's topics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}/topics","href":"/api-reference/knowledge/list-a-documents-topics"},{"title":"Get a topic","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}/topics/{topic_id}","href":"/api-reference/knowledge/get-a-topic"},{"title":"List topics by tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/knowledge_bases/{kb_id}/topics","href":"/api-reference/knowledge/list-topics-by-tag"}]},{"group":"Semantic Tags","icon":"tag","pages":[{"title":"Count tag usage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases/{kb_id}/tags","href":"/api-reference/knowledge/count-tag-usage"},{"title":"Replace a topic's tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/knowledge_bases/{kb_id}/documents/{doc_id}/topics/{topic_id}/tag/replace","href":"/api-reference/knowledge/replace-a-topics-tags"}]}]},{"group":"Async Tasks","icon":"list-check","pages":[{"title":"List tasks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/tasks","href":"/api-reference/tasks/list-tasks"},{"title":"Count tasks by status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/tasks/stats","href":"/api-reference/tasks/count-tasks-by-status"},{"title":"Get a task","description":"Returns the progress of one async task. Task ids are unique system-wide, so the task type does not need to be known. Unknown or expired ids return 404. Results are scoped to the caller's tenant, resolved from the request context; a caller can only ever see its own tasks.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /api/v2/tasks/{task_id}","href":"/api-reference/tasks/get-a-task"}]},{"group":"Storage","icon":"cloud-arrow-up","pages":[{"title":"Get multimodal upload URLs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /api/v2/object/sign","href":"/api-reference/storage/get-multimodal-upload-urls"}]}]},{"tab":"API Reference (Cloud v1 · legacy)","pages":[{"title":"API Reference (Cloud v1 · legacy)","href":"/api-reference/legacy-cloud-v1"}]},{"tab":"API Reference (OSS v1 · legacy)","pages":[{"title":"API Reference (OSS v1 · legacy)","href":"/api-reference/legacy-oss-v1"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/changelog/release-notes"}]}]},"title":"Get multimodal upload URLs - EverOS","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-BVNUlwBc.js","dist-aeztFa9U.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-rL8ZCCw4.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","AssistantPageLink-BywkCr5C.js"]}