Skip to content

Blocking seats

Take individual inventory off sale, schedule its release, and return blocked seats safely.

Updated View as Markdown

Blocking is organizer-controlled inventory: production holds, comps, sightline closures, press allocations, or seats not ready for sale. It is not a buyer hold and does not consume a booked-seat credit.

Block seats

POST/v1/events/:key/blockSecret key, dashboard session, or event:block manage token
curl -sX POST "https://api.seatlayer.io/v1/events/ev_9f3a/block" \
  -H "authorization: Bearer $SEATLAYER_SECRET_KEY" \
  -H "content-type: application/json" \
  -d '{"labels":["A-1","A-2"]}'

Success returns:

{
  "ok": true,
  "blocked": ["A-1", "A-2"]
}

Blocking is atomic across the requested labels. Every label must exist and be free. If one is held, booked, blocked, or missing, nothing changes:

{
  "error": "conflict",
  "conflicts": [
    {
      "label": "A-2",
      "status": "held"
    }
  ]
}

Schedule automatic release

Add a future epoch-ms releaseAt:

{
  "labels": ["P-1", "P-2"],
  "releaseAt": 1767200400000
}

A past or invalid time does not schedule a release; the block remains until an explicit unblock. Store your intended release time in your own operation record because the basic block response returns only the blocked labels.

Unblock selected seats

POST/v1/events/:key/unblockSecret key, dashboard session, or event:block manage token
curl -sX POST "https://api.seatlayer.io/v1/events/ev_9f3a/unblock" \
  -H "authorization: Bearer $SEATLAYER_SECRET_KEY" \
  -H "content-type: application/json" \
  -d '{"labels":["A-1","A-2"]}'

Non-blocked labels are ignored. The response contains the labels actually returned to sale.

Unblock all

POST/v1/events/:key/unblock-allSecret key, dashboard session, or event:block manage token

No body is required. A successful response is:

{
  "ok": true,
  "freed": 12
}

Buyer and operator behavior

Blocked inventory is exposed to buyer surfaces as not_for_sale; buyers do not see your internal reason. Live SDK and control-room views repaint after the mutation without polling.

State change Use
free → blocked block
blocked → free unblock or unblock-all
booked → free booking-safe cancellation
free → booked from a trusted Platform backend direct inventory booking

Checklist

  • Secret keys are used only from a trusted server.
  • Browser operator tokens carry only event:block when that is sufficient.
  • Batch conflicts are shown as a retry/reselect action.
  • Scheduled-release times are future UTC epoch milliseconds.
  • Blocking is not treated as a payment reservation.
  • The host keeps its own reason and operator audit context.

For sections and zones, use inventory and availability.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close