Skip to main content

Documentation Index

Fetch the complete documentation index at: https://support.configview.com/llms.txt

Use this file to discover all available pages before exploring further.

ConfigView pulls GitHub data through one Personal Access Token (PAT) with enterprise-level scopes, plus your enterprise slug. The same PAT covers all 46 endpoints — there is no separate SCIM, billing, or audit credential. You will end up with 2 secrets in ConfigView (GITHUB_TOKEN, GITHUB_ENTERPRISE_SLUG) when setup is complete.
Plan requirement. Most endpoints require a GitHub Enterprise Cloud subscription. A handful (repos, repo_*, org_* basics) work on Team or Free orgs too, but the enterprise-tier endpoints (audit log, billing, runners, Copilot, secret-scanning aggregation, members-by-consumed-license) only function for an Enterprise account. If you are not on Enterprise Cloud, you can still enable the org and repo endpoints — the enterprise ones will fail cleanly.

Step 1: Identify your enterprise slug

Open https://github.com signed in as a GitHub user who is an Enterprise Owner.
  1. Click your profile picture → Your enterprises
  2. Click your enterprise
  3. The URL is https://github.com/enterprises/<slug> — copy the <slug> portion
That slug is your GITHUB_ENTERPRISE_SLUG.
If you do not see Your enterprises, you are not an Enterprise Owner on any enterprise. You can still proceed using org-level endpoints only — set GITHUB_ENTERPRISE_SLUG to any non-empty placeholder (e.g. none) and skip every script whose display name begins with Enterprise.

Step 2: Create the Personal Access Token

ConfigView uses a classic PAT (not fine-grained) because GitHub’s enterprise endpoints, audit log, and Copilot APIs are not yet supported under fine-grained PATs.
  1. Sign in to GitHub as the Enterprise Owner identified in Step 1
  2. Open https://github.com/settings/tokens
  3. Click Generate new tokenGenerate new token (classic)
  4. Note: ConfigView
  5. Expiration: pick a duration that matches your secret-rotation policy (90 days, 1 year, or custom)
  6. Select scopes: check the boxes below. The scope you need depends on which endpoints you plan to enable — checking all of them is the simplest path:
ScopeWhyEndpoints it unlocks
read:enterpriseEnterprise account + members + audit logAll Enterprise-prefixed endpoints
read:orgOrg structure, teams, membersOrganizations, Org Members, Teams, Team Members, Outside Collaborators
read:audit_logOrg-level audit logOrg Audit Log
admin:org (read-only is implied)Webhooks, installations, fine-grained PATs, IP allow list, settingsInstalled GitHub Apps, Fine-Grained PATs, Org Webhooks, IP Allow List, Org Settings, Org Actions Permissions
repoPrivate repo metadata, branch protection, env secrets (names only)Repositories (private), Branch Protection, Repo Secrets, Environments, Webhooks, Deploy Keys
security_eventsDependabot, code-scanning, secret-scanning alertsDependabot Alerts, Code Scanning Alerts, Secret Scanning Alerts (Org + Enterprise)
manage_billing:enterpriseEnterprise billing endpointsEnterprise Billing — Actions / Packages / Shared Storage
copilot (or manage_billing:copilot)Copilot seat + usage + billingCopilot Seat Assignments, Copilot Usage, Copilot Billing Summary
read:user, user:emailSSH/GPG/SAML key metadata for enterprise membersUser SSH Keys, User GPG Keys, SAML/SSO Identities
  1. Click Generate token
  2. Copy the token (starts with ghp_...). You will not be able to see it again — store it somewhere safe.
SAML SSO authorization. If your enterprise enforces SAML SSO, after creating the token you must authorize it for SSO: on the token page, find the new token in the list and click Configure SSOAuthorize for your enterprise. Otherwise every API call returns 403.
Read-only scopes only. ConfigView never writes to GitHub. The scopes above let it call GET endpoints; the API has no concept of “read-only token,” so a repo scope technically allows writes — but the scripts only issue reads.

Step 3: Add the secrets to ConfigView

  1. Go to your ConfigView dashboard: https://{companyname}.configview.com/admin/secret/
  2. Click Add Secret and create:
    • GITHUB_TOKEN: the ghp_... token from Step 2
    • GITHUB_ENTERPRISE_SLUG: the slug from Step 1
  3. Click Save

Step 4: Enable the GitHub scripts in ConfigView

  1. Go to: https://{companyname}.configview.com/admin/cron/
  2. You should see github in the list of available apps
  3. Select the scripts you want to run. Group them by tier — enable only the tiers that match your plan:

Enterprise tier (Enterprise Cloud required)

ScriptNotes
Enterprise AccountSingle row — name, billing email, created date
Enterprise Owners & Billing ManagersWho can administer the enterprise
Enterprise Members (Consumed Licenses)Authoritative seat count for billing reconciliation
Enterprise Pending InvitationsOutstanding invites that aren’t consuming seats yet
Enterprise OrganizationsEvery org under the enterprise. Most other scripts depend on this.
Enterprise Audit LogLast 30 days of enterprise-level admin events
Enterprise Billing — Actions / Packages / Shared StorageThree separate scripts for the three billable units
Enterprise Self-Hosted RunnersInventory of enterprise-level runners
Enterprise Runner GroupsRunner groups + which orgs/repos can use them
Enterprise Secret Scanning AlertsCross-org rollup
Copilot Seat AssignmentsWho has a Copilot seat
Copilot Usage (Daily)Daily active users, suggestions, acceptance rate
Copilot Billing SummarySeat count + per-seat cost

