Hammad's GitHub Enterprise Admin Hub

GitHub Enterprise administration, demystified

One interactive place to understand how enterprise accounts, organizations, enterprise teams, cost centers, budgets, AI credits, and Copilot licensing fit together — with live scenario simulation and a full REST API reference. Content is verified against GitHub Docs and the GitHub Changelog (July 2026) and auto-refreshed weekly.

500
max active cost centers per enterprise
1 AI credit = $0.01 USD
1,900 / 3,900
included AI credits per user/month (Business / Enterprise)
75 · 90 · 100%
budget alert thresholds

The big picture

Enterprise hierarchy + billing overlay
Enterprise Accountpolicies · billing · licensing · AI Controls
Organization Arepos · org teams · members
Organization Brepos · org teams · members
Enterprise Teamscross-org groups (GA Jun 2026)
Unaffiliated Usersno org needed — can still get Copilot
Repositories
Org Teams
Members
Cost Centersattribute usage: users · orgs · repos · enterprise teams
Budgetscontrol spend: enterprise · org · repo · cost center · user
AI Credit Poolscap included usage per cost center (Jul 2026)

Three pillars of spend governance

1 · Attribution — Cost Centers

Answer "who spent this?" Assign users, orgs, repos, and enterprise teams to cost centers. Usage rolls up automatically for chargeback and forecasting. Cost centers never stop spending by themselves.

2 · Control — Budgets

Answer "how much may they spend?" Dollar limits on metered products at enterprise, org, repo, cost center, or per-user scope — with alerts at 75/90/100% and an optional hard stop.

3 · Caps — AI Credit Pools NEW · Jul 2, 2026

Answer "how much of the shared included pool may they draw?" Cap a cost center's included AI credit consumption to exactly what its own Copilot licenses fund. Auto-calculated, API-managed.

💡 Try it live: jump into the Scenario Lab to build an enterprise, assign licenses to cost centers, toggle AI credit pool caps, and watch what happens when teams burn through credits.

What changed recently?

DateChangeStatus
2026-07-02Cost centers support AI credit pools — cap included AI credit draw per cost center (REST API; UI coming soon)GA (API)
2026-06-30Per-user AI credit budgets for cost centers (user-level budgets scoped to a cost center)GA (API)
2026-06-22Enterprise teams can be assigned to cost centers (SCIM-synced attribution)GA
2026-06-04Enterprise Teams generally available · Budget & usage management APIs GAGA
2026-02-26Enterprise AI Controls & Agent Control Plane GA — "AI Controls" tab is the permanent policy homeGA
2025-10-28Copilot Business management at the enterprise level GA (assign to users/enterprise teams, no org needed)GA

Full history in the Changelog tab — auto-updated weekly by a GitHub Actions workflow.

Enterprise & organization setup

The enterprise account is the top-level container for policy, billing, and identity. Organizations own the code. Understanding the roles at each level is the foundation of everything else.

Classic enterprise vs Enterprise Managed Users (EMU)

Classic (personal accounts)

  • Users bring their own github.com accounts
  • SAML SSO supported (enterprise or per-org)
  • Team sync only via Entra ID or Okta (org teams)
  • ❌ No IdP sync for enterprise teams
  • ❌ No guest collaborator role

EMU (managed accounts)

  • Accounts provisioned from IdP (Entra ID, Okta, PingFederate) via SCIM
  • Users can't change username/profile; no public content
  • ✅ Enterprise team ↔ IdP group sync via SCIM
  • ✅ Guest collaborator role available
  • Org/team membership fully IdP-driven
Partner IdPSAMLOIDCSCIM
Microsoft Entra ID
Okta
PingFederate

Enterprise roles

