Targeted edits applied in order against the current HTML. A failed edit (not found, ambiguous, or result over the 2 MiB cap) rejects the entire request with 400 naming the edit. At most 20 edits per request.
Included only when non-blocking warnings are encountered when creating/updating an app. The write itself succeeded.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Omni Docs","colors":{"primary":"#FF5FA2","light":"#FF5FA2","dark":"#4D122C"},"logo":{"light":"https://mintcdn.com/omni-e7402367/m1fg0tfdkEcnYhky/images/logo/omni-black.png?fit=max\u0026auto=format\u0026n=m1fg0tfdkEcnYhky\u0026q=85\u0026s=85b81b605382b15b60eb75159899002a","dark":"https://mintcdn.com/omni-e7402367/m1fg0tfdkEcnYhky/images/logo/omni-white.png?fit=max\u0026auto=format\u0026n=m1fg0tfdkEcnYhky\u0026q=85\u0026s=18b529bed326b4f1be9d58ac65b9e002"},"favicon":"https://mintcdn.com/omni-e7402367/WTWdmWXPOMD5jOUY/favicon.png?fit=max\u0026auto=format\u0026n=WTWdmWXPOMD5jOUY\u0026q=85\u0026s=775ee4acbc06107599e3471e50161a2b","background":{"color":{"light":"#FCFCF7","dark":"#0e0b0e"}},"navbar":{"links":[{"href":"https://community.omni.co","label":"Community"}],"primary":{"type":"button","label":"Try Omni!","href":"https://omni.co/demo"}},"footer":{},"seo":{"metatags":{"canonical":"https://docs.omni.co"}},"fonts":{"heading":{"family":"Cal Sans","weight":400},"body":{"family":"IBM Plex Sans"}},"integrations":{"ga4":{"measurementId":"G-ZMG0QT2W9L"}},"banner":{"content":"Need help? Get answers from the docs with Omni's in-app AI! Log in to your Omni instance and open the [Omni Agent](/ai/chat) in the sidebar.","dismissible":true},"thumbnails":{"appearance":"dark","background":"https://mintcdn.com/omni-e7402367/J1q2UvTSjLHOwJ3G/images/og/og-background.png?fit=max\u0026auto=format\u0026n=J1q2UvTSjLHOwJ3G\u0026q=85\u0026s=63ad1c86bdbf4da4196959c391afb21f","fonts":{"family":"IBM Plex Sans"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"omni-e7402367","hasAudioNarration":false,"actualSubdomain":"omni-e7402367","customDomains":["docs.omni.co"],"gitSource":{"type":"github","owner":"exploreomni","repo":"mintlify-omni","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae9086b581b3aa9f2320381","collectionId":"5a3ddb92-fe7c-4a4c-9d8a-96ab40e171f3","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae9086b581b3aa9f2320381"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae9086b581b3aa9f2320381","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Docs","count":503},{"language":"default","tag":"Developers","count":379},{"language":"default","tag":"Model data","count":304},{"language":"default","tag":"REST APIs","count":254},{"language":"default","tag":"Parameters","count":188},{"language":"default","tag":"Product updates","count":160},{"language":"default","tag":"Demos","count":156},{"language":"default","tag":"Admin","count":123},{"language":"default","tag":"Visualize \u0026 present","count":98},{"language":"default","tag":"Embedding","count":87}],"searchSettings":{"isFiltersEnabled":true,"maxResults":10}},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"privacy":{"consentBanner":{"enabled":false}},"googleFontsInlined":true},"customCss":[{"filePath":"styles.css","content":"img{border:1px solid;border-color:rgb(var(--gray-200))}.nav-logo,.no-border{border:0}#banner{color:#fcfcf7;font-weight:600}#topbar-cta-button,[data-testid=rss-feed-button]{transition:background-color .2s ease,transform .1s ease}#topbar-cta-button{background-color:#ff5fa2;padding:0;border-radius:160px;text-decoration:none;font-weight:800;cursor:pointer}#topbar-cta-button span{background-color:transparent!important}#topbar-cta-button>a{padding:8px 14px!important}#topbar-cta-button,#topbar-cta-button *{color:#fcfcf7!important}#topbar-cta-button:hover{background-color:#ff5fa2;transform:translateY(-1px)}#topbar-cta-button:active{transform:translateY(0)}#topbar-cta-button svg{display:none!important}.navbar-link a{border-radius:160px!important}.dark .navbar-link a{background-color:rgb(255 255 255/.1)!important}.dark .navbar-link a:hover{background-color:rgb(255 255 255/.2)!important}[data-testid=rss-feed-button]{border-color:#ff5fa2!important;color:#ff5fa2!important;border-radius:160px!important;gap:6px}[data-testid=rss-feed-button]::after{content:\"Subscribe\";font-size:14px;font-weight:600}[data-testid=rss-feed-button] svg{stroke:#ff5fa2}[data-testid=rss-feed-button]:hover{background-color:rgba(255,95,162,.05)!important;transform:translateY(-1px)}.dark [data-testid=rss-feed-button]:hover{background-color:rgba(255,95,162,.1)!important}[class*=cursor-copy][class*=max-h-]{max-height:20px!important}:has(>.guide-header){position:relative;max-width:1100px;margin:0 auto;padding:24px 24px 72px calc(200px + 48px + 24px);color:rgb(var(--gray-700))}.dark :has(>.guide-header){color:rgb(var(--gray-400))}.guide-header{position:sticky;top:var(--scroll-mt, 9.5rem);z-index:20;background-color:#fcfcf7;padding:0 0 1px;margin-bottom:35px;box-shadow:0 -10rem 0 10rem #fcfcf7}.dark .guide-header{background-color:#0e0b0e;box-shadow:0 -10rem 0 10rem #0e0b0e}.guide-title{font-size:2.5rem;font-weight:700;color:rgb(var(--gray-900));margin:0;line-height:1.3}.dark .guide-title{color:rgb(var(--gray-50))}.guide-sidebar{position:absolute;left:24px;top:24px;bottom:0;width:200px}.guide-sidebar-content{position:sticky;top:calc(var(--scroll-mt, 9.5rem) + 10px)}.guide-sidebar-back{display:flex;align-items:center;gap:8px;color:rgb(var(--gray-500));text-decoration:none;font-size:14px;font-weight:500;margin-bottom:24px;transition:color .15s ease}.guide-sidebar-back:hover,.guide-sidebar-links a{color:rgb(var(--primary))}.guide-sidebar-section{margin-bottom:20px}.guide-sidebar-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgb(var(--gray-500));margin-bottom:6px}.guide-sidebar-category{display:flex;align-items:center;gap:6px;font-size:14px;color:rgb(var(--gray-700));text-transform:capitalize}.dark .guide-sidebar-category{color:rgb(var(--gray-300))}.guide-sidebar-date{font-size:14px;color:rgb(var(--gray-600))}.dark .guide-sidebar-date,.dark .guide-sidebar-progress-text{color:rgb(var(--gray-400))}.guide-sidebar-links{list-style:none;padding:0;margin:0}.guide-sidebar-links li{margin-bottom:6px}.guide-sidebar-progress{display:flex;align-items:center;gap:12px}.guide-mascot{flex-shrink:0}.guide-mascot svg{display:block}.guide-sidebar-progress-text{font-size:14px;font-weight:600;color:rgb(var(--gray-600))}.guide-sidebar-links a{font-size:14px;text-decoration:none}:has(>.guide-header) .guide-sidebar a{border-bottom:none;font-weight:inherit}:has(>.guide-header) a.guide-sidebar-back{color:rgb(var(--gray-500));font-weight:500}:has(>.guide-header) .guide-sidebar-links a,:has(>.guide-header) a.guide-sidebar-back:hover{color:rgb(var(--primary))}:has(>.guide-header) .guide-sidebar-links a:hover{text-decoration:underline}@media (max-width:768px){:has(>.guide-header){padding:24px 24px 72px}.guide-sidebar{position:static;width:100%;margin-bottom:24px}.guide-sidebar-content{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.guide-sidebar-back{width:100%;margin-bottom:4px}.guide-sidebar-section{margin-bottom:0}.guide-sidebar-section:has(.guide-sidebar-links),.guide-sidebar-section:has(.guide-sidebar-progress){display:none}.guide-sidebar-label{display:none}.guide-sidebar-category,.guide-sidebar-date{font-size:12px;padding:4px 10px;border-radius:4px;background-color:#f1f5f9;color:#1e191a}.dark .guide-sidebar-category,.dark .guide-sidebar-date{background-color:rgba(255,255,255,.03);color:#faf5f7}.guide-header{position:static;box-shadow:none}.guide-sticky-header{padding:12px 16px}.guide-progress-track{margin:-12px -16px 12px}.guide-sticky-title{font-size:1.5rem}}:has(>.guide-header) h1,:has(>.guide-header) h2,:has(>.guide-header) h3{color:rgb(var(--gray-900))}.dark :has(>.guide-header) a,.dark :has(>.guide-header) h1,.dark :has(>.guide-header) h2,.dark :has(>.guide-header) h3,.dark :has(>.guide-header) strong{color:rgb(var(--gray-50))}:has(>.guide-header) h1{font-size:2.25rem;margin:0 0 16px}:has(>.guide-header) h2{font-size:1.5rem;font-weight:600;margin:32px 0 16px;line-height:1.3}:has(>.guide-header) [data-component-part=step-title]{margin:0 0 16px}:has(>.guide-header) h3{font-size:1.25rem;font-weight:600;margin:24px 0 12px;line-height:1.4}:has(>.guide-header) [data-as=p],:has(>.guide-header) p{display:block;margin:16px 0;line-height:1.7}:has(>.guide-header)>.guide-header+[data-as=p],:has(>.guide-header)>.guide-header+p{margin-top:0}:has(>.guide-header) ol:not(.not-prose),:has(>.guide-header) ul:not(.not-prose){margin:16px 0;padding-left:24px}:has(>.guide-header) ul:not(.not-prose){list-style-type:disc}:has(>.guide-header) ol:not(.not-prose){list-style-type:decimal!important}:has(>.guide-header) :not(.not-prose)>li{margin-bottom:8px;line-height:1.6}:has(>.guide-header) .prose ul:not(.not-prose){list-style-type:none;padding-left:0}:has(>.guide-header) .prose :not(.not-prose)>li{margin-bottom:0}:has(>.guide-header) a{color:#111827;text-decoration:none;font-weight:600;border-bottom:1px solid rgb(var(--primary))}:has(>.guide-header) a:hover{border-bottom-width:2px}:has(>.guide-header) strong,:has(>.guide-header) th{font-weight:600;color:rgb(var(--gray-900))}:has(>.guide-header) code{font-size:.9em}:has(>.guide-header) table{width:100%;border-collapse:collapse;margin:16px 0}:has(>.guide-header) th{text-align:left;padding:8px 16px 8px 0;border-bottom:1px solid rgb(var(--gray-200))}.dark :has(>.guide-header) th{color:rgb(var(--gray-50))}:has(>.guide-header) td{padding:12px 16px 12px 0;border-bottom:1px solid rgb(var(--gray-200));vertical-align:top}.dark :has(>.guide-header) td,.dark :has(>.guide-header) th{border-bottom-color:rgb(var(--gray-700))}:has(>.guide-header) img{margin:16px 0;border-radius:8px}:has(>.guide-header) [data-component-part=card-title]{font-size:1rem!important;margin:4px 0 0!important}:has(>.guide-header) [data-component-part=card-content]{font-size:.875rem!important;line-height:1.5!important}:has(>.guide-header) [data-component-part=card-content] [data-as=p]{font-size:.875rem!important;margin:4px 0!important;line-height:1.5!important}.guides-container{max-width:1200px;margin:0 auto;padding:48px 24px}.guides-title{font-size:2.5rem;font-weight:700;color:#1e191a;margin-bottom:16px}.dark .guides-title{color:#e6e1e2}.guides-description{font-size:1.125rem;color:#1e191a;margin-bottom:32px}.dark .guides-description,.dark .guides-filter-label{color:#cbd5e1}.guides-layout{display:flex;gap:48px}.guides-sidebar{width:220px;flex-shrink:0}.guides-filters{position:sticky;top:100px;max-height:calc(100vh - 124px);overflow-y:auto;scrollbar-width:thin}.guides-filters::-webkit-scrollbar{width:6px}.guides-filters::-webkit-scrollbar-thumb{background:rgba(128,128,128,.35);border-radius:3px}.guides-filter-group{margin-bottom:24px}.guides-filter-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#1e191a;margin-bottom:8px}.guides-filter-input{width:100%;padding:8px 12px;border-top-left-radius:9999px;border-top-right-radius:9999px;border-bottom-left-radius:9999px;border-bottom-right-radius:9999px;border-color:#e6e1e2;font-size:14px;box-sizing:border-box;background-color:rgba(17,12,14,.03);color:#777274}.dark .guides-filter-input{background-color:rgba(255,255,255,.03);border-color:#334155;color:rgba(255,255,255,.5)}.guides-filter-input:focus{outline:0;border-color:#ff5fa2}.dark .guides-filter-input::placeholder{color:rgba(255,255,255,.5)}.guides-clear-button,.guides-filter-button{width:100%;border:1px solid #e2e8f0;border-radius:160px;color:#334155;font-size:14px;cursor:pointer;transition:all .15s ease}.guides-filter-button{display:block;padding:8px 12px;margin-bottom:4px;background:0 0;text-align:left}.dark .guides-filter-button{color:#cbd5e1;border-color:rgba(255,255,255,.1);border-style:solid;border-width:1.5px}.guides-filter-button:hover{background-color:#f8fafc}.dark .guides-filter-button:hover{background-color:#0e0b0e;border-color:#ff5fa2}.guides-filter-button.active{border-color:#ff5fa2;background-color:#fff0f6;color:#ff5fa2}.dark .guides-filter-button.active{background-color:rgba(255,95,162,.15)}.guides-clear-button{padding:10px 12px;margin-bottom:16px;background:#f8fafc;font-weight:500}.dark .guides-clear-button{background:#0e0b0e;color:#e2e8f0;border-color:rgba(255,255,255,.1);border-style:solid;border-width:1.5px}.guides-clear-button:hover{background:#f1f5f9;border-color:#cbd5e1}.dark .guides-clear-button:hover{background:#0e0b0e;border-color:#ff5fa2}.guides-content{flex:1;min-width:0}.guides-results-count{font-size:14px;color:#1e191a;margin-bottom:16px}.dark .guides-results-count{color:#cbd5e1}.guides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.guides-card{border:1px solid #e2e8f0;border-radius:16px;padding:20px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:12px;transition:border-color .15s ease,box-shadow .15s ease;background-color:#fcfcf7}.dark .guides-card{border-color:rgba(255,255,255,.1);border-style:solid;border-width:1.5px;background-color:#0e0b0e}.guides-card:hover{border-color:#ff5fa2;box-shadow:0 2px 8px rgba(0,0,0,.08)}.dark .guides-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.3)}.guides-card-icon{margin-bottom:4px}.guides-card-title{font-size:16px;font-weight:600;color:#1e191a;margin:0;line-height:1.3}.dark .guides-card-title{color:#fcfcf7}.guides-card-description{font-size:16px;color:#575254;margin:0;line-height:1.5;flex-grow:1}.dark .guides-card-description{color:#a6a1a2}.guides-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.guides-card-tag{font-size:12px;padding:2px 8px;border-radius:4px;background-color:#f1f5f9;color:#1e191a}.dark .guides-card-tag{background-color:rgba(255,255,255,.03);color:#faf5f7}.guides-no-results{text-align:center;padding:48px 24px;color:#1e191a}.dark .guides-no-results{color:#cbd5e1}@media (max-width:768px){.guides-layout{flex-direction:column;gap:24px}.guides-sidebar{width:100%}.guides-filters{position:static;max-height:none;overflow-y:visible}.guides-filter-button{display:inline-block;width:auto;margin-right:8px}}.badge-color{background-color:#ff5fa2;color:#fcfcf7!important}.lib-page{--lib-muted:#575254;color:#1e191a}.dark .lib-page{--lib-muted:#a6a1a2;color:#e6e1e2}.lib-page a{color:#ff5fa2}.lib-card:hover{border-color:#ff5fa2!important}.lib-panel{background-color:#fcfcf7;color:#1e191a}.dark .lib-panel{background-color:#0e0b0e;color:#e6e1e2}.lib-logo-chip{display:inline-flex;align-items:center;justify-content:center;flex:none;overflow:hidden}.dark .lib-logo-chip{padding:3px 5px;border-radius:5px;background-color:#fff}.lib-logo-chip img{border:0;border-radius:0}.endpoint-table{table-layout:fixed}.endpoint-table td:first-child,.endpoint-table th:first-child{width:18rem;min-width:18rem;max-width:18rem}.endpoint-table td:last-child,.endpoint-table th:last-child{width:8rem;min-width:8rem;max-width:8rem}.icon{border:0}.icons{background-color:#000}.dark .icons{background-color:rgb(var(--gray-50))}.icon-position{display:inline;vertical-align:middle}[data-component-part=accordion-icon] svg{display:block!important}.side-by-side{display:flex;flex-direction:row-reverse;align-items:flex-start;gap:1.5rem;margin:1.5rem 0}.side-by-side-reverse{flex-direction:row}.side-by-side-divider{padding-bottom:1.5rem;border-bottom:1px solid rgb(var(--gray-200))}.dark .side-by-side-divider{border-bottom-color:rgb(var(--gray-700))}.side-by-side-media{flex:0 0 45%;display:flex;flex-direction:column;align-items:center;margin:0}.side-by-side-media img{width:auto;height:auto;max-width:100%;max-height:var(--side-by-side-height, 220px);margin:0}.side-by-side-caption{margin-top:.75rem;padding:0 2rem .5rem;text-align:center;font-size:.875rem;line-height:1.25rem;color:rgb(var(--gray-700))}.dark .side-by-side-caption{color:rgb(var(--gray-400))}.side-by-side-body{flex:1;min-width:0}.side-by-side-body [data-as=p],.side-by-side-body p{display:block;margin:1rem 0}.side-by-side-body .side-by-side-title{margin:0 0 .5rem;font-weight:600;color:rgb(var(--gray-900))}.dark .side-by-side-body .side-by-side-title{color:rgb(var(--gray-50))}.side-by-side-body>:first-child{margin-top:0}.side-by-side-body>:last-child{margin-bottom:0}@media (max-width:768px){.side-by-side,.side-by-side-reverse{flex-direction:column;align-items:stretch}.side-by-side-media{flex:1 1 auto}}#page-title,.guides-title,:has(>.guide-header) h1{font-weight:400;line-height:1;letter-spacing:0;text-wrap:pretty}#page-title{font-size:2rem}@media (min-width:40rem){#page-title{font-size:2.625rem}}h2,h3,h4,h5,h6{font-family:var(--font-family-body-custom)}.mdx-content :is(h2, h3, h4, h5, h6):not([data-component-part]):not(.not-prose){font-weight:500;line-height:1.15;letter-spacing:0;text-wrap:pretty}.mdx-content h2:not([data-component-part]):not(.not-prose){font-size:1.5rem}"}],"page":{"pagePath":"api/apps/createreuse-draft-and-edit-app-content","slug":"/api/apps/createreuse-draft-and-edit-app-content","pageMetadata":{"title":"Create/reuse draft and edit app content","description":"\u003cNote>\n This API is currently in development and may change.\n\u003c/Note>\n\nCreate or reuse an existing document's main draft and apply targeted edits to the app's HTML without resending the whole document.","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v2/documents/{documentId}/draft/app","href":"/api/apps/createreuse-draft-and-edit-app-content","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 p: \"p\",\n ..._provideComponents(),\n ...props.components\n }, {Note} = _components;\n if (!Note) _missingMdxReference(\"Note\", true);\n return _jsxs(_Fragment, {\n children: [_jsx(Note, {\n children: _jsx(_components.p, {\n children: \"This API is currently in development and may change.\"\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"Create or reuse an existing document’s main draft and apply targeted edits to the app’s HTML without resending the whole document.\"\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};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\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/reuse draft and edit app content","description":"\u003cNote>\n This API is currently in development and may change.\n\u003c/Note>\n\nCreate or reuse an existing document's main draft and apply targeted edits to the app's HTML without resending the whole document.","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v2/documents/{documentId}/draft/app","href":"/api/apps/createreuse-draft-and-edit-app-content","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"\u003cNote>\n This API is currently in development and may change.\n\u003c/Note>\n\nCreate or reuse an existing document's main draft and apply targeted edits to the app's HTML without resending the whole document.","operationId":"documentsPatchAppAutoDraft","summary":"Create/reuse draft and edit app content","tags":["Apps"],"x-experimental":true,"parameters":["3bf4c403-e1c0-48c6-b8a4-0a3b154ebc2f","6c5991d7-0204-46fe-a673-99a43cbe537a"],"requestBody":"1120c081-3a47-4ec1-ba51-c77935187efe","responses":{"200":"3f9c7bbe-fea7-494c-8b72-7592d4f06f44","400":"e6ab2983-bba0-4b8d-afd4-0aebbeddf773","401":"478eaf7d-5c52-4cc5-9b76-24e9fff34ce2","403":"a53f6b98-bfe7-4858-87c5-dace8a794d8f","404":"a7b50a71-5047-4ffe-970b-1c7773f1260e","405":"0f17a560-a71d-4af2-bf7f-2266b0f5262f","409":"7a92d959-f775-4db9-b0b4-9e4481db4996","422":"f82a09d0-594d-42b2-ad36-ec70a74e444e"},"method":"patch","type":"path","servers":["271ead89-0c03-423b-a804-d8cc2b150eb1","a3f90913-a5d3-4620-9681-d05b95ea9991"],"security":["bae85ebc-4a40-4f1c-a167-13fa310178de","9f7637ac-9751-44ae-904d-38162f3a737e"],"path":"/v2/documents/{documentId}/draft/app","baseUrlOptions":["https://{instance}.omniapp.co/api","https://{instance}.playground.exploreomni.dev/api"],"title":"Create/reuse draft and edit app content","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3bf4c403-e1c0-48c6-b8a4-0a3b154ebc2f":{"name":"documentId","schema":{"type":"string","description":"Document identifier — either the URL slug (e.g. `abc123`) or the canonical workbook UUID.","example":"abc123","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"description":"Document identifier — either the URL slug (e.g. `abc123`) or the canonical workbook UUID.","in":"path"},"6c5991d7-0204-46fe-a673-99a43cbe537a":{"name":"userId","schema":{"type":"string","format":"uuid","isRequired":false,"description":"**Organization API key required.** The membership ID of the user to act as.\n","uniqueKey":"","typeLabel":"string\u003cuuid>"},"required":false,"description":"**Organization API key required.** The membership ID of the user to act as.\n","in":"query"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["htmlEdits"],"properties":{"htmlEdits":{"type":"array","items":{"type":"object","required":["replace","search"],"properties":{"replace":{"type":"string","description":"Text that replaces the matched `search` text. May be empty (deletion).","isRequired":true,"uniqueKey":"oneOf.0.htmlEdits.items.[INDEX].replace","typeLabel":"string"},"search":{"type":"string","minLength":1,"description":"Exact substring of the app's current HTML, copied with enough surrounding context to be unique unless `replaceAll: true`.\n","isRequired":true,"uniqueKey":"oneOf.0.htmlEdits.items.[INDEX].search","typeLabel":"string"},"replaceAll":{"type":"boolean","description":"Replace every occurrence of `search` instead of requiring a unique match.","uniqueKey":"oneOf.0.htmlEdits.items.[INDEX].replaceAll","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"oneOf.0.htmlEdits.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":20,"description":"Targeted edits applied in order against the current HTML. A failed edit (not found, ambiguous, or result over the 2 MiB cap) rejects the entire request with 400 naming the edit. At most 20 edits per request.\n","isRequired":true,"uniqueKey":"oneOf.0.htmlEdits","typeLabel":"object[]"},"settings":{"type":"object","description":"When present, replaces the app settings; omitted fields take their locked-down defaults. When absent, the current settings are kept.","properties":{"allowClipboard":{"type":"boolean","default":false,"description":"Allow the app to read from and write to the user's clipboard.","uniqueKey":"oneOf.0.settings.allowClipboard","typeLabel":"boolean"},"allowDefaultMapProviders":{"type":"boolean","default":false,"description":"Allow the app to load Omni's default map tile providers.","uniqueKey":"oneOf.0.settings.allowDefaultMapProviders","typeLabel":"boolean"},"allowDownloads":{"type":"boolean","default":false,"description":"Allow the app to trigger file downloads.","uniqueKey":"oneOf.0.settings.allowDownloads","typeLabel":"boolean"},"allowExternalNavigation":{"type":"boolean","default":false,"description":"Allow the app to navigate to domains outside the `navAllowedDomains` / `safeDomains` allowlists.","uniqueKey":"oneOf.0.settings.allowExternalNavigation","typeLabel":"boolean"},"allowFullscreen":{"type":"boolean","default":false,"description":"Allow the app to enter full screen via `requestFullscreen()` (e.g. a \"Present\" button).","uniqueKey":"oneOf.0.settings.allowFullscreen","typeLabel":"boolean"},"allowInternalNavigation":{"type":"boolean","default":false,"description":"Allow the app to navigate within the Omni instance.","uniqueKey":"oneOf.0.settings.allowInternalNavigation","typeLabel":"boolean"},"externalNavOpensInNewTab":{"type":"boolean","default":true,"description":"When true, external navigation opens in a new tab instead of the current one.","uniqueKey":"oneOf.0.settings.externalNavOpensInNewTab","typeLabel":"boolean"},"navAllowedDomains":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.settings.navAllowedDomains.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Domains the app is allowed to navigate to when `navAllowedDomainsEnabled` is true.","uniqueKey":"oneOf.0.settings.navAllowedDomains","typeLabel":"string[]"},"navAllowedDomainsEnabled":{"type":"boolean","default":false,"description":"When true, restrict navigation to the domains listed in `navAllowedDomains`.","uniqueKey":"oneOf.0.settings.navAllowedDomainsEnabled","typeLabel":"boolean"},"safeDomains":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.settings.safeDomains.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Domains treated as safe for embedded content when `safeDomainsEnabled` is true.","uniqueKey":"oneOf.0.settings.safeDomains","typeLabel":"string[]"},"safeDomainsEnabled":{"type":"boolean","default":false,"description":"When true, restrict embedded content to the domains listed in `safeDomains`.","uniqueKey":"oneOf.0.settings.safeDomainsEnabled","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"oneOf.0.settings","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["settings"],"properties":{"settings":{"type":"object","description":"When present, replaces the app settings; omitted fields take their locked-down defaults. When absent, the current settings are kept.","properties":{"allowClipboard":{"type":"boolean","default":false,"description":"Allow the app to read from and write to the user's clipboard.","uniqueKey":"oneOf.1.settings.allowClipboard","typeLabel":"boolean"},"allowDefaultMapProviders":{"type":"boolean","default":false,"description":"Allow the app to load Omni's default map tile providers.","uniqueKey":"oneOf.1.settings.allowDefaultMapProviders","typeLabel":"boolean"},"allowDownloads":{"type":"boolean","default":false,"description":"Allow the app to trigger file downloads.","uniqueKey":"oneOf.1.settings.allowDownloads","typeLabel":"boolean"},"allowExternalNavigation":{"type":"boolean","default":false,"description":"Allow the app to navigate to domains outside the `navAllowedDomains` / `safeDomains` allowlists.","uniqueKey":"oneOf.1.settings.allowExternalNavigation","typeLabel":"boolean"},"allowFullscreen":{"type":"boolean","default":false,"description":"Allow the app to enter full screen via `requestFullscreen()` (e.g. a \"Present\" button).","uniqueKey":"oneOf.1.settings.allowFullscreen","typeLabel":"boolean"},"allowInternalNavigation":{"type":"boolean","default":false,"description":"Allow the app to navigate within the Omni instance.","uniqueKey":"oneOf.1.settings.allowInternalNavigation","typeLabel":"boolean"},"externalNavOpensInNewTab":{"type":"boolean","default":true,"description":"When true, external navigation opens in a new tab instead of the current one.","uniqueKey":"oneOf.1.settings.externalNavOpensInNewTab","typeLabel":"boolean"},"navAllowedDomains":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.settings.navAllowedDomains.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Domains the app is allowed to navigate to when `navAllowedDomainsEnabled` is true.","uniqueKey":"oneOf.1.settings.navAllowedDomains","typeLabel":"string[]"},"navAllowedDomainsEnabled":{"type":"boolean","default":false,"description":"When true, restrict navigation to the domains listed in `navAllowedDomains`.","uniqueKey":"oneOf.1.settings.navAllowedDomainsEnabled","typeLabel":"boolean"},"safeDomains":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.settings.safeDomains.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Domains treated as safe for embedded content when `safeDomainsEnabled` is true.","uniqueKey":"oneOf.1.settings.safeDomains","typeLabel":"string[]"},"safeDomainsEnabled":{"type":"boolean","default":false,"description":"When true, restrict embedded content to the domains listed in `safeDomains`.","uniqueKey":"oneOf.1.settings.safeDomainsEnabled","typeLabel":"boolean"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.1.settings","typeLabel":"object"},"htmlEdits":{"type":"array","items":{"type":"object","required":["replace","search"],"properties":{"replace":{"type":"string","description":"Text that replaces the matched `search` text. May be empty (deletion).","isRequired":true,"uniqueKey":"oneOf.1.htmlEdits.items.[INDEX].replace","typeLabel":"string"},"search":{"type":"string","minLength":1,"description":"Exact substring of the app's current HTML, copied with enough surrounding context to be unique unless `replaceAll: true`.\n","isRequired":true,"uniqueKey":"oneOf.1.htmlEdits.items.[INDEX].search","typeLabel":"string"},"replaceAll":{"type":"boolean","description":"Replace every occurrence of `search` instead of requiring a unique match.","uniqueKey":"oneOf.1.htmlEdits.items.[INDEX].replaceAll","typeLabel":"boolean"}},"additionalProperties":false,"uniqueKey":"oneOf.1.htmlEdits.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":20,"description":"Targeted edits applied in order against the current HTML. A failed edit (not found, ambiguous, or result over the 2 MiB cap) rejects the entire request with 400 naming the edit. At most 20 edits per request.\n","uniqueKey":"oneOf.1.htmlEdits","typeLabel":"object[]"}},"additionalProperties":false,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"htmlEdits":[{"replace":"\u003cstring>","search":"\u003cstring>","replaceAll":true}],"settings":{"allowClipboard":false,"allowDefaultMapProviders":false,"allowDownloads":false,"allowExternalNavigation":false,"allowFullscreen":false,"allowInternalNavigation":false,"externalNavOpensInNewTab":true,"navAllowedDomains":[],"navAllowedDomainsEnabled":false,"safeDomains":[],"safeDomainsEnabled":false}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"3f9c7bbe-fea7-494c-8b72-7592d4f06f44":{"description":"Draft created or reused and edits applied. Use the `draftIdentifier` in the response to call the [Publish draft API](/api/documents-v2/publish-draft) and publish the changes.","content":{"application/json":{"schema":{"type":"object","required":["app","description","draftIdentifier","identifier","name"],"properties":{"identifier":{"type":"string","description":"Published document identifier the draft targets.","example":"def456","isRequired":true,"uniqueKey":"identifier","typeLabel":"string"},"draftIdentifier":{"type":"string","description":"Identifier of the draft the patch was applied to.","example":"abc123","isRequired":true,"uniqueKey":"draftIdentifier","typeLabel":"string"},"name":{"type":"string","description":"Document name.","example":"Blob Sales","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"description":{"oneOf":[{"type":"string","description":"Document description.","example":"Overview of daily Blobs R Us Sales","isRequired":true,"uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","description":"Document description.","example":"Overview of daily Blobs R Us Sales","isRequired":true,"uniqueKey":"description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"description","typeLabel":"string | null"},"app":{"type":"object","properties":{"settings":{"type":"object","additionalProperties":false,"description":"The app's sandbox settings. A write replaces the whole object; omitted fields use their locked-down defaults. Host lists are normalized (deduped, invalid or Omni-owned hosts dropped) before they are stored.\n","properties":{"allowClipboard":{"type":"boolean","default":false,"description":"Allow the app to read from and write to the user's clipboard.","uniqueKey":"app.settings.allowClipboard","typeLabel":"boolean"},"allowDefaultMapProviders":{"type":"boolean","default":false,"description":"Allow the app to load Omni's default map tile providers.","uniqueKey":"app.settings.allowDefaultMapProviders","typeLabel":"boolean"},"allowDownloads":{"type":"boolean","default":false,"description":"Allow the app to trigger file downloads.","uniqueKey":"app.settings.allowDownloads","typeLabel":"boolean"},"allowExternalNavigation":{"type":"boolean","default":false,"description":"Allow the app to navigate to domains outside the `navAllowedDomains` / `safeDomains` allowlists.","uniqueKey":"app.settings.allowExternalNavigation","typeLabel":"boolean"},"allowFullscreen":{"type":"boolean","default":false,"description":"Allow the app to enter full screen via `requestFullscreen()` (e.g. a \"Present\" button).","uniqueKey":"app.settings.allowFullscreen","typeLabel":"boolean"},"allowInternalNavigation":{"type":"boolean","default":false,"description":"Allow the app to navigate within the Omni instance.","uniqueKey":"app.settings.allowInternalNavigation","typeLabel":"boolean"},"externalNavOpensInNewTab":{"type":"boolean","default":true,"description":"When true, external navigation opens in a new tab instead of the current one.","uniqueKey":"app.settings.externalNavOpensInNewTab","typeLabel":"boolean"},"navAllowedDomains":{"type":"array","items":{"type":"string","uniqueKey":"app.settings.navAllowedDomains.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Domains the app is allowed to navigate to when `navAllowedDomainsEnabled` is true.","uniqueKey":"app.settings.navAllowedDomains","typeLabel":"string[]"},"navAllowedDomainsEnabled":{"type":"boolean","default":false,"description":"When true, restrict navigation to the domains listed in `navAllowedDomains`.","uniqueKey":"app.settings.navAllowedDomainsEnabled","typeLabel":"boolean"},"safeDomains":{"type":"array","items":{"type":"string","uniqueKey":"app.settings.safeDomains.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Domains treated as safe for embedded content when `safeDomainsEnabled` is true.","uniqueKey":"app.settings.safeDomains","typeLabel":"string[]"},"safeDomainsEnabled":{"type":"boolean","default":false,"description":"When true, restrict embedded content to the domains listed in `safeDomains`.","uniqueKey":"app.settings.safeDomainsEnabled","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"app.settings","typeLabel":"object"}},"required":["settings"],"isRequired":true,"uniqueKey":"app","typeLabel":"object"},"warnings":{"type":"array","items":{"type":"string","uniqueKey":"warnings.items.[INDEX]","typeLabel":"string"},"description":"Included only when non-blocking warnings are encountered when creating/updating an app. The write itself succeeded.\n","uniqueKey":"warnings","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"identifier":"def456","draftIdentifier":"abc123","name":"Blob Sales","description":"Overview of daily Blobs R Us Sales","app":{"settings":{"allowClipboard":false,"allowDefaultMapProviders":false,"allowDownloads":false,"allowExternalNavigation":false,"allowFullscreen":false,"allowInternalNavigation":false,"externalNavOpensInNewTab":true,"navAllowedDomains":[],"navAllowedDomainsEnabled":false,"safeDomains":[],"safeDomainsEnabled":false}},"warnings":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"e6ab2983-bba0-4b8d-afd4-0aebbeddf773":{"description":"Invalid request body (unknown field, neither `htmlEdits` nor `settings`, or more than 20 `htmlEdits`), or a failed `htmlEdits` entry (not found, ambiguous, or result over the 2 MiB cap). Nothing is applied.\n","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Human-readable error message describing what went wrong.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"status":{"type":"integer","description":"HTTP status code of the error.","example":400,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"}},"required":["detail","status"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":"\u003cstring>","status":400}}},"exampleType":"generated"}},"exampleType":"generated"},"478eaf7d-5c52-4cc5-9b76-24e9fff34ce2":{"description":"Authentication required.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Human-readable error message describing what went wrong.","example":"Unauthorized: Missing or invalid API key","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"status":{"type":"integer","description":"HTTP status code of the error.","example":401,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"}},"required":["detail","status"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":"Unauthorized: Missing or invalid API key","status":401}}},"exampleType":"generated"}},"exampleType":"generated"},"a53f6b98-bfe7-4858-87c5-dace8a794d8f":{"description":"Insufficient permissions: no write access to the document, apps not enabled for the organization, or (a user-scoped key, or an organization key acting as `userId`) the role does not allow creating apps. Also returned when a user-scoped key passes `userId` naming a different member, or when `userId` names an embed user with no live embed session.\n","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Human-readable error message describing what went wrong.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"status":{"type":"integer","description":"HTTP status code of the error.","example":403,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"}},"required":["detail","status"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":"\u003cstring>","status":403}}},"exampleType":"generated"}},"exampleType":"generated"},"a7b50a71-5047-4ffe-970b-1c7773f1260e":{"description":"Document not found, `userId` names a membership outside the organization, or `userId` names a member who hasn't accepted their invitation.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","description":"Human-readable error message describing what went wrong.","isRequired":true,"uniqueKey":"detail","typeLabel":"string"},"status":{"type":"integer","description":"HTTP status code of the error.","example":404,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"}},"required":["detail","status"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":"\u003cstring>","status":404}}},"exampleType":"generated"}},"exampleType":"generated"},"0f17a560-a71d-4af2-bf7f-2266b0f5262f":{"description":"Method not allowed.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"HTTP response code for the error","example":"\u003cresponse_code>","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error description","example":"\u003cerror_reason>","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cresponse_code>","message":"\u003cerror_reason>"}}},"exampleType":"generated"}},"exampleType":"generated"},"7a92d959-f775-4db9-b0b4-9e4481db4996":{"description":"There is no app to patch.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"HTTP response code for the error","example":"\u003cresponse_code>","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error description","example":"\u003cerror_reason>","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cresponse_code>","message":"\u003cerror_reason>"}}},"exampleType":"generated"}},"exampleType":"generated"},"f82a09d0-594d-42b2-ad36-ec70a74e444e":{"description":"The document is a dashboard, not an app.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"HTTP response code for the error","example":"\u003cresponse_code>","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error description","example":"\u003cerror_reason>","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cresponse_code>","message":"\u003cerror_reason>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"bae85ebc-4a40-4f1c-a167-13fa310178de":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Can be either an [Organization API Key](/api/authentication#organization-api-keys) or [Personal Access Token (PAT)](/api/authentication#token-types).\n\nInclude in the `Authorization` header as: `Bearer YOUR_TOKEN`\n","scopes":[],"schemeName":"bearerAuth"}},"9f7637ac-9751-44ae-904d-38162f3a737e":{"orgApiKey":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Requires an [Organization API Key](/api/authentication#organization-api-keys). Personal Access Tokens (PATs) are not supported for this endpoint.\n\nInclude in the `Authorization` header as: `Bearer ORGANIZATION_API_KEY`\n","scopes":[],"schemeName":"orgApiKey"}}},"servers":{"271ead89-0c03-423b-a804-d8cc2b150eb1":{"url":"https://{instance}.omniapp.co/api","description":"Production","variables":{"instance":{"default":"blobsrus","description":"Your production Omni instance subdomain"}}},"a3f90913-a5d3-4620-9681-d05b95ea9991":{"url":"https://{instance}.playground.exploreomni.dev/api","description":"Playground","variables":{"instance":{"default":"blobsrus","description":"Your playground Omni instance subdomain"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Can be either an [Organization API Key](/api/authentication#organization-api-keys) or [Personal Access Token (PAT)](/api/authentication#token-types).\n\nInclude in the `Authorization` header as: `Bearer YOUR_TOKEN`\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Can be either an [Organization API Key](/api/authentication#organization-api-keys) or [Personal Access Token (PAT)](/api/authentication#token-types).\n\nInclude in the `Authorization` header as: `Bearer YOUR_TOKEN`\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Requires an [Organization API Key](/api/authentication#organization-api-keys). Personal Access Tokens (PATs) are not supported for this endpoint.\n\nInclude in the `Authorization` header as: `Bearer ORGANIZATION_API_KEY`\n","scopes":[],"schemeName":"orgApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Requires an [Organization API Key](/api/authentication#organization-api-keys). Personal Access Tokens (PATs) are not supported for this endpoint.\n\nInclude in the `Authorization` header as: `Bearer ORGANIZATION_API_KEY`\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"orgApiKey","name":"Authorization"}],"title":"orgApiKey"}]},"originalFileLocation":"api/openapi.yaml"},"subdomain":"omni-e7402367","siteName":"Omni Docs","title":"Create/reuse draft and edit app content - Omni Docs","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"manual"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T17:20:09.746Z","originalFileLocation":"api/apps/createreuse-draft-and-edit-app-content.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=\"This API is currently in development and may change. Create or reuse an existing document\u0026#x27;s main draft and apply targeted edits to the app\u0026#x27;s HTML without resending the whole document.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Omni Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/omni-e7402367/Hcd24pRrgU0Go9sj/_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/omni-e7402367/Hcd24pRrgU0Go9sj/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/omni-e7402367/Hcd24pRrgU0Go9sj/_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/omni-e7402367/Hcd24pRrgU0Go9sj/_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/omni-e7402367/Hcd24pRrgU0Go9sj/_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/omni-e7402367/Hcd24pRrgU0Go9sj/_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/omni-e7402367/Hcd24pRrgU0Go9sj/_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/omni-e7402367/Hcd24pRrgU0Go9sj/_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/omni-e7402367/Hcd24pRrgU0Go9sj/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create/reuse draft and edit app content - Omni Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"This API is currently in development and may change. Create or reuse an existing document\u0026#x27;s main draft and apply targeted edits to the app\u0026#x27;s HTML without resending the whole document.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Omni Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.omni.co/api/apps/createreuse-draft-and-edit-app-content\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://omni-e7402367.mintlify.app/_mintlify/api/og/v2?division=App+APIs\u0026amp;title=Create%2Freuse+draft+and+edit+app+content\u0026amp;description=%3CNote%3E%0A++This+API+is+currently+in+development+and+may+change.%0A%3C%2FNote%3E%0A%0ACreate+or+reuse+an+existing+document%27s+main+draft+and+apply+targeted+edits+to+the+app%27s+H\u0026amp;theme=191f8a92cb0a982596561b95\u0026amp;signature=3537beaba76b920867a47aaa4a61eb4e09864f044dcec796075b52c6a28beb47\">\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/reuse draft and edit app content - Omni Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This API is currently in development and may change. Create or reuse an existing document\u0026#x27;s main draft and apply targeted edits to the app\u0026#x27;s HTML without resending the whole document.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://omni-e7402367.mintlify.app/_mintlify/api/og/v2?division=App+APIs\u0026amp;title=Create%2Freuse+draft+and+edit+app+content\u0026amp;description=%3CNote%3E%0A++This+API+is+currently+in+development+and+may+change.%0A%3C%2FNote%3E%0A%0ACreate+or+reuse+an+existing+document%27s+main+draft+and+apply+targeted+edits+to+the+app%27s+H\u0026amp;theme=191f8a92cb0a982596561b95\u0026amp;signature=3537beaba76b920867a47aaa4a61eb4e09864f044dcec796075b52c6a28beb47\">\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/omni-e7402367/Hcd24pRrgU0Go9sj/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Omni Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF5FA2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.omni.co/api/apps/createreuse-draft-and-edit-app-content\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/apps/createreuse-draft-and-edit-app-content.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.omni.co/#organization\",\"name\":\"Omni Docs\",\"url\":\"https://docs.omni.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/omni-e7402367/m1fg0tfdkEcnYhky/images/logo/omni-black.png?fit=max\u0026auto=format\u0026n=m1fg0tfdkEcnYhky\u0026q=85\u0026s=85b81b605382b15b60eb75159899002a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.omni.co#website\",\"name\":\"Omni Docs\",\"url\":\"https://docs.omni.co\",\"publisher\":{\"@id\":\"https://docs.omni.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.omni.co/api/apps/createreuse-draft-and-edit-app-content#webpage\",\"url\":\"https://docs.omni.co/api/apps/createreuse-draft-and-edit-app-content\",\"name\":\"Create/reuse draft and edit app content\",\"description\":\"This API is currently in development and may change. Create or reuse an existing document's main draft and apply targeted edits to the app's HTML without resending the whole document.\",\"dateModified\":\"2026-11-02T17:20:09.746Z\",\"isPartOf\":{\"@id\":\"https://docs.omni.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.omni.co/api/apps/createreuse-draft-and-edit-app-content#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.omni.co/api/apps/createreuse-draft-and-edit-app-content#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"App APIs\",\"item\":\"https://docs.omni.co/api/apps/createreuse-draft-and-replace-app-content\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create/reuse draft and edit app content\",\"item\":\"https://docs.omni.co/api/apps/createreuse-draft-and-edit-app-content\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.omni.co/api/apps/createreuse-draft-and-edit-app-content#apireference\",\"headline\":\"Create/reuse draft and edit app content\",\"name\":\"Create/reuse draft and edit app content\",\"description\":\"This API is currently in development and may change. Create or reuse an existing document's main draft and apply targeted edits to the app's HTML without resending the whole document.\",\"url\":\"https://docs.omni.co/api/apps/createreuse-draft-and-edit-app-content\",\"mainEntityOfPage\":{\"@id\":\"https://docs.omni.co/api/apps/createreuse-draft-and-edit-app-content#webpage\"},\"dateModified\":\"2026-11-02T17:20:09.746Z\",\"publisher\":{\"@id\":\"https://docs.omni.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.omni.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Omni Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Omni Docs","nav":{"global":null,"tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":""}]},{"tab":"Admin","pages":[{"title":"Admin","href":"/administration"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides"}]},{"tab":"Library","pages":[{"title":"Library","href":"/library"}]},{"tab":"Developers","menu":[{"item":"REST APIs","icon":"cloud","description":"Programmatically interact with Omni","pages":[{"group":"Getting started","icon":"flag-checkered","pages":[{"title":"Omni REST APIs","sidebarTitle":"Introduction","mode":"wide","href":"/api"},{"title":"Omni API base URL","sidebarTitle":"Base URL","href":"/api/base-url"},{"title":"API authentication","sidebarTitle":"Authentication","href":"/api/authentication"},{"title":"Omni API versioning","sidebarTitle":"Versioning","href":"/api/versioning"},{"title":"Omni API rate limiting","sidebarTitle":"Rate limits","href":"/api/rate-limits"},{"title":"Omni API errors and retries","sidebarTitle":"Errors and retries","href":"/api/errors"},{"title":"API Explorer","sidebarTitle":"API Explorer","href":"/api/api-explorer"},{"title":"Omni CLI","sidebarTitle":"CLI","href":"/api/cli"}]},{"group":"Who am I?","icon":"user-secret","pages":[{"title":"Get current identity and permissions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/whoami","href":"/api/who-am-i/get-current-identity-and-permissions"}]},{"group":"Administration APIs","icon":"gear","pages":[{"group":"API keys","pages":[{"title":"Enable or disable API token","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/api-keys/{id}","href":"/api/api-tokens/enable-or-disable-api-token"},{"title":"List API tokens","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/api-keys","href":"/api/api-tokens/list-api-tokens"},{"title":"Retrieve an API token","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/api-keys/{id}","href":"/api/api-tokens/retrieve-an-api-token"},{"title":"Delete API token","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/api-keys/{id}","href":"/api/api-tokens/delete-api-token"}]},{"group":"IP allowlist","pages":[{"title":"Get the IP allowlist","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ip-allowlist","href":"/api/ip-allowlist/get-the-ip-allowlist"},{"title":"Update the IP allowlist","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/ip-allowlist","href":"/api/ip-allowlist/update-the-ip-allowlist"}]},{"group":"Color palettes","pages":[{"title":"Create custom color palette","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/color-palettes","href":"/api/color-palettes/create-custom-color-palette"},{"title":"Update custom color palette","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/color-palettes/{colorPaletteId}","href":"/api/color-palettes/update-custom-color-palette"},{"title":"List custom color palettes","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/color-palettes","href":"/api/color-palettes/list-custom-color-palettes"},{"title":"Get custom color palette","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/color-palettes/{colorPaletteId}","href":"/api/color-palettes/get-custom-color-palette"},{"title":"Delete custom color palette","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/color-palettes/{colorPaletteId}","href":"/api/color-palettes/delete-custom-color-palette"}]}]},{"group":"AI APIs","icon":"robot","pages":[{"group":"Branding","pages":[{"title":"Get AI Agent branding","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/branding","href":"/api/ai/get-ai-agent-branding"}]},{"group":"Conversations","pages":[{"title":"List AI conversations","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/conversations","href":"/api/ai/list-ai-conversations"},{"title":"Get conversation","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/conversations/{conversationId}","href":"/api/ai/get-conversation"}]},{"group":"Credit Controls","pages":[{"title":"Update AI credit controls","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/ai/credit-controls","href":"/api/ai-credit-controls/update-ai-credit-controls"},{"title":"Get AI credit controls","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/credit-controls","href":"/api/ai-credit-controls/get-ai-credit-controls"},{"title":"Set individual users' AI credit limits","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/ai/credit-controls/users","href":"/api/ai-credit-controls/set-individual-users-ai-credit-limits"},{"title":"List individual users' AI credit limits","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/credit-controls/users","href":"/api/ai-credit-controls/list-individual-users-ai-credit-limits"},{"title":"Set individual entity groups' AI credit limits","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/ai/credit-controls/entity-groups","href":"/api/ai-credit-controls/set-individual-entity-groups-ai-credit-limits"},{"title":"List individual entity groups' AI credit limits","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/credit-controls/entity-groups","href":"/api/ai-credit-controls/list-individual-entity-groups-ai-credit-limits"}]},{"group":"Credit Usage","pages":[{"title":"Read individual users' AI credit usage","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/credit-usage/users","href":"/api/ai-credit-usage/read-individual-users-ai-credit-usage"},{"title":"Read individual entity groups' AI credit usage","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/credit-usage/entity-groups","href":"/api/ai-credit-usage/read-individual-entity-groups-ai-credit-usage"}]},{"group":"Evals","pages":[{"title":"Create an eval prompt set","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/eval/prompt-sets","href":"/api/ai-eval/create-an-eval-prompt-set"},{"title":"Update an eval prompt set","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/ai/eval/prompt-sets/{promptSetId}","href":"/api/ai-eval/update-an-eval-prompt-set"},{"title":"List eval prompt sets","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/eval/prompt-sets","href":"/api/ai-eval/list-eval-prompt-sets"},{"title":"Get an eval prompt set","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/eval/prompt-sets/{promptSetId}","href":"/api/ai-eval/get-an-eval-prompt-set"},{"title":"Archive an eval prompt set","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/ai/eval/prompt-sets/{promptSetId}","href":"/api/ai-eval/archive-an-eval-prompt-set"},{"title":"Restore an archived eval prompt set","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/eval/prompt-sets/{promptSetId}/unarchive","href":"/api/ai-eval/restore-an-archived-eval-prompt-set"},{"title":"Start an eval run","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/eval/runs","href":"/api/ai-eval/start-an-eval-run"},{"title":"List eval runs","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/eval/runs","href":"/api/ai-eval/list-eval-runs"},{"title":"Get an eval run","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/eval/runs/{runId}","href":"/api/ai-eval/get-an-eval-run"},{"title":"Cancel an eval run","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/eval/runs/{runId}/cancel","href":"/api/ai-eval/cancel-an-eval-run"},{"title":"Restore an archived eval run","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/eval/runs/{runId}/unarchive","href":"/api/ai-eval/restore-an-archived-eval-run"},{"title":"Archive an eval run","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/ai/eval/runs/{runId}","href":"/api/ai-eval/archive-an-eval-run"}]},{"group":"Model Suggestions","pages":[{"title":"Generate model suggestions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/suggestions/generate","href":"/api/ai-model-suggestions/generate-model-suggestions"},{"title":"List AI-generated suggestions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/suggestions","href":"/api/ai-model-suggestions/list-ai-generated-suggestions"},{"title":"Dismiss a suggestion","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/suggestions/{suggestionId}/ignore","href":"/api/ai-model-suggestions/dismiss-a-suggestion"},{"title":"Restore a dismissed suggestion","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/suggestions/{suggestionId}/restore","href":"/api/ai-model-suggestions/restore-a-dismissed-suggestion"},{"title":"Delete a suggestion","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/models/{modelId}/suggestions/{suggestionId}","href":"/api/ai-model-suggestions/delete-a-suggestion"},{"title":"Get the latest generation run","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/suggestions/runs/latest","href":"/api/ai-model-suggestions/get-the-latest-generation-run"},{"title":"Get status for a generation run","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/suggestions/runs/{runId}","href":"/api/ai-model-suggestions/get-status-for-a-generation-run"},{"title":"Enable model AI suggestions schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/models/{modelId}/suggestions/schedule","href":"/api/ai-model-suggestions/enable-model-ai-suggestions-schedule"},{"title":"Disable model AI suggestions schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/models/{modelId}/suggestions/schedule","href":"/api/ai-model-suggestions/disable-model-ai-suggestions-schedule"}]},{"group":"Queries and jobs","pages":[{"title":"Generate a query","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/generate-query","href":"/api/ai/generate-a-query"},{"title":"Pick topic","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/pick-topic","href":"/api/ai/pick-topic"},{"title":"List available LLMs","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/llms","href":"/api/ai/list-available-llms"},{"title":"Create AI job","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/jobs","href":"/api/ai/create-ai-job"},{"title":"Get AI job status","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/jobs/{jobId}","href":"/api/ai/get-ai-job-status"},{"title":"Cancel AI job","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/jobs/{jobId}/cancel","href":"/api/ai/cancel-ai-job"},{"title":"Rate an AI job's response","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/jobs/{jobId}/feedback","href":"/api/ai/rate-an-ai-jobs-response"},{"title":"Stream AI job results","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/jobs/{jobId}/result","href":"/api/ai/stream-ai-job-results"},{"title":"Render AI job visualization","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/jobs/{jobId}/vis","href":"/api/ai/render-ai-job-visualization"}]},{"group":"Routines","pages":[{"title":"Create an AI Routine","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/routines","href":"/api/ai-routines/create-an-ai-routine"},{"title":"Update an AI Routine","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/ai/routines/{routineId}","href":"/api/ai-routines/update-an-ai-routine"},{"title":"List AI Routines","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/routines","href":"/api/ai-routines/list-ai-routines"},{"title":"Get an AI Routine","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/ai/routines/{routineId}","href":"/api/ai-routines/get-an-ai-routine"},{"title":"Trigger AI Routine","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/routines/{routineId}/trigger","href":"/api/ai-routines/trigger-ai-routine"},{"title":"Delete an AI Routine","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/ai/routines/{routineId}","href":"/api/ai-routines/delete-an-ai-routine"}]},{"group":"Skills","pages":[{"title":"Create a skill","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/skills","href":"/api/skills/create-a-skill"},{"title":"Edit a skill","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/skills/{skillId}","href":"/api/skills/edit-a-skill"},{"title":"List skills","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/skills","href":"/api/skills/list-skills"},{"title":"Get a skill","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/skills/{skillId}","href":"/api/skills/get-a-skill"},{"title":"Delete a skill","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/skills/{skillId}","href":"/api/skills/delete-a-skill"}]},{"title":"Search Omni docs","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/ai/search-omni-docs","href":"/api/ai/search-omni-docs"}]},{"group":"App APIs","icon":"window-restore","pages":[{"title":"Create/reuse draft and replace app content","description":"\u003cNote>\n This API is currently in development and may change.\n\u003c/Note>\n\nCreate or reuse the document's main draft and replace the existing app. Use the `draftIdentifier` in the response to call the [Publish draft API](/api/documents-v2/publish-draft) and publish the changes.","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v2/documents/{documentId}/draft/app","href":"/api/apps/createreuse-draft-and-replace-app-content"},{"title":"Create/reuse draft and edit app content","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v2/documents/{documentId}/draft/app","href":"/api/apps/createreuse-draft-and-edit-app-content"},{"title":"Replace app content on a draft","description":"\u003cNote>\n This API is currently in development and may change.\n\u003c/Note>\n\nReplace the app HTML on an existing draft. If the specified document does not yet have an app, one will be created. ","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v2/documents/{documentId}/draft/{draftId}/app","href":"/api/apps/replace-app-content-on-a-draft"},{"title":"Edit app content on a draft","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v2/documents/{documentId}/draft/{draftId}/app","href":"/api/apps/edit-app-content-on-a-draft"},{"title":"Read app content","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v2/documents/{documentId}/app","href":"/api/apps/read-app-content"},{"title":"Read app content on main draft","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v2/documents/{documentId}/draft/app","href":"/api/apps/read-app-content-on-main-draft"},{"title":"Read app content on a draft","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v2/documents/{documentId}/draft/{draftId}/app","href":"/api/apps/read-app-content-on-a-draft"},{"title":"Remove app from a draft","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v2/documents/{documentId}/draft/{draftId}/app","href":"/api/apps/remove-app-from-a-draft"},{"group":"Downloads","pages":[{"title":"Initiate app download","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/apps/{documentId}/download","href":"/api/app-downloads/initiate-app-download"},{"title":"Get app download status","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/apps/{documentId}/download/{jobId}/status","href":"/api/app-downloads/get-app-download-status"},{"title":"Get app download file","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/apps/{documentId}/download/{jobId}","href":"/api/app-downloads/get-app-download-file"}]}]},{"group":"Branch APIs","icon":"code-branch","pages":[{"title":"List branches","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/branches","href":"/api/branches/list-branches"},{"title":"Get a branch","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/branches/{branchId}","href":"/api/branches/get-a-branch"},{"title":"Open or close a branch to viewers","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/branches/{branchId}","href":"/api/branches/open-or-close-a-branch-to-viewers"}]},{"group":"Connection APIs","icon":"database","pages":[{"title":"Create connection","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/connections","href":"/api/connections/create-connection"},{"title":"Update connection","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/connections/{connectionId}","href":"/api/connections/update-connection"},{"title":"List connections","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/connections","href":"/api/connections/list-connections"},{"title":"Get connection","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/connections/{connectionId}","href":"/api/connections/get-connection"},{"title":"Delete connection","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/connections/{connectionId}","href":"/api/connections/delete-connection"},{"group":"Connection environments","pages":[{"title":"Create connection environments","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/connection-environments","href":"/api/connection-environments/create-connection-environments"},{"title":"Update connection environment","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/connection-environments/{connectionEnvironmentId}","href":"/api/connection-environments/update-connection-environment"},{"title":"Delete connection environment","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/connection-environments/{connectionEnvironmentId}","href":"/api/connection-environments/delete-connection-environment"}]},{"group":"dbt configuration","pages":[{"title":"Update dbt configuration","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/connections/{connectionId}/dbt","href":"/api/dbt/update-dbt-configuration"},{"title":"Get dbt configuration","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/connections/{connectionId}/dbt","href":"/api/dbt/get-dbt-configuration"},{"title":"Delete dbt configuration","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/connections/{connectionId}/dbt","href":"/api/dbt/delete-dbt-configuration"}]},{"group":"dbt environments","pages":[{"title":"Create dbt environment","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/connections/{connectionId}/dbt/environments","href":"/api/dbt/create-dbt-environment"},{"title":"Update dbt environment","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/connections/{connectionId}/dbt/environments/{environmentId}","href":"/api/dbt/update-dbt-environment"},{"title":"List dbt environments","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/connections/{connectionId}/dbt/environments","href":"/api/dbt/list-dbt-environments"},{"title":"Delete dbt environment","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/connections/{connectionId}/dbt/environments/{environmentId}","href":"/api/dbt/delete-dbt-environment"}]},{"group":"Schema refreshes","pages":[{"title":"Create schema refresh schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/connections/{connectionId}/schedules","href":"/api/schema-refresh-schedules/create-schema-refresh-schedule"},{"title":"Update schema refresh schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/connections/{connectionId}/schedules/{scheduleId}","href":"/api/schema-refresh-schedules/update-schema-refresh-schedule"},{"title":"Get job status","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/jobs/{jobId}/status","href":"/api/jobs/get-job-status"},{"title":"List schema refresh schedules","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/connections/{connectionId}/schedules","href":"/api/schema-refresh-schedules/list-schema-refresh-schedules"},{"title":"Get schema refresh schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/connections/{connectionId}/schedules/{scheduleId}","href":"/api/schema-refresh-schedules/get-schema-refresh-schedule"},{"title":"Delete schema refresh schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/connections/{connectionId}/schedules/{scheduleId}","href":"/api/schema-refresh-schedules/delete-schema-refresh-schedule"}]}]},{"group":"Content APIs","icon":"book","pages":[{"title":"Retrieve content","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/content","href":"/api/content/retrieve-content"},{"title":"Search dashboards and apps","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/content/search","href":"/api/content/search-dashboards-and-apps"},{"title":"Export dashboard","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /unstable/documents/{dashboardId}/export","href":"/api/content-migration/export-dashboard"},{"title":"Import dashboard","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /unstable/documents/import","href":"/api/content-migration/import-dashboard"}]},{"group":"Dashboard APIs","icon":"table-columns","pages":[{"group":"Downloads","pages":[{"title":"Initiate dashboard or tile download","deprecated":null,"version":null,"sidebarTitle":"Initiate download","openapi":"/api/openapi.yaml post /v1/dashboards/{dashboardId}/download","href":"/api/dashboard-downloads/initiate-download"},{"title":"Check download status","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/dashboards/{dashboardId}/download/{jobId}/status","href":"/api/dashboard-downloads/check-download-status"},{"title":"Download file","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/dashboards/{dashboardId}/download/{jobId}","href":"/api/dashboard-downloads/download-file"}]},{"group":"Filters","pages":[{"title":"Update dashboard filters/controls","deprecated":true,"version":null,"openapi":"/api/openapi.yaml patch /v1/dashboards/{dashboardId}/filters","href":"/api/dashboard-filters/update-dashboard-filterscontrols"},{"title":"Get dashboard filters and controls","deprecated":true,"version":null,"openapi":"/api/openapi.yaml get /v1/dashboards/{dashboardId}/filters","href":"/api/dashboard-filters/get-dashboard-filters-and-controls"}]}]},{"group":"Document APIs","icon":"file-lines","pages":[{"group":"Draft and publish","pages":[{"title":"Create and publish document","deprecated":null,"version":null,"sidebarTitle":"Create document","openapi":"/api/openapi.yaml post /v2/documents","href":"/api/documents-v2/create-document"},{"title":"Create draft and patch document","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v2/documents/{documentId}/draft","href":"/api/documents-v2/create-draft-and-patch-document"},{"title":"Patch draft","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v2/documents/{documentId}/draft/{draftId}","href":"/api/documents-v2/patch-draft"},{"title":"Publish draft","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v2/documents/{documentId}/draft/publish","href":"/api/documents-v2/publish-draft"},{"title":"Upgrade dashboard layout","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/documents/{documentId}/upgrade","href":"/api/documents/upgrade-dashboard-layout"},{"title":"Get document state","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v2/documents/{documentId}","href":"/api/documents-v2/get-document-state"},{"title":"List document drafts","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/documents/{documentId}/drafts","href":"/api/documents/list-document-drafts"},{"title":"Get draft state","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v2/documents/{documentId}/draft/{draftId}","href":"/api/documents-v2/get-draft-state"},{"title":"Archive draft","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/documents/{documentId}/draft","href":"/api/documents/archive-draft"},{"title":"Remove dashboard from document","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v2/documents/{documentId}/draft/{draftId}/dashboard","href":"/api/documents/remove-dashboard-from-document"},{"title":"Delete document","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/documents/{documentId}","href":"/api/documents/delete-document"}]},{"group":"Favorites","pages":[{"title":"Favorite document","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/documents/{documentId}/favorite","href":"/api/document-favorites/favorite-document"},{"title":"List document favoriters","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/documents/{documentId}/favorites","href":"/api/document-favorites/list-document-favoriters"},{"title":"Unfavorite document","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/documents/{documentId}/favorite","href":"/api/document-favorites/unfavorite-document"}]},{"group":"Labels","pages":[{"title":"Bulk update document labels","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/documents/{documentId}/labels","href":"/api/document-labels/bulk-update-document-labels"},{"title":"Apply label to document","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/documents/{documentId}/labels/{labelName}","href":"/api/document-labels/apply-label-to-document"},{"title":"Remove label from document","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/documents/{documentId}/labels/{labelName}","href":"/api/document-labels/remove-label-from-document"}]},{"group":"Management","pages":[{"title":"List documents","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/documents","href":"/api/documents/list-documents"},{"title":"List document queries","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/documents/{documentId}/queries","href":"/api/documents/list-document-queries"},{"title":"Run a saved document query","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/documents/{documentId}/queries/{queryId}/run","href":"/api/documents/run-a-saved-document-query"},{"title":"Rename document identifier","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v2/documents/{documentId}/identifier","href":"/api/documents-v2/rename-document-identifier"},{"title":"Move document","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/documents/{documentId}/move","href":"/api/documents/move-document"},{"title":"Duplicate published document","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/documents/{documentId}/duplicate","href":"/api/documents/duplicate-published-document"},{"title":"Transfer document ownership","deprecated":true,"version":null,"openapi":"/api/openapi.yaml put /v1/documents/{documentId}/transfer-ownership","href":"/api/documents/transfer-document-ownership"}]},{"group":"Permissions","pages":[{"title":"Grant document permissions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/documents/{documentId}/permissions","href":"/api/document-permissions/grant-document-permissions"},{"title":"Update document permission settings","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/documents/{documentId}/permissions","href":"/api/document-permissions/update-document-permission-settings"},{"title":"Update document permissions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/documents/{documentId}/permissions","href":"/api/document-permissions/update-document-permissions"},{"title":"List all users and groups with document access","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/documents/{documentId}/access-list","href":"/api/document-permissions/list-all-users-and-groups-with-document-access"},{"title":"Get document permissions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/documents/{documentId}/permissions","href":"/api/document-permissions/get-document-permissions"},{"title":"Revoke document permissions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/documents/{documentId}/permissions","href":"/api/document-permissions/revoke-document-permissions"}]},{"group":"Deprecated (v1)","pages":[{"title":"Create document","deprecated":true,"version":null,"openapi":"/api/openapi.yaml post /v1/documents","href":"/api/documents/create-document"},{"title":"Create draft","deprecated":true,"version":null,"openapi":"/api/openapi.yaml post /v1/documents/{documentId}/draft","href":"/api/documents/create-draft"},{"title":"Get dashboard document","deprecated":true,"version":null,"openapi":"/api/openapi.yaml get /v1/documents/{documentId}","href":"/api/documents/get-dashboard-document"}]}]},{"group":"Embed APIs","icon":"chart-column","pages":[{"title":"Generate embedded SSO session","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/embed/sso/generate-session","href":"/api/embed/generate-embedded-sso-session"}]},{"group":"Folder APIs","icon":"folder","pages":[{"title":"Create folder","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/folders","href":"/api/folders/create-folder"},{"title":"List folders","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/folders","href":"/api/folders/list-folders"},{"title":"Get folder","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/folders/{folderId}","href":"/api/folders/get-folder"},{"title":"Update folder","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/folders/{folderId}","href":"/api/folders/update-folder"},{"title":"Delete folder","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/folders/{folderId}","href":"/api/folders/delete-folder"},{"group":"Favorites","pages":[{"title":"Favorite folder","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/folders/{folderId}/favorite","href":"/api/folder-favorites/favorite-folder"},{"title":"Unfavorite folder","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/folders/{folderId}/favorite","href":"/api/folder-favorites/unfavorite-folder"}]},{"group":"Labels","pages":[{"title":"Bulk update folder labels","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/folders/{folderId}/labels","href":"/api/folder-labels/bulk-update-folder-labels"}]},{"group":"Permissions","pages":[{"title":"Grant folder permissions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/folders/{folderId}/permissions","href":"/api/folder-permissions/grant-folder-permissions"},{"title":"Update organization-level folder permissions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/folders/{folderId}/permissions","href":"/api/folder-permissions/update-organization-level-folder-permissions"},{"title":"Update folder permissions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/folders/{folderId}/permissions","href":"/api/folder-permissions/update-folder-permissions"},{"title":"Get folder permissions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/folders/{folderId}/permissions","href":"/api/folder-permissions/get-folder-permissions"},{"title":"Revoke folder permissions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/folders/{folderId}/permissions","href":"/api/folder-permissions/revoke-folder-permissions"}]}]},{"group":"Label APIs","icon":"note-sticky","pages":[{"title":"Create label","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/labels","href":"/api/labels/create-label"},{"title":"Update label","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/labels/{labelName}","href":"/api/labels/update-label"},{"title":"List labels","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/labels","href":"/api/labels/list-labels"},{"title":"Get label","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/labels/{labelName}","href":"/api/labels/get-label"},{"title":"Delete label","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/labels/{labelName}","href":"/api/labels/delete-label"}]},{"group":"Model APIs","icon":"house","pages":[{"title":"Create model","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models","href":"/api/models/create-model"},{"title":"Rename model","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/models/{modelId}","href":"/api/models/rename-model"},{"title":"Archive shared or extension model","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/models/{modelId}","href":"/api/models/archive-shared-or-extension-model"},{"title":"Refresh schema","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/refresh","href":"/api/models/refresh-schema"},{"title":"List models","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models","href":"/api/models/list-models"},{"title":"Validate model","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/validate","href":"/api/models/validate-model"},{"group":"Branches","pages":[{"title":"Merge a branch","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/branch/{branchName}/merge","href":"/api/model-branches/merge-a-branch"},{"title":"Set dbt environment on model branch","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/branch/{branchName}/dbt","href":"/api/dbt/set-dbt-environment-on-model-branch"},{"title":"Delete branch","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/models/{modelId}/branch/{branchName}","href":"/api/models/delete-branch"}]},{"group":"Content validator","pages":[{"title":"Validate content","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/content-validator","href":"/api/content-validator/validate-content"},{"title":"Find and replace content","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/content-validator","href":"/api/content-validator/find-and-replace-content"}]},{"group":"Management","pages":[{"title":"Get model AI agent actions","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/ai-agent-actions","href":"/api/models/get-model-ai-agent-actions"},{"title":"Reset cache","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/cache_reset/{cachePolicyName}","href":"/api/models/reset-cache"},{"title":"Re-parse model SQL","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/reparse","href":"/api/models/re-parse-model-sql"},{"title":"List model schemas","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/schemas","href":"/api/models/list-model-schemas"},{"title":"Get dbt exposures","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/dbt-exposures","href":"/api/dbt/get-dbt-exposures"}]},{"group":"Git","pages":[{"title":"Get Git configuration","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/git","href":"/api/model-git-configuration/get-git-configuration"},{"title":"Create Git configuration","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/git","href":"/api/model-git-configuration/create-git-configuration"},{"title":"Update Git configuration","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/models/{modelId}/git","href":"/api/model-git-configuration/update-git-configuration"},{"title":"Delete Git configuration","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/models/{modelId}/git","href":"/api/model-git-configuration/delete-git-configuration"},{"title":"Sync model with Git repository","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/git/sync","href":"/api/model-git-configuration/sync-model-with-git-repository"},{"title":"Create or update a pull request for a model branch","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/git/commit","href":"/api/model-git-configuration/create-or-update-a-pull-request-for-a-model-branch"},{"title":"Rotate webhook secret","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/git/rotate-webhook-secret","href":"/api/model-git-configuration/rotate-webhook-secret"},{"title":"Migrate a model","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/migrate","href":"/api/models/migrate-a-model"}]},{"group":"Topics","pages":[{"title":"Update topic","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/models/{modelId}/topic/{topicName}","href":"/api/topics/update-topic"},{"title":"List topics","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/topic","href":"/api/topics/list-topics"},{"title":"Retrieve a topic","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/topic/{topicName}","href":"/api/topics/retrieve-a-topic"},{"title":"Delete topic","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/models/{modelId}/topic/{topicName}","href":"/api/topics/delete-topic"}]},{"group":"Views","pages":[{"title":"Delete view","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/models/{modelId}/view/{viewName}","href":"/api/models/delete-view"},{"title":"Update field metadata","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /v1/models/{modelId}/view/{viewName}/field/{fieldName}","href":"/api/models/update-field-metadata"}]},{"group":"YAML files","pages":[{"title":"Create or update YAML files","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/models/{modelId}/yaml","href":"/api/models/create-or-update-yaml-files"},{"title":"Get model YAML","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/models/{modelId}/yaml","href":"/api/models/get-model-yaml"},{"title":"Delete a YAML file","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/models/{modelId}/yaml","href":"/api/models/delete-a-yaml-file"}]}]},{"group":"Query APIs","icon":"question","pages":[{"title":"Run query","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/query/run","href":"/api/queries/run-query"},{"title":"Wait for query results","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/query/wait","href":"/api/queries/wait-for-query-results"},{"title":"Read query results by offset","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/query/results","href":"/api/queries/read-query-results-by-offset"}]},{"group":"Schedule APIs","icon":"clock","pages":[{"title":"Create schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/schedules","href":"/api/schedules/create-schedule"},{"title":"Update schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/schedules/{scheduleId}","href":"/api/schedules/update-schedule"},{"title":"Transfer schedule ownership","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/schedules/{scheduleId}/transfer-ownership","href":"/api/schedules/transfer-schedule-ownership"},{"title":"List schedules","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/schedules","href":"/api/schedules/list-schedules"},{"title":"Get schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/schedules/{scheduleId}","href":"/api/schedules/get-schedule"},{"title":"Delete schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/schedules/{scheduleId}","href":"/api/schedules/delete-schedule"},{"title":"Restore schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/schedules/{scheduleId}/restore","href":"/api/schedules/restore-schedule"},{"group":"Runs","pages":[{"title":"Trigger schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/schedules/{scheduleId}/trigger","href":"/api/schedules/trigger-schedule"},{"title":"Pause schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/schedules/{scheduleId}/pause","href":"/api/schedules/pause-schedule"},{"title":"Resume schedule","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/schedules/{scheduleId}/resume","href":"/api/schedules/resume-schedule"}]},{"group":"Recipients","pages":[{"title":"Add schedule recipients","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/schedules/{scheduleId}/add-recipients","href":"/api/schedule-recipients/add-schedule-recipients"},{"title":"Remove schedule recipients","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/schedules/{scheduleId}/remove-recipients","href":"/api/schedule-recipients/remove-schedule-recipients"},{"title":"List schedule recipients","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/schedules/{scheduleId}/recipients","href":"/api/schedule-recipients/list-schedule-recipients"}]}]},{"group":"Upload APIs","icon":"upload","pages":[{"title":"Upload a CSV file","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/uploads","href":"/api/uploads/upload-a-csv-file"},{"title":"Replace upload data","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/uploads/{uploadId}","href":"/api/uploads/replace-upload-data"},{"title":"List uploads","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/uploads","href":"/api/uploads/list-uploads"},{"title":"Delete an upload","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/uploads/{uploadId}","href":"/api/uploads/delete-an-upload"}]},{"group":"User APIs","icon":"user","pages":[{"title":"Create user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /scim/v2/users","href":"/api/users/create-user"},{"title":"Replace user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /scim/v2/users/{userId}","href":"/api/users/replace-user"},{"title":"Update user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /scim/v2/users/{userId}","href":"/api/users/update-user"},{"title":"Retrieve user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /scim/v2/users/{userId}","href":"/api/users/retrieve-user"},{"title":"List users","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /scim/v2/users","href":"/api/users/list-users"},{"title":"Delete user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /scim/v2/users/{userId}","href":"/api/users/delete-user"},{"group":"Email-only users","pages":[{"title":"Manage email-only user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/users/email-only","href":"/api/schedule-recipients/manage-email-only-user"},{"title":"Bulk manage email-only users","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/users/email-only/bulk","href":"/api/schedule-recipients/bulk-manage-email-only-users"},{"title":"List email-only users","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/users/email-only","href":"/api/users/list-email-only-users"},{"title":"Bulk delete email-only users","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/users/email-only/bulk","href":"/api/schedule-recipients/bulk-delete-email-only-users"}]},{"group":"Embed users","pages":[{"title":"List embed users","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /scim/v2/embed/users","href":"/api/users/list-embed-users"},{"title":"Retrieve embed user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /scim/v2/embed/users/{userId}","href":"/api/users/retrieve-embed-user"},{"title":"Delete embed user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /scim/v2/embed/users/{userId}","href":"/api/users/delete-embed-user"}]},{"group":"Model roles","pages":[{"title":"Assign or update user model role","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/users/{userId}/model-roles","href":"/api/user-model-roles/assign-or-update-user-model-role"},{"title":"Retrieve user model roles","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/users/{userId}/model-roles","href":"/api/user-model-roles/retrieve-user-model-roles"}]},{"group":"User attributes","pages":[{"title":"Create user attribute","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/user-attributes","href":"/api/user-attributes/create-user-attribute"},{"title":"Update a user attribute definition","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/user-attributes/{userAttributeId}","href":"/api/user-attributes/update-a-user-attribute-definition"},{"title":"List user attributes","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/user-attributes","href":"/api/user-attributes/list-user-attributes"},{"title":"Delete a user attribute definition","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/user-attributes/{userAttributeId}","href":"/api/user-attributes/delete-a-user-attribute-definition"},{"title":"Set switchable values for a user or group","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/user-attributes/{userAttributeId}/selectable-values","href":"/api/user-attributes/set-switchable-values-for-a-user-or-group"},{"title":"Retrieve switchable values for a user or group","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/user-attributes/{userAttributeId}/selectable-values","href":"/api/user-attributes/retrieve-switchable-values-for-a-user-or-group"},{"title":"Switch an attribute value for the current user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /v1/user-attribute-selections","href":"/api/user-attributes/switch-an-attribute-value-for-the-current-user"},{"title":"List switchable attributes for the current user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/user-attribute-selections","href":"/api/user-attributes/list-switchable-attributes-for-the-current-user"},{"title":"Clear a switched attribute value for the current user","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /v1/user-attribute-selections","href":"/api/user-attributes/clear-a-switched-attribute-value-for-the-current-user"}]}]},{"group":"User group APIs","icon":"people-group","pages":[{"title":"Create user group","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /scim/v2/groups","href":"/api/user-groups/create-user-group"},{"title":"Replace user group","deprecated":null,"version":null,"openapi":"/api/openapi.yaml put /scim/v2/groups/{userGroupId}","href":"/api/user-groups/replace-user-group"},{"title":"Update user group","deprecated":null,"version":null,"openapi":"/api/openapi.yaml patch /scim/v2/groups/{userGroupId}","href":"/api/user-groups/update-user-group"},{"title":"List user groups","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /scim/v2/groups","href":"/api/user-groups/list-user-groups"},{"title":"Retrieve user group","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /scim/v2/groups/{userGroupId}","href":"/api/user-groups/retrieve-user-group"},{"title":"Delete user group","deprecated":null,"version":null,"openapi":"/api/openapi.yaml delete /scim/v2/groups/{userGroupId}","href":"/api/user-groups/delete-user-group"},{"group":"Model roles","pages":[{"title":"Assign or update user group model role","deprecated":null,"version":null,"openapi":"/api/openapi.yaml post /v1/user-groups/{userGroupId}/model-roles","href":"/api/user-group-model-roles/assign-or-update-user-group-model-role"},{"title":"Retrieve user group model roles","deprecated":null,"version":null,"openapi":"/api/openapi.yaml get /v1/user-groups/{userGroupId}/model-roles","href":"/api/user-group-model-roles/retrieve-user-group-model-roles"}]}]}]},{"item":"Embedding","icon":"chart-column","description":"Embed Omni's analytics \u0026 AI in apps","pages":[{"title":"Embedding","href":"/embed"}]},{"item":"CLI","icon":"terminal","description":"Interact with Omni APIs from the terminal","pages":[{"title":"CLI","href":"/developers/cli"}]},{"item":"Agent skills","icon":"robot","description":"Bring Omni workflows into your agent environment","pages":[{"title":"Agent skills","href":"/developers/agent-skills"}]}]},{"tab":"Product updates","menu":[{"item":"Demos","icon":"rocket","description":"Weekly updates of upcoming and experimental features","pages":[{"title":"Demos","href":"/demos"}]},{"item":"Changelog","icon":"file-lines","description":"New features, improvements, and bug fixes","pages":[{"title":"Changelog","href":"/changelog"}]}],"pages":[{"title":"Product updates","href":"/demos"}]}]},"basePath":"","title":"Create/reuse draft and edit app content - Omni Docs","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-DHaG7hr_.js","dist-DKZWslLH.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-BIWXJmsZ.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-DCDCdBVX.js","utils-ME8dDnLe.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-0e84ACsd.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-wgRBj-ia.js","snippetPresets-C11Sgb-o.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-C0lapOpP.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ZeRQV8fF.js","shallow-BupWh095.js","getApiPlaygroundDisplay-BnYQO2Ss.js","CodeSnippet-RKKOc8c_.js","CodeSnippets-Drf_m8wS.js","Page-Bevw23-4.js","getPastedJson-u6QiPzNZ.js","icon-Bb-CBSxO.js","MethodPill-F7l5AI7V.js","DuplicateIcon-IiAXkdSg.js","createIcon-FliI8EBc.js","DynamicMarkdown-B62XqCSI.js","SectionHeading-Dj31pT03.js","axios-vUo_bRtp.js","Markdown-BOgQCTwD.js","AssistantPageLink-UDqbR6xh.js"]}