Org tier (works on any GitHub Team or Enterprise org)

ScriptNotes
OrganizationsAll orgs under the enterprise. Almost every org/repo script depends on this.
Org MembersPer-org member list with role (admin/member)
Outside CollaboratorsNon-members with access to org repos
Org Pending InvitationsOutstanding org invites
TeamsAll teams in each org
Team MembersMembership of each team. Depends on Teams.
Team Repository PermissionsWhich repos each team has access to + at what permission. Depends on Teams.
Installed GitHub AppsGitHub Apps installed on the org (not OAuth)
OAuth Apps (from Audit Log)Extracted from oauth_authorization.create audit events — there is no direct API
Fine-Grained PATsPATs that have access to org resources
Org WebhooksWebhooks configured at the org level
Org Secrets (Names)Names only — GitHub never returns secret values
Org Actions VariablesWorkflow variables at the org level (names + visibility)
Org Actions PermissionsWhich actions allowed, default workflow permissions
Security Manager TeamsTeams granted the security-manager role
Custom Repository RolesOrg-defined custom roles
Dependabot / Code Scanning / Secret Scanning AlertsThree separate scripts for the three alert kinds (org rollup)
IP Allow ListEnabled status + entries
Org Audit LogLast 30 days of org-level events. Same source as OAuth Apps — enable both together.
Org SettingsMisc org settings (default repo permission, member privileges, etc.)

Repo tier

ScriptNotes
RepositoriesEvery repo across every visible org. All repo_ scripts depend on this.*
Branch Protection (Default Branch)Default branch only — feature/release branches are not walked
Repo Secrets (Names)Names only
Repo EnvironmentsEnvironments + their protection rules
Repo CollaboratorsPer-repo direct + team-derived access
Repo WebhooksRepo-level webhooks
Repo Deploy Keys (Metadata)Fingerprints, last-used dates — never the private key

User tier

ScriptNotes
User SSH KeysPer enterprise-member SSH key metadata. Depends on Enterprise Members.
User GPG KeysPer enterprise-member GPG key metadata. Depends on Enterprise Members.
SAML/SSO IdentitiesMapping between GitHub user and SAML NameID. Depends on Enterprise Members.
  1. Click Save
Note: ConfigView wires the parent-child dependencies automatically (e.g. org_members runs after organizations). You only need to make sure the parent script is enabled when you enable a child.

Step 5: Verify

  1. Go to: https://{companyname}.configview.com/admin/status/
  2. Run the GitHub health check
  3. The check should pass with your enterprise name + at least one organization listed
If a check fails:
  • 401 Bad credentials — Token expired, revoked, or has zero scopes. Re-issue from Step 2.
  • 403 Resource not accessible by personal access token — Token missing a required scope. Compare the failing endpoint against the scope table in Step 2.
  • 403 must use SAML SSO to access this resource — Authorize the token for SSO (Step 2, final note).
  • 404 Not Found on enterprise endpointsGITHUB_ENTERPRISE_SLUG is wrong or the token’s owner is not an Enterprise Owner.
  • Org Members finds zero outside collaborators / pending invites — Frequently legitimate; the org may genuinely have none. Cross-check against https://github.com/orgs/<org>/people.

Data Tables

Once the scripts run, the corresponding tables are created in your database. All tables include a run_at column for historical tracking. Selected highlights below — see manifest.json for the full list.
TableSourceKey Columns
github_enterprise/enterprises/{slug}name, slug, created_at, billing_email
github_enterprise_members/enterprises/{slug}/consumed-licenseslogin, github_com_user, github_com_member, license_type, last_activity_at
github_organizations/enterprises/{slug}/organizationslogin, id, description, default_repository_permission
github_org_members/orgs/{org}/membersorg, login, role (admin/member), site_admin
github_repos/orgs/{org}/reposorg, name, private, archived, fork, pushed_at, size_kb, default_branch
github_repo_branch_protection/repos/{org}/{repo}/branches/{branch}/protectionrequired_status_checks_json, require_pr_reviews, restrict_pushes
github_org_dependabot_alerts/orgs/{org}/dependabot/alertsrepo, severity, state, dependency, ghsa_id, created_at
github_copilot_seats/enterprises/{slug}/copilot/billing/seatslogin, plan_type, assignee_team, created_at, last_activity_at
github_copilot_usage/enterprises/{slug}/copilot/usageday, total_suggestions_count, total_acceptances_count, total_active_users
github_enterprise_audit_log/enterprises/{slug}/audit-logaction, actor, repo, org, created_at, raw_json

What you can’t ingest with this setup

  • Private repo file contents. ConfigView reads metadata, not source. No commits, no blobs, no diffs.
  • Issue / PR bodies. Not in scope. Add via custom query if needed.
  • Actions workflow runs / job logs. Available via API but not wired in — open a feature request if useful.
  • Audit log older than 30 days. GitHub retains 180 days but the API streams it lazily; the script pulls a rolling 30-day window. Cumulative history accumulates from successive runs in run_at.