RoleWhat they can doNotes
Enterprise ownerFull control of settings, members, policies, billingNo org access by default — must join each org
Billing managerBilling settings, licenses, usage-based billing, cost centers & budgetsCannot assign enterprise teams to cost centers (owners only)
App managerManage enterprise-owned GitHub App registrationsCannot install/uninstall apps on orgs
Security manager PreviewView/manage security alerts enterprise-wide
MemberDefault role; internal-repo visibility across orgs
Unaffiliated userIn the enterprise but no orgCan still receive Copilot Business, enterprise team membership & custom roles
Guest collaboratorLimited internal-repo visibilityEMU only
Custom rolesDelegated slices of enterprise admin (e.g., "AI manager")Defined by enterprise owners

Organization roles

RoleScope
OwnerComplete admin access to the org
MemberDefault; can create repos and projects
Billing managerOrg billing settings only
Security managerSecurity alerts/settings on all repos + read access
ModeratorBlock users, interaction limits, hide comments
GitHub App managerOrg-owned GitHub App registrations
Outside / repository collaboratorPer-repo access without membership (EMU: "repository collaborator")
Custom org rolesGranular permission sets (e.g., audit-log-only)

Adding organizations to an enterprise

Three paths
Create new org
Enterprise owner becomes org owner automatically
Invite existing org
Org owner approves
Enterprise owner approves
Transfer between enterprises
Must be owner of both enterprises
⚠️ When an existing org joins: enterprise SAML overrides org SAML, enterprise policies apply immediately, and users without compliant 2FA lose access. EMU enterprises cannot import existing organizations.

Policy inheritance model

Every enterprise policy picks one mode
Enforceorgs cannot override
No policy / delegateeach org owner decides
Disableblocked enterprise-wide
Special: Copilot cloud agent → enterprise picks the exact orgs that get access
Special: enterprise-assigned Copilot users → covered by "Policies for enterprise-assigned users"

Enterprise Teams GA · Jun 4, 2026

Teams that live at the enterprise level and span organizations. They are the connective tissue between identity (IdP groups), Copilot licensing, org membership, and cost attribution.

One enterprise team, many uses
Enterprise Team @/ent:platform-sresynced to IdP group via SCIM (EMU)
Copilot Business licensesauto grant/revoke with membership
Org membershipadded to selected orgs, no invitations
Cost center assignmentusage attribution follows the team
Enterprise rolespredefined or custom
Ruleset bypassbypass actors on repo rulesets

Timeline

Sep 4, 2025Public preview
Jun 4, 2026Generally available
Jun 22, 2026Assignable to cost centers

✅ Can do

  • Receive Copilot Business licenses from the enterprise
  • Hold predefined/custom enterprise roles
  • Be added to organizations (members join without invites)
  • Bypass access on repository rulesets
  • @mention (@/ent:team-slug), assign, request review on PRs
  • IdP group sync via SCIM (EMU)
  • GitHub Apps & fine-grained PATs via "enterprise teams" permission
  • Full audit-log coverage
  • Belong to a cost center (usage attribution)

❌ Cannot do (yet)

  • IdP sync in classic (personal-account) enterprises
  • CODEOWNERS entries
  • Secret visibility
  • Nested (parent/child) teams
  • Team maintainer role
  • Project board access

Limits

  • 2,500 teams per enterprise
  • 5,000 members per team
  • 1,000 organizations per team

Key REST endpoints

ActionEndpoint
List / create teamsGET/POST /enterprises/{enterprise}/teams
Get / update / deleteGET/PATCH/DELETE /enterprises/{enterprise}/teams/{team_slug}
Bulk membershipPOST …/teams/{team}/memberships/add · …/remove
Single memberPUT/DELETE …/teams/{team}/memberships/{username}
Org assignmentPOST …/teams/{team}/organizations/add · PUT/DELETE …/organizations/{org}

Auth: classic PAT — read:enterprise (read) / admin:enterprise (write). Full details in the API Explorer.

Cost centers & budgets

Cost centers attribute usage to business units. Budgets control how much gets spent. They are separate, complementary tools — most enterprises need both.

Cost centers — attribution

Who can manage them

  • Enterprise owners & billing managers — any resource in the enterprise
  • Org owners — cost centers containing only their org's resources
  • Enterprise teams → cost centers: enterprise owners only

