Create Analytics Panel
Add a blank panel to a page you own, or copy one with fromPanelId. Then set its sources and display with Update Analytics Panel.
Path
The page to add the panel to, from List Analytics Pages.
Headers
Required. The revision you last read: the revision from its read (Get Workflow Definition for a workflow, Get Analytics Page Definition for an Analytics page, Get Analytics Data Source Table for a fixed source's table), or meta.revision from your last change to it. The ETag header of either answer is the same value, ready to send back. The change applies only if nobody changed it since: otherwise it answers 412 with the current revision in error.details.revision. Send it as a strong entity tag ("r_..."): a weak one (W/"...") never matches and answers 412. Without it the request answers 428.
Optional. The id of the organization to act in. Leave it out to act in the API key's own organization. Here a key acts in another organization only as one of its members: with "Use this key across all of your organizations" on, in an organization its creator belongs to with a role. Child organizations and MindCloud staff access do not reach this endpoint. Every response's X-Company-Id header names the organization it acted in. See Organizations.
Body
What the panel is called.
What the panel is called. Kept as sent: it is never renamed automatically. Left out, it is named after what it shows once it has data.
page or drill.
page (the default) puts it on the grid; drill makes a drill-down target that opens when another panel is clicked.
pagedrill
Where it goes on the grid.
Where it goes on the 12-column grid. Left out, it goes below the other panels.
xnumberrequiredLeftmost column, 0-11.
ynumberrequiredTop row, from 0.
wnumberrequiredWidth in columns, 1-12.
hnumberHeight in rows. Leave it out to size the panel to what it shows.
The page tab it goes on, from Get Analytics Page.
The page tab it goes on, from Get Analytics Page. Required when the page has tabs.
A panel to copy, from Get Analytics Page.
Copy this panel, with its sources and settings, instead of adding a blank one. From Get Analytics Page.
The page of the panel to copy, from List Analytics Pages.
The page fromPanelId is on, when it is not this page. It must be one the key's creator owns.
Copy anyway when the copy loses something.
Copy anyway when the copy loses page variables or click wiring at this page. Without it, such a copy answers 409 with details.warnings.
Response fields
idstringThe panel id.
pageIdstringThe page the panel is on, from List Analytics Pages.
namestringThe panel's title, shown in its card header.
descriptionstringThe line under the title when the panel opens as a full-page drill-down view.
placementstringWhere the panel shows.
pageOn the page grid.drillOff the grid: it opens when a click on another panel drills into it, narrowed by the clicked row.
displayTypestringHow the panel draws its rows. One of: table, bar, line, combo, pareto, bump, scatter, bubble, quadrant, pie, treemap, heatmap, pivot, cohort, statusgrid, activity, funnel, waterfall, sankey, chord, statetimeline, timeline, stat, trend, progress, gauge, bullet, report, document, workbook, html, map, region, tabs, group.
tableDraws a table panel.barDraws a bar panel.lineDraws a line panel.comboDraws a combo panel.paretoDraws a pareto panel.bumpDraws a bump panel.scatterDraws a scatter panel.bubbleDraws a bubble panel.quadrantDraws a quadrant panel.pieDraws a pie panel.treemapDraws a treemap panel.heatmapDraws a heatmap panel.pivotDraws a pivot panel.cohortDraws a cohort panel.statusgridDraws a statusgrid panel.activityDraws a activity panel.funnelDraws a funnel panel.waterfallDraws a waterfall panel.sankeyDraws a sankey panel.chordDraws a chord panel.statetimelineDraws a statetimeline panel.timelineDraws a timeline panel.statDraws a stat panel.trendDraws a trend panel.progressDraws a progress panel.gaugeDraws a gauge panel.bulletDraws a bullet panel.reportDraws a report panel.documentDraws a document panel.workbookDraws a workbook panel.htmlDraws a html panel.mapDraws a map panel.regionDraws a region panel.tabsDraws a tabs panel.groupDraws a group panel.
dataSourcesarray of objectsThe data sources feeding the panel, in order.
dataSourceIdstringThe data source, from List Analytics Data Sources.
aliasstringThe name the source's query and the transform code use for its rows.
querystringDuckDB SQL over this source's rows, with the alias as the table name. Empty when the panel shows every row as stored.
followPageDatebooleanWhether the page's date filter narrows this source. False for an all-time figure on a date-filtered page.
transformCodestringJavaScript function body that receives each source as a named input and returns the rows to show. Empty when the source queries return the rows directly.
columnsarray of objectsTable panels: the columns shown, in order. Null when the panel picks its columns from the rows.
keystringThe row key the column shows (dot paths allowed). For a button column, the identifier that names its click event.
typestringHow the value is formatted and aligned. Absent for plain text.
stringFormats the value as string.numberFormats the value as number.percentFormats the value as percent.ratioFormats the value as ratio.currencyFormats the value as currency.durationFormats the value as duration.rankFormats the value as rank.booleanFormats the value as boolean.dateFormats the value as date.objectFormats the value as object.listFormats the value as list.htmlFormats the value as html.buttonFormats the value as button.
labelstringButton columns: the text on the button.
tooltipstringButton columns: the sentence shown on hover.
widthnumberThe column width in pixels for everyone. Absent when the column is as wide as its content.
formatobjectHow each column's values are formatted, keyed by column, for any display type: { "<column>": { "type": "currency", ... } }. Null when none is set.
linksobjectTable panels: the link each cell of a column opens, keyed by column. Null when none is set.
styleobjectThe color of each series or category, keyed by its name. Null when none is set.
settingsobjectThe settings of the panel's display type, keyed by block: annotations, tooltip, chart, bump, scatter, pie, treemap, cellGrid, statusGrid, activity, funnel, waterfall, sankey, chord, statetimeline, stat, trend, target, report, document, workbook, html, map, region, tabs, group. Only the blocks the panel stores are present.
onobjectWhat clicking the panel's items does, keyed by event (rowClick, valueClick, "button:<column key>" ...): { "rowClick": { "action": "navigatePage", "pageId": "..." } }. Empty when nothing is wired.
interactionobjectStat panels: the toggle page variable a click on the tile flips. Null for a normal panel.
togglesstringThe toggle page variable.
paramsobjectDrill-down panels: the human label of each $param its SQL reads, keyed by param: { "userId": { "label": "User", "labeledBy": "userName" } }. Null when none is declared.
displayModestringWhether the display comes from the settings or from displayCode.
basicThe display settings above.advanceddisplayCode returns the display settings from the page variables.
displayCodestringJavaScript function body that returns the display settings from the page variables. Kept, but unused, while displayMode is basic.
aiSnippetsCodestringReport panels: JavaScript function body returning the AI-written sections of the report. Empty when it has none.
layoutobjectThe panel's place on the page grid. Null when it was never placed (it then flows full width in creation order), and for a drill-down or a panel inside a container.
xnumberLeftmost column on the 12-column grid, 0-11.
ynumberTop row, from 0.
wnumberWidth in columns, 1-12.
hnumberHeight in rows (one row is about 48px). Null when the panel is as tall as what it shows.
tabIdstringThe page tab the panel sits on, from Get Analytics Page. Null on a page without tabs, and for a drill-down or a panel inside a container.
containedBystringThe container panel (tabs or group) it renders inside, or null when it sits on the grid or is a drill-down.
createdOndateWhen the panel was created. Null on a published version of the page.
updatedOndateWhen the panel last changed. Null on a published version of the page.