I’m trying to access the Scheduler API from a Server-to-Server OAuth app but all Scheduler endpoints return 401 “Invalid license type”.
Setup:
- Server-to-Server OAuth app, Account-level
- Zoom Scheduler license is ACTIVE on the account (visible in Account > Plans)
- Zoom Scheduler is ENABLED in Account Settings > Scheduler
- Added these scopes to the app (token returns all of them correctly):
scheduler:read:list_schedule:admin
scheduler:read:list_availability:admin
scheduler:read:list_scheduled_events:admin
scheduler:read:scheduled_event:admin
scheduler:write:availability:admin
scheduler:write:scheduled_event:admin
Problem:
- GET /scheduler/schedules → 401 “Invalid license type”
- GET /scheduler/availability → 401 “Invalid license type”
- GET /scheduler/events → 401 “Invalid license type”
Control test (proves the token is valid):
- GET /meetings/{meetingId} → 200 OK (Meeting scopes work fine)
- An invalid route → 404 Route Not Found (so the Scheduler routes exist; it’s the license that blocks)
The error is not about scopes (that error message is different and I no longer get it). It’s specifically “Invalid license type”.
Question: what license type or configuration is required to access the Scheduler API from a Server-to-Server app? Is Scheduler API access restricted to certain plans, or does it require a specific user-level assignment or additional entitlement?