What goes in one

  • 👤 Users (direct)
  • 🏢 Organizations
  • 📁 Repositories
  • 👥 Enterprise teams Jun 2026 (SCIM-synced)

A resource belongs to one cost center at a time — adding it elsewhere moves it.

Limits & facts

  • Max 500 active cost centers per enterprise
  • Max 25,000 resources per cost center
  • Max 50 resources per API call
  • Outside collaborators / unaffiliated users: API-only assignment
  • Each cost center can bill to a different Azure subscription (UI-only setup)
  • Deleting = archiving — still queryable with ?state=deleted

How usage is attributed

Attribution priority for license/user-based products (Copilot, AI credits, GHAS, GHE licenses)
1 · Direct user assignmentalways wins
2 · Enterprise team membershipearliest-created team wins on conflict
3 · Organization membershipcost center containing the org
Unattributedrolls up to enterprise
ProductCharged to the cost center containing…
GitHub Actionsthe repository or organization where the workflow runs
Codespacesthe repository or organization where it's created
Copilot licensethe user (priority) → the org paying for the license
AI credits / Copilot cloud agentthe user who triggered usage (priority) → org that granted the license
GitHub Enterprise licensethe user (priority) → oldest org the user belongs to
Advanced Securitythe user (priority) → org billed for the license
Git LFS / Packagesthe repository or organization owning the resource

Budgets — control

Product budgets

ProductPricing — an entire product: all of Actions, all of Packages, Codespaces…

SKU budgets

SkuPricing — one SKU: actions_linux_96_core, secret_protection, code_security

Bundled AI credits

BundlePricing + ai_credits — everything that consumes AI credits: Copilot, cloud agent, Spark.

Budget scopeCapsNotes
EnterpriseAll metered charges enterprise-wideNot a total bill cap — licenses are separate
OrganizationOne org's metered charges
RepositoryOne repo's metered charges
Cost centerAll metered charges attributed to the cost centerPairs with AI credit pools
User — universalAI credits per licensed user (all users)Always a hard stop
User — cost center Jun 30, 2026Per-user cap for everyone in a cost centerOverrides universal; API-only
User — individualOne specific userOverrides both; $0 = immediate block
⚠️ "Stop usage when limit reached" is OFF by default — a budget only alerts unless you enable the hard stop. It's unavailable for license-based products (seats). For GHAS SKUs it limits new repo enablement only. User-level budgets are always hard stops.
✅ Alerts fire at 75%, 90%, and 100% (email + banner) to owners/billing managers plus configured recipients. Separate included-usage alerts at 90%/100% exist for Actions minutes, storage, Packages, LFS, Codespaces.

Budget mechanics worth remembering

Cost center vs budget vs AI credit pool

ControlQuestion it answersPhaseStops spend?
Cost centerWho is responsible for this usage?Always (attribution)❌ Never
AI credit poolHow much included AI credit may this cost center draw?Pool phase (before metered)✅ Optional block or roll to paid
BudgetHow many dollars of metered usage are allowed?Metered phase (after pool)✅ If "stop usage" enabled

AI credits & included usage caps

Copilot usage-based billing moved from per-request "premium request" multipliers to token-based AI credits. Existing premium-request budgets were converted automatically. 1 AI credit = $0.01 USD.

Included credits per plan

PlanPriceStandard included AI credits / user / monthPromo (Jun 1 – Sep 1, 2026)
Copilot Business$19 / user / mo1,9003,000
Copilot Enterprise$39 / user / mo3,9007,000
🏊 Included credits pool enterprise-wide per billing cycle — heavy users draw more, light users offset them. That's powerful, but it means one team can silently consume credits another team's licenses paid for. Enter AI credit pools…

AI credit pools for cost centers Jul 2, 2026

Without vs with an AI credit pool cap
Without capcost center draws freely from the shared enterprise pool
vs
With cap (ai_credit_pool_enabled)draw limited to credits funded by the cost center's own licenses
Pool limit is auto-calculated from assigned Business/Enterprise licenses — you never maintain the number

