Skip to main content
PUT
Edit chart

Authorizations

Authorization
string
header
required

Workspace API key (e.g. formo_xxx). Create one in the Formo dashboard under Team Settings > API.

Path Parameters

boardId
string
required
chartId
string
required

Body

application/json

Request body for updating an existing chart.

chartId
string
required

ID of the chart to update.

projectId
string
required

Project the chart belongs to.

chart_type
enum<string>
required

Visualization type. Determines which other fields are required:

Available options:
table,
number,
funnel,
bar,
line,
area,
pie,
stacked,
user_paths,
retention
title
string
required

Display name shown on the chart and board.

Minimum string length: 1
query
string

SQL query that powers the chart.

  • funnel: pass "SELECT 1"; the actual query is auto-generated from steps.
  • user_paths: omit it; the query is generated from settings.anchors.
  • retention: omit it; data is fetched automatically.
  • All other types: required; must be a valid SQL string.
Minimum string length: 1
description
string

Optional description.

x_axis
string

Column name for the X axis. Required for bar, line, and stacked.

y_axis
string[]

Column name(s) used as Y axis metrics.

  • bar / line: at least 1 element required.
  • pie / stacked: exactly 1 element required.
group_by
string

Column to group / stack series by. Required for stacked.

steps
object[]

Ordered list of funnel steps. Required for funnel (minimum 2 steps).

Each element is a FunnelStep; add property predicates in its canonical filters array (e.g. "filters": [{ "field": "rdns", "op": "eq", "value": "io.metamask" }]).

Minimum array length: 2
settings
object

Chart-type-specific configuration. The fields that apply depend on chart_type:

  • funnel: funnelType, conversionWindow, breakdown
  • user_paths: anchors, maxSteps, nodesPerStep, conversionWindow, filters
  • retention: entryFilter, retentionFilter, retentionUserFilters, retentionSignalType, retentionLabelSignal

Fields are optional at the schema level except where the selected chart type requires them. User Paths require at least one anchors entry. Retention requests must explicitly include entryFilter; use null for any event.

Response

200 - application/json

Chart updated

Chart ID