SeatBuilderSeatBuilder Docs

Create an event

Creates a new event bound to a published chart. The event starts with all seats in `free` status and has its own independent inventory: events created from the same chart share no seat state and no general-admission capacity (create one event per performance). The bound chart's `publishedVersion` is resolved LIVE at every read — events do not pin a chart version, so republishing the chart updates the layout of every event bound to it (use `move-to-new-chart-copy` to give one event its own chart). Pass your own `eventKey` to make the call safe to retry: a repeat with the same `eventKey` + `chartKey` returns the existing event with `200`.

POST/api/v1/events
chartKeystring

Key of the published chart this event binds to (e.g. chart_8a2b1c). The chart MUST have a non-null publishedVersion — call POST /charts/{chartKey}/publish first if it is still in draft.

Length1 <= length
eventKey?string

Optional caller-chosen key (1-64 chars, A-Z a-z 0-9 _ -), unique across all workspaces and environments. When omitted a 21-char key is generated. Safe to retry: repeating the call with the same eventKey and chartKey returns the existing event with 200 instead of creating a duplicate; a key already bound to a different chart, environment or workspace returns 409 event_key_conflict.

Match^[A-Za-z0-9_-]{1,64}$
name?string

Optional human-readable event name (≤ 255 chars). Shown in the dashboard events list and on webhook payloads. When omitted the event is identified by its eventKey alone.

Lengthlength <= 255

Response Body

curl -X POST "https://seatbuilder.org/api/v1/events" \  -H "Content-Type: application/json" \  -d '{    "chartKey": "string"  }'

{
  "id": "5b0f7c1e-2d4a-4f8e-9c3b-1a2b3c4d5e6f",
  "workspaceId": "9e8d7c6b-5a4f-4e3d-8c2b-1a0f9e8d7c6b",
  "environment": "production",
  "chartId": "3c2b1a0f-9e8d-4c7b-8a6f-5e4d3c2b1a0f",
  "chartKey": "chart_8a2b1c",
  "eventKey": "tg-prod-session-44778",
  "name": "Friday jazz night, October 2026",
  "createdAt": "2026-09-18T11:30:00.000Z",
  "updatedAt": "2026-09-18T11:30:00.000Z"
}

{
  "id": "5b0f7c1e-2d4a-4f8e-9c3b-1a2b3c4d5e6f",
  "workspaceId": "9e8d7c6b-5a4f-4e3d-8c2b-1a0f9e8d7c6b",
  "environment": "production",
  "chartId": "3c2b1a0f-9e8d-4c7b-8a6f-5e4d3c2b1a0f",
  "chartKey": "chart_8a2b1c",
  "eventKey": "tg-prod-session-44778",
  "name": "Friday jazz night, October 2026",
  "createdAt": "2026-09-18T11:30:00.000Z",
  "updatedAt": "2026-09-18T11:30:00.000Z"
}
{
  "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"
    ]
  }
}
{
  "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"
    ]
  }
}
Create an event — SeatBuilder Docs