How it works

  • Toggle ai_credit_pool_enabled: true on create/edit (REST API today; UI coming)
  • Cost center must contain users or enterprise teams (not just orgs/repos)
  • Limit auto-adjusts as licenses are added/removed
  • Applies only to the included/pool phase — before metered billing

When the cap is hit — pick one

  • 🚫 Block: members stop consuming included credits (completions keep working)
  • 💳 Roll to paid: usage continues as metered spend at $0.01/credit (requires the "AI credit paid usage" policy) — then cost center budgets take over
⚠️ Enabling a pool does not retroactively redistribute credits already drawn this cycle. Disabling returns members to the shared enterprise pool.

The full check sequence for one AI request

What GitHub evaluates when a licensed user makes an AI request
1 · User-level budgetindividual → cost center ULB → universal (most specific wins)
2 · Included poolcost center pool cap if enabled, else shared pool
3 · Metered phasecost center → org → enterprise budgets; lowest headroom blocks first
Served or blocked

What consumes AI credits

✅ Consumes credits

Copilot Chat · Copilot CLI · Copilot cloud agent · Copilot Spaces · Spark · third-party coding agents · code review (tokens billed to review requester)

❌ Never consumes credits

Code completions and next edit suggestions — unlimited on all paid plans, and they keep working even when a user is blocked.

⚠️ Blocked users stay blocked until the next billing cycle or a budget increase. There is no automatic fallback to cheaper models. An enterprise budget is not a total bill cap: 400 Business seats ($7,600 licenses) + $5,000 enterprise budget = max bill $12,600.
Model pricing per 1M tokens (July 2026)
ModelInputCachedOutput
GPT-5 mini$0.25$0.025$2.00
GPT-5.4 mini$0.75$0.075$4.50
GPT-5.3-Codex$1.75$0.175$14.00
GPT-5.4 (≤272K)$2.50$0.25$15.00
GPT-5.5 (≤272K)$5.00$0.50$30.00
Claude Haiku 4.5$1.00$0.10$5.00
Claude Sonnet 4.x$3.00$0.30$15.00
Claude Sonnet 5 (promo)$2.00$0.20$10.00
Claude Opus 4.5–4.8$5.00$0.50$25.00
Claude Fable 5$10.00$1.00$50.00
Gemini 2.5 Pro$1.25$0.125$10.00
Gemini 3.1 Pro (≤200K)$2.00$0.20$12.00

Anthropic models also bill cache writes (e.g., Sonnet $3.75/1M). Copilot code review model selection is automatic and undisclosed.

Copilot seat & license management

Two distinct licensing models coexist: enterprise-level direct assignment (Copilot Business only, no org required) and org-level enablement (Business or Enterprise, org owners pick who gets seats).

The two paths to a Copilot seat
Enterprise Account
Path 1 · Enterprise-level GA Oct 2025Copilot Business only → users or enterprise teams
no org membership, no GHEC license needed
Path 2 · Org enablementenable Copilot per org (all or selected orgs)
Business or Enterprise plan per org — mixed plans OK
Enterprise team member → auto grant/revoke
Org owner assigns: all members, or selected members/teams

Path 1 — enterprise direct

  • Enterprise → Billing & Licensing → Licensing → Copilot → Manage
  • Assign to individual users or enterprise teams
  • Works for unaffiliated users (no org, no GHEC seat)
  • Copilot Business only — no enterprise-level path for Copilot Enterprise
  • "Policies for enterprise-assigned users" governs these users when org policies are delegated

Path 2 — via organizations

  • Enterprise enables Copilot for specific orgs or all orgs
  • With a Copilot Enterprise agreement: pick Business or Enterprise per org — mixed plans in one enterprise
  • Org owner then chooses: all members / selected members / selected teams
  • Copilot Enterprise seats are only assignable this way
