Required scope:dashboards:writeUse this when you need control over the exact layout. A common case is copying a
view between pixels: read it with Get a dashboard view
using the source pixel’s key, then post its type, name, and configuration here
with the destination pixel’s key. To get a dashboard from a list of measures without
placing each widget yourself, use
Build a dashboard from a measure list.
type, name (1 to 200 characters), and configuration are required. order
defaults to 0.
Inside configuration, the top-level fields and each section’s fields are
validated. Widget objects are saved exactly as sent, so check each widget’s
layout and dataConfig yourself. widgets must be present, even as an empty array.
attributionModel: "last_touch" is accepted and saved as last_click.
Names don’t have to be unique, and every call creates a new view. Retrying a request
that timed out can leave a duplicate, so list views before you retry.
The new view, including its id. createdBy and updatedBy are empty strings,
because writes made with an API key aren’t attributed to a user. type is always
view. The dashboard type you sent comes back in sk.
Everything the web app needs to render a view. The server checks the top-level
fields and each section's fields, but stores widget objects as sent, so a malformed
widget is saved without an error.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Upstack Data","colors":{"primary":"#4230b4","light":"#6366F1","dark":"#322484"},"logo":{"light":"https://mintcdn.com/upstackdata-afbed50d/40dgTTn1PLjePhJa/logo/light.svg?fit=max\u0026auto=format\u0026n=40dgTTn1PLjePhJa\u0026q=85\u0026s=598c05fb87860ddc1b6b7640b41e136c","dark":"https://mintcdn.com/upstackdata-afbed50d/40dgTTn1PLjePhJa/logo/dark.svg?fit=max\u0026auto=format\u0026n=40dgTTn1PLjePhJa\u0026q=85\u0026s=4ffdf28479b596176b69034675d783b0","href":"https://docs.upstackdata.com/get-started/overview"},"favicon":"https://mintcdn.com/upstackdata-afbed50d/a7q81tQDxtvowAUn/favicon.svg?fit=max\u0026auto=format\u0026n=a7q81tQDxtvowAUn\u0026q=85\u0026s=4e6cad1d3845d8fe1e1f8fb54b430a3f","appearance":{"default":"light","strict":true},"navbar":{"links":[{"href":"https://docs.upstackdata.com/troubleshooting/support","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.upstackdata.com"}},"footer":{"socials":{"x":"https://x.com/upstackdata","linkedin":"https://linkedin.com/company/upstackdata"},"links":[{"header":"Product","items":[{"label":"Website","href":"https://www.upstackdata.com"},{"label":"Pricing","href":"https://www.upstackdata.com/pricing"},{"label":"Dashboard","href":"https://app.upstackdata.com"}]},{"header":"Resources","items":[{"label":"Documentation","href":"https://docs.upstackdata.com/get-started/overview"},{"label":"All troubleshooting guides","href":"https://docs.upstackdata.com/troubleshooting/overview"},{"label":"Blog","href":"https://www.upstackdata.com/blog"}]},{"header":"Support","items":[{"label":"Contact Support","href":"https://docs.upstackdata.com/troubleshooting/support"},{"label":"Install on Shopify","href":"https://docs.upstackdata.com/quickstart/install-on-shopify"},{"label":"Troubleshooting","href":"https://docs.upstackdata.com/troubleshooting/overview"}]},{"header":"Legal","items":[{"label":"Terms of Service","href":"https://www.upstackdata.com/terms"}]}]},"seo":{},"fonts":{"family":"Inter"},"integrations":{"intercom":{"appId":"y2qnvi2j"}},"contextual":{"options":["copy","view","claude"],"display":"header"},"metadata":{"timestamp":false},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"upstackdata-afbed50d","hasAudioNarration":false,"actualSubdomain":"upstackdata-afbed50d","customDomains":["docs.upstackdata.com"],"gitSource":{"type":"github","owner":"upstack-data","repo":"upstack-doc-site","deployBranch":"release/dev2","isPrivate":true,"contentDirectory":"","mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af205e1130c63682a17c260","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Metrics","count":803},{"language":"default","tag":"METRICS","count":803},{"language":"default","tag":"Orders","count":271},{"language":"default","tag":"Advertising","count":268},{"language":"default","tag":"Funnel","count":246},{"language":"default","tag":"Documentation","count":175},{"language":"default","tag":"Conversions","count":149},{"language":"default","tag":"Blended","count":110},{"language":"default","tag":"OVERVIEW","count":107},{"language":"default","tag":"Event Tracking","count":104}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@upstackdata.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* vietnamese */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--font-sans: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;--font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;--font-size-label: 0.6875rem;--font-size-tiny: 0.75rem;--font-size-small: 0.8125rem;--font-size-secondary: 0.875rem;--font-size-body: 0.9375rem;--font-size-h3: 1.0625rem;--font-size-h2: 1.25rem;--font-size-h1: 1.625rem;--font-size-code: 0.8125rem;--page-bg: #ffffff;--chrome-bg: #f6f7f8;--border: #e5e7eb;--accent: #4230b4;--accent-hover: #322484;--text-heading: #18181b;--text-body: #52525b;--text-muted: #71717a;--focus-ring: rgba(24, 24, 27, 0.12);--border-strong: #d4d4d8;--input-bg: #ffffff;--hover-bg: rgba(24, 24, 27, 0.04);--active-bg: rgba(24, 24, 27, 0.06)}html{background:var(--page-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--page-bg);color:var(--text-body);font-family:var(--font-sans)!important;font-size:var(--font-size-body)!important;line-height:1.6!important;font-weight:400!important}#navbar,#header{background:var(--chrome-bg)!important;border-bottom:1px solid var(--border)!important;backdrop-filter:none!important}.nav-tabs-item{font-size:var(--font-size-small)!important;font-weight:400!important;color:var(--text-muted)!important}.nav-tabs-item[data-active],.nav-tabs-item:hover{color:var(--text-heading)!important}#sidebar,#sidebar-content{background:var(--chrome-bg)!important;border-right:1px solid var(--border)!important}#sidebar{top:calc(7.1rem + var(--banner-height, 0px))!important;height:auto!important}#sidebar-content{overscroll-behavior:contain}.sidebar-group-header,.sidebar-title{font-size:var(--font-size-label)!important;font-weight:600!important;letter-spacing:0.05em;text-transform:uppercase;color:var(--text-muted)!important;margin-top:24px!important;margin-bottom:8px!important;padding-top:0!important;padding-bottom:0!important}#sidebar-content>div:first-child .sidebar-group-header,#sidebar-content>div:first-child .sidebar-title{margin-top:12px!important}#sidebar-content ul{padding-left:12px!important}#sidebar-content ul ul{padding-left:14px!important;border-left:1px solid var(--border)!important;margin-left:4px!important}.sidebar-group a,#sidebar a{font-size:var(--font-size-small)!important;font-weight:400!important;color:var(--text-body)!important;padding-top:5px!important;padding-bottom:5px!important;line-height:1.4!important;transition:color 80ms ease}.sidebar-group a:hover,#sidebar a:hover{color:var(--text-heading)!important}#navigation-items a,#navigation-items button,#sidebar-content .sidebar-group>button,#sidebar-content .sidebar-group button{border-radius:4px!important;transition:color 80ms ease, background-color 80ms ease!important}#navigation-items a:hover,#navigation-items button:hover{background:var(--hover-bg)!important}#navigation-items a[class*=\"bg-primary\"]{background:var(--active-bg)!important;color:var(--accent)!important;font-weight:500!important}.sidebar-group>button,.sidebar-group button{font-size:var(--font-size-small)!important;font-weight:400!important;color:var(--text-body)!important;padding-top:5px!important;padding-bottom:5px!important;transition:color 80ms ease}.sidebar-group>button:hover,.sidebar-group button:hover{color:var(--text-heading)!important}.eyebrow,.breadcrumb-list,.breadcrumb-item{font-size:var(--font-size-label)!important;color:var(--text-muted)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:0.05em!important}div[class*=\"peer-[.is-not-custom]\"]{max-width:none!important}#content-area,#content,#content-container,#content-side-layout{background:var(--page-bg)!important;max-width:none!important}#navbar div[class*=\"max-w-8xl\"]{max-width:none!important}#table-of-contents-layout{max-width:none!important}#body-content{max-width:none!important}.mdx-content{max-width:none!important;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6,#page-title,.mdx-content h1,.mdx-content h2,.mdx-content h3,.mdx-content h4,.mdx-content h5,.mdx-content h6{font-family:var(--font-sans)!important;text-wrap:balance}#page-title,.mdx-content h1{color:var(--text-heading)!important;font-size:var(--font-size-h1)!important;font-weight:600!important;line-height:1.2!important;letter-spacing:-0.01em;margin-top:0!important;margin-bottom:2px!important}.mdx-content>h2,.mdx-content>div>h2{color:var(--text-heading)!important;font-size:var(--font-size-h2)!important;font-weight:600!important;line-height:1.3!important;letter-spacing:-0.01em;margin-top:32px!important;margin-bottom:12px!important}.mdx-content>h3,.mdx-content>div>h3{color:var(--text-heading)!important;font-size:var(--font-size-h3)!important;font-weight:600!important;line-height:1.4!important;margin-top:24px!important;margin-bottom:8px!important}.mdx-content>h4,.mdx-content>div>h4{color:var(--text-heading)!important;font-size:var(--font-size-body)!important;font-weight:600!important;line-height:1.45!important;margin-top:20px!important;margin-bottom:6px!important}.mdx-content p,.mdx-content [data-as=\"p\"],.mdx-content li{color:var(--text-body)!important;font-size:var(--font-size-body)!important;line-height:1.6!important;font-weight:400!important}.mdx-content p{text-wrap:pretty}.mdx-content>p:first-of-type,.mdx-content>[data-as=\"p\"]:first-of-type{color:var(--text-body)!important;font-size:var(--font-size-body)!important;font-weight:400!important;line-height:1.6!important;margin-top:0!important;margin-bottom:20px!important}.mdx-content a,.mdx-content .link{color:var(--accent)!important;text-decoration:none;transition:color 80ms ease}.mdx-content a:hover,.mdx-content .link:hover{color:var(--accent-hover)!important;text-decoration:underline}.mdx-content a.link:has(>div){background:var(--page-bg)!important;border:1px solid var(--border)!important;border-radius:4px!important;box-shadow:none!important;padding:16px 18px!important;transition:border-color 80ms ease, background-color 80ms ease!important}.mdx-content a.link:has(>div):hover{border-color:var(--border-strong)!important;background:var(--page-bg)!important;box-shadow:none!important;transform:none!important;text-decoration:none!important}.mdx-content a.link:has(>div)>div:first-child{color:var(--accent)!important;font-size:var(--font-size-secondary)!important;font-weight:500!important;line-height:1.35!important;margin:0 0 4px 0!important;padding:0!important}.mdx-content a.link:has(>div)>div:last-child{color:var(--text-muted)!important;font-size:var(--font-size-small)!important;font-weight:400!important;line-height:1.4!important;margin:0!important;padding:0!important}.card-group,.columns{gap:12px!important}#topbar-cta-button{background:var(--accent)!important;border:1px solid var(--accent)!important;color:#fff!important;border-radius:4px!important;font-family:var(--font-sans)!important;font-size:var(--font-size-small)!important;font-weight:500!important;padding:6px 12px!important;box-shadow:none!important}#topbar-cta-button:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}#page-context-menu button{border-radius:4px!important;border-color:var(--border)!important}#feedback-thumbs-up,#feedback-thumbs-down{border-radius:4px!important;border-color:var(--border)!important;background:var(--page-bg)!important}[data-assistant-bar] div[class*=\"rounded-2xl\"]{border-radius:4px!important;border-color:var(--border)!important}#search-input,#search-bar-entry{border:1px solid var(--border)!important;border-radius:4px!important;font-family:var(--font-sans)!important;font-size:var(--font-size-small)!important;background:var(--input-bg)!important;color:var(--text-body)!important}#search-input:focus{border-color:var(--border-strong)!important;box-shadow:0 0 0 3px var(--focus-ring)!important;outline:none!important}#search-input kbd,#search-bar-entry kbd{font-family:var(--font-mono)!important;font-size:var(--font-size-label)!important}#topbar-cta-button:focus-visible,#page-context-menu button:focus-visible,#navigation-items a:focus-visible,#navigation-items button:focus-visible,.toc-item a:focus-visible,#pagination a:focus-visible,#footer a:focus-visible{outline:2px solid var(--text-muted)!important;outline-offset:2px}.mdx-content table{border:1px solid var(--border)!important;border-collapse:collapse!important;font-variant-numeric:tabular-nums}.mdx-content th{background:var(--chrome-bg)!important;font-size:var(--font-size-small)!important;font-weight:600!important;color:var(--text-heading)!important;padding:8px 12px!important}.mdx-content td{border-color:var(--border)!important;font-size:var(--font-size-secondary)!important;padding:8px 12px!important}.mdx-content pre{border-radius:4px!important}code,pre,pre code,.code-block,[class*=\"language-\"]{font-family:var(--font-mono)!important}pre,.code-block{font-size:var(--font-size-code)!important;line-height:1.6!important}code{border-radius:4px!important;font-size:var(--font-size-code)!important;background:var(--chrome-bg)!important;color:var(--text-heading)!important;padding:1px 4px!important;border:1px solid var(--border)!important}pre code{background:transparent!important;border:0!important;padding:0!important;font-size:inherit!important}.mdx-content+.prose,[class*=\"text-lg\"][class*=\"prose\"]{font-size:var(--font-size-body)!important;line-height:1.6!important;color:var(--text-body)!important}.accordion{border:1px solid var(--border)!important;border-radius:4px!important;overflow:hidden}.accordion-group{border:1px solid var(--border)!important;border-radius:4px!important}.accordion-group>.accordion{border-radius:0!important;border-left:0!important;border-right:0!important;border-top:0!important}.accordion-group>.accordion:last-child{border-bottom:0!important}.mdx-content [data-component-part=\"accordion-title\"]{color:var(--text-heading)!important;font-size:var(--font-size-body)!important;font-weight:500!important}[data-component-part=\"accordion-content\"]{font-size:var(--font-size-body)!important;line-height:1.6!important;color:var(--text-body)!important}[data-component-part=\"accordion-content\"] p,[data-component-part=\"accordion-content\"] [data-as=\"p\"],[data-component-part=\"accordion-content\"] li{font-size:var(--font-size-body)!important;line-height:1.6!important;color:var(--text-body)!important;font-weight:400!important}.steps{margin-top:24px!important}.step{padding-bottom:24px!important}.mdx-content [data-component-part=\"step-title\"]{font-size:var(--font-size-h3)!important;font-weight:600!important;line-height:1.4!important;color:var(--text-heading)!important;margin-top:0!important;margin-bottom:8px!important}.mdx-content [data-component-part=\"step-title\"] a{color:inherit!important;text-decoration:none!important}.mdx-content [data-component-part=\"step-title\"]:hover a{color:var(--accent)!important}[data-component-part=\"step-number\"]{color:var(--text-muted)!important}[data-component-part=\"step-line\"]{background-color:var(--border)!important}[data-component-part=\"step-content\"]{font-size:var(--font-size-body)!important;line-height:1.6!important;color:var(--text-body)!important}[data-component-part=\"step-content\"] p,[data-component-part=\"step-content\"] [data-as=\"p\"],[data-component-part=\"step-content\"] li{font-size:var(--font-size-body)!important;line-height:1.6!important;color:var(--text-body)!important;font-weight:400!important}[data-component-part=\"step-content\"] a{color:var(--accent)!important;text-decoration:none!important;transition:color 80ms ease}[data-component-part=\"step-content\"] a:hover{color:var(--accent-hover)!important;text-decoration:underline!important}.callout{border-radius:4px!important}[data-component-part=\"callout-content\"]{font-size:var(--font-size-secondary)!important;line-height:1.6!important}[data-component-part=\"callout-content\"] p,[data-component-part=\"callout-content\"] [data-as=\"p\"]{font-size:var(--font-size-secondary)!important;line-height:1.6!important}.mdx-content strong,[data-component-part=\"accordion-content\"] strong{color:var(--text-heading)!important;font-weight:600!important}.mdx-content em,[data-component-part=\"accordion-content\"] em{font-style:italic}.mdx-content blockquote{border-left:3px solid var(--border)!important;padding-left:16px!important;color:var(--text-muted)!important}.toc{font-size:var(--font-size-small)!important}.toc-item a{color:var(--text-muted)!important;transition:color 80ms ease}.toc-item a:hover{color:var(--text-heading)!important}.toc-item[data-active]>a,.toc-item[data-active-deepest]>a{color:var(--accent)!important}#pagination{font-size:var(--font-size-small)!important;color:var(--text-body)!important;border-top:1px solid var(--border)!important;padding-top:16px!important;margin-top:32px!important}#pagination a{color:var(--text-body)!important;transition:color 80ms ease}#pagination a:hover{color:var(--accent)!important}hr{border-color:var(--border)!important}#footer,footer{background:transparent!important;border-top:1px solid var(--border)!important;color:var(--text-muted)!important;margin-top:48px!important;font-size:var(--font-size-small)!important}#footer:not(.advanced-footer),footer:not(.advanced-footer){padding-top:24px!important;padding-bottom:32px!important}#footer.advanced-footer{padding:0!important}#footer.advanced-footer>div{padding-top:32px!important;padding-bottom:32px!important}@media (min-width: 768px){#footer.advanced-footer>div{padding-top:40px!important;padding-bottom:40px!important}}#footer.advanced-footer p{color:var(--text-heading)!important;font-size:var(--font-size-small)!important;font-weight:600!important;margin-bottom:4px!important}#footer.advanced-footer a{color:var(--text-muted)!important;font-size:var(--font-size-small)!important;transition:color 80ms ease}#footer.advanced-footer a:hover{color:var(--text-heading)!important}#footer a{color:var(--text-muted)!important;transition:color 80ms ease}#footer a:hover{color:var(--text-heading)!important}#footer svg{background-color:var(--text-muted)!important;transition:background-color 80ms ease}#footer a:hover svg{background-color:var(--accent)!important}[data-testid=\"sales-agent-background\"]{background:var(--accent)!important}[data-testid=\"sales-agent-background\"]>div{background:transparent!important;opacity:0!important}.intercom-launcher-frame,.intercom-lightweight-app-launcher,.intercom-messenger-frame,[class^=\"intercom-\"][class*=\"frame\"]{border-radius:12px!important;box-shadow:0 8px 24px rgba(26, 31, 54, 0.12), 0 2px 6px rgba(26, 31, 54, 0.06)!important}.intercom-launcher-frame,.intercom-lightweight-app-launcher{background:var(--accent)!important}::selection{background:var(--accent)!important;color:#fff!important}*{scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px;border:2px solid var(--page-bg)}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width: 1024px){#content-area,#content,#content-container{padding-left:16px!important;padding-right:16px!important}#table-of-contents,#table-of-contents-layout aside{display:none!important}.card-group,.columns{grid-template-columns:1fr!important;gap:10px!important}}@media (max-width: 768px){:root{--font-size-h1: 1.375rem;--font-size-h2: 1.125rem;--font-size-h3: 1rem;--font-size-body: 0.875rem;--font-size-code: 0.75rem}.mdx-content>h2,.mdx-content>div>h2{margin-top:24px!important}.mdx-content>h3,.mdx-content>div>h3{margin-top:16px!important}#content-area,#content,#content-container{padding-left:12px!important;padding-right:12px!important}.mdx-content a.link:has(>div){padding:12px 14px!important}.mdx-content a.link:has(>div)>div:first-child{font-size:var(--font-size-small)!important}.mdx-content a.link:has(>div)>div:last-child{font-size:var(--font-size-tiny)!important}.mdx-content table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;max-width:100%!important}.mdx-content th,.mdx-content td{font-size:var(--font-size-tiny)!important;padding:6px 8px!important;white-space:nowrap}pre,.code-block{overflow-x:auto!important;-webkit-overflow-scrolling:touch;max-width:100%!important}[data-component-part=\"callout-content\"],[data-component-part=\"callout-content\"] p,[data-component-part=\"callout-content\"] [data-as=\"p\"]{font-size:var(--font-size-small)!important}#sidebar,#sidebar-content{width:280px!important}#navbar,#header{padding-left:12px!important;padding-right:12px!important}#topbar-cta-button{font-size:var(--font-size-tiny)!important;padding:5px 10px!important}#pagination{flex-direction:column!important;gap:8px!important}}@media (max-width: 480px){:root{--font-size-h1: 1.25rem;--font-size-h2: 1rem;--font-size-h3: 0.9375rem}#content-area,#content,#content-container{padding-left:12px!important;padding-right:12px!important}#search-input+kbd,#search-bar-entry kbd{display:none!important}}.catalog-page .card{border:1px solid var(--border)!important;border-radius:4px!important;box-shadow:none!important;margin:0 0 6px 0!important;transition:border-color 80ms ease}.catalog-page .card:hover{border-color:var(--border-strong)!important;background:var(--page-bg)!important}.catalog-page .card>div{display:flex!important;align-items:center!important;gap:12px!important;padding:9px 16px!important}.catalog-page .card [data-component-part=\"card-icon\"],.catalog-page .card [data-component-part=\"card-icon\"] svg{width:18px!important;height:18px!important;flex-shrink:0;color:var(--accent)!important;fill:var(--accent)!important}.catalog-page .card .w-full{flex:1!important;min-width:0}.catalog-page .card [data-component-part=\"card-title\"]{display:inline!important;font-size:14px!important;font-weight:500!important;color:var(--text-heading)!important;margin:0 10px 0 0!important;line-height:1.4!important}.catalog-page .card [data-component-part=\"card-content\"]{display:inline!important;font-size:13px!important;color:var(--text-muted)!important;line-height:1.45!important}.catalog-page h3{font-size:13px!important;font-weight:600!important;color:var(--text-muted)!important;text-transform:uppercase;letter-spacing:0.04em;margin:22px 0 10px!important}.catalog-page .card>div>a{display:flex!important;align-items:center!important;gap:12px!important;width:100%!important;border-bottom:none!important}.catalog-page .columns{max-width:100%!important}"},{"filePath":"custom.css","content":"@media (min-width: 1024px){nav#sidebar{height:calc(\n 100dvh - var(--mintlify-slot-header-height, calc(4rem + var(--topbar-tabs-height, 0rem)))\n )!important}}"}],"page":{"pagePath":"api-reference/dashboards/create-a-dashboard-view","slug":"/api-reference/dashboards/create-a-dashboard-view","pageMetadata":{"title":"Create a dashboard view from a full configuration","description":"Create a dashboard view from a complete configuration, with attribution and date defaults, sections, and widgets placed at exact grid positions.","deprecated":null,"version":null,"sidebarTitle":"Create a dashboard view","keywords":["create dashboard","dashboard view","dashboards API","Upstack Data API"],"openapi":"/api-reference/openapi.yaml post /accounts/api/dashboard/views","href":"/api-reference/dashboards/create-a-dashboard-view","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a dashboard view from a complete configuration, with attribution and date defaults, sections, and widgets placed at exact grid positions.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Required scope:`}),` `,_jsx(_components.code,{children:`dashboards:write`})]}),`\n`,_jsxs(_components.p,{children:[`Use this when you need control over the exact layout. A common case is copying a\nview between pixels: read it with `,_jsx(_components.a,{href:`/api-reference/dashboards/get-a-dashboard-view`,children:`Get a dashboard view`}),`\nusing the source pixel’s key, then post its `,_jsx(_components.code,{children:`type`}),`, `,_jsx(_components.code,{children:`name`}),`, and `,_jsx(_components.code,{children:`configuration`}),` here\nwith the destination pixel’s key. To get a dashboard from a list of measures without\nplacing each widget yourself, use\n`,_jsx(_components.a,{href:`/api-reference/dashboards/build-a-dashboard-from-a-measure-list-preset`,children:`Build a dashboard from a measure list`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-server-checks`,children:`What the server checks`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`type`}),`, `,_jsx(_components.code,{children:`name`}),` (1 to 200 characters), and `,_jsx(_components.code,{children:`configuration`}),` are required. `,_jsx(_components.code,{children:`order`}),`\ndefaults to `,_jsx(_components.code,{children:`0`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Inside `,_jsx(_components.code,{children:`configuration`}),`, the top-level fields and each section’s fields are\nvalidated. Widget objects are saved exactly as sent, so check each widget’s\n`,_jsx(_components.code,{children:`layout`}),` and `,_jsx(_components.code,{children:`dataConfig`}),` yourself. `,_jsx(_components.code,{children:`widgets`}),` must be present, even as an empty array.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`attributionModel: \"last_touch\"`}),` is accepted and saved as `,_jsx(_components.code,{children:`last_click`}),`.`]}),`\n`,_jsx(_components.li,{children:`Names don’t have to be unique, and every call creates a new view. Retrying a request\nthat timed out can leave a duplicate, so list views before you retry.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`The new view, including its `,_jsx(_components.code,{children:`id`}),`. `,_jsx(_components.code,{children:`createdBy`}),` and `,_jsx(_components.code,{children:`updatedBy`}),` are empty strings,\nbecause writes made with an API key aren’t attributed to a user. `,_jsx(_components.code,{children:`type`}),` is always\n`,_jsx(_components.code,{children:`view`}),`. The dashboard type you sent comes back in `,_jsx(_components.code,{children:`sk`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/dashboards/update-a-dashboard-view`,children:`Update a dashboard view`}),` to change it later.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/dashboards/duplicate-a-dashboard-view`,children:`Duplicate a dashboard view`}),` to copy a view on the same pixel.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/catalog/list-available-measures`,children:`List available measures`}),` for the ids in `,_jsx(_components.code,{children:`dataConfig.measures`}),`.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a dashboard view from a full configuration","description":"Create a dashboard view from a complete configuration, with attribution and date defaults, sections, and widgets placed at exact grid positions.","deprecated":null,"version":null,"sidebarTitle":"Create a dashboard view","keywords":["create dashboard","dashboard view","dashboards API","Upstack Data API"],"openapi":"/api-reference/openapi.yaml post /accounts/api/dashboard/views","href":"/api-reference/dashboards/create-a-dashboard-view","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What the server checks","slug":"what-the-server-checks","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/upstackdata-afbed50d/b64b07ede631efed/intercom-customize.js","/_mintlify/custom/upstackdata-afbed50d/1cbfb793dc2ec470/upstack-pixel.js","/_mintlify/custom/upstackdata-afbed50d/e2ccc0353f9bb1f8/sidebar-footer-scroll-fix.js"],"openApiReferenceData":{"operation":{"tags":["Dashboards"],"operationId":"createDashboardView","summary":"Create a dashboard view","description":"Create a dashboard view from a complete configuration, with attribution and date defaults, sections, and widgets placed at exact grid positions.","x-mint":{"metadata":{"title":"Create a dashboard view from a full configuration","sidebarTitle":"Create a dashboard view","keywords":["create dashboard","dashboard view","dashboards API","Upstack Data API"]},"content":"**Required scope:** `dashboards:write`\n\nUse this when you need control over the exact layout. A common case is copying a\nview between pixels: read it with [Get a dashboard view](/api-reference/dashboards/get-a-dashboard-view)\nusing the source pixel's key, then post its `type`, `name`, and `configuration` here\nwith the destination pixel's key. To get a dashboard from a list of measures without\nplacing each widget yourself, use\n[Build a dashboard from a measure list](/api-reference/dashboards/build-a-dashboard-from-a-measure-list-preset).\n\n## What the server checks\n\n- `type`, `name` (1 to 200 characters), and `configuration` are required. `order`\n defaults to `0`.\n- Inside `configuration`, the top-level fields and each section's fields are\n validated. Widget objects are saved exactly as sent, so check each widget's\n `layout` and `dataConfig` yourself. `widgets` must be present, even as an empty array.\n- `attributionModel: \"last_touch\"` is accepted and saved as `last_click`.\n- Names don't have to be unique, and every call creates a new view. Retrying a request\n that timed out can leave a duplicate, so list views before you retry.\n\n## Response\n\nThe new view, including its `id`. `createdBy` and `updatedBy` are empty strings,\nbecause writes made with an API key aren't attributed to a user. `type` is always\n`view`. The dashboard type you sent comes back in `sk`.\n\n## Related\n\n- [Update a dashboard view](/api-reference/dashboards/update-a-dashboard-view) to change it later.\n- [Duplicate a dashboard view](/api-reference/dashboards/duplicate-a-dashboard-view) to copy a view on the same pixel.\n- [List available measures](/api-reference/catalog/list-available-measures) for the ids in `dataConfig.measures`.\n"},"requestBody":"f6baadc2-1c3c-4a79-b65d-c2dfabf84bbc","responses":{"200":"0999c359-e2a9-4d30-bf3c-bced5a93d948","400":"dac9aa4f-ba3c-479d-84da-c348a2e5b0c6","401":"50a3d49a-9cce-40a3-886f-d7ace1479f7f","403":"aef209d7-41a1-4cb8-84c0-7457a22d3410"},"method":"post","type":"path","servers":["2bbb3e85-633d-4371-b828-47a29d5899c5"],"security":["f19e0b22-afd0-4760-b88e-dce1773111cb"],"path":"/accounts/api/dashboard/views","baseUrlOptions":["https://api.upstackdata.com"],"title":"Create a dashboard view","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","name","configuration"],"properties":{"type":{"type":"string","enum":["view","attribution_view","pnl_view"],"description":"Type of dashboard view.\n- `view`: the regular KPI dashboard.\n- `attribution_view`: the attribution dashboard.\n- `pnl_view`: the P\u0026L dashboard.\n","isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","minLength":1,"maxLength":200,"description":"Display name. Doesn't have to be unique.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"configuration":{"type":"object","required":["attributionModel","attributionWindow","granularity","dateRange","grid","widgets"],"description":"Everything the web app needs to render a view. The server checks the top-level\nfields and each section's fields, but stores widget objects as sent, so a malformed\nwidget is saved without an error.\n","properties":{"attributionModel":{"type":"string","description":"Default attribution model. The legacy value `last_touch` is accepted and saved as `last_click`.","enum":["first_click","last_click","any_click"],"isRequired":true,"uniqueKey":"configuration.attributionModel","typeLabel":"enum\u003cstring>"},"attributionWindow":{"type":"integer","description":"Attribution lookback window in days.","isRequired":true,"uniqueKey":"configuration.attributionWindow","typeLabel":"integer"},"granularity":{"type":"string","enum":["none","second","minute","hour","day","week","month","quarter","year"],"description":"Time bucket for result rows. `none` returns one row per dimension combination\ninstead of a time series.\n","isRequired":true,"uniqueKey":"configuration.granularity","typeLabel":"enum\u003cstring>"},"dateRange":{"type":"object","required":["start","end"],"description":"Date range saved with the view.","properties":{"start":{"type":"string","format":"date","description":"First day of the range, as an ISO 8601 date.","example":"2026-04-01","isRequired":true,"uniqueKey":"configuration.dateRange.start","typeLabel":"string\u003cdate>"},"end":{"type":"string","format":"date","description":"Last day of the range, as an ISO 8601 date. Included in the results.","example":"2026-04-30","isRequired":true,"uniqueKey":"configuration.dateRange.end","typeLabel":"string\u003cdate>"}},"isRequired":true,"uniqueKey":"configuration.dateRange","typeLabel":"object"},"grid":{"type":"object","required":["maxWidth"],"description":"Grid settings for the widget layout.","properties":{"maxWidth":{"type":"integer","description":"Maximum grid width in pixels.","example":1200,"isRequired":true,"uniqueKey":"configuration.grid.maxWidth","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"configuration.grid","typeLabel":"object"},"widgets":{"type":"array","description":"Flat array of all widgets across all sections. Dual-written: when\n`sections` is present, this array is a flattened mirror of the\nwidgets inside each section (in section render order). Older\nconsumers that read the flat list stay correct; clients writing\nthe configuration should set both fields in sync.\n","items":{"type":"object","required":["id","title","chartType","layout","dataConfig"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].id","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].title","typeLabel":"string"},"chartType":{"type":"string","enum":["bar","line","sparkline","pie","scatter","area","dimensionTable","table","attributionTable","kpi","gauge","heatmap","histogram","boxplot","treemap"],"isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].chartType","typeLabel":"enum\u003cstring>"},"layout":{"type":"object","required":["x","y","rows","columns","minColumns","maxColumns","minRows","maxRows","static"],"properties":{"x":{"type":"integer","minimum":0,"maximum":11,"isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].layout.x","typeLabel":"integer"},"y":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].layout.y","typeLabel":"integer"},"rows":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].layout.rows","typeLabel":"integer"},"columns":{"type":"integer","minimum":1,"maximum":12,"isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].layout.columns","typeLabel":"integer"},"minColumns":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].layout.minColumns","typeLabel":"integer"},"maxColumns":{"type":"integer","maximum":12,"isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].layout.maxColumns","typeLabel":"integer"},"minRows":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].layout.minRows","typeLabel":"integer"},"maxRows":{"type":"integer","isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].layout.maxRows","typeLabel":"integer"},"static":{"type":"boolean","isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].layout.static","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].layout","typeLabel":"object"},"dataConfig":{"type":"object","properties":{"measures":{"type":"array","items":{"type":"string","uniqueKey":"configuration.widgets.items.[INDEX].dataConfig.measures.items.[INDEX]","typeLabel":"string"},"description":"Canonical measure ids (e.g. `core.new_customer_roas`).","uniqueKey":"configuration.widgets.items.[INDEX].dataConfig.measures","typeLabel":"string[]"},"dimensions":{"type":"array","items":{"type":"string","uniqueKey":"configuration.widgets.items.[INDEX].dataConfig.dimensions.items.[INDEX]","typeLabel":"string"},"uniqueKey":"configuration.widgets.items.[INDEX].dataConfig.dimensions","typeLabel":"string[]"},"filters":{"type":"array","items":{"type":"object","uniqueKey":"configuration.widgets.items.[INDEX].dataConfig.filters.items.[INDEX]","typeLabel":"object"},"uniqueKey":"configuration.widgets.items.[INDEX].dataConfig.filters","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"configuration.widgets.items.[INDEX].dataConfig","typeLabel":"object"},"sourceWidgetId":{"type":"string","description":"Present on widgets inside the Pinned section. Links the pinned copy\nback to the original widget id in the source section so unpin can\nresolve from either end.\n","uniqueKey":"configuration.widgets.items.[INDEX].sourceWidgetId","typeLabel":"string"}},"uniqueKey":"configuration.widgets.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"configuration.widgets","typeLabel":"object[]"},"refundDateAttribution":{"type":"string","description":"Overrides the account-level setting for this view.","enum":["refund_date","order_date"],"uniqueKey":"configuration.refundDateAttribution","typeLabel":"enum\u003cstring>"},"filters":{"type":"object","description":"Date-picker / compare state (e.g. `{ preset: \"last30\", isCompare: false }`).\nFree-form; the in-app dashboard editor owns the shape.\n","uniqueKey":"configuration.filters","typeLabel":"object"},"sections":{"type":"array","description":"Authoritative grouping of widgets into labelled sections. When\npresent, the web app renders sections in ordinal order (Pinned\nfirst via `ordinal: -1`), and uses each section's `widgets` for\nits content. Optional for backwards compatibility with views\ncreated before sections existed. Send a `sections` array with\n[Update a dashboard view](/api-reference/dashboards/update-a-dashboard-view)\nto migrate an older view.\n","items":{"type":"object","required":["id","title","ordinal","collapsed","hidden","layoutMode","widgets"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"title":{"type":"string","maxLength":200,"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].title","typeLabel":"string"},"ordinal":{"type":"integer","minimum":-1,"description":"Render order. The Pinned section uses `-1` (renders first);\nnon-pinned sections use `0, 1, 2, …`. Clients should sort by\nordinal and may renormalize to keep the sequence contiguous.\n","isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].ordinal","typeLabel":"integer"},"collapsed":{"type":"boolean","isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].collapsed","typeLabel":"boolean"},"hidden":{"type":"boolean","isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].hidden","typeLabel":"boolean"},"layoutMode":{"type":"string","enum":["auto","1_column","2_columns","3_columns","4_columns"],"description":"How widgets are laid out inside a section. `auto` packs by add order;\nthe `N_columns` variants force a fixed-column grid.\n","isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].layoutMode","typeLabel":"enum\u003cstring>"},"widgets":{"type":"array","items":{"type":"object","required":["id","title","chartType","layout","dataConfig"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].id","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].title","typeLabel":"string"},"chartType":{"type":"string","enum":["bar","line","sparkline","pie","scatter","area","dimensionTable","table","attributionTable","kpi","gauge","heatmap","histogram","boxplot","treemap"],"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].chartType","typeLabel":"enum\u003cstring>"},"layout":{"type":"object","required":["x","y","rows","columns","minColumns","maxColumns","minRows","maxRows","static"],"properties":{"x":{"type":"integer","minimum":0,"maximum":11,"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.x","typeLabel":"integer"},"y":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.y","typeLabel":"integer"},"rows":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.rows","typeLabel":"integer"},"columns":{"type":"integer","minimum":1,"maximum":12,"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.columns","typeLabel":"integer"},"minColumns":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.minColumns","typeLabel":"integer"},"maxColumns":{"type":"integer","maximum":12,"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.maxColumns","typeLabel":"integer"},"minRows":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.minRows","typeLabel":"integer"},"maxRows":{"type":"integer","isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.maxRows","typeLabel":"integer"},"static":{"type":"boolean","isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.static","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].layout","typeLabel":"object"},"dataConfig":{"type":"object","properties":{"measures":{"type":"array","items":{"type":"string","uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.measures.items.[INDEX]","typeLabel":"string"},"description":"Canonical measure ids (e.g. `core.new_customer_roas`).","uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.measures","typeLabel":"string[]"},"dimensions":{"type":"array","items":{"type":"string","uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.dimensions.items.[INDEX]","typeLabel":"string"},"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.dimensions","typeLabel":"string[]"},"filters":{"type":"array","items":{"type":"object","uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.filters.items.[INDEX]","typeLabel":"object"},"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.filters","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig","typeLabel":"object"},"sourceWidgetId":{"type":"string","description":"Present on widgets inside the Pinned section. Links the pinned copy\nback to the original widget id in the source section so unpin can\nresolve from either end.\n","uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX].sourceWidgetId","typeLabel":"string"}},"uniqueKey":"configuration.sections.items.[INDEX].widgets.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"configuration.sections.items.[INDEX].widgets","typeLabel":"object[]"},"sectionType":{"type":"string","description":"Omit on normal sections; set to `pinned` for the Pinned section.","enum":["default","pinned"],"uniqueKey":"configuration.sections.items.[INDEX].sectionType","typeLabel":"enum\u003cstring>"},"catalogId":{"type":"string","enum":["custom_metrics","meta_ads","google_ads","tiktok_ads","expenses","web_analytics","store","attribution"],"description":"Set on sections added from the web app's section catalog. Omit on sections you create.","uniqueKey":"configuration.sections.items.[INDEX].catalogId","typeLabel":"enum\u003cstring>"},"settings":{"type":"object","description":"Per-section overrides. Any field left undefined falls back to the\nview-level `defaultSettings` (and ultimately to product defaults).\n","properties":{"density":{"type":"string","enum":["compact","normal"],"uniqueKey":"configuration.sections.items.[INDEX].settings.density","typeLabel":"enum\u003cstring>"},"pacing":{"type":"boolean","description":"Show pacing indicators on KPI widgets in this section.","uniqueKey":"configuration.sections.items.[INDEX].settings.pacing","typeLabel":"boolean"},"theme":{"type":"string","enum":["light","dark"],"description":"Widget color theme.","uniqueKey":"configuration.sections.items.[INDEX].settings.theme","typeLabel":"enum\u003cstring>"},"backgroundColor":{"type":"string","maxLength":50,"description":"Section background color, as a CSS color string.","uniqueKey":"configuration.sections.items.[INDEX].settings.backgroundColor","typeLabel":"string"},"headerStyle":{"type":"string","enum":["default","minimal","accent"],"uniqueKey":"configuration.sections.items.[INDEX].settings.headerStyle","typeLabel":"enum\u003cstring>"},"filters":{"type":"array","description":"Saved per-section filters, in the web app's dashboard-filter format. This is\nnot the `filters` tree the query endpoints take. Copy the value from a view you\nread with [Get a dashboard view](/api-reference/dashboards/get-a-dashboard-view)\nrather than building it by hand.\n","items":{"type":"object","additionalProperties":true,"uniqueKey":"configuration.sections.items.[INDEX].settings.filters.items.[INDEX]","typeLabel":"object"},"uniqueKey":"configuration.sections.items.[INDEX].settings.filters","typeLabel":"object[]"}},"uniqueKey":"configuration.sections.items.[INDEX].settings","typeLabel":"object"}},"uniqueKey":"configuration.sections.items.[INDEX]","typeLabel":"object"},"uniqueKey":"configuration.sections","typeLabel":"object[]"},"defaultSettings":{"type":"object","description":"View-level defaults inherited by sections that don't override a\ngiven setting.\n","properties":{"density":{"type":"string","enum":["compact","normal"],"uniqueKey":"configuration.defaultSettings.density","typeLabel":"enum\u003cstring>"},"pacing":{"type":"boolean","description":"Show pacing indicators on KPI widgets in this section.","uniqueKey":"configuration.defaultSettings.pacing","typeLabel":"boolean"},"theme":{"type":"string","enum":["light","dark"],"description":"Widget color theme.","uniqueKey":"configuration.defaultSettings.theme","typeLabel":"enum\u003cstring>"},"backgroundColor":{"type":"string","maxLength":50,"description":"Section background color, as a CSS color string.","uniqueKey":"configuration.defaultSettings.backgroundColor","typeLabel":"string"},"headerStyle":{"type":"string","enum":["default","minimal","accent"],"uniqueKey":"configuration.defaultSettings.headerStyle","typeLabel":"enum\u003cstring>"},"filters":{"type":"array","description":"Saved per-section filters, in the web app's dashboard-filter format. This is\nnot the `filters` tree the query endpoints take. Copy the value from a view you\nread with [Get a dashboard view](/api-reference/dashboards/get-a-dashboard-view)\nrather than building it by hand.\n","items":{"type":"object","additionalProperties":true,"uniqueKey":"configuration.defaultSettings.filters.items.[INDEX]","typeLabel":"object"},"uniqueKey":"configuration.defaultSettings.filters","typeLabel":"object[]"}},"uniqueKey":"configuration.defaultSettings","typeLabel":"object"}},"isRequired":true,"uniqueKey":"configuration","typeLabel":"object"},"order":{"type":"integer","description":"Sort position among the pixel's views. Defaults to `0`.","uniqueKey":"order","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"revenueTrend":{"title":"revenueTrend","value":{"type":"view","name":"Weekly exec","order":1,"configuration":{"attributionModel":"last_click","attributionWindow":7,"granularity":"week","dateRange":{"start":"2026-03-01","end":"2026-04-30"},"grid":{"maxWidth":1200},"widgets":[{"id":"6b0f8a52-3c1d-4e7f-9a2b-5c8d1e4f7a90","title":"Net revenue","chartType":"line","layout":{"x":0,"y":0,"rows":4,"columns":12,"minColumns":3,"maxColumns":12,"minRows":2,"maxRows":8,"static":false},"dataConfig":{"measures":["orders.net_revenue"],"dimensions":[],"filters":[]}}]}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"0999c359-e2a9-4d30-bf3c-bced5a93d948":{"description":"Created view.","content":{"application/json":{"schema":{"type":"object","required":["dashboardView"],"properties":{"dashboardView":{"type":"object","required":["id","pk","sk","pixelId","type","name","configuration","createdAt","updatedAt","createdBy","updatedBy"],"properties":{"id":{"type":"string","description":"The view id (a ULID). Use it as the `dashboardViewId` path parameter.","isRequired":true,"uniqueKey":"dashboardView.id","typeLabel":"string"},"pk":{"type":"string","description":"Storage key, `VIEW#` followed by the view id. Ignore it.","isRequired":true,"uniqueKey":"dashboardView.pk","typeLabel":"string"},"sk":{"type":"string","description":"The view's dashboard type (`view`, `attribution_view`, or `pnl_view`).","enum":["view","attribution_view","pnl_view"],"isRequired":true,"uniqueKey":"dashboardView.sk","typeLabel":"enum\u003cstring>"},"pixelId":{"type":"string","description":"The pixel that owns the view.","isRequired":true,"uniqueKey":"dashboardView.pixelId","typeLabel":"string"},"type":{"type":"string","enum":["view"],"description":"Record kind, always `view`. Read `sk` for the dashboard type.","isRequired":true,"uniqueKey":"dashboardView.type","typeLabel":"enum\u003cstring>"},"name":{"type":"string","description":"Display name.","isRequired":true,"uniqueKey":"dashboardView.name","typeLabel":"string"},"configuration":{"type":"object","required":["attributionModel","attributionWindow","granularity","dateRange","grid","widgets"],"description":"Everything the web app needs to render a view. The server checks the top-level\nfields and each section's fields, but stores widget objects as sent, so a malformed\nwidget is saved without an error.\n","properties":{"attributionModel":{"type":"string","description":"Default attribution model. The legacy value `last_touch` is accepted and saved as `last_click`.","enum":["first_click","last_click","any_click"],"isRequired":true,"uniqueKey":"dashboardView.configuration.attributionModel","typeLabel":"enum\u003cstring>"},"attributionWindow":{"type":"integer","description":"Attribution lookback window in days.","isRequired":true,"uniqueKey":"dashboardView.configuration.attributionWindow","typeLabel":"integer"},"granularity":{"type":"string","enum":["none","second","minute","hour","day","week","month","quarter","year"],"description":"Time bucket for result rows. `none` returns one row per dimension combination\ninstead of a time series.\n","isRequired":true,"uniqueKey":"dashboardView.configuration.granularity","typeLabel":"enum\u003cstring>"},"dateRange":{"type":"object","required":["start","end"],"description":"Date range saved with the view.","properties":{"start":{"type":"string","format":"date","description":"First day of the range, as an ISO 8601 date.","example":"2026-04-01","isRequired":true,"uniqueKey":"dashboardView.configuration.dateRange.start","typeLabel":"string\u003cdate>"},"end":{"type":"string","format":"date","description":"Last day of the range, as an ISO 8601 date. Included in the results.","example":"2026-04-30","isRequired":true,"uniqueKey":"dashboardView.configuration.dateRange.end","typeLabel":"string\u003cdate>"}},"isRequired":true,"uniqueKey":"dashboardView.configuration.dateRange","typeLabel":"object"},"grid":{"type":"object","required":["maxWidth"],"description":"Grid settings for the widget layout.","properties":{"maxWidth":{"type":"integer","description":"Maximum grid width in pixels.","example":1200,"isRequired":true,"uniqueKey":"dashboardView.configuration.grid.maxWidth","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"dashboardView.configuration.grid","typeLabel":"object"},"widgets":{"type":"array","description":"Flat array of all widgets across all sections. Dual-written: when\n`sections` is present, this array is a flattened mirror of the\nwidgets inside each section (in section render order). Older\nconsumers that read the flat list stay correct; clients writing\nthe configuration should set both fields in sync.\n","items":{"type":"object","required":["id","title","chartType","layout","dataConfig"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].id","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].title","typeLabel":"string"},"chartType":{"type":"string","enum":["bar","line","sparkline","pie","scatter","area","dimensionTable","table","attributionTable","kpi","gauge","heatmap","histogram","boxplot","treemap"],"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].chartType","typeLabel":"enum\u003cstring>"},"layout":{"type":"object","required":["x","y","rows","columns","minColumns","maxColumns","minRows","maxRows","static"],"properties":{"x":{"type":"integer","minimum":0,"maximum":11,"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].layout.x","typeLabel":"integer"},"y":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].layout.y","typeLabel":"integer"},"rows":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].layout.rows","typeLabel":"integer"},"columns":{"type":"integer","minimum":1,"maximum":12,"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].layout.columns","typeLabel":"integer"},"minColumns":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].layout.minColumns","typeLabel":"integer"},"maxColumns":{"type":"integer","maximum":12,"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].layout.maxColumns","typeLabel":"integer"},"minRows":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].layout.minRows","typeLabel":"integer"},"maxRows":{"type":"integer","isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].layout.maxRows","typeLabel":"integer"},"static":{"type":"boolean","isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].layout.static","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].layout","typeLabel":"object"},"dataConfig":{"type":"object","properties":{"measures":{"type":"array","items":{"type":"string","uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].dataConfig.measures.items.[INDEX]","typeLabel":"string"},"description":"Canonical measure ids (e.g. `core.new_customer_roas`).","uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].dataConfig.measures","typeLabel":"string[]"},"dimensions":{"type":"array","items":{"type":"string","uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].dataConfig.dimensions.items.[INDEX]","typeLabel":"string"},"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].dataConfig.dimensions","typeLabel":"string[]"},"filters":{"type":"array","items":{"type":"object","uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].dataConfig.filters.items.[INDEX]","typeLabel":"object"},"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].dataConfig.filters","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].dataConfig","typeLabel":"object"},"sourceWidgetId":{"type":"string","description":"Present on widgets inside the Pinned section. Links the pinned copy\nback to the original widget id in the source section so unpin can\nresolve from either end.\n","uniqueKey":"dashboardView.configuration.widgets.items.[INDEX].sourceWidgetId","typeLabel":"string"}},"uniqueKey":"dashboardView.configuration.widgets.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"dashboardView.configuration.widgets","typeLabel":"object[]"},"refundDateAttribution":{"type":"string","description":"Overrides the account-level setting for this view.","enum":["refund_date","order_date"],"uniqueKey":"dashboardView.configuration.refundDateAttribution","typeLabel":"enum\u003cstring>"},"filters":{"type":"object","description":"Date-picker / compare state (e.g. `{ preset: \"last30\", isCompare: false }`).\nFree-form; the in-app dashboard editor owns the shape.\n","uniqueKey":"dashboardView.configuration.filters","typeLabel":"object"},"sections":{"type":"array","description":"Authoritative grouping of widgets into labelled sections. When\npresent, the web app renders sections in ordinal order (Pinned\nfirst via `ordinal: -1`), and uses each section's `widgets` for\nits content. Optional for backwards compatibility with views\ncreated before sections existed. Send a `sections` array with\n[Update a dashboard view](/api-reference/dashboards/update-a-dashboard-view)\nto migrate an older view.\n","items":{"type":"object","required":["id","title","ordinal","collapsed","hidden","layoutMode","widgets"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"title":{"type":"string","maxLength":200,"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].title","typeLabel":"string"},"ordinal":{"type":"integer","minimum":-1,"description":"Render order. The Pinned section uses `-1` (renders first);\nnon-pinned sections use `0, 1, 2, …`. Clients should sort by\nordinal and may renormalize to keep the sequence contiguous.\n","isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].ordinal","typeLabel":"integer"},"collapsed":{"type":"boolean","isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].collapsed","typeLabel":"boolean"},"hidden":{"type":"boolean","isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].hidden","typeLabel":"boolean"},"layoutMode":{"type":"string","enum":["auto","1_column","2_columns","3_columns","4_columns"],"description":"How widgets are laid out inside a section. `auto` packs by add order;\nthe `N_columns` variants force a fixed-column grid.\n","isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].layoutMode","typeLabel":"enum\u003cstring>"},"widgets":{"type":"array","items":{"type":"object","required":["id","title","chartType","layout","dataConfig"],"properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].id","typeLabel":"string"},"title":{"type":"string","isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].title","typeLabel":"string"},"chartType":{"type":"string","enum":["bar","line","sparkline","pie","scatter","area","dimensionTable","table","attributionTable","kpi","gauge","heatmap","histogram","boxplot","treemap"],"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].chartType","typeLabel":"enum\u003cstring>"},"layout":{"type":"object","required":["x","y","rows","columns","minColumns","maxColumns","minRows","maxRows","static"],"properties":{"x":{"type":"integer","minimum":0,"maximum":11,"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.x","typeLabel":"integer"},"y":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.y","typeLabel":"integer"},"rows":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.rows","typeLabel":"integer"},"columns":{"type":"integer","minimum":1,"maximum":12,"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.columns","typeLabel":"integer"},"minColumns":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.minColumns","typeLabel":"integer"},"maxColumns":{"type":"integer","maximum":12,"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.maxColumns","typeLabel":"integer"},"minRows":{"type":"integer","minimum":1,"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.minRows","typeLabel":"integer"},"maxRows":{"type":"integer","isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.maxRows","typeLabel":"integer"},"static":{"type":"boolean","isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].layout.static","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].layout","typeLabel":"object"},"dataConfig":{"type":"object","properties":{"measures":{"type":"array","items":{"type":"string","uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.measures.items.[INDEX]","typeLabel":"string"},"description":"Canonical measure ids (e.g. `core.new_customer_roas`).","uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.measures","typeLabel":"string[]"},"dimensions":{"type":"array","items":{"type":"string","uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.dimensions.items.[INDEX]","typeLabel":"string"},"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.dimensions","typeLabel":"string[]"},"filters":{"type":"array","items":{"type":"object","uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.filters.items.[INDEX]","typeLabel":"object"},"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig.filters","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].dataConfig","typeLabel":"object"},"sourceWidgetId":{"type":"string","description":"Present on widgets inside the Pinned section. Links the pinned copy\nback to the original widget id in the source section so unpin can\nresolve from either end.\n","uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX].sourceWidgetId","typeLabel":"string"}},"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].widgets","typeLabel":"object[]"},"sectionType":{"type":"string","description":"Omit on normal sections; set to `pinned` for the Pinned section.","enum":["default","pinned"],"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].sectionType","typeLabel":"enum\u003cstring>"},"catalogId":{"type":"string","enum":["custom_metrics","meta_ads","google_ads","tiktok_ads","expenses","web_analytics","store","attribution"],"description":"Set on sections added from the web app's section catalog. Omit on sections you create.","uniqueKey":"dashboardView.configuration.sections.items.[INDEX].catalogId","typeLabel":"enum\u003cstring>"},"settings":{"type":"object","description":"Per-section overrides. Any field left undefined falls back to the\nview-level `defaultSettings` (and ultimately to product defaults).\n","properties":{"density":{"type":"string","enum":["compact","normal"],"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].settings.density","typeLabel":"enum\u003cstring>"},"pacing":{"type":"boolean","description":"Show pacing indicators on KPI widgets in this section.","uniqueKey":"dashboardView.configuration.sections.items.[INDEX].settings.pacing","typeLabel":"boolean"},"theme":{"type":"string","enum":["light","dark"],"description":"Widget color theme.","uniqueKey":"dashboardView.configuration.sections.items.[INDEX].settings.theme","typeLabel":"enum\u003cstring>"},"backgroundColor":{"type":"string","maxLength":50,"description":"Section background color, as a CSS color string.","uniqueKey":"dashboardView.configuration.sections.items.[INDEX].settings.backgroundColor","typeLabel":"string"},"headerStyle":{"type":"string","enum":["default","minimal","accent"],"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].settings.headerStyle","typeLabel":"enum\u003cstring>"},"filters":{"type":"array","description":"Saved per-section filters, in the web app's dashboard-filter format. This is\nnot the `filters` tree the query endpoints take. Copy the value from a view you\nread with [Get a dashboard view](/api-reference/dashboards/get-a-dashboard-view)\nrather than building it by hand.\n","items":{"type":"object","additionalProperties":true,"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].settings.filters.items.[INDEX]","typeLabel":"object"},"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].settings.filters","typeLabel":"object[]"}},"uniqueKey":"dashboardView.configuration.sections.items.[INDEX].settings","typeLabel":"object"}},"uniqueKey":"dashboardView.configuration.sections.items.[INDEX]","typeLabel":"object"},"uniqueKey":"dashboardView.configuration.sections","typeLabel":"object[]"},"defaultSettings":{"type":"object","description":"View-level defaults inherited by sections that don't override a\ngiven setting.\n","properties":{"density":{"type":"string","enum":["compact","normal"],"uniqueKey":"dashboardView.configuration.defaultSettings.density","typeLabel":"enum\u003cstring>"},"pacing":{"type":"boolean","description":"Show pacing indicators on KPI widgets in this section.","uniqueKey":"dashboardView.configuration.defaultSettings.pacing","typeLabel":"boolean"},"theme":{"type":"string","enum":["light","dark"],"description":"Widget color theme.","uniqueKey":"dashboardView.configuration.defaultSettings.theme","typeLabel":"enum\u003cstring>"},"backgroundColor":{"type":"string","maxLength":50,"description":"Section background color, as a CSS color string.","uniqueKey":"dashboardView.configuration.defaultSettings.backgroundColor","typeLabel":"string"},"headerStyle":{"type":"string","enum":["default","minimal","accent"],"uniqueKey":"dashboardView.configuration.defaultSettings.headerStyle","typeLabel":"enum\u003cstring>"},"filters":{"type":"array","description":"Saved per-section filters, in the web app's dashboard-filter format. This is\nnot the `filters` tree the query endpoints take. Copy the value from a view you\nread with [Get a dashboard view](/api-reference/dashboards/get-a-dashboard-view)\nrather than building it by hand.\n","items":{"type":"object","additionalProperties":true,"uniqueKey":"dashboardView.configuration.defaultSettings.filters.items.[INDEX]","typeLabel":"object"},"uniqueKey":"dashboardView.configuration.defaultSettings.filters","typeLabel":"object[]"}},"uniqueKey":"dashboardView.configuration.defaultSettings","typeLabel":"object"}},"isRequired":true,"uniqueKey":"dashboardView.configuration","typeLabel":"object"},"createdAt":{"type":"string","format":"date-time","description":"When the view was created.","isRequired":true,"uniqueKey":"dashboardView.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"When the view was last changed.","isRequired":true,"uniqueKey":"dashboardView.updatedAt","typeLabel":"string\u003cdate-time>"},"createdBy":{"type":"string","description":"User id of the person who created the view. Empty string for views created with an API key.","isRequired":true,"uniqueKey":"dashboardView.createdBy","typeLabel":"string"},"updatedBy":{"type":"string","description":"User id of the last person to change the view. Empty string when the last change came from an API key.","isRequired":true,"uniqueKey":"dashboardView.updatedBy","typeLabel":"string"},"order":{"type":"integer","description":"Sort position among the pixel's views.","uniqueKey":"dashboardView.order","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"dashboardView","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"revenueTrend":{"title":"revenueTrend","value":{"dashboardView":{"pk":"VIEW#01K7B4C6D8E0F2G4H6J8K0M2N4","sk":"view","id":"01K7B4C6D8E0F2G4H6J8K0M2N4","pixelId":"5f1e6a4f-2b7c-4d1e-9a3f-8c6b2e0d4a71","type":"view","name":"Weekly exec","configuration":{"attributionModel":"last_click","attributionWindow":7,"granularity":"week","dateRange":{"start":"2026-03-01","end":"2026-04-30"},"grid":{"maxWidth":1200},"widgets":[{"id":"6b0f8a52-3c1d-4e7f-9a2b-5c8d1e4f7a90","title":"Net revenue","chartType":"line","layout":{"x":0,"y":0,"rows":4,"columns":12,"minColumns":3,"maxColumns":12,"minRows":2,"maxRows":8,"static":false},"dataConfig":{"measures":["orders.net_revenue"],"dimensions":[],"filters":[]}}]},"order":1,"createdAt":"2026-10-12T15:42:08.311Z","createdBy":"","updatedAt":"2026-10-12T15:42:08.311Z","updatedBy":""}}}},"exampleType":"examples"}},"exampleType":"examples"},"dac9aa4f-ba3c-479d-84da-c348a2e5b0c6":{"description":"Validation error. Includes an `errors` array with per-field detail.","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"type":"array","description":"Per-field validation errors (present on 400 responses).","items":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"key":{"type":"string","uniqueKey":"errors.items.[INDEX].key","typeLabel":"string"},"path":{"type":"array","items":{"type":"string","uniqueKey":"errors.items.[INDEX].path.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.items.[INDEX].path","typeLabel":"string[]"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","errors":[{"message":"\u003cstring>","key":"\u003cstring>","path":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"50a3d49a-9cce-40a3-886f-d7ace1479f7f":{"description":"The `x-api-key` or `x-pixel-id` header is missing. The request is rejected\nbefore it reaches the API, and the body is `{\"message\": \"Unauthorized\"}`.\nA key that is present but not accepted returns `403`, not `401`.\n","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"type":"array","description":"Per-field validation errors (present on 400 responses).","items":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"key":{"type":"string","uniqueKey":"errors.items.[INDEX].key","typeLabel":"string"},"path":{"type":"array","items":{"type":"string","uniqueKey":"errors.items.[INDEX].path.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.items.[INDEX].path","typeLabel":"string[]"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","errors":[{"message":"\u003cstring>","key":"\u003cstring>","path":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"aef209d7-41a1-4cb8-84c0-7457a22d3410":{"description":"The key was rejected, or it is valid but not allowed to do this. Either:\n\n- the key is unknown, revoked, or expired, or the pixel is inactive — the body is\n `{\"Message\": \"User is not authorized to access this resource with an explicit deny\n in an identity-based policy\"}` (note the capital `M`);\n- the key doesn't carry the scope this endpoint needs, or the body `pixelId` doesn't\n match the `x-pixel-id` header — the body is `{\"message\": \"…\"}` as described below.\n","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"errors":{"type":"array","description":"Per-field validation errors (present on 400 responses).","items":{"type":"object","properties":{"message":{"type":"string","uniqueKey":"errors.items.[INDEX].message","typeLabel":"string"},"key":{"type":"string","uniqueKey":"errors.items.[INDEX].key","typeLabel":"string"},"path":{"type":"array","items":{"type":"string","uniqueKey":"errors.items.[INDEX].path.items.[INDEX]","typeLabel":"string"},"uniqueKey":"errors.items.[INDEX].path","typeLabel":"string[]"}},"uniqueKey":"errors.items.[INDEX]","typeLabel":"object"},"uniqueKey":"errors","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"\u003cstring>","errors":[{"message":"\u003cstring>","key":"\u003cstring>","path":["\u003cstring>"]}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"f19e0b22-afd0-4760-b88e-dce1773111cb":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your Upstack API key. Starts with `upstack_`.","scopes":[],"schemeName":"apiKey"},"pixelId":{"type":"apiKey","in":"header","name":"x-pixel-id","description":"The pixel id the request targets.","scopes":[],"schemeName":"pixelId"}}},"servers":{"2bbb3e85-633d-4371-b828-47a29d5899c5":{"url":"https://api.upstackdata.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your Upstack API key. Starts with `upstack_`.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"x-api-key","type":"string","description":"Your Upstack API key. Starts with `upstack_`.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"x-api-key"},{"scheme":{"type":"apiKey","in":"header","name":"x-pixel-id","description":"The pixel id the request targets.","scopes":[],"schemeName":"pixelId"},"schema":{"title":"x-pixel-id","type":"string","description":"The pixel id the request targets.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"pixelId","name":"x-pixel-id"}],"title":"apiKey \u0026 pixelId"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"upstackdata-afbed50d","siteName":"Upstack Data","title":"Create a dashboard view from a full configuration - Upstack Data","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T13:39:43.910Z","originalFileLocation":"api-reference/dashboards/create-a-dashboard-view.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a dashboard view from a complete configuration, with attribution and date defaults, sections, and widgets placed at exact grid positions.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Upstack Data\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/upstackdata-afbed50d/3BK6qL6Jr5lRaaY0/_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/upstackdata-afbed50d/3BK6qL6Jr5lRaaY0/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/upstackdata-afbed50d/3BK6qL6Jr5lRaaY0/_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/upstackdata-afbed50d/3BK6qL6Jr5lRaaY0/_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/upstackdata-afbed50d/3BK6qL6Jr5lRaaY0/_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/upstackdata-afbed50d/3BK6qL6Jr5lRaaY0/_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/upstackdata-afbed50d/3BK6qL6Jr5lRaaY0/_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/upstackdata-afbed50d/3BK6qL6Jr5lRaaY0/_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/upstackdata-afbed50d/3BK6qL6Jr5lRaaY0/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a dashboard view from a full configuration - Upstack Data\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a dashboard view from a complete configuration, with attribution and date defaults, sections, and widgets placed at exact grid positions.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Upstack Data\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.upstackdata.com/api-reference/dashboards/create-a-dashboard-view\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://upstackdata-afbed50d.mintlify.site/_mintlify/api/og/v2?division=DASHBOARDS\u0026amp;title=Create+a+dashboard+view+from+a+full+configuration\u0026amp;description=Create+a+dashboard+view+from+a+complete+configuration%2C+with+attribution+and+date+defaults%2C+sections%2C+and+widgets+placed+at+exact+grid+positions.\u0026amp;theme=b279b8bf440b9d86f43d4b66\u0026amp;signature=5f7e03aa3f7c7f13178256981cd9e65707b75ed1646ea06769d4fa709d1127e2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a dashboard view from a full configuration - Upstack Data\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a dashboard view from a complete configuration, with attribution and date defaults, sections, and widgets placed at exact grid positions.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://upstackdata-afbed50d.mintlify.site/_mintlify/api/og/v2?division=DASHBOARDS\u0026amp;title=Create+a+dashboard+view+from+a+full+configuration\u0026amp;description=Create+a+dashboard+view+from+a+complete+configuration%2C+with+attribution+and+date+defaults%2C+sections%2C+and+widgets+placed+at+exact+grid+positions.\u0026amp;theme=b279b8bf440b9d86f43d4b66\u0026amp;signature=5f7e03aa3f7c7f13178256981cd9e65707b75ed1646ea06769d4fa709d1127e2\">\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/upstackdata-afbed50d/3BK6qL6Jr5lRaaY0/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Upstack Data\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4230b4\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.upstackdata.com/api-reference/dashboards/create-a-dashboard-view\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/dashboards/create-a-dashboard-view.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.upstackdata.com/#organization\",\"name\":\"Upstack Data\",\"url\":\"https://docs.upstackdata.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/upstackdata-afbed50d/40dgTTn1PLjePhJa/logo/light.svg?fit=max\u0026auto=format\u0026n=40dgTTn1PLjePhJa\u0026q=85\u0026s=598c05fb87860ddc1b6b7640b41e136c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.upstackdata.com#website\",\"name\":\"Upstack Data\",\"url\":\"https://docs.upstackdata.com\",\"publisher\":{\"@id\":\"https://docs.upstackdata.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.upstackdata.com/api-reference/dashboards/create-a-dashboard-view#webpage\",\"url\":\"https://docs.upstackdata.com/api-reference/dashboards/create-a-dashboard-view\",\"name\":\"Create a dashboard view from a full configuration\",\"description\":\"Create a dashboard view from a complete configuration, with attribution and date defaults, sections, and widgets placed at exact grid positions.\",\"dateModified\":\"2026-11-04T13:39:43.910Z\",\"isPartOf\":{\"@id\":\"https://docs.upstackdata.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.upstackdata.com/api-reference/dashboards/create-a-dashboard-view#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.upstackdata.com/api-reference/dashboards/create-a-dashboard-view#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"DASHBOARDS\",\"item\":\"https://docs.upstackdata.com/api-reference/dashboards/list-dashboard-views\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a dashboard view from a full configuration\",\"item\":\"https://docs.upstackdata.com/api-reference/dashboards/create-a-dashboard-view\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.upstackdata.com/api-reference/dashboards/create-a-dashboard-view#apireference\",\"headline\":\"Create a dashboard view from a full configuration\",\"name\":\"Create a dashboard view from a full configuration\",\"description\":\"Create a dashboard view from a complete configuration, with attribution and date defaults, sections, and widgets placed at exact grid positions.\",\"url\":\"https://docs.upstackdata.com/api-reference/dashboards/create-a-dashboard-view\",\"mainEntityOfPage\":{\"@id\":\"https://docs.upstackdata.com/api-reference/dashboards/create-a-dashboard-view#webpage\"},\"dateModified\":\"2026-11-04T13:39:43.910Z\",\"keywords\":\"create dashboard, dashboard view, dashboards API, Upstack Data API\",\"publisher\":{\"@id\":\"https://docs.upstackdata.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.upstackdata.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Upstack Data\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Upstack Data\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/dashboards/create-a-dashboard-view.md","siteName":"Upstack Data","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/get-started/overview"}]},{"tab":"Pixel","pages":[{"title":"Pixel","href":"/pixel"}]},{"tab":"Event Tracking","pages":[{"title":"Event Tracking","href":"/event-tracking"}]},{"tab":"Metrics","pages":[{"title":"Metrics","href":"/reference/metrics"}]},{"tab":"API","groups":[{"group":"OVERVIEW","pages":[{"title":"Introduction","sidebarTitle":"Introduction","href":"/api-reference/introduction"},{"title":"Errors","sidebarTitle":"Errors","href":"/api-reference/errors"},{"title":"Rate limiting","sidebarTitle":"Rate limiting","href":"/api-reference/rate-limiting"}]},{"group":"ACCOUNT","pages":[{"title":"Get account details, owners, and subscription plan","deprecated":null,"version":null,"sidebarTitle":"Get the account","openapi":"/api-reference/openapi.yaml get /accounts/api/account","href":"/api-reference/account/get-the-account"},{"title":"Rename the account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /accounts/api/account","href":"/api-reference/account/rename-the-account"},{"title":"Get order settings and order exclusion filters","deprecated":null,"version":null,"sidebarTitle":"Get order settings","openapi":"/api-reference/openapi.yaml get /accounts/api/account/settings/order","href":"/api-reference/account/get-order-settings"},{"title":"Replace order settings and order exclusion filters","deprecated":null,"version":null,"sidebarTitle":"Replace order settings","openapi":"/api-reference/openapi.yaml put /accounts/api/account/settings/order","href":"/api-reference/account/replace-order-settings"}]},{"group":"CATALOG","pages":[{"title":"List available measures","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /db-mgmt/api/measures","href":"/api-reference/catalog/list-available-measures"},{"title":"List filter fields for analytics queries","deprecated":null,"version":null,"sidebarTitle":"List filter fields","openapi":"/api-reference/openapi.yaml get /db-mgmt/api/filters","href":"/api-reference/catalog/list-filter-fields"}]},{"group":"ANALYTICS","pages":[{"title":"Run an analytics query with measures and dimensions","deprecated":null,"version":null,"sidebarTitle":"Run an analytics query","openapi":"/api-reference/openapi.yaml post /db-mgmt/api/query","href":"/api-reference/analytics/run-an-analytics-query"},{"title":"Run an attribution query by UTM source, campaign, or ad","deprecated":null,"version":null,"sidebarTitle":"Run an attribution query","openapi":"/api-reference/openapi.yaml post /db-mgmt/api/query-attribution","href":"/api-reference/analytics/run-an-attribution-query"},{"title":"Run a cohort analysis for customer LTV and retention","deprecated":null,"version":null,"sidebarTitle":"Run a cohort analysis","openapi":"/api-reference/openapi.yaml post /db-mgmt/api/query-cohort-analysis","href":"/api-reference/analytics/run-a-cohort-analysis"},{"title":"List channel entities with optional metrics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /db-mgmt/api/query-channel-details","href":"/api-reference/analytics/list-channel-entities-with-optional-metrics"},{"title":"List ads with daily spend and performance metrics","deprecated":null,"version":null,"sidebarTitle":"List ads with metrics","openapi":"/api-reference/openapi.yaml post /db-mgmt/api/query-ads","href":"/api-reference/analytics/list-ads-with-optional-daily-metrics"}]},{"group":"DASHBOARDS","pages":[{"title":"List dashboard views for a pixel","deprecated":null,"version":null,"sidebarTitle":"List dashboard views","openapi":"/api-reference/openapi.yaml get /accounts/api/dashboard/views","href":"/api-reference/dashboards/list-dashboard-views"},{"title":"Get a dashboard view and its widget configuration","description":"Fetch one dashboard view with its full configuration, including sections, widget layout, measures, and the saved date range and attribution settings.","deprecated":null,"version":null,"sidebarTitle":"Get a dashboard view","openapi":"/api-reference/openapi.yaml get /accounts/api/dashboard/views/{dashboardViewId}","href":"/api-reference/dashboards/get-a-dashboard-view"},{"title":"Create a dashboard view from a full configuration","deprecated":null,"version":null,"sidebarTitle":"Create a dashboard view","openapi":"/api-reference/openapi.yaml post /accounts/api/dashboard/views","href":"/api-reference/dashboards/create-a-dashboard-view"},{"title":"Build a dashboard from a list of measures","description":"Create a dashboard from a list of measure ids. The server lays out KPI sparkline tiles four per row and fills in attribution, granularity, and date range defaults.","deprecated":null,"version":null,"sidebarTitle":"Build a dashboard from a measure list","openapi":"/api-reference/openapi.yaml post /accounts/api/dashboard/views/from-preset","href":"/api-reference/dashboards/build-a-dashboard-from-a-measure-list-preset"},{"title":"Duplicate a dashboard view","deprecated":null,"version":null,"sidebarTitle":"Duplicate a dashboard view","openapi":"/api-reference/openapi.yaml post /accounts/api/dashboard/views/{dashboardViewId}/copy","href":"/api-reference/dashboards/duplicate-a-dashboard-view"},{"title":"Update a dashboard view","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /accounts/api/dashboard/views/{dashboardViewId}","href":"/api-reference/dashboards/update-a-dashboard-view"},{"title":"Delete a dashboard view","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /accounts/api/dashboard/views/{dashboardViewId}","href":"/api-reference/dashboards/delete-a-dashboard-view"}]},{"group":"COSTS","pages":[{"title":"Get cost configuration for COGS, shipping, and fees","deprecated":null,"version":null,"sidebarTitle":"Get cost configuration","openapi":"/api-reference/openapi.yaml get /accounts/api/costs","href":"/api-reference/costs/get-cost-configuration"},{"title":"Update the global product override","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /accounts/api/costs/global-product-override","href":"/api-reference/costs/update-the-global-product-override"},{"title":"Update shipping cost settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /accounts/api/costs/shipping-settings","href":"/api-reference/costs/update-shipping-cost-settings"},{"title":"Add a cost line","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /accounts/api/costs/lines","href":"/api-reference/costs/add-a-cost-line"},{"title":"Update an order, payment, shipping, or recurring cost line","deprecated":null,"version":null,"sidebarTitle":"Update a cost line","openapi":"/api-reference/openapi.yaml put /accounts/api/costs/lines/{lineId}","href":"/api-reference/costs/update-a-cost-line"},{"title":"Delete a cost line","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /accounts/api/costs/lines/{lineId}","href":"/api-reference/costs/delete-a-cost-line"}]},{"group":"PRODUCTS","pages":[{"title":"Search products","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /accounts/api/products/search","href":"/api-reference/products/search-products"},{"title":"Get a product variant","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /accounts/api/products/{productId}/{variantId}/cost","href":"/api-reference/products/get-a-product-variant"},{"title":"Set a variant's handling fee","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /accounts/api/products/{productId}/{variantId}/handling-fee","href":"/api-reference/products/set-a-variants-handling-fee"},{"title":"Add a COGS line to a product variant","deprecated":null,"version":null,"sidebarTitle":"Add a COG line","openapi":"/api-reference/openapi.yaml post /accounts/api/products/{productId}/{variantId}/cogs","href":"/api-reference/products/add-a-cog-line-to-a-variant"},{"title":"Update a COGS line on a product variant","deprecated":null,"version":null,"sidebarTitle":"Update a COG line","openapi":"/api-reference/openapi.yaml put /accounts/api/products/{productId}/{variantId}/cogs/{cogId}","href":"/api-reference/products/update-a-cog-line"},{"title":"Delete a COGS line from a product variant","deprecated":null,"version":null,"sidebarTitle":"Delete a COG line","openapi":"/api-reference/openapi.yaml delete /accounts/api/products/{productId}/{variantId}/cogs/{cogId}","href":"/api-reference/products/delete-a-cog-line"}]},{"group":"EVENTS","pages":[{"title":"Send events via Upstack Conversion API","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /tr/api/events","href":"/api-reference/events/send-events-via-upstack-conversion-api"}]}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/install"}]}]},"basePath":"","title":"Create a dashboard view from a full configuration - Upstack Data","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","Page-C4GwDT3_.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}