Live presence
Who is in the room right now — as a snapshot you poll, or a stream you subscribe to.
ProposedNot yet callable
This is the proposed design for the live presence API. Nothing here is live yet.
Who is in the room
Poll a snapshot when a page load is enough, or subscribe to the stream when a screen has to stay live. Both expire on their own — presence is never a permanent record.
curl "https://api.onetaplabs.com/v1/presence?room=block-c-204" \ -H "Authorization: Bearer $ONETAP_KEY"What presence means
Presence and attendance answer different questions, and conflating them is the most common way this gets built wrong.
| Attendance | Presence | |
|---|---|---|
| Lifetime | Permanent record | Expires minutes after last detection |
| Question | Were they counted for CS101? | Who is in Block C / 204? |
| Use | Reporting, compliance, ERP sync | Roll-call screens, safety, occupancy |
Presence is not proof of attendance and should never be written into a permanent register on its own. Use the Attendance API for anything a student could be penalised by.
What it is for
- Roll-call screens. A display at the front of a hall showing who has arrived, updating as people walk in.
- Safety and evacuation. During a drill, who is still inside a building.
- Occupancy. How full a lab or library is, for capacity planning or a live availability board.
What it is not for: building a history of where a student has been. Presence expires by design and cannot be queried retrospectively.
Where to next
- Quickstart — take your first snapshot.
- Streaming — subscribe to changes, and why the grace period exists.
- Privacy — read this before enabling it in production.