We have a Server-to-Server OAuth app and when a room is booked via Google Calendar and synced to Zoom Workspaces, we need to trigger an auto check-in via API when we detect badge presence through Openpath. We’ve tried POST /workspaces/events with both reservation_id and user_id — both return 202 but don’t prevent the 10-minute auto-release. Is there an API endpoint that triggers the same check-in as the room panel or Zoom app?
Update — Additional approaches tried:
We’ve exhaustively tested every available API approach and wanted to document for the community:
-
POST /workspaces/eventswithreservation_id→ 202, doesn’t prevent auto-release -
POST /workspaces/eventswithuser_id→ 202, doesn’t prevent auto-release -
POST /v2/rooms/{roomId}/eventswithmethod: check_in→ 404 not recognized -
POST /v2/rooms/{roomId}/eventswithmethod: zoomroom.check_in+ Google Calendar event_id → 404 not recognized -
PATCH /workspaces/{workspaceId}/reservations/{reservationId}to extend end time → 400 read-only for calendar-synced bookings -
GET /workspaces/{workspaceId}/reservationslist endpoint → returns empty for calendar-synced room bookings
The Google Calendar extension via Apps Script (CalendarApp.setTime()) successfully extends the event and Zoom syncs the change — but Zoom still auto-releases at the 10-minute mark regardless.
Core question: Is there ANY API endpoint that replicates what the physical room panel does when a user taps “Check In”? The room panel clearly sends a different signal than POST /workspaces/events. What is that signal and can it be triggered programmatically?
This is blocking a badge-based presence engine (OpenPath/Avigilon Alta) from working with Google Calendar room bookings. Any guidance from the Zoom team would be hugely appreciated.