Server-to-Server OAuth app - Badge Presence & Google Cal

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/events with reservation_id → 202, doesn’t prevent auto-release

  • POST /workspaces/events with user_id → 202, doesn’t prevent auto-release

  • POST /v2/rooms/{roomId}/events with method: check_in → 404 not recognized

  • POST /v2/rooms/{roomId}/events with method: 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}/reservations list 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.