Creates an asset – or updates it if Docusnap365 already knows it by its
identity. You pass an AssetBundle: schemaId sets the type,
objectData follows its data definition. More complete records
(completenessLevel) are not overwritten by less complete sources.
The API answers 201 when the asset was created and 200 when it was
updated. Whether the asset was saved is stated in isSuccess.
Reason if the asset was not saved – for example because a more complete record is protected.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Docusnap365","description":"Official documentation for Docusnap365: scan your network, build your IT inventory, manage IT assets and costs, run your ISMS and connect AI tools via MCP and API.","colors":{"primary":"#0F7683","light":"#38BECF","dark":"#0F7683"},"logo":{"light":"https://mintcdn.com/docusnap/w7DSWRB4BRB49qQA/images/Docusnap_Logo.svg?fit=max\u0026auto=format\u0026n=w7DSWRB4BRB49qQA\u0026q=85\u0026s=30ba3056aa591cff3faf8c4addf943c0","dark":"https://mintcdn.com/docusnap/w7DSWRB4BRB49qQA/images/Docusnap_Logo_white.svg?fit=max\u0026auto=format\u0026n=w7DSWRB4BRB49qQA\u0026q=85\u0026s=9325dcb387db7939baab29338fddf607","href":"https://www.docusnap.com"},"favicon":"https://mintcdn.com/docusnap/8cT_v1WiPR-atVd2/favicon.svg?fit=max\u0026auto=format\u0026n=8cT_v1WiPR-atVd2\u0026q=85\u0026s=9bb2a8c996b466e0a76f375054191f52","footer":{"socials":{"website":"https://www.docusnap.com"}},"contextual":{"options":["chatgpt","claude","download-pdf"],"display":"header"},"styling":{"latex":false},"navigation":{"languages":[{"language":"de","navbar":{"links":[{"href":"https://docusnap365.com","label":"Anmelden"}],"primary":{"type":"button","label":"Kostenlos testen","href":"https://www.docusnap.com/de/trial?utm_source=docs\u0026utm_medium=navbar\u0026utm_campaign=trial"}},"href":"de/getting-started/overview"},{"language":"en","default":true,"navbar":{"links":[{"href":"https://docusnap365.com","label":"Sign In"}],"primary":{"type":"button","label":"Try for Free","href":"https://www.docusnap.com/en/trial?utm_source=docs\u0026utm_medium=navbar\u0026utm_campaign=trial"}},"href":"en/getting-started/overview"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"docusnap","hasAudioNarration":false,"actualSubdomain":"docusnap","customDomains":["www.docusnap.com"],"gitSource":{"type":"github","owner":"docusnap","repo":"ds365.customerdocs","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6aeb76ebb76ba5a76a111830","collectionId":"4e4429e9-6042-4075-8a3a-1b6e01d7b804","liveDeploymentHistoryId":"6aeb76ebb76ba5a76a111830","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aeb87ca85266b9e467ed39f","clientVersion":"0.0.4064","searchFilterCounts":[{"language":"de","tag":"Scannen","count":39},{"language":"en","tag":"Scanning","count":39},{"language":"de","tag":"Scan-Module","count":25},{"language":"en","tag":"Scan Modules","count":25},{"language":"de","tag":"Inventar","count":18},{"language":"en","tag":"Inventory","count":18},{"language":"de","tag":"Verwaltung","count":17},{"language":"en","tag":"Administration","count":17},{"language":"de","tag":"ISMS","count":14},{"language":"en","tag":"ISMS","count":14},{"language":"de","tag":"ITAM","count":12},{"language":"en","tag":"ITAM","count":12},{"language":"de","tag":"Tutorials","count":11},{"language":"de","tag":"Dokumentation","count":11},{"language":"en","tag":"Tutorials","count":11},{"language":"en","tag":"Documentation","count":11},{"language":"de","tag":"MCP \u0026 API","count":10},{"language":"de","tag":"Assets","count":10},{"language":"en","tag":"MCP \u0026 API","count":10},{"language":"en","tag":"Assets","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","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":"rbac-expansion","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":"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":"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":"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":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":false}},"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#topbar-cta-button a>span:first-child{background-color:#9F6D06!important;opacity:1!important}#topbar-cta-button a,#topbar-cta-button a span{color:#FFFFFF!important}#topbar-cta-button a svg{display:none!important}#topbar-cta-button a{padding-right:0.75rem!important}#topbar-cta-button a:hover span,#topbar-cta-button a:focus-visible span{text-decoration:underline;text-underline-offset:2px}body:has(.api-section) #header>.prose,body:has(.api-section) #header>.prose p{font-size:1rem!important;line-height:1.75rem!important}"}],"page":{"pagePath":"api-reference/assets/create-or-update-asset","slug":"/api-reference/assets/create-or-update-asset","pageMetadata":{"title":"Create or update asset","description":"Creates an asset – or updates it if Docusnap365 already knows it by its\nidentity. You pass an `AssetBundle`: `schemaId` sets the type,\n`objectData` follows its data definition. More complete records\n(`completenessLevel`) are not overwritten by less complete sources.\n\nThe API answers `201` when the asset was created and `200` when it was\nupdated. Whether the asset was saved is stated in `isSuccess`.\n\nPermission: *Read and Write*.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.yaml post /asset","href":"/api-reference/assets/create-or-update-asset","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 em: \"em\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Creates an asset – or updates it if Docusnap365 already knows it by its\\nidentity. You pass an \", _jsx(_components.code, {\n children: \"AssetBundle\"\n }), \": \", _jsx(_components.code, {\n children: \"schemaId\"\n }), \" sets the type,\\n\", _jsx(_components.code, {\n children: \"objectData\"\n }), \" follows its data definition. More complete records\\n(\", _jsx(_components.code, {\n children: \"completenessLevel\"\n }), \") are not overwritten by less complete sources.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The API answers \", _jsx(_components.code, {\n children: \"201\"\n }), \" when the asset was created and \", _jsx(_components.code, {\n children: \"200\"\n }), \" when it was\\nupdated. Whether the asset was saved is stated in \", _jsx(_components.code, {\n children: \"isSuccess\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Permission: \", _jsx(_components.em, {\n children: \"Read and Write\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create or update asset","description":"Creates an asset – or updates it if Docusnap365 already knows it by its\nidentity. You pass an `AssetBundle`: `schemaId` sets the type,\n`objectData` follows its data definition. More complete records\n(`completenessLevel`) are not overwritten by less complete sources.\n\nThe API answers `201` when the asset was created and `200` when it was\nupdated. Whether the asset was saved is stated in `isSuccess`.\n\nPermission: *Read and Write*.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.yaml post /asset","href":"/api-reference/assets/create-or-update-asset","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Assets"],"operationId":"ingestAsset","summary":"Create or update asset","description":"Creates an asset – or updates it if Docusnap365 already knows it by its\nidentity. You pass an `AssetBundle`: `schemaId` sets the type,\n`objectData` follows its data definition. More complete records\n(`completenessLevel`) are not overwritten by less complete sources.\n\nThe API answers `201` when the asset was created and `200` when it was\nupdated. Whether the asset was saved is stated in `isSuccess`.\n\nPermission: *Read and Write*.\n","requestBody":"0065716f-670e-4f96-bf9e-844bce283e94","responses":{"200":"11a278ea-aaeb-4c24-af95-9de71987598d","201":"167eb448-ebf2-4495-9ade-192d70d1ba9b","400":"6096f7ad-abc9-4ce9-87a0-7d7e5f47051c","401":"4c963de2-13fd-4811-ba1c-6d183ea3f129","403":"2ecc5705-0311-41a1-91cb-8642a4a3c5ab","429":"6c97eace-eb8a-48bd-b47d-9d20985dbc82","500":"39e5ea96-ddfc-4ad7-91cc-35d5d2eb0f68","503":"b8ee3796-db95-43f6-9cd5-3e05dac1fecd"},"method":"post","type":"path","servers":["afa3eee0-e778-4d01-888d-5a6f126d5c56"],"security":["0c5634d3-e04d-4d76-8871-3a4ad4afc6e6"],"path":"/asset","baseUrlOptions":["https://api.docusnap365.com/api/v1"],"title":"Create or update asset","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"An asset when creating or updating. The field names `object` and `objectData` are part of the interface.\n","required":["schemaId"],"properties":{"schemaId":{"type":"string","format":"uuid","description":"Type of the asset. Required, even if `object.schemaId` is set.","isRequired":true,"uniqueKey":"schemaId","typeLabel":"string\u003cuuid>"},"id":{"type":"string","format":"uuid","description":"Freely chosen identifier of the request. Not stored; it comes back as `idPair.fakeId`. One is generated if omitted.\n","uniqueKey":"id","typeLabel":"string\u003cuuid>"},"object":{"type":"object","description":"An asset's core fields when writing.","required":["name"],"properties":{"name":{"type":"string","maxLength":256,"description":"Required, also when updating; always applied.","isRequired":true,"uniqueKey":"object.name","typeLabel":"string"},"id":{"type":"string","format":"uuid","description":"ID of a known asset, to update exactly that one.","uniqueKey":"object.id","typeLabel":"string\u003cuuid>"},"schemaId":{"type":"string","format":"uuid","description":"Type of the asset.","uniqueKey":"object.schemaId","typeLabel":"string\u003cuuid>"},"parentId":{"type":"string","format":"uuid","uniqueKey":"object.parentId","typeLabel":"string\u003cuuid>"},"sourceType":{"type":"string","example":"manual","uniqueKey":"object.sourceType","typeLabel":"string"},"completenessLevel":{"type":"integer","format":"int32","minimum":0,"maximum":100,"description":"How complete the source is; protects more complete records. 0 if omitted.","uniqueKey":"object.completenessLevel","typeLabel":"integer\u003cint32>"},"organizationId":{"type":"string","format":"uuid","uniqueKey":"object.organizationId","typeLabel":"string\u003cuuid>"},"locationId":{"type":"string","format":"uuid","uniqueKey":"object.locationId","typeLabel":"string\u003cuuid>"},"platformId":{"type":"string","format":"uuid","uniqueKey":"object.platformId","typeLabel":"string\u003cuuid>"},"domainId":{"type":"string","format":"uuid","uniqueKey":"object.domainId","typeLabel":"string\u003cuuid>"},"status":{"type":"string","uniqueKey":"object.status","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"object","typeLabel":"object"},"objectData":{"type":"object","additionalProperties":true,"description":"The type's data, following its data definition. Replaced in full, not merged; left unchanged if omitted, `{}` empties it.\n","uniqueKey":"objectData","typeLabel":"object"},"essentials":{"type":"object","description":"The asset's quick info.","properties":{"sections":{"type":"object","additionalProperties":true,"description":"Sections per kind (`quickinfo`, `statistics`).","uniqueKey":"essentials.sections","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"essentials","typeLabel":"object"},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","additionalProperties":true,"uniqueKey":"facets.additionalProperties.items.[INDEX]","typeLabel":"object"},"uniqueKey":"facets.additionalProperties","typeLabel":"object[]"},"description":"The asset's ITAM and ISMS data, one list per area.","uniqueKey":"facets","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"id":"9e2b7c11-1111-2222-3333-444455556666","schemaId":"00000000-0000-0000-0000-000000000000","object":{"name":"SRV01","schemaId":"00000000-0000-0000-0000-000000000000","sourceType":"manual","completenessLevel":80},"objectData":{"serialNumber":"CZC811922L"}},"examples":{"Example":{"title":"Example","value":{"id":"9e2b7c11-1111-2222-3333-444455556666","schemaId":"00000000-0000-0000-0000-000000000000","object":{"name":"SRV01","schemaId":"00000000-0000-0000-0000-000000000000","sourceType":"manual","completenessLevel":80},"objectData":{"serialNumber":"CZC811922L"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"11a278ea-aaeb-4c24-af95-9de71987598d":{"description":"Asset updated.","content":{"application/json":{"schema":{"type":"object","description":"Result for one bundle.","properties":{"id":{"oneOf":[{"type":"string","format":"uuid","description":"ID of the asset.","uniqueKey":"id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"ID of the asset.","uniqueKey":"id.oneOf.1","typeLabel":"null"}],"uniqueKey":"id","typeLabel":"string\u003cuuid> | null"},"idPair":{"type":"object","properties":{"fakeId":{"type":"string","format":"uuid","description":"The bundle's `id`.","uniqueKey":"idPair.fakeId","typeLabel":"string\u003cuuid>"},"dbId":{"type":"string","format":"uuid","description":"ID of the asset in Docusnap365.","uniqueKey":"idPair.dbId","typeLabel":"string\u003cuuid>"}},"uniqueKey":"idPair","typeLabel":"object"},"schemaId":{"type":"string","format":"uuid","uniqueKey":"schemaId","typeLabel":"string\u003cuuid>"},"isCreate":{"type":"boolean","description":"`true` if the asset was created.","uniqueKey":"isCreate","typeLabel":"boolean"},"isSuccess":{"type":"boolean","uniqueKey":"isSuccess","typeLabel":"boolean"},"errorMessage":{"oneOf":[{"type":"string","description":"Reason if the asset was not saved – for example because a more complete record is protected.","uniqueKey":"errorMessage.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reason if the asset was not saved – for example because a more complete record is protected.","uniqueKey":"errorMessage.oneOf.1","typeLabel":"null"}],"uniqueKey":"errorMessage","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","idPair":{"fakeId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","dbId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"},"schemaId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","isCreate":true,"isSuccess":true,"errorMessage":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"167eb448-ebf2-4495-9ade-192d70d1ba9b":{"description":"Asset created.","content":{"application/json":{"schema":{"type":"object","description":"Result for one bundle.","properties":{"id":{"oneOf":[{"type":"string","format":"uuid","description":"ID of the asset.","uniqueKey":"id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"ID of the asset.","uniqueKey":"id.oneOf.1","typeLabel":"null"}],"uniqueKey":"id","typeLabel":"string\u003cuuid> | null"},"idPair":{"type":"object","properties":{"fakeId":{"type":"string","format":"uuid","description":"The bundle's `id`.","uniqueKey":"idPair.fakeId","typeLabel":"string\u003cuuid>"},"dbId":{"type":"string","format":"uuid","description":"ID of the asset in Docusnap365.","uniqueKey":"idPair.dbId","typeLabel":"string\u003cuuid>"}},"uniqueKey":"idPair","typeLabel":"object"},"schemaId":{"type":"string","format":"uuid","uniqueKey":"schemaId","typeLabel":"string\u003cuuid>"},"isCreate":{"type":"boolean","description":"`true` if the asset was created.","uniqueKey":"isCreate","typeLabel":"boolean"},"isSuccess":{"type":"boolean","uniqueKey":"isSuccess","typeLabel":"boolean"},"errorMessage":{"oneOf":[{"type":"string","description":"Reason if the asset was not saved – for example because a more complete record is protected.","uniqueKey":"errorMessage.oneOf.0","typeLabel":"string"},{"type":"null","description":"Reason if the asset was not saved – for example because a more complete record is protected.","uniqueKey":"errorMessage.oneOf.1","typeLabel":"null"}],"uniqueKey":"errorMessage","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","idPair":{"fakeId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","dbId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"},"schemaId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","isCreate":true,"isSuccess":true,"errorMessage":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"6096f7ad-abc9-4ce9-87a0-7d7e5f47051c":{"description":"Invalid request – body unreadable, required field missing, unknown field (`UNKNOWN_PATH`), value does not fit the field (`FIELD_TYPE_MISMATCH`), operator does not fit (`UNSUPPORTED_OPERATOR`), `select`/`search` is not a JSON array (`INVALID_FORMAT`), unknown expand name (`VALIDATION_FAILED`), cursor damaged (`INVALID_CURSOR`) or expired (`CURSOR_EXPIRED`).\n","content":{"application/problem+json":{"schema":{"type":"object","description":"Error according to RFC 9457.","properties":{"type":{"type":"string","example":"urn:ds365:error:unknown-path","uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","example":"Unknown field path","uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","example":"/api/v1/assets/query","uniqueKey":"instance","typeLabel":"string"},"errorCode":{"type":"string","description":"Meant for the application.","example":"UNKNOWN_PATH","uniqueKey":"errorCode","typeLabel":"string"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"path":{"type":"string","description":"Location in the request, such as `filter`, `sort`, `select` or a parameter name.","uniqueKey":"errors.items.[INDEX].path","typeLabel":"string"},"data":{"type":"object","additionalProperties":true,"uniqueKey":"errors.items.[INDEX].data","typeLabel":"object"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"traceId":{"type":"string","description":"Quote it when contacting support.","uniqueKey":"traceId","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"urn:ds365:error:unknown-path","title":"Unknown field path","status":400,"detail":"\u003cstring>","instance":"/api/v1/assets/query","errorCode":"UNKNOWN_PATH","errors":[{"code":"\u003cstring>","path":"\u003cstring>","data":{}}],"traceId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"4c963de2-13fd-4811-ba1c-6d183ea3f129":{"description":"The request could not be assigned to a user (`UNAUTHORIZED`).","content":{"application/problem+json":{"schema":{"type":"object","description":"Error according to RFC 9457.","properties":{"type":{"type":"string","example":"urn:ds365:error:unknown-path","uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","example":"Unknown field path","uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","example":"/api/v1/assets/query","uniqueKey":"instance","typeLabel":"string"},"errorCode":{"type":"string","description":"Meant for the application.","example":"UNKNOWN_PATH","uniqueKey":"errorCode","typeLabel":"string"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"path":{"type":"string","description":"Location in the request, such as `filter`, `sort`, `select` or a parameter name.","uniqueKey":"errors.items.[INDEX].path","typeLabel":"string"},"data":{"type":"object","additionalProperties":true,"uniqueKey":"errors.items.[INDEX].data","typeLabel":"object"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"traceId":{"type":"string","description":"Quote it when contacting support.","uniqueKey":"traceId","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"urn:ds365:error:unknown-path","title":"Unknown field path","status":400,"detail":"\u003cstring>","instance":"/api/v1/assets/query","errorCode":"UNKNOWN_PATH","errors":[{"code":"\u003cstring>","path":"\u003cstring>","data":{}}],"traceId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"2ecc5705-0311-41a1-91cb-8642a4a3c5ab":{"description":"API key missing or without the required access (`FORBIDDEN`; `data.missingScopes` names what is missing) – or the cursor belongs to another user or tenant (`CURSOR_USER_MISMATCH`).\n","content":{"application/problem+json":{"schema":{"type":"object","description":"Error according to RFC 9457.","properties":{"type":{"type":"string","example":"urn:ds365:error:unknown-path","uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","example":"Unknown field path","uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","example":"/api/v1/assets/query","uniqueKey":"instance","typeLabel":"string"},"errorCode":{"type":"string","description":"Meant for the application.","example":"UNKNOWN_PATH","uniqueKey":"errorCode","typeLabel":"string"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"path":{"type":"string","description":"Location in the request, such as `filter`, `sort`, `select` or a parameter name.","uniqueKey":"errors.items.[INDEX].path","typeLabel":"string"},"data":{"type":"object","additionalProperties":true,"uniqueKey":"errors.items.[INDEX].data","typeLabel":"object"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"traceId":{"type":"string","description":"Quote it when contacting support.","uniqueKey":"traceId","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"urn:ds365:error:unknown-path","title":"Unknown field path","status":400,"detail":"\u003cstring>","instance":"/api/v1/assets/query","errorCode":"UNKNOWN_PATH","errors":[{"code":"\u003cstring>","path":"\u003cstring>","data":{}}],"traceId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"6c97eace-eb8a-48bd-b47d-9d20985dbc82":{"description":"Quota used up (`REST_REQUEST_QUOTA_EXCEEDED`); the request was not executed and still counted.\n","headers":{"Retry-After":{"description":"Start of the next period as an HTTP date.","schema":{"type":"string"}},"X-RateLimit-Limit":{"description":"Requests included in the period. Absent without a limit.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests still available, included and purchased together.","schema":{"type":"integer"}},"X-RateLimit-Extra-Remaining":{"description":"Of these, the purchased extra quota still available.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Start of the next period as a Unix timestamp (seconds).","schema":{"type":"integer"}}},"content":{"application/problem+json":{"schema":{"type":"object","description":"Error according to RFC 9457.","properties":{"type":{"type":"string","example":"urn:ds365:error:unknown-path","uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","example":"Unknown field path","uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","example":"/api/v1/assets/query","uniqueKey":"instance","typeLabel":"string"},"errorCode":{"type":"string","description":"Meant for the application.","example":"UNKNOWN_PATH","uniqueKey":"errorCode","typeLabel":"string"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"path":{"type":"string","description":"Location in the request, such as `filter`, `sort`, `select` or a parameter name.","uniqueKey":"errors.items.[INDEX].path","typeLabel":"string"},"data":{"type":"object","additionalProperties":true,"uniqueKey":"errors.items.[INDEX].data","typeLabel":"object"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"traceId":{"type":"string","description":"Quote it when contacting support.","uniqueKey":"traceId","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"urn:ds365:error:rest-request-quota-exceeded","title":"Request quota exceeded","status":429,"detail":"The request quota of 10000 requests per period is exhausted until 2026-10-17T09:52:44.0000000+00:00.","instance":"/api/v1/assets","errorCode":"REST_REQUEST_QUOTA_EXCEEDED","errors":[{"code":"REST_REQUEST_QUOTA_EXCEEDED","data":{"requestsLimit":10000,"requestsUsed":10000,"quotaResetAt":"2026-10-17T09:52:44+00:00"}}],"traceId":"00-…"},"examples":{"Example":{"title":"Example","value":{"type":"urn:ds365:error:rest-request-quota-exceeded","title":"Request quota exceeded","status":429,"detail":"The request quota of 10000 requests per period is exhausted until 2026-10-17T09:52:44.0000000+00:00.","instance":"/api/v1/assets","errorCode":"REST_REQUEST_QUOTA_EXCEEDED","errors":[{"code":"REST_REQUEST_QUOTA_EXCEEDED","data":{"requestsLimit":10000,"requestsUsed":10000,"quotaResetAt":"2026-10-17T09:52:44+00:00"}}],"traceId":"00-…"}}},"exampleType":"examples"}},"exampleType":"examples"},"39e5ea96-ddfc-4ad7-91cc-35d5d2eb0f68":{"description":"Unexpected error (`INTERNAL_ERROR`). Quote the `traceId` when contacting support.","content":{"application/problem+json":{"schema":{"type":"object","description":"Error according to RFC 9457.","properties":{"type":{"type":"string","example":"urn:ds365:error:unknown-path","uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","example":"Unknown field path","uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","example":"/api/v1/assets/query","uniqueKey":"instance","typeLabel":"string"},"errorCode":{"type":"string","description":"Meant for the application.","example":"UNKNOWN_PATH","uniqueKey":"errorCode","typeLabel":"string"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"path":{"type":"string","description":"Location in the request, such as `filter`, `sort`, `select` or a parameter name.","uniqueKey":"errors.items.[INDEX].path","typeLabel":"string"},"data":{"type":"object","additionalProperties":true,"uniqueKey":"errors.items.[INDEX].data","typeLabel":"object"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"traceId":{"type":"string","description":"Quote it when contacting support.","uniqueKey":"traceId","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"urn:ds365:error:unknown-path","title":"Unknown field path","status":400,"detail":"\u003cstring>","instance":"/api/v1/assets/query","errorCode":"UNKNOWN_PATH","errors":[{"code":"\u003cstring>","path":"\u003cstring>","data":{}}],"traceId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"b8ee3796-db95-43f6-9cd5-3e05dac1fecd":{"description":"The quota could not be checked (`SERVICE_UNAVAILABLE`); the request was not executed. Retry later.\n","content":{"application/problem+json":{"schema":{"type":"object","description":"Error according to RFC 9457.","properties":{"type":{"type":"string","example":"urn:ds365:error:unknown-path","uniqueKey":"type","typeLabel":"string"},"title":{"type":"string","example":"Unknown field path","uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","example":400,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","example":"/api/v1/assets/query","uniqueKey":"instance","typeLabel":"string"},"errorCode":{"type":"string","description":"Meant for the application.","example":"UNKNOWN_PATH","uniqueKey":"errorCode","typeLabel":"string"},"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","uniqueKey":"errors.items.[INDEX].code","typeLabel":"string"},"path":{"type":"string","description":"Location in the request, such as `filter`, `sort`, `select` or a parameter name.","uniqueKey":"errors.items.[INDEX].path","typeLabel":"string"},"data":{"type":"object","additionalProperties":true,"uniqueKey":"errors.items.[INDEX].data","typeLabel":"object"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"},"traceId":{"type":"string","description":"Quote it when contacting support.","uniqueKey":"traceId","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"urn:ds365:error:unknown-path","title":"Unknown field path","status":400,"detail":"\u003cstring>","instance":"/api/v1/assets/query","errorCode":"UNKNOWN_PATH","errors":[{"code":"\u003cstring>","path":"\u003cstring>","data":{}}],"traceId":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"0c5634d3-e04d-4d76-8871-3a4ad4afc6e6":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key from Docusnap365 (*Administration › Integrations › API Keys*). Read endpoints require the access *Read*, write endpoints *Read and Write*.\n","scopes":[],"schemeName":"apiKey"}}},"servers":{"afa3eee0-e778-4d01-888d-5a6f126d5c56":{"url":"https://api.docusnap365.com/api/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key from Docusnap365 (*Administration › Integrations › API Keys*). Read endpoints require the access *Read*, write endpoints *Read and Write*.\n","scopes":[],"schemeName":"apiKey"},"schema":{"title":"x-api-key","type":"string","description":"API key from Docusnap365 (*Administration › Integrations › API Keys*). Read endpoints require the access *Read*, write endpoints *Read and Write*.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"x-api-key"}],"title":"apiKey"}]},"originalFileLocation":"api-reference/openapi.en.yaml"},"subdomain":"docusnap","siteName":"Docusnap365","title":"Create or update asset - Docusnap365","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"de":{"href":"/de/getting-started/overview","matchLevel":4},"en":{"href":"/api-reference/assets/create-or-update-asset","matchLevel":0}}},"lastModified":"2026-11-04T18:38:59.087Z","originalFileLocation":"api-reference/assets/create-or-update-asset.mdx","locale":"en"},"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=\"Creates an asset – or updates it if Docusnap365 already knows it by its identity. You pass an AssetBundle: schemaId sets the type, objectData follows its data definition. More complete records (completenessLevel) are not overwritten by less complete sources. The API answers 201 when the asset was created and 200 when it was updated. Whether the asset was saved is stated in isSuccess. Permission: Read and Write.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Docusnap365\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/docusnap/H7rYqvu3TO3yj0a1/_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=\"/docs/mintlify-assets/_mintlify/favicons/docusnap/H7rYqvu3TO3yj0a1/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/docusnap/H7rYqvu3TO3yj0a1/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/docusnap/H7rYqvu3TO3yj0a1/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/docusnap/H7rYqvu3TO3yj0a1/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/docusnap/H7rYqvu3TO3yj0a1/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/docusnap/H7rYqvu3TO3yj0a1/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/docusnap/H7rYqvu3TO3yj0a1/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/docusnap/H7rYqvu3TO3yj0a1/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create or update asset - Docusnap365\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates an asset – or updates it if Docusnap365 already knows it by its identity. You pass an AssetBundle: schemaId sets the type, objectData follows its data definition. More complete records (completenessLevel) are not overwritten by less complete sources. The API answers 201 when the asset was created and 200 when it was updated. Whether the asset was saved is stated in isSuccess. Permission: Read and Write.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Docusnap365\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.docusnap.com/docs/api-reference/assets/create-or-update-asset\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docusnap.mintlify.app/_mintlify/api/og/v2?division=Assets\u0026amp;title=Create+or+update+asset\u0026amp;description=Creates+an+asset+%E2%80%93+or+updates+it+if+Docusnap365+already+knows+it+by+its%0Aidentity.+You+pass+an+%60AssetBundle%60%3A+%60schemaId%60+sets+the+type%2C%0A%60objectData%60+follows+its+\u0026amp;theme=273043867ea3a68a882985a0\u0026amp;signature=91d3ac8c44610de3423404f032bb51b2cdf2de20872d6bfcd3f0dd548951e7ca\">\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 or update asset - Docusnap365\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates an asset – or updates it if Docusnap365 already knows it by its identity. You pass an AssetBundle: schemaId sets the type, objectData follows its data definition. More complete records (completenessLevel) are not overwritten by less complete sources. The API answers 201 when the asset was created and 200 when it was updated. Whether the asset was saved is stated in isSuccess. Permission: Read and Write.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docusnap.mintlify.app/_mintlify/api/og/v2?division=Assets\u0026amp;title=Create+or+update+asset\u0026amp;description=Creates+an+asset+%E2%80%93+or+updates+it+if+Docusnap365+already+knows+it+by+its%0Aidentity.+You+pass+an+%60AssetBundle%60%3A+%60schemaId%60+sets+the+type%2C%0A%60objectData%60+follows+its+\u0026amp;theme=273043867ea3a68a882985a0\u0026amp;signature=91d3ac8c44610de3423404f032bb51b2cdf2de20872d6bfcd3f0dd548951e7ca\">\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=\"/docs/mintlify-assets/_mintlify/favicons/docusnap/H7rYqvu3TO3yj0a1/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Docusnap365\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F7683\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.docusnap.com/docs/api-reference/assets/create-or-update-asset\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/assets/create-or-update-asset.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.docusnap.com/#organization\",\"name\":\"Docusnap365\",\"url\":\"https://www.docusnap.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/docusnap/w7DSWRB4BRB49qQA/images/Docusnap_Logo.svg?fit=max\u0026auto=format\u0026n=w7DSWRB4BRB49qQA\u0026q=85\u0026s=30ba3056aa591cff3faf8c4addf943c0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.docusnap.com/docs#website\",\"name\":\"Docusnap365\",\"url\":\"https://www.docusnap.com/docs\",\"publisher\":{\"@id\":\"https://www.docusnap.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.docusnap.com/docs/api-reference/assets/create-or-update-asset#webpage\",\"url\":\"https://www.docusnap.com/docs/api-reference/assets/create-or-update-asset\",\"name\":\"Create or update asset\",\"description\":\"Creates an asset – or updates it if Docusnap365 already knows it by its identity. You pass an AssetBundle: schemaId sets the type, objectData follows its data definition. More complete records (completenessLevel) are not overwritten by less complete sources. The API answers 201 when the asset was created and 200 when it was updated. Whether the asset was saved is stated in isSuccess. Permission: Read and Write.\",\"dateModified\":\"2026-11-04T18:38:59.087Z\",\"isPartOf\":{\"@id\":\"https://www.docusnap.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.docusnap.com/docs/api-reference/assets/create-or-update-asset#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.docusnap.com/docs/api-reference/assets/create-or-update-asset#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API\",\"item\":\"https://www.docusnap.com/docs/en/api/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Reference\",\"item\":\"https://www.docusnap.com/docs/api-reference/assets/list-assets\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Assets\",\"item\":\"https://www.docusnap.com/docs/api-reference/assets/list-assets\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Create or update asset\",\"item\":\"https://www.docusnap.com/docs/api-reference/assets/create-or-update-asset\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.docusnap.com/docs/api-reference/assets/create-or-update-asset#apireference\",\"headline\":\"Create or update asset\",\"name\":\"Create or update asset\",\"description\":\"Creates an asset – or updates it if Docusnap365 already knows it by its identity. You pass an AssetBundle: schemaId sets the type, objectData follows its data definition. More complete records (completenessLevel) are not overwritten by less complete sources. The API answers 201 when the asset was created and 200 when it was updated. Whether the asset was saved is stated in isSuccess. Permission: Read and Write.\",\"url\":\"https://www.docusnap.com/docs/api-reference/assets/create-or-update-asset\",\"mainEntityOfPage\":{\"@id\":\"https://www.docusnap.com/docs/api-reference/assets/create-or-update-asset#webpage\"},\"dateModified\":\"2026-11-04T18:38:59.087Z\",\"publisher\":{\"@id\":\"https://www.docusnap.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.docusnap.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Docusnap365\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Docusnap365","nav":{"global":null,"languages":[{"language":"de","navbar":{"links":[{"href":"https://docusnap365.com","label":"Anmelden"}],"primary":{"type":"button","label":"Kostenlos testen","href":"https://www.docusnap.com/de/trial?utm_source=docs\u0026utm_medium=navbar\u0026utm_campaign=trial"}},"pages":[{"title":"de","href":"/de/getting-started/overview"}]},{"language":"en","default":true,"navbar":{"links":[{"href":"https://docusnap365.com","label":"Sign In"}],"primary":{"type":"button","label":"Try for Free","href":"https://www.docusnap.com/en/trial?utm_source=docs\u0026utm_medium=navbar\u0026utm_campaign=trial"}},"tabs":[{"tab":"Getting Started","pages":[{"title":"Getting Started","href":"/en/getting-started/overview"}]},{"tab":"Scanning","pages":[{"title":"Scanning","href":"/en/scan/understanding-scanning"}]},{"tab":"Inventory","pages":[{"title":"Inventory","href":"/en/assets/overview"}]},{"tab":"ITAM","pages":[{"title":"ITAM","href":"/en/itam/understanding-itam"}]},{"tab":"ISMS","pages":[{"title":"ISMS","href":"/en/isms/understanding-isms"}]},{"tab":"Documentation","pages":[{"title":"Documentation","href":"/en/documents/overview"}]},{"tab":"Analysis","pages":[{"title":"Analysis","href":"/en/analysis/overview"}]},{"tab":"AI Assistant","pages":[{"title":"AI Assistant","href":"/en/assistant/overview"}]},{"tab":"Administration","pages":[{"title":"Administration","href":"/en/settings/subscription"}]},{"tab":"MCP \u0026 API","groups":[{"group":"MCP","pages":[{"title":"MCP—Basics","sidebarTitle":"Overview","href":"/en/api/mcp"}]},{"group":"API","pages":[{"title":"Understanding the REST API","sidebarTitle":"Basics","href":"/en/api/overview"},{"title":"Data Model","sidebarTitle":"Data Model","href":"/en/api/data-model"},{"group":"API Reference","pages":[{"group":"Assets","pages":[{"title":"List assets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.yaml get /assets","href":"/api-reference/assets/list-assets"},{"title":"Get asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.yaml get /asset/{id}","href":"/api-reference/assets/get-asset"},{"title":"Query assets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.yaml post /assets/query","href":"/api-reference/assets/query-assets"},{"title":"Load an asset's details","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.yaml post /assets/expand","href":"/api-reference/assets/load-an-assets-details"},{"title":"Load next page","description":"Continues a query with a cursor – the main query's `nextCursor` or the\n`cursor` of an entry in `incompleteExpands`.\n\nCursors are encrypted, bound to tenant and user and expire after one\nhour (`400 CURSOR_EXPIRED`). Another user's cursor yields\n`403 CURSOR_USER_MISMATCH`.\n\n**Known limitation (2026-11-04):** A cursor from `incompleteExpands`\nfor `object_essentials` or `object_blocks` currently returns empty\nentries without `data`. Until this is fixed, choose the expand's\n`limit` so that all entries fit into the first response.\n\nPermission: *Read*.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.yaml post /cursor/continue","href":"/api-reference/assets/load-next-page"},{"title":"Create or update asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.yaml post /asset","href":"/api-reference/assets/create-or-update-asset"},{"title":"Create or update several assets","description":"Like `POST /asset`, for up to **100** assets in one call and one\ntransaction. The response carries one result per bundle in `results`,\nin request order; match them through `idPair.fakeId`, i.e. the\nbundle's `id`. `isSuccess` of the overall response only says that the\nlist was processed – whether each asset was saved is stated in\n`results[].isSuccess` and `failedCount`.\n\nPermission: *Read and Write*.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.en.yaml post /asset/bulk","href":"/api-reference/assets/create-or-update-several-assets"}]}]}]}]},{"tab":"What's new","pages":[{"title":"What's new","href":"/en/changelog"}]}]}]},"basePath":"","title":"Create or update asset - Docusnap365","buildId":"dpl_F7QnsMdhpvrmhP3frsJmZHKN4aG5","deploymentId":"dpl_F7QnsMdhpvrmhP3frsJmZHKN4aG5","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bi1vjMzm.js","utils-Dxbft2ci.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BRD_DsmR.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B7yGqTiQ.js","snippetPresets-BHk1Rvlv.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-a1D0hXgr.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-5VNjsO4S.js","shallow-WbJrcVFv.js","getApiPlaygroundDisplay-CBThln0f.js","CodeSnippet-DZHCcMNf.js","CodeSnippets-DQxLclOq.js","Page-CwN5IAdH.js","getPastedJson-D-bCQc0G.js","icon-C8zmyHeA.js","MethodPill-DYV2xX8H.js","DuplicateIcon-DXDl4vQf.js","createIcon-DPBsNfRz.js","DynamicMarkdown-DtfihWuo.js","SectionHeading-CKy6OzzD.js","axios-vUo_bRtp.js","Markdown-BhYti3uU.js","clsx-BUqrn7lM.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-LvaL_rdZ.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CLFbqrMK.js"]}