This AnyType is an alias for any
The goal is to make it easier to identify any type in the codebase
without having to eslint-disable all the time
These are only used on legacy any types, don't use it for new types.
This is added on a separate file to avoid circular dependencies.
Declarative verification state.
true verifies the chart on upload, false unverifies it, undefined leaves the
current state untouched. Download sets this to true when the chart is verified.
Direct user/group grants on this chart. Only independently saved charts
carry one — dashboard-owned chart definitions are not grantable.
Omission leaves the existing policy unchanged on upload.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Lightdash","colors":{"primary":"#8072ff","light":"#8072ff","dark":"#8072ff"},"logo":{"light":"https://mintcdn.com/lightdash/NAoHiyWrKI0dLTGZ/logo/light.svg?fit=max\u0026auto=format\u0026n=NAoHiyWrKI0dLTGZ\u0026q=85\u0026s=4b91c8292b732e3daca7558549cf018c","dark":"https://mintcdn.com/lightdash/NAoHiyWrKI0dLTGZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=NAoHiyWrKI0dLTGZ\u0026q=85\u0026s=c15813eedf4ff7a28709d8c163765fd1","href":"https://lightdash.com/"},"favicon":"https://mintcdn.com/lightdash/fPTXVBgl8dEzSm3L/favicon.png?fit=max\u0026auto=format\u0026n=fPTXVBgl8dEzSm3L\u0026q=85\u0026s=ab889bc3b46d3db2eb20c3ff381c098a","api":{"playground":{"display":"simple"}},"appearance":{"default":"light"},"background":{"decoration":"gradient"},"navbar":{"links":[{"href":"https://www.lightdash.com/#","label":"Book a demo"},{"href":"https://app.lightdash.cloud/login","label":"Login"}],"primary":{"type":"button","label":"Start for free","href":"https://www.lightdash.com/start?utm_source=docs\u0026utm_medium=internal_cta\u0026utm_campaign=get_started"}},"footer":{"socials":{"github":"https://github.com/lightdash/lightdash","slack":"https://join.slack.com/t/lightdash-community/shared_invite/zt-3pbwqmq5e-vhTc7HHcS787w618ngoPHA","linkedin":"https://www.linkedin.com/company/lightdash","x":"https://x.com/lightdash_devs"},"links":[{"header":"Lightdash","items":[{"label":"About us","href":"https://www.lightdash.com/about"},{"label":"Community","href":"https://join.slack.com/t/lightdash-community/shared_invite/zt-3pbwqmq5e-vhTc7HHcS787w618ngoPHA"},{"label":"Blog","href":"https://www.lightdash.com/blog"}]}]},"seo":{"indexing":"all"},"fonts":{"heading":{"family":"Space Grotesk","weight":600,"source":"https://fonts.gstatic.com/s/spacegrotesk/v16/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2","format":"woff2"}},"icons":{"library":"tabler"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lightdash","hasAudioNarration":false,"actualSubdomain":"lightdash","customDomains":["docs.lightdash.com"],"gitSource":{"type":"github","owner":"lightdash","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae1bf2e8a46f6fe5a225252","collectionId":"6560a539-672d-49ea-b6ad-f2d6d07826e4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1bf2e8a46f6fe5a225252"},"feedback":{"issues":true,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae1c03ad6a250fd1db8d916","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API","count":869},{"language":"default","tag":"Reference","count":865},{"language":"default","tag":"Docs","count":214},{"language":"default","tag":"API Reference","count":193},{"language":"default","tag":"Projects","count":136},{"language":"default","tag":"v2","count":125},{"language":"default","tag":"Organizations","count":74},{"language":"default","tag":"Explore","count":40},{"language":"default","tag":"Integrations","count":40},{"language":"default","tag":"Self-host","count":33}],"searchSettings":{"maxResults":10}},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@lightdash.com","showHelpButton":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":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"#navigation-items>ul.sidebar-group{margin-top:12px}.sticky-first-col{overflow-x:auto;position:relative;max-width:100%}.sticky-first-col table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.sticky-first-col table td:first-child,.sticky-first-col table th:first-child{position:sticky;left:0;z-index:1;min-width:260px;max-width:320px;white-space:normal;background-color:#fff;box-shadow:inset -1px 0 0 0 rgba(0,0,0,.08)}.sticky-first-col table thead th:first-child{z-index:2}html.dark .sticky-first-col table td:first-child,html.dark .sticky-first-col table th:first-child{background-color:#0b0b0f;box-shadow:inset -1px 0 0 0 rgba(255,255,255,.1)}svg.matrix-no{background-color:#d9d5f0}html.dark svg.matrix-no{background-color:#2e2947}.copy-prompt{margin:1.5rem 0}.copy-prompt-btn{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.375rem;border:0;border-radius:9999px;background-color:#8072ff;color:#fff;font-size:.875rem;font-weight:500;line-height:1.25rem;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:background-color 150ms ease}.copy-prompt-btn:hover{background-color:#6c5df2}.copy-prompt-btn:focus-visible{outline:2px solid #8072ff;outline-offset:2px}.copy-prompt-label{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.copy-prompt-icons{display:inline-flex;align-items:center;gap:.3125rem}.copy-prompt-icons svg{width:1.25rem;height:1.25rem;flex:none;transition:transform 300ms ease-out}.copy-prompt-icons svg:nth-child(1){transform:rotate(-6deg)}.copy-prompt-icons svg:nth-child(4){transform:rotate(6deg)}.copy-prompt-btn:hover .copy-prompt-icons svg:nth-child(1){transform:translateX(-4px) rotate(-12deg)}.copy-prompt-btn:hover .copy-prompt-icons svg:nth-child(2){transform:translate(-1px,-1px) rotate(6deg) scale(1.1)}.copy-prompt-btn:hover .copy-prompt-icons svg:nth-child(3){transform:translate(1px,2px) rotate(-6deg) scale(1.1)}.copy-prompt-btn:hover .copy-prompt-icons svg:nth-child(4){transform:translateX(4px) rotate(12deg)}.copy-prompt-preview{margin:.625rem 0 0 .25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;color:#9ca3af;opacity:0;transform:translateY(4px);transition:opacity 200ms ease,transform 200ms ease}html.dark .copy-prompt-preview{color:#6b7280}.copy-prompt-preview.is-copied{color:#5747cf}html.dark .copy-prompt-preview.is-copied{color:#cfc9ff}.copy-prompt-preview.is-copied,.copy-prompt:has(.copy-prompt-btn:focus-visible) .copy-prompt-preview,.copy-prompt:hover .copy-prompt-preview{opacity:1;transform:none}.copy-prompt-sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){.copy-prompt-icons svg,.copy-prompt-preview{transition:none}.copy-prompt-preview{transform:none}}.setup-path{--setup-path-line:#e2e2e8;--setup-path-surface:#f5f5f7;--setup-path-ground:#ffffff;--setup-path-ink:#16151d;--setup-path-muted:#5d5c69;--setup-path-faint:#8b8a97;--setup-path-accent:#8072ff;display:grid;gap:1rem;justify-items:start;margin:1.5rem 0;color:var(--setup-path-ink);font-size:1rem;line-height:1.55}html.dark .setup-path{--setup-path-line:#2d2d38;--setup-path-surface:#1b1b22;--setup-path-ground:#0f0f14;--setup-path-ink:#efeff3;--setup-path-muted:#a5a5b2;--setup-path-faint:#777784}.setup-path p{margin:0}.setup-path ol{list-style:none;margin:0;padding:0}.setup-path svg{display:block;flex:none}.setup-path button{font-family:inherit;color:inherit;cursor:pointer}.setup-path-trunk{display:grid;width:100%}.setup-path-trunk>li{position:relative;display:grid;grid-template-columns:2.375rem minmax(0,1fr);gap:1rem;padding:0 0 1.5rem;margin:0}.setup-path-trunk>li::before{content:\"\";position:absolute;left:calc(1.1875rem - 1px);top:2.375rem;bottom:0;width:2px;background:var(--setup-path-line)}.setup-path-trunk>li.is-done::before{background:var(--setup-path-accent)}.setup-path-trunk>li.is-last{padding-bottom:0}.setup-path-trunk>li.is-last::before{display:none}.setup-path-tile{position:relative;z-index:1;display:grid;place-items:center;width:2.375rem;height:2.375rem;flex:none;border-radius:.625rem;background:var(--setup-path-surface);transition:transform 180ms ease}.setup-path-tile.is-dark{background:#16151d}.setup-path-trunk>li.is-current>.setup-path-tile{background:var(--setup-path-ink);color:var(--setup-path-ground)}.setup-path-trunk>li.is-pending>.setup-path-tile{background:0 0;border:2px dashed var(--setup-path-line);color:var(--setup-path-faint)}.setup-path-node{display:grid;gap:.75rem;min-width:0}.setup-path-answer,.setup-path-question{display:flex;align-items:center;min-height:2.375rem}.setup-path-question{font-size:1.125rem;font-weight:600;line-height:1.3}.setup-path-answer{justify-content:space-between;gap:1rem}.setup-path-answer p{display:grid;min-width:0;line-height:1.3}.setup-path-answer p span{font-size:.8125rem;color:var(--setup-path-muted)}.setup-path-answer p strong{font-weight:600}.setup-path-change{flex:none;padding:.25rem .625rem;border:1px solid transparent;border-radius:.5rem;background:0 0;font-size:.875rem;font-weight:500;color:var(--setup-path-muted)!important}.setup-path-change:hover{border-color:var(--setup-path-line);color:var(--setup-path-ink)!important}.setup-path-leaves{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:-.25rem}.setup-path-leaves a{display:inline-flex;align-items:center;gap:.375rem;padding:.1875rem .625rem;border-radius:.5rem;background:var(--setup-path-surface);font-size:.8125rem;color:inherit;text-decoration:none}.setup-path-leaves a:hover{text-decoration:underline}.setup-path-chevron,.setup-path-leaves svg{color:var(--setup-path-faint)}.setup-path-note,.setup-path-pending{font-size:.8125rem;color:var(--setup-path-muted)}.setup-path-note a,.setup-path-step-body a{color:var(--setup-path-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}.setup-path-pending{display:flex;align-items:center;min-height:2.375rem;font-size:.9375rem;line-height:1.4}.setup-path-options{display:grid;grid-template-columns:repeat(var(--setup-path-columns),minmax(0,1fr));gap:.625rem}.setup-path-option{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.75rem .875rem;border:1px solid var(--setup-path-line);border-radius:.75rem;background:var(--setup-path-ground);text-align:left;transition:border-color 150ms ease,background 150ms ease}.setup-path-option:hover{border-color:var(--setup-path-faint)}.setup-path-option:hover .setup-path-tile{transform:scale(1.06)}.setup-path-change:focus-visible,.setup-path-ghost:focus-visible,.setup-path-option:focus-visible,.setup-path-phase li>button:focus-visible{outline:2px solid var(--setup-path-accent);outline-offset:2px}.setup-path-option[aria-checked=true]{border-color:var(--setup-path-ink);background:var(--setup-path-surface)}.setup-path-option[aria-checked=true] .setup-path-tile:not(.is-dark){background:var(--setup-path-ground)}.setup-path-option-text{display:grid;flex:1;gap:1px;min-width:0}.setup-path-option-title{display:flex;flex-wrap:wrap;align-items:center;gap:.1875rem .5rem;font-size:.9375rem;font-weight:600;line-height:1.3}.setup-path-option-hint{font-size:.8125rem;line-height:1.4;color:var(--setup-path-muted)}.setup-path-tag{padding:1px .4375rem;border:1px solid var(--setup-path-line);border-radius:99px;font-size:.6875rem;font-weight:600;color:var(--setup-path-muted);white-space:nowrap}.setup-path-radio{display:grid;place-items:center;width:1.125rem;height:1.125rem;flex:none;border:1.5px solid var(--setup-path-line);border-radius:50%;color:transparent;transition:background 150ms ease,border-color 150ms ease}.setup-path-option[aria-checked=true] .setup-path-radio{border-color:var(--setup-path-ink);background:var(--setup-path-ink);color:var(--setup-path-ground)}.setup-path-options.is-compact .setup-path-option{padding:.5625rem .75rem}.setup-path-options.is-compact .setup-path-radio{display:none}.setup-path-options.is-compact .setup-path-option-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-path-ghost,.setup-path-phase li>button{align-items:center;border-radius:.5rem;background:0 0}.setup-path-ghost{display:inline-flex;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--setup-path-line);font-size:.875rem;font-weight:500}.setup-path-ghost:hover{border-color:var(--setup-path-ink)}.setup-path-result{display:grid;gap:1rem;min-width:0}.setup-path-result-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;min-height:2.375rem}.setup-path-result-title{font-size:1.125rem;font-weight:600}.setup-path-result-title span{margin-left:.5rem;font-size:.875rem;font-weight:500;color:var(--setup-path-muted)}.setup-path-phases{display:grid;border-top:1px solid var(--setup-path-line)}.setup-path-phase{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:0 1rem;padding:.75rem 0;border-bottom:1px solid var(--setup-path-line)}.setup-path-phase-name{display:flex;align-items:center;align-self:start;gap:.5rem;padding:.4375rem 0;font-size:.9375rem;font-weight:600}.setup-path-phase-name svg{color:var(--setup-path-muted)}.setup-path-phase li{margin:0;padding:0}.setup-path-phase li>button{display:flex;gap:.75rem;width:100%;min-width:0;padding:.4375rem .5rem;border:0;text-align:left}.setup-path-phase li>button:hover{background:var(--setup-path-surface)}.setup-path-step-number{width:1.25rem;flex:none;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--setup-path-faint)}.setup-path-step-title{flex:1;min-width:0;font-size:.9375rem;font-weight:500}.setup-path-chevron{transition:transform 150ms ease}.setup-path-phase li.is-open .setup-path-chevron{transform:rotate(90deg)}.setup-path-step-body{display:grid;gap:.375rem;justify-items:start;padding:0 .5rem .625rem 2.5rem;font-size:.875rem;color:var(--setup-path-muted)}.setup-path-step-body a{display:inline-flex;align-items:center;gap:.3125rem}.setup-path-step-body>span{font-size:.8125rem;color:var(--setup-path-faint)}@media (max-width:640px){.setup-path-options,.setup-path-phase{grid-template-columns:1fr}.setup-path-options.is-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-path-phase{gap:.25rem}}@media (prefers-reduced-motion:reduce){.setup-path-chevron,.setup-path-option,.setup-path-radio,.setup-path-tile{transition:none}}"}],"page":{"pagePath":"api-reference/projects/upsert-chart-as-code-deprecated","slug":"/api-reference/projects/upsert-chart-as-code-deprecated","pageMetadata":{"title":"Upsert chart as code (deprecated)","description":null,"deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/charts/{slug}/code","href":"/api-reference/projects/upsert-chart-as-code-deprecated","autogeneratedByOpenApi":true},"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":"Upsert chart as code (deprecated)","description":null,"deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/charts/{slug}/code","href":"/api-reference/projects/upsert-chart-as-code-deprecated","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/lightdash/d0a9cf4e6619eae5/analytics.js"],"openApiReferenceData":{"operation":{"operationId":"upsertChartAsCode","responses":{"200":"93b6b63e-6928-4e1e-acb3-6b94f00d4930","default":"7ba1efa8-4ce0-4a3d-8d24-cae009fd074a"},"summary":"Upsert chart as code (deprecated)","tags":["Projects"],"deprecated":true,"security":[],"parameters":["30f4ad72-7d1b-44b1-bd1c-f9596d720a50","ebe801c8-bea1-4afa-a08a-e74004e08c4f"],"requestBody":"47d600c3-5e12-4959-a5d5-81517ebd5a95","method":"post","type":"path","servers":["7997457f-94ba-4ec6-aae9-9f3dbab7b0be"],"path":"/api/v1/projects/{projectUuid}/charts/{slug}/code","baseUrlOptions":["/"],"title":"Upsert chart as code (deprecated)","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"30f4ad72-7d1b-44b1-bd1c-f9596d720a50":{"in":"path","name":"projectUuid","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}},"ebe801c8-bea1-4afa-a08a-e74004e08c4f":{"in":"path","name":"slug","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Construct a type with the properties of T except for those in type K.","required":["chartConfig","name","tableName","metricQuery","slug","version","spaceSlug"],"properties":{"name":{"type":"string","description":"Display name of the chart","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"tableName":{"type":"string","description":"The explore/table name this chart queries from","isRequired":true,"uniqueKey":"tableName","typeLabel":"string"},"metricQuery":{"type":"object","description":"Construct a type with the properties of T except for those in type K.","required":["filters","metrics","limit","exploreName","dimensions","sorts","tableCalculations"],"properties":{"metrics":{"items":{"type":"string","uniqueKey":"metricQuery.metrics.items.[INDEX]","typeLabel":"string"},"type":"array","description":"List of metric field IDs to include","isRequired":true,"uniqueKey":"metricQuery.metrics","typeLabel":"string[]"},"limit":{"type":"number","format":"double","description":"Maximum number of rows to return","isRequired":true,"uniqueKey":"metricQuery.limit","typeLabel":"number\u003cdouble>"},"exploreName":{"type":"string","description":"The name of the explore to query","isRequired":true,"uniqueKey":"metricQuery.exploreName","typeLabel":"string"},"dimensions":{"items":{"type":"string","uniqueKey":"metricQuery.dimensions.items.[INDEX]","typeLabel":"string"},"type":"array","description":"List of dimension field IDs to include","isRequired":true,"uniqueKey":"metricQuery.dimensions","typeLabel":"string[]"},"sorts":{"items":{"properties":{"descending":{"type":"boolean","description":"Sort in descending order","isRequired":true,"uniqueKey":"metricQuery.sorts.items.[INDEX].descending","typeLabel":"boolean"},"fieldId":{"type":"string","description":"Field ID to sort by","isRequired":true,"uniqueKey":"metricQuery.sorts.items.[INDEX].fieldId","typeLabel":"string"},"pivotValues":{"items":{"properties":{"value":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"number","format":"double","isRequired":true,"uniqueKey":"metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.1","typeLabel":"number\u003cdouble>"},{"type":"boolean","isRequired":true,"uniqueKey":"metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.2","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.3","typeLabel":"null"}],"isRequired":true,"uniqueKey":"metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value","typeLabel":"string | number\u003cdouble> | boolean | null"},"reference":{"type":"string","isRequired":true,"uniqueKey":"metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].reference","typeLabel":"string"}},"required":["value","reference"],"type":"object","description":"Coordinates of a single pivot column, used to anchor a row sort to that\nspecific column when results are pivoted.","uniqueKey":"metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Pins the row-sort anchor to a specific pivot column. Ignored for non-pivoted results.","uniqueKey":"metricQuery.sorts.items.[INDEX].pivotValues","typeLabel":"object[]"},"nullsFirst":{"type":"boolean","description":"Sort null values first","uniqueKey":"metricQuery.sorts.items.[INDEX].nullsFirst","typeLabel":"boolean"}},"required":["descending","fieldId"],"type":"object","uniqueKey":"metricQuery.sorts.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Sort configuration for query results","isRequired":true,"uniqueKey":"metricQuery.sorts","typeLabel":"object[]"},"tableCalculations":{"items":{"oneOf":[{"type":"object","required":["sql","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.name","typeLabel":"string"},"sql":{"type":"string","description":"SQL expression for the calculation (can reference fields with ${table.field})","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.sql","typeLabel":"string"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["template","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.name","typeLabel":"string"},"template":{"oneOf":[{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.fieldId","typeLabel":"string"},"type":{"enum":["difference_from_previous"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.fieldId","typeLabel":"string"},"type":{"enum":["percent_change_from_previous"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.fieldId","typeLabel":"string"},"type":{"enum":["percent_of_previous_value"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.fieldId","typeLabel":"string"},"type":{"enum":["percent_of_column_total"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Fields to partition by","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4.fieldId","typeLabel":"string"},"type":{"enum":["rank_in_column"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.fieldId","typeLabel":"string"},"type":{"enum":["running_total"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.type","typeLabel":"enum\u003cstring>"},"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for the running total","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["partitionBy","orderBy","fieldId","windowFunction","type"],"properties":{"partitionBy":{"items":{"type":"string","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Fields to partition by for window functions","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.partitionBy","typeLabel":"string[]"},"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy","typeLabel":"object[]"},"fieldId":{"oneOf":[{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId","typeLabel":"string | null"},"windowFunction":{"enum":["row_number","percent_rank","cume_dist","rank","sum","avg","count","min","max"],"type":"string","description":"Window function type","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.windowFunction","typeLabel":"enum\u003cstring>"},"type":{"enum":["window_function"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.type","typeLabel":"enum\u003cstring>"},"frame":{"properties":{"end":{"properties":{"type":{"enum":["unbounded_preceding","preceding","current_row","following","unbounded_following"],"type":"string","description":"Boundary type","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end.type","typeLabel":"enum\u003cstring>"},"offset":{"type":"number","format":"double","description":"Offset for PRECEDING/FOLLOWING","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end.offset","typeLabel":"number\u003cdouble>"}},"required":["type"],"type":"object","description":"End boundary of the frame","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end","typeLabel":"object"},"frameType":{"enum":["rows","range"],"type":"string","description":"Type of frame (ROWS or RANGE)","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.frameType","typeLabel":"enum\u003cstring>"},"start":{"properties":{"type":{"enum":["unbounded_preceding","preceding","current_row","following","unbounded_following"],"type":"string","description":"Boundary type","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start.type","typeLabel":"enum\u003cstring>"},"offset":{"type":"number","format":"double","description":"Offset for PRECEDING/FOLLOWING","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start.offset","typeLabel":"number\u003cdouble>"}},"required":["type"],"type":"object","description":"Start boundary of the frame","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start","typeLabel":"object"}},"required":["end","frameType"],"type":"object","description":"Frame clause for window functions","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame","typeLabel":"object"}},"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.template","typeLabel":"object"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["formula","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.name","typeLabel":"string"},"formula":{"type":"string","description":"Spreadsheet-like formula compiled to SQL at query time","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.formula","typeLabel":"string"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"metricQuery.tableCalculations.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"metricQuery.tableCalculations.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Custom calculations to perform on query results","isRequired":true,"uniqueKey":"metricQuery.tableCalculations","typeLabel":"object[]"},"filters":{"properties":{"tableCalculations":{"oneOf":[{"type":"object","required":["or"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","description":"Permissive filter types for chart-as-code uploads where `id` may be omitted.\nFilter IDs are auto-generated during upsert if absent.\nAfter normalization these become the strict runtime types (FilterGroup, Filters).","required":["target","operator"],"properties":{"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"},"values":{"items":{"oneOf":[{}],"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"id":{"type":"string","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","description":"Permissive filter types for chart-as-code uploads where `id` may be omitted.\nFilter IDs are auto-generated during upsert if absent.\nAfter normalization these become the strict runtime types (FilterGroup, Filters).","required":["target","operator"],"properties":{"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"},"values":{"items":{"oneOf":[{}],"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"id":{"type":"string","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.tableCalculations.oneOf.1","typeLabel":"object"}],"uniqueKey":"metricQuery.filters.tableCalculations","typeLabel":"object"},"metrics":{"oneOf":[{"type":"object","required":["or"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","description":"Permissive filter types for chart-as-code uploads where `id` may be omitted.\nFilter IDs are auto-generated during upsert if absent.\nAfter normalization these become the strict runtime types (FilterGroup, Filters).","required":["target","operator"],"properties":{"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"},"values":{"items":{"oneOf":[{}],"uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"id":{"type":"string","uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"metricQuery.filters.metrics.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"metricQuery.filters.metrics.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","uniqueKey":"metricQuery.filters.metrics.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.metrics.oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","description":"Permissive filter types for chart-as-code uploads where `id` may be omitted.\nFilter IDs are auto-generated during upsert if absent.\nAfter normalization these become the strict runtime types (FilterGroup, Filters).","required":["target","operator"],"properties":{"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"},"values":{"items":{"oneOf":[{}],"uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"id":{"type":"string","uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"metricQuery.filters.metrics.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"metricQuery.filters.metrics.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","uniqueKey":"metricQuery.filters.metrics.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.metrics.oneOf.1","typeLabel":"object"}],"uniqueKey":"metricQuery.filters.metrics","typeLabel":"object"},"dimensions":{"oneOf":[{"type":"object","required":["or"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","description":"Permissive filter types for chart-as-code uploads where `id` may be omitted.\nFilter IDs are auto-generated during upsert if absent.\nAfter normalization these become the strict runtime types (FilterGroup, Filters).","required":["target","operator"],"properties":{"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"},"values":{"items":{"oneOf":[{}],"uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"id":{"type":"string","uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"metricQuery.filters.dimensions.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","uniqueKey":"metricQuery.filters.dimensions.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.dimensions.oneOf.0","typeLabel":"object"},{"type":"object","required":["and"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","description":"Permissive filter types for chart-as-code uploads where `id` may be omitted.\nFilter IDs are auto-generated during upsert if absent.\nAfter normalization these become the strict runtime types (FilterGroup, Filters).","required":["target","operator"],"properties":{"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"},"values":{"items":{"oneOf":[{}],"uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"id":{"type":"string","uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"metricQuery.filters.dimensions.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","uniqueKey":"metricQuery.filters.dimensions.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"metricQuery.filters.dimensions.oneOf.1","typeLabel":"object"}],"uniqueKey":"metricQuery.filters.dimensions","typeLabel":"object"}},"type":"object","isRequired":true,"uniqueKey":"metricQuery.filters","typeLabel":"object"},"additionalMetrics":{"items":{"properties":{"type":{"enum":["percentile","average","count","count_distinct","sum","sum_distinct","average_distinct","min","max","percent_of_previous","percent_of_total","running_total","number","median","string","date","timestamp","boolean"],"type":"string","description":"Aggregation type","isRequired":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression (e.g., ${TABLE}.column_name)","isRequired":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].sql","typeLabel":"string"},"table":{"type":"string","description":"Table name the metric belongs to","isRequired":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].table","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the metric","isRequired":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].name","typeLabel":"string"},"label":{"type":"string","description":"Display label for the metric","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].label","typeLabel":"string"},"description":{"type":"string","description":"Description of what the metric measures","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].description","typeLabel":"string"},"hidden":{"type":"boolean","description":"Whether the metric is hidden from users","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].hidden","typeLabel":"boolean"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].round","typeLabel":"number\u003cdouble>"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].compact","typeLabel":"enum\u003cstring>"},"format":{"oneOf":[{"type":"string","description":"Format string (legacy format specification)","enum":["km","mi","si","usd","gbp","eur","jpy","dkk","id","percent"],"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].format.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Format string (legacy format specification)","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].format.oneOf.1","typeLabel":"string"}],"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].format","typeLabel":"enum\u003cstring> | string"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style for grouping/decimal characters","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].separator","typeLabel":"enum\u003cstring>"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].index","typeLabel":"number\u003cdouble>"},"filters":{"items":{"description":"Filter rule for metrics, targeting fields by reference","properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].id","typeLabel":"string"},"target":{"properties":{"fieldRef":{"type":"string","description":"Field reference to filter on (e.g., 'table_name.field_name')","isRequired":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].target.fieldRef","typeLabel":"string"}},"required":["fieldRef"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].caseSensitive","typeLabel":"boolean"}},"required":["operator","id","target"],"type":"object","additionalProperties":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Filters to apply to this metric","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].filters","typeLabel":"object[]"},"baseDimensionName":{"type":"string","description":"Name of the base dimension/column this metric aggregates","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].baseDimensionName","typeLabel":"string"},"baseMetricName":{"type":"string","description":"Name of the explore metric this metric was cloned from","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].baseMetricName","typeLabel":"string"},"uuid":{"oneOf":[{"type":"string","description":"Unique identifier for the metric","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].uuid.oneOf.0","typeLabel":"string"},{"type":"null","description":"Unique identifier for the metric","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].uuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].uuid","typeLabel":"string | null"},"percentile":{"type":"number","format":"double","description":"Percentile value for percentile metrics","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].percentile","typeLabel":"number\u003cdouble>"},"distinctKeys":{"items":{"type":"string","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].distinctKeys.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].distinctKeys","typeLabel":"string[]"},"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting configuration","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].formatOptions","typeLabel":"object"},"generationType":{"type":"string","enum":["periodOverPeriod"],"nullable":false,"description":"Optional marker for metrics generated by the system.\nCurrently used for Period-over-Period (PoP) previous-period metrics.","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].generationType","typeLabel":"enum\u003cstring>"},"baseMetricId":{"type":"string","description":"For PoP-generated metrics, the base metric id that this metric is derived from.","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].baseMetricId","typeLabel":"string"},"timeDimensionId":{"type":"string","description":"For PoP-generated metrics, the time dimension id used for the comparison.","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].timeDimensionId","typeLabel":"string"},"granularity":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"For PoP-generated metrics, the granularity used for the comparison.","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].granularity","typeLabel":"enum\u003cstring>"},"periodOffset":{"type":"number","format":"double","description":"For PoP-generated metrics, the number of periods to offset by (>= 1).","uniqueKey":"metricQuery.additionalMetrics.items.[INDEX].periodOffset","typeLabel":"number\u003cdouble>"}},"required":["type","sql","table","name"],"type":"object","additionalProperties":true,"uniqueKey":"metricQuery.additionalMetrics.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Custom metrics defined inline (ad-hoc metrics not in the dbt model)","uniqueKey":"metricQuery.additionalMetrics","typeLabel":"object[]"},"customDimensions":{"items":{"oneOf":[{"type":"object","required":["id","name","table","type","dimensionId","binType","binNumber"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.0.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.0.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.0.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.0.dimensionId","typeLabel":"string"},"binType":{"enum":["fixed_number"],"type":"string","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.0.binType","typeLabel":"enum\u003cstring>"},"binNumber":{"type":"number","format":"double","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.0.binNumber","typeLabel":"number\u003cdouble>"}},"additionalProperties":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","binWidth"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.1.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.1.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.1.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.1.dimensionId","typeLabel":"string"},"binType":{"enum":["fixed_width"],"type":"string","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.1.binType","typeLabel":"enum\u003cstring>"},"binWidth":{"type":"number","format":"double","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.1.binWidth","typeLabel":"number\u003cdouble>"}},"additionalProperties":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","customRange"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2.dimensionId","typeLabel":"string"},"binType":{"enum":["custom_range"],"type":"string","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2.binType","typeLabel":"enum\u003cstring>"},"customRange":{"items":{"properties":{"to":{"type":"number","format":"double","description":"End value for this bin range (undefined for the last range)","uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX].to","typeLabel":"number\u003cdouble>"},"from":{"type":"number","format":"double","description":"Start value for this bin range (undefined for the first range)","uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX].from","typeLabel":"number\u003cdouble>"}},"type":"object","uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","customGroups"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.dimensionId","typeLabel":"string"},"binType":{"enum":["custom_group"],"type":"string","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.binType","typeLabel":"enum\u003cstring>"},"customGroups":{"items":{"properties":{"values":{"items":{"properties":{"value":{"type":"string","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX].value","typeLabel":"string"},"matchType":{"enum":["exact","startsWith","endsWith","includes"],"type":"string","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX].matchType","typeLabel":"enum\u003cstring>"}},"required":["value","matchType"],"type":"object","uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Rules that match values into this group","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values","typeLabel":"object[]"},"name":{"type":"string","description":"Display name for this group (e.g. \"North America\")","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].name","typeLabel":"string"}},"required":["values","name"],"type":"object","uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["id","name","table","type","sql","dimensionType"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.4.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.4.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.4.table","typeLabel":"string"},"type":{"enum":["sql"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression for the custom dimension","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.4.sql","typeLabel":"string"},"dimensionType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","description":"Data type of the dimension result","isRequired":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.4.dimensionType","typeLabel":"enum\u003cstring>"}},"additionalProperties":true,"uniqueKey":"metricQuery.customDimensions.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"metricQuery.customDimensions.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Custom dimensions defined inline","uniqueKey":"metricQuery.customDimensions","typeLabel":"object[]"},"metricOverrides":{"properties":{},"additionalProperties":{"properties":{"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"uniqueKey":"metricQuery.metricOverrides.additionalProperties.formatOptions","typeLabel":"object"}},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","uniqueKey":"metricQuery.metricOverrides.additionalProperties","typeLabel":"object"},"type":"object","description":"Override formatting options for existing metrics","uniqueKey":"metricQuery.metricOverrides","typeLabel":"object"},"dimensionOverrides":{"properties":{},"additionalProperties":{"properties":{"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"uniqueKey":"metricQuery.dimensionOverrides.additionalProperties.formatOptions","typeLabel":"object"}},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","uniqueKey":"metricQuery.dimensionOverrides.additionalProperties","typeLabel":"object"},"type":"object","description":"Override formatting options for existing dimensions","uniqueKey":"metricQuery.dimensionOverrides","typeLabel":"object"},"timezone":{"type":"string","description":"Timezone for date/time values (e.g., 'America/Los_Angeles', 'UTC')","uniqueKey":"metricQuery.timezone","typeLabel":"string"},"pivotDimensions":{"items":{"type":"string","uniqueKey":"metricQuery.pivotDimensions.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Dimension field IDs used as pivot columns (from chart's pivotConfig.columns).\nUsed by row_total() to determine non-pivot dimensions for GROUP BY.","uniqueKey":"metricQuery.pivotDimensions","typeLabel":"string[]"},"metadata":{"properties":{"hasADateDimension":{"properties":{},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","isRequired":true,"uniqueKey":"metricQuery.metadata.hasADateDimension","typeLabel":"object"}},"required":["hasADateDimension"],"type":"object","uniqueKey":"metricQuery.metadata","typeLabel":"object"}},"isRequired":true,"uniqueKey":"metricQuery","typeLabel":"object"},"slug":{"type":"string","description":"Unique identifier slug for this chart","isRequired":true,"uniqueKey":"slug","typeLabel":"string"},"version":{"type":"number","format":"double","description":"Schema version for this chart configuration","isRequired":true,"uniqueKey":"version","typeLabel":"number\u003cdouble>"},"spaceSlug":{"type":"string","description":"Slug of the space containing this chart","isRequired":true,"uniqueKey":"spaceSlug","typeLabel":"string"},"chartConfig":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","isRequired":true,"uniqueKey":"chartConfig","typeLabel":"any"},"verified":{"type":"boolean","description":"Declarative verification state.\n`true` verifies the chart on upload, `false` unverifies it, `undefined` leaves the\ncurrent state untouched. Download sets this to `true` when the chart is verified.","uniqueKey":"verified","typeLabel":"boolean"},"contentType":{"enum":["chart"],"type":"string","description":"Content type discriminator","uniqueKey":"contentType","typeLabel":"enum\u003cstring>"},"pivotConfig":{"properties":{"columns":{"items":{"type":"string","uniqueKey":"pivotConfig.columns.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"pivotConfig.columns","typeLabel":"string[]"},"rows":{"items":{"type":"string","uniqueKey":"pivotConfig.rows.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"pivotConfig.rows","typeLabel":"string[]"}},"required":["columns"],"type":"object","description":"Pivot table configuration","uniqueKey":"pivotConfig","typeLabel":"object"},"parameters":{"properties":{},"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"parameters.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","format":"double","uniqueKey":"parameters.additionalProperties.oneOf.1","typeLabel":"number\u003cdouble>"},{"type":"array","items":{"type":"string","uniqueKey":"parameters.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"parameters.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"array","items":{"type":"number","format":"double","uniqueKey":"parameters.additionalProperties.oneOf.3.items.[INDEX]","typeLabel":"number\u003cdouble>"},"uniqueKey":"parameters.additionalProperties.oneOf.3","typeLabel":"number\u003cdouble>[]"}],"uniqueKey":"parameters.additionalProperties","typeLabel":"string | number\u003cdouble> | string[] | number\u003cdouble>[]"},"type":"object","description":"Parameter values for the chart query","uniqueKey":"parameters","typeLabel":"object"},"merge":{"oneOf":[{"type":"object","required":["limit","keys","join","queries"],"properties":{"limit":{"type":"number","format":"double","isRequired":true,"uniqueKey":"merge.oneOf.0.limit","typeLabel":"number\u003cdouble>"},"keys":{"properties":{},"additionalProperties":{"items":{"type":"string","uniqueKey":"merge.oneOf.0.keys.additionalProperties.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"merge.oneOf.0.keys.additionalProperties","typeLabel":"string[]"},"type":"object","description":"The join keys: each entry is the chart's field and one `query.fieldId`\nreference per other query. The key column takes the chart field's id.","isRequired":true,"uniqueKey":"merge.oneOf.0.keys","typeLabel":"object"},"join":{"description":"How unmatched keys survive the merge. Mirrors the SQL join it compiles to.","enum":["full","left","inner"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.join","typeLabel":"enum\u003cstring>"},"queries":{"properties":{},"additionalProperties":{"properties":{"metrics":{"items":{"type":"string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.metrics.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.metrics","typeLabel":"string[]"},"dimensions":{"items":{"type":"string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensions.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensions","typeLabel":"string[]"},"explore":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.explore","typeLabel":"string"},"repeat":{"type":"boolean","description":"See MergeQueryMetricSource.repeatValues. Omitted when off.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.repeat","typeLabel":"boolean"},"timezone":{"type":"string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.timezone","typeLabel":"string"},"dimensionOverrides":{"properties":{},"additionalProperties":{"properties":{"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions","typeLabel":"object"}},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties","typeLabel":"object"},"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.dimensionOverrides","typeLabel":"object"},"metricOverrides":{"properties":{},"additionalProperties":{"properties":{"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions","typeLabel":"object"}},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties","typeLabel":"object"},"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.metricOverrides","typeLabel":"object"},"customDimensions":{"items":{"oneOf":[{"type":"object","required":["id","name","table","type","dimensionId","binType","binNumber"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.dimensionId","typeLabel":"string"},"binType":{"enum":["fixed_number"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.binType","typeLabel":"enum\u003cstring>"},"binNumber":{"type":"number","format":"double","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.binNumber","typeLabel":"number\u003cdouble>"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","binWidth"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.dimensionId","typeLabel":"string"},"binType":{"enum":["fixed_width"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.binType","typeLabel":"enum\u003cstring>"},"binWidth":{"type":"number","format":"double","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.binWidth","typeLabel":"number\u003cdouble>"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","customRange"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.dimensionId","typeLabel":"string"},"binType":{"enum":["custom_range"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.binType","typeLabel":"enum\u003cstring>"},"customRange":{"items":{"properties":{"to":{"type":"number","format":"double","description":"End value for this bin range (undefined for the last range)","uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX].to","typeLabel":"number\u003cdouble>"},"from":{"type":"number","format":"double","description":"Start value for this bin range (undefined for the first range)","uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX].from","typeLabel":"number\u003cdouble>"}},"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.customRange","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","customGroups"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.dimensionId","typeLabel":"string"},"binType":{"enum":["custom_group"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.binType","typeLabel":"enum\u003cstring>"},"customGroups":{"items":{"properties":{"values":{"items":{"properties":{"value":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX].value","typeLabel":"string"},"matchType":{"enum":["exact","startsWith","endsWith","includes"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX].matchType","typeLabel":"enum\u003cstring>"}},"required":["value","matchType"],"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Rules that match values into this group","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values","typeLabel":"object[]"},"name":{"type":"string","description":"Display name for this group (e.g. \"North America\")","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].name","typeLabel":"string"}},"required":["values","name"],"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["id","name","table","type","sql","dimensionType"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.table","typeLabel":"string"},"type":{"enum":["sql"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.sql","typeLabel":"string"},"dimensionType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","description":"Data type of the dimension result","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.dimensionType","typeLabel":"enum\u003cstring>"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"merge.oneOf.0.queries.additionalProperties.customDimensions","typeLabel":"object[]"},"additionalMetrics":{"items":{"properties":{"type":{"enum":["percentile","average","count","count_distinct","sum","sum_distinct","average_distinct","min","max","percent_of_previous","percent_of_total","running_total","number","median","string","date","timestamp","boolean"],"type":"string","description":"Aggregation type","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression (e.g., ${TABLE}.column_name)","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].sql","typeLabel":"string"},"table":{"type":"string","description":"Table name the metric belongs to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].table","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the metric","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].name","typeLabel":"string"},"label":{"type":"string","description":"Display label for the metric","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].label","typeLabel":"string"},"description":{"type":"string","description":"Description of what the metric measures","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].description","typeLabel":"string"},"hidden":{"type":"boolean","description":"Whether the metric is hidden from users","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].hidden","typeLabel":"boolean"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].round","typeLabel":"number\u003cdouble>"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].compact","typeLabel":"enum\u003cstring>"},"format":{"oneOf":[{"type":"string","description":"Format string (legacy format specification)","enum":["km","mi","si","usd","gbp","eur","jpy","dkk","id","percent"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].format.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Format string (legacy format specification)","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].format.oneOf.1","typeLabel":"string"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].format","typeLabel":"enum\u003cstring> | string"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style for grouping/decimal characters","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].separator","typeLabel":"enum\u003cstring>"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].index","typeLabel":"number\u003cdouble>"},"filters":{"items":{"description":"Filter rule for metrics, targeting fields by reference","properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].id","typeLabel":"string"},"target":{"properties":{"fieldRef":{"type":"string","description":"Field reference to filter on (e.g., 'table_name.field_name')","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].target.fieldRef","typeLabel":"string"}},"required":["fieldRef"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].caseSensitive","typeLabel":"boolean"}},"required":["operator","id","target"],"type":"object","additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Filters to apply to this metric","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters","typeLabel":"object[]"},"baseDimensionName":{"type":"string","description":"Name of the base dimension/column this metric aggregates","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].baseDimensionName","typeLabel":"string"},"baseMetricName":{"type":"string","description":"Name of the explore metric this metric was cloned from","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].baseMetricName","typeLabel":"string"},"uuid":{"oneOf":[{"type":"string","description":"Unique identifier for the metric","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].uuid.oneOf.0","typeLabel":"string"},{"type":"null","description":"Unique identifier for the metric","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].uuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].uuid","typeLabel":"string | null"},"percentile":{"type":"number","format":"double","description":"Percentile value for percentile metrics","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].percentile","typeLabel":"number\u003cdouble>"},"distinctKeys":{"items":{"type":"string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].distinctKeys.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].distinctKeys","typeLabel":"string[]"},"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting configuration","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions","typeLabel":"object"},"generationType":{"type":"string","enum":["periodOverPeriod"],"nullable":false,"description":"Optional marker for metrics generated by the system.\nCurrently used for Period-over-Period (PoP) previous-period metrics.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].generationType","typeLabel":"enum\u003cstring>"},"baseMetricId":{"type":"string","description":"For PoP-generated metrics, the base metric id that this metric is derived from.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].baseMetricId","typeLabel":"string"},"timeDimensionId":{"type":"string","description":"For PoP-generated metrics, the time dimension id used for the comparison.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].timeDimensionId","typeLabel":"string"},"granularity":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"For PoP-generated metrics, the granularity used for the comparison.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].granularity","typeLabel":"enum\u003cstring>"},"periodOffset":{"type":"number","format":"double","description":"For PoP-generated metrics, the number of periods to offset by (>= 1).","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].periodOffset","typeLabel":"number\u003cdouble>"}},"required":["type","sql","table","name"],"type":"object","additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"merge.oneOf.0.queries.additionalProperties.additionalMetrics","typeLabel":"object[]"},"tableCalculations":{"items":{"oneOf":[{"type":"object","required":["sql","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.name","typeLabel":"string"},"sql":{"type":"string","description":"SQL expression for the calculation (can reference fields with ${table.field})","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.sql","typeLabel":"string"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["template","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.name","typeLabel":"string"},"template":{"oneOf":[{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.fieldId","typeLabel":"string"},"type":{"enum":["difference_from_previous"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.fieldId","typeLabel":"string"},"type":{"enum":["percent_change_from_previous"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.fieldId","typeLabel":"string"},"type":{"enum":["percent_of_previous_value"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.fieldId","typeLabel":"string"},"type":{"enum":["percent_of_column_total"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Fields to partition by","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4.fieldId","typeLabel":"string"},"type":{"enum":["rank_in_column"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.fieldId","typeLabel":"string"},"type":{"enum":["running_total"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.type","typeLabel":"enum\u003cstring>"},"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for the running total","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["partitionBy","orderBy","fieldId","windowFunction","type"],"properties":{"partitionBy":{"items":{"type":"string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Fields to partition by for window functions","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.partitionBy","typeLabel":"string[]"},"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy","typeLabel":"object[]"},"fieldId":{"oneOf":[{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId","typeLabel":"string | null"},"windowFunction":{"enum":["row_number","percent_rank","cume_dist","rank","sum","avg","count","min","max"],"type":"string","description":"Window function type","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.windowFunction","typeLabel":"enum\u003cstring>"},"type":{"enum":["window_function"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.type","typeLabel":"enum\u003cstring>"},"frame":{"properties":{"end":{"properties":{"type":{"enum":["unbounded_preceding","preceding","current_row","following","unbounded_following"],"type":"string","description":"Boundary type","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end.type","typeLabel":"enum\u003cstring>"},"offset":{"type":"number","format":"double","description":"Offset for PRECEDING/FOLLOWING","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end.offset","typeLabel":"number\u003cdouble>"}},"required":["type"],"type":"object","description":"End boundary of the frame","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end","typeLabel":"object"},"frameType":{"enum":["rows","range"],"type":"string","description":"Type of frame (ROWS or RANGE)","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.frameType","typeLabel":"enum\u003cstring>"},"start":{"properties":{"type":{"enum":["unbounded_preceding","preceding","current_row","following","unbounded_following"],"type":"string","description":"Boundary type","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start.type","typeLabel":"enum\u003cstring>"},"offset":{"type":"number","format":"double","description":"Offset for PRECEDING/FOLLOWING","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start.offset","typeLabel":"number\u003cdouble>"}},"required":["type"],"type":"object","description":"Start boundary of the frame","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start","typeLabel":"object"}},"required":["end","frameType"],"type":"object","description":"Frame clause for window functions","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame","typeLabel":"object"}},"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template","typeLabel":"object"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["formula","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.name","typeLabel":"string"},"formula":{"type":"string","description":"Spreadsheet-like formula compiled to SQL at query time","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.formula","typeLabel":"string"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"merge.oneOf.0.queries.additionalProperties.tableCalculations","typeLabel":"object[]"},"filters":{"properties":{"tableCalculations":{"oneOf":[{"type":"object","description":"Table calculation filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0","typeLabel":"object"},{"type":"object","description":"Table calculation filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.tableCalculations","typeLabel":"object"},"metrics":{"oneOf":[{"type":"object","description":"Metric filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0","typeLabel":"object"},{"type":"object","description":"Metric filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.metrics","typeLabel":"object"},"dimensions":{"oneOf":[{"type":"object","description":"Dimension filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0","typeLabel":"object"},{"type":"object","description":"Dimension filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters.dimensions","typeLabel":"object"}},"type":"object","uniqueKey":"merge.oneOf.0.queries.additionalProperties.filters","typeLabel":"object"}},"required":["metrics","dimensions","explore"],"type":"object","description":"A query the merge owns, run against an explore.","uniqueKey":"merge.oneOf.0.queries.additionalProperties","typeLabel":"object"},"type":"object","description":"The other queries, by the name they go by.","isRequired":true,"uniqueKey":"merge.oneOf.0.queries","typeLabel":"object"},"tableCalculations":{"items":{"properties":{"sql":{"type":"string","description":"Legacy SQL expression. Kept required for API/storage compatibility;\nformula calculations store an empty string here and compile `formula`\non the compose engine instead.","isRequired":true,"uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].sql","typeLabel":"string"},"displayName":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].displayName","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].name","typeLabel":"string"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"How the calculation's values are displayed.","uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].format","typeLabel":"object"},"formula":{"type":"string","description":"Spreadsheet-like formula over merged field ids.","uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX].formula","typeLabel":"string"}},"required":["sql","displayName","name"],"type":"object","description":"A calculation over the *merged* result, where a row-wise calculation across\nsource queries can correctly live. Formula references use merged field ids;\nlegacy SQL references use `${sourceId.fieldId}`.","uniqueKey":"merge.oneOf.0.tableCalculations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"merge.oneOf.0.tableCalculations","typeLabel":"object[]"},"sort":{"items":{"properties":{"direction":{"type":"string","enum":["asc","desc"],"isRequired":true,"uniqueKey":"merge.oneOf.0.sort.items.[INDEX].direction","typeLabel":"enum\u003cstring>"},"by":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.0.sort.items.[INDEX].by","typeLabel":"string"}},"required":["direction","by"],"type":"object","description":"A sort of the merged result. `by` is a chart field id, a `query.fieldId`\nreference into another query, or the name of a merge table calculation.\nA chart field that is a join key sorts the key column.","uniqueKey":"merge.oneOf.0.sort.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"merge.oneOf.0.sort","typeLabel":"object[]"},"keyNames":{"properties":{},"additionalProperties":{"type":"string","uniqueKey":"merge.oneOf.0.keyNames.additionalProperties","typeLabel":"string"},"type":"object","description":"The key column's name, when not the chart field's id.","uniqueKey":"merge.oneOf.0.keyNames","typeLabel":"object"},"chartRepeats":{"type":"boolean","description":"The chart's own query repeats its values. Omitted when off.","uniqueKey":"merge.oneOf.0.chartRepeats","typeLabel":"boolean"},"chartAs":{"type":"string","description":"The chart query's name in merged column ids, when not its explore's.","uniqueKey":"merge.oneOf.0.chartAs","typeLabel":"string"}},"uniqueKey":"merge.oneOf.0","typeLabel":"object"},{"type":"object","description":"Schema v2 of a merge stored on a chart version. Accepted on requests and\nread from rows written before schema v3; rewritten to schema v3 by\nupgradeSavedMergeQuery. Never written.","required":["tableCalculations","joinType","joinKey","sources","primarySourceId"],"properties":{"tableCalculations":{"items":{"properties":{"sql":{"type":"string","description":"Legacy SQL expression. Kept required for API/storage compatibility;\nformula calculations store an empty string here and compile `formula`\non the compose engine instead.","isRequired":true,"uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].sql","typeLabel":"string"},"displayName":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].displayName","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].name","typeLabel":"string"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"How the calculation's values are displayed.","uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].format","typeLabel":"object"},"formula":{"type":"string","description":"Spreadsheet-like formula over merged field ids.","uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX].formula","typeLabel":"string"}},"required":["sql","displayName","name"],"type":"object","description":"A calculation over the *merged* result, where a row-wise calculation across\nsource queries can correctly live. Formula references use merged field ids;\nlegacy SQL references use `${sourceId.fieldId}`.","uniqueKey":"merge.oneOf.1.tableCalculations.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"merge.oneOf.1.tableCalculations","typeLabel":"object[]"},"joinType":{"description":"How unmatched keys survive the merge. Mirrors the SQL join it compiles to.","enum":["full","left","inner"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.joinType","typeLabel":"enum\u003cstring>"},"joinKey":{"items":{"properties":{"fieldIdBySourceId":{"properties":{},"additionalProperties":{"type":"string","uniqueKey":"merge.oneOf.1.joinKey.items.[INDEX].fieldIdBySourceId.additionalProperties","typeLabel":"string"},"type":"object","description":"The field each source joins on. Every source must have an entry.","isRequired":true,"uniqueKey":"merge.oneOf.1.joinKey.items.[INDEX].fieldIdBySourceId","typeLabel":"object"},"name":{"type":"string","description":"Column name this key part takes in the merged result.","isRequired":true,"uniqueKey":"merge.oneOf.1.joinKey.items.[INDEX].name","typeLabel":"string"}},"required":["fieldIdBySourceId","name"],"type":"object","description":"One column of the join key. Sources name the same real-world key differently\n(`orders.order_date` vs `users.created_date`), so the mapping is explicit per\nsource rather than positional.","uniqueKey":"merge.oneOf.1.joinKey.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"merge.oneOf.1.joinKey","typeLabel":"object[]"},"sources":{"items":{"oneOf":[{"type":"object","description":"A persisted merge source.\n\nThe chart source is a reference: its metric query already lives on the chart\nversion. Every additional source owns its query. This keeps one source of\ntruth while allowing more sources without adding `thirdQuery`, `fourthQuery`,\nand so on.","required":["kind","id"],"properties":{"kind":{"type":"string","enum":["chart"],"nullable":false,"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.0.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.0.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"A persisted merge source.\n\nThe chart source is a reference: its metric query already lives on the chart\nversion. Every additional source owns its query. This keeps one source of\ntruth while allowing more sources without adding `thirdQuery`, `fourthQuery`,\nand so on.","required":["metricQuery","kind","id"],"properties":{"metricQuery":{"properties":{"tableCalculations":{"items":{"oneOf":[{"type":"object","required":["sql","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.name","typeLabel":"string"},"sql":{"type":"string","description":"SQL expression for the calculation (can reference fields with ${table.field})","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.sql","typeLabel":"string"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["template","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.name","typeLabel":"string"},"template":{"oneOf":[{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.fieldId","typeLabel":"string"},"type":{"enum":["difference_from_previous"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.fieldId","typeLabel":"string"},"type":{"enum":["percent_change_from_previous"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.fieldId","typeLabel":"string"},"type":{"enum":["percent_of_previous_value"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.fieldId","typeLabel":"string"},"type":{"enum":["percent_of_column_total"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Fields to partition by","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4.fieldId","typeLabel":"string"},"type":{"enum":["rank_in_column"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.fieldId","typeLabel":"string"},"type":{"enum":["running_total"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.type","typeLabel":"enum\u003cstring>"},"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for the running total","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["partitionBy","orderBy","fieldId","windowFunction","type"],"properties":{"partitionBy":{"items":{"type":"string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Fields to partition by for window functions","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.partitionBy","typeLabel":"string[]"},"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy","typeLabel":"object[]"},"fieldId":{"oneOf":[{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId","typeLabel":"string | null"},"windowFunction":{"enum":["row_number","percent_rank","cume_dist","rank","sum","avg","count","min","max"],"type":"string","description":"Window function type","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.windowFunction","typeLabel":"enum\u003cstring>"},"type":{"enum":["window_function"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.type","typeLabel":"enum\u003cstring>"},"frame":{"properties":{"end":{"properties":{"type":{"enum":["unbounded_preceding","preceding","current_row","following","unbounded_following"],"type":"string","description":"Boundary type","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end.type","typeLabel":"enum\u003cstring>"},"offset":{"type":"number","format":"double","description":"Offset for PRECEDING/FOLLOWING","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end.offset","typeLabel":"number\u003cdouble>"}},"required":["type"],"type":"object","description":"End boundary of the frame","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end","typeLabel":"object"},"frameType":{"enum":["rows","range"],"type":"string","description":"Type of frame (ROWS or RANGE)","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.frameType","typeLabel":"enum\u003cstring>"},"start":{"properties":{"type":{"enum":["unbounded_preceding","preceding","current_row","following","unbounded_following"],"type":"string","description":"Boundary type","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start.type","typeLabel":"enum\u003cstring>"},"offset":{"type":"number","format":"double","description":"Offset for PRECEDING/FOLLOWING","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start.offset","typeLabel":"number\u003cdouble>"}},"required":["type"],"type":"object","description":"Start boundary of the frame","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start","typeLabel":"object"}},"required":["end","frameType"],"type":"object","description":"Frame clause for window functions","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame","typeLabel":"object"}},"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template","typeLabel":"object"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["formula","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.name","typeLabel":"string"},"formula":{"type":"string","description":"Spreadsheet-like formula compiled to SQL at query time","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.formula","typeLabel":"string"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Custom calculations to perform on query results","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.tableCalculations","typeLabel":"object[]"},"limit":{"type":"number","format":"double","description":"Maximum number of rows to return","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.limit","typeLabel":"number\u003cdouble>"},"sorts":{"items":{"properties":{"descending":{"type":"boolean","description":"Sort in descending order","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].descending","typeLabel":"boolean"},"fieldId":{"type":"string","description":"Field ID to sort by","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].fieldId","typeLabel":"string"},"pivotValues":{"items":{"properties":{"value":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"number","format":"double","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.1","typeLabel":"number\u003cdouble>"},{"type":"boolean","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.2","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.3","typeLabel":"null"}],"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value","typeLabel":"string | number\u003cdouble> | boolean | null"},"reference":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].reference","typeLabel":"string"}},"required":["value","reference"],"type":"object","description":"Coordinates of a single pivot column, used to anchor a row sort to that\nspecific column when results are pivoted.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Pins the row-sort anchor to a specific pivot column. Ignored for non-pivoted results.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].pivotValues","typeLabel":"object[]"},"nullsFirst":{"type":"boolean","description":"Sort null values first","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX].nullsFirst","typeLabel":"boolean"}},"required":["descending","fieldId"],"type":"object","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Sort configuration for query results","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.sorts","typeLabel":"object[]"},"filters":{"properties":{"tableCalculations":{"oneOf":[{"type":"object","description":"Table calculation filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.0","typeLabel":"object"},{"type":"object","description":"Table calculation filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations.oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.tableCalculations","typeLabel":"object"},"metrics":{"oneOf":[{"type":"object","description":"Metric filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.0","typeLabel":"object"},{"type":"object","description":"Metric filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics.oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.metrics","typeLabel":"object"},"dimensions":{"oneOf":[{"type":"object","description":"Dimension filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.0","typeLabel":"object"},{"type":"object","description":"Dimension filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions.oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters.dimensions","typeLabel":"object"}},"type":"object","description":"Filter rules to apply to the query","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.filters","typeLabel":"object"},"metrics":{"items":{"type":"string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metrics.items.[INDEX]","typeLabel":"string"},"type":"array","description":"List of metric field IDs to include","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metrics","typeLabel":"string[]"},"dimensions":{"items":{"type":"string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensions.items.[INDEX]","typeLabel":"string"},"type":"array","description":"List of dimension field IDs to include","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensions","typeLabel":"string[]"},"exploreName":{"type":"string","description":"The name of the explore to query","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.exploreName","typeLabel":"string"},"metadata":{"properties":{"hasADateDimension":{"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metadata.hasADateDimension.name","typeLabel":"string"},"label":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metadata.hasADateDimension.label","typeLabel":"string"},"table":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metadata.hasADateDimension.table","typeLabel":"string"}},"required":["name","label","table"],"type":"object","description":"From T, pick a set of properties whose keys are in the union K","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metadata.hasADateDimension","typeLabel":"object"}},"required":["hasADateDimension"],"type":"object","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metadata","typeLabel":"object"},"pivotDimensions":{"items":{"type":"string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.pivotDimensions.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Dimension field IDs used as pivot columns (from chart's pivotConfig.columns).\nUsed by row_total() to determine non-pivot dimensions for GROUP BY.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.pivotDimensions","typeLabel":"string[]"},"timezone":{"type":"string","description":"Timezone for date/time values (e.g., 'America/Los_Angeles', 'UTC')","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.timezone","typeLabel":"string"},"dimensionOverrides":{"properties":{},"additionalProperties":{"properties":{"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties.formatOptions","typeLabel":"object"}},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides.additionalProperties","typeLabel":"object"},"type":"object","description":"Override formatting options for existing dimensions","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.dimensionOverrides","typeLabel":"object"},"metricOverrides":{"properties":{},"additionalProperties":{"properties":{"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties.formatOptions","typeLabel":"object"}},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides.additionalProperties","typeLabel":"object"},"type":"object","description":"Override formatting options for existing metrics","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.metricOverrides","typeLabel":"object"},"customDimensions":{"items":{"oneOf":[{"type":"object","required":["id","name","table","type","dimensionId","binType","binNumber"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.0.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.0.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.0.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.0.dimensionId","typeLabel":"string"},"binType":{"enum":["fixed_number"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.0.binType","typeLabel":"enum\u003cstring>"},"binNumber":{"type":"number","format":"double","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.0.binNumber","typeLabel":"number\u003cdouble>"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","binWidth"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.1.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.1.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.1.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.1.dimensionId","typeLabel":"string"},"binType":{"enum":["fixed_width"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.1.binType","typeLabel":"enum\u003cstring>"},"binWidth":{"type":"number","format":"double","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.1.binWidth","typeLabel":"number\u003cdouble>"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","customRange"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2.dimensionId","typeLabel":"string"},"binType":{"enum":["custom_range"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2.binType","typeLabel":"enum\u003cstring>"},"customRange":{"items":{"properties":{"to":{"type":"number","format":"double","description":"End value for this bin range (undefined for the last range)","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX].to","typeLabel":"number\u003cdouble>"},"from":{"type":"number","format":"double","description":"Start value for this bin range (undefined for the first range)","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX].from","typeLabel":"number\u003cdouble>"}},"type":"object","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","customGroups"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.dimensionId","typeLabel":"string"},"binType":{"enum":["custom_group"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.binType","typeLabel":"enum\u003cstring>"},"customGroups":{"items":{"properties":{"values":{"items":{"properties":{"value":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX].value","typeLabel":"string"},"matchType":{"enum":["exact","startsWith","endsWith","includes"],"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX].matchType","typeLabel":"enum\u003cstring>"}},"required":["value","matchType"],"type":"object","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Rules that match values into this group","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values","typeLabel":"object[]"},"name":{"type":"string","description":"Display name for this group (e.g. \"North America\")","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].name","typeLabel":"string"}},"required":["values","name"],"type":"object","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["id","name","table","type","sql","dimensionType"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.4.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.4.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.4.table","typeLabel":"string"},"type":{"enum":["sql"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression for the custom dimension","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.4.sql","typeLabel":"string"},"dimensionType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","description":"Data type of the dimension result","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.4.dimensionType","typeLabel":"enum\u003cstring>"}},"additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Custom dimensions defined inline","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.customDimensions","typeLabel":"object[]"},"additionalMetrics":{"items":{"properties":{"type":{"enum":["percentile","average","count","count_distinct","sum","sum_distinct","average_distinct","min","max","percent_of_previous","percent_of_total","running_total","number","median","string","date","timestamp","boolean"],"type":"string","description":"Aggregation type","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression (e.g., ${TABLE}.column_name)","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].sql","typeLabel":"string"},"table":{"type":"string","description":"Table name the metric belongs to","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].table","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the metric","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].name","typeLabel":"string"},"label":{"type":"string","description":"Display label for the metric","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].label","typeLabel":"string"},"description":{"type":"string","description":"Description of what the metric measures","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].description","typeLabel":"string"},"hidden":{"type":"boolean","description":"Whether the metric is hidden from users","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].hidden","typeLabel":"boolean"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].round","typeLabel":"number\u003cdouble>"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].compact","typeLabel":"enum\u003cstring>"},"format":{"oneOf":[{"type":"string","description":"Format string (legacy format specification)","enum":["km","mi","si","usd","gbp","eur","jpy","dkk","id","percent"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].format.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Format string (legacy format specification)","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].format.oneOf.1","typeLabel":"string"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].format","typeLabel":"enum\u003cstring> | string"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style for grouping/decimal characters","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].separator","typeLabel":"enum\u003cstring>"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].index","typeLabel":"number\u003cdouble>"},"filters":{"items":{"description":"Filter rule for metrics, targeting fields by reference","properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].id","typeLabel":"string"},"target":{"properties":{"fieldRef":{"type":"string","description":"Field reference to filter on (e.g., 'table_name.field_name')","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].target.fieldRef","typeLabel":"string"}},"required":["fieldRef"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].caseSensitive","typeLabel":"boolean"}},"required":["operator","id","target"],"type":"object","additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Filters to apply to this metric","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].filters","typeLabel":"object[]"},"baseDimensionName":{"type":"string","description":"Name of the base dimension/column this metric aggregates","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].baseDimensionName","typeLabel":"string"},"baseMetricName":{"type":"string","description":"Name of the explore metric this metric was cloned from","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].baseMetricName","typeLabel":"string"},"uuid":{"oneOf":[{"type":"string","description":"Unique identifier for the metric","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].uuid.oneOf.0","typeLabel":"string"},{"type":"null","description":"Unique identifier for the metric","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].uuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].uuid","typeLabel":"string | null"},"percentile":{"type":"number","format":"double","description":"Percentile value for percentile metrics","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].percentile","typeLabel":"number\u003cdouble>"},"distinctKeys":{"items":{"type":"string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].distinctKeys.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].distinctKeys","typeLabel":"string[]"},"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting configuration","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].formatOptions","typeLabel":"object"},"generationType":{"type":"string","enum":["periodOverPeriod"],"nullable":false,"description":"Optional marker for metrics generated by the system.\nCurrently used for Period-over-Period (PoP) previous-period metrics.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].generationType","typeLabel":"enum\u003cstring>"},"baseMetricId":{"type":"string","description":"For PoP-generated metrics, the base metric id that this metric is derived from.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].baseMetricId","typeLabel":"string"},"timeDimensionId":{"type":"string","description":"For PoP-generated metrics, the time dimension id used for the comparison.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].timeDimensionId","typeLabel":"string"},"granularity":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"For PoP-generated metrics, the granularity used for the comparison.","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].granularity","typeLabel":"enum\u003cstring>"},"periodOffset":{"type":"number","format":"double","description":"For PoP-generated metrics, the number of periods to offset by (>= 1).","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX].periodOffset","typeLabel":"number\u003cdouble>"}},"required":["type","sql","table","name"],"type":"object","additionalProperties":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Custom metrics defined inline (ad-hoc metrics not in the dbt model)","uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery.additionalMetrics","typeLabel":"object[]"}},"required":["tableCalculations","limit","sorts","filters","metrics","dimensions","exploreName"],"type":"object","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.metricQuery","typeLabel":"object"},"kind":{"type":"string","enum":["query"],"nullable":false,"isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.kind","typeLabel":"enum\u003cstring>"},"id":{"type":"string","isRequired":true,"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1.id","typeLabel":"string"}},"uniqueKey":"merge.oneOf.1.sources.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"merge.oneOf.1.sources.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"merge.oneOf.1.sources","typeLabel":"object[]"},"primarySourceId":{"type":"string","description":"Source whose rows a LEFT merge preserves.","isRequired":true,"uniqueKey":"merge.oneOf.1.primarySourceId","typeLabel":"string"},"repeatValuesSourceIds":{"items":{"type":"string","uniqueKey":"merge.oneOf.1.repeatValuesSourceIds.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Sources that repeat their values across the other sources' extra\ndimensions (MergeQueryMetricSource.repeatValues). Kept on the merge,\nnot the source, so the source shapes stay as they were saved.\nOmitted when none repeat.","uniqueKey":"merge.oneOf.1.repeatValuesSourceIds","typeLabel":"string[]"}},"uniqueKey":"merge.oneOf.1","typeLabel":"object"},{"type":"null","uniqueKey":"merge.oneOf.2","typeLabel":"null"}],"uniqueKey":"merge","typeLabel":"object · object · null"},"updatedAt":{"type":"string","format":"date-time","description":"Not modifiable by user, but useful to know if it has been updated. Defaults to now if omitted.","uniqueKey":"updatedAt","typeLabel":"string\u003cdate-time>"},"tableConfig":{"properties":{"columnOrder":{"items":{"type":"string","uniqueKey":"tableConfig.columnOrder.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"tableConfig.columnOrder","typeLabel":"string[]"}},"required":["columnOrder"],"type":"object","description":"Table configuration. Defaults to empty column order if omitted.","uniqueKey":"tableConfig","typeLabel":"object"},"dashboardSlug":{"type":"string","description":"Slug of the dashboard this chart belongs to (if any)","uniqueKey":"dashboardSlug","typeLabel":"string"},"downloadedAt":{"type":"string","format":"date-time","description":"Timestamp when this chart was downloaded from Lightdash","uniqueKey":"downloadedAt","typeLabel":"string\u003cdate-time>"},"verification":{"oneOf":[{"type":"object","description":"Detailed verification info (who/when). Read-only; ignored on upload.","required":["verifiedAt","verifiedBy"],"properties":{"verifiedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"verification.oneOf.0.verifiedAt","typeLabel":"string\u003cdate-time>"},"verifiedBy":{"properties":{"lastName":{"type":"string","isRequired":true,"uniqueKey":"verification.oneOf.0.verifiedBy.lastName","typeLabel":"string"},"firstName":{"type":"string","isRequired":true,"uniqueKey":"verification.oneOf.0.verifiedBy.firstName","typeLabel":"string"},"userUuid":{"type":"string","isRequired":true,"uniqueKey":"verification.oneOf.0.verifiedBy.userUuid","typeLabel":"string"}},"required":["lastName","firstName","userUuid"],"type":"object","isRequired":true,"uniqueKey":"verification.oneOf.0.verifiedBy","typeLabel":"object"}},"uniqueKey":"verification.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"verification.oneOf.1","typeLabel":"null"}],"uniqueKey":"verification","typeLabel":"object | null"},"access":{"properties":{"groups":{"items":{"properties":{"role":{"enum":["viewer","editor","admin"],"type":"string","isRequired":true,"uniqueKey":"access.groups.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"Exact, case-sensitive organization group name.","isRequired":true,"uniqueKey":"access.groups.items.[INDEX].name","typeLabel":"string"}},"required":["role","name"],"type":"object","uniqueKey":"access.groups.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"access.groups","typeLabel":"object[]"},"users":{"items":{"properties":{"role":{"enum":["viewer","editor","admin"],"type":"string","isRequired":true,"uniqueKey":"access.users.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"email":{"type":"string","description":"Primary email of a human organization member.","isRequired":true,"uniqueKey":"access.users.items.[INDEX].email","typeLabel":"string"}},"required":["role","email"],"type":"object","uniqueKey":"access.users.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"access.users","typeLabel":"object[]"}},"required":["groups","users"],"type":"object","description":"Direct user/group grants on this chart. Only independently saved charts\ncarry one — dashboard-owned chart definitions are not grantable.\nOmission leaves the existing policy unchanged on upload.","uniqueKey":"access","typeLabel":"object"},"description":{"oneOf":[{"type":"string","uniqueKey":"description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"description.oneOf.1","typeLabel":"null"}],"uniqueKey":"description","typeLabel":"string | null"},"spaceNames":{"properties":{},"type":"object","description":"Construct a type with a set of properties K of type T","uniqueKey":"spaceNames","typeLabel":"object"},"force":{"type":"boolean","uniqueKey":"force","typeLabel":"boolean"},"publicSpaceCreate":{"type":"boolean","uniqueKey":"publicSpaceCreate","typeLabel":"boolean"},"skipSpaceCreate":{"type":"boolean","uniqueKey":"skipSpaceCreate","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"\u003cstring>","tableName":"\u003cstring>","metricQuery":{"metrics":["\u003cstring>"],"limit":123,"exploreName":"\u003cstring>","dimensions":["\u003cstring>"],"sorts":[{"descending":true,"fieldId":"\u003cstring>","pivotValues":[{"value":"\u003cstring>","reference":"\u003cstring>"}],"nullsFirst":true}],"tableCalculations":[{"displayName":"\u003cstring>","name":"\u003cstring>","sql":"\u003cstring>","index":123}],"filters":{"tableCalculations":{"or":[{"target":{"fieldId":"\u003cstring>"},"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true,"values":["\u003cunknown>"],"includeNull":true,"id":"\u003cstring>"}],"id":"\u003cstring>"},"metrics":{"or":[{"target":{"fieldId":"\u003cstring>"},"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true,"values":["\u003cunknown>"],"includeNull":true,"id":"\u003cstring>"}],"id":"\u003cstring>"},"dimensions":{"or":[{"target":{"fieldId":"\u003cstring>"},"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true,"values":["\u003cunknown>"],"includeNull":true,"id":"\u003cstring>"}],"id":"\u003cstring>"}},"additionalMetrics":[{"sql":"\u003cstring>","table":"\u003cstring>","name":"\u003cstring>","label":"\u003cstring>","description":"\u003cstring>","hidden":true,"round":123,"index":123,"filters":[{"id":"\u003cstring>","target":{"fieldRef":"\u003cstring>"},"includeNull":true,"values":["\u003cunknown>"],"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true}],"baseDimensionName":"\u003cstring>","baseMetricName":"\u003cstring>","uuid":"\u003cstring>","percentile":123,"distinctKeys":["\u003cstring>"],"generationType":"periodOverPeriod","baseMetricId":"\u003cstring>","timeDimensionId":"\u003cstring>","periodOffset":123}],"customDimensions":[{"id":"\u003cstring>","name":"\u003cstring>","table":"\u003cstring>","type":"bin","dimensionId":"\u003cstring>","binType":"fixed_number","binNumber":123}],"metricOverrides":{},"dimensionOverrides":{},"timezone":"\u003cstring>","pivotDimensions":["\u003cstring>"]},"slug":"\u003cstring>","version":123,"spaceSlug":"\u003cstring>","chartConfig":"\u003cunknown>","verified":true,"contentType":"chart","parameters":{},"merge":{"limit":123,"keys":{},"queries":{},"tableCalculations":[{"sql":"\u003cstring>","displayName":"\u003cstring>","name":"\u003cstring>","formula":"\u003cstring>"}],"sort":[{"by":"\u003cstring>"}],"keyNames":{},"chartRepeats":true,"chartAs":"\u003cstring>"},"updatedAt":"2023-11-07T05:31:56Z","dashboardSlug":"\u003cstring>","downloadedAt":"2023-11-07T05:31:56Z","verification":{"verifiedAt":"2023-11-07T05:31:56Z","verifiedBy":{"lastName":"\u003cstring>","firstName":"\u003cstring>","userUuid":"\u003cstring>"}},"description":"\u003cstring>","spaceNames":{},"force":true,"publicSpaceCreate":true,"skipSpaceCreate":true}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"93b6b63e-6928-4e1e-acb3-6b94f00d4930":{"description":"Success","content":{"application/json":{"schema":{"properties":{"results":{"properties":{"charts":{"items":{"properties":{"data":{"type":"object","description":"Construct a type with the properties of T except for those in type K.","required":["oldUuid","spacePath","spaceSlug","name","tableName","metricQuery","chartConfig","slug","updatedAt","tableConfig","verification","uuid","organizationUuid","projectUuid","pinnedListUuid","pinnedListOrder","spaceUuid","spaceName","colorPaletteUuid","dashboardUuid","dashboardName","colorPalette","resolvedColorPalette"],"properties":{"name":{"type":"string","description":"Display name of the chart","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.name","typeLabel":"string"},"tableName":{"type":"string","description":"The explore/table name this chart queries from","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.tableName","typeLabel":"string"},"metricQuery":{"properties":{"tableCalculations":{"items":{"oneOf":[{"type":"object","required":["sql","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.name","typeLabel":"string"},"sql":{"type":"string","description":"SQL expression for the calculation (can reference fields with ${table.field})","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.sql","typeLabel":"string"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["template","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.name","typeLabel":"string"},"template":{"oneOf":[{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.fieldId","typeLabel":"string"},"type":{"enum":["difference_from_previous"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.fieldId","typeLabel":"string"},"type":{"enum":["percent_change_from_previous"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.fieldId","typeLabel":"string"},"type":{"enum":["percent_of_previous_value"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.fieldId","typeLabel":"string"},"type":{"enum":["percent_of_column_total"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Fields to partition by","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4.fieldId","typeLabel":"string"},"type":{"enum":["rank_in_column"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.fieldId","typeLabel":"string"},"type":{"enum":["running_total"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.type","typeLabel":"enum\u003cstring>"},"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for the running total","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["partitionBy","orderBy","fieldId","windowFunction","type"],"properties":{"partitionBy":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Fields to partition by for window functions","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.partitionBy","typeLabel":"string[]"},"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy","typeLabel":"object[]"},"fieldId":{"oneOf":[{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId","typeLabel":"string | null"},"windowFunction":{"enum":["row_number","percent_rank","cume_dist","rank","sum","avg","count","min","max"],"type":"string","description":"Window function type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.windowFunction","typeLabel":"enum\u003cstring>"},"type":{"enum":["window_function"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.type","typeLabel":"enum\u003cstring>"},"frame":{"properties":{"end":{"properties":{"type":{"enum":["unbounded_preceding","preceding","current_row","following","unbounded_following"],"type":"string","description":"Boundary type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end.type","typeLabel":"enum\u003cstring>"},"offset":{"type":"number","format":"double","description":"Offset for PRECEDING/FOLLOWING","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end.offset","typeLabel":"number\u003cdouble>"}},"required":["type"],"type":"object","description":"End boundary of the frame","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end","typeLabel":"object"},"frameType":{"enum":["rows","range"],"type":"string","description":"Type of frame (ROWS or RANGE)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.frameType","typeLabel":"enum\u003cstring>"},"start":{"properties":{"type":{"enum":["unbounded_preceding","preceding","current_row","following","unbounded_following"],"type":"string","description":"Boundary type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start.type","typeLabel":"enum\u003cstring>"},"offset":{"type":"number","format":"double","description":"Offset for PRECEDING/FOLLOWING","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start.offset","typeLabel":"number\u003cdouble>"}},"required":["type"],"type":"object","description":"Start boundary of the frame","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start","typeLabel":"object"}},"required":["end","frameType"],"type":"object","description":"Frame clause for window functions","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.template","typeLabel":"object"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["formula","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.name","typeLabel":"string"},"formula":{"type":"string","description":"Spreadsheet-like formula compiled to SQL at query time","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.formula","typeLabel":"string"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Custom calculations to perform on query results","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.tableCalculations","typeLabel":"object[]"},"limit":{"type":"number","format":"double","description":"Maximum number of rows to return","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.limit","typeLabel":"number\u003cdouble>"},"sorts":{"items":{"properties":{"descending":{"type":"boolean","description":"Sort in descending order","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].descending","typeLabel":"boolean"},"fieldId":{"type":"string","description":"Field ID to sort by","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].fieldId","typeLabel":"string"},"pivotValues":{"items":{"properties":{"value":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.1","typeLabel":"number\u003cdouble>"},{"type":"boolean","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.2","typeLabel":"boolean"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value.oneOf.3","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].value","typeLabel":"string | number\u003cdouble> | boolean | null"},"reference":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX].reference","typeLabel":"string"}},"required":["value","reference"],"type":"object","description":"Coordinates of a single pivot column, used to anchor a row sort to that\nspecific column when results are pivoted.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].pivotValues.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Pins the row-sort anchor to a specific pivot column. Ignored for non-pivoted results.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].pivotValues","typeLabel":"object[]"},"nullsFirst":{"type":"boolean","description":"Sort null values first","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX].nullsFirst","typeLabel":"boolean"}},"required":["descending","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Sort configuration for query results","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.sorts","typeLabel":"object[]"},"filters":{"properties":{"tableCalculations":{"oneOf":[{"type":"object","description":"Table calculation filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.0","typeLabel":"object"},{"type":"object","description":"Table calculation filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations.oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.tableCalculations","typeLabel":"object"},"metrics":{"oneOf":[{"type":"object","description":"Metric filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.0","typeLabel":"object"},{"type":"object","description":"Metric filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics.oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.metrics","typeLabel":"object"},"dimensions":{"oneOf":[{"type":"object","description":"Dimension filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.0","typeLabel":"object"},{"type":"object","description":"Dimension filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions.oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters.dimensions","typeLabel":"object"}},"type":"object","description":"Filter rules to apply to the query","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.filters","typeLabel":"object"},"metrics":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metrics.items.[INDEX]","typeLabel":"string"},"type":"array","description":"List of metric field IDs to include","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metrics","typeLabel":"string[]"},"dimensions":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensions.items.[INDEX]","typeLabel":"string"},"type":"array","description":"List of dimension field IDs to include","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensions","typeLabel":"string[]"},"exploreName":{"type":"string","description":"The name of the explore to query","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.exploreName","typeLabel":"string"},"metadata":{"properties":{"hasADateDimension":{"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metadata.hasADateDimension.name","typeLabel":"string"},"label":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metadata.hasADateDimension.label","typeLabel":"string"},"table":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metadata.hasADateDimension.table","typeLabel":"string"}},"required":["name","label","table"],"type":"object","description":"From T, pick a set of properties whose keys are in the union K","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metadata.hasADateDimension","typeLabel":"object"}},"required":["hasADateDimension"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metadata","typeLabel":"object"},"pivotDimensions":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.pivotDimensions.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Dimension field IDs used as pivot columns (from chart's pivotConfig.columns).\nUsed by row_total() to determine non-pivot dimensions for GROUP BY.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.pivotDimensions","typeLabel":"string[]"},"timezone":{"type":"string","description":"Timezone for date/time values (e.g., 'America/Los_Angeles', 'UTC')","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.timezone","typeLabel":"string"},"dimensionOverrides":{"properties":{},"additionalProperties":{"properties":{"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties.formatOptions","typeLabel":"object"}},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides.additionalProperties","typeLabel":"object"},"type":"object","description":"Override formatting options for existing dimensions","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.dimensionOverrides","typeLabel":"object"},"metricOverrides":{"properties":{},"additionalProperties":{"properties":{"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties.formatOptions","typeLabel":"object"}},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides.additionalProperties","typeLabel":"object"},"type":"object","description":"Override formatting options for existing metrics","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.metricOverrides","typeLabel":"object"},"customDimensions":{"items":{"oneOf":[{"type":"object","required":["id","name","table","type","dimensionId","binType","binNumber"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.0.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.0.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.0.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.0.dimensionId","typeLabel":"string"},"binType":{"enum":["fixed_number"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.0.binType","typeLabel":"enum\u003cstring>"},"binNumber":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.0.binNumber","typeLabel":"number\u003cdouble>"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","binWidth"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.1.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.1.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.1.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.1.dimensionId","typeLabel":"string"},"binType":{"enum":["fixed_width"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.1.binType","typeLabel":"enum\u003cstring>"},"binWidth":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.1.binWidth","typeLabel":"number\u003cdouble>"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","customRange"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2.dimensionId","typeLabel":"string"},"binType":{"enum":["custom_range"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2.binType","typeLabel":"enum\u003cstring>"},"customRange":{"items":{"properties":{"to":{"type":"number","format":"double","description":"End value for this bin range (undefined for the last range)","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX].to","typeLabel":"number\u003cdouble>"},"from":{"type":"number","format":"double","description":"Start value for this bin range (undefined for the first range)","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX].from","typeLabel":"number\u003cdouble>"}},"type":"object","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2.customRange","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","customGroups"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.dimensionId","typeLabel":"string"},"binType":{"enum":["custom_group"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.binType","typeLabel":"enum\u003cstring>"},"customGroups":{"items":{"properties":{"values":{"items":{"properties":{"value":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX].value","typeLabel":"string"},"matchType":{"enum":["exact","startsWith","endsWith","includes"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX].matchType","typeLabel":"enum\u003cstring>"}},"required":["value","matchType"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Rules that match values into this group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values","typeLabel":"object[]"},"name":{"type":"string","description":"Display name for this group (e.g. \"North America\")","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].name","typeLabel":"string"}},"required":["values","name"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3.customGroups","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["id","name","table","type","sql","dimensionType"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.4.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.4.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.4.table","typeLabel":"string"},"type":{"enum":["sql"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.4.sql","typeLabel":"string"},"dimensionType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","description":"Data type of the dimension result","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.4.dimensionType","typeLabel":"enum\u003cstring>"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Custom dimensions defined inline","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.customDimensions","typeLabel":"object[]"},"additionalMetrics":{"items":{"properties":{"type":{"enum":["percentile","average","count","count_distinct","sum","sum_distinct","average_distinct","min","max","percent_of_previous","percent_of_total","running_total","number","median","string","date","timestamp","boolean"],"type":"string","description":"Aggregation type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression (e.g., ${TABLE}.column_name)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].sql","typeLabel":"string"},"table":{"type":"string","description":"Table name the metric belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].table","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the metric","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].name","typeLabel":"string"},"label":{"type":"string","description":"Display label for the metric","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].label","typeLabel":"string"},"description":{"type":"string","description":"Description of what the metric measures","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].description","typeLabel":"string"},"hidden":{"type":"boolean","description":"Whether the metric is hidden from users","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].hidden","typeLabel":"boolean"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].round","typeLabel":"number\u003cdouble>"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].compact","typeLabel":"enum\u003cstring>"},"format":{"oneOf":[{"type":"string","description":"Format string (legacy format specification)","enum":["km","mi","si","usd","gbp","eur","jpy","dkk","id","percent"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].format.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Format string (legacy format specification)","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].format.oneOf.1","typeLabel":"string"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].format","typeLabel":"enum\u003cstring> | string"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style for grouping/decimal characters","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].separator","typeLabel":"enum\u003cstring>"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].index","typeLabel":"number\u003cdouble>"},"filters":{"items":{"description":"Filter rule for metrics, targeting fields by reference","properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].id","typeLabel":"string"},"target":{"properties":{"fieldRef":{"type":"string","description":"Field reference to filter on (e.g., 'table_name.field_name')","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].target.fieldRef","typeLabel":"string"}},"required":["fieldRef"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX].caseSensitive","typeLabel":"boolean"}},"required":["operator","id","target"],"type":"object","additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Filters to apply to this metric","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].filters","typeLabel":"object[]"},"baseDimensionName":{"type":"string","description":"Name of the base dimension/column this metric aggregates","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].baseDimensionName","typeLabel":"string"},"baseMetricName":{"type":"string","description":"Name of the explore metric this metric was cloned from","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].baseMetricName","typeLabel":"string"},"uuid":{"oneOf":[{"type":"string","description":"Unique identifier for the metric","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].uuid.oneOf.0","typeLabel":"string"},{"type":"null","description":"Unique identifier for the metric","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].uuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].uuid","typeLabel":"string | null"},"percentile":{"type":"number","format":"double","description":"Percentile value for percentile metrics","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].percentile","typeLabel":"number\u003cdouble>"},"distinctKeys":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].distinctKeys.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].distinctKeys","typeLabel":"string[]"},"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting configuration","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].formatOptions","typeLabel":"object"},"generationType":{"type":"string","enum":["periodOverPeriod"],"nullable":false,"description":"Optional marker for metrics generated by the system.\nCurrently used for Period-over-Period (PoP) previous-period metrics.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].generationType","typeLabel":"enum\u003cstring>"},"baseMetricId":{"type":"string","description":"For PoP-generated metrics, the base metric id that this metric is derived from.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].baseMetricId","typeLabel":"string"},"timeDimensionId":{"type":"string","description":"For PoP-generated metrics, the time dimension id used for the comparison.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].timeDimensionId","typeLabel":"string"},"granularity":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"For PoP-generated metrics, the granularity used for the comparison.","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].granularity","typeLabel":"enum\u003cstring>"},"periodOffset":{"type":"number","format":"double","description":"For PoP-generated metrics, the number of periods to offset by (>= 1).","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX].periodOffset","typeLabel":"number\u003cdouble>"}},"required":["type","sql","table","name"],"type":"object","additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Custom metrics defined inline (ad-hoc metrics not in the dbt model)","uniqueKey":"results.charts.items.[INDEX].data.metricQuery.additionalMetrics","typeLabel":"object[]"}},"required":["tableCalculations","limit","sorts","filters","metrics","dimensions","exploreName"],"type":"object","description":"The query configuration defining what data to fetch","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.metricQuery","typeLabel":"object"},"chartConfig":{"oneOf":[{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["big_number"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"comparisonField":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.comparisonField","typeLabel":"string"},"conditionalFormattings":{"items":{"oneOf":[{"type":"object","required":["rules","color","target"],"properties":{"rules":{"items":{"oneOf":[{"type":"object","required":["values","operator","id"],"properties":{"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string"},"description":"Values to compare against","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values","typeLabel":"(number\u003cdouble> | string)[]"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.id","typeLabel":"string"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.includeNull","typeLabel":"boolean"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["compareTarget","operator","id"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.id","typeLabel":"string"},"compareTarget":{"oneOf":[{"type":"object","description":"Target field to compare against","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget","typeLabel":"object | null"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string"},"description":"Values to compare against","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values","typeLabel":"(number\u003cdouble> | string)[]"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["values","operator","id"],"properties":{"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX].oneOf.1","typeLabel":"string"},{"type":"boolean","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string | boolean"},"description":"Values to compare against","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values","typeLabel":"(number\u003cdouble> | string | boolean)[]"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.id","typeLabel":"string"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.includeNull","typeLabel":"boolean"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["compareTarget","operator","id"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.id","typeLabel":"string"},"compareTarget":{"oneOf":[{"type":"object","description":"Target field to compare against","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget","typeLabel":"object | null"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.includeNull","typeLabel":"boolean"},"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX].oneOf.1","typeLabel":"string"},{"type":"boolean","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string | boolean"},"description":"Values to compare against","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values","typeLabel":"(number\u003cdouble> | string | boolean)[]"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Rules for single-color conditional formatting.\nThe number|string members are redundant for TypeScript (absorbed by the\nboolean-capable defaults) but keep the pre-boolean schema components in\nthe generated OpenAPI anyOf, so the API change stays expand-only.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.rules","typeLabel":"object[]"},"color":{"type":"string","description":"Color for single-color conditional formatting","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.color","typeLabel":"string"},"target":{"oneOf":[{"type":"object","description":"Target field for the formatting rule","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.target.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.target.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.target.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.target","typeLabel":"object | null"},"textStyle":{"properties":{"underline":{"type":"boolean","description":"Underline matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle.underline","typeLabel":"boolean"},"italic":{"type":"boolean","description":"Render matching cell text in italics","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle.italic","typeLabel":"boolean"},"bold":{"type":"boolean","description":"Render matching cell text in bold","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle.bold","typeLabel":"boolean"}},"type":"object","description":"Text styling (bold/italic/underline) applied to matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle","typeLabel":"object"},"applyTo":{"enum":["cell","text","row"],"type":"string","description":"Apply formatting to cell background or text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.applyTo","typeLabel":"enum\u003cstring>"},"darkColor":{"type":"string","description":"Color for dark mode","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0.darkColor","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["rule","color","target"],"properties":{"rule":{"properties":{"max":{"oneOf":[{"type":"number","description":"Maximum value (number or 'auto')","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.max.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Maximum value (number or 'auto')","enum":["auto"],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.max.oneOf.1","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.max","typeLabel":"number\u003cdouble> | enum\u003cstring>"},"min":{"oneOf":[{"type":"number","description":"Minimum value (number or 'auto')","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.min.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Minimum value (number or 'auto')","enum":["auto"],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.min.oneOf.1","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.min","typeLabel":"number\u003cdouble> | enum\u003cstring>"}},"required":["max","min"],"type":"object","description":"Rule for color range formatting (min/max values)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.rule","typeLabel":"object"},"color":{"properties":{"end":{"type":"string","description":"End color for gradient","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.color.end","typeLabel":"string"},"start":{"type":"string","description":"Start color for gradient","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.color.start","typeLabel":"string"}},"required":["end","start"],"type":"object","description":"Color range for gradient conditional formatting","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.color","typeLabel":"object"},"target":{"oneOf":[{"type":"object","description":"Target field for the formatting rule","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.target.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.target.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.target.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.target","typeLabel":"object | null"},"textStyle":{"properties":{"underline":{"type":"boolean","description":"Underline matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle.underline","typeLabel":"boolean"},"italic":{"type":"boolean","description":"Render matching cell text in italics","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle.italic","typeLabel":"boolean"},"bold":{"type":"boolean","description":"Render matching cell text in bold","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle.bold","typeLabel":"boolean"}},"type":"object","description":"Text styling (bold/italic/underline) applied to matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle","typeLabel":"object"},"applyTo":{"enum":["cell","text","row"],"type":"string","description":"Apply formatting to cell background or text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1.applyTo","typeLabel":"enum\u003cstring>"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Conditional formatting rules","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.conditionalFormattings","typeLabel":"object[]"},"comparisonLabel":{"type":"string","description":"Custom label for the comparison value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.comparisonLabel","typeLabel":"string"},"flipColors":{"type":"boolean","description":"Flip positive/negative colors (red for increase, green for decrease)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.flipColors","typeLabel":"boolean"},"comparisonFormat":{"enum":["raw","percentage"],"type":"string","description":"Format for comparison value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.comparisonFormat","typeLabel":"enum\u003cstring>"},"showComparison":{"type":"boolean","description":"Show comparison with previous value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.showComparison","typeLabel":"boolean"},"showTableNamesInLabel":{"type":"boolean","description":"Include table name in the label","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.showTableNamesInLabel","typeLabel":"boolean"},"showBigNumberLabel":{"type":"boolean","description":"Show the label above the number","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.showBigNumberLabel","typeLabel":"boolean"},"selectedField":{"type":"string","description":"Field ID to display as the big number","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.selectedField","typeLabel":"string"},"style":{"oneOf":[{"type":"string","description":"Number formatting style (compact notation)","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.style.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Number formatting style (compact notation)","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.style.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.style","typeLabel":"enum\u003cstring>"},"label":{"type":"string","description":"Custom label for the big number","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config.label","typeLabel":"string"}},"type":"object","description":"Chart-type-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.0","typeLabel":"object"},{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["cartesian"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"eChartsConfig":{"properties":{"legend":{"properties":{"selected":{"properties":{},"additionalProperties":{"type":"boolean","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.selected.additionalProperties","typeLabel":"boolean"},"type":"object","description":"Legend entries toggled off by name. Missing entries default to visible.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.selected","typeLabel":"object"},"placement":{"type":"string","enum":["custom","outsideRight","outsideLeft"],"description":"High-level placement preset. Overrides orient/top/right/bottom/left\nwhen set to an outside value.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.placement","typeLabel":"enum\u003cstring>"},"icon":{"type":"string","enum":["circle","rect","roundRect","triangle","diamond","pin","arrow","none"],"description":"Legend icon shape","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.icon","typeLabel":"enum\u003cstring>"},"align":{"type":"string","enum":["auto","left","right"],"description":"Legend alignment","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.align","typeLabel":"enum\u003cstring>"},"height":{"type":"string","description":"Legend height","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.height","typeLabel":"string"},"width":{"type":"string","description":"Legend width","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.width","typeLabel":"string"},"left":{"type":"string","description":"Left position","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.left","typeLabel":"string"},"bottom":{"type":"string","description":"Bottom position","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.bottom","typeLabel":"string"},"right":{"type":"string","description":"Right position","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.right","typeLabel":"string"},"top":{"type":"string","description":"Top position","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.top","typeLabel":"string"},"orient":{"type":"string","enum":["horizontal","vertical"],"description":"Legend orientation","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.orient","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["plain","scroll"],"description":"Legend type (plain or scrollable)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.type","typeLabel":"enum\u003cstring>"},"show":{"type":"boolean","description":"Show the legend","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend.show","typeLabel":"boolean"}},"type":"object","description":"Legend configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.legend","typeLabel":"object"},"grid":{"properties":{"height":{"type":"string","description":"Grid height","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.grid.height","typeLabel":"string"},"width":{"type":"string","description":"Grid width","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.grid.width","typeLabel":"string"},"left":{"type":"string","description":"Left padding","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.grid.left","typeLabel":"string"},"bottom":{"type":"string","description":"Bottom padding","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.grid.bottom","typeLabel":"string"},"right":{"type":"string","description":"Right padding","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.grid.right","typeLabel":"string"},"top":{"type":"string","description":"Top padding","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.grid.top","typeLabel":"string"},"containLabel":{"type":"boolean","description":"Whether the grid area contains axis labels","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.grid.containLabel","typeLabel":"boolean"}},"type":"object","description":"Grid (chart area) configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.grid","typeLabel":"object"},"series":{"items":{"properties":{"type":{"enum":["line","bar","scatter","area"],"type":"string","description":"Series visualization type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"encode":{"properties":{"yRef":{"properties":{"field":{"type":"string","description":"Field ID being referenced","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.yRef.field","typeLabel":"string"},"pivotValues":{"items":{"properties":{"value":{"description":"Pivot value","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.yRef.pivotValues.items.[INDEX].value","typeLabel":"any"},"field":{"type":"string","description":"Pivot field ID","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.yRef.pivotValues.items.[INDEX].field","typeLabel":"string"}},"required":["value","field"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.yRef.pivotValues.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Pivot values for this reference (for pivoted data)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.yRef.pivotValues","typeLabel":"object[]"}},"required":["field"],"type":"object","description":"Y axis field reference","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.yRef","typeLabel":"object"},"xRef":{"properties":{"field":{"type":"string","description":"Field ID being referenced","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.xRef.field","typeLabel":"string"},"pivotValues":{"items":{"properties":{"value":{"description":"Pivot value","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.xRef.pivotValues.items.[INDEX].value","typeLabel":"any"},"field":{"type":"string","description":"Pivot field ID","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.xRef.pivotValues.items.[INDEX].field","typeLabel":"string"}},"required":["value","field"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.xRef.pivotValues.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Pivot values for this reference (for pivoted data)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.xRef.pivotValues","typeLabel":"object[]"}},"required":["field"],"type":"object","description":"X axis field reference","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.xRef","typeLabel":"object"},"y":{"type":"string","description":"Hash of yRef (computed)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.y","typeLabel":"string"},"x":{"type":"string","description":"Hash of xRef (computed)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode.x","typeLabel":"string"}},"required":["yRef","xRef"],"type":"object","description":"Field references for this series","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].encode","typeLabel":"object"},"isFilteredOut":{"type":"boolean","description":"Whether this series is currently filtered out","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].isFilteredOut","typeLabel":"boolean"},"markLine":{"properties":{"data":{"items":{"properties":{"uuid":{"type":"string","description":"Unique identifier for this mark line","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].uuid","typeLabel":"string"},"dynamicValue":{"type":"string","enum":["average"],"nullable":false,"description":"Dynamic value type","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].dynamicValue","typeLabel":"enum\u003cstring>"},"label":{"properties":{"position":{"type":"string","enum":["start","middle","end"],"description":"Label position","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].label.position","typeLabel":"enum\u003cstring>"},"formatter":{"type":"string","description":"Label formatter","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].label.formatter","typeLabel":"string"}},"type":"object","description":"Label configuration for this data point","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].label","typeLabel":"object"},"lineStyle":{"properties":{"color":{"type":"string","description":"Line color","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].lineStyle.color","typeLabel":"string"}},"required":["color"],"type":"object","description":"Line style for this data point","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].lineStyle","typeLabel":"object"},"type":{"type":"string","description":"Point type (e.g., 'average')","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].type","typeLabel":"string"},"value":{"type":"string","description":"Value to display","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].value","typeLabel":"string"},"name":{"type":"string","description":"Name of the reference line","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].name","typeLabel":"string"},"xAxis":{"type":"string","description":"X axis value for vertical line","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].xAxis","typeLabel":"string"},"yAxis":{"type":"string","description":"Y axis value for horizontal line","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX].yAxis","typeLabel":"string"}},"required":["uuid"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Reference line data points","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.data","typeLabel":"object[]"},"label":{"properties":{"formatter":{"type":"string","description":"Label formatter","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.label.formatter","typeLabel":"string"}},"type":"object","description":"Label configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.label","typeLabel":"object"},"lineStyle":{"properties":{"type":{"type":"string","description":"Line type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.lineStyle.type","typeLabel":"string"},"width":{"type":"number","format":"double","description":"Line width","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.lineStyle.width","typeLabel":"number\u003cdouble>"},"color":{"type":"string","description":"Line color","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.lineStyle.color","typeLabel":"string"}},"required":["type","width","color"],"type":"object","description":"Line style configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.lineStyle","typeLabel":"object"},"symbol":{"type":"string","description":"Symbol at line endpoints","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine.symbol","typeLabel":"string"}},"required":["data"],"type":"object","description":"Reference line configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].markLine","typeLabel":"object"},"smooth":{"type":"boolean","description":"Use smooth curves for line/area charts","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].smooth","typeLabel":"boolean"},"showSymbol":{"type":"boolean","description":"Show symbols/markers on data points","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].showSymbol","typeLabel":"boolean"},"areaStyle":{"properties":{},"additionalProperties":{"oneOf":[{}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].areaStyle.additionalProperties","typeLabel":"any"},"type":"object","description":"Area fill style (presence indicates area chart)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].areaStyle","typeLabel":"object"},"hidden":{"type":"boolean","description":"Hide this series from the chart","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].hidden","typeLabel":"boolean"},"label":{"properties":{"showSeriesName":{"type":"boolean","description":"Show the metric field name","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].label.showSeriesName","typeLabel":"boolean"},"showLabel":{"type":"boolean","description":"Show the legend/pivot name","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].label.showLabel","typeLabel":"boolean"},"showValue":{"type":"boolean","description":"Show the metric value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].label.showValue","typeLabel":"boolean"},"showOverlappingLabels":{"type":"boolean","description":"Show labels even when they overlap","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].label.showOverlappingLabels","typeLabel":"boolean"},"position":{"type":"string","enum":["left","top","right","bottom","inside"],"description":"Position of data labels","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].label.position","typeLabel":"enum\u003cstring>"},"color":{"type":"string","description":"Custom data label color (hex code)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].label.color","typeLabel":"string"},"show":{"type":"boolean","description":"Show data labels on points","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].label.show","typeLabel":"boolean"}},"type":"object","description":"Data label configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].label","typeLabel":"object"},"yAxisIndex":{"type":"number","format":"double","description":"Index of Y axis to use (for dual Y axis charts)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].yAxisIndex","typeLabel":"number\u003cdouble>"},"color":{"type":"string","description":"Color for the series (hex code)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].color","typeLabel":"string"},"name":{"type":"string","description":"Display name for the series","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].name","typeLabel":"string"},"stackLabel":{"properties":{"show":{"type":"boolean","description":"Show stack total labels","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].stackLabel.show","typeLabel":"boolean"}},"type":"object","description":"Stack total label configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].stackLabel","typeLabel":"object"},"stack":{"type":"string","description":"Stack group name (series with same stack name are stacked)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX].stack","typeLabel":"string"}},"required":["type","encode"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Chart series configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.series","typeLabel":"object[]"},"xAxis":{"items":{"type":"object","properties":{"rotate":{"type":"number","format":"double","description":"Rotation angle for axis labels","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].rotate","typeLabel":"number\u003cdouble>"},"inverse":{"type":"boolean","description":"Reverse the axis direction","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].inverse","typeLabel":"boolean"},"maxOffset":{"type":"string","description":"Offset from maximum value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].maxOffset","typeLabel":"string"},"minOffset":{"type":"string","description":"Offset from minimum value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].minOffset","typeLabel":"string"},"minInterval":{"type":"number","format":"double","description":"Minimum interval between ticks (e.g. 1 to force integer ticks)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].minInterval","typeLabel":"number\u003cdouble>"},"max":{"type":"string","description":"Maximum value (or 'dataMax' for auto)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].max","typeLabel":"string"},"min":{"type":"string","description":"Minimum value (or 'dataMin' for auto)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].min","typeLabel":"string"},"name":{"type":"string","description":"Axis title","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].name","typeLabel":"string"},"treatAsCategory":{"type":"boolean","description":"Render a numeric X axis as discrete categories instead of a continuous scale","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].treatAsCategory","typeLabel":"boolean"},"dataZoomItemCount":{"type":"number","format":"double","description":"Number of items visible at once in the data-zoom window","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].dataZoomItemCount","typeLabel":"number\u003cdouble>"},"dataZoomAnchor":{"type":"string","enum":["start","end"],"description":"Where the initial data-zoom window anchors when data zoom is enabled","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].dataZoomAnchor","typeLabel":"enum\u003cstring>"},"enableDataZoom":{"type":"boolean","description":"Enable data zoom slider for this axis","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].enableDataZoom","typeLabel":"boolean"},"sortType":{"enum":["default","category","bar_totals"],"type":"string","description":"How to sort the X axis","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX].sortType","typeLabel":"enum\u003cstring>"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis.items.[INDEX]","typeLabel":"object"},"type":"array","description":"X axis configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.xAxis","typeLabel":"object[]"},"yAxis":{"items":{"properties":{"rotate":{"type":"number","format":"double","description":"Rotation angle for axis labels","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.yAxis.items.[INDEX].rotate","typeLabel":"number\u003cdouble>"},"inverse":{"type":"boolean","description":"Reverse the axis direction","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.yAxis.items.[INDEX].inverse","typeLabel":"boolean"},"maxOffset":{"type":"string","description":"Offset from maximum value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.yAxis.items.[INDEX].maxOffset","typeLabel":"string"},"minOffset":{"type":"string","description":"Offset from minimum value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.yAxis.items.[INDEX].minOffset","typeLabel":"string"},"minInterval":{"type":"number","format":"double","description":"Minimum interval between ticks (e.g. 1 to force integer ticks)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.yAxis.items.[INDEX].minInterval","typeLabel":"number\u003cdouble>"},"max":{"type":"string","description":"Maximum value (or 'dataMax' for auto)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.yAxis.items.[INDEX].max","typeLabel":"string"},"min":{"type":"string","description":"Minimum value (or 'dataMin' for auto)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.yAxis.items.[INDEX].min","typeLabel":"string"},"name":{"type":"string","description":"Axis title","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.yAxis.items.[INDEX].name","typeLabel":"string"}},"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.yAxis.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Y axis configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.yAxis","typeLabel":"object[]"},"tooltip":{"type":"string","description":"Tooltip formatter template","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.tooltip","typeLabel":"string"},"tooltipSort":{"type":"string","enum":["default","alphabetical","value_ascending","value_descending"],"description":"How to sort tooltip items","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.tooltipSort","typeLabel":"enum\u003cstring>"},"showAxisTicks":{"type":"boolean","description":"Show tick marks on axes","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.showAxisTicks","typeLabel":"boolean"},"axisLabelFontSize":{"type":"number","format":"double","description":"Font size for axis labels","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.axisLabelFontSize","typeLabel":"number\u003cdouble>"},"axisTitleFontSize":{"type":"number","format":"double","description":"Font size for axis titles","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig.axisTitleFontSize","typeLabel":"number\u003cdouble>"}},"type":"object","description":"ECharts-specific configuration","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.eChartsConfig","typeLabel":"object"},"layout":{"properties":{"xField":{"type":"string","description":"Field ID to use for the X axis","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.xField","typeLabel":"string"},"yField":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.yField.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Field IDs to use for the Y axis","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.yField","typeLabel":"string[]"},"flipAxes":{"type":"boolean","description":"Swap X and Y axes (creates horizontal bar charts)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.flipAxes","typeLabel":"boolean"},"showGridX":{"type":"boolean","description":"Show vertical grid lines","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.showGridX","typeLabel":"boolean"},"showGridY":{"type":"boolean","description":"Show horizontal grid lines","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.showGridY","typeLabel":"boolean"},"showXAxis":{"type":"boolean","description":"Show the X axis","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.showXAxis","typeLabel":"boolean"},"showYAxis":{"type":"boolean","description":"Show the Y axis","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.showYAxis","typeLabel":"boolean"},"showLeftYAxis":{"type":"boolean","description":"Controls left/primary Y-axis visibility","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.showLeftYAxis","typeLabel":"boolean"},"showRightYAxis":{"type":"boolean","description":"Controls right/secondary Y-axis visibility","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.showRightYAxis","typeLabel":"boolean"},"stack":{"oneOf":[{"type":"string","description":"Stack series together (true for default stacking, or string for stack group name)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.stack.oneOf.0","typeLabel":"string"},{"type":"boolean","description":"Stack series together (true for default stacking, or string for stack group name)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.stack.oneOf.1","typeLabel":"boolean"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.stack","typeLabel":"string | boolean"},"connectNulls":{"type":"boolean","description":"Connect null data points with a line","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.connectNulls","typeLabel":"boolean"},"colorByCategory":{"type":"boolean","description":"Color each bar by its category value instead of using a single series color","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.colorByCategory","typeLabel":"boolean"},"categoryColorOverrides":{"properties":{},"type":"object","description":"Per-category color overrides (maps category value to hex color)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.categoryColorOverrides","typeLabel":"object"},"showIncompletePeriod":{"type":"boolean","description":"If true, marks the unfinished current period (for example, this week) with a dashed line segment and hatched bars.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout.showIncompletePeriod","typeLabel":"boolean"}},"type":"object","description":"Layout configuration for the chart axes and orientation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.layout","typeLabel":"object"},"columnLimit":{"type":"number","format":"double","description":"Maximum number of pivot columns to display","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.columnLimit","typeLabel":"number\u003cdouble>"},"rowLimit":{"properties":{"count":{"type":"number","format":"double","description":"Number of rows to show or hide","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.rowLimit.count","typeLabel":"number\u003cdouble>"},"direction":{"type":"string","enum":["first","last"],"description":"Whether to target the first or last N rows","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.rowLimit.direction","typeLabel":"enum\u003cstring>"},"mode":{"type":"string","enum":["show","hide"],"description":"Whether to show or hide the selected rows","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.rowLimit.mode","typeLabel":"enum\u003cstring>"}},"required":["count","direction","mode"],"type":"object","description":"Limit displayed rows to first/last N","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.rowLimit","typeLabel":"object"},"metadata":{"properties":{},"additionalProperties":{"properties":{"color":{"type":"string","description":"Color for the series","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.metadata.additionalProperties.color","typeLabel":"string"}},"required":["color"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.metadata.additionalProperties","typeLabel":"object"},"type":"object","description":"Metadata for series (colors, etc.)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.metadata","typeLabel":"object"},"conditionalFormattings":{"items":{"oneOf":[{"type":"object","required":["rules","color","target"],"properties":{"rules":{"items":{"oneOf":[{"type":"object","required":["values","operator","id"],"properties":{"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string"},"description":"Values to compare against","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values","typeLabel":"(number\u003cdouble> | string)[]"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.id","typeLabel":"string"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.includeNull","typeLabel":"boolean"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["compareTarget","operator","id"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.id","typeLabel":"string"},"compareTarget":{"oneOf":[{"type":"object","description":"Target field to compare against","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget","typeLabel":"object | null"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string"},"description":"Values to compare against","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values","typeLabel":"(number\u003cdouble> | string)[]"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["values","operator","id"],"properties":{"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX].oneOf.1","typeLabel":"string"},{"type":"boolean","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string | boolean"},"description":"Values to compare against","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values","typeLabel":"(number\u003cdouble> | string | boolean)[]"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.id","typeLabel":"string"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.includeNull","typeLabel":"boolean"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["compareTarget","operator","id"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.id","typeLabel":"string"},"compareTarget":{"oneOf":[{"type":"object","description":"Target field to compare against","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget","typeLabel":"object | null"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.includeNull","typeLabel":"boolean"},"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX].oneOf.1","typeLabel":"string"},{"type":"boolean","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string | boolean"},"description":"Values to compare against","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values","typeLabel":"(number\u003cdouble> | string | boolean)[]"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Rules for single-color conditional formatting.\nThe number|string members are redundant for TypeScript (absorbed by the\nboolean-capable defaults) but keep the pre-boolean schema components in\nthe generated OpenAPI anyOf, so the API change stays expand-only.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.rules","typeLabel":"object[]"},"color":{"type":"string","description":"Color for single-color conditional formatting","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.color","typeLabel":"string"},"target":{"oneOf":[{"type":"object","description":"Target field for the formatting rule","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.target.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.target.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.target.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.target","typeLabel":"object | null"},"textStyle":{"properties":{"underline":{"type":"boolean","description":"Underline matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle.underline","typeLabel":"boolean"},"italic":{"type":"boolean","description":"Render matching cell text in italics","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle.italic","typeLabel":"boolean"},"bold":{"type":"boolean","description":"Render matching cell text in bold","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle.bold","typeLabel":"boolean"}},"type":"object","description":"Text styling (bold/italic/underline) applied to matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle","typeLabel":"object"},"applyTo":{"enum":["cell","text","row"],"type":"string","description":"Apply formatting to cell background or text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.applyTo","typeLabel":"enum\u003cstring>"},"darkColor":{"type":"string","description":"Color for dark mode","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0.darkColor","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["rule","color","target"],"properties":{"rule":{"properties":{"max":{"oneOf":[{"type":"number","description":"Maximum value (number or 'auto')","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.max.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Maximum value (number or 'auto')","enum":["auto"],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.max.oneOf.1","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.max","typeLabel":"number\u003cdouble> | enum\u003cstring>"},"min":{"oneOf":[{"type":"number","description":"Minimum value (number or 'auto')","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.min.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Minimum value (number or 'auto')","enum":["auto"],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.min.oneOf.1","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.min","typeLabel":"number\u003cdouble> | enum\u003cstring>"}},"required":["max","min"],"type":"object","description":"Rule for color range formatting (min/max values)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.rule","typeLabel":"object"},"color":{"properties":{"end":{"type":"string","description":"End color for gradient","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.color.end","typeLabel":"string"},"start":{"type":"string","description":"Start color for gradient","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.color.start","typeLabel":"string"}},"required":["end","start"],"type":"object","description":"Color range for gradient conditional formatting","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.color","typeLabel":"object"},"target":{"oneOf":[{"type":"object","description":"Target field for the formatting rule","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.target.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.target.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.target.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.target","typeLabel":"object | null"},"textStyle":{"properties":{"underline":{"type":"boolean","description":"Underline matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle.underline","typeLabel":"boolean"},"italic":{"type":"boolean","description":"Render matching cell text in italics","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle.italic","typeLabel":"boolean"},"bold":{"type":"boolean","description":"Render matching cell text in bold","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle.bold","typeLabel":"boolean"}},"type":"object","description":"Text styling (bold/italic/underline) applied to matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle","typeLabel":"object"},"applyTo":{"enum":["cell","text","row"],"type":"string","description":"Apply formatting to cell background or text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1.applyTo","typeLabel":"enum\u003cstring>"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Conditional formatting rules","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config.conditionalFormattings","typeLabel":"object[]"}},"required":["eChartsConfig","layout"],"type":"object","description":"Chart-type-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.1","typeLabel":"object"},{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["custom"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.2.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"spec":{"properties":{},"additionalProperties":{"oneOf":[{}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.2.config.spec.additionalProperties","typeLabel":"any"},"type":"object","description":"Custom visualization specification (Vega-Lite or other)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.2.config.spec","typeLabel":"object"}},"type":"object","description":"Chart-type-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.2.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.2","typeLabel":"object"},{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["pie"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"metadata":{"properties":{},"additionalProperties":{"properties":{"color":{"type":"string","description":"Color for the series","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.metadata.additionalProperties.color","typeLabel":"string"}},"required":["color"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.metadata.additionalProperties","typeLabel":"object"},"type":"object","description":"Metadata for series (colors, etc.)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.metadata","typeLabel":"object"},"legendMaxItemLength":{"type":"number","format":"double","description":"Maximum character length for legend items","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.legendMaxItemLength","typeLabel":"number\u003cdouble>"},"legendPosition":{"type":"string","enum":["horizontal","vertical"],"nullable":false,"description":"Legend position/orientation","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.legendPosition","typeLabel":"enum\u003cstring>"},"showLegend":{"type":"boolean","description":"Show the chart legend","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.showLegend","typeLabel":"boolean"},"groupSortOverrides":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupSortOverrides.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Custom sort order for groups/slices","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupSortOverrides","typeLabel":"string[]"},"groupValueOptionOverrides":{"properties":{},"additionalProperties":{"properties":{"valueLabel":{"type":"string","enum":["hidden","inside","outside"],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupValueOptionOverrides.additionalProperties.valueLabel","typeLabel":"enum\u003cstring>"},"showValue":{"type":"boolean","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupValueOptionOverrides.additionalProperties.showValue","typeLabel":"boolean"},"showPercentage":{"type":"boolean","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupValueOptionOverrides.additionalProperties.showPercentage","typeLabel":"boolean"},"valueLabelColor":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupValueOptionOverrides.additionalProperties.valueLabelColor","typeLabel":"string"}},"type":"object","description":"Make all properties in T optional","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupValueOptionOverrides.additionalProperties","typeLabel":"object"},"type":"object","description":"Per-slice value display options","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupValueOptionOverrides","typeLabel":"object"},"groupColorOverrides":{"properties":{},"type":"object","description":"Custom colors for each group/slice","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupColorOverrides","typeLabel":"object"},"groupLabelOverrides":{"properties":{},"type":"object","description":"Custom labels for each group/slice","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupLabelOverrides","typeLabel":"object"},"valueLabelColor":{"type":"string","description":"Custom color for value labels","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.valueLabelColor","typeLabel":"string"},"showPercentage":{"type":"boolean","description":"Show percentage on slices","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.showPercentage","typeLabel":"boolean"},"showValue":{"type":"boolean","description":"Show the actual value on slices","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.showValue","typeLabel":"boolean"},"valueLabel":{"type":"string","enum":["hidden","inside","outside"],"nullable":false,"description":"Position of value labels on slices","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.valueLabel","typeLabel":"enum\u003cstring>"},"isDonut":{"type":"boolean","description":"Display as donut chart with hole in center","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.isDonut","typeLabel":"boolean"},"metricId":{"type":"string","description":"Field ID of the metric to display","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.metricId","typeLabel":"string"},"groupFieldIds":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupFieldIds.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Field IDs used for grouping/slicing the pie","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config.groupFieldIds","typeLabel":"string[]"}},"type":"object","description":"Chart-type-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.3","typeLabel":"object"},{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["funnel"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"legendPosition":{"enum":["horizontal","vertical"],"type":"string","description":"Legend orientation","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.legendPosition","typeLabel":"enum\u003cstring>"},"showLegend":{"type":"boolean","description":"Show the chart legend","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.showLegend","typeLabel":"boolean"},"labels":{"properties":{"showPercentage":{"type":"boolean","description":"Show percentage","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.labels.showPercentage","typeLabel":"boolean"},"showValue":{"type":"boolean","description":"Show the actual value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.labels.showValue","typeLabel":"boolean"},"position":{"enum":["inside","left","right","hidden"],"type":"string","description":"Position of labels","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.labels.position","typeLabel":"enum\u003cstring>"}},"type":"object","description":"Label display configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.labels","typeLabel":"object"},"colorOverrides":{"properties":{},"type":"object","description":"Custom colors for funnel stages","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.colorOverrides","typeLabel":"object"},"labelOverrides":{"properties":{},"type":"object","description":"Custom labels for funnel stages","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.labelOverrides","typeLabel":"object"},"metadata":{"properties":{},"additionalProperties":{"properties":{"color":{"type":"string","description":"Color for the series","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.metadata.additionalProperties.color","typeLabel":"string"}},"required":["color"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.metadata.additionalProperties","typeLabel":"object"},"type":"object","description":"Metadata for series (colors, etc.)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.metadata","typeLabel":"object"},"fieldId":{"type":"string","description":"Field ID to display in funnel","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.fieldId","typeLabel":"string"},"dataInput":{"enum":["row","column"],"type":"string","description":"How data is structured (row-based or column-based)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config.dataInput","typeLabel":"enum\u003cstring>"}},"type":"object","description":"Chart-type-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.4","typeLabel":"object"},{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["table"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"rowLimit":{"properties":{"count":{"type":"number","format":"double","description":"Number of rows to show or hide","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.rowLimit.count","typeLabel":"number\u003cdouble>"},"direction":{"type":"string","enum":["first","last"],"description":"Whether to target the first or last N rows","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.rowLimit.direction","typeLabel":"enum\u003cstring>"},"mode":{"type":"string","enum":["show","hide"],"description":"Whether to show or hide the selected rows","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.rowLimit.mode","typeLabel":"enum\u003cstring>"}},"required":["count","direction","mode"],"type":"object","description":"Limit displayed rows to first/last N","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.rowLimit","typeLabel":"object"},"metricsAsRows":{"type":"boolean","description":"Display metrics as rows instead of columns","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.metricsAsRows","typeLabel":"boolean"},"conditionalFormattings":{"items":{"oneOf":[{"type":"object","required":["rules","color","target"],"properties":{"rules":{"items":{"oneOf":[{"type":"object","required":["values","operator","id"],"properties":{"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string"},"description":"Values to compare against","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.values","typeLabel":"(number\u003cdouble> | string)[]"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.id","typeLabel":"string"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0.includeNull","typeLabel":"boolean"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["compareTarget","operator","id"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.id","typeLabel":"string"},"compareTarget":{"oneOf":[{"type":"object","description":"Target field to compare against","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.compareTarget","typeLabel":"object | null"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string"},"description":"Values to compare against","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1.values","typeLabel":"(number\u003cdouble> | string)[]"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["values","operator","id"],"properties":{"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX].oneOf.1","typeLabel":"string"},{"type":"boolean","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string | boolean"},"description":"Values to compare against","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.values","typeLabel":"(number\u003cdouble> | string | boolean)[]"},"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.id","typeLabel":"string"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2.includeNull","typeLabel":"boolean"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["compareTarget","operator","id"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter rule","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.id","typeLabel":"string"},"compareTarget":{"oneOf":[{"type":"object","description":"Target field to compare against","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.compareTarget","typeLabel":"object | null"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.includeNull","typeLabel":"boolean"},"values":{"type":"array","items":{"oneOf":[{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX].oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX].oneOf.1","typeLabel":"string"},{"type":"boolean","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX].oneOf.2","typeLabel":"boolean"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values.items.[INDEX]","typeLabel":"number\u003cdouble> | string | boolean"},"description":"Values to compare against","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3.values","typeLabel":"(number\u003cdouble> | string | boolean)[]"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX].oneOf.3","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Rules for single-color conditional formatting.\nThe number|string members are redundant for TypeScript (absorbed by the\nboolean-capable defaults) but keep the pre-boolean schema components in\nthe generated OpenAPI anyOf, so the API change stays expand-only.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.rules","typeLabel":"object[]"},"color":{"type":"string","description":"Color for single-color conditional formatting","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.color","typeLabel":"string"},"target":{"oneOf":[{"type":"object","description":"Target field for the formatting rule","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.target.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.target.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.target.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.target","typeLabel":"object | null"},"textStyle":{"properties":{"underline":{"type":"boolean","description":"Underline matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle.underline","typeLabel":"boolean"},"italic":{"type":"boolean","description":"Render matching cell text in italics","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle.italic","typeLabel":"boolean"},"bold":{"type":"boolean","description":"Render matching cell text in bold","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle.bold","typeLabel":"boolean"}},"type":"object","description":"Text styling (bold/italic/underline) applied to matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.textStyle","typeLabel":"object"},"applyTo":{"enum":["cell","text","row"],"type":"string","description":"Apply formatting to cell background or text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.applyTo","typeLabel":"enum\u003cstring>"},"darkColor":{"type":"string","description":"Color for dark mode","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0.darkColor","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["rule","color","target"],"properties":{"rule":{"properties":{"max":{"oneOf":[{"type":"number","description":"Maximum value (number or 'auto')","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.max.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Maximum value (number or 'auto')","enum":["auto"],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.max.oneOf.1","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.max","typeLabel":"number\u003cdouble> | enum\u003cstring>"},"min":{"oneOf":[{"type":"number","description":"Minimum value (number or 'auto')","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.min.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","description":"Minimum value (number or 'auto')","enum":["auto"],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.min.oneOf.1","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.rule.min","typeLabel":"number\u003cdouble> | enum\u003cstring>"}},"required":["max","min"],"type":"object","description":"Rule for color range formatting (min/max values)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.rule","typeLabel":"object"},"color":{"properties":{"end":{"type":"string","description":"End color for gradient","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.color.end","typeLabel":"string"},"start":{"type":"string","description":"Start color for gradient","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.color.start","typeLabel":"string"}},"required":["end","start"],"type":"object","description":"Color range for gradient conditional formatting","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.color","typeLabel":"object"},"target":{"oneOf":[{"type":"object","description":"Target field for the formatting rule","required":["fieldId"],"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.target.oneOf.0.fieldId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.target.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.target.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.target","typeLabel":"object | null"},"textStyle":{"properties":{"underline":{"type":"boolean","description":"Underline matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle.underline","typeLabel":"boolean"},"italic":{"type":"boolean","description":"Render matching cell text in italics","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle.italic","typeLabel":"boolean"},"bold":{"type":"boolean","description":"Render matching cell text in bold","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle.bold","typeLabel":"boolean"}},"type":"object","description":"Text styling (bold/italic/underline) applied to matching cell text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.textStyle","typeLabel":"object"},"applyTo":{"enum":["cell","text","row"],"type":"string","description":"Apply formatting to cell background or text","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1.applyTo","typeLabel":"enum\u003cstring>"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Conditional formatting rules","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.conditionalFormattings","typeLabel":"object[]"},"columns":{"properties":{},"additionalProperties":{"properties":{"width":{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.columns.additionalProperties.width","typeLabel":"number\u003cdouble>"},"negativeColor":{"type":"string","description":"Color for negative bars in diverging bar display (hex code). Falls back to `color` when unset.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.columns.additionalProperties.negativeColor","typeLabel":"string"},"color":{"type":"string","description":"Color for bar display style (hex code)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.columns.additionalProperties.color","typeLabel":"string"},"displayStyle":{"type":"string","enum":["text","bar"],"description":"How to display the cell value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.columns.additionalProperties.displayStyle","typeLabel":"enum\u003cstring>"},"frozen":{"type":"boolean","description":"Freeze the column (stick to left side)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.columns.additionalProperties.frozen","typeLabel":"boolean"},"name":{"type":"string","description":"Custom display name for the column","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.columns.additionalProperties.name","typeLabel":"string"},"visible":{"type":"boolean","description":"Whether the column is visible","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.columns.additionalProperties.visible","typeLabel":"boolean"}},"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.columns.additionalProperties","typeLabel":"object"},"type":"object","description":"Column-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.columns","typeLabel":"object"},"showRowGrouping":{"type":"boolean","description":"Visually deduplicate repeated row-index dimension values across consecutive\nrows without showing aggregate subtotal rows. When `showSubtotals` is true,\ngrouping is implicitly active and this flag is ignored. Defaults to false.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.showRowGrouping","typeLabel":"boolean"},"showSubtotalsExpanded":{"type":"boolean","description":"Default subtotal rows to expanded (vs. collapsed). Only meaningful when showSubtotals is true.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.showSubtotalsExpanded","typeLabel":"boolean"},"showSubtotals":{"type":"boolean","description":"Show subtotal rows","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.showSubtotals","typeLabel":"boolean"},"showResultsTotal":{"type":"boolean","description":"Show total results count","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.showResultsTotal","typeLabel":"boolean"},"hideRowNumbers":{"type":"boolean","description":"Hide row number column","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.hideRowNumbers","typeLabel":"boolean"},"showTableNames":{"type":"boolean","description":"Show table names in column headers","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.showTableNames","typeLabel":"boolean"},"showRowCalculation":{"type":"boolean","description":"Show row totals/calculations","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.showRowCalculation","typeLabel":"boolean"},"showColumnCalculation":{"type":"boolean","description":"Show column totals/calculations","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config.showColumnCalculation","typeLabel":"boolean"}},"type":"object","description":"Chart-type-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.5","typeLabel":"object"},{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["treemap"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"endColorThreshold":{"type":"number","format":"double","description":"Value threshold for end color","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.endColorThreshold","typeLabel":"number\u003cdouble>"},"startColorThreshold":{"type":"number","format":"double","description":"Value threshold for start color","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.startColorThreshold","typeLabel":"number\u003cdouble>"},"useDynamicColors":{"type":"boolean","description":"Use dynamic color scaling based on values","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.useDynamicColors","typeLabel":"boolean"},"endColor":{"type":"string","description":"End color for color gradient (hex code)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.endColor","typeLabel":"string"},"startColor":{"type":"string","description":"Start color for color gradient (hex code)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.startColor","typeLabel":"string"},"colorMetricId":{"type":"string","description":"Field ID for node color value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.colorMetricId","typeLabel":"string"},"sizeMetricId":{"type":"string","description":"Field ID for node size","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.sizeMetricId","typeLabel":"string"},"groupFieldIds":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.groupFieldIds.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Field IDs for hierarchical grouping","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.groupFieldIds","typeLabel":"string[]"},"leafDepth":{"type":"number","format":"double","description":"Depth of leaf nodes to display","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.leafDepth","typeLabel":"number\u003cdouble>"},"visibleMin":{"type":"number","format":"double","description":"Minimum size for visible nodes","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config.visibleMin","typeLabel":"number\u003cdouble>"}},"type":"object","description":"Chart-type-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.6","typeLabel":"object"},{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["gauge"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"customPercentageLabel":{"type":"string","description":"Custom label for the percentage display","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.customPercentageLabel","typeLabel":"string"},"showPercentage":{"type":"boolean","description":"Show value as percentage","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.showPercentage","typeLabel":"boolean"},"customLabel":{"type":"string","description":"Custom label for the gauge value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.customLabel","typeLabel":"string"},"sections":{"items":{"properties":{"color":{"type":"string","description":"Color for this section (hex code)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.sections.items.[INDEX].color","typeLabel":"string"},"max":{"type":"number","format":"double","description":"End value for this section","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.sections.items.[INDEX].max","typeLabel":"number\u003cdouble>"},"min":{"type":"number","format":"double","description":"Start value for this section","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.sections.items.[INDEX].min","typeLabel":"number\u003cdouble>"},"maxFieldId":{"type":"string","description":"Field ID to use as max value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.sections.items.[INDEX].maxFieldId","typeLabel":"string"},"minFieldId":{"type":"string","description":"Field ID to use as min value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.sections.items.[INDEX].minFieldId","typeLabel":"string"}},"required":["color","max","min"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.sections.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Color sections/ranges for the gauge","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.sections","typeLabel":"object[]"},"showAxisLabels":{"type":"boolean","description":"Show min/max labels on the gauge","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.showAxisLabels","typeLabel":"boolean"},"maxFieldId":{"type":"string","description":"Field ID to use as the max value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.maxFieldId","typeLabel":"string"},"max":{"type":"number","format":"double","description":"Maximum value for the gauge","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.max","typeLabel":"number\u003cdouble>"},"min":{"type":"number","format":"double","description":"Minimum value for the gauge","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.min","typeLabel":"number\u003cdouble>"},"selectedField":{"type":"string","description":"Field ID for the gauge value","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config.selectedField","typeLabel":"string"}},"type":"object","description":"Chart-type-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.7","typeLabel":"object"},{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["data_app_viz"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"fieldMapping":{"properties":{},"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.fieldMapping.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.fieldMapping.additionalProperties.oneOf.1.items.[INDEX]","typeLabel":"string"},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.fieldMapping.additionalProperties.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.fieldMapping.additionalProperties","typeLabel":"string | string[]"},"type":"object","description":"Maps a viz field name to one query field id or an ordered collection.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.fieldMapping","typeLabel":"object"},"dataAppVizUuid":{"type":"string","description":"The reusable data app viz this chart renders with (by reference).\nContent-as-code files carry the viz's project-scoped slug instead —\nsee DataAppVizChartAsCode.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.dataAppVizUuid","typeLabel":"string"},"optionValues":{"properties":{},"additionalProperties":{"oneOf":[{"type":"boolean","description":"A persisted config value; its shape is set by the option's declared `type`.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.0","typeLabel":"boolean"},{"type":"number","description":"A persisted config value; its shape is set by the option's declared `type`.","format":"double","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.1","typeLabel":"number\u003cdouble>"},{"type":"string","description":"A persisted config value; its shape is set by the option's declared `type`.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.2","typeLabel":"string"},{"type":"object","description":"A persisted config value; its shape is set by the option's declared `type`.","required":["max","min","colors"],"properties":{"max":{"oneOf":[{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.3.max.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","enum":["auto"],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.3.max.oneOf.1","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.3.max","typeLabel":"number\u003cdouble> | enum\u003cstring>"},"min":{"oneOf":[{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.3.min.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"string","enum":["auto"],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.3.min.oneOf.1","typeLabel":"enum\u003cstring>"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.3.min","typeLabel":"number\u003cdouble> | enum\u003cstring>"},"colors":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.3.colors.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.3.colors","typeLabel":"string[]"}},"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties.oneOf.3","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues.additionalProperties","typeLabel":"boolean | number\u003cdouble> | string | object"},"type":"object","description":"Only options the user explicitly changed — declared defaults are never\nseeded here, they're resolved at render time. Absent on charts saved\nbefore config options shipped.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.optionValues","typeLabel":"object"},"dataAppVizVersion":{"type":"integer","format":"int32","description":"The version of the project chart type this saved chart renders.","minimum":1,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config.dataAppVizVersion","typeLabel":"integer\u003cint32>"}},"required":["fieldMapping","dataAppVizUuid"],"type":"object","description":"Reference to a data app viz plus its field mapping.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.8","typeLabel":"object"},{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["map"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"saveMapExtent":{"type":"boolean","description":"Save the current map zoom/position","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.saveMapExtent","typeLabel":"boolean"},"fieldConfig":{"properties":{},"additionalProperties":{"properties":{"label":{"type":"string","description":"Custom label for the field","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.fieldConfig.additionalProperties.label","typeLabel":"string"},"visible":{"type":"boolean","description":"Whether to show this field in tooltips","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.fieldConfig.additionalProperties.visible","typeLabel":"boolean"}},"type":"object","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.fieldConfig.additionalProperties","typeLabel":"object"},"type":"object","description":"Field-specific configuration for tooltips","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.fieldConfig","typeLabel":"object"},"noDataColor":{"type":"string","description":"Color for regions with no data (hex code)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.noDataColor","typeLabel":"string"},"backgroundColor":{"type":"string","description":"Background color for the map (hex code)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.backgroundColor","typeLabel":"string"},"darkModeTileBackground":{"enum":["none","openstreetmap","light","dark","satellite","voyager"],"type":"string","description":"Map tile background style for dark mode (uses dark default when undefined)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.darkModeTileBackground","typeLabel":"enum\u003cstring>"},"tileBackground":{"enum":["none","openstreetmap","light","dark","satellite","voyager"],"type":"string","description":"Map tile background style","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.tileBackground","typeLabel":"enum\u003cstring>"},"dataLayerOpacity":{"type":"number","format":"double","description":"Data layer opacity (0.1 to 1)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.dataLayerOpacity","typeLabel":"number\u003cdouble>"},"hexbinConfig":{"properties":{"emptyBinColor":{"oneOf":[{"type":"string","description":"Fill color for empty bins. Hex6 (#rrggbb) = solid fill, hex8\n(#rrggbbaa) = fill with alpha, null/undefined = outline only.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.hexbinConfig.emptyBinColor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Fill color for empty bins. Hex6 (#rrggbb) = solid fill, hex8\n(#rrggbbaa) = fill with alpha, null/undefined = outline only.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.hexbinConfig.emptyBinColor.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.hexbinConfig.emptyBinColor","typeLabel":"string | null"},"showEmptyBins":{"type":"boolean","description":"Render outlined empty cells across the visible map area, so the user\ncan see \"where there is no data\" relative to the hex grid.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.hexbinConfig.showEmptyBins","typeLabel":"boolean"},"aggregation":{"enum":["sum","avg","min","max"],"type":"string","description":"Aggregation applied when valueBasis = FIELD. Defaults to SUM.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.hexbinConfig.aggregation","typeLabel":"enum\u003cstring>"},"valueBasis":{"enum":["count","field"],"type":"string","description":"What drives cell color: count of points (default) or an aggregation\nover a chosen value field (controlled via the chart's `valueFieldId`).","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.hexbinConfig.valueBasis","typeLabel":"enum\u003cstring>"},"fixedResolution":{"type":"number","format":"double","description":"H3 resolution (0-15) used when sizingMode is FIXED. Ignored otherwise.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.hexbinConfig.fixedResolution","typeLabel":"number\u003cdouble>"},"sizingMode":{"enum":["dynamic","fixed"],"type":"string","description":"How bin size is determined. Defaults to DYNAMIC if unset.","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.hexbinConfig.sizingMode","typeLabel":"enum\u003cstring>"},"opacity":{"type":"number","format":"double","description":"Opacity of hex polygons (0.1 to 1)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.hexbinConfig.opacity","typeLabel":"number\u003cdouble>"}},"type":"object","description":"Configuration for H3 hexagonal binning visualization","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.hexbinConfig","typeLabel":"object"},"heatmapConfig":{"properties":{"opacity":{"type":"number","format":"double","description":"Opacity of the heatmap layer","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.heatmapConfig.opacity","typeLabel":"number\u003cdouble>"},"blur":{"type":"number","format":"double","description":"Blur amount for heat points","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.heatmapConfig.blur","typeLabel":"number\u003cdouble>"},"radius":{"type":"number","format":"double","description":"Radius of heat points","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.heatmapConfig.radius","typeLabel":"number\u003cdouble>"}},"type":"object","description":"Configuration for heatmap visualization","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.heatmapConfig","typeLabel":"object"},"sizeFieldId":{"type":"string","description":"Field ID for bubble size (scatter maps)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.sizeFieldId","typeLabel":"string"},"maxBubbleSize":{"type":"number","format":"double","description":"Maximum bubble size for scatter maps","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.maxBubbleSize","typeLabel":"number\u003cdouble>"},"minBubbleSize":{"type":"number","format":"double","description":"Minimum bubble size for scatter maps","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.minBubbleSize","typeLabel":"number\u003cdouble>"},"defaultCenterLon":{"type":"number","format":"double","description":"Default center longitude","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.defaultCenterLon","typeLabel":"number\u003cdouble>"},"defaultCenterLat":{"type":"number","format":"double","description":"Default center latitude","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.defaultCenterLat","typeLabel":"number\u003cdouble>"},"defaultZoom":{"type":"number","format":"double","description":"Default zoom level","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.defaultZoom","typeLabel":"number\u003cdouble>"},"colorOverrides":{"properties":{},"type":"object","description":"Per-value color overrides for categorical color fields","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.colorOverrides","typeLabel":"object"},"colorRange":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.colorRange.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Array of colors for the value gradient","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.colorRange","typeLabel":"string[]"},"showLegend":{"type":"boolean","description":"Show the map legend","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.showLegend","typeLabel":"boolean"},"valueFieldId":{"type":"string","description":"Field ID for the value to display","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.valueFieldId","typeLabel":"string"},"geoJsonPropertyKey":{"type":"string","description":"Property key in GeoJSON to match against data","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.geoJsonPropertyKey","typeLabel":"string"},"locationFieldId":{"type":"string","description":"Field ID for location/region names (area maps)","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.locationFieldId","typeLabel":"string"},"longitudeFieldId":{"type":"string","description":"Field ID for longitude values","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.longitudeFieldId","typeLabel":"string"},"latitudeFieldId":{"type":"string","description":"Field ID for latitude values","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.latitudeFieldId","typeLabel":"string"},"locationType":{"enum":["scatter","area","heatmap","hexbin"],"type":"string","description":"How to display location data","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.locationType","typeLabel":"enum\u003cstring>"},"customGeoJsonUrl":{"type":"string","description":"URL to custom GeoJSON file","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.customGeoJsonUrl","typeLabel":"string"},"mapType":{"enum":["USA","world","europe","custom"],"type":"string","description":"Type of map to display","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config.mapType","typeLabel":"enum\u003cstring>"}},"type":"object","description":"Chart-type-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.9","typeLabel":"object"},{"type":"object","description":"Visualization configuration for the chart","required":["type"],"properties":{"type":{"enum":["sankey"],"type":"string","description":"Type of chart visualization","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.10.type","typeLabel":"enum\u003cstring>"},"config":{"properties":{"nodeLayout":{"type":"string","enum":["multi-step","merged","direct"],"description":"How nodes are laid out across steps","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.10.config.nodeLayout","typeLabel":"enum\u003cstring>"},"orient":{"type":"string","enum":["horizontal","vertical"],"description":"Orientation of the diagram","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.10.config.orient","typeLabel":"enum\u003cstring>"},"nodeAlign":{"type":"string","enum":["left","right","justify"],"description":"Node alignment","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.10.config.nodeAlign","typeLabel":"enum\u003cstring>"},"metricFieldId":{"type":"string","description":"Field ID for the link value metric","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.10.config.metricFieldId","typeLabel":"string"},"targetFieldId":{"type":"string","description":"Field ID for the target node dimension","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.10.config.targetFieldId","typeLabel":"string"},"sourceFieldId":{"type":"string","description":"Field ID for the source node dimension","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.10.config.sourceFieldId","typeLabel":"string"}},"type":"object","description":"Chart-type-specific configuration","uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.10.config","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig.oneOf.10","typeLabel":"object"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.chartConfig","typeLabel":"object"},"slug":{"type":"string","description":"Unique identifier slug for this chart","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.slug","typeLabel":"string"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the chart was last updated","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.updatedAt","typeLabel":"string\u003cdate-time>"},"tableConfig":{"properties":{"columnOrder":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.tableConfig.columnOrder.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.tableConfig.columnOrder","typeLabel":"string[]"}},"required":["columnOrder"],"type":"object","description":"Table view configuration","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.tableConfig","typeLabel":"object"},"verification":{"oneOf":[{"type":"object","required":["verifiedAt","verifiedBy"],"properties":{"verifiedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.verification.oneOf.0.verifiedAt","typeLabel":"string\u003cdate-time>"},"verifiedBy":{"properties":{"lastName":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.verification.oneOf.0.verifiedBy.lastName","typeLabel":"string"},"firstName":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.verification.oneOf.0.verifiedBy.firstName","typeLabel":"string"},"userUuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.verification.oneOf.0.verifiedBy.userUuid","typeLabel":"string"}},"required":["lastName","firstName","userUuid"],"type":"object","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.verification.oneOf.0.verifiedBy","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.verification.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.verification.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.verification","typeLabel":"object | null"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.uuid","typeLabel":"string"},"organizationUuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.organizationUuid","typeLabel":"string"},"projectUuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.projectUuid","typeLabel":"string"},"pinnedListUuid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.pinnedListUuid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.pinnedListUuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.pinnedListUuid","typeLabel":"string | null"},"pinnedListOrder":{"oneOf":[{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.pinnedListOrder.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.pinnedListOrder.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.pinnedListOrder","typeLabel":"number\u003cdouble> | null"},"spaceUuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.spaceUuid","typeLabel":"string"},"spaceName":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.spaceName","typeLabel":"string"},"colorPaletteUuid":{"oneOf":[{"type":"string","description":"Chart-level palette override pointer. `null` means inherit from the\ncontaining dashboard / space / project / org. Writable via\n`UpdateSavedChart`.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.colorPaletteUuid.oneOf.0","typeLabel":"string"},{"type":"null","description":"Chart-level palette override pointer. `null` means inherit from the\ncontaining dashboard / space / project / org. Writable via\n`UpdateSavedChart`.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.colorPaletteUuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.colorPaletteUuid","typeLabel":"string | null"},"dashboardUuid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.dashboardUuid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.dashboardUuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.dashboardUuid","typeLabel":"string | null"},"dashboardName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.dashboardName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.dashboardName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.dashboardName","typeLabel":"string | null"},"colorPalette":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.colorPalette.items.[INDEX]","typeLabel":"string"},"type":"array","deprecated":true,"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.colorPalette","typeLabel":"string[]"},"resolvedColorPalette":{"properties":{"source":{"oneOf":[{"type":"object","description":"Where a resolved colour palette came from. The `config` and `default` cases\ncarry no entity reference; the rest expose the UUID and human-readable name\nof the entity (organization, project, space, dashboard or chart) that owns\nthe winning palette in the resolution chain.","required":["type"],"properties":{"type":{"type":"string","enum":["config"],"nullable":false,"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.0.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.0","typeLabel":"object"},{"type":"object","description":"Where a resolved colour palette came from. The `config` and `default` cases\ncarry no entity reference; the rest expose the UUID and human-readable name\nof the entity (organization, project, space, dashboard or chart) that owns\nthe winning palette in the resolution chain.","required":["type"],"properties":{"type":{"type":"string","enum":["default"],"nullable":false,"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.1.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.1","typeLabel":"object"},{"type":"object","description":"Where a resolved colour palette came from. The `config` and `default` cases\ncarry no entity reference; the rest expose the UUID and human-readable name\nof the entity (organization, project, space, dashboard or chart) that owns\nthe winning palette in the resolution chain.","required":["name","uuid","type"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.2.name","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.2.uuid","typeLabel":"string"},"type":{"type":"string","enum":["organization"],"nullable":false,"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.2.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.2","typeLabel":"object"},{"type":"object","description":"Where a resolved colour palette came from. The `config` and `default` cases\ncarry no entity reference; the rest expose the UUID and human-readable name\nof the entity (organization, project, space, dashboard or chart) that owns\nthe winning palette in the resolution chain.","required":["name","uuid","type"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.3.name","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.3.uuid","typeLabel":"string"},"type":{"type":"string","enum":["project"],"nullable":false,"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.3.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.3","typeLabel":"object"},{"type":"object","description":"Where a resolved colour palette came from. The `config` and `default` cases\ncarry no entity reference; the rest expose the UUID and human-readable name\nof the entity (organization, project, space, dashboard or chart) that owns\nthe winning palette in the resolution chain.","required":["name","uuid","type"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.4.name","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.4.uuid","typeLabel":"string"},"type":{"type":"string","enum":["space"],"nullable":false,"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.4.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.4","typeLabel":"object"},{"type":"object","description":"Where a resolved colour palette came from. The `config` and `default` cases\ncarry no entity reference; the rest expose the UUID and human-readable name\nof the entity (organization, project, space, dashboard or chart) that owns\nthe winning palette in the resolution chain.","required":["name","uuid","type"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.5.name","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.5.uuid","typeLabel":"string"},"type":{"type":"string","enum":["dashboard"],"nullable":false,"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.5.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.5","typeLabel":"object"},{"type":"object","description":"Where a resolved colour palette came from. The `config` and `default` cases\ncarry no entity reference; the rest expose the UUID and human-readable name\nof the entity (organization, project, space, dashboard or chart) that owns\nthe winning palette in the resolution chain.","required":["name","uuid","type"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.6.name","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.6.uuid","typeLabel":"string"},"type":{"type":"string","enum":["chart"],"nullable":false,"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.6.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.source","typeLabel":"object"},"paletteName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.paletteName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.paletteName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.paletteName","typeLabel":"string | null"},"paletteUuid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.paletteUuid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.paletteUuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.paletteUuid","typeLabel":"string | null"},"darkColors":{"oneOf":[{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.darkColors.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.darkColors.oneOf.0","typeLabel":"string[]"},{"items":{"type":"string"},"type":"null","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.darkColors.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.darkColors","typeLabel":"string[] | null"},"colors":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.colors.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette.colors","typeLabel":"string[]"}},"required":["source","paletteName","paletteUuid","darkColors","colors"],"type":"object","description":"Fully resolved palette for this chart, computed from the\norg → project → space → dashboard → chart hierarchy. Read-only — set\nthe chart's own palette via `colorPaletteUuid`.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.resolvedColorPalette","typeLabel":"object"},"oldUuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.oldUuid","typeLabel":"string"},"spacePath":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.spacePath","typeLabel":"string"},"spaceSlug":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.spaceSlug","typeLabel":"string"},"description":{"type":"string","description":"Optional description of what this chart displays","uniqueKey":"results.charts.items.[INDEX].data.description","typeLabel":"string"},"pivotConfig":{"properties":{"columns":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.pivotConfig.columns.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.pivotConfig.columns","typeLabel":"string[]"},"rows":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.pivotConfig.rows.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.pivotConfig.rows","typeLabel":"string[]"}},"required":["columns"],"type":"object","description":"Pivot table configuration","uniqueKey":"results.charts.items.[INDEX].data.pivotConfig","typeLabel":"object"},"parameters":{"properties":{},"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.parameters.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.parameters.additionalProperties.oneOf.1","typeLabel":"number\u003cdouble>"},{"type":"array","items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.parameters.additionalProperties.oneOf.2.items.[INDEX]","typeLabel":"string"},"uniqueKey":"results.charts.items.[INDEX].data.parameters.additionalProperties.oneOf.2","typeLabel":"string[]"},{"type":"array","items":{"type":"number","format":"double","uniqueKey":"results.charts.items.[INDEX].data.parameters.additionalProperties.oneOf.3.items.[INDEX]","typeLabel":"number\u003cdouble>"},"uniqueKey":"results.charts.items.[INDEX].data.parameters.additionalProperties.oneOf.3","typeLabel":"number\u003cdouble>[]"}],"uniqueKey":"results.charts.items.[INDEX].data.parameters.additionalProperties","typeLabel":"string | number\u003cdouble> | string[] | number\u003cdouble>[]"},"type":"object","description":"Parameter values for the chart query","uniqueKey":"results.charts.items.[INDEX].data.parameters","typeLabel":"object"},"merge":{"oneOf":[{"type":"object","description":"Named source queries, join keys, and ordering of the merged result.","required":["limit","keys","join","queries"],"properties":{"limit":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.limit","typeLabel":"number\u003cdouble>"},"keys":{"properties":{},"additionalProperties":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.keys.additionalProperties.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.keys.additionalProperties","typeLabel":"string[]"},"type":"object","description":"The join keys: each entry is the chart's field and one `query.fieldId`\nreference per other query. The key column takes the chart field's id.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.keys","typeLabel":"object"},"join":{"description":"How unmatched keys survive the merge. Mirrors the SQL join it compiles to.","enum":["full","left","inner"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.join","typeLabel":"enum\u003cstring>"},"queries":{"properties":{},"additionalProperties":{"properties":{"metrics":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metrics.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metrics","typeLabel":"string[]"},"dimensions":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensions.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensions","typeLabel":"string[]"},"explore":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.explore","typeLabel":"string"},"repeat":{"type":"boolean","description":"See MergeQueryMetricSource.repeatValues. Omitted when off.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.repeat","typeLabel":"boolean"},"timezone":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.timezone","typeLabel":"string"},"dimensionOverrides":{"properties":{},"additionalProperties":{"properties":{"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties.formatOptions","typeLabel":"object"}},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides.additionalProperties","typeLabel":"object"},"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.dimensionOverrides","typeLabel":"object"},"metricOverrides":{"properties":{},"additionalProperties":{"properties":{"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties.formatOptions","typeLabel":"object"}},"type":"object","description":"From T, pick a set of properties whose keys are in the union K","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides.additionalProperties","typeLabel":"object"},"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.metricOverrides","typeLabel":"object"},"customDimensions":{"items":{"oneOf":[{"type":"object","required":["id","name","table","type","dimensionId","binType","binNumber"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.dimensionId","typeLabel":"string"},"binType":{"enum":["fixed_number"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.binType","typeLabel":"enum\u003cstring>"},"binNumber":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0.binNumber","typeLabel":"number\u003cdouble>"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","binWidth"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.dimensionId","typeLabel":"string"},"binType":{"enum":["fixed_width"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.binType","typeLabel":"enum\u003cstring>"},"binWidth":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1.binWidth","typeLabel":"number\u003cdouble>"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","customRange"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.dimensionId","typeLabel":"string"},"binType":{"enum":["custom_range"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.binType","typeLabel":"enum\u003cstring>"},"customRange":{"items":{"properties":{"to":{"type":"number","format":"double","description":"End value for this bin range (undefined for the last range)","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX].to","typeLabel":"number\u003cdouble>"},"from":{"type":"number","format":"double","description":"Start value for this bin range (undefined for the first range)","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX].from","typeLabel":"number\u003cdouble>"}},"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.customRange.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2.customRange","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","required":["id","name","table","type","dimensionId","binType","customGroups"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.table","typeLabel":"string"},"type":{"enum":["bin"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"dimensionId":{"type":"string","description":"Field ID of the parent dimension to bin","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.dimensionId","typeLabel":"string"},"binType":{"enum":["custom_group"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.binType","typeLabel":"enum\u003cstring>"},"customGroups":{"items":{"properties":{"values":{"items":{"properties":{"value":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX].value","typeLabel":"string"},"matchType":{"enum":["exact","startsWith","endsWith","includes"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX].matchType","typeLabel":"enum\u003cstring>"}},"required":["value","matchType"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Rules that match values into this group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].values","typeLabel":"object[]"},"name":{"type":"string","description":"Display name for this group (e.g. \"North America\")","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX].name","typeLabel":"string"}},"required":["values","name"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3.customGroups","typeLabel":"object[]"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","required":["id","name","table","type","sql","dimensionType"],"properties":{"id":{"type":"string","description":"Unique identifier for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.id","typeLabel":"string"},"name":{"type":"string","description":"Display name for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.name","typeLabel":"string"},"table":{"type":"string","description":"Table this custom dimension belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.table","typeLabel":"string"},"type":{"enum":["sql"],"type":"string","description":"Type of custom dimension (bin or sql)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression for the custom dimension","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.sql","typeLabel":"string"},"dimensionType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","description":"Data type of the dimension result","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4.dimensionType","typeLabel":"enum\u003cstring>"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX].oneOf.4","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.customDimensions","typeLabel":"object[]"},"additionalMetrics":{"items":{"properties":{"type":{"enum":["percentile","average","count","count_distinct","sum","sum_distinct","average_distinct","min","max","percent_of_previous","percent_of_total","running_total","number","median","string","date","timestamp","boolean"],"type":"string","description":"Aggregation type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression (e.g., ${TABLE}.column_name)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].sql","typeLabel":"string"},"table":{"type":"string","description":"Table name the metric belongs to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].table","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the metric","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].name","typeLabel":"string"},"label":{"type":"string","description":"Display label for the metric","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].label","typeLabel":"string"},"description":{"type":"string","description":"Description of what the metric measures","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].description","typeLabel":"string"},"hidden":{"type":"boolean","description":"Whether the metric is hidden from users","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].hidden","typeLabel":"boolean"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].round","typeLabel":"number\u003cdouble>"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].compact","typeLabel":"enum\u003cstring>"},"format":{"oneOf":[{"type":"string","description":"Format string (legacy format specification)","enum":["km","mi","si","usd","gbp","eur","jpy","dkk","id","percent"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].format.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Format string (legacy format specification)","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].format.oneOf.1","typeLabel":"string"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].format","typeLabel":"enum\u003cstring> | string"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style for grouping/decimal characters","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].separator","typeLabel":"enum\u003cstring>"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].index","typeLabel":"number\u003cdouble>"},"filters":{"items":{"description":"Filter rule for metrics, targeting fields by reference","properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].id","typeLabel":"string"},"target":{"properties":{"fieldRef":{"type":"string","description":"Field reference to filter on (e.g., 'table_name.field_name')","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].target.fieldRef","typeLabel":"string"}},"required":["fieldRef"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX].caseSensitive","typeLabel":"boolean"}},"required":["operator","id","target"],"type":"object","additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Filters to apply to this metric","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].filters","typeLabel":"object[]"},"baseDimensionName":{"type":"string","description":"Name of the base dimension/column this metric aggregates","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].baseDimensionName","typeLabel":"string"},"baseMetricName":{"type":"string","description":"Name of the explore metric this metric was cloned from","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].baseMetricName","typeLabel":"string"},"uuid":{"oneOf":[{"type":"string","description":"Unique identifier for the metric","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].uuid.oneOf.0","typeLabel":"string"},{"type":"null","description":"Unique identifier for the metric","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].uuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].uuid","typeLabel":"string | null"},"percentile":{"type":"number","format":"double","description":"Percentile value for percentile metrics","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].percentile","typeLabel":"number\u003cdouble>"},"distinctKeys":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].distinctKeys.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].distinctKeys","typeLabel":"string[]"},"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting configuration","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].formatOptions","typeLabel":"object"},"generationType":{"type":"string","enum":["periodOverPeriod"],"nullable":false,"description":"Optional marker for metrics generated by the system.\nCurrently used for Period-over-Period (PoP) previous-period metrics.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].generationType","typeLabel":"enum\u003cstring>"},"baseMetricId":{"type":"string","description":"For PoP-generated metrics, the base metric id that this metric is derived from.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].baseMetricId","typeLabel":"string"},"timeDimensionId":{"type":"string","description":"For PoP-generated metrics, the time dimension id used for the comparison.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].timeDimensionId","typeLabel":"string"},"granularity":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"For PoP-generated metrics, the granularity used for the comparison.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].granularity","typeLabel":"enum\u003cstring>"},"periodOffset":{"type":"number","format":"double","description":"For PoP-generated metrics, the number of periods to offset by (>= 1).","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX].periodOffset","typeLabel":"number\u003cdouble>"}},"required":["type","sql","table","name"],"type":"object","additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.additionalMetrics","typeLabel":"object[]"},"tableCalculations":{"items":{"oneOf":[{"type":"object","required":["sql","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.name","typeLabel":"string"},"sql":{"type":"string","description":"SQL expression for the calculation (can reference fields with ${table.field})","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.sql","typeLabel":"string"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["template","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.name","typeLabel":"string"},"template":{"oneOf":[{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.fieldId","typeLabel":"string"},"type":{"enum":["difference_from_previous"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.0","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.fieldId","typeLabel":"string"},"type":{"enum":["percent_change_from_previous"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.1","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["orderBy","fieldId","type"],"properties":{"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.orderBy","typeLabel":"object[]"},"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.fieldId","typeLabel":"string"},"type":{"enum":["percent_of_previous_value"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.2","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.fieldId","typeLabel":"string"},"type":{"enum":["percent_of_column_total"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.type","typeLabel":"enum\u003cstring>"},"partitionBy":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Fields to partition by","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3.partitionBy","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.3","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4.fieldId","typeLabel":"string"},"type":{"enum":["rank_in_column"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.4","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["fieldId","type"],"properties":{"fieldId":{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.fieldId","typeLabel":"string"},"type":{"enum":["running_total"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.type","typeLabel":"enum\u003cstring>"},"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for the running total","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5.orderBy","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.5","typeLabel":"object"},{"type":"object","description":"Template-based calculation (alternative to sql)","required":["partitionBy","orderBy","fieldId","windowFunction","type"],"properties":{"partitionBy":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.partitionBy.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Fields to partition by for window functions","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.partitionBy","typeLabel":"string[]"},"orderBy":{"items":{"properties":{"order":{"oneOf":[{"type":"string","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["asc","desc",null],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].order","typeLabel":"enum\u003cstring> | null"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX].fieldId","typeLabel":"string"}},"required":["order","fieldId"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Fields to order by for window functions","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.orderBy","typeLabel":"object[]"},"fieldId":{"oneOf":[{"type":"string","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Field ID to apply the template to","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.fieldId","typeLabel":"string | null"},"windowFunction":{"enum":["row_number","percent_rank","cume_dist","rank","sum","avg","count","min","max"],"type":"string","description":"Window function type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.windowFunction","typeLabel":"enum\u003cstring>"},"type":{"enum":["window_function"],"type":"string","description":"Type of template calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.type","typeLabel":"enum\u003cstring>"},"frame":{"properties":{"end":{"properties":{"type":{"enum":["unbounded_preceding","preceding","current_row","following","unbounded_following"],"type":"string","description":"Boundary type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end.type","typeLabel":"enum\u003cstring>"},"offset":{"type":"number","format":"double","description":"Offset for PRECEDING/FOLLOWING","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end.offset","typeLabel":"number\u003cdouble>"}},"required":["type"],"type":"object","description":"End boundary of the frame","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.end","typeLabel":"object"},"frameType":{"enum":["rows","range"],"type":"string","description":"Type of frame (ROWS or RANGE)","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.frameType","typeLabel":"enum\u003cstring>"},"start":{"properties":{"type":{"enum":["unbounded_preceding","preceding","current_row","following","unbounded_following"],"type":"string","description":"Boundary type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start.type","typeLabel":"enum\u003cstring>"},"offset":{"type":"number","format":"double","description":"Offset for PRECEDING/FOLLOWING","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start.offset","typeLabel":"number\u003cdouble>"}},"required":["type"],"type":"object","description":"Start boundary of the frame","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame.start","typeLabel":"object"}},"required":["end","frameType"],"type":"object","description":"Frame clause for window functions","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6.frame","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.template","typeLabel":"object"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","required":["formula","displayName","name"],"properties":{"displayName":{"type":"string","description":"Display name shown in the UI","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.displayName","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the table calculation","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.name","typeLabel":"string"},"formula":{"type":"string","description":"Spreadsheet-like formula compiled to SQL at query time","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.formula","typeLabel":"string"},"totalMode":{"enum":["formula","sum_of_rows","none"],"type":"string","description":"How column totals are computed for this calculation","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.totalMode","typeLabel":"enum\u003cstring>"},"type":{"enum":["number","string","date","timestamp","boolean"],"type":"string","description":"Data type of the calculation result","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting options for the calculation","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.format","typeLabel":"object"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2.index","typeLabel":"number\u003cdouble>"}},"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX].oneOf.2","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.tableCalculations","typeLabel":"object[]"},"filters":{"properties":{"tableCalculations":{"oneOf":[{"type":"object","description":"Table calculation filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.0","typeLabel":"object"},{"type":"object","description":"Table calculation filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations.oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.tableCalculations","typeLabel":"object"},"metrics":{"oneOf":[{"type":"object","description":"Metric filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.0","typeLabel":"object"},{"type":"object","description":"Metric filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics.oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.metrics","typeLabel":"object"},"dimensions":{"oneOf":[{"type":"object","description":"Dimension filter group","required":["or","id"],"properties":{"or":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with OR logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.or","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.0","typeLabel":"object"},{"type":"object","description":"Dimension filter group","required":["and","id"],"properties":{"and":{"items":{"oneOf":[{},{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.id","typeLabel":"string"},"target":{"properties":{"fieldId":{"type":"string","description":"Field ID to filter on","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.target.fieldId","typeLabel":"string"}},"required":["fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1.caseSensitive","typeLabel":"boolean"}},"additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Array of filters or nested groups combined with AND logic","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.and","typeLabel":"object[]"},"id":{"type":"string","description":"Unique identifier for the filter group","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1.id","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions.oneOf.1","typeLabel":"object"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters.dimensions","typeLabel":"object"}},"type":"object","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties.filters","typeLabel":"object"}},"required":["metrics","dimensions","explore"],"type":"object","description":"A query the merge owns, run against an explore.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries.additionalProperties","typeLabel":"object"},"type":"object","description":"The other queries, by the name they go by.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.queries","typeLabel":"object"},"tableCalculations":{"items":{"properties":{"sql":{"type":"string","description":"Legacy SQL expression. Kept required for API/storage compatibility;\nformula calculations store an empty string here and compile `formula`\non the compose engine instead.","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].sql","typeLabel":"string"},"displayName":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].displayName","typeLabel":"string"},"name":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].name","typeLabel":"string"},"format":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"How the calculation's values are displayed.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].format","typeLabel":"object"},"formula":{"type":"string","description":"Spreadsheet-like formula over merged field ids.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX].formula","typeLabel":"string"}},"required":["sql","displayName","name"],"type":"object","description":"A calculation over the *merged* result, where a row-wise calculation across\nsource queries can correctly live. Formula references use merged field ids;\nlegacy SQL references use `${sourceId.fieldId}`.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.tableCalculations","typeLabel":"object[]"},"sort":{"items":{"properties":{"direction":{"type":"string","enum":["asc","desc"],"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.sort.items.[INDEX].direction","typeLabel":"enum\u003cstring>"},"by":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.sort.items.[INDEX].by","typeLabel":"string"}},"required":["direction","by"],"type":"object","description":"A sort of the merged result. `by` is a chart field id, a `query.fieldId`\nreference into another query, or the name of a merge table calculation.\nA chart field that is a join key sorts the key column.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.sort.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.sort","typeLabel":"object[]"},"keyNames":{"properties":{},"additionalProperties":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.keyNames.additionalProperties","typeLabel":"string"},"type":"object","description":"The key column's name, when not the chart field's id.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.keyNames","typeLabel":"object"},"chartRepeats":{"type":"boolean","description":"The chart's own query repeats its values. Omitted when off.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.chartRepeats","typeLabel":"boolean"},"chartAs":{"type":"string","description":"The chart query's name in merged column ids, when not its explore's.","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0.chartAs","typeLabel":"string"}},"uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"results.charts.items.[INDEX].data.merge.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.charts.items.[INDEX].data.merge","typeLabel":"object | null"},"dashboardSlug":{"oneOf":[{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.dashboardSlug.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.charts.items.[INDEX].data.dashboardSlug.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.charts.items.[INDEX].data.dashboardSlug","typeLabel":"string | null"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"results.charts.items.[INDEX].data.createdAt","typeLabel":"string\u003cdate-time>"},"projectName":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.projectName","typeLabel":"string"},"projectType":{"enum":["DEFAULT","PREVIEW","TRAINING"],"type":"string","uniqueKey":"results.charts.items.[INDEX].data.projectType","typeLabel":"enum\u003cstring>"},"hasUnpublishedChanges":{"type":"boolean","description":"The caller's unpublished content-as-code draft is applied.","uniqueKey":"results.charts.items.[INDEX].data.hasUnpublishedChanges","typeLabel":"boolean"},"draftsAwaitingReview":{"type":"number","format":"double","description":"Open drafts from other authors visible to content-as-code reviewers.","uniqueKey":"results.charts.items.[INDEX].data.draftsAwaitingReview","typeLabel":"number\u003cdouble>"},"draftOverlayError":{"properties":{"draftUuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.draftOverlayError.draftUuid","typeLabel":"string"},"code":{"type":"string","enum":["invalid_chart_draft"],"nullable":false,"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.draftOverlayError.code","typeLabel":"enum\u003cstring>"}},"required":["draftUuid","code"],"type":"object","description":"The caller's draft could not be safely applied.","uniqueKey":"results.charts.items.[INDEX].data.draftOverlayError","typeLabel":"object"},"dismissedDraftUuid":{"type":"string","description":"The caller's latest dismissed draft, available to reopen.","uniqueKey":"results.charts.items.[INDEX].data.dismissedDraftUuid","typeLabel":"string"},"draftStaleness":{"properties":{"conflictingFields":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.draftStaleness.conflictingFields.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.draftStaleness.conflictingFields","typeLabel":"string[]"},"changedFields":{"items":{"type":"string","uniqueKey":"results.charts.items.[INDEX].data.draftStaleness.changedFields.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.draftStaleness.changedFields","typeLabel":"string[]"},"draftUuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.draftStaleness.draftUuid","typeLabel":"string"}},"required":["conflictingFields","changedFields","draftUuid"],"type":"object","description":"The caller's draft started from an upload snapshot the repo has since moved past.","uniqueKey":"results.charts.items.[INDEX].data.draftStaleness","typeLabel":"object"},"updatedByUser":{"properties":{"userUuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.updatedByUser.userUuid","typeLabel":"string"},"firstName":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.updatedByUser.firstName","typeLabel":"string"},"lastName":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.updatedByUser.lastName","typeLabel":"string"}},"required":["userUuid","firstName","lastName"],"type":"object","additionalProperties":true,"uniqueKey":"results.charts.items.[INDEX].data.updatedByUser","typeLabel":"object"},"deletedAt":{"type":"string","format":"date-time","uniqueKey":"results.charts.items.[INDEX].data.deletedAt","typeLabel":"string\u003cdate-time>"},"deletedBy":{"oneOf":[{"properties":{"lastName":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.deletedBy.oneOf.0.lastName","typeLabel":"string"},"firstName":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.deletedBy.oneOf.0.firstName","typeLabel":"string"},"userUuid":{"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data.deletedBy.oneOf.0.userUuid","typeLabel":"string"}},"required":["lastName","firstName","userUuid"],"type":"object","uniqueKey":"results.charts.items.[INDEX].data.deletedBy.oneOf.0","typeLabel":"object"},{"properties":{"lastName":{"type":"string"},"firstName":{"type":"string"},"userUuid":{"type":"string"}},"required":["lastName","firstName","userUuid"],"type":"null","uniqueKey":"results.charts.items.[INDEX].data.deletedBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.charts.items.[INDEX].data.deletedBy","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"results.charts.items.[INDEX].data","typeLabel":"object"},"action":{"enum":["no changes","create","update","delete"],"type":"string","isRequired":true,"uniqueKey":"results.charts.items.[INDEX].action","typeLabel":"enum\u003cstring>"}},"required":["data","action"],"type":"object","uniqueKey":"results.charts.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.charts","typeLabel":"object[]"},"dashboards":{"items":{"properties":{"data":{"type":"object","description":"Construct a type with the properties of T except for those in type K.","required":["spacePath","spaceSlug","name","slug","filters","updatedAt","verification","tabs","uuid","tiles","organizationUuid","projectUuid","pinnedListUuid","pinnedListOrder","dashboardVersionId","versionUuid","spaceUuid","spaceName","views","firstViewedAt","colorPaletteUuid","owner"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.name","typeLabel":"string"},"slug":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.slug","typeLabel":"string"},"filters":{"properties":{"tableCalculations":{"items":{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].id","typeLabel":"string"},"target":{"properties":{"tableName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].target.tableName","typeLabel":"string"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].target.fieldId","typeLabel":"string"},"fallbackType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].target.fallbackType","typeLabel":"enum\u003cstring>"},"isSqlColumn":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].target.isSqlColumn","typeLabel":"boolean"}},"required":["tableName","fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].caseSensitive","typeLabel":"boolean"},"sectionId":{"type":"string","description":"Id of a DashboardConfig.controlSections entry; unsectioned if absent or dangling.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].sectionId","typeLabel":"string"},"lockedTabUuids":{"items":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].lockedTabUuids.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Tab UUIDs where this filter is locked. When the active tab is in this\nlist, viewers see the filter but cannot change it, and URL / embed\nfilter overrides targeting the same field are ignored on that tab.\nEmpty or omitted means the filter is not locked anywhere.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].lockedTabUuids","typeLabel":"string[]"},"requiredGroupId":{"type":"string","description":"Dashboard filters sharing a requiredGroupId form an \"any-one required\"\ngroup: the dashboard is locked until at least one member has a value.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].requiredGroupId","typeLabel":"string"},"singleValue":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].singleValue","typeLabel":"boolean"},"label":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].label","typeLabel":"string"},"tileTargets":{"properties":{},"additionalProperties":{"oneOf":[{"type":"object","required":["tableName","fieldId"],"properties":{"tableName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].tileTargets.additionalProperties.oneOf.0.tableName","typeLabel":"string"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].tileTargets.additionalProperties.oneOf.0.fieldId","typeLabel":"string"},"fallbackType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].tileTargets.additionalProperties.oneOf.0.fallbackType","typeLabel":"enum\u003cstring>"},"isSqlColumn":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].tileTargets.additionalProperties.oneOf.0.isSqlColumn","typeLabel":"boolean"}},"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].tileTargets.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"boolean","enum":[false],"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].tileTargets.additionalProperties.oneOf.1","typeLabel":"enum\u003cboolean>"}],"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].tileTargets.additionalProperties","typeLabel":"object | enum\u003cboolean>"},"type":"object","description":"Deliberately an index-signature literal, not `Record\u003cstring, ...>`. When\nTSOA first resolves `Record\u003cstring, DashboardTileTarget>` inside a mapped\ntype (e.g. `Omit\u003cDashboardFilterRule, 'id'>` in content-as-code types), it\ncaches an EMPTY model under the shared `Record_string.DashboardTileTarget_`\nname, and request validation then strips every tileTargets entry from\nbodies — silently breaking dashboard filters on SQL chart tiles. The\nindex-signature form resolves correctly in every context.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX].tileTargets","typeLabel":"object"}},"additionalProperties":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.tableCalculations","typeLabel":"object[]"},"metrics":{"items":{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].id","typeLabel":"string"},"target":{"properties":{"tableName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].target.tableName","typeLabel":"string"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].target.fieldId","typeLabel":"string"},"fallbackType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].target.fallbackType","typeLabel":"enum\u003cstring>"},"isSqlColumn":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].target.isSqlColumn","typeLabel":"boolean"}},"required":["tableName","fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].caseSensitive","typeLabel":"boolean"},"sectionId":{"type":"string","description":"Id of a DashboardConfig.controlSections entry; unsectioned if absent or dangling.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].sectionId","typeLabel":"string"},"lockedTabUuids":{"items":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].lockedTabUuids.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Tab UUIDs where this filter is locked. When the active tab is in this\nlist, viewers see the filter but cannot change it, and URL / embed\nfilter overrides targeting the same field are ignored on that tab.\nEmpty or omitted means the filter is not locked anywhere.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].lockedTabUuids","typeLabel":"string[]"},"requiredGroupId":{"type":"string","description":"Dashboard filters sharing a requiredGroupId form an \"any-one required\"\ngroup: the dashboard is locked until at least one member has a value.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].requiredGroupId","typeLabel":"string"},"singleValue":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].singleValue","typeLabel":"boolean"},"label":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].label","typeLabel":"string"},"tileTargets":{"properties":{},"additionalProperties":{"oneOf":[{"type":"object","required":["tableName","fieldId"],"properties":{"tableName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].tileTargets.additionalProperties.oneOf.0.tableName","typeLabel":"string"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].tileTargets.additionalProperties.oneOf.0.fieldId","typeLabel":"string"},"fallbackType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].tileTargets.additionalProperties.oneOf.0.fallbackType","typeLabel":"enum\u003cstring>"},"isSqlColumn":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].tileTargets.additionalProperties.oneOf.0.isSqlColumn","typeLabel":"boolean"}},"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].tileTargets.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"boolean","enum":[false],"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].tileTargets.additionalProperties.oneOf.1","typeLabel":"enum\u003cboolean>"}],"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].tileTargets.additionalProperties","typeLabel":"object | enum\u003cboolean>"},"type":"object","description":"Deliberately an index-signature literal, not `Record\u003cstring, ...>`. When\nTSOA first resolves `Record\u003cstring, DashboardTileTarget>` inside a mapped\ntype (e.g. `Omit\u003cDashboardFilterRule, 'id'>` in content-as-code types), it\ncaches an EMPTY model under the shared `Record_string.DashboardTileTarget_`\nname, and request validation then strips every tileTargets entry from\nbodies — silently breaking dashboard filters on SQL chart tiles. The\nindex-signature form resolves correctly in every context.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX].tileTargets","typeLabel":"object"}},"additionalProperties":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.metrics","typeLabel":"object[]"},"dimensions":{"items":{"type":"object","required":["operator","id","target"],"properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].id","typeLabel":"string"},"target":{"properties":{"tableName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].target.tableName","typeLabel":"string"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].target.fieldId","typeLabel":"string"},"fallbackType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].target.fallbackType","typeLabel":"enum\u003cstring>"},"isSqlColumn":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].target.isSqlColumn","typeLabel":"boolean"}},"required":["tableName","fieldId"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].caseSensitive","typeLabel":"boolean"},"sectionId":{"type":"string","description":"Id of a DashboardConfig.controlSections entry; unsectioned if absent or dangling.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].sectionId","typeLabel":"string"},"lockedTabUuids":{"items":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].lockedTabUuids.items.[INDEX]","typeLabel":"string"},"type":"array","description":"Tab UUIDs where this filter is locked. When the active tab is in this\nlist, viewers see the filter but cannot change it, and URL / embed\nfilter overrides targeting the same field are ignored on that tab.\nEmpty or omitted means the filter is not locked anywhere.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].lockedTabUuids","typeLabel":"string[]"},"requiredGroupId":{"type":"string","description":"Dashboard filters sharing a requiredGroupId form an \"any-one required\"\ngroup: the dashboard is locked until at least one member has a value.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].requiredGroupId","typeLabel":"string"},"singleValue":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].singleValue","typeLabel":"boolean"},"label":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].label","typeLabel":"string"},"tileTargets":{"properties":{},"additionalProperties":{"oneOf":[{"type":"object","required":["tableName","fieldId"],"properties":{"tableName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].tileTargets.additionalProperties.oneOf.0.tableName","typeLabel":"string"},"fieldId":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].tileTargets.additionalProperties.oneOf.0.fieldId","typeLabel":"string"},"fallbackType":{"enum":["string","number","timestamp","date","boolean"],"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].tileTargets.additionalProperties.oneOf.0.fallbackType","typeLabel":"enum\u003cstring>"},"isSqlColumn":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].tileTargets.additionalProperties.oneOf.0.isSqlColumn","typeLabel":"boolean"}},"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].tileTargets.additionalProperties.oneOf.0","typeLabel":"object"},{"type":"boolean","enum":[false],"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].tileTargets.additionalProperties.oneOf.1","typeLabel":"enum\u003cboolean>"}],"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].tileTargets.additionalProperties","typeLabel":"object | enum\u003cboolean>"},"type":"object","description":"Deliberately an index-signature literal, not `Record\u003cstring, ...>`. When\nTSOA first resolves `Record\u003cstring, DashboardTileTarget>` inside a mapped\ntype (e.g. `Omit\u003cDashboardFilterRule, 'id'>` in content-as-code types), it\ncaches an EMPTY model under the shared `Record_string.DashboardTileTarget_`\nname, and request validation then strips every tileTargets entry from\nbodies — silently breaking dashboard filters on SQL chart tiles. The\nindex-signature form resolves correctly in every context.","uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX].tileTargets","typeLabel":"object"}},"additionalProperties":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters.dimensions","typeLabel":"object[]"}},"required":["tableCalculations","metrics","dimensions"],"type":"object","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.filters","typeLabel":"object"},"updatedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.updatedAt","typeLabel":"string\u003cdate-time>"},"verification":{"oneOf":[{"type":"object","required":["verifiedAt","verifiedBy"],"properties":{"verifiedAt":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.verification.oneOf.0.verifiedAt","typeLabel":"string\u003cdate-time>"},"verifiedBy":{"properties":{"lastName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.verification.oneOf.0.verifiedBy.lastName","typeLabel":"string"},"firstName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.verification.oneOf.0.verifiedBy.firstName","typeLabel":"string"},"userUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.verification.oneOf.0.verifiedBy.userUuid","typeLabel":"string"}},"required":["lastName","firstName","userUuid"],"type":"object","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.verification.oneOf.0.verifiedBy","typeLabel":"object"}},"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.verification.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.verification.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.verification","typeLabel":"object | null"},"tabs":{"items":{"properties":{"order":{"type":"number","format":"double","minimum":0,"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tabs.items.[INDEX].order","typeLabel":"number\u003cdouble>"},"name":{"type":"string","minLength":1,"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tabs.items.[INDEX].name","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tabs.items.[INDEX].uuid","typeLabel":"string"},"hidden":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.tabs.items.[INDEX].hidden","typeLabel":"boolean"}},"required":["order","name","uuid"],"type":"object","uniqueKey":"results.dashboards.items.[INDEX].data.tabs.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tabs","typeLabel":"object[]"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.uuid","typeLabel":"string"},"tiles":{"items":{"oneOf":[{"type":"object","description":"Make all properties in T required","required":["properties","type","uuid","x","y","h","w"],"properties":{"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.uuid","typeLabel":"string"},"type":{"type":"string","enum":["saved_chart"],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.type","typeLabel":"enum\u003cstring>"},"x":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.x","typeLabel":"number\u003cdouble>"},"y":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.y","typeLabel":"number\u003cdouble>"},"h":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.h","typeLabel":"number\u003cdouble>"},"w":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.w","typeLabel":"number\u003cdouble>"},"properties":{"properties":{"savedChartUuid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.savedChartUuid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.savedChartUuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.savedChartUuid","typeLabel":"string | null"},"chartSlug":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.chartSlug.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.chartSlug.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.chartSlug","typeLabel":"string | null"},"lastVersionChartKind":{"oneOf":[{"type":"string","enum":["line","horizontal_bar","vertical_bar","scatter","area","mixed","pie","table","big_number","funnel","custom","treemap","gauge","map","sankey","data_app_viz"],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.lastVersionChartKind.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.lastVersionChartKind.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.lastVersionChartKind","typeLabel":"enum\u003cstring> | null"},"chartName":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.chartName.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.chartName.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.chartName","typeLabel":"string | null"},"belongsToDashboard":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.belongsToDashboard","typeLabel":"boolean"},"hideTitle":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.hideTitle","typeLabel":"boolean"},"title":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties.title","typeLabel":"string"}},"required":["savedChartUuid"],"type":"object","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.properties","typeLabel":"object"},"tabUuid":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.tabUuid.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.tabUuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0.tabUuid","typeLabel":"string | null"}},"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","description":"Make all properties in T required","required":["properties","type","uuid","x","y","h","w"],"properties":{"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.uuid","typeLabel":"string"},"type":{"type":"string","enum":["markdown"],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.type","typeLabel":"enum\u003cstring>"},"x":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.x","typeLabel":"number\u003cdouble>"},"y":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.y","typeLabel":"number\u003cdouble>"},"h":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.h","typeLabel":"number\u003cdouble>"},"w":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.w","typeLabel":"number\u003cdouble>"},"properties":{"properties":{"content":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.properties.content","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.properties.title","typeLabel":"string"},"hideFrame":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.properties.hideFrame","typeLabel":"boolean"}},"required":["content","title"],"type":"object","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.properties","typeLabel":"object"},"tabUuid":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.tabUuid.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.tabUuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1.tabUuid","typeLabel":"string | null"}},"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.1","typeLabel":"object"},{"type":"object","description":"Make all properties in T required","required":["properties","type","uuid","x","y","h","w"],"properties":{"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.uuid","typeLabel":"string"},"type":{"type":"string","enum":["loom"],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.type","typeLabel":"enum\u003cstring>"},"x":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.x","typeLabel":"number\u003cdouble>"},"y":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.y","typeLabel":"number\u003cdouble>"},"h":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.h","typeLabel":"number\u003cdouble>"},"w":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.w","typeLabel":"number\u003cdouble>"},"properties":{"properties":{"url":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.properties.url","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.properties.title","typeLabel":"string"},"hideTitle":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.properties.hideTitle","typeLabel":"boolean"}},"required":["url","title"],"type":"object","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.properties","typeLabel":"object"},"tabUuid":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.tabUuid.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.tabUuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2.tabUuid","typeLabel":"string | null"}},"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.2","typeLabel":"object"},{"type":"object","description":"Make all properties in T required","required":["properties","type","uuid","x","y","h","w"],"properties":{"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.uuid","typeLabel":"string"},"type":{"type":"string","enum":["sql_chart"],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.type","typeLabel":"enum\u003cstring>"},"x":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.x","typeLabel":"number\u003cdouble>"},"y":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.y","typeLabel":"number\u003cdouble>"},"h":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.h","typeLabel":"number\u003cdouble>"},"w":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.w","typeLabel":"number\u003cdouble>"},"properties":{"properties":{"chartName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.properties.chartName","typeLabel":"string"},"savedSqlUuid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.properties.savedSqlUuid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.properties.savedSqlUuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.properties.savedSqlUuid","typeLabel":"string | null"},"chartSlug":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.properties.chartSlug.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.properties.chartSlug.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.properties.chartSlug","typeLabel":"string | null"},"hideTitle":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.properties.hideTitle","typeLabel":"boolean"},"title":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.properties.title","typeLabel":"string"}},"required":["chartName","savedSqlUuid"],"type":"object","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.properties","typeLabel":"object"},"tabUuid":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.tabUuid.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.tabUuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3.tabUuid","typeLabel":"string | null"}},"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.3","typeLabel":"object"},{"type":"object","description":"Make all properties in T required","required":["properties","type","uuid","x","y","h","w"],"properties":{"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.uuid","typeLabel":"string"},"type":{"type":"string","enum":["heading"],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.type","typeLabel":"enum\u003cstring>"},"x":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.x","typeLabel":"number\u003cdouble>"},"y":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.y","typeLabel":"number\u003cdouble>"},"h":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.h","typeLabel":"number\u003cdouble>"},"w":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.w","typeLabel":"number\u003cdouble>"},"properties":{"properties":{"text":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.properties.text","typeLabel":"string"},"showDivider":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.properties.showDivider","typeLabel":"boolean"},"title":{"oneOf":[{}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.properties.title","typeLabel":"any"}},"required":["text"],"type":"object","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.properties","typeLabel":"object"},"tabUuid":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.tabUuid.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.tabUuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4.tabUuid","typeLabel":"string | null"}},"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","description":"Make all properties in T required","required":["properties","type","uuid","x","y","h","w"],"properties":{"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.uuid","typeLabel":"string"},"type":{"type":"string","enum":["data_app"],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.type","typeLabel":"enum\u003cstring>"},"x":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.x","typeLabel":"number\u003cdouble>"},"y":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.y","typeLabel":"number\u003cdouble>"},"h":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.h","typeLabel":"number\u003cdouble>"},"w":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.w","typeLabel":"number\u003cdouble>"},"properties":{"properties":{"appUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.properties.appUuid","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.properties.title","typeLabel":"string"},"appDeletedAt":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.properties.appDeletedAt.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.properties.appDeletedAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.properties.appDeletedAt","typeLabel":"string | null"},"appSlug":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.properties.appSlug.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.properties.appSlug.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.properties.appSlug","typeLabel":"string | null"},"hideTitle":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.properties.hideTitle","typeLabel":"boolean"}},"required":["appUuid","title"],"type":"object","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.properties","typeLabel":"object"},"tabUuid":{"oneOf":[{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.tabUuid.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.tabUuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5.tabUuid","typeLabel":"string | null"}},"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX].oneOf.5","typeLabel":"object"}],"uniqueKey":"results.dashboards.items.[INDEX].data.tiles.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.tiles","typeLabel":"object[]"},"organizationUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.organizationUuid","typeLabel":"string"},"projectUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.projectUuid","typeLabel":"string"},"pinnedListUuid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.pinnedListUuid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.pinnedListUuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.pinnedListUuid","typeLabel":"string | null"},"pinnedListOrder":{"oneOf":[{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.pinnedListOrder.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.pinnedListOrder.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.pinnedListOrder","typeLabel":"number\u003cdouble> | null"},"dashboardVersionId":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.dashboardVersionId","typeLabel":"number\u003cdouble>"},"versionUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.versionUuid","typeLabel":"string"},"spaceUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.spaceUuid","typeLabel":"string"},"spaceName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.spaceName","typeLabel":"string"},"views":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.views","typeLabel":"number\u003cdouble>"},"firstViewedAt":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.firstViewedAt.oneOf.0","typeLabel":"string"},{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.firstViewedAt.oneOf.1","typeLabel":"string\u003cdate-time>"},{"type":"null","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.firstViewedAt.oneOf.2","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.firstViewedAt","typeLabel":"string | string\u003cdate-time> | null"},"colorPaletteUuid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.colorPaletteUuid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.colorPaletteUuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.colorPaletteUuid","typeLabel":"string | null"},"owner":{"oneOf":[{"type":"object","required":["email","lastName","firstName","userUuid"],"properties":{"email":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.owner.oneOf.0.email.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.owner.oneOf.0.email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.owner.oneOf.0.email","typeLabel":"string | null"},"lastName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.owner.oneOf.0.lastName","typeLabel":"string"},"firstName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.owner.oneOf.0.firstName","typeLabel":"string"},"userUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.owner.oneOf.0.userUuid","typeLabel":"string"}},"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.owner.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.owner.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.owner","typeLabel":"object | null"},"spacePath":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.spacePath","typeLabel":"string"},"spaceSlug":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.spaceSlug","typeLabel":"string"},"config":{"properties":{"isDateZoomDisabled":{"type":"boolean","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.isDateZoomDisabled","typeLabel":"boolean"},"parameterSections":{"properties":{},"additionalProperties":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.config.parameterSections.additionalProperties","typeLabel":"string"},"type":"object","description":"Parameter name to section id. Parameters have no saved object of their own.","uniqueKey":"results.dashboards.items.[INDEX].data.config.parameterSections","typeLabel":"object"},"controlSections":{"items":{"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.controlSections.items.[INDEX].name","typeLabel":"string"},"id":{"type":"string","description":"uuid, stable across dashboard versions","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.controlSections.items.[INDEX].id","typeLabel":"string"},"collapsed":{"type":"boolean","description":"Starts folded in the rail and on the bar; absent, the bar folds only a dense section","uniqueKey":"results.dashboards.items.[INDEX].data.config.controlSections.items.[INDEX].collapsed","typeLabel":"boolean"}},"required":["name","id"],"type":"object","uniqueKey":"results.dashboards.items.[INDEX].data.config.controlSections.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Named sets of controls, in display order. Controls point at a section\nby id; controls with no section render first, unsectioned.","uniqueKey":"results.dashboards.items.[INDEX].data.config.controlSections","typeLabel":"object[]"},"customMetrics":{"items":{"properties":{"type":{"enum":["percentile","average","count","count_distinct","sum","sum_distinct","average_distinct","min","max","percent_of_previous","percent_of_total","running_total","number","median","string","date","timestamp","boolean"],"type":"string","description":"Aggregation type","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"sql":{"type":"string","description":"SQL expression (e.g., ${TABLE}.column_name)","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].sql","typeLabel":"string"},"table":{"type":"string","description":"Table name the metric belongs to","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].table","typeLabel":"string"},"name":{"type":"string","description":"Internal name of the metric","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].name","typeLabel":"string"},"label":{"type":"string","description":"Display label for the metric","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].label","typeLabel":"string"},"description":{"type":"string","description":"Description of what the metric measures","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].description","typeLabel":"string"},"hidden":{"type":"boolean","description":"Whether the metric is hidden from users","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].hidden","typeLabel":"boolean"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].round","typeLabel":"number\u003cdouble>"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].compact","typeLabel":"enum\u003cstring>"},"format":{"oneOf":[{"type":"string","description":"Format string (legacy format specification)","enum":["km","mi","si","usd","gbp","eur","jpy","dkk","id","percent"],"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].format.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Format string (legacy format specification)","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].format.oneOf.1","typeLabel":"string"}],"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].format","typeLabel":"enum\u003cstring> | string"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style for grouping/decimal characters","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].separator","typeLabel":"enum\u003cstring>"},"index":{"type":"number","format":"double","description":"Display order index","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].index","typeLabel":"number\u003cdouble>"},"filters":{"items":{"description":"Filter rule for metrics, targeting fields by reference","properties":{"operator":{"enum":["isNull","notNull","equals","notEquals","startsWith","endsWith","include","doesNotInclude","lessThan","lessThanOrEqual","greaterThan","greaterThanOrEqual","inThePast","notInThePast","inTheNext","inTheCurrent","notInTheCurrent","inBetween","notInBetween","inPeriodToDate"],"type":"string","description":"Filter operator","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].operator","typeLabel":"enum\u003cstring>"},"id":{"type":"string","description":"Unique identifier for the filter","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].id","typeLabel":"string"},"target":{"properties":{"fieldRef":{"type":"string","description":"Field reference to filter on (e.g., 'table_name.field_name')","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].target.fieldRef","typeLabel":"string"}},"required":["fieldRef"],"type":"object","description":"Target field for the filter","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].target","typeLabel":"object"},"includeNull":{"type":"boolean","description":"For the `equals` operator on string fields, also match rows where the\nfield is null (compiles to `field IN (...) OR field IS NULL`). Lets users\ncombine null with selected values in a single \"is\" rule.","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].includeNull","typeLabel":"boolean"},"values":{"items":{"description":"This AnyType is an alias for any\nThe goal is to make it easier to identify any type in the codebase\nwithout having to eslint-disable all the time\nThese are only used on legacy `any` types, don't use it for new types.\nThis is added on a separate file to avoid circular dependencies.","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].values.items.[INDEX]","typeLabel":"any"},"type":"array","description":"Values to filter by","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].values","typeLabel":"any[]"},"settings":{"description":"Additional settings for date/time filters","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].settings","typeLabel":"any"},"disabled":{"type":"boolean","description":"Whether this filter is disabled","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].disabled","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this filter is required","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].required","typeLabel":"boolean"},"caseSensitive":{"type":"boolean","description":"Overrides the field/explore case-sensitivity for this rule only.\nUsed by internal features like autocomplete search that must always\nmatch case-insensitively regardless of the field's configured setting.","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX].caseSensitive","typeLabel":"boolean"}},"required":["operator","id","target"],"type":"object","additionalProperties":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Filters to apply to this metric","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].filters","typeLabel":"object[]"},"baseDimensionName":{"type":"string","description":"Name of the base dimension/column this metric aggregates","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].baseDimensionName","typeLabel":"string"},"baseMetricName":{"type":"string","description":"Name of the explore metric this metric was cloned from","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].baseMetricName","typeLabel":"string"},"uuid":{"oneOf":[{"type":"string","description":"Unique identifier for the metric","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].uuid.oneOf.0","typeLabel":"string"},{"type":"null","description":"Unique identifier for the metric","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].uuid.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].uuid","typeLabel":"string | null"},"percentile":{"type":"number","format":"double","description":"Percentile value for percentile metrics","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].percentile","typeLabel":"number\u003cdouble>"},"distinctKeys":{"items":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].distinctKeys.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].distinctKeys","typeLabel":"string[]"},"formatOptions":{"properties":{"type":{"enum":["default","percent","currency","number","id","date","timestamp","bytes_si","bytes_iec","custom"],"type":"string","description":"Format type","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.type","typeLabel":"enum\u003cstring>"},"round":{"type":"number","format":"double","description":"Number of decimal places","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.round","typeLabel":"number\u003cdouble>"},"separator":{"enum":["default","commaPeriod","spacePeriod","periodComma","noSeparatorPeriod","apostrophePeriod"],"type":"string","description":"Number separator style","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.separator","typeLabel":"enum\u003cstring>"},"currency":{"type":"string","description":"Currency code (e.g., USD, GBP, EUR)","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.currency","typeLabel":"string"},"compact":{"oneOf":[{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["auto","thousands","millions","billions","trillions","kilobytes","megabytes","gigabytes","terabytes","petabytes","kibibytes","mebibytes","gibibytes","tebibytes","pebibytes"],"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.compact.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","description":"Compact format for large numbers (K, M, B, T) or byte units","enum":["K","thousand","M","million","B","billion","T","trillion","KB","kilobyte","MB","megabyte","GB","gigabyte","TB","terabyte","PB","petabyte","KiB","kibibyte","MiB","mebibyte","GiB","gibibyte","TiB","tebibyte","PiB","pebibyte"],"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.compact.oneOf.1","typeLabel":"enum\u003cstring>"}],"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.compact","typeLabel":"enum\u003cstring>"},"prefix":{"type":"string","description":"Prefix to prepend to formatted values","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.prefix","typeLabel":"string"},"suffix":{"type":"string","description":"Suffix to append to formatted values","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.suffix","typeLabel":"string"},"timeInterval":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"Time interval for date formatting","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.timeInterval","typeLabel":"enum\u003cstring>"},"custom":{"type":"string","description":"Custom format string","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions.custom","typeLabel":"string"}},"required":["type"],"type":"object","additionalProperties":true,"description":"Formatting configuration","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].formatOptions","typeLabel":"object"},"generationType":{"type":"string","enum":["periodOverPeriod"],"nullable":false,"description":"Optional marker for metrics generated by the system.\nCurrently used for Period-over-Period (PoP) previous-period metrics.","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].generationType","typeLabel":"enum\u003cstring>"},"baseMetricId":{"type":"string","description":"For PoP-generated metrics, the base metric id that this metric is derived from.","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].baseMetricId","typeLabel":"string"},"timeDimensionId":{"type":"string","description":"For PoP-generated metrics, the time dimension id used for the comparison.","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].timeDimensionId","typeLabel":"string"},"granularity":{"enum":["RAW","YEAR","QUARTER","MONTH","WEEK","DAY","HOUR","MINUTE","SECOND","MILLISECOND","DAY_OF_WEEK_INDEX","DAY_OF_MONTH_NUM","DAY_OF_YEAR_NUM","WEEK_NUM","MONTH_NUM","QUARTER_NUM","YEAR_NUM","DAY_OF_WEEK_NAME","MONTH_NAME","QUARTER_NAME","HOUR_OF_DAY_NUM","MINUTE_OF_HOUR_NUM"],"type":"string","description":"For PoP-generated metrics, the granularity used for the comparison.","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].granularity","typeLabel":"enum\u003cstring>"},"periodOffset":{"type":"number","format":"double","description":"For PoP-generated metrics, the number of periods to offset by (>= 1).","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX].periodOffset","typeLabel":"number\u003cdouble>"}},"required":["type","sql","table","name"],"type":"object","additionalProperties":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics.items.[INDEX]","typeLabel":"object"},"type":"array","description":"Custom metrics offered to charts built inside this dashboard. Interim\nstore — moves to a semantic-layer draft later; don't read it elsewhere.","uniqueKey":"results.dashboards.items.[INDEX].data.config.customMetrics","typeLabel":"object[]"},"requiredFiltersNote":{"type":"string","description":"Editor-authored note shown to viewers while filter rules are unmet","uniqueKey":"results.dashboards.items.[INDEX].data.config.requiredFiltersNote","typeLabel":"string"},"dateZoomConfig":{"properties":{"tileTargets":{"properties":{},"additionalProperties":{"properties":{"tableName":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.tileTargets.additionalProperties.tableName.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.tileTargets.additionalProperties.tableName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.tileTargets.additionalProperties.tableName","typeLabel":"string | null"},"fieldId":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.tileTargets.additionalProperties.fieldId.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.tileTargets.additionalProperties.fieldId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.tileTargets.additionalProperties.fieldId","typeLabel":"string | null"},"controlUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.tileTargets.additionalProperties.controlUuid","typeLabel":"string"}},"required":["tableName","fieldId","controlUuid"],"type":"object","uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.tileTargets.additionalProperties","typeLabel":"object"},"type":"object","description":"Construct a type with a set of properties K of type T","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.tileTargets","typeLabel":"object"},"controls":{"items":{"properties":{"granularity":{"oneOf":[{"type":"string","enum":["Second","Minute","Hour","Day","Week","Month","Quarter","Year"],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.controls.items.[INDEX].granularity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.controls.items.[INDEX].granularity.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.controls.items.[INDEX].granularity","typeLabel":"enum\u003cstring> | string"},"name":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.controls.items.[INDEX].name","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.controls.items.[INDEX].uuid","typeLabel":"string"},"sectionId":{"type":"string","description":"Id of a DashboardConfig.controlSections entry; unsectioned if absent or dangling.","uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.controls.items.[INDEX].sectionId","typeLabel":"string"},"hidden":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.controls.items.[INDEX].hidden","typeLabel":"boolean"}},"required":["granularity","name","uuid"],"type":"object","uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.controls.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig.controls","typeLabel":"object[]"}},"required":["tileTargets","controls"],"type":"object","uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomConfig","typeLabel":"object"},"defaultDateZoomGranularity":{"oneOf":[{"type":"string","enum":["Second","Minute","Hour","Day","Week","Month","Quarter","Year"],"uniqueKey":"results.dashboards.items.[INDEX].data.config.defaultDateZoomGranularity.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.config.defaultDateZoomGranularity.oneOf.1","typeLabel":"string"}],"uniqueKey":"results.dashboards.items.[INDEX].data.config.defaultDateZoomGranularity","typeLabel":"enum\u003cstring> | string"},"dateZoomGranularities":{"items":{"oneOf":[{"type":"string","enum":["Second","Minute","Hour","Day","Week","Month","Quarter","Year"],"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomGranularities.items.[INDEX].oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomGranularities.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomGranularities.items.[INDEX]","typeLabel":"enum\u003cstring> | string"},"type":"array","uniqueKey":"results.dashboards.items.[INDEX].data.config.dateZoomGranularities","typeLabel":"(enum\u003cstring> | string)[]"},"parameterOrder":{"items":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.config.parameterOrder.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.dashboards.items.[INDEX].data.config.parameterOrder","typeLabel":"string[]"},"pinnedParameters":{"items":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.config.pinnedParameters.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"results.dashboards.items.[INDEX].data.config.pinnedParameters","typeLabel":"string[]"},"isAddFilterDisabled":{"type":"boolean","uniqueKey":"results.dashboards.items.[INDEX].data.config.isAddFilterDisabled","typeLabel":"boolean"}},"required":["isDateZoomDisabled"],"type":"object","uniqueKey":"results.dashboards.items.[INDEX].data.config","typeLabel":"object"},"description":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.description","typeLabel":"string"},"parameters":{"properties":{},"additionalProperties":{"properties":{"value":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.parameters.additionalProperties.value.oneOf.0","typeLabel":"string"},{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.parameters.additionalProperties.value.oneOf.1","typeLabel":"number\u003cdouble>"},{"type":"array","items":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.parameters.additionalProperties.value.oneOf.2.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.parameters.additionalProperties.value.oneOf.2","typeLabel":"string[]"},{"type":"array","items":{"type":"number","format":"double","uniqueKey":"results.dashboards.items.[INDEX].data.parameters.additionalProperties.value.oneOf.3.items.[INDEX]","typeLabel":"number\u003cdouble>"},"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.parameters.additionalProperties.value.oneOf.3","typeLabel":"number\u003cdouble>[]"}],"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.parameters.additionalProperties.value","typeLabel":"string | number\u003cdouble> | string[] | number\u003cdouble>[]"},"parameterName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.parameters.additionalProperties.parameterName","typeLabel":"string"}},"required":["value","parameterName"],"type":"object","uniqueKey":"results.dashboards.items.[INDEX].data.parameters.additionalProperties","typeLabel":"object"},"type":"object","description":"Construct a type with a set of properties K of type T","uniqueKey":"results.dashboards.items.[INDEX].data.parameters","typeLabel":"object"},"createdAt":{"type":"string","format":"date-time","uniqueKey":"results.dashboards.items.[INDEX].data.createdAt","typeLabel":"string\u003cdate-time>"},"projectName":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.projectName","typeLabel":"string"},"projectType":{"enum":["DEFAULT","PREVIEW","TRAINING"],"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.projectType","typeLabel":"enum\u003cstring>"},"hasUnpublishedChanges":{"type":"boolean","description":"Set when the viewer has an unpublished draft applied on top","uniqueKey":"results.dashboards.items.[INDEX].data.hasUnpublishedChanges","typeLabel":"boolean"},"draftsAwaitingReview":{"type":"number","format":"double","description":"For reviewers: open drafts by other users awaiting review","uniqueKey":"results.dashboards.items.[INDEX].data.draftsAwaitingReview","typeLabel":"number\u003cdouble>"},"draftOverlayError":{"properties":{"draftUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.draftOverlayError.draftUuid","typeLabel":"string"},"code":{"type":"string","enum":["invalid_dashboard_draft"],"nullable":false,"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.draftOverlayError.code","typeLabel":"enum\u003cstring>"}},"required":["draftUuid","code"],"type":"object","description":"The author draft was preserved but could not be safely rendered","uniqueKey":"results.dashboards.items.[INDEX].data.draftOverlayError","typeLabel":"object"},"dismissedDraftUuid":{"type":"string","description":"The viewer authored a dismissed draft that can be reopened","uniqueKey":"results.dashboards.items.[INDEX].data.dismissedDraftUuid","typeLabel":"string"},"draftStaleness":{"properties":{"conflictingFields":{"items":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.draftStaleness.conflictingFields.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.draftStaleness.conflictingFields","typeLabel":"string[]"},"changedFields":{"items":{"type":"string","uniqueKey":"results.dashboards.items.[INDEX].data.draftStaleness.changedFields.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.draftStaleness.changedFields","typeLabel":"string[]"},"draftUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.draftStaleness.draftUuid","typeLabel":"string"}},"required":["conflictingFields","changedFields","draftUuid"],"type":"object","description":"The viewer's draft started from an upload snapshot the repo has since moved past","uniqueKey":"results.dashboards.items.[INDEX].data.draftStaleness","typeLabel":"object"},"updatedByUser":{"properties":{"userUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.updatedByUser.userUuid","typeLabel":"string"},"firstName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.updatedByUser.firstName","typeLabel":"string"},"lastName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.updatedByUser.lastName","typeLabel":"string"}},"required":["userUuid","firstName","lastName"],"type":"object","additionalProperties":true,"uniqueKey":"results.dashboards.items.[INDEX].data.updatedByUser","typeLabel":"object"},"deletedAt":{"type":"string","format":"date-time","uniqueKey":"results.dashboards.items.[INDEX].data.deletedAt","typeLabel":"string\u003cdate-time>"},"deletedBy":{"oneOf":[{"properties":{"lastName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.deletedBy.oneOf.0.lastName","typeLabel":"string"},"firstName":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.deletedBy.oneOf.0.firstName","typeLabel":"string"},"userUuid":{"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data.deletedBy.oneOf.0.userUuid","typeLabel":"string"}},"required":["lastName","firstName","userUuid"],"type":"object","uniqueKey":"results.dashboards.items.[INDEX].data.deletedBy.oneOf.0","typeLabel":"object"},{"properties":{"lastName":{"type":"string"},"firstName":{"type":"string"},"userUuid":{"type":"string"}},"required":["lastName","firstName","userUuid"],"type":"null","uniqueKey":"results.dashboards.items.[INDEX].data.deletedBy.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.dashboards.items.[INDEX].data.deletedBy","typeLabel":"object | null"}},"isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].data","typeLabel":"object"},"action":{"enum":["no changes","create","update","delete"],"type":"string","isRequired":true,"uniqueKey":"results.dashboards.items.[INDEX].action","typeLabel":"enum\u003cstring>"}},"required":["data","action"],"type":"object","uniqueKey":"results.dashboards.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.dashboards","typeLabel":"object[]"},"spaces":{"items":{"properties":{"data":{"type":"object","description":"From T, pick a set of properties whose keys are in the union K","required":["documentCount","appCount","childSpaceCount","dashboardCount","chartCount","name","slug","uuid","organizationUuid","projectUuid","inheritParentPermissions","projectMemberAccessRole","pinnedListUuid","pinnedListOrder","parentSpaceUuid","path"],"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.name","typeLabel":"string"},"slug":{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.slug","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.uuid","typeLabel":"string"},"organizationUuid":{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.organizationUuid","typeLabel":"string"},"projectUuid":{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.projectUuid","typeLabel":"string"},"inheritParentPermissions":{"type":"boolean","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.inheritParentPermissions","typeLabel":"boolean"},"projectMemberAccessRole":{"oneOf":[{"type":"string","enum":["viewer","editor","admin"],"isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.projectMemberAccessRole.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.projectMemberAccessRole.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.projectMemberAccessRole","typeLabel":"enum\u003cstring> | null"},"pinnedListUuid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.pinnedListUuid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.pinnedListUuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.pinnedListUuid","typeLabel":"string | null"},"pinnedListOrder":{"oneOf":[{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.pinnedListOrder.oneOf.0","typeLabel":"number\u003cdouble>"},{"type":"null","format":"double","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.pinnedListOrder.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.pinnedListOrder","typeLabel":"number\u003cdouble> | null"},"parentSpaceUuid":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.parentSpaceUuid.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.parentSpaceUuid.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.parentSpaceUuid","typeLabel":"string | null"},"path":{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.path","typeLabel":"string"},"documentCount":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.documentCount","typeLabel":"number\u003cdouble>"},"appCount":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.appCount","typeLabel":"number\u003cdouble>"},"childSpaceCount":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.childSpaceCount","typeLabel":"number\u003cdouble>"},"dashboardCount":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.dashboardCount","typeLabel":"number\u003cdouble>"},"chartCount":{"type":"number","format":"double","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.chartCount","typeLabel":"number\u003cdouble>"},"deletedBy":{"properties":{"lastName":{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.deletedBy.lastName","typeLabel":"string"},"firstName":{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.deletedBy.firstName","typeLabel":"string"},"userUuid":{"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data.deletedBy.userUuid","typeLabel":"string"}},"required":["lastName","firstName","userUuid"],"type":"object","uniqueKey":"results.spaces.items.[INDEX].data.deletedBy","typeLabel":"object"},"deletedAt":{"type":"string","format":"date-time","uniqueKey":"results.spaces.items.[INDEX].data.deletedAt","typeLabel":"string\u003cdate-time>"}},"isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].data","typeLabel":"object"},"action":{"enum":["no changes","create","update","delete"],"type":"string","isRequired":true,"uniqueKey":"results.spaces.items.[INDEX].action","typeLabel":"enum\u003cstring>"}},"required":["data","action"],"type":"object","uniqueKey":"results.spaces.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"results.spaces","typeLabel":"object[]"},"documents":{"items":{"properties":{"data":{"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.documents.items.[INDEX].data.name","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.documents.items.[INDEX].data.uuid","typeLabel":"string"}},"required":["name","uuid"],"type":"object","isRequired":true,"uniqueKey":"results.documents.items.[INDEX].data","typeLabel":"object"},"action":{"enum":["no changes","create","update","delete"],"type":"string","isRequired":true,"uniqueKey":"results.documents.items.[INDEX].action","typeLabel":"enum\u003cstring>"}},"required":["data","action"],"type":"object","uniqueKey":"results.documents.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"results.documents","typeLabel":"object[]"},"dataApps":{"items":{"properties":{"data":{"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"results.dataApps.items.[INDEX].data.name","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.dataApps.items.[INDEX].data.uuid","typeLabel":"string"}},"required":["name","uuid"],"type":"object","isRequired":true,"uniqueKey":"results.dataApps.items.[INDEX].data","typeLabel":"object"},"action":{"enum":["no changes","create","update","delete"],"type":"string","isRequired":true,"uniqueKey":"results.dataApps.items.[INDEX].action","typeLabel":"enum\u003cstring>"}},"required":["data","action"],"type":"object","uniqueKey":"results.dataApps.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"results.dataApps","typeLabel":"object[]"},"sqlCharts":{"items":{"properties":{"data":{"properties":{"spacePath":{"type":"string","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data.spacePath","typeLabel":"string"},"spaceSlug":{"type":"string","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data.spaceSlug","typeLabel":"string"},"description":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data.description.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data.description","typeLabel":"string | null"},"name":{"type":"string","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data.name","typeLabel":"string"},"projectUuid":{"type":"string","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data.projectUuid","typeLabel":"string"},"slug":{"type":"string","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data.slug","typeLabel":"string"},"oldUuid":{"type":"string","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data.oldUuid","typeLabel":"string"},"uuid":{"type":"string","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data.uuid","typeLabel":"string"}},"required":["spacePath","spaceSlug","description","name","projectUuid","slug","oldUuid","uuid"],"type":"object","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].data","typeLabel":"object"},"action":{"enum":["no changes","create","update","delete"],"type":"string","isRequired":true,"uniqueKey":"results.sqlCharts.items.[INDEX].action","typeLabel":"enum\u003cstring>"}},"required":["data","action"],"type":"object","uniqueKey":"results.sqlCharts.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"results.sqlCharts","typeLabel":"object[]"}},"required":["charts","dashboards","spaces"],"type":"object","isRequired":true,"uniqueKey":"results","typeLabel":"object"},"status":{"type":"string","enum":["ok"],"nullable":false,"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"}},"required":["results","status"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"results":{"charts":[{"data":{"name":"\u003cstring>","tableName":"\u003cstring>","metricQuery":{"tableCalculations":[{"displayName":"\u003cstring>","name":"\u003cstring>","sql":"\u003cstring>","totalMode":"formula","type":"number","format":{"type":"default","round":123,"separator":"default","currency":"\u003cstring>","compact":"auto","prefix":"\u003cstring>","suffix":"\u003cstring>","timeInterval":"RAW","custom":"\u003cstring>"},"index":123}],"limit":123,"sorts":[{"descending":true,"fieldId":"\u003cstring>","pivotValues":[{"value":"\u003cstring>","reference":"\u003cstring>"}],"nullsFirst":true}],"filters":{"tableCalculations":{"or":[{"operator":"isNull","id":"\u003cstring>","target":{"fieldId":"\u003cstring>"},"includeNull":true,"values":["\u003cunknown>"],"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true}],"id":"\u003cstring>"},"metrics":{"or":[{"operator":"isNull","id":"\u003cstring>","target":{"fieldId":"\u003cstring>"},"includeNull":true,"values":["\u003cunknown>"],"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true}],"id":"\u003cstring>"},"dimensions":{"or":[{"operator":"isNull","id":"\u003cstring>","target":{"fieldId":"\u003cstring>"},"includeNull":true,"values":["\u003cunknown>"],"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true}],"id":"\u003cstring>"}},"metrics":["\u003cstring>"],"dimensions":["\u003cstring>"],"exploreName":"\u003cstring>","metadata":{"hasADateDimension":{"name":"\u003cstring>","label":"\u003cstring>","table":"\u003cstring>"}},"pivotDimensions":["\u003cstring>"],"timezone":"\u003cstring>","dimensionOverrides":{},"metricOverrides":{},"customDimensions":[{"id":"\u003cstring>","name":"\u003cstring>","table":"\u003cstring>","type":"bin","dimensionId":"\u003cstring>","binType":"fixed_number","binNumber":123}],"additionalMetrics":[{"type":"percentile","sql":"\u003cstring>","table":"\u003cstring>","name":"\u003cstring>","label":"\u003cstring>","description":"\u003cstring>","hidden":true,"round":123,"compact":"auto","format":"km","separator":"default","index":123,"filters":[{"operator":"isNull","id":"\u003cstring>","target":{"fieldRef":"\u003cstring>"},"includeNull":true,"values":["\u003cunknown>"],"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true}],"baseDimensionName":"\u003cstring>","baseMetricName":"\u003cstring>","uuid":"\u003cstring>","percentile":123,"distinctKeys":["\u003cstring>"],"formatOptions":{"type":"default","round":123,"separator":"default","currency":"\u003cstring>","compact":"auto","prefix":"\u003cstring>","suffix":"\u003cstring>","timeInterval":"RAW","custom":"\u003cstring>"},"generationType":"periodOverPeriod","baseMetricId":"\u003cstring>","timeDimensionId":"\u003cstring>","granularity":"RAW","periodOffset":123}]},"chartConfig":{"type":"big_number","config":{"comparisonField":"\u003cstring>","conditionalFormattings":[{"rules":[{"values":[123],"operator":"isNull","id":"\u003cstring>","includeNull":true}],"color":"\u003cstring>","target":{"fieldId":"\u003cstring>"},"textStyle":{"underline":true,"italic":true,"bold":true},"applyTo":"cell","darkColor":"\u003cstring>"}],"comparisonLabel":"\u003cstring>","flipColors":true,"comparisonFormat":"raw","showComparison":true,"showTableNamesInLabel":true,"showBigNumberLabel":true,"selectedField":"\u003cstring>","style":"auto","label":"\u003cstring>"}},"slug":"\u003cstring>","updatedAt":"2023-11-07T05:31:56Z","tableConfig":{"columnOrder":["\u003cstring>"]},"verification":{"verifiedAt":"2023-11-07T05:31:56Z","verifiedBy":{"lastName":"\u003cstring>","firstName":"\u003cstring>","userUuid":"\u003cstring>"}},"uuid":"\u003cstring>","organizationUuid":"\u003cstring>","projectUuid":"\u003cstring>","pinnedListUuid":"\u003cstring>","pinnedListOrder":123,"spaceUuid":"\u003cstring>","spaceName":"\u003cstring>","colorPaletteUuid":"\u003cstring>","dashboardUuid":"\u003cstring>","dashboardName":"\u003cstring>","colorPalette":["\u003cstring>"],"resolvedColorPalette":{"source":{"type":"config"},"paletteName":"\u003cstring>","paletteUuid":"\u003cstring>","darkColors":["\u003cstring>"],"colors":["\u003cstring>"]},"oldUuid":"\u003cstring>","spacePath":"\u003cstring>","spaceSlug":"\u003cstring>","description":"\u003cstring>","pivotConfig":{"columns":["\u003cstring>"],"rows":["\u003cstring>"]},"parameters":{},"merge":{"limit":123,"keys":{},"join":"full","queries":{},"tableCalculations":[{"sql":"\u003cstring>","displayName":"\u003cstring>","name":"\u003cstring>","format":{"type":"default","round":123,"separator":"default","currency":"\u003cstring>","compact":"auto","prefix":"\u003cstring>","suffix":"\u003cstring>","timeInterval":"RAW","custom":"\u003cstring>"},"formula":"\u003cstring>"}],"sort":[{"direction":"asc","by":"\u003cstring>"}],"keyNames":{},"chartRepeats":true,"chartAs":"\u003cstring>"},"dashboardSlug":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","projectName":"\u003cstring>","projectType":"DEFAULT","hasUnpublishedChanges":true,"draftsAwaitingReview":123,"draftOverlayError":{"draftUuid":"\u003cstring>","code":"invalid_chart_draft"},"dismissedDraftUuid":"\u003cstring>","draftStaleness":{"conflictingFields":["\u003cstring>"],"changedFields":["\u003cstring>"],"draftUuid":"\u003cstring>"},"updatedByUser":{"userUuid":"\u003cstring>","firstName":"\u003cstring>","lastName":"\u003cstring>"},"deletedAt":"2023-11-07T05:31:56Z","deletedBy":{"lastName":"\u003cstring>","firstName":"\u003cstring>","userUuid":"\u003cstring>"}},"action":"no changes"}],"dashboards":[{"data":{"name":"\u003cstring>","slug":"\u003cstring>","filters":{"tableCalculations":[{"operator":"isNull","id":"\u003cstring>","target":{"tableName":"\u003cstring>","fieldId":"\u003cstring>","fallbackType":"string","isSqlColumn":true},"includeNull":true,"values":["\u003cunknown>"],"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true,"sectionId":"\u003cstring>","lockedTabUuids":["\u003cstring>"],"requiredGroupId":"\u003cstring>","singleValue":true,"label":"\u003cstring>","tileTargets":{}}],"metrics":[{"operator":"isNull","id":"\u003cstring>","target":{"tableName":"\u003cstring>","fieldId":"\u003cstring>","fallbackType":"string","isSqlColumn":true},"includeNull":true,"values":["\u003cunknown>"],"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true,"sectionId":"\u003cstring>","lockedTabUuids":["\u003cstring>"],"requiredGroupId":"\u003cstring>","singleValue":true,"label":"\u003cstring>","tileTargets":{}}],"dimensions":[{"operator":"isNull","id":"\u003cstring>","target":{"tableName":"\u003cstring>","fieldId":"\u003cstring>","fallbackType":"string","isSqlColumn":true},"includeNull":true,"values":["\u003cunknown>"],"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true,"sectionId":"\u003cstring>","lockedTabUuids":["\u003cstring>"],"requiredGroupId":"\u003cstring>","singleValue":true,"label":"\u003cstring>","tileTargets":{}}]},"updatedAt":"2023-11-07T05:31:56Z","verification":{"verifiedAt":"2023-11-07T05:31:56Z","verifiedBy":{"lastName":"\u003cstring>","firstName":"\u003cstring>","userUuid":"\u003cstring>"}},"tabs":[{"order":1,"name":"\u003cstring>","uuid":"\u003cstring>","hidden":true}],"uuid":"\u003cstring>","tiles":[{"uuid":"\u003cstring>","type":"saved_chart","x":123,"y":123,"h":123,"w":123,"properties":{"savedChartUuid":"\u003cstring>","chartSlug":"\u003cstring>","lastVersionChartKind":"line","chartName":"\u003cstring>","belongsToDashboard":true,"hideTitle":true,"title":"\u003cstring>"},"tabUuid":"\u003cstring>"}],"organizationUuid":"\u003cstring>","projectUuid":"\u003cstring>","pinnedListUuid":"\u003cstring>","pinnedListOrder":123,"dashboardVersionId":123,"versionUuid":"\u003cstring>","spaceUuid":"\u003cstring>","spaceName":"\u003cstring>","views":123,"firstViewedAt":"\u003cstring>","colorPaletteUuid":"\u003cstring>","owner":{"email":"\u003cstring>","lastName":"\u003cstring>","firstName":"\u003cstring>","userUuid":"\u003cstring>"},"spacePath":"\u003cstring>","spaceSlug":"\u003cstring>","config":{"isDateZoomDisabled":true,"parameterSections":{},"controlSections":[{"name":"\u003cstring>","id":"\u003cstring>","collapsed":true}],"customMetrics":[{"type":"percentile","sql":"\u003cstring>","table":"\u003cstring>","name":"\u003cstring>","label":"\u003cstring>","description":"\u003cstring>","hidden":true,"round":123,"compact":"auto","format":"km","separator":"default","index":123,"filters":[{"operator":"isNull","id":"\u003cstring>","target":{"fieldRef":"\u003cstring>"},"includeNull":true,"values":["\u003cunknown>"],"settings":"\u003cunknown>","disabled":true,"required":true,"caseSensitive":true}],"baseDimensionName":"\u003cstring>","baseMetricName":"\u003cstring>","uuid":"\u003cstring>","percentile":123,"distinctKeys":["\u003cstring>"],"formatOptions":{"type":"default","round":123,"separator":"default","currency":"\u003cstring>","compact":"auto","prefix":"\u003cstring>","suffix":"\u003cstring>","timeInterval":"RAW","custom":"\u003cstring>"},"generationType":"periodOverPeriod","baseMetricId":"\u003cstring>","timeDimensionId":"\u003cstring>","granularity":"RAW","periodOffset":123}],"requiredFiltersNote":"\u003cstring>","dateZoomConfig":{"tileTargets":{},"controls":[{"granularity":"Second","name":"\u003cstring>","uuid":"\u003cstring>","sectionId":"\u003cstring>","hidden":true}]},"defaultDateZoomGranularity":"Second","dateZoomGranularities":["Second"],"parameterOrder":["\u003cstring>"],"pinnedParameters":["\u003cstring>"],"isAddFilterDisabled":true},"description":"\u003cstring>","parameters":{},"createdAt":"2023-11-07T05:31:56Z","projectName":"\u003cstring>","projectType":"DEFAULT","hasUnpublishedChanges":true,"draftsAwaitingReview":123,"draftOverlayError":{"draftUuid":"\u003cstring>","code":"invalid_dashboard_draft"},"dismissedDraftUuid":"\u003cstring>","draftStaleness":{"conflictingFields":["\u003cstring>"],"changedFields":["\u003cstring>"],"draftUuid":"\u003cstring>"},"updatedByUser":{"userUuid":"\u003cstring>","firstName":"\u003cstring>","lastName":"\u003cstring>"},"deletedAt":"2023-11-07T05:31:56Z","deletedBy":{"lastName":"\u003cstring>","firstName":"\u003cstring>","userUuid":"\u003cstring>"}},"action":"no changes"}],"spaces":[{"data":{"name":"\u003cstring>","slug":"\u003cstring>","uuid":"\u003cstring>","organizationUuid":"\u003cstring>","projectUuid":"\u003cstring>","inheritParentPermissions":true,"projectMemberAccessRole":"viewer","pinnedListUuid":"\u003cstring>","pinnedListOrder":123,"parentSpaceUuid":"\u003cstring>","path":"\u003cstring>","documentCount":123,"appCount":123,"childSpaceCount":123,"dashboardCount":123,"chartCount":123,"deletedBy":{"lastName":"\u003cstring>","firstName":"\u003cstring>","userUuid":"\u003cstring>"},"deletedAt":"2023-11-07T05:31:56Z"},"action":"no changes"}],"documents":[{"data":{"name":"\u003cstring>","uuid":"\u003cstring>"},"action":"no changes"}],"dataApps":[{"data":{"name":"\u003cstring>","uuid":"\u003cstring>"},"action":"no changes"}],"sqlCharts":[{"data":{"spacePath":"\u003cstring>","spaceSlug":"\u003cstring>","description":"\u003cstring>","name":"\u003cstring>","projectUuid":"\u003cstring>","slug":"\u003cstring>","oldUuid":"\u003cstring>","uuid":"\u003cstring>"},"action":"no changes"}]},"status":"ok"}}},"exampleType":"generated"}},"exampleType":"generated"},"7ba1efa8-4ce0-4a3d-8d24-cae009fd074a":{"description":"Error","content":{"application/json":{"schema":{"properties":{"error":{"properties":{"name":{"type":"string","description":"Unique name for the type of error","isRequired":true,"uniqueKey":"error.name","typeLabel":"string"},"statusCode":{"type":"number","format":"integer","description":"HTTP status code","isRequired":true,"uniqueKey":"error.statusCode","typeLabel":"number\u003cinteger>"},"data":{"description":"Optional data containing details of the error","uniqueKey":"error.data","typeLabel":"any"},"message":{"type":"string","description":"A friendly message summarising the error","uniqueKey":"error.message","typeLabel":"string"}},"required":["name","statusCode"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"},"status":{"type":"string","enum":["error"],"nullable":false,"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"}},"required":["error","status"],"type":"object","description":"The Error object is returned from the api any time there is an error.\nThe message contains","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"name":"\u003cstring>","statusCode":123,"data":"\u003cunknown>","message":"\u003cstring>"},"status":"error"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"7997457f-94ba-4ec6-aae9-9f3dbab7b0be":{"url":"/"}}},"originalFileLocation":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json"},"subdomain":"lightdash","siteName":"Lightdash","title":"Upsert chart as code (deprecated) - Lightdash","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T09:28:36.529Z","originalFileLocation":"api-reference/projects/upsert-chart-as-code-deprecated.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Lightdash\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_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/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lightdash/x1yO_UZNDKcOd4RY/_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/lightdash/x1yO_UZNDKcOd4RY/_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/lightdash/x1yO_UZNDKcOd4RY/_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/lightdash/x1yO_UZNDKcOd4RY/_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/lightdash/x1yO_UZNDKcOd4RY/_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/lightdash/x1yO_UZNDKcOd4RY/_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/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Upsert chart as code (deprecated) - Lightdash\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Lightdash\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lightdash.com/api-reference/projects/upsert-chart-as-code-deprecated\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lightdash.mintlify.app/_mintlify/api/og/v2?division=Projects\u0026amp;title=Upsert+chart+as+code+%28deprecated%29\u0026amp;theme=ec550573033c2195fadd36ad\u0026amp;signature=8bad3df601ad1f09e51c0b8ff9fa6b86e268439c684bc5c4a027c54768ce0647\">\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=\"Upsert chart as code (deprecated) - Lightdash\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lightdash.mintlify.app/_mintlify/api/og/v2?division=Projects\u0026amp;title=Upsert+chart+as+code+%28deprecated%29\u0026amp;theme=ec550573033c2195fadd36ad\u0026amp;signature=8bad3df601ad1f09e51c0b8ff9fa6b86e268439c684bc5c4a027c54768ce0647\">\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/lightdash/x1yO_UZNDKcOd4RY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Lightdash\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#8072ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lightdash.com/api-reference/projects/upsert-chart-as-code-deprecated\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/projects/upsert-chart-as-code-deprecated.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lightdash.com/#organization\",\"name\":\"Lightdash\",\"url\":\"https://docs.lightdash.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lightdash/NAoHiyWrKI0dLTGZ/logo/light.svg?fit=max\u0026auto=format\u0026n=NAoHiyWrKI0dLTGZ\u0026q=85\u0026s=4b91c8292b732e3daca7558549cf018c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lightdash.com#website\",\"name\":\"Lightdash\",\"url\":\"https://docs.lightdash.com\",\"publisher\":{\"@id\":\"https://docs.lightdash.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lightdash.com/api-reference/projects/upsert-chart-as-code-deprecated#webpage\",\"url\":\"https://docs.lightdash.com/api-reference/projects/upsert-chart-as-code-deprecated\",\"name\":\"Upsert chart as code (deprecated)\",\"dateModified\":\"2026-10-28T09:28:36.529Z\",\"isPartOf\":{\"@id\":\"https://docs.lightdash.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lightdash.com/api-reference/projects/upsert-chart-as-code-deprecated#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lightdash.com/api-reference/projects/upsert-chart-as-code-deprecated#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Reference\",\"item\":\"https://docs.lightdash.com/api-reference/projects/get-apiv1projects-codehomepages\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Projects\",\"item\":\"https://docs.lightdash.com/api-reference/projects/get-apiv1projects-codehomepages\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Upsert chart as code (deprecated)\",\"item\":\"https://docs.lightdash.com/api-reference/projects/upsert-chart-as-code-deprecated\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.lightdash.com/api-reference/projects/upsert-chart-as-code-deprecated#apireference\",\"headline\":\"Upsert chart as code (deprecated)\",\"name\":\"Upsert chart as code (deprecated)\",\"url\":\"https://docs.lightdash.com/api-reference/projects/upsert-chart-as-code-deprecated\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lightdash.com/api-reference/projects/upsert-chart-as-code-deprecated#webpage\"},\"dateModified\":\"2026-10-28T09:28:36.529Z\",\"publisher\":{\"@id\":\"https://docs.lightdash.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lightdash.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Lightdash\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Lightdash","nav":{"global":null,"tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":"/introduction"}]},{"tab":"API","groups":[{"group":"API","boost":0.4,"root":{"title":"Lightdash API","sidebarTitle":"Introduction","href":"/api-reference/v1/introduction"},"pages":[{"title":"Recipes","href":"/api-reference/v1/recipes"},{"title":"Python SDK","href":"/sdk/python-sdk"}]},{"group":"Reference","boost":0.4,"pages":[{"group":"Projects","pages":[{"title":"Get apiv1projects codehomepages","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/homepages","href":"/api-reference/projects/get-apiv1projects-codehomepages"},{"title":"Post apiv1projects codehomepages","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/homepages/{name}","href":"/api-reference/projects/post-apiv1projects-codehomepages"},{"title":"Rename content slug","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/slugs/rename","href":"/api-reference/projects/rename-content-slug"},{"title":"List content-as-code write-backs","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/writebacks","href":"/api-reference/projects/list-content-as-code-write-backs"},{"title":"Propose chart to git","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/writebacks/charts/{slug}/propose","href":"/api-reference/projects/propose-chart-to-git"},{"title":"Propose dashboard to git","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/writebacks/dashboards/{slug}/propose","href":"/api-reference/projects/propose-dashboard-to-git"},{"title":"Get content-as-code settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/sync-settings","href":"/api-reference/projects/get-content-as-code-settings"},{"title":"Stamp content-as-code settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/sync-settings","href":"/api-reference/projects/stamp-content-as-code-settings"},{"title":"Pull content from git","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/pull","href":"/api-reference/projects/pull-content-from-git"},{"title":"Get content-as-code upload advisory","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/upload-advisory","href":"/api-reference/projects/get-content-as-code-upload-advisory"},{"title":"List content drafts","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/drafts","href":"/api-reference/projects/list-content-drafts"},{"title":"Get content draft review","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/drafts/{draftUuid}/review","href":"/api-reference/projects/get-content-draft-review"},{"title":"Get content draft staleness","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/drafts/{draftUuid}/staleness","href":"/api-reference/projects/get-content-draft-staleness"},{"title":"Rebase content draft","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/drafts/{draftUuid}/rebase","href":"/api-reference/projects/rebase-content-draft"},{"title":"Write back content draft","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/drafts/{draftUuid}/write-back","href":"/api-reference/projects/write-back-content-draft"},{"title":"Dismiss content draft","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/drafts/{draftUuid}/dismiss","href":"/api-reference/projects/dismiss-content-draft"},{"title":"Reopen content draft","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/drafts/{draftUuid}/reopen","href":"/api-reference/projects/reopen-content-draft"},{"title":"List charts as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/charts","href":"/api-reference/projects/list-charts-as-code"},{"title":"List dashboards as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/dashboards","href":"/api-reference/projects/list-dashboards-as-code"},{"title":"Get SQL charts as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/sqlCharts","href":"/api-reference/projects/get-sql-charts-as-code"},{"title":"List virtual views as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/virtualViews","href":"/api-reference/projects/list-virtual-views-as-code"},{"title":"List scheduled deliveries as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/scheduledDeliveries","href":"/api-reference/projects/list-scheduled-deliveries-as-code"},{"title":"List alerts as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/alerts","href":"/api-reference/projects/list-alerts-as-code"},{"title":"List Google Sheets syncs as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/googleSheets","href":"/api-reference/projects/list-google-sheets-syncs-as-code"},{"title":"List external connections as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/externalConnections","href":"/api-reference/projects/list-external-connections-as-code"},{"title":"Upsert virtual view as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/virtualViews/{slug}","href":"/api-reference/projects/upsert-virtual-view-as-code"},{"title":"Upsert scheduled delivery as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/scheduledDeliveries/{slug}","href":"/api-reference/projects/upsert-scheduled-delivery-as-code"},{"title":"Upsert alert as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/alerts/{slug}","href":"/api-reference/projects/upsert-alert-as-code"},{"title":"Upsert Google Sheets sync as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/googleSheets/{slug}","href":"/api-reference/projects/upsert-google-sheets-sync-as-code"},{"title":"Upsert chart as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/charts/{slug}","href":"/api-reference/projects/upsert-chart-as-code"},{"title":"Upsert SQL chart as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/sqlCharts/{slug}","href":"/api-reference/projects/upsert-sql-chart-as-code"},{"title":"Upsert dashboard as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/dashboards/{slug}","href":"/api-reference/projects/upsert-dashboard-as-code"},{"title":"Upsert external connection as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/externalConnections/{slug}","href":"/api-reference/projects/upsert-external-connection-as-code"},{"title":"List charts as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/charts/code","href":"/api-reference/projects/list-charts-as-code-deprecated"},{"title":"List dashboards as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dashboards/code","href":"/api-reference/projects/list-dashboards-as-code-deprecated"},{"title":"List SQL charts as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlCharts/code","href":"/api-reference/projects/list-sql-charts-as-code-deprecated"},{"title":"List virtual views as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/virtualViews/code","href":"/api-reference/projects/list-virtual-views-as-code-deprecated"},{"title":"List scheduled deliveries as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/scheduledDeliveries/code","href":"/api-reference/projects/list-scheduled-deliveries-as-code-deprecated"},{"title":"List alerts as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/alerts/code","href":"/api-reference/projects/list-alerts-as-code-deprecated"},{"title":"List Google Sheets syncs as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/googleSheets/code","href":"/api-reference/projects/list-google-sheets-syncs-as-code-deprecated"},{"title":"Upsert virtual view as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/virtualViews/{slug}/code","href":"/api-reference/projects/upsert-virtual-view-as-code-deprecated"},{"title":"Upsert scheduled delivery as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/scheduledDeliveries/{slug}/code","href":"/api-reference/projects/upsert-scheduled-delivery-as-code-deprecated"},{"title":"Upsert alert as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/alerts/{slug}/code","href":"/api-reference/projects/upsert-alert-as-code-deprecated"},{"title":"Upsert Google Sheets sync as code (deprecated)","description":null,"deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/googleSheets/{slug}/code","href":"/api-reference/projects/upsert-google-sheets-sync-as-code-deprecated"},{"title":"Upsert chart as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/charts/{slug}/code","href":"/api-reference/projects/upsert-chart-as-code-deprecated"},{"title":"Upsert SQL chart as code (deprecated)","description":null,"deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlCharts/{slug}/code","href":"/api-reference/projects/upsert-sql-chart-as-code-deprecated"},{"title":"Upsert dashboard as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/dashboards/{slug}/code","href":"/api-reference/projects/upsert-dashboard-as-code-deprecated"},{"title":"List Documents as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/documents","href":"/api-reference/projects/list-documents-as-code"},{"title":"Upsert Document as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/documents/{slug}","href":"/api-reference/projects/upsert-document-as-code"},{"title":"Check Snowflake SSO authentication","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/snowflake/sso/is-authenticated","href":"/api-reference/projects/check-snowflake-sso-authentication"},{"title":"Check Databricks OAuth authentication","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/databricks/sso/is-authenticated","href":"/api-reference/projects/check-databricks-oauth-authentication"},{"title":"Create connect code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/warehouse-connect/code","href":"/api-reference/projects/create-connect-code"},{"title":"Deposit connection","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/warehouse-connect/deposit","href":"/api-reference/projects/deposit-connection"},{"title":"Claim connect code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/warehouse-connect/claim","href":"/api-reference/projects/claim-connect-code"},{"title":"Get validation results","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/validate","href":"/api-reference/projects/get-validation-results"},{"title":"Validate project","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/validate","href":"/api-reference/projects/validate-project"},{"title":"Dismiss validation error","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/validate/{validationIdOrUuid}","href":"/api-reference/projects/dismiss-validation-error"},{"title":"Validate specific chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/validate/chart/{chartUuid}","href":"/api-reference/projects/validate-specific-chart"},{"title":"Validate specific dashboard","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/validate/dashboard/{dashboardUuid}","href":"/api-reference/projects/validate-specific-dashboard"},{"title":"Get user activity","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/analytics/user-activity/{projectUuid}","href":"/api-reference/projects/get-user-activity"},{"title":"Download user activity CSV","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/analytics/user-activity/{projectUuid}/download","href":"/api-reference/projects/download-user-activity-csv"},{"title":"Get download activity log","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/analytics/user-activity/{projectUuid}/download-activity","href":"/api-reference/projects/get-download-activity-log"},{"title":"List spaces in project","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/spaces","href":"/api-reference/projects/list-spaces-in-project"},{"title":"Rename resources","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/rename","href":"/api-reference/projects/rename-resources"},{"title":"Preview rename","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/rename/preview","href":"/api-reference/projects/preview-rename"},{"title":"Rename chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/rename/chart/{chartUuid}","href":"/api-reference/projects/rename-chart"},{"title":"Get chart fields for rename","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/rename/chart/{chartUuid}/fields","href":"/api-reference/projects/get-chart-fields-for-rename"},{"title":"Rename dashboard filter","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/rename/dashboard/{dashboardUuid}","href":"/api-reference/projects/rename-dashboard-filter"},{"title":"Get dashboard fields for rename","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/rename/dashboard/{dashboardUuid}/fields","href":"/api-reference/projects/get-dashboard-fields-for-rename"},{"title":"List dbt sources","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dbt-sources","href":"/api-reference/projects/list-dbt-sources"},{"title":"Add dbt source","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/dbt-sources","href":"/api-reference/projects/add-dbt-source"},{"title":"Get dbt source","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dbt-sources/{projectDbtSourceUuid}","href":"/api-reference/projects/get-dbt-source"},{"title":"Remove dbt source","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/dbt-sources/{projectDbtSourceUuid}","href":"/api-reference/projects/remove-dbt-source"},{"title":"Update dbt source","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/dbt-sources/{projectDbtSourceUuid}","href":"/api-reference/projects/update-dbt-source"},{"title":"Get apiv1projects warehouse credentialsshared sign in","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/warehouse-credentials/shared-sign-in","href":"/api-reference/projects/get-apiv1projects-warehouse-credentialsshared-sign-in"},{"title":"Post apiv1projects warehouse credentialsshared sign in","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/warehouse-credentials/shared-sign-in","href":"/api-reference/projects/post-apiv1projects-warehouse-credentialsshared-sign-in"},{"title":"Get project","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}","href":"/api-reference/projects/get-project"},{"title":"Get apiv1projects dbtmanifest","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dbt/manifest","href":"/api-reference/projects/get-apiv1projects-dbtmanifest"},{"title":"Update project details","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/details","href":"/api-reference/projects/update-project-details"},{"title":"List charts in project","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/charts","href":"/api-reference/projects/list-charts-in-project"},{"title":"List chart summaries in project","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/chart-summaries","href":"/api-reference/projects/list-chart-summaries-in-project"},{"title":"Preview data timezone","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/preview-data-timezone","href":"/api-reference/projects/preview-data-timezone"},{"title":"List project group accesses","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/groupAccesses","href":"/api-reference/projects/list-project-group-accesses"},{"title":"Test warehouse connection","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/warehouse/test","href":"/api-reference/projects/test-warehouse-connection"},{"title":"Calculate total from query","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/calculate-total","href":"/api-reference/projects/calculate-total-from-query"},{"title":"Calculate subtotals from query","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/calculate-subtotals","href":"/api-reference/projects/calculate-subtotals-from-query"},{"title":"Get user warehouse credentials preference","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/user-credentials","href":"/api-reference/projects/get-user-warehouse-credentials-preference"},{"title":"List project user warehouse credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/user-warehouse-credentials","href":"/api-reference/projects/list-project-user-warehouse-credentials"},{"title":"Update user warehouse credentials preference","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/user-credentials/{userWarehouseCredentialsUuid}","href":"/api-reference/projects/update-user-warehouse-credentials-preference"},{"title":"List custom metrics","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/custom-metrics","href":"/api-reference/projects/list-custom-metrics"},{"title":"Update project metadata","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/metadata","href":"/api-reference/projects/update-project-metadata"},{"title":"Update default user spaces setting","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/hasDefaultUserSpaces","href":"/api-reference/projects/update-default-user-spaces-setting"},{"title":"Get project color palette","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/table-groups","href":"/api-reference/projects/get-project-color-palette"},{"title":"Replace project table groups","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/projects/{projectUuid}/table-groups","href":"/api-reference/projects/replace-project-table-groups"},{"title":"Get apiv1projects colorpalette","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/colorPalette","href":"/api-reference/projects/get-apiv1projects-colorpalette"},{"title":"Update project color palette","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/colorPalette","href":"/api-reference/projects/update-project-color-palette"},{"title":"List dashboards","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dashboards","href":"/api-reference/projects/list-dashboards"},{"title":"Create dashboard","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/dashboards","href":"/api-reference/projects/create-dashboard"},{"title":"Update dashboards","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/dashboards","href":"/api-reference/projects/update-dashboards"},{"title":"Create dashboard with charts","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/dashboards/with-charts","href":"/api-reference/projects/create-dashboard-with-charts"},{"title":"Create project preview","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/createPreview","href":"/api-reference/projects/create-project-preview"},{"title":"Create training preview","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/training-previews","href":"/api-reference/projects/create-training-preview"},{"title":"Delete training previews","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/training-previews","href":"/api-reference/projects/delete-training-previews"},{"title":"Get upstream diff","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/upstreamDiff","href":"/api-reference/projects/get-upstream-diff"},{"title":"Get preview expiration settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/previews-config","href":"/api-reference/projects/get-preview-expiration-settings"},{"title":"Update preview expiration settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/previews-config","href":"/api-reference/projects/update-preview-expiration-settings"},{"title":"Get results cache settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/results-cache-config","href":"/api-reference/projects/get-results-cache-settings"},{"title":"Update results cache settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/results-cache-config","href":"/api-reference/projects/update-results-cache-settings"},{"title":"Update preview expiration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/preview-expiration","href":"/api-reference/projects/update-preview-expiration"},{"title":"Update scheduler settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/schedulerSettings","href":"/api-reference/projects/update-scheduler-settings"},{"title":"Get agent SQL scope","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/agentSqlScope","href":"/api-reference/projects/get-agent-sql-scope"},{"title":"Update agent SQL scope","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/agentSqlScope","href":"/api-reference/projects/update-agent-sql-scope"},{"title":"Update query timezone settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/queryTimezoneSettings","href":"/api-reference/projects/update-query-timezone-settings"},{"title":"List tags","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/tags","href":"/api-reference/projects/list-tags"},{"title":"Create tag","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/tags","href":"/api-reference/projects/create-tag"},{"title":"Delete tag","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/tags/{tagUuid}","href":"/api-reference/projects/delete-tag"},{"title":"Update tag","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/tags/{tagUuid}","href":"/api-reference/projects/update-tag"},{"title":"Replace YAML tags","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/projects/{projectUuid}/tags/yaml","href":"/api-reference/projects/replace-yaml-tags"},{"title":"Handle dbt Cloud webhook","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/dbt-cloud/webhook","href":"/api-reference/projects/handle-dbt-cloud-webhook"},{"title":"Refresh project","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/refresh","href":"/api-reference/projects/refresh-project"},{"title":"Refresh project pre-aggregates","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/pre-aggregates/refresh","href":"/api-reference/projects/refresh-project-pre-aggregates"},{"title":"Refresh pre-aggregate by definition name","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/pre-aggregates/definitions/{preAggregateDefinitionName}/refresh","href":"/api-reference/projects/refresh-pre-aggregate-by-definition-name"},{"title":"List verified content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/content-verification","href":"/api-reference/projects/list-verified-content"},{"title":"Get project compilation logs","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/compile-logs","href":"/api-reference/projects/get-project-compilation-logs"},{"title":"Get compilation log for a specific job","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/compile-logs/job/{jobUuid}","href":"/api-reference/projects/get-compilation-log-for-a-specific-job"},{"title":"List explores","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/explores","href":"/api-reference/projects/list-explores"},{"title":"Set explores","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/projects/{projectUuid}/explores","href":"/api-reference/projects/set-explores"},{"title":"Get explore","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/explores/{exploreId}","href":"/api-reference/projects/get-explore"},{"title":"Compile query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/explores/{exploreId}/compileQuery","href":"/api-reference/projects/compile-query"},{"title":"Check pre-aggregate","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/explores/{exploreId}/preAggregateCheck","href":"/api-reference/projects/check-pre-aggregate"},{"title":"Validate formula","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/explores/{exploreId}/validateFormula","href":"/api-reference/projects/validate-formula"},{"title":"List charts by explore","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/explores/{exploreId}/charts","href":"/api-reference/projects/list-charts-by-explore"},{"title":"Get BigQuery datasets","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/bigquery/sso/datasets","href":"/api-reference/projects/get-bigquery-datasets"},{"title":"Get BigQuery projects","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/bigquery/sso/projects","href":"/api-reference/projects/get-bigquery-projects"},{"title":"Get BigQuery project recommendation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/bigquery/sso/projects/recommendation","href":"/api-reference/projects/get-bigquery-project-recommendation"},{"title":"Check BigQuery authentication","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/bigquery/sso/is-authenticated","href":"/api-reference/projects/check-bigquery-authentication"}]},{"group":"Spaces","pages":[{"title":"List spaces as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/spaces","href":"/api-reference/spaces/list-spaces-as-code"},{"title":"Upsert space as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/spaces","href":"/api-reference/spaces/upsert-space-as-code"},{"title":"List spaces as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/spaces/code","href":"/api-reference/spaces/list-spaces-as-code-deprecated"},{"title":"Upsert space as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/spaces/code","href":"/api-reference/spaces/upsert-space-as-code-deprecated"},{"title":"Get personal space","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/spaces/personal","href":"/api-reference/spaces/get-personal-space"},{"title":"Get space","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/spaces/{spaceUuid}","href":"/api-reference/spaces/get-space"},{"title":"Delete space","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/spaces/{spaceUuid}","href":"/api-reference/spaces/delete-space"},{"title":"Get delete impact","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/spaces/{spaceUuid}/delete-impact","href":"/api-reference/spaces/get-delete-impact"}]},{"group":"API Reference","pages":[{"title":"Get apiv1projects codeaiagents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/code/aiAgents","href":"/api-reference/get-apiv1projects-codeaiagents"},{"title":"Post apiv1projects codeaiagents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/code/aiAgents","href":"/api-reference/post-apiv1projects-codeaiagents"},{"title":"List AI agents as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/code","href":"/api-reference/list-ai-agents-as-code-deprecated"},{"title":"Upsert AI agents as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/code","href":"/api-reference/upsert-ai-agents-as-code-deprecated"},{"title":"Get AI router config","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/aiRouter","href":"/api-reference/get-ai-router-config"},{"title":"Upsert AI router config","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/aiRouter","href":"/api-reference/upsert-ai-router-config"},{"title":"Get AI router instruction","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/aiRouter/instructions/{projectUuid}","href":"/api-reference/get-ai-router-instruction"},{"title":"Upsert AI router instruction","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/aiRouter/instructions/{projectUuid}","href":"/api-reference/upsert-ai-router-instruction"},{"title":"Route prompt","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/aiRouter/route","href":"/api-reference/route-prompt"},{"title":"Commit router decision","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/aiRouter/decisions/{decisionUuid}/commit","href":"/api-reference/commit-router-decision"},{"title":"List router decisions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/aiRouter/decisions","href":"/api-reference/list-router-decisions"},{"title":"List AI agent skills","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/skills","href":"/api-reference/list-ai-agent-skills"},{"title":"Create an AI agent skill","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/skills","href":"/api-reference/create-an-ai-agent-skill"},{"title":"Download AI agent skills as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/skills/code","href":"/api-reference/download-ai-agent-skills-as-code"},{"title":"Upload AI agent skills as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/skills/code","href":"/api-reference/upload-ai-agent-skills-as-code"},{"title":"Validate an AI agent skill","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/skills/validate","href":"/api-reference/validate-an-ai-agent-skill"},{"title":"Get an AI agent skill","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/skills/{skillUuid}","href":"/api-reference/get-an-ai-agent-skill"},{"title":"Delete an AI agent skill","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/aiAgents/skills/{skillUuid}","href":"/api-reference/delete-an-ai-agent-skill"},{"title":"Update an AI agent skill","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/aiAgents/skills/{skillUuid}","href":"/api-reference/update-an-ai-agent-skill"},{"title":"List an AI agent skill's versions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/skills/{skillUuid}/versions","href":"/api-reference/list-an-ai-agent-skills-versions"},{"title":"Get one version of an AI agent skill","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/skills/{skillUuid}/versions/{versionNumber}","href":"/api-reference/get-one-version-of-an-ai-agent-skill"},{"title":"Restore a version of an AI agent skill","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/skills/{skillUuid}/versions/{versionNumber}/restore","href":"/api-reference/restore-a-version-of-an-ai-agent-skill"},{"title":"List agent skills","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/skills","href":"/api-reference/list-agent-skills"},{"title":"Set agent skills","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/skills","href":"/api-reference/set-agent-skills"},{"title":"List agent documents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/documents","href":"/api-reference/list-agent-documents"},{"title":"Create agent document","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/documents","href":"/api-reference/create-agent-document"},{"title":"Get agent document content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/documents/{documentUuid}/content","href":"/api-reference/get-agent-document-content"},{"title":"Update agent document content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/documents/{documentUuid}/content","href":"/api-reference/update-agent-document-content"},{"title":"Delete agent document","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/documents/{documentUuid}","href":"/api-reference/delete-agent-document"},{"title":"Update agent document","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/documents/{documentUuid}","href":"/api-reference/update-agent-document"},{"title":"List AI agent documents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/documents","href":"/api-reference/list-ai-agent-documents"},{"title":"Create AI agent document","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/documents","href":"/api-reference/create-ai-agent-document"},{"title":"Delete AI agent document","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/aiAgents/documents/{documentUuid}","href":"/api-reference/delete-ai-agent-document"},{"title":"Get apiv1projects aiagents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents","href":"/api-reference/get-apiv1projects-aiagents"},{"title":"Post apiv1projects aiagents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents","href":"/api-reference/post-apiv1projects-aiagents"},{"title":"Get apiv1projects aiagentspreferences","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/preferences","href":"/api-reference/get-apiv1projects-aiagentspreferences"},{"title":"Post apiv1projects aiagentspreferences","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/preferences","href":"/api-reference/post-apiv1projects-aiagentspreferences"},{"title":"Delete apiv1projects aiagentspreferences","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/aiAgents/preferences","href":"/api-reference/delete-apiv1projects-aiagentspreferences"},{"title":"Get apiv1projects aiagentsmcpservers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/mcpServers","href":"/api-reference/get-apiv1projects-aiagentsmcpservers"},{"title":"Post apiv1projects aiagentsmcpservers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/mcpServers","href":"/api-reference/post-apiv1projects-aiagentsmcpservers"},{"title":"Post apiv1projects aiagentsmcpservers credential","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}/credential","href":"/api-reference/post-apiv1projects-aiagentsmcpservers-credential"},{"title":"Delete apiv1projects aiagentsmcpservers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}","href":"/api-reference/delete-apiv1projects-aiagentsmcpservers"},{"title":"Patch apiv1projects aiagentsmcpservers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}","href":"/api-reference/patch-apiv1projects-aiagentsmcpservers"},{"title":"Get apiv1projects aiagentsmcpserversgithubavailability","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/mcpServers/github/availability","href":"/api-reference/get-apiv1projects-aiagentsmcpserversgithubavailability"},{"title":"Post apiv1projects aiagentsmcpserversgithubconnect","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/mcpServers/github/connect","href":"/api-reference/post-apiv1projects-aiagentsmcpserversgithubconnect"},{"title":"Post apiv1projects aiagentsmcpserversgithubconnect app","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/mcpServers/github/connect-app","href":"/api-reference/post-apiv1projects-aiagentsmcpserversgithubconnect-app"},{"title":"Get apiv1projects aiagentsmcpservers tools","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}/tools","href":"/api-reference/get-apiv1projects-aiagentsmcpservers-tools"},{"title":"Post apiv1projects aiagentsmcpservers toolsrefresh","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}/tools/refresh","href":"/api-reference/post-apiv1projects-aiagentsmcpservers-toolsrefresh"},{"title":"Post apiv1projects aiagentsmcpservers oauthstart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}/oauth/start","href":"/api-reference/post-apiv1projects-aiagentsmcpservers-oauthstart"},{"title":"Post apiv1projects aiagentsmcpservers oauthdisconnect","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}/oauth/disconnect","href":"/api-reference/post-apiv1projects-aiagentsmcpservers-oauthdisconnect"},{"title":"Get apiv1projects aiagentsthreads","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/threads","href":"/api-reference/get-apiv1projects-aiagentsthreads"},{"title":"Get apiv1projects aiagentsthreadslive statuses","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/threads/live-statuses","href":"/api-reference/get-apiv1projects-aiagentsthreadslive-statuses"},{"title":"Get apiv1projects aiagents 1","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}","href":"/api-reference/get-apiv1projects-aiagents-1"},{"title":"Delete apiv1projects aiagents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}","href":"/api-reference/delete-apiv1projects-aiagents"},{"title":"Patch apiv1projects aiagents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}","href":"/api-reference/patch-apiv1projects-aiagents"},{"title":"Get apiv1projects aiagents memories","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/memories/{slug}","href":"/api-reference/get-apiv1projects-aiagents-memories"},{"title":"Get apiv1projects aiagents mcpservers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/mcpServers","href":"/api-reference/get-apiv1projects-aiagents-mcpservers"},{"title":"Get apiv1projects aiagents mcpservers tools","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/mcpServers/{mcpServerUuid}/tools","href":"/api-reference/get-apiv1projects-aiagents-mcpservers-tools"},{"title":"Patch apiv1projects aiagents mcpservers tools","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/mcpServers/{mcpServerUuid}/tools","href":"/api-reference/patch-apiv1projects-aiagents-mcpservers-tools"},{"title":"Get apiv1projects aiagents models","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/models","href":"/api-reference/get-apiv1projects-aiagents-models"},{"title":"Get apiv1projects aiagents suggestions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/suggestions","href":"/api-reference/get-apiv1projects-aiagents-suggestions"},{"title":"Post apiv1projects aiagents evaluatereadiness","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluateReadiness","href":"/api-reference/post-apiv1projects-aiagents-evaluatereadiness"},{"title":"Get apiv1projects aiagents verified artifacts","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/verified-artifacts","href":"/api-reference/get-apiv1projects-aiagents-verified-artifacts"},{"title":"Get apiv1projects aiagents verified questions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/verified-questions","href":"/api-reference/get-apiv1projects-aiagents-verified-questions"},{"title":"Post apiv1projects aiagents avatar","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/avatar","href":"/api-reference/post-apiv1projects-aiagents-avatar"},{"title":"Get apiv1projects aiagents threads","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads","href":"/api-reference/get-apiv1projects-aiagents-threads"},{"title":"Post apiv1projects aiagents threads","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads","href":"/api-reference/post-apiv1projects-aiagents-threads"},{"title":"Get apiv1projects aiagents threads 1","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}","href":"/api-reference/get-apiv1projects-aiagents-threads-1"},{"title":"Delete AI agent thread","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}","href":"/api-reference/delete-ai-agent-thread"},{"title":"Update AI agent thread","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}","href":"/api-reference/update-ai-agent-thread"},{"title":"Pin AI agent thread","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/pin","href":"/api-reference/pin-ai-agent-thread"},{"title":"Unpin AI agent thread","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/pin","href":"/api-reference/unpin-ai-agent-thread"},{"title":"Get AI agent thread pull request","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/pull-request","href":"/api-reference/get-ai-agent-thread-pull-request"},{"title":"List AI agent thread pull requests","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/pull-requests","href":"/api-reference/list-ai-agent-thread-pull-requests"},{"title":"Post apiv1projects aiagents threads messages","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages","href":"/api-reference/post-apiv1projects-aiagents-threads-messages"},{"title":"Restore data app version","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/data-app-restores","href":"/api-reference/restore-data-app-version"},{"title":"Post apiv1projects aiagents threads tool calls sql approval","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/tool-calls/{toolCallId}/sql-approval","href":"/api-reference/post-apiv1projects-aiagents-threads-tool-calls-sql-approval"},{"title":"Post apiv1projects aiagents threads stream","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/stream","href":"/api-reference/post-apiv1projects-aiagents-threads-stream"},{"title":"Post apiv1projects aiagents threads messages interrupt","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages/{messageUuid}/interrupt","href":"/api-reference/post-apiv1projects-aiagents-threads-messages-interrupt"},{"title":"Post apiv1projects aiagents threads messages steers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages/{messageUuid}/steers","href":"/api-reference/post-apiv1projects-aiagents-threads-messages-steers"},{"title":"Post apiv1projects aiagents threads generate","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/generate","href":"/api-reference/post-apiv1projects-aiagents-threads-generate"},{"title":"Post apiv1projects aiagents threads generate title","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/generate-title","href":"/api-reference/post-apiv1projects-aiagents-threads-generate-title"},{"title":"Post apiv1projects aiagents threads clone","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/clone/{promptUuid}","href":"/api-reference/post-apiv1projects-aiagents-threads-clone"},{"title":"Patch apiv1projects aiagents threads messages savedquery","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages/{messageUuid}/savedQuery","href":"/api-reference/patch-apiv1projects-aiagents-threads-messages-savedquery"},{"title":"Get AI agent message query pipelines","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages/{messageUuid}/queries","href":"/api-reference/get-ai-agent-message-query-pipelines"},{"title":"Get AI agent message query pipeline viz query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages/{messageUuid}/queries/{queryUuid}/viz-query","href":"/api-reference/get-ai-agent-message-query-pipeline-viz-query"},{"title":"Get AI agent message query pipeline results","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages/{messageUuid}/queries/{queryUuid}/query-results","href":"/api-reference/get-ai-agent-message-query-pipeline-results"},{"title":"Patch apiv1projects aiagents threads messages feedback","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages/{messageUuid}/feedback","href":"/api-reference/patch-apiv1projects-aiagents-threads-messages-feedback"},{"title":"Post apiv1projects aiagentsexplore access summary","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/explore-access-summary","href":"/api-reference/post-apiv1projects-aiagentsexplore-access-summary"},{"title":"Get apiv1projects aiagents artifacts","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}","href":"/api-reference/get-apiv1projects-aiagents-artifacts"},{"title":"Get apiv1projects aiagents artifacts versions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}","href":"/api-reference/get-apiv1projects-aiagents-artifacts-versions"},{"title":"Get apiv1projects aiagents artifacts versions viz query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/viz-query","href":"/api-reference/get-apiv1projects-aiagents-artifacts-versions-viz-query"},{"title":"Get apiv1projects aiagents artifacts versions query results","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/query-results","href":"/api-reference/get-apiv1projects-aiagents-artifacts-versions-query-results"},{"title":"Post apiv1projects aiagents threads shares","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/shares","href":"/api-reference/post-apiv1projects-aiagents-threads-shares"},{"title":"Post apiv1projects aiagentsthread shares clone","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/thread-shares/{aiThreadShareUuid}/clone","href":"/api-reference/post-apiv1projects-aiagentsthread-shares-clone"},{"title":"Get apiv1projects aiagents artifacts versions charts viz query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/charts/{chartIndex}/viz-query","href":"/api-reference/get-apiv1projects-aiagents-artifacts-versions-charts-viz-query"},{"title":"Patch apiv1projects aiagents artifacts versions saveddashboard","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/savedDashboard","href":"/api-reference/patch-apiv1projects-aiagents-artifacts-versions-saveddashboard"},{"title":"Patch apiv1projects aiagents artifacts versions savedsql","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/savedSql","href":"/api-reference/patch-apiv1projects-aiagents-artifacts-versions-savedsql"},{"title":"Patch apiv1projects aiagents artifacts versions verified","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/verified","href":"/api-reference/patch-apiv1projects-aiagents-artifacts-versions-verified"},{"title":"Patch apiv1projects aiagents artifacts versions viz config","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/viz-config","href":"/api-reference/patch-apiv1projects-aiagents-artifacts-versions-viz-config"},{"title":"Get apiv1projects aiagents evaluations","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations","href":"/api-reference/get-apiv1projects-aiagents-evaluations"},{"title":"Post apiv1projects aiagents evaluations","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations","href":"/api-reference/post-apiv1projects-aiagents-evaluations"},{"title":"Post apiv1projects aiagents evaluations run","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}/run","href":"/api-reference/post-apiv1projects-aiagents-evaluations-run"},{"title":"Get apiv1projects aiagents evaluations 1","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}","href":"/api-reference/get-apiv1projects-aiagents-evaluations-1"},{"title":"Delete apiv1projects aiagents evaluations","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}","href":"/api-reference/delete-apiv1projects-aiagents-evaluations"},{"title":"Patch apiv1projects aiagents evaluations","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}","href":"/api-reference/patch-apiv1projects-aiagents-evaluations"},{"title":"Get apiv1projects aiagents evaluations runs","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}/runs","href":"/api-reference/get-apiv1projects-aiagents-evaluations-runs"},{"title":"Get apiv1projects aiagents evaluations runs 1","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}/runs/{runUuid}","href":"/api-reference/get-apiv1projects-aiagents-evaluations-runs-1"},{"title":"Post apiv1projects aiagents evaluations append","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}/append","href":"/api-reference/post-apiv1projects-aiagents-evaluations-append"},{"title":"Post apiv1projects aiagents append instruction","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/append-instruction","href":"/api-reference/post-apiv1projects-aiagents-append-instruction"},{"title":"Get active agent onboarding run","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/ee/projects/{projectUuid}/agent-onboarding","href":"/api-reference/get-active-agent-onboarding-run"},{"title":"Start agent onboarding run","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/ee/projects/{projectUuid}/agent-onboarding","href":"/api-reference/start-agent-onboarding-run"},{"title":"Get agent onboarding run","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/ee/projects/{projectUuid}/agent-onboarding/{agentOnboardingRunUuid}","href":"/api-reference/get-agent-onboarding-run"},{"title":"Get onboarding run file","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/ee/projects/{projectUuid}/agent-onboarding/{agentOnboardingRunUuid}/file","href":"/api-reference/get-onboarding-run-file"},{"title":"Cancel agent onboarding run","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/ee/projects/{projectUuid}/agent-onboarding/{agentOnboardingRunUuid}/cancel","href":"/api-reference/cancel-agent-onboarding-run"},{"title":"Get apiv1aiprovider credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/ai/provider-credentials","href":"/api-reference/get-apiv1aiprovider-credentials"},{"title":"Post apiv1aiprovider credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/ai/provider-credentials","href":"/api-reference/post-apiv1aiprovider-credentials"},{"title":"Convert a legacy Bedrock configuration into a managed credential","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/ai/provider-credentials/adopt-legacy","href":"/api-reference/convert-a-legacy-bedrock-configuration-into-a-managed-credential"},{"title":"Replace an AI provider credential","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/ai/provider-credentials/{credentialUuid}","href":"/api-reference/replace-an-ai-provider-credential"},{"title":"Delete apiv1aiprovider credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/ai/provider-credentials/{credentialUuid}","href":"/api-reference/delete-apiv1aiprovider-credentials"},{"title":"Patch apiv1aiprovider credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/ai/provider-credentials/{credentialUuid}","href":"/api-reference/patch-apiv1aiprovider-credentials"},{"title":"Put apiv1aiprovider credentials default","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/ai/provider-credentials/{credentialUuid}/default","href":"/api-reference/put-apiv1aiprovider-credentials-default"},{"title":"Get apiv1projects aiprovider credential","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/ai/provider-credential","href":"/api-reference/get-apiv1projects-aiprovider-credential"},{"title":"Put apiv1projects aiprovider credential","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/projects/{projectUuid}/ai/provider-credential","href":"/api-reference/put-apiv1projects-aiprovider-credential"},{"title":"Get apiv1aiagentssettings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/settings","href":"/api-reference/get-apiv1aiagentssettings"},{"title":"List Deep Research runs","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/ee/projects/{projectUuid}/ai-deep-research","href":"/api-reference/list-deep-research-runs"},{"title":"Start Deep Research run","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/ee/projects/{projectUuid}/ai-deep-research","href":"/api-reference/start-deep-research-run"},{"title":"Get Deep Research run","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/ee/projects/{projectUuid}/ai-deep-research/{aiDeepResearchRunUuid}","href":"/api-reference/get-deep-research-run"},{"title":"Refresh Deep Research chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/ee/projects/{projectUuid}/ai-deep-research/{aiDeepResearchRunUuid}/charts/{chartKey}/refresh","href":"/api-reference/refresh-deep-research-chart"},{"title":"Get apiv1eeprojects ai deep research queries results","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/ee/projects/{projectUuid}/ai-deep-research/{aiDeepResearchRunUuid}/queries/{queryUuid}/results","href":"/api-reference/get-apiv1eeprojects-ai-deep-research-queries-results"},{"title":"Get Deep Research chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/ee/projects/{projectUuid}/ai-deep-research/{aiDeepResearchRunUuid}/charts/{queryUuid}","href":"/api-reference/get-deep-research-chart"},{"title":"List Deep Research events","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/ee/projects/{projectUuid}/ai-deep-research/{aiDeepResearchRunUuid}/events","href":"/api-reference/list-deep-research-events"},{"title":"Cancel Deep Research run","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/ee/projects/{projectUuid}/ai-deep-research/{aiDeepResearchRunUuid}/cancel","href":"/api-reference/cancel-deep-research-run"},{"title":"Get AI credit usage","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/ai-credits/usage","href":"/api-reference/get-ai-credit-usage"},{"title":"Get daily AI credit usage","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/ai-credits/usage/daily","href":"/api-reference/get-daily-ai-credit-usage"},{"title":"List my memories","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgentMemories","href":"/api-reference/list-my-memories"},{"title":"Get a memory","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/aiAgentMemories/{slug}","href":"/api-reference/get-a-memory"},{"title":"Promote memory","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgentMemories/{memoryUuid}/promote","href":"/api-reference/promote-memory"},{"title":"Update memory status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/aiAgentMemories/{memoryUuid}/status","href":"/api-reference/update-memory-status"},{"title":"Distill thread","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/aiAgentMemories/threads/{threadUuid}/distill","href":"/api-reference/distill-thread"},{"title":"List AI agent threads","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/threads","href":"/api-reference/list-ai-agent-threads"},{"title":"Get AI agent thread dump","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/threads/{threadUuid}/dump","href":"/api-reference/get-ai-agent-thread-dump"},{"title":"Delete AI agent thread","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/aiAgents/admin/threads/{threadUuid}","href":"/api-reference/delete-ai-agent-thread-1"},{"title":"List AI agent evaluations","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/evals","href":"/api-reference/list-ai-agent-evaluations"},{"title":"List AI agent evaluation prompts","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/evals/{evalUuid}/prompts","href":"/api-reference/list-ai-agent-evaluation-prompts"},{"title":"List MCP activity","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/mcp-activity","href":"/api-reference/list-mcp-activity"},{"title":"Get MCP activity stats","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/mcp-activity/stats","href":"/api-reference/get-mcp-activity-stats"},{"title":"Get project AI agent prompt activity","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/projects/{projectUuid}/prompt-activity","href":"/api-reference/get-project-ai-agent-prompt-activity"},{"title":"List AI agents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/agents","href":"/api-reference/list-ai-agents"},{"title":"List AI agent memories","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/memories","href":"/api-reference/list-ai-agent-memories"},{"title":"List AI agent review items","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-items","href":"/api-reference/list-ai-agent-review-items"},{"title":"Create AI agent review item","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/admin/review-items","href":"/api-reference/create-ai-agent-review-item"},{"title":"List AI agent review signals","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-items/{fingerprint}","href":"/api-reference/list-ai-agent-review-signals"},{"title":"Update AI agent review item status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/aiAgents/admin/review-items/{fingerprint}","href":"/api-reference/update-ai-agent-review-item-status"},{"title":"Get AI agent review item activity","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-items/{fingerprint}/activity","href":"/api-reference/get-ai-agent-review-item-activity"},{"title":"Get AI agent review item PR diff","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-items/{fingerprint}/pr-diff","href":"/api-reference/get-ai-agent-review-item-pr-diff"},{"title":"Get AI agent review item by preview thread","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-items/by-preview-thread/{threadUuid}","href":"/api-reference/get-ai-agent-review-item-by-preview-thread"},{"title":"Reorder AI agent review items on the board","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/aiAgents/admin/review-items/reorder","href":"/api-reference/reorder-ai-agent-review-items-on-the-board"},{"title":"Update AI agent review item assignee","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/aiAgents/admin/review-items/{fingerprint}/assignee","href":"/api-reference/update-ai-agent-review-item-assignee"},{"title":"Update AI agent review item priority","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/aiAgents/admin/review-items/{fingerprint}/priority","href":"/api-reference/update-ai-agent-review-item-priority"},{"title":"Add AI agent review item comment","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/admin/review-items/{fingerprint}/comments","href":"/api-reference/add-ai-agent-review-item-comment"},{"title":"Create AI agent review item writeback PR","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/admin/review-items/{fingerprint}/writeback","href":"/api-reference/create-ai-agent-review-item-writeback-pr"},{"title":"Retest an AI agent review remediation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/admin/review-items/{fingerprint}/retest","href":"/api-reference/retest-an-ai-agent-review-remediation"},{"title":"Preview AI agent review item writeback diff","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-items/{fingerprint}/writeback-preview","href":"/api-reference/preview-ai-agent-review-item-writeback-diff"},{"title":"Get apiv1aiagentsadminreview signals","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-signals","href":"/api-reference/get-apiv1aiagentsadminreview-signals"},{"title":"Get AI review notification settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-notification-settings","href":"/api-reference/get-ai-review-notification-settings"},{"title":"Update AI review notification settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/aiAgents/admin/review-notification-settings","href":"/api-reference/update-ai-review-notification-settings"},{"title":"Get AI review Linear routing","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-linear-routing","href":"/api-reference/get-ai-review-linear-routing"},{"title":"Update AI review Linear routing","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/aiAgents/admin/review-linear-routing","href":"/api-reference/update-ai-review-linear-routing"},{"title":"Backfill AI review Linear issues","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/admin/review-linear-issues/backfill","href":"/api-reference/backfill-ai-review-linear-issues"},{"title":"Get AI review Linear destination","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-linear-destination/{projectUuid}","href":"/api-reference/get-ai-review-linear-destination"},{"title":"Update AI review Linear destination","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/aiAgents/admin/review-linear-destination/{projectUuid}","href":"/api-reference/update-ai-review-linear-destination"},{"title":"Get AI review Jira routing","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-jira-routing","href":"/api-reference/get-ai-review-jira-routing"},{"title":"Update AI review Jira routing","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/aiAgents/admin/review-jira-routing","href":"/api-reference/update-ai-review-jira-routing"},{"title":"Backfill AI review Jira issues","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aiAgents/admin/review-jira-issues/backfill","href":"/api-reference/backfill-ai-review-jira-issues"},{"title":"Get AI review Jira destination","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/review-jira-destination/{projectUuid}","href":"/api-reference/get-ai-review-jira-destination"},{"title":"Update AI review Jira destination","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/aiAgents/admin/review-jira-destination/{projectUuid}","href":"/api-reference/update-ai-review-jira-destination"},{"title":"Get AI settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/settings","href":"/api-reference/get-ai-settings"},{"title":"Update AI settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/aiAgents/admin/settings","href":"/api-reference/update-ai-settings"},{"title":"Preview thread retention impact","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aiAgents/admin/settings/thread-retention-preview","href":"/api-reference/preview-thread-retention-impact"},{"title":"Install GitLab integration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/gitlab/install","href":"/api-reference/install-gitlab-integration"},{"title":"GitLab OAuth callback","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/gitlab/oauth/callback","href":"/api-reference/gitlab-oauth-callback"},{"title":"Uninstall GitLab integration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/gitlab/uninstall","href":"/api-reference/uninstall-gitlab-integration"},{"title":"List GitLab projects","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/gitlab/repos/list","href":"/api-reference/list-gitlab-projects"},{"title":"Install GitHub App","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/github/install","href":"/api-reference/install-github-app"},{"title":"Link GitHub account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/github/user/authorize","href":"/api-reference/link-github-account"},{"title":"Get linked GitHub account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/github/user","href":"/api-reference/get-linked-github-account"},{"title":"Unlink GitHub account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/github/user","href":"/api-reference/unlink-github-account"},{"title":"Get GitHub App configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/github/config","href":"/api-reference/get-github-app-configuration"},{"title":"GitHub OAuth callback","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/github/oauth/callback","href":"/api-reference/github-oauth-callback"},{"title":"Uninstall GitHub App","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/github/uninstall","href":"/api-reference/uninstall-github-app"},{"title":"List GitHub repositories","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/github/repos/list","href":"/api-reference/list-github-repositories"},{"title":"Create GitHub repository","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/github/repos","href":"/api-reference/create-github-repository"}]},{"group":"Service Accounts","pages":[{"title":"List service accounts","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/service-accounts","href":"/api-reference/service-accounts/list-service-accounts"},{"title":"Create service account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/service-accounts","href":"/api-reference/service-accounts/create-service-account"},{"title":"List service-account project grants","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/service-accounts/{serviceAccountUuid}/projects","href":"/api-reference/service-accounts/list-service-account-project-grants"},{"title":"Delete service account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/service-accounts/{tokenUuid}","href":"/api-reference/service-accounts/delete-service-account"},{"title":"Update service account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/service-accounts/{tokenUuid}","href":"/api-reference/service-accounts/update-service-account"},{"title":"Rotate service account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/service-accounts/{tokenUuid}/rotate","href":"/api-reference/service-accounts/rotate-service-account"}]},{"group":"SCIM","pages":[{"title":"List users","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/Users","href":"/api-reference/scim/list-users"},{"title":"Create user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/scim/v2/Users","href":"/api-reference/scim/create-user"},{"title":"Get user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/Users/{userUuid}","href":"/api-reference/scim/get-user"},{"title":"Replace user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/scim/v2/Users/{userUuid}","href":"/api-reference/scim/replace-user"},{"title":"Delete user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/scim/v2/Users/{userUuid}","href":"/api-reference/scim/delete-user"},{"title":"Patch user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/scim/v2/Users/{userUuid}","href":"/api-reference/scim/patch-user"},{"title":"Root check","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2","href":"/api-reference/scim/root-check"},{"title":"Provider config","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/ServiceProviderConfig","href":"/api-reference/scim/provider-config"},{"title":"List schemas","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/Schemas","href":"/api-reference/scim/list-schemas"},{"title":"Get schema","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/Schemas/{schemaId}","href":"/api-reference/scim/get-schema"},{"title":"List resource types","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/ResourceTypes","href":"/api-reference/scim/list-resource-types"},{"title":"Get resource type","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/ResourceTypes/{resourceTypeId}","href":"/api-reference/scim/get-resource-type"},{"title":"List roles","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/Roles","href":"/api-reference/scim/list-roles"},{"title":"Get role","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/Roles/{roleId}","href":"/api-reference/scim/get-role"},{"title":"List groups","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/Groups","href":"/api-reference/scim/list-groups"},{"title":"Create group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/scim/v2/Groups","href":"/api-reference/scim/create-group"},{"title":"Get group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/scim/v2/Groups/{id}","href":"/api-reference/scim/get-group"},{"title":"Replace group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/scim/v2/Groups/{id}","href":"/api-reference/scim/replace-group"},{"title":"Delete group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/scim/v2/Groups/{id}","href":"/api-reference/scim/delete-group"},{"title":"Patch group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/scim/v2/Groups/{id}","href":"/api-reference/scim/patch-group"}]},{"group":"Schedulers","pages":[{"title":"Get scheduler AI augmentation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/schedulers/{schedulerUuid}/ai-augmentation","href":"/api-reference/schedulers/get-scheduler-ai-augmentation"},{"title":"Upsert scheduler AI augmentation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/schedulers/{schedulerUuid}/ai-augmentation","href":"/api-reference/schedulers/upsert-scheduler-ai-augmentation"},{"title":"Delete scheduler AI augmentation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/schedulers/{schedulerUuid}/ai-augmentation","href":"/api-reference/schedulers/delete-scheduler-ai-augmentation"},{"title":"Get scheduler logs","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/schedulers/{projectUuid}/logs","href":"/api-reference/schedulers/get-scheduler-logs"},{"title":"List scheduler runs","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/schedulers/{projectUuid}/runs","href":"/api-reference/schedulers/list-scheduler-runs"},{"title":"Get run logs","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/schedulers/runs/{runId}/logs","href":"/api-reference/schedulers/get-run-logs"},{"title":"List user schedulers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/schedulers/user-schedulers","href":"/api-reference/schedulers/list-user-schedulers"},{"title":"List schedulers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/schedulers/{projectUuid}/list","href":"/api-reference/schedulers/list-schedulers"},{"title":"Get scheduler","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/schedulers/{schedulerUuid}","href":"/api-reference/schedulers/get-scheduler"},{"title":"Delete scheduler","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/schedulers/{schedulerUuid}","href":"/api-reference/schedulers/delete-scheduler"},{"title":"Update scheduler","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/schedulers/{schedulerUuid}","href":"/api-reference/schedulers/update-scheduler"},{"title":"Update scheduler enabled status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/schedulers/{schedulerUuid}/enabled","href":"/api-reference/schedulers/update-scheduler-enabled-status"},{"title":"Reassign scheduler owner","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/schedulers/{projectUuid}/reassign-owner","href":"/api-reference/schedulers/reassign-scheduler-owner"},{"title":"Get scheduled jobs","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/schedulers/{schedulerUuid}/jobs","href":"/api-reference/schedulers/get-scheduled-jobs"},{"title":"Get scheduler job status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/schedulers/job/{jobId}/status","href":"/api-reference/schedulers/get-scheduler-job-status"},{"title":"Send scheduler","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/schedulers/send","href":"/api-reference/schedulers/send-scheduler"},{"title":"Send scheduler by uuid","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/schedulers/{schedulerUuid}/send","href":"/api-reference/schedulers/send-scheduler-by-uuid"}]},{"group":"Homepage","pages":[{"title":"Get apiv1projects homepage","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/homepage","href":"/api-reference/homepage/get-apiv1projects-homepage"},{"title":"Post apiv1projects homepage","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/homepage","href":"/api-reference/homepage/post-apiv1projects-homepage"},{"title":"Get apiv1projects homepageview as","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/homepage/view-as","href":"/api-reference/homepage/get-apiv1projects-homepageview-as"},{"title":"Get apiv1projects homepagebuilder","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/homepage/builder","href":"/api-reference/homepage/get-apiv1projects-homepagebuilder"},{"title":"Get apiv1projects homepagelink metadata","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/homepage/link-metadata","href":"/api-reference/homepage/get-apiv1projects-homepagelink-metadata"},{"title":"Get apiv1projects homepagerecently viewed","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/homepage/recently-viewed","href":"/api-reference/homepage/get-apiv1projects-homepagerecently-viewed"},{"title":"Get apiv1projects homepageassignments","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/homepage/assignments","href":"/api-reference/homepage/get-apiv1projects-homepageassignments"},{"title":"Patch apiv1projects homepagegroup priorities","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/homepage/group-priorities","href":"/api-reference/homepage/patch-apiv1projects-homepagegroup-priorities"},{"title":"Get apiv1projects homepagelist","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/homepage/list","href":"/api-reference/homepage/get-apiv1projects-homepagelist"},{"title":"Delete apiv1projects homepage","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/homepage/{homepageUuid}","href":"/api-reference/homepage/delete-apiv1projects-homepage"},{"title":"Patch apiv1projects homepage","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/homepage/{homepageUuid}","href":"/api-reference/homepage/patch-apiv1projects-homepage"},{"title":"Post apiv1projects homepage discard draft","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/homepage/{homepageUuid}/discard-draft","href":"/api-reference/homepage/post-apiv1projects-homepage-discard-draft"},{"title":"Post apiv1projects homepage publish","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/homepage/{homepageUuid}/publish","href":"/api-reference/homepage/post-apiv1projects-homepage-publish"},{"title":"Get apiv1projects announcements","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/announcements","href":"/api-reference/homepage/get-apiv1projects-announcements"},{"title":"Post apiv1projects announcements","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/announcements","href":"/api-reference/homepage/post-apiv1projects-announcements"},{"title":"Delete apiv1projects announcements","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/announcements/{announcementUuid}","href":"/api-reference/homepage/delete-apiv1projects-announcements"},{"title":"Patch apiv1projects announcements","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/announcements/{announcementUuid}","href":"/api-reference/homepage/patch-apiv1projects-announcements"},{"title":"Post apiv1projects announcementsimages","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/announcements/images","href":"/api-reference/homepage/post-apiv1projects-announcementsimages"},{"title":"Get apiv1orghomepage settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/homepage-settings","href":"/api-reference/homepage/get-apiv1orghomepage-settings"},{"title":"Patch apiv1orghomepage settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/homepage-settings","href":"/api-reference/homepage/patch-apiv1orghomepage-settings"},{"title":"Get apiv1eehomepagerecommended action skips","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/ee/homepage/recommended-action-skips","href":"/api-reference/homepage/get-apiv1eehomepagerecommended-action-skips"},{"title":"Post apiv1eehomepagerecommended action skips","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/ee/homepage/recommended-action-skips","href":"/api-reference/homepage/post-apiv1eehomepagerecommended-action-skips"},{"title":"Delete apiv1eehomepagerecommended action skips","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/ee/homepage/recommended-action-skips/{actionKey}","href":"/api-reference/homepage/delete-apiv1eehomepagerecommended-action-skips"}]},{"group":"Mobile push notifications","pages":[{"title":"Get apiv1mobilepush notificationsstatus","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/mobile/push-notifications/status","href":"/api-reference/mobile-push-notifications/get-apiv1mobilepush-notificationsstatus"},{"title":"Put apiv1mobilepush notificationsinstallations","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/mobile/push-notifications/installations/{installationUuid}","href":"/api-reference/mobile-push-notifications/put-apiv1mobilepush-notificationsinstallations"},{"title":"Delete apiv1mobilepush notificationsinstallations","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/mobile/push-notifications/installations/{installationUuid}","href":"/api-reference/mobile-push-notifications/delete-apiv1mobilepush-notificationsinstallations"},{"title":"Put apiv1mobilepush notificationsinstallations live activity push to start token","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/mobile/push-notifications/installations/{installationUuid}/live-activity-push-to-start-token","href":"/api-reference/mobile-push-notifications/put-apiv1mobilepush-notificationsinstallations-live-activity-push-to-start-token"}]},{"group":"AI agent Live Activities","pages":[{"title":"Put apiv1projects aiagents threads live activities","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/live-activities/{liveActivityUuid}","href":"/api-reference/ai-agent-live-activities/put-apiv1projects-aiagents-threads-live-activities"},{"title":"Delete apiv1projects aiagents threads live activities","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/live-activities/{liveActivityUuid}","href":"/api-reference/ai-agent-live-activities/delete-apiv1projects-aiagents-threads-live-activities"}]},{"group":"v2","pages":[{"title":"List my query history","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/query/history","href":"/api-reference/v2/list-my-query-history"},{"title":"Get results","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/query/{queryUuid}","href":"/api-reference/v2/get-results"},{"title":"Cancel query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/{queryUuid}/cancel","href":"/api-reference/v2/cancel-query"},{"title":"Calculate totals","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/{queryUuid}/calculate-total","href":"/api-reference/v2/calculate-totals"},{"title":"Execute merge query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/merge-query","href":"/api-reference/v2/execute-merge-query"},{"title":"Execute compose merge query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/compose-merge-query","href":"/api-reference/v2/execute-compose-merge-query"},{"title":"Execute metric query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/metric-query","href":"/api-reference/v2/execute-metric-query"},{"title":"Estimate metric query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/metric-query/estimate","href":"/api-reference/v2/estimate-metric-query"},{"title":"Search field values","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/field-values","href":"/api-reference/v2/search-field-values"},{"title":"Execute saved chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/chart","href":"/api-reference/v2/execute-saved-chart"},{"title":"Execute dashboard chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/dashboard-chart","href":"/api-reference/v2/execute-dashboard-chart"},{"title":"Execute underlying data","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/underlying-data","href":"/api-reference/v2/execute-underlying-data"},{"title":"Execute SQL query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/sql","href":"/api-reference/v2/execute-sql-query"},{"title":"Estimate SQL query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/sql/estimate","href":"/api-reference/v2/estimate-sql-query"},{"title":"Execute compose SQL query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/compose-sql","href":"/api-reference/v2/execute-compose-sql-query"},{"title":"Execute python query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/python","href":"/api-reference/v2/execute-python-query"},{"title":"Execute SQL chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/sql-chart","href":"/api-reference/v2/execute-sql-chart"},{"title":"Execute dashboard SQL chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/dashboard-sql-chart","href":"/api-reference/v2/execute-dashboard-sql-chart"},{"title":"Download results","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/{queryUuid}/download","href":"/api-reference/v2/download-results"},{"title":"Download results","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query/{queryUuid}/schedule-download","href":"/api-reference/v2/download-results-1"},{"title":"Get pre-aggregate stats","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/pre-aggregates/stats","href":"/api-reference/v2/get-pre-aggregate-stats"},{"title":"Get dashboard pre-aggregate audit","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/pre-aggregates/dashboards/{dashboardUuidOrSlug}/audit","href":"/api-reference/v2/get-dashboard-pre-aggregate-audit"},{"title":"Run dashboard pre-aggregate audit","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/pre-aggregates/dashboards/{dashboardUuidOrSlug}/audit","href":"/api-reference/v2/run-dashboard-pre-aggregate-audit"},{"title":"Get pre-aggregate materializations","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/pre-aggregates/materializations","href":"/api-reference/v2/get-pre-aggregate-materializations"},{"title":"Get apiv2orgs codeuserattributes","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/code/userAttributes","href":"/api-reference/v2/get-apiv2orgs-codeuserattributes"},{"title":"Post apiv2orgs codeuserattributes","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/code/userAttributes","href":"/api-reference/v2/post-apiv2orgs-codeuserattributes"},{"title":"List custom roles as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/code/roles","href":"/api-reference/v2/list-custom-roles-as-code"},{"title":"Upsert custom role as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/code/roles","href":"/api-reference/v2/upsert-custom-role-as-code"},{"title":"Get apiv2orgs codeusers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/code/users","href":"/api-reference/v2/get-apiv2orgs-codeusers"},{"title":"Post apiv2orgs codeusers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/code/users","href":"/api-reference/v2/post-apiv2orgs-codeusers"},{"title":"Get apiv2orgs codegroups","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/code/groups","href":"/api-reference/v2/get-apiv2orgs-codegroups"},{"title":"Post apiv2orgs codegroups","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/code/groups","href":"/api-reference/v2/post-apiv2orgs-codegroups"},{"title":"List custom roles as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/roles/code","href":"/api-reference/v2/list-custom-roles-as-code-deprecated"},{"title":"Upsert custom role as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/roles/code","href":"/api-reference/v2/upsert-custom-role-as-code-deprecated"},{"title":"List organization users as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/users/code","href":"/api-reference/v2/list-organization-users-as-code-deprecated"},{"title":"Upsert organization user as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/users/code","href":"/api-reference/v2/upsert-organization-user-as-code-deprecated"},{"title":"List organization groups as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/groups/code","href":"/api-reference/v2/list-organization-groups-as-code-deprecated"},{"title":"Upsert organization group as code (deprecated)","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/groups/code","href":"/api-reference/v2/upsert-organization-group-as-code-deprecated"},{"title":"Get organization roles","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/roles","href":"/api-reference/v2/get-organization-roles"},{"title":"Create custom role","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/roles","href":"/api-reference/v2/create-custom-role"},{"title":"Get custom role","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/roles/{roleUuid}","href":"/api-reference/v2/get-custom-role"},{"title":"Delete custom role","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/orgs/{orgUuid}/roles/{roleUuid}","href":"/api-reference/v2/delete-custom-role"},{"title":"Update custom role","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v2/orgs/{orgUuid}/roles/{roleUuid}","href":"/api-reference/v2/update-custom-role"},{"title":"List role assignees","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/roles/{roleUuid}/assignees","href":"/api-reference/v2/list-role-assignees"},{"title":"Add scopes to role","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/roles/{roleUuid}/scopes","href":"/api-reference/v2/add-scopes-to-role"},{"title":"Remove scope from role","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/orgs/{orgUuid}/roles/{roleUuid}/scopes/{scopeName}","href":"/api-reference/v2/remove-scope-from-role"},{"title":"List project role assignments","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectId}/roles/assignments","href":"/api-reference/v2/list-project-role-assignments"},{"title":"Assign project role to user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectId}/roles/assignments/user/{userId}","href":"/api-reference/v2/assign-project-role-to-user"},{"title":"Remove project role from user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/projects/{projectId}/roles/assignments/user/{userId}","href":"/api-reference/v2/remove-project-role-from-user"},{"title":"Get project role set for user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectId}/roles/assignments/user/{userId}/set","href":"/api-reference/v2/get-project-role-set-for-user"},{"title":"Replace project role set for user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/projects/{projectId}/roles/assignments/user/{userId}/set","href":"/api-reference/v2/replace-project-role-set-for-user"},{"title":"Get project role set for group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectId}/roles/assignments/group/{groupId}/set","href":"/api-reference/v2/get-project-role-set-for-group"},{"title":"Replace project role set for group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/projects/{projectId}/roles/assignments/group/{groupId}/set","href":"/api-reference/v2/replace-project-role-set-for-group"},{"title":"Assign project role to group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectId}/roles/assignments/group/{groupId}","href":"/api-reference/v2/assign-project-role-to-group"},{"title":"Remove project role from group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/projects/{projectId}/roles/assignments/group/{groupId}","href":"/api-reference/v2/remove-project-role-from-group"},{"title":"Update project group role","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v2/projects/{projectId}/roles/assignments/group/{groupId}","href":"/api-reference/v2/update-project-group-role"},{"title":"List organization role assignments","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/roles/assignments","href":"/api-reference/v2/list-organization-role-assignments"},{"title":"Assign organization role to user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/roles/assignments/user/{userId}","href":"/api-reference/v2/assign-organization-role-to-user"},{"title":"Get organization role set for user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/orgs/{orgUuid}/roles/assignments/user/{userId}/set","href":"/api-reference/v2/get-organization-role-set-for-user"},{"title":"Replace organization role set for user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/orgs/{orgUuid}/roles/assignments/user/{userId}/set","href":"/api-reference/v2/replace-organization-role-set-for-user"},{"title":"Duplicate role","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/orgs/{orgUuid}/roles/{roleId}/duplicate","href":"/api-reference/v2/duplicate-role"},{"title":"Post apiv2useragent connectionsrequests","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/user/agent-connections/requests","href":"/api-reference/v2/post-apiv2useragent-connectionsrequests"},{"title":"Get apiv2useragent connectionsrequests","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/user/agent-connections/requests/{requestUuid}","href":"/api-reference/v2/get-apiv2useragent-connectionsrequests"},{"title":"Post apiv2useragent connectionsrequests decision","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/user/agent-connections/requests/{requestUuid}/decision","href":"/api-reference/v2/post-apiv2useragent-connectionsrequests-decision"},{"title":"Get apiv2useragent connectionsrequests completion","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/user/agent-connections/requests/{requestUuid}/completion","href":"/api-reference/v2/get-apiv2useragent-connectionsrequests-completion"},{"title":"List agent connections","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/user/agent-connections","href":"/api-reference/v2/list-agent-connections"},{"title":"Get connection status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/user/agent-connections/{grantUuid}/status","href":"/api-reference/v2/get-connection-status"},{"title":"Revoke agent connection","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/user/agent-connections/{grantUuid}","href":"/api-reference/v2/revoke-agent-connection"},{"title":"List validation results","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/validate","href":"/api-reference/v2/list-validation-results"},{"title":"Get validation summary","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/validate/summary","href":"/api-reference/v2/get-validation-summary"},{"title":"Get validation result","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/validate/{validationIdOrUuid}","href":"/api-reference/v2/get-validation-result"},{"title":"List chart schedulers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/saved/{chartUuid}/schedulers","href":"/api-reference/v2/list-chart-schedulers"},{"title":"List chart scheduler runs","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/saved/{chartUuid}/schedulers/{schedulerUuid}/runs","href":"/api-reference/v2/list-chart-scheduler-runs"},{"title":"Get apiv2contentrecently viewed","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/content/recently-viewed","href":"/api-reference/v2/get-apiv2contentrecently-viewed"},{"title":"Post apiv2contentrecently viewed","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/content/recently-viewed","href":"/api-reference/v2/post-apiv2contentrecently-viewed"},{"title":"List query sources","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/query-sources","href":"/api-reference/v2/list-query-sources"},{"title":"Scan query source schema","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/query-sources/{sourceType}/schema","href":"/api-reference/v2/scan-query-source-schema"},{"title":"Execute source queries","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/query-sources/queries","href":"/api-reference/v2/execute-source-queries"},{"title":"Get source query status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/query-sources/queries/status","href":"/api-reference/v2/get-source-query-status"},{"title":"Get chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/saved/{chartUuidOrSlug}","href":"/api-reference/v2/get-chart"},{"title":"Delete chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/projects/{projectUuid}/saved/{chartUuidOrSlug}","href":"/api-reference/v2/delete-chart"},{"title":"Get project defaults","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/defaults","href":"/api-reference/v2/get-project-defaults"},{"title":"Replace project defaults","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/projects/{projectUuid}/defaults","href":"/api-reference/v2/replace-project-defaults"},{"title":"Get dashboard","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/dashboards/{dashboardUuidOrSlug}","href":"/api-reference/v2/get-dashboard"},{"title":"Delete dashboard","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/projects/{projectUuid}/dashboards/{dashboardUuidOrSlug}","href":"/api-reference/v2/delete-dashboard"},{"title":"Update dashboard","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v2/projects/{projectUuid}/dashboards/{dashboardUuidOrSlug}","href":"/api-reference/v2/update-dashboard"},{"title":"Get comments","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/dashboards/{dashboardUuidOrSlug}/comments","href":"/api-reference/v2/get-comments"},{"title":"List project parameters","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/parameters/list","href":"/api-reference/v2/list-project-parameters"},{"title":"Get project parameters","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/parameters","href":"/api-reference/v2/get-project-parameters"},{"title":"Replace project parameters","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/projects/{projectUuid}/parameters","href":"/api-reference/v2/replace-project-parameters"},{"title":"Get apiv2orgagent identity","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/org/agent-identity","href":"/api-reference/v2/get-apiv2orgagent-identity"},{"title":"Put apiv2orgagent identity","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/org/agent-identity","href":"/api-reference/v2/put-apiv2orgagent-identity"},{"title":"Get apiv2orgagent identity projects without ai service account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/org/agent-identity/{warehouseType}/projects-without-ai-service-account","href":"/api-reference/v2/get-apiv2orgagent-identity-projects-without-ai-service-account"},{"title":"Get apiv2orgagent identitysnowflakesetup","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/org/agent-identity/snowflake/setup","href":"/api-reference/v2/get-apiv2orgagent-identitysnowflakesetup"},{"title":"Save Snowflake client","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/org/agent-identity/snowflake/client","href":"/api-reference/v2/save-snowflake-client"},{"title":"Post apiv2orgagent identitysnowflakeverify","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/org/agent-identity/snowflake/verify","href":"/api-reference/v2/post-apiv2orgagent-identitysnowflakeverify"},{"title":"Put apiv2orgagent identity 1","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/org/agent-identity/{warehouseType}","href":"/api-reference/v2/put-apiv2orgagent-identity-1"},{"title":"List feature flags","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/feature-flag","href":"/api-reference/v2/list-feature-flags"},{"title":"Get feature flag","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/feature-flag/{featureFlagId}","href":"/api-reference/v2/get-feature-flag"},{"title":"Set feature flag override","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/feature-flag/{featureFlagId}","href":"/api-reference/v2/set-feature-flag-override"},{"title":"Delete feature flag override","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/feature-flag/{featureFlagId}","href":"/api-reference/v2/delete-feature-flag-override"},{"title":"List groups eligible for direct access","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/direct-access/{resourceType}/{resourceUuid}/groups","href":"/api-reference/v2/list-groups-eligible-for-direct-access"},{"title":"List users eligible for direct access","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/direct-access/{resourceType}/{resourceUuid}/users","href":"/api-reference/v2/list-users-eligible-for-direct-access"},{"title":"List direct access","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/direct-access/{resourceType}/{resourceUuid}/assignments","href":"/api-reference/v2/list-direct-access"},{"title":"Reset direct access","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/projects/{projectUuid}/direct-access/{resourceType}/{resourceUuid}/assignments","href":"/api-reference/v2/reset-direct-access"},{"title":"Replace direct access role","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/projects/{projectUuid}/direct-access/{resourceType}/{resourceUuid}/assignments/{principalType}/{principalUuid}","href":"/api-reference/v2/replace-direct-access-role"},{"title":"Revoke direct access","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/projects/{projectUuid}/direct-access/{resourceType}/{resourceUuid}/assignments/{principalType}/{principalUuid}","href":"/api-reference/v2/revoke-direct-access"},{"title":"Export dashboard content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/dashboards/{dashboardUuid}/exports","href":"/api-reference/v2/export-dashboard-content"},{"title":"List dashboard schedulers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/dashboards/{dashboardUuid}/schedulers","href":"/api-reference/v2/list-dashboard-schedulers"},{"title":"List dashboard scheduler runs","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/dashboards/{dashboardUuid}/schedulers/{schedulerUuid}/runs","href":"/api-reference/v2/list-dashboard-scheduler-runs"},{"title":"List content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/content","href":"/api-reference/v2/list-content"},{"title":"List deleted content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/content/deleted","href":"/api-reference/v2/list-deleted-content"},{"title":"Restore content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/content/{projectUuid}/restore","href":"/api-reference/v2/restore-content"},{"title":"Permanently delete content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/content/{projectUuid}/permanent","href":"/api-reference/v2/permanently-delete-content"},{"title":"List metrics with time dimensions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/dataCatalog/metrics-with-time-dimensions","href":"/api-reference/v2/list-metrics-with-time-dimensions"},{"title":"Get apiv2projects ai accessservice account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/ai-access/service-account","href":"/api-reference/v2/get-apiv2projects-ai-accessservice-account"},{"title":"Put apiv2projects ai accessservice account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/projects/{projectUuid}/ai-access/service-account","href":"/api-reference/v2/put-apiv2projects-ai-accessservice-account"},{"title":"Delete apiv2projects ai accessservice account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v2/projects/{projectUuid}/ai-access/service-account","href":"/api-reference/v2/delete-apiv2projects-ai-accessservice-account"},{"title":"Post apiv2projects ai accessservice accounttest","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/ai-access/service-account/test","href":"/api-reference/v2/post-apiv2projects-ai-accessservice-accounttest"},{"title":"Get apiv2projects ai accesscapabilities","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/ai-access/capabilities","href":"/api-reference/v2/get-apiv2projects-ai-accesscapabilities"},{"title":"Get apiv2projects ai accessme","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/projects/{projectUuid}/ai-access/me","href":"/api-reference/v2/get-apiv2projects-ai-accessme"},{"title":"Post apiv2projects ai accessmarkertest","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/ai-access/marker/test","href":"/api-reference/v2/post-apiv2projects-ai-accessmarkertest"},{"title":"Get apiv2orgagent permissions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v2/org/agent-permissions","href":"/api-reference/v2/get-apiv2orgagent-permissions"},{"title":"Put apiv2orgagent permissions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/org/agent-permissions","href":"/api-reference/v2/put-apiv2orgagent-permissions"},{"title":"Post apiv2orgagent permissionsreset","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/org/agent-permissions/reset","href":"/api-reference/v2/post-apiv2orgagent-permissionsreset"}]},{"group":"Organization Warehouse Credentials","pages":[{"title":"List warehouse credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/warehouse-credentials","href":"/api-reference/organization-warehouse-credentials/list-warehouse-credentials"},{"title":"Create warehouse credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/warehouse-credentials","href":"/api-reference/organization-warehouse-credentials/create-warehouse-credentials"},{"title":"Get warehouse credential","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/warehouse-credentials/{credentialsUuid}","href":"/api-reference/organization-warehouse-credentials/get-warehouse-credential"},{"title":"Delete warehouse credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/warehouse-credentials/{credentialsUuid}","href":"/api-reference/organization-warehouse-credentials/delete-warehouse-credentials"},{"title":"Update warehouse credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/warehouse-credentials/{credentialsUuid}","href":"/api-reference/organization-warehouse-credentials/update-warehouse-credentials"}]},{"group":"Organizations","pages":[{"title":"Get Azure AD SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/sso/azuread","href":"/api-reference/organizations/get-azure-ad-sso-configuration"},{"title":"Upsert Azure AD SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/sso/azuread","href":"/api-reference/organizations/upsert-azure-ad-sso-configuration"},{"title":"Delete Azure AD SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/sso/azuread","href":"/api-reference/organizations/delete-azure-ad-sso-configuration"},{"title":"Get Okta SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/sso/okta","href":"/api-reference/organizations/get-okta-sso-configuration"},{"title":"Upsert Okta SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/sso/okta","href":"/api-reference/organizations/upsert-okta-sso-configuration"},{"title":"Delete Okta SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/sso/okta","href":"/api-reference/organizations/delete-okta-sso-configuration"},{"title":"Get generic OIDC SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/sso/oidc","href":"/api-reference/organizations/get-generic-oidc-sso-configuration"},{"title":"Upsert generic OIDC SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/sso/oidc","href":"/api-reference/organizations/upsert-generic-oidc-sso-configuration"},{"title":"Delete generic OIDC SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/sso/oidc","href":"/api-reference/organizations/delete-generic-oidc-sso-configuration"},{"title":"Get OneLogin SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/sso/oneLogin","href":"/api-reference/organizations/get-onelogin-sso-configuration"},{"title":"Upsert OneLogin SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/sso/oneLogin","href":"/api-reference/organizations/upsert-onelogin-sso-configuration"},{"title":"Delete OneLogin SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/sso/oneLogin","href":"/api-reference/organizations/delete-onelogin-sso-configuration"},{"title":"Get Google SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/sso/google","href":"/api-reference/organizations/get-google-sso-configuration"},{"title":"Upsert Google SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/sso/google","href":"/api-reference/organizations/upsert-google-sso-configuration"},{"title":"Delete Google SSO configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/sso/google","href":"/api-reference/organizations/delete-google-sso-configuration"},{"title":"List verified domains","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/domains","href":"/api-reference/organizations/list-verified-domains"},{"title":"Request domain verification","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/domains/verify","href":"/api-reference/organizations/request-domain-verification"},{"title":"Confirm domain verification","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/domains/confirm","href":"/api-reference/organizations/confirm-domain-verification"},{"title":"Delete verified domain","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/domains/{domain}","href":"/api-reference/organizations/delete-verified-domain"},{"title":"Get organization settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/settings","href":"/api-reference/organizations/get-organization-settings"},{"title":"Update organization settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/settings","href":"/api-reference/organizations/update-organization-settings"},{"title":"List organization designs","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/designs","href":"/api-reference/organizations/list-organization-designs"},{"title":"Create organization design","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/designs","href":"/api-reference/organizations/create-organization-design"},{"title":"Download theme package","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/designs/{designUuidOrSlug}/package","href":"/api-reference/organizations/download-theme-package"},{"title":"Get organization design","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/designs/{designUuidOrSlug}","href":"/api-reference/organizations/get-organization-design"},{"title":"Delete organization design","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/designs/{designUuidOrSlug}","href":"/api-reference/organizations/delete-organization-design"},{"title":"Update organization design","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/designs/{designUuidOrSlug}","href":"/api-reference/organizations/update-organization-design"},{"title":"Import theme package","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/designs/package","href":"/api-reference/organizations/import-theme-package"},{"title":"Clear default organization design","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/designs/default","href":"/api-reference/organizations/clear-default-organization-design"},{"title":"Set default organization design","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/designs/{designUuidOrSlug}/default","href":"/api-reference/organizations/set-default-organization-design"},{"title":"Upload file to organization design","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/designs/{designUuidOrSlug}/files","href":"/api-reference/organizations/upload-file-to-organization-design"},{"title":"Delete all files from organization design","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/designs/{designUuidOrSlug}/files","href":"/api-reference/organizations/delete-all-files-from-organization-design"},{"title":"Download file from organization design","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/designs/{designUuidOrSlug}/files/{fileUuid}","href":"/api-reference/organizations/download-file-from-organization-design"},{"title":"Delete file from organization design","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/designs/{designUuidOrSlug}/files/{fileUuid}","href":"/api-reference/organizations/delete-file-from-organization-design"},{"title":"Get current organization","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org","href":"/api-reference/organizations/get-current-organization"},{"title":"Create organization","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org","href":"/api-reference/organizations/create-organization"},{"title":"Update current organization","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org","href":"/api-reference/organizations/update-current-organization"},{"title":"Get organization brand","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/brand","href":"/api-reference/organizations/get-organization-brand"},{"title":"Save organization brand","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/brand","href":"/api-reference/organizations/save-organization-brand"},{"title":"Fetch organization brand","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/brand/fetch","href":"/api-reference/organizations/fetch-organization-brand"},{"title":"Delete organization","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/{organizationUuid}","href":"/api-reference/organizations/delete-organization"},{"title":"List organization projects","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/projects","href":"/api-reference/organizations/list-organization-projects"},{"title":"Create project","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/projects","href":"/api-reference/organizations/create-project"},{"title":"List organization members","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/users","href":"/api-reference/organizations/list-organization-members"},{"title":"Get organization member by UUID","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/users/{userUuid}","href":"/api-reference/organizations/get-organization-member-by-uuid"},{"title":"Get organization member by email","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/users/email/{email}","href":"/api-reference/organizations/get-organization-member-by-email"},{"title":"Delete organization member","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/user/{userUuid}","href":"/api-reference/organizations/delete-organization-member"},{"title":"Get user schedulers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/user/{userUuid}/schedulers-summary","href":"/api-reference/organizations/get-user-schedulers"},{"title":"Reassign schedulers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/user/{userUuid}/reassign-schedulers","href":"/api-reference/organizations/reassign-schedulers"},{"title":"Get user dashboards","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/user/{userUuid}/dashboards-summary","href":"/api-reference/organizations/get-user-dashboards"},{"title":"Reassign dashboards","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/user/{userUuid}/reassign-dashboards","href":"/api-reference/organizations/reassign-dashboards"},{"title":"List allowed email domains","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/allowedEmailDomains","href":"/api-reference/organizations/list-allowed-email-domains"},{"title":"Update allowed email domains","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/allowedEmailDomains","href":"/api-reference/organizations/update-allowed-email-domains"},{"title":"List organization groups","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/groups","href":"/api-reference/organizations/list-organization-groups"},{"title":"Create group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/groups","href":"/api-reference/organizations/create-group"},{"title":"List color palettes","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/color-palettes","href":"/api-reference/organizations/list-color-palettes"},{"title":"Create color palette","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/color-palettes","href":"/api-reference/organizations/create-color-palette"},{"title":"Delete color palette","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/color-palettes/{colorPaletteUuid}","href":"/api-reference/organizations/delete-color-palette"},{"title":"Update color palette","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/color-palettes/{colorPaletteUuid}","href":"/api-reference/organizations/update-color-palette"},{"title":"Set active color palette","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/color-palettes/{colorPaletteUuid}/active","href":"/api-reference/organizations/set-active-color-palette"},{"title":"Ensure playground project","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/playground-projects/ensure","href":"/api-reference/organizations/ensure-playground-project"},{"title":"Enable Learn","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/training-project","href":"/api-reference/organizations/enable-learn"},{"title":"Get Learn access","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/training-project/access","href":"/api-reference/organizations/get-learn-access"},{"title":"Get impersonation settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/impersonation","href":"/api-reference/organizations/get-impersonation-settings"},{"title":"Update impersonation settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/impersonation","href":"/api-reference/organizations/update-impersonation-settings"},{"title":"Get invite link","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/invite-links/{inviteLinkCode}","href":"/api-reference/organizations/get-invite-link"},{"title":"Post apiv1invite links activate","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/invite-links/{inviteCode}/activate","href":"/api-reference/organizations/post-apiv1invite-links-activate"},{"title":"Create invite link","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/invite-links","href":"/api-reference/organizations/create-invite-link"},{"title":"Revoke all invite links","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/invite-links","href":"/api-reference/organizations/revoke-all-invite-links"},{"title":"Get email whitelabel configuration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/{organizationUuid}/email-whitelabel","href":"/api-reference/organizations/get-email-whitelabel-configuration"},{"title":"Set up email sending domain","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/{organizationUuid}/email-whitelabel","href":"/api-reference/organizations/set-up-email-sending-domain"},{"title":"Delete email sending domain","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/{organizationUuid}/email-whitelabel","href":"/api-reference/organizations/delete-email-sending-domain"},{"title":"Enable or disable email sending domain","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/{organizationUuid}/email-whitelabel","href":"/api-reference/organizations/enable-or-disable-email-sending-domain"},{"title":"Verify email sending domain","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/{organizationUuid}/email-whitelabel/verify","href":"/api-reference/organizations/verify-email-sending-domain"}]},{"group":"Content Review Requests","pages":[{"title":"Get review settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/review-requests/settings","href":"/api-reference/content-review-requests/get-review-settings"},{"title":"Update review settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/review-requests/settings","href":"/api-reference/content-review-requests/update-review-settings"},{"title":"Find similar content","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/review-requests/similar","href":"/api-reference/content-review-requests/find-similar-content"},{"title":"Find related charts using names and query definitions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/review-requests/similar","href":"/api-reference/content-review-requests/find-related-charts-using-names-and-query-definitions"},{"title":"Get the pending review request for content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/review-requests/content/{contentType}/{contentUuid}","href":"/api-reference/content-review-requests/get-the-pending-review-request-for-content"},{"title":"List review requests","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/review-requests","href":"/api-reference/content-review-requests/list-review-requests"},{"title":"Submit a review request","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/review-requests","href":"/api-reference/content-review-requests/submit-a-review-request"},{"title":"Get a review request","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/review-requests/{requestUuid}","href":"/api-reference/content-review-requests/get-a-review-request"},{"title":"Approve a review request","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/review-requests/{requestUuid}/approve","href":"/api-reference/content-review-requests/approve-a-review-request"},{"title":"Reject a review request","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/review-requests/{requestUuid}/reject","href":"/api-reference/content-review-requests/reject-a-review-request"},{"title":"Cancel your own review request","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/review-requests/{requestUuid}/cancel","href":"/api-reference/content-review-requests/cancel-your-own-review-request"}]},{"group":"My Account","pages":[{"title":"Get authenticated user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/user","href":"/api-reference/my-account/get-authenticated-user"},{"title":"Register user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user","href":"/api-reference/my-account/register-user"},{"title":"Create email one-time passcode","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/user/me/email/otp","href":"/api-reference/my-account/create-email-one-time-passcode"},{"title":"Get email verification status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/user/me/email/status","href":"/api-reference/my-account/get-email-verification-status"},{"title":"Get onboarding","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/user/onboarding","href":"/api-reference/my-account/get-onboarding"},{"title":"Complete onboarding tour","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/onboarding","href":"/api-reference/my-account/complete-onboarding-tour"},{"title":"Get Learn progress","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/user/learn-progress","href":"/api-reference/my-account/get-learn-progress"},{"title":"Mark Learn walkthrough started","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/learn-progress/{scope}/started","href":"/api-reference/my-account/mark-learn-walkthrough-started"},{"title":"Mark Learn walkthrough completed","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/learn-progress/{scope}/completed","href":"/api-reference/my-account/mark-learn-walkthrough-completed"},{"title":"Merge browser Learn progress","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/learn-progress/merge","href":"/api-reference/my-account/merge-browser-learn-progress"},{"title":"List available organizations","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/user/me/allowedOrganizations","href":"/api-reference/my-account/list-available-organizations"},{"title":"Join organization","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/me/joinOrganization/{organizationUuid}","href":"/api-reference/my-account/join-organization"},{"title":"Leave organization","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/user/me/leaveOrganization","href":"/api-reference/my-account/leave-organization"},{"title":"Delete user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/user/me","href":"/api-reference/my-account/delete-user"},{"title":"List warehouse credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/user/warehouseCredentials","href":"/api-reference/my-account/list-warehouse-credentials"},{"title":"Create warehouse credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/warehouseCredentials","href":"/api-reference/my-account/create-warehouse-credentials"},{"title":"Start Redshift AWS SSO login","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/warehouseCredentials/redshift/aws-sso/start","href":"/api-reference/my-account/start-redshift-aws-sso-login"},{"title":"Complete Redshift AWS SSO login","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/warehouseCredentials/redshift/aws-sso/complete","href":"/api-reference/my-account/complete-redshift-aws-sso-login"},{"title":"Delete warehouse credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/user/warehouseCredentials/{uuid}","href":"/api-reference/my-account/delete-warehouse-credentials"},{"title":"Update warehouse credentials","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/user/warehouseCredentials/{uuid}","href":"/api-reference/my-account/update-warehouse-credentials"},{"title":"Get login options","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/user/login-options","href":"/api-reference/my-account/get-login-options"},{"title":"Post apiv1userlogin email otp","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/login-email-otp","href":"/api-reference/my-account/post-apiv1userlogin-email-otp"},{"title":"Post apiv1userlogin email otpverify","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/login-email-otp/verify","href":"/api-reference/my-account/post-apiv1userlogin-email-otpverify"},{"title":"List personal access tokens","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/user/me/personal-access-tokens","href":"/api-reference/my-account/list-personal-access-tokens"},{"title":"Create personal access token","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/user/me/personal-access-tokens","href":"/api-reference/my-account/create-personal-access-token"},{"title":"Delete personal access token","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/user/me/personal-access-tokens/{personalAccessTokenUuid}","href":"/api-reference/my-account/delete-personal-access-token"},{"title":"Rotate personal access token","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/user/me/personal-access-tokens/{personalAccessTokenUuid}/rotate","href":"/api-reference/my-account/rotate-personal-access-token"},{"title":"Get account","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/user/account","href":"/api-reference/my-account/get-account"},{"title":"Upload avatar","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/user/me/avatar","href":"/api-reference/my-account/upload-avatar"},{"title":"Delete avatar","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/user/me/avatar","href":"/api-reference/my-account/delete-avatar"},{"title":"Get user avatar","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/users/{userUuid}/avatar/{contentHash}","href":"/api-reference/my-account/get-user-avatar"}]},{"group":"User attributes","pages":[{"title":"List user attributes","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/attributes","href":"/api-reference/user-attributes/list-user-attributes"},{"title":"Create user attribute","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/attributes","href":"/api-reference/user-attributes/create-user-attribute"},{"title":"Update user attribute","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/org/attributes/{userAttributeUuid}","href":"/api-reference/user-attributes/update-user-attribute"},{"title":"Delete user attribute","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/attributes/{userAttributeUuid}","href":"/api-reference/user-attributes/delete-user-attribute"}]},{"group":"SSH Keypairs","pages":[{"title":"Create SSH key pair","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/ssh/key-pairs","href":"/api-reference/ssh-keypairs/create-ssh-key-pair"}]},{"group":"SQL runner","pages":[{"title":"List warehouse tables","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlRunner/tables","href":"/api-reference/sql-runner/list-warehouse-tables"},{"title":"Get table fields","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlRunner/fields","href":"/api-reference/sql-runner/get-table-fields"},{"title":"Run SQL query","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlRunner/run","href":"/api-reference/sql-runner/run-sql-query"},{"title":"Run SQL pivot query","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlRunner/runPivotQuery","href":"/api-reference/sql-runner/run-sql-pivot-query"},{"title":"Get stored results","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlRunner/results/{fileId}","href":"/api-reference/sql-runner/get-stored-results"},{"title":"Get SQL chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlRunner/saved/{uuid}","href":"/api-reference/sql-runner/get-sql-chart"},{"title":"Delete SQL chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/sqlRunner/saved/{uuid}","href":"/api-reference/sql-runner/delete-sql-chart"},{"title":"Update SQL chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/sqlRunner/saved/{uuid}","href":"/api-reference/sql-runner/update-sql-chart"},{"title":"Get SQL chart by slug","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlRunner/saved/slug/{slug}","href":"/api-reference/sql-runner/get-sql-chart-by-slug"},{"title":"Get SQL chart results job","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlRunner/saved/slug/{slug}/results-job","href":"/api-reference/sql-runner/get-sql-chart-results-job"},{"title":"Get SQL chart results job by UUID","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlRunner/saved/{uuid}/results-job","href":"/api-reference/sql-runner/get-sql-chart-results-job-by-uuid"},{"title":"Create SQL chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlRunner/saved","href":"/api-reference/sql-runner/create-sql-chart"},{"title":"Promote SQL chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlRunner/saved/{uuid}/promote","href":"/api-reference/sql-runner/promote-sql-chart"},{"title":"Get SQL chart promotion diff","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlRunner/saved/{uuid}/promoteDiff","href":"/api-reference/sql-runner/get-sql-chart-promotion-diff"},{"title":"Refresh catalog cache","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlRunner/refresh-catalog","href":"/api-reference/sql-runner/refresh-catalog-cache"},{"title":"Create virtual view","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlRunner/virtual-view","href":"/api-reference/sql-runner/create-virtual-view"},{"title":"Update virtual view","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/projects/{projectUuid}/sqlRunner/virtual-view/{name}","href":"/api-reference/sql-runner/update-virtual-view"},{"title":"Delete virtual view","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/sqlRunner/virtual-view/{name}","href":"/api-reference/sql-runner/delete-virtual-view"},{"title":"Preview write back","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlRunner/preview","href":"/api-reference/sql-runner/preview-write-back"},{"title":"Create write back PR","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlRunner/pull-request","href":"/api-reference/sql-runner/create-write-back-pr"},{"title":"List SQL chart schedulers","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/sqlRunner/saved/{savedSqlUuid}/schedulers","href":"/api-reference/sql-runner/list-sql-chart-schedulers"},{"title":"Create SQL chart scheduler","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlRunner/saved/{savedSqlUuid}/schedulers","href":"/api-reference/sql-runner/create-sql-chart-scheduler"}]},{"group":"Spotlight","pages":[{"title":"Get spotlight table config","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/spotlight/table/config","href":"/api-reference/spotlight/get-spotlight-table-config"},{"title":"Update spotlight table config","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/spotlight/table/config","href":"/api-reference/spotlight/update-spotlight-table-config"},{"title":"Reset spotlight table config","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/spotlight/table/config","href":"/api-reference/spotlight/reset-spotlight-table-config"}]},{"group":"Roles \u0026 Permissions","pages":[{"title":"List service account candidates","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/spaces/{spaceUuid}/share/service-accounts","href":"/api-reference/roles-\u0026-permissions/list-service-account-candidates"},{"title":"Update space","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/spaces/{spaceUuid}","href":"/api-reference/roles-\u0026-permissions/update-space"},{"title":"List space access","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/spaces/{spaceUuid}/access","href":"/api-reference/roles-\u0026-permissions/list-space-access"},{"title":"Create space","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/spaces","href":"/api-reference/roles-\u0026-permissions/create-space"},{"title":"Grant user access to space","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/spaces/{spaceUuid}/share","href":"/api-reference/roles-\u0026-permissions/grant-user-access-to-space"},{"title":"Revoke user access to space","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/spaces/{spaceUuid}/share/{userUuid}","href":"/api-reference/roles-\u0026-permissions/revoke-user-access-to-space"},{"title":"Grant group access to space","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/spaces/{spaceUuid}/group/share","href":"/api-reference/roles-\u0026-permissions/grant-group-access-to-space"},{"title":"Revoke group access to space","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/spaces/{spaceUuid}/group/share/{groupUuid}","href":"/api-reference/roles-\u0026-permissions/revoke-group-access-to-space"},{"title":"List project access","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/access","href":"/api-reference/roles-\u0026-permissions/list-project-access"},{"title":"Grant project access to user","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/access","href":"/api-reference/roles-\u0026-permissions/grant-project-access-to-user"},{"title":"Get project member access","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/user/{userUuid}","href":"/api-reference/roles-\u0026-permissions/get-project-member-access"},{"title":"Revoke project access for user","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/access/{userUuid}","href":"/api-reference/roles-\u0026-permissions/revoke-project-access-for-user"},{"title":"Update project access for user","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/access/{userUuid}","href":"/api-reference/roles-\u0026-permissions/update-project-access-for-user"},{"title":"Update organization member","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/org/users/{userUuid}","href":"/api-reference/roles-\u0026-permissions/update-organization-member"}]},{"group":"Integrations","pages":[{"title":"Get Slack channels","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/slack/channels","href":"/api-reference/integrations/get-slack-channels"},{"title":"Lookup channel","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/slack/channels/{channelId}","href":"/api-reference/integrations/lookup-channel"},{"title":"Update Slack custom settings","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/slack/custom-settings","href":"/api-reference/integrations/update-slack-custom-settings"},{"title":"Check Slack OpenID link status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/slack/is-authenticated","href":"/api-reference/integrations/check-slack-openid-link-status"},{"title":"Get Slack installation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/slack","href":"/api-reference/integrations/get-slack-installation"},{"title":"Delete Slack installation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/slack","href":"/api-reference/integrations/delete-slack-installation"},{"title":"Get Slack image","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/slack/image/{nanoId}","href":"/api-reference/integrations/get-slack-image"},{"title":"Get Slack preview","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/slack/preview/{id}","href":"/api-reference/integrations/get-slack-preview"},{"title":"Get Slack card image","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/slack/card-image/{id}","href":"/api-reference/integrations/get-slack-card-image"},{"title":"Install Slack","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/slack/install","href":"/api-reference/integrations/install-slack"},{"title":"Connect Linear","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/linear/install","href":"/api-reference/integrations/connect-linear"},{"title":"Linear OAuth callback","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/linear/oauth/callback","href":"/api-reference/integrations/linear-oauth-callback"},{"title":"Get Linear installation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/linear","href":"/api-reference/integrations/get-linear-installation"},{"title":"Uninstall Linear integration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/linear/uninstall","href":"/api-reference/integrations/uninstall-linear-integration"},{"title":"List Linear teams","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/linear/teams","href":"/api-reference/integrations/list-linear-teams"},{"title":"List Linear projects","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/linear/projects","href":"/api-reference/integrations/list-linear-projects"},{"title":"Reconnect Jira","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/jira/install","href":"/api-reference/integrations/reconnect-jira"},{"title":"Connect Jira","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/jira/install","href":"/api-reference/integrations/connect-jira"},{"title":"Jira OAuth callback","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/jira/oauth/callback","href":"/api-reference/integrations/jira-oauth-callback"},{"title":"Get Jira installation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/jira","href":"/api-reference/integrations/get-jira-installation"},{"title":"List Jira sites","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/jira/sites","href":"/api-reference/integrations/list-jira-sites"},{"title":"Select Jira site","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/jira/site","href":"/api-reference/integrations/select-jira-site"},{"title":"List Jira projects","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/jira/projects","href":"/api-reference/integrations/list-jira-projects"},{"title":"List Jira issue types","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/jira/issue-types","href":"/api-reference/integrations/list-jira-issue-types"},{"title":"Uninstall Jira integration","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/jira/uninstall","href":"/api-reference/integrations/uninstall-jira-integration"},{"title":"Get Google Drive access token","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/gdrive/get-access-token","href":"/api-reference/integrations/get-google-drive-access-token"},{"title":"Upload to Google Sheet","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/gdrive/upload-gsheet","href":"/api-reference/integrations/upload-to-google-sheet"},{"title":"Upload rows to Google Sheet","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/gdrive/upload-gsheet-from-rows","href":"/api-reference/integrations/upload-rows-to-google-sheet"}]},{"group":"Share links","pages":[{"title":"Get share URL","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/share/{nanoId}","href":"/api-reference/share-links/get-share-url"},{"title":"Create share URL","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/share","href":"/api-reference/share-links/create-share-url"}]},{"group":"Exploring","pages":[{"title":"Run underlying data query","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/explores/{exploreId}/runUnderlyingDataQuery","href":"/api-reference/exploring/run-underlying-data-query"},{"title":"Run metric query","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/explores/{exploreId}/runQuery","href":"/api-reference/exploring/run-metric-query"},{"title":"Run SQL query","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/sqlQuery","href":"/api-reference/exploring/run-sql-query"},{"title":"Compile merge query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/mergeQuery/compile","href":"/api-reference/exploring/compile-merge-query"},{"title":"Run merge query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/mergeQuery/run","href":"/api-reference/exploring/run-merge-query"}]},{"group":"Charts","pages":[{"title":"Run chart query","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/saved/{chartUuid}/results","href":"/api-reference/charts/run-chart-query"},{"title":"Get chart and results","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/saved/{chartUuid}/chart-and-results","href":"/api-reference/charts/get-chart-and-results"},{"title":"Get chart version history","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/saved/{chartUuid}/history","href":"/api-reference/charts/get-chart-version-history"},{"title":"Get chart version","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/saved/{chartUuid}/version/{versionUuid}","href":"/api-reference/charts/get-chart-version"},{"title":"Get chart version results","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/saved/{chartUuid}/version/{versionUuid}/results","href":"/api-reference/charts/get-chart-version-results"},{"title":"Rollback chart to version","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/saved/{chartUuid}/rollback/{versionUuid}","href":"/api-reference/charts/rollback-chart-to-version"},{"title":"Calculate total from saved chart","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/saved/{chartUuid}/calculate-total","href":"/api-reference/charts/calculate-total-from-saved-chart"},{"title":"Promote chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/saved/{chartUuid}/promote","href":"/api-reference/charts/promote-chart"},{"title":"Get chart promotion diff","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/saved/{chartUuid}/promoteDiff","href":"/api-reference/charts/get-chart-promotion-diff"},{"title":"List saved chart schedulers","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/saved/{chartUuid}/schedulers","href":"/api-reference/charts/list-saved-chart-schedulers"},{"title":"Create saved chart scheduler","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/saved/{chartUuid}/schedulers","href":"/api-reference/charts/create-saved-chart-scheduler"},{"title":"Export chart image","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/saved/{chartUuid}/export","href":"/api-reference/charts/export-chart-image"},{"title":"Verify chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/saved/{chartUuid}/verification","href":"/api-reference/charts/verify-chart"},{"title":"Unverify chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/saved/{chartUuid}/verification","href":"/api-reference/charts/unverify-chart"}]},{"group":"Pull Requests","pages":[{"title":"List pull requests","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/pull-requests","href":"/api-reference/pull-requests/list-pull-requests"}]},{"group":"Prompts","pages":[{"title":"Get prompt","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/prompts/{name}","href":"/api-reference/prompts/get-prompt"}]},{"group":"Content","pages":[{"title":"Get pinned items","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/pinned-lists/{pinnedListUuid}/items","href":"/api-reference/content/get-pinned-items"},{"title":"Update pinned items order","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/pinned-lists/{pinnedListUuid}/items/order","href":"/api-reference/content/update-pinned-items-order"},{"title":"Get favorites","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/favorites","href":"/api-reference/content/get-favorites"},{"title":"Toggle favorite","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/favorites","href":"/api-reference/content/toggle-favorite"},{"title":"Move content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/content/{projectUuid}/move","href":"/api-reference/content/move-content"},{"title":"Bulk move content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/content/bulk-action/{projectUuid}/move","href":"/api-reference/content/bulk-move-content"},{"title":"Delete content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/content/{projectUuid}/delete","href":"/api-reference/content/delete-content"},{"title":"Bulk delete content","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/content/bulk-action/{projectUuid}/delete","href":"/api-reference/content/bulk-delete-content"}]},{"group":"Notifications","pages":[{"title":"Get notifications","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/notifications","href":"/api-reference/notifications/get-notifications"},{"title":"Update notification","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/notifications/{notificationId}","href":"/api-reference/notifications/update-notification"}]},{"group":"Metrics Explorer","pages":[{"title":"Run metric total query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/metricsExplorer/{explore}/{metric}/runMetricTotal","href":"/api-reference/metrics-explorer/run-metric-total-query"},{"title":"Run metric series query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/metricsExplorer/{explore}/{metric}/runMetricSeries","href":"/api-reference/metrics-explorer/run-metric-series-query"},{"title":"Compile metric total query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/metricsExplorer/{explore}/{metric}/compileMetricTotalQuery","href":"/api-reference/metrics-explorer/compile-metric-total-query"}]},{"group":"Map","pages":[{"title":"Get map tile","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/map-tiles/{style}/{z}/{x}/{y}.png","href":"/api-reference/map/get-map-tile"},{"title":"Proxy GeoJSON","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/geojson-proxy","href":"/api-reference/map/proxy-geojson"}]},{"group":"Impersonation","pages":[{"title":"Start impersonation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/impersonation/start","href":"/api-reference/impersonation/start-impersonation"},{"title":"Stop impersonation","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/impersonation/stop","href":"/api-reference/impersonation/stop-impersonation"}]},{"group":"User Groups","pages":[{"title":"Get group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/groups/{groupUuid}","href":"/api-reference/user-groups/get-group"},{"title":"Delete group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/groups/{groupUuid}","href":"/api-reference/user-groups/delete-group"},{"title":"Update group","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/groups/{groupUuid}","href":"/api-reference/user-groups/update-group"},{"title":"Add user to group","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/groups/{groupUuid}/members/{userUuid}","href":"/api-reference/user-groups/add-user-to-group"},{"title":"Remove user from group","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/groups/{groupUuid}/members/{userUuid}","href":"/api-reference/user-groups/remove-user-from-group"},{"title":"Get group members","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/groups/{groupUuid}/members","href":"/api-reference/user-groups/get-group-members"},{"title":"Add project access to group","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/groups/{groupUuid}/projects/{projectUuid}","href":"/api-reference/user-groups/add-project-access-to-group"},{"title":"Remove project access from group","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/groups/{groupUuid}/projects/{projectUuid}","href":"/api-reference/user-groups/remove-project-access-from-group"},{"title":"Update project access for group","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/groups/{groupUuid}/projects/{projectUuid}","href":"/api-reference/user-groups/update-project-access-for-group"}]},{"group":"Git Integration","pages":[{"title":"Create PR for custom metrics","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/git-integration/pull-requests/custom-metrics","href":"/api-reference/git-integration/create-pr-for-custom-metrics"},{"title":"Preview custom dimension YAML","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/git-integration/pull-requests/custom-dimensions/preview","href":"/api-reference/git-integration/preview-custom-dimension-yaml"},{"title":"Create PR for custom dimensions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/git-integration/pull-requests/custom-dimensions","href":"/api-reference/git-integration/create-pr-for-custom-dimensions"}]},{"group":"Git Files","pages":[{"title":"List branches","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/git/branches","href":"/api-reference/git-files/list-branches"},{"title":"Create branch","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/git/branches","href":"/api-reference/git-files/create-branch"},{"title":"Get file or directory","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/git/branches/{branch}/files","href":"/api-reference/git-files/get-file-or-directory"},{"title":"Save file","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/projects/{projectUuid}/git/branches/{branch}/files","href":"/api-reference/git-files/save-file"},{"title":"Delete file","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/git/branches/{branch}/files","href":"/api-reference/git-files/delete-file"},{"title":"Create pull request","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/git/branches/{branch}/pull-request","href":"/api-reference/git-files/create-pull-request"}]},{"group":"Funnel","pages":[{"title":"Get event names","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/funnel/event-names","href":"/api-reference/funnel/get-event-names"},{"title":"Run funnel query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/funnel/query","href":"/api-reference/funnel/run-funnel-query"}]},{"group":"Files","pages":[{"title":"Get file","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/file/{fileId}","href":"/api-reference/files/get-file"}]},{"group":"Dashboards","pages":[{"title":"Promote dashboard","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/dashboards/{dashboardUuidOrSlug}/promote","href":"/api-reference/dashboards/promote-dashboard"},{"title":"Get dashboard promotion diff","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/dashboards/{dashboardUuidOrSlug}/promoteDiff","href":"/api-reference/dashboards/get-dashboard-promotion-diff"},{"title":"Update dashboard custom metric","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/dashboards/{dashboardUuidOrSlug}/custom-metrics","href":"/api-reference/dashboards/update-dashboard-custom-metric"},{"title":"Delete dashboard custom metric","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/dashboards/{dashboardUuidOrSlug}/custom-metrics/{metricTable}/{metricName}","href":"/api-reference/dashboards/delete-dashboard-custom-metric"},{"title":"Get dashboard history","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/dashboards/{dashboardUuidOrSlug}/history","href":"/api-reference/dashboards/get-dashboard-history"},{"title":"Get dashboard version","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/dashboards/{dashboardUuidOrSlug}/version/{versionUuid}","href":"/api-reference/dashboards/get-dashboard-version"},{"title":"Rollback dashboard version","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/dashboards/{dashboardUuidOrSlug}/rollback/{versionUuid}","href":"/api-reference/dashboards/rollback-dashboard-version"},{"title":"List dashboard schedulers","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/dashboards/{dashboardUuidOrSlug}/schedulers","href":"/api-reference/dashboards/list-dashboard-schedulers"},{"title":"Create dashboard scheduler","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/dashboards/{dashboardUuidOrSlug}/schedulers","href":"/api-reference/dashboards/create-dashboard-scheduler"},{"title":"Verify dashboard","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/dashboards/{dashboardUuidOrSlug}/verification","href":"/api-reference/dashboards/verify-dashboard"},{"title":"Unverify dashboard","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/dashboards/{dashboardUuidOrSlug}/verification","href":"/api-reference/dashboards/unverify-dashboard"}]},{"group":"Exports","pages":[{"title":"Get export status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/csv/{jobId}","href":"/api-reference/exports/get-export-status"}]},{"group":"Comments","pages":[{"title":"Create comment","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/comments/dashboards/{dashboardUuid}/{dashboardTileUuid}","href":"/api-reference/comments/create-comment"},{"title":"Get comments","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/comments/dashboards/{dashboardUuidOrSlug}","href":"/api-reference/comments/get-comments"},{"title":"Delete comment","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/comments/dashboards/{dashboardUuid}/{commentId}","href":"/api-reference/comments/delete-comment"},{"title":"Resolve comment","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/comments/dashboards/{dashboardUuid}/{commentId}","href":"/api-reference/comments/resolve-comment"}]},{"group":"Catalog","pages":[{"title":"Get catalog","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog","href":"/api-reference/catalog/get-catalog"},{"title":"List metrics trees","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/metrics/trees","href":"/api-reference/catalog/list-metrics-trees"},{"title":"Create metrics tree","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/dataCatalog/metrics/trees","href":"/api-reference/catalog/create-metrics-tree"},{"title":"Get metrics tree details","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuidOrSlug}","href":"/api-reference/catalog/get-metrics-tree-details"},{"title":"Delete metrics tree","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuid}","href":"/api-reference/catalog/delete-metrics-tree"},{"title":"Update metrics tree","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuid}","href":"/api-reference/catalog/update-metrics-tree"},{"title":"Acquire tree lock","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuid}/lock","href":"/api-reference/catalog/acquire-tree-lock"},{"title":"Release tree lock","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuid}/lock","href":"/api-reference/catalog/release-tree-lock"},{"title":"Refresh tree lock heartbeat","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/projects/{projectUuid}/dataCatalog/metrics/trees/{metricsTreeUuid}/lock/heartbeat","href":"/api-reference/catalog/refresh-tree-lock-heartbeat"},{"title":"Get table metadata","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/{table}/metadata","href":"/api-reference/catalog/get-table-metadata"},{"title":"Get table analytics","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/{table}/analytics","href":"/api-reference/catalog/get-table-analytics"},{"title":"Get field analytics","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/{table}/analytics/{field}","href":"/api-reference/catalog/get-field-analytics"},{"title":"List metrics in catalog","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/metrics","href":"/api-reference/catalog/list-metrics-in-catalog"},{"title":"Get all metrics tree edges","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges","href":"/api-reference/catalog/get-all-metrics-tree-edges"},{"title":"Create metrics tree edge","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges","href":"/api-reference/catalog/create-metrics-tree-edge"},{"title":"Get metric","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/metrics/{tableName}/{metricName}","href":"/api-reference/catalog/get-metric"},{"title":"Get metrics with time dimensions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/metrics-with-time-dimensions","href":"/api-reference/catalog/get-metrics-with-time-dimensions"},{"title":"Get filter dimensions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/{tableName}/filter-dimensions","href":"/api-reference/catalog/get-filter-dimensions"},{"title":"Get segment dimensions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/{tableName}/segment-dimensions","href":"/api-reference/catalog/get-segment-dimensions"},{"title":"Add category to catalog item","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/categories","href":"/api-reference/catalog/add-category-to-catalog-item"},{"title":"Remove category from catalog item","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/categories/{tagUuid}","href":"/api-reference/catalog/remove-category-from-catalog-item"},{"title":"Update catalog item icon","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/icon","href":"/api-reference/catalog/update-catalog-item-icon"},{"title":"Get metrics tree","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/metrics/tree","href":"/api-reference/catalog/get-metrics-tree"},{"title":"Get metrics tree","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/dataCatalog/metrics/tree","href":"/api-reference/catalog/get-metrics-tree-1"},{"title":"Delete metrics tree edge","deprecated":true,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges/{sourceCatalogSearchUuid}/{targetCatalogSearchUuid}","href":"/api-reference/catalog/delete-metrics-tree-edge"},{"title":"Check if metrics exist in catalog","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/metrics/has","href":"/api-reference/catalog/check-if-metrics-exist-in-catalog"},{"title":"List metric owners","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/dataCatalog/metrics/owners","href":"/api-reference/catalog/list-metric-owners"}]},{"group":"AWS Web Identity","pages":[{"title":"Get web identity subject","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/aws/web-identity","href":"/api-reference/aws-web-identity/get-web-identity-subject"},{"title":"Generate web identity audience","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/aws/web-identity/audiences","href":"/api-reference/aws-web-identity/generate-web-identity-audience"}]},{"group":"Analytics project","pages":[{"title":"Check Analytics history backfill completion","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/analytics-project/backfill","href":"/api-reference/analytics-project/check-analytics-history-backfill-completion"},{"title":"Backfill retained Analytics history","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/analytics-project/backfill","href":"/api-reference/analytics-project/backfill-retained-analytics-history"},{"title":"Get internal analytics project status","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/org/analytics-project","href":"/api-reference/analytics-project/get-internal-analytics-project-status"},{"title":"Ensure internal analytics project","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/analytics-project","href":"/api-reference/analytics-project/ensure-internal-analytics-project"},{"title":"Install sample charts and dashboard in the internal analytics project","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/org/analytics-project/sample-content","href":"/api-reference/analytics-project/install-sample-charts-and-dashboard-in-the-internal-analytics-project"},{"title":"Delete the organization's internal analytics project","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/org/analytics-project/{projectUuid}","href":"/api-reference/analytics-project/delete-the-organizations-internal-analytics-project"}]},{"group":"Learn","pages":[{"title":"List workspace files","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/learn/workspace/files","href":"/api-reference/learn/list-workspace-files"},{"title":"Get workspace file","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/learn/workspace/files/{path}","href":"/api-reference/learn/get-workspace-file"},{"title":"Save workspace file","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v1/projects/{projectUuid}/learn/workspace/files/{path}","href":"/api-reference/learn/save-workspace-file"},{"title":"Run workspace command","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/learn/workspace/commands","href":"/api-reference/learn/run-workspace-command"},{"title":"Get workspace command output","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/learn/workspace/commands/{commandUuid}","href":"/api-reference/learn/get-workspace-command-output"}]},{"group":"Documents","pages":[{"title":"Post apiv1projects documents charts query","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/documents/{documentUuid}/charts/{chartId}/query","href":"/api-reference/documents/post-apiv1projects-documents-charts-query"},{"title":"Patch apiv1projects documents pinning","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/documents/{documentUuidOrSlug}/pinning","href":"/api-reference/documents/patch-apiv1projects-documents-pinning"},{"title":"Verify Document","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/documents/{documentUuid}/verification","href":"/api-reference/documents/verify-document"},{"title":"Unverify Document","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json delete /api/v1/projects/{projectUuid}/documents/{documentUuid}/verification","href":"/api-reference/documents/unverify-document"},{"title":"Get apiv1projects documents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/documents","href":"/api-reference/documents/get-apiv1projects-documents"},{"title":"Post apiv1projects documents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/documents","href":"/api-reference/documents/post-apiv1projects-documents"},{"title":"Post apiv1projects documents duplicate","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/documents/{documentUuidOrSlug}/duplicate","href":"/api-reference/documents/post-apiv1projects-documents-duplicate"},{"title":"Export document as PDF","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/documents/{documentUuidOrSlug}/exports/pdf","href":"/api-reference/documents/export-document-as-pdf"},{"title":"Get Document promotion diff","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/documents/{documentUuid}/promoteDiff","href":"/api-reference/documents/get-document-promotion-diff"},{"title":"Promote Document","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/documents/{documentUuid}/promote","href":"/api-reference/documents/promote-document"},{"title":"Get apiv1projects documents 1","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/documents/{documentUuidOrSlug}","href":"/api-reference/documents/get-apiv1projects-documents-1"},{"title":"Patch apiv1projects documents","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json patch /api/v1/projects/{projectUuid}/documents/{documentUuidOrSlug}","href":"/api-reference/documents/patch-apiv1projects-documents"},{"title":"Get apiv1projects documents versions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/documents/{documentUuid}/versions","href":"/api-reference/documents/get-apiv1projects-documents-versions"},{"title":"Post apiv1projects documents versions","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v1/projects/{projectUuid}/documents/{documentUuid}/versions","href":"/api-reference/documents/post-apiv1projects-documents-versions"},{"title":"Get apiv1projects documents versions 1","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/documents/{documentUuid}/versions/{versionUuid}","href":"/api-reference/documents/get-apiv1projects-documents-versions-1"},{"title":"Get apiv1projects documents as code","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/documents/{documentUuidOrSlug}/as-code","href":"/api-reference/documents/get-apiv1projects-documents-as-code"},{"title":"Documents linking a chart","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json get /api/v1/projects/{projectUuid}/documents/linking-chart","href":"/api-reference/documents/documents-linking-a-chart"}]},{"group":"Project","pages":[{"title":"Deploy explores","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json put /api/v2/projects/{projectUuid}/deploy","href":"/api-reference/project/deploy-explores"},{"title":"Start deploy session","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/deploy","href":"/api-reference/project/start-deploy-session"},{"title":"Add deploy batch","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/deploy/{sessionUuid}/batch","href":"/api-reference/project/add-deploy-batch"},{"title":"Finalize deploy","deprecated":null,"version":null,"openapi":"https://raw.githubusercontent.com/lightdash/lightdash/refs/heads/main/packages/backend/src/generated/swagger.json post /api/v2/projects/{projectUuid}/deploy/{sessionUuid}/finalize","href":"/api-reference/project/finalize-deploy"}]}]}]}]},"title":"Upsert chart as code (deprecated) - Lightdash","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}