2.4.4. Managing Subscriptions with the REST API
💡 First Principle: Because seat and subscription management is just data, GitHub exposes it through the REST API — letting organizations automate provisioning, deprovisioning, and reporting instead of clicking through the web UI.
The syllabus explicitly calls out managing subscriptions using the REST API. Admins can use Copilot-related REST API endpoints to manage seats programmatically — adding or removing users, listing seat assignments, and pulling usage information — which is how large organizations integrate Copilot administration into their own automation and joiner/leaver workflows.
A scenario: a company onboards dozens of engineers a month and wants Copilot seats provisioned automatically as part of their HR system's onboarding flow. Rather than manual web-UI clicks, they script it against the REST API.
✅ Best Practice: Automating seat management via the REST API reduces both wasted spend (reclaiming seats from leavers) and onboarding delay (instant provisioning) at scale.
⚠️ Exam Trap: Seat/subscription management is not web-UI-only. If a scenario emphasizes automation or scale, the REST API is the intended answer, not "do it manually in settings."
Reflection Question: Why would a large organization manage Copilot seats through the REST API rather than the web interface, and what kinds of operations does that enable?