Delete a chart
Deletes a chart. Fails with 409 if the chart has any events bound to it — delete the events first, or duplicate to a new chart and rebind.
curl -X DELETE "https://seatbuilder.org/api/v1/charts/string"{
"chartKey": "chart_8a2b1c",
"deleted": true
}{
"statusCode": 0,
"error": "string",
"message": "string",
"code": "validation_failed",
"failed": [
{
"objectLabel": "string",
"reason": "string",
"eventKey": "string",
"environment": "string",
"booked": 0,
"held": 0
}
],
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}{
"statusCode": 0,
"error": "string",
"message": "string",
"code": "validation_failed",
"failed": [
{
"objectLabel": "string",
"reason": "string",
"eventKey": "string",
"environment": "string",
"booked": 0,
"held": 0
}
],
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}{
"statusCode": 0,
"error": "string",
"message": "string",
"code": "validation_failed",
"failed": [
{
"objectLabel": "string",
"reason": "string",
"eventKey": "string",
"environment": "string",
"booked": 0,
"held": 0
}
],
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}{
"statusCode": 0,
"error": "string",
"message": "string",
"code": "validation_failed",
"failed": [
{
"objectLabel": "string",
"reason": "string",
"eventKey": "string",
"environment": "string",
"booked": 0,
"held": 0
}
],
"errors": {
"property1": [
"string"
],
"property2": [
"string"
]
}
}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`.
Publish a chart POST
Promotes the current draft to a published version. Events do not pin a version: every event of this chart reads the new layout immediately. To protect sold tickets, the publish is refused with `409 publish_affects_reservations` when the new draft would remove a booked or held label, turn it from seat to GA (or back), change its category, or shrink a GA area below its booked + held quantity on any event of this chart (both environments). `failed[]` lists every such label per event; `GET /charts/{chartKey}/publish-check` returns the same list without publishing. Pass `?force=true` to publish anyway: existing holds and bookings are kept as they are.