Deduplication: a user with access from both an org and the enterprise consumes one seat and gets the highest plan assigned.

Seat management API surface

LevelEndpointPurpose
Enterprise PreviewGET /enterprises/{e}/copilot/billing/seatsAll seats across orgs + enterprise teams (deduped in total_seats)
POST/DELETE /enterprises/{e}/copilot/billing/selected_enterprise_teamsGrant/revoke via enterprise teams
POST/DELETE /enterprises/{e}/copilot/billing/selected_usersGrant/revoke individual users
OrganizationGET /orgs/{org}/copilot/billingSubscription info, seat breakdown, feature policies
GET /orgs/{org}/copilot/billing/seatsList org seats
POST/DELETE /orgs/{org}/copilot/billing/selected_teams · selected_usersGrant/revoke via org teams / users
GET /orgs/{org}/members/{username}/copilotOne user's seat details & last activity

Usage metrics API (2026 architecture)

The old inline-JSON /copilot/usage endpoint is superseded. Metrics endpoints now return signed download links to report files. Requires the "Copilot usage metrics" policy = Enabled everywhere. History: up to 1 year (data since Oct 10, 2025).

ReportEnterpriseOrg
28-day aggregate…/copilot/metrics/reports/enterprise-28-day/latest…/copilot/metrics/reports/organization-28-day/latest
1-day aggregate…/enterprise-1-day?day=YYYY-MM-DD…/organization-1-day
User-level…/users-28-day/latest · …/users-1-daysame, org-scoped
User↔team join…/user-teams-1-daysame, org-scoped

Copilot & AI policies

Since Feb 26, 2026 all Copilot/agent governance lives in the enterprise AI Controls tab (the old Copilot policies page was removed). Each policy is set to Enforce, Delegate ("no policy"), or Disable.

Key enterprise policies

PolicySurfaceNotes
Copilot Chat in IDE / agent modeIDEsAgent mode policy added Nov 2025, defaults Enabled
Copilot CLI · Copilot on GitHub.comCLI / web
Copilot cloud agentCloud agentsEnterprise selects specific orgs — not simple delegation
Third-party agents · code review · web searchAgents
MCP servers in CopilotMCPDoes not govern GitHub MCP server in third-party hosts; enterprise MCP allowlist still in preview
Suggestions matching public codeIDEsallow / block / unconfigured
Custom models · Spark · editor previewsVarious
Copilot Metrics APIAPIMost-restrictive conflict resolution

Conflict resolution for multi-org users

Least restrictive wins

Chat, agent mode, CLI, web Copilot, web search, code review, cloud agent, Spark, MCP, editor previews, custom models — if any org enables it, the user has it.

Most restrictive wins

Public code suggestions, Copilot Metrics API, semantic indexing — if any org disables it, the user loses it. Across multiple enterprises, most restrictive usually applies.

Agent Control Plane GA Feb 2026

Scenario Lab 🧪

Build an enterprise, split licenses across cost centers, toggle AI credit pools and budgets, then simulate a month of usage. Numbers use real July 2026 rates: Business $19/seat + 1,900 credits, Enterprise $39/seat + 3,900 credits, $0.01 per metered credit.

Presets

1 · Enterprise licenses

2 · Cost centers

3 · Results

Included (pool) Metered overage ($0.01/credit) Blocked demand

REST API Explorer

Every admin/billing endpoint covered in this hub, with auth requirements, sample payloads, and copyable curl. All calls need headers: Accept: application/vnd.github+json and X-GitHub-Api-Version.

Changelog tracker

Relevant entries from the GitHub Changelog, filtered to enterprise admin, billing, cost centers, and Copilot management. A GitHub Actions workflow in this repo refreshes this list every Monday and updates the README.

How the auto-update works
⏰ Cron: Mondays 06:00 UTC
Fetch changelog RSSmain + copilot + enterprise labels
Keyword filtercost centers, budgets, seats, AI credits…
Commit data/changelog.json + README
Site redeploysPages + Azure SWA