Reset a sandbox event
Sandbox events only, secret key only. Returns every seat and GA area of the event to `free`: deletes all holds, bookings and not-for-sale marks, so the event can be reused between test runs. Pending hold expiries become no-ops. No webhooks are sent and nothing is written to seat history. A production event returns `403 sandbox_only`; a public key returns `403 public_key_not_allowed`.
curl -X POST "https://seatbuilder.org/api/v1/events/string/reset"{
"eventKey": "evt_q3-2026-jazz-night",
"reset": true,
"removed": 12
}{
"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"
]
}
}Extend held seats POST
Secret key only (a public key gets `403 public_key_not_allowed`). Refresh the hold TTL (payment window) for one or more seats the caller already holds. Batch + partial-success: seats that cannot be extended are returned in failed[] without failing the request, with `reason` `already_booked` (booked under this token), `hold_expired` (this token's hold lapsed) or `not_held_by_token`. `objectLabels` omitted = every row the token has on the event. If the token has nothing on the event → `409 no_active_hold`.
Status
read-only snapshots of seat availability and reports for an event.