Create a chart
Creates a draft chart in the calling workspace. Returns the new chart with `chartKey` and `draftVersion`. Drafts are mutable until you call `POST /charts/{chartKey}/publish` — published charts are immutable snapshots that events can bind to.
/api/v1/chartsHuman-readable chart name (3-255 chars). Shown in the dashboard list, the chart picker when creating events, and webhook payloads.
3 <= length <= 255Optional initial draft snapshot (JSON shape matching the editor Snapshot schema). When omitted the chart starts with an empty draft and editors must place objects before publishing.
Empty Object
Response Body
curl -X POST "http://localhost:3000/api/v1/charts" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{
"chartKey": "chart_8a2b1c",
"name": "Brooklyn Music Hall — main floor",
"draftVersion": 1,
"publishedVersion": null,
"createdAt": "2026-09-12T14:22:01.044Z",
"updatedAt": "2026-09-12T14:22:01.044Z"
}{
"statusCode": 0,
"message": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}{
"statusCode": 0,
"message": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}{
"statusCode": 0,
"message": "string",
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}Get a chart GET
Returns a single chart by `chartKey`. The response includes both the live `draftVersion` and the `publishedVersion` (or `null` if the chart has never been published).
Update a chart PATCH
Patches a chart's draft. Provide `name` and/or `draftVersion` — at least one is required. The update affects the draft only; the published snapshot (if any) is unchanged until you call `/publish`.