AckdbDashboardPanel
One panel. `segmentId` is REQUIRED for every type except `sql`, which forbids it. The pinned segment must be a BASE segment: a derived segment stores only the filter on top of its base, so a panel compiling it alone would answer for the wrong population (refused at save/preview, fails closed at read).
Properties
keystringrequiredpattern /^[a-z0-9_-]{1,64}$/Unique within the dashboard.
titlestringrequiredtypestringrequired"kpi""breakdown""timeseries""table""feed""sql"segmentIdstringspecone ofrequiredPer type.
vizConsole-owned rendering hint, stored verbatim, never validated. Max 20,000 serialized bytes.
degradedbooleanSERVER-OWNED, read-only. Set by the scrub paths (segment/source/score deletion); a degraded panel returns its degraded envelope and never runs. A request that CARRIES this field (or `degradedReason`) is rejected per panel: it would otherwise let a caller store a panel that skipped the segment-access gate, or un-disarm a panel a scrub disabled. Re-point a degraded panel at a live, accessible segment to revive it; that edit re-runs the full gate and clears the flag.
degradedReasonstringExample
{
"key": "string",
"title": "string",
"type": "kpi",
"segmentId": "string",
"spec": {
"agg": "count",
"field": "string"
},
"viz": null,
"degraded": false,
"degradedReason": "segment deleted"
}