The public waiting room (a page, publishable key)
For streams with `admission: public`. A waiting page calls it every 2 s with its `seat`; when offered a seat (state `offer`, 10 s), the viewer presses Join and the page calls with `join: true`. Rate limited per client address (a burst of 20, then 2 a second). Any origin may call it (CORS).
For streams with admission: public. A waiting page calls it every
2 s with its seat; when offered a seat (state offer, 10 s), the
viewer presses Join and the page calls with join: true. Rate
limited per client address (a burst of 20, then 2 a second). Any
origin may call it (CORS).
publishableKeyAuthorizationBearer <token>pk_...
id*stringapplication/json- body
seat?SeatId^se_[0-9a-f]{32}$join?booleanfalsettl?integer1 <= value <= 3600viewer_ref?stringaccepted and ignored: a public seat is anonymous (its relay subject is seat:)
not seated (yet)
application/json- response
state?string"wait""offer""full"seat?SeatId^se_[0-9a-f]{32}$position?integerwait: place in line, from 1
offer_s?integeroffer: seconds left to join
retry_s?integerfull: seconds before asking again
retry_after_ms?integerplay_url?stringas in Seated: {play_url}/leave gives the place in line up at once
curl -X POST 'https://api.nearglass.com/v1/play/st_8f2c41d09a7be3105c6e2d77/admit' \ -H 'Content-Type: application/json' \ -d '{ "join": true}'{ "state": "wait", "seat": "string", "position": 0, "offer_s": 0, "retry_s": 0, "retry_after_ms": 0, "play_url": "string"}