# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for GitHub v3 REST Enterprise Admin API version: 1.0.0 extends: openapi/github-enterprise-admin-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-24' generator: build-phrasing.py label: Generated by API Evangelist operations: 121 - target: $.paths['/admin/hooks'].get update: x-apievangelist-phrasing: intent: List global webhooks on the instance effect: read questions: - Which global webhooks are configured on our GitHub Enterprise Server instance? - Can I page through all the instance-wide webhooks an admin has set up? instructions: - text: List all the global webhooks on this instance. - text: Show page {page} of global webhooks, {per_page} per page. slots: page: query.page per_page: query.per_page method: generated generated: '2026-09-24' - target: $.paths['/admin/hooks'].post update: x-apievangelist-phrasing: intent: Create a global webhook effect: write questions: - How do I set up an instance-wide webhook that fires on user and organization events? - Can I create a global webhook that starts out inactive? instructions: - text: Create a global webhook named {name} with the config {config}. slots: name: requestBody.name config: requestBody.config - text: Add a new global webhook {name} using {config} that fires on {events}. slots: name: requestBody.name config: requestBody.config events: requestBody.events method: generated generated: '2026-09-24' - target: $.paths['/admin/hooks/{hook_id}'].get update: x-apievangelist-phrasing: intent: Get a global webhook's details effect: read questions: - What events and delivery URL is a particular global webhook configured with? - Is a specific instance-level webhook currently active? instructions: - text: Get global webhook {hook_id}. slots: hook_id: path.hook_id - text: Show the config and events for global hook {hook_id}. slots: hook_id: path.hook_id method: generated generated: '2026-09-24' - target: $.paths['/admin/hooks/{hook_id}'].delete update: x-apievangelist-phrasing: intent: Delete a global webhook effect: destructive questions: - How do I remove an instance-wide webhook we no longer use? - Can I permanently delete a global webhook from the enterprise server? instructions: - text: Delete global webhook {hook_id}. slots: hook_id: path.hook_id - text: Remove the instance-level webhook with ID {hook_id}. slots: hook_id: path.hook_id method: generated generated: '2026-09-24' - target: $.paths['/admin/hooks/{hook_id}'].patch update: x-apievangelist-phrasing: intent: Update a global webhook effect: write questions: - How do I change which events an existing global webhook listens to? - Will fields I leave out reset to defaults when I edit a global webhook? instructions: - text: Update global webhook {hook_id} to fire on {events}. slots: hook_id: path.hook_id events: requestBody.events - text: Change the config of existing global hook {hook_id} to {config} and set active to {active}. slots: hook_id: path.hook_id config: requestBody.config active: requestBody.active method: generated generated: '2026-09-24' - target: $.paths['/admin/hooks/{hook_id}/pings'].post update: x-apievangelist-phrasing: intent: Send a test ping to a global webhook effect: write questions: - How can I test that a global webhook's endpoint is receiving deliveries? - Can I trigger a ping event for an instance-wide webhook? instructions: - text: Ping global webhook {hook_id}. slots: hook_id: path.hook_id - text: Send a test ping event to global hook {hook_id} to confirm delivery works. slots: hook_id: path.hook_id method: generated generated: '2026-09-24' - target: $.paths['/admin/keys'].get update: x-apievangelist-phrasing: intent: List SSH public keys across the instance effect: read questions: - Which user SSH public keys exist on our enterprise instance? - Can I see only the public keys that have been used since a certain date? instructions: - text: List all public keys on the instance. - text: Show public keys accessed since {since}, sorted by {sort}. slots: since: query.since sort: query.sort method: generated generated: '2026-09-24' - target: $.paths['/admin/keys/{key_ids}'].delete update: x-apievangelist-phrasing: intent: Delete a user's SSH public key effect: destructive questions: - As a site admin, how do I revoke a compromised SSH public key for a user? - Can I remove a public key from the instance by its key ID? instructions: - text: Delete public key {key_ids}. slots: key_ids: path.key_ids - text: Revoke the SSH public key with ID {key_ids} from the instance. slots: key_ids: path.key_ids method: generated generated: '2026-09-24' - target: $.paths['/admin/ldap/teams/{team_id}/mapping'].patch update: x-apievangelist-phrasing: intent: Map a team to an LDAP group effect: write questions: - How do I link an existing team to an LDAP group's distinguished name? - Does LDAP sync need to be enabled before I can map a team to an LDAP entry? instructions: - text: Map team {team_id} to the LDAP DN {ldap_dn}. slots: team_id: path.team_id ldap_dn: requestBody.ldap_dn - text: Change the LDAP group mapping for team {team_id} to {ldap_dn}. slots: team_id: path.team_id ldap_dn: requestBody.ldap_dn method: generated generated: '2026-09-24' - target: $.paths['/admin/ldap/teams/{team_id}/sync'].post update: x-apievangelist-phrasing: intent: Queue an LDAP sync for a team effect: write questions: - How do I force a team's membership to resync from LDAP? - Does queuing a team LDAP sync run it immediately? instructions: - text: Queue an LDAP sync for team {team_id}. slots: team_id: path.team_id - text: Resync team {team_id}'s membership from its mapped LDAP group. slots: team_id: path.team_id method: generated generated: '2026-09-24' - target: $.paths['/admin/ldap/users/{username}/mapping'].patch update: x-apievangelist-phrasing: intent: Map a user to an LDAP entry effect: write questions: - How do I point a user account at a different LDAP distinguished name? - Can I fix a user's LDAP DN mapping after their directory entry moved? instructions: - text: Map user {username} to the LDAP DN {ldap_dn}. slots: username: path.username ldap_dn: requestBody.ldap_dn - text: Update the LDAP entry that {username} is linked to so it's {ldap_dn}. slots: username: path.username ldap_dn: requestBody.ldap_dn method: generated generated: '2026-09-24' - target: $.paths['/admin/ldap/users/{username}/sync'].post update: x-apievangelist-phrasing: intent: Queue an LDAP sync for a user effect: write questions: - How do I refresh a single user's account details from LDAP? - Is a user LDAP sync performed right away or queued? instructions: - text: Queue an LDAP sync for user {username}. slots: username: path.username - text: Resync {username}'s account from the directory. slots: username: path.username method: generated generated: '2026-09-24' - target: $.paths['/admin/organizations'].post update: x-apievangelist-phrasing: intent: Create an organization as site admin effect: write questions: - How does a site administrator create a new organization and assign its admin? - Can I give a new organization a display name separate from its login? instructions: - text: Create organization {login} with {admin} as its admin. slots: login: requestBody.login admin: requestBody.admin - text: Set up a new org {login} administered by {admin} and display it as {profile_name}. slots: login: requestBody.login admin: requestBody.admin profile_name: requestBody.profile_name method: generated generated: '2026-09-24' - target: $.paths['/admin/organizations/{org}'].patch update: x-apievangelist-phrasing: intent: Rename an organization effect: write questions: - How do I change an organization's login name on the enterprise instance? - Can a site admin rename an existing org? instructions: - text: Rename organization {org} to {login}. slots: org: path.org login: requestBody.login - text: Change the {org} org's login to {login}. slots: org: path.org login: requestBody.login method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-environments'].get update: x-apievangelist-phrasing: intent: List pre-receive hook environments effect: read questions: - Which pre-receive environments are available to run hook scripts in? - Can I sort the list of pre-receive environments by name or creation date? instructions: - text: List all pre-receive environments. - text: Show pre-receive environments sorted by {sort} in {direction} order. slots: sort: query.sort direction: query.direction method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-environments'].post update: x-apievangelist-phrasing: intent: Create a pre-receive hook environment effect: write questions: - How do I add a custom environment image for pre-receive hooks to run in? - What do I need to supply to register a new pre-receive environment tarball? instructions: - text: Create a pre-receive environment named {name} from the image at {image_url}. slots: name: requestBody.name image_url: requestBody.image_url - text: Register a new hook environment {name} using tarball {image_url}. slots: name: requestBody.name image_url: requestBody.image_url method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-environments/{pre_receive_environment_id}'].get update: x-apievangelist-phrasing: intent: Get a pre-receive environment effect: read questions: - What image URL and download state does a given pre-receive environment have? - How many hooks use a specific pre-receive environment? instructions: - text: Get pre-receive environment {pre_receive_environment_id}. slots: pre_receive_environment_id: path.pre_receive_environment_id - text: Show the full details of hook environment {pre_receive_environment_id}. slots: pre_receive_environment_id: path.pre_receive_environment_id method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-environments/{pre_receive_environment_id}'].delete update: x-apievangelist-phrasing: intent: Delete a pre-receive environment effect: destructive questions: - How do I delete a pre-receive environment we no longer need? - Why can't I delete the default environment or one that hooks still use? instructions: - text: Delete pre-receive environment {pre_receive_environment_id}. slots: pre_receive_environment_id: path.pre_receive_environment_id - text: Remove the unused hook environment {pre_receive_environment_id}. slots: pre_receive_environment_id: path.pre_receive_environment_id method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-environments/{pre_receive_environment_id}'].patch update: x-apievangelist-phrasing: intent: Update a pre-receive environment effect: write questions: - How do I rename a pre-receive environment or point it at a new image URL? - Can I edit the default pre-receive environment? instructions: - text: Rename pre-receive environment {pre_receive_environment_id} to {name}. slots: pre_receive_environment_id: path.pre_receive_environment_id name: requestBody.name - text: Change the image URL of hook environment {pre_receive_environment_id} to {image_url}. slots: pre_receive_environment_id: path.pre_receive_environment_id image_url: requestBody.image_url method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-environments/{pre_receive_environment_id}/downloads'].post update: x-apievangelist-phrasing: intent: Re-download a pre-receive environment image effect: write questions: - How do I refresh a pre-receive environment after publishing a new tarball at its image URL? - Will re-downloading an environment overwrite the existing one? instructions: - text: Start a new download for pre-receive environment {pre_receive_environment_id}. slots: pre_receive_environment_id: path.pre_receive_environment_id - text: Trigger a fresh tarball download for hook environment {pre_receive_environment_id} from its image URL. slots: pre_receive_environment_id: path.pre_receive_environment_id method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest'].get update: x-apievangelist-phrasing: intent: Check a pre-receive environment download effect: read questions: - Has the latest tarball download for my pre-receive environment finished or failed? - Can I check just the download state of a hook environment? instructions: - text: Get the latest download status for pre-receive environment {pre_receive_environment_id}. slots: pre_receive_environment_id: path.pre_receive_environment_id - text: Check whether hook environment {pre_receive_environment_id} finished downloading. slots: pre_receive_environment_id: path.pre_receive_environment_id method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-hooks'].get update: x-apievangelist-phrasing: intent: List all pre-receive hooks on the instance effect: read questions: - Which pre-receive hooks are defined globally on our enterprise server? - Can I sort the instance's pre-receive hooks by name? instructions: - text: List every pre-receive hook defined at the instance level. - text: Show instance pre-receive hooks sorted by {sort} {direction}. slots: sort: query.sort direction: query.direction method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-hooks'].post update: x-apievangelist-phrasing: intent: Create a pre-receive hook effect: write questions: - How do I create a pre-receive hook that runs a script from a repository to block bad pushes? - Can I let organizations override the enforcement of a new hook? instructions: - text: Create a pre-receive hook {name} running {script} from {script_repository} in environment {environment}. slots: name: requestBody.name script: requestBody.script script_repository: requestBody.script_repository environment: requestBody.environment - text: Add hook {name} using script {script} in {script_repository} on {environment} with enforcement {enforcement}. slots: name: requestBody.name script: requestBody.script script_repository: requestBody.script_repository environment: requestBody.environment enforcement: requestBody.enforcement method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-hooks/{pre_receive_hook_id}'].get update: x-apievangelist-phrasing: intent: Get a pre-receive hook's instance settings effect: read questions: - What script and environment does a given global pre-receive hook use? - Is a specific pre-receive hook enforced instance-wide? instructions: - text: Get instance pre-receive hook {pre_receive_hook_id}. slots: pre_receive_hook_id: path.pre_receive_hook_id - text: Show the global script, environment and enforcement of hook {pre_receive_hook_id}. slots: pre_receive_hook_id: path.pre_receive_hook_id method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-hooks/{pre_receive_hook_id}'].delete update: x-apievangelist-phrasing: intent: Delete a pre-receive hook effect: destructive questions: - How do I delete a pre-receive hook entirely from the instance? - Can I remove a global hook definition rather than just disabling it for one org? instructions: - text: Delete pre-receive hook {pre_receive_hook_id} from the instance. slots: pre_receive_hook_id: path.pre_receive_hook_id - text: Permanently remove the hook definition {pre_receive_hook_id}. slots: pre_receive_hook_id: path.pre_receive_hook_id method: generated generated: '2026-09-24' - target: $.paths['/admin/pre-receive-hooks/{pre_receive_hook_id}'].patch update: x-apievangelist-phrasing: intent: Update a pre-receive hook's global settings effect: write questions: - How do I change the script or environment a global pre-receive hook runs? - Can I stop orgs from overriding a hook by changing its downstream configuration setting? instructions: - text: Change the script of instance hook {pre_receive_hook_id} to {script}. slots: pre_receive_hook_id: path.pre_receive_hook_id script: requestBody.script - text: Set global enforcement of hook {pre_receive_hook_id} to {enforcement} and downstream configuration to {allow_downstream_configuration}. slots: pre_receive_hook_id: path.pre_receive_hook_id enforcement: requestBody.enforcement allow_downstream_configuration: requestBody.allow_downstream_configuration method: generated generated: '2026-09-24' - target: $.paths['/admin/tokens'].get update: x-apievangelist-phrasing: intent: List personal access tokens for all users effect: read questions: - Which personal access tokens exist across every user on the instance, admins included? - Can a site admin audit all PATs on the server? instructions: - text: List personal access tokens for all users. - text: Show page {page} of every user's personal access tokens. slots: page: query.page method: generated generated: '2026-09-24' - target: $.paths['/admin/tokens/{token_id}'].delete update: x-apievangelist-phrasing: intent: Delete a user's personal access token effect: destructive questions: - How do I revoke someone's personal access token as a site admin? - Why do I get a 403 when deleting a token I'm currently using? instructions: - text: Delete personal access token {token_id}. slots: token_id: path.token_id - text: Revoke the PAT with ID {token_id}. slots: token_id: path.token_id method: generated generated: '2026-09-24' - target: $.paths['/admin/users'].post update: x-apievangelist-phrasing: intent: Create a user account effect: write questions: - How does a site admin create a new user account on the instance? - Can I create a user who starts out suspended? instructions: - text: Create user {login} with email {email}. slots: login: requestBody.login email: requestBody.email - text: Add a new account {login} and set suspended to {suspended}. slots: login: requestBody.login suspended: requestBody.suspended method: generated generated: '2026-09-24' - target: $.paths['/admin/users/{username}'].delete update: x-apievangelist-phrasing: intent: Delete a user and all their data effect: destructive questions: - What gets removed when I delete a user account from the instance? - Can I delete a user account instead of suspending it? instructions: - text: Delete user {username} along with their repositories and gists. slots: username: path.username - text: Permanently remove the account {username} from the instance. slots: username: path.username method: generated generated: '2026-09-24' - target: $.paths['/admin/users/{username}'].patch update: x-apievangelist-phrasing: intent: Change a user's username effect: write questions: - How do I rename a user's login on the enterprise server? - Can a site admin change someone's username for them? instructions: - text: Change the username of {username} to {login}. slots: username: path.username login: requestBody.login - text: Rename user {username} so their login becomes {login}. slots: username: path.username login: requestBody.login method: generated generated: '2026-09-24' - target: $.paths['/admin/users/{username}/authorizations'].post update: x-apievangelist-phrasing: intent: Create an impersonation token for a user effect: write questions: - How can a site admin get an OAuth token that acts as a specific user? - Which scopes can I grant on an impersonation token? instructions: - text: Create an impersonation OAuth token for {username} with scopes {scopes}. slots: username: path.username scopes: requestBody.scopes - text: Issue a token to act as {username} limited to {scopes}. slots: username: path.username scopes: requestBody.scopes method: generated generated: '2026-09-24' - target: $.paths['/admin/users/{username}/authorizations'].delete update: x-apievangelist-phrasing: intent: Revoke a user's impersonation token effect: destructive questions: - How do I revoke the impersonation OAuth token I created for a user? - Can I clean up an impersonation token once I'm done acting as someone? instructions: - text: Delete the impersonation OAuth token for {username}. slots: username: path.username - text: Revoke my impersonation access to {username}. slots: username: path.username method: generated generated: '2026-09-24' - target: $.paths['/enterprise/announcement'].get update: x-apievangelist-phrasing: intent: Get the global announcement banner effect: read questions: - What does the enterprise-wide announcement banner currently say? - When does the current global announcement expire? instructions: - text: Show the current global announcement banner. - text: Get the announcement message and expiry date for the enterprise. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/announcement'].delete update: x-apievangelist-phrasing: intent: Remove the global announcement banner effect: destructive questions: - How do I take down the enterprise announcement banner early? - Can I clear the global banner without setting a new one? instructions: - text: Remove the global announcement banner. - text: Clear the enterprise-wide banner message now. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/announcement'].patch update: x-apievangelist-phrasing: intent: Set the global announcement banner effect: write questions: - How do I post a banner message to every user in our enterprise? - Can I make the global announcement expire automatically at a set time? instructions: - text: Set the global announcement to {announcement}. slots: announcement: requestBody.announcement - text: Post the banner {announcement} and have it expire at {expires_at}. slots: announcement: requestBody.announcement expires_at: requestBody.expires_at method: generated generated: '2026-09-24' - target: $.paths['/enterprise/settings/license'].get update: x-apievangelist-phrasing: intent: Get enterprise license information effect: read questions: - How many seats does our GitHub Enterprise license have and how many are used? - When does the enterprise license expire? instructions: - text: Show the enterprise license information. - text: Check seat usage and expiration on our license. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/all'].get update: x-apievangelist-phrasing: intent: Get all instance statistics effect: read questions: - Where can I get one overview of every usage statistic for the instance? - Can I pull repos, users, issues and pull request counts in a single call? instructions: - text: Get all statistics for the instance. - text: Give me the full usage stats overview across every category. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/comments'].get update: x-apievangelist-phrasing: intent: Get comment statistics effect: read questions: - How many comments have been made on commits, gists, issues and pull requests? - What are the comment counts across the instance? instructions: - text: Get comment statistics for the instance. - text: Show only the comment counts. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/gists'].get update: x-apievangelist-phrasing: intent: Get gist statistics effect: read questions: - How many gists exist on the instance, and how many are private? - What are the gist usage numbers? instructions: - text: Get gist statistics for the instance. - text: Show the private and public gist counts. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/hooks'].get update: x-apievangelist-phrasing: intent: Get webhook statistics effect: read questions: - How many webhooks are configured across the instance and how many are active? - What are the hook usage numbers? instructions: - text: Get hook statistics for the instance. - text: Show the active versus inactive webhook counts. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/issues'].get update: x-apievangelist-phrasing: intent: Get issue statistics effect: read questions: - How many issues are open versus closed on the instance? - What are the total issue counts? instructions: - text: Get issue statistics for the instance. - text: Show the open and closed issue counts. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/milestones'].get update: x-apievangelist-phrasing: intent: Get milestone statistics effect: read questions: - How many milestones are open or closed across all repositories? - What are the milestone totals? instructions: - text: Get milestone statistics for the instance. - text: Show the open and closed milestone counts. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/orgs'].get update: x-apievangelist-phrasing: intent: Get organization statistics effect: read questions: - How many organizations and teams exist on the instance? - What are the org and team membership totals? instructions: - text: Get organization statistics for the instance. - text: Show the org, team and team member counts. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/pages'].get update: x-apievangelist-phrasing: intent: Get GitHub Pages statistics effect: read questions: - How many GitHub Pages sites are published on the instance? - What are the Pages usage numbers? instructions: - text: Get Pages statistics for the instance. - text: Show how many Pages sites exist. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/pulls'].get update: x-apievangelist-phrasing: intent: Get pull request statistics effect: read questions: - How many pull requests are merged, mergeable or unmergeable on the instance? - What are the pull request totals? instructions: - text: Get pull request statistics for the instance. - text: Show merged and unmergeable pull request counts. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/repos'].get update: x-apievangelist-phrasing: intent: Get repository statistics effect: read questions: - How many repositories, forks and root repos exist on the instance? - What are the repository totals? instructions: - text: Get repository statistics for the instance. - text: Show the repo, fork and org-owned repository counts. method: generated generated: '2026-09-24' - target: $.paths['/enterprise/stats/users'].get update: x-apievangelist-phrasing: intent: Get user statistics effect: read questions: - How many users, admins and suspended accounts are on the instance? - What are the user account totals? instructions: - text: Get user statistics for the instance. - text: Show the admin and suspended user counts. method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/permissions'].get update: x-apievangelist-phrasing: intent: Get an enterprise's Actions permissions policy effect: read questions: - Which organizations in my enterprise are allowed to use GitHub Actions? - What is our enterprise policy on which actions can run? instructions: - text: Get the GitHub Actions permissions policy for enterprise {enterprise}. slots: enterprise: path.enterprise - text: Show which orgs and actions are allowed under {enterprise}'s Actions policy. slots: enterprise: path.enterprise method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/permissions'].put update: x-apievangelist-phrasing: intent: Set an enterprise's Actions permissions policy effect: write questions: - How do I restrict GitHub Actions to only selected organizations in my enterprise? - Can I limit the enterprise to actions owned by GitHub or local actions only? instructions: - text: Set GitHub Actions for {enterprise} to enable {enabled_organizations} organizations. slots: enterprise: path.enterprise enabled_organizations: requestBody.enabled_organizations - text: 'Update {enterprise}''s Actions policy: organizations {enabled_organizations}, allowed actions {allowed_actions}.' slots: enterprise: path.enterprise enabled_organizations: requestBody.enabled_organizations allowed_actions: requestBody.allowed_actions method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/permissions/organizations'].get update: x-apievangelist-phrasing: intent: List orgs selected for Actions in an enterprise effect: read questions: - Which specific organizations have GitHub Actions turned on under our selected-orgs policy? - Can I see the org allowlist for Actions in my enterprise? instructions: - text: List the organizations selected to use Actions in {enterprise}. slots: enterprise: path.enterprise - text: Show page {page} of Actions-enabled orgs for {enterprise}. slots: enterprise: path.enterprise page: query.page method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/permissions/organizations'].put update: x-apievangelist-phrasing: intent: Replace the orgs enabled for Actions effect: write questions: - How do I replace the whole list of organizations allowed to use Actions in my enterprise? - Can I overwrite the Actions org allowlist in one call? instructions: - text: Set the Actions-enabled organizations for {enterprise} to exactly {selected_organization_ids}. slots: enterprise: path.enterprise selected_organization_ids: requestBody.selected_organization_ids - text: Replace {enterprise}'s whole Actions org allowlist with {selected_organization_ids}. slots: enterprise: path.enterprise selected_organization_ids: requestBody.selected_organization_ids method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/permissions/organizations/{org_id}'].put update: x-apievangelist-phrasing: intent: Enable Actions for one organization effect: write questions: - How do I add a single organization to the list allowed to run GitHub Actions? - Can I turn on Actions for one more org without resetting the others? instructions: - text: Enable GitHub Actions for organization {org_id} in {enterprise}. slots: enterprise: path.enterprise org_id: path.org_id - text: Add org {org_id} to {enterprise}'s Actions allowlist. slots: enterprise: path.enterprise org_id: path.org_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/permissions/organizations/{org_id}'].delete update: x-apievangelist-phrasing: intent: Disable Actions for one organization effect: destructive questions: - How do I stop a single organization from using GitHub Actions in my enterprise? - Can I pull one org off the Actions allowlist? instructions: - text: Disable GitHub Actions for organization {org_id} in {enterprise}. slots: enterprise: path.enterprise org_id: path.org_id - text: Remove org {org_id} from {enterprise}'s Actions allowlist. slots: enterprise: path.enterprise org_id: path.org_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/permissions/selected-actions'].get update: x-apievangelist-phrasing: intent: Get the allowed actions for an enterprise effect: read questions: - Which action patterns are on our enterprise's allowed-actions list? - Are GitHub-owned actions allowed under our selected-actions policy? instructions: - text: Show the allowed actions for enterprise {enterprise}. slots: enterprise: path.enterprise - text: Get the action patterns {enterprise} permits. slots: enterprise: path.enterprise method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/permissions/selected-actions'].put update: x-apievangelist-phrasing: intent: Set the allowed actions for an enterprise effect: write questions: - How do I allow only certain third-party actions by pattern across the enterprise? - Can I block GitHub-owned actions while allowing specific patterns? instructions: - text: Allow the action patterns {patterns_allowed} in {enterprise}. slots: enterprise: path.enterprise patterns_allowed: requestBody.patterns_allowed - text: Set {enterprise}'s allowed actions to patterns {patterns_allowed} with GitHub-owned set to {github_owned_allowed}. slots: enterprise: path.enterprise patterns_allowed: requestBody.patterns_allowed github_owned_allowed: requestBody.github_owned_allowed method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups'].get update: x-apievangelist-phrasing: intent: List an enterprise's runner groups effect: read questions: - What self-hosted runner groups exist in my enterprise? - Which runner groups can a particular organization see? instructions: - text: List the self-hosted runner groups for {enterprise}. slots: enterprise: path.enterprise - text: Show {enterprise} runner groups visible to organization {visible_to_organization}. slots: enterprise: path.enterprise visible_to_organization: query.visible_to_organization method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups'].post update: x-apievangelist-phrasing: intent: Create an enterprise runner group effect: write questions: - How do I create a runner group shared by selected organizations in my enterprise? - Can a new runner group be restricted to specific workflows? instructions: - text: Create a runner group named {name} in {enterprise}. slots: enterprise: path.enterprise name: requestBody.name - text: Create runner group {name} in {enterprise} with visibility {visibility} for orgs {selected_organization_ids}. slots: enterprise: path.enterprise name: requestBody.name visibility: requestBody.visibility selected_organization_ids: requestBody.selected_organization_ids method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}'].get update: x-apievangelist-phrasing: intent: Get an enterprise runner group effect: read questions: - What visibility and workflow restrictions does a runner group have? - Does a given enterprise runner group allow public repositories? instructions: - text: Get runner group {runner_group_id} in {enterprise}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id - text: Show the settings of {enterprise} runner group {runner_group_id}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}'].delete update: x-apievangelist-phrasing: intent: Delete an enterprise runner group effect: destructive questions: - How do I delete a runner group we no longer need in our enterprise? - Can I remove a whole self-hosted runner group? instructions: - text: Delete runner group {runner_group_id} from {enterprise}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id - text: Remove the whole {enterprise} runner group {runner_group_id}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}'].patch update: x-apievangelist-phrasing: intent: Update an enterprise runner group effect: write questions: - How do I rename a runner group or change who can see it? - Can I lock an existing runner group down to selected workflows? instructions: - text: Rename {enterprise} runner group {runner_group_id} to {name}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id name: requestBody.name - text: Change the visibility of runner group {runner_group_id} in {enterprise} to {visibility}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id visibility: requestBody.visibility method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations'].get update: x-apievangelist-phrasing: intent: List orgs with access to a runner group effect: read questions: - Which organizations can use a particular enterprise runner group? - How do I check who has access to a shared runner group? instructions: - text: List the organizations with access to runner group {runner_group_id} in {enterprise}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id - text: Show which orgs can use {enterprise} runner group {runner_group_id}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations'].put update: x-apievangelist-phrasing: intent: Replace orgs with access to a runner group effect: write questions: - How do I overwrite the full list of organizations that can use a runner group? - Can I reset runner group access to a new set of orgs in one call? instructions: - text: Set the orgs with access to runner group {runner_group_id} in {enterprise} to exactly {selected_organization_ids}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id selected_organization_ids: requestBody.selected_organization_ids - text: Replace the org access list on {enterprise} runner group {runner_group_id} with {selected_organization_ids}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id selected_organization_ids: requestBody.selected_organization_ids method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}'].put update: x-apievangelist-phrasing: intent: Give one org access to a runner group effect: write questions: - How do I let one more organization use an enterprise runner group? - Does the runner group need selected visibility before I can add an org to it? instructions: - text: Give organization {org_id} access to runner group {runner_group_id} in {enterprise}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id org_id: path.org_id - text: Add org {org_id} to the access list of {enterprise} runner group {runner_group_id}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id org_id: path.org_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}'].delete update: x-apievangelist-phrasing: intent: Remove one org's access to a runner group effect: destructive questions: - How do I stop a single organization from using a shared runner group? - Can I revoke one org's runner group access without touching the others? instructions: - text: Remove organization {org_id} from runner group {runner_group_id} in {enterprise}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id org_id: path.org_id - text: Revoke org {org_id}'s access to {enterprise} runner group {runner_group_id}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id org_id: path.org_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners'].get update: x-apievangelist-phrasing: intent: List runners in an enterprise runner group effect: read questions: - Which self-hosted runners belong to a specific enterprise runner group? - How many machines are in a runner group? instructions: - text: List the runners in group {runner_group_id} for {enterprise}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id - text: Show which self-hosted runners are members of {enterprise} group {runner_group_id}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners'].put update: x-apievangelist-phrasing: intent: Replace the runners in a runner group effect: write questions: - How do I overwrite which runners belong to an enterprise runner group? - Can I set the full runner membership of a group in one call? instructions: - text: Set the runners in group {runner_group_id} for {enterprise} to exactly {runners}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id runners: requestBody.runners - text: Replace the runner list of {enterprise} group {runner_group_id} with {runners}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id runners: requestBody.runners method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}'].put update: x-apievangelist-phrasing: intent: Add a runner to an enterprise runner group effect: write questions: - How do I move one self-hosted runner into a specific enterprise runner group? - Can I add a single runner to a group without resetting its members? instructions: - text: Add runner {runner_id} to group {runner_group_id} in {enterprise}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id runner_id: path.runner_id - text: Put self-hosted runner {runner_id} into {enterprise} runner group {runner_group_id}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id runner_id: path.runner_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}'].delete update: x-apievangelist-phrasing: intent: Remove a runner from a runner group effect: destructive questions: - Where does a runner go when I take it out of an enterprise runner group? - How do I move a runner back to the default group? instructions: - text: Remove runner {runner_id} from group {runner_group_id} in {enterprise}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id runner_id: path.runner_id - text: Send runner {runner_id} back to the default group by taking it out of {enterprise} group {runner_group_id}. slots: enterprise: path.enterprise runner_group_id: path.runner_group_id runner_id: path.runner_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners'].get update: x-apievangelist-phrasing: intent: List all self-hosted runners in an enterprise effect: read questions: - What self-hosted runners are registered across my whole enterprise? - Can I see every enterprise runner regardless of which group it's in? instructions: - text: List all self-hosted runners for {enterprise}. slots: enterprise: path.enterprise - text: Show page {page} of every runner registered to {enterprise}. slots: enterprise: path.enterprise page: query.page method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners/downloads'].get update: x-apievangelist-phrasing: intent: List runner application downloads effect: read questions: - Where do I download the runner application binary to set up a self-hosted runner? - Which operating systems and architectures have runner downloads available? instructions: - text: List the runner application downloads for {enterprise}. slots: enterprise: path.enterprise - text: Get the runner binaries I can install for {enterprise}. slots: enterprise: path.enterprise method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners/registration-token'].post update: x-apievangelist-phrasing: intent: Get a token to register an enterprise runner effect: write questions: - How do I get the token the config script needs to register a new self-hosted runner? - How long does a runner registration token last? instructions: - text: Create a runner registration token for {enterprise}. slots: enterprise: path.enterprise - text: Give me a one-hour token to register a new runner with {enterprise}. slots: enterprise: path.enterprise method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners/remove-token'].post update: x-apievangelist-phrasing: intent: Get a token to unregister an enterprise runner effect: write questions: - What token do I pass to the config script to remove a self-hosted runner? - Can I get a removal token for decommissioning a runner machine? instructions: - text: Create a runner remove token for {enterprise}. slots: enterprise: path.enterprise - text: Get a token so I can unregister a runner from {enterprise} with the config script. slots: enterprise: path.enterprise method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners/{runner_id}'].get update: x-apievangelist-phrasing: intent: Get an enterprise self-hosted runner effect: read questions: - Is a particular self-hosted runner online and busy? - What labels and OS does a given enterprise runner report? instructions: - text: Get self-hosted runner {runner_id} in {enterprise}. slots: enterprise: path.enterprise runner_id: path.runner_id - text: Check the status of {enterprise} runner {runner_id}. slots: enterprise: path.enterprise runner_id: path.runner_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners/{runner_id}'].delete update: x-apievangelist-phrasing: intent: Force-remove a self-hosted runner effect: destructive questions: - How do I remove a runner whose machine no longer exists? - Can I force-delete a self-hosted runner from the enterprise? instructions: - text: Delete self-hosted runner {runner_id} from {enterprise}. slots: enterprise: path.enterprise runner_id: path.runner_id - text: Force-remove dead runner {runner_id} from {enterprise}. slots: enterprise: path.enterprise runner_id: path.runner_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners/{runner_id}/labels'].get update: x-apievangelist-phrasing: intent: List a runner's labels effect: read questions: - What labels does a self-hosted runner have that workflows can target? - Which of a runner's labels are custom and which are read-only? instructions: - text: List the labels on runner {runner_id} in {enterprise}. slots: enterprise: path.enterprise runner_id: path.runner_id - text: Show every label attached to {enterprise} runner {runner_id}. slots: enterprise: path.enterprise runner_id: path.runner_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners/{runner_id}/labels'].put update: x-apievangelist-phrasing: intent: Replace a runner's custom labels effect: write questions: - How do I replace all of a runner's custom labels with a new set? - Can I overwrite custom labels on a runner in one call? instructions: - text: Set the custom labels on runner {runner_id} in {enterprise} to exactly {labels}. slots: enterprise: path.enterprise runner_id: path.runner_id labels: requestBody.labels - text: Replace every custom label on {enterprise} runner {runner_id} with {labels}. slots: enterprise: path.enterprise runner_id: path.runner_id labels: requestBody.labels method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners/{runner_id}/labels'].post update: x-apievangelist-phrasing: intent: Add custom labels to a runner effect: write questions: - How do I tag a self-hosted runner with extra labels like gpu without losing existing ones? - Can I append custom labels to an enterprise runner? instructions: - text: Add the labels {labels} to runner {runner_id} in {enterprise}. slots: enterprise: path.enterprise runner_id: path.runner_id labels: requestBody.labels - text: Tag {enterprise} runner {runner_id} with the additional labels {labels}. slots: enterprise: path.enterprise runner_id: path.runner_id labels: requestBody.labels method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners/{runner_id}/labels'].delete update: x-apievangelist-phrasing: intent: Remove all custom labels from a runner effect: destructive questions: - How do I strip every custom label off a runner and keep only the defaults? - Can I clear a runner's custom labels in one go? instructions: - text: Remove all custom labels from runner {runner_id} in {enterprise}. slots: enterprise: path.enterprise runner_id: path.runner_id - text: Clear every custom label on {enterprise} runner {runner_id}, leaving the read-only ones. slots: enterprise: path.enterprise runner_id: path.runner_id method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}'].delete update: x-apievangelist-phrasing: intent: Remove one custom label from a runner effect: destructive questions: - How do I take a single custom label off a self-hosted runner? - What happens if the label I try to remove isn't on the runner? instructions: - text: Remove the label {name} from runner {runner_id} in {enterprise}. slots: enterprise: path.enterprise runner_id: path.runner_id name: path.name - text: Drop just the {name} custom label from {enterprise} runner {runner_id}. slots: enterprise: path.enterprise runner_id: path.runner_id name: path.name method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/audit-log'].get update: x-apievangelist-phrasing: intent: Search an enterprise's audit log effect: read questions: - Who did what across my enterprise recently, according to the audit log? - Can I include Git events as well as web events in the audit log? - Is there a way to filter enterprise audit events with a search phrase? instructions: - text: Get the audit log for {enterprise}. slots: enterprise: path.enterprise - text: Search {enterprise}'s audit log for {phrase}, including {include} events. slots: enterprise: path.enterprise phrase: query.phrase include: query.include - text: Show the oldest audit events first for {enterprise} (order {order}). slots: enterprise: path.enterprise order: query.order method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/code_security_and_analysis'].get update: x-apievangelist-phrasing: intent: Get an enterprise's code security defaults effect: read questions: - Are Dependabot alerts and secret scanning turned on by default for new repos in my enterprise? - What are our enterprise's code security and analysis settings? instructions: - text: Get the code security and analysis settings for {enterprise}. slots: enterprise: path.enterprise - text: Show which security features {enterprise} enables for new repositories. slots: enterprise: path.enterprise method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/code_security_and_analysis'].patch update: x-apievangelist-phrasing: intent: Update code security defaults for new repos effect: write questions: - How do I turn on secret scanning push protection for every new repository in my enterprise? - Can I set a custom help link for developers blocked by push protection? instructions: - text: Enable secret scanning for new repositories in {enterprise} ({secret_scanning_enabled_for_new_repositories}). slots: enterprise: path.enterprise secret_scanning_enabled_for_new_repositories: requestBody.secret_scanning_enabled_for_new_repositories - text: Set Dependabot alerts on new {enterprise} repos to {dependabot_alerts_enabled_for_new_repositories}. slots: enterprise: path.enterprise dependabot_alerts_enabled_for_new_repositories: requestBody.dependabot_alerts_enabled_for_new_repositories - text: Point {enterprise}'s push protection custom link at {secret_scanning_push_protection_custom_link}. slots: enterprise: path.enterprise secret_scanning_push_protection_custom_link: requestBody.secret_scanning_push_protection_custom_link method: generated generated: '2026-09-24' - target: $.paths['/enterprises/{enterprise}/{security_product}/{enablement}'].post update: x-apievangelist-phrasing: intent: Enable or disable a security feature everywhere effect: write questions: - How do I turn on a security feature for all existing repositories in my enterprise at once? - Can I disable secret scanning across every repo in the enterprise? instructions: - text: Apply {enablement} for {security_product} on all repositories in {enterprise}. slots: enterprise: path.enterprise security_product: path.security_product enablement: path.enablement - text: Turn {security_product} on or off across every existing {enterprise} repo using {enablement}. slots: enterprise: path.enterprise security_product: path.security_product enablement: path.enablement method: generated generated: '2026-09-24' - target: $.paths['/manage/v1/config/nodes'].get update: x-apievangelist-phrasing: intent: Get metadata for cluster nodes effect: read questions: - What nodes are configured in our GHES cluster and what roles do they have? - Can I look up metadata for one node by its UUID? instructions: - text: Get node metadata for all configured nodes. - text: Show config metadata for the node with UUID {uuid}. slots: uuid: query.uuid method: generated generated: '2026-09-24' - target: $.paths['/manage/v1/replication/status'].get update: x-apievangelist-phrasing: intent: Get replica service status effect: read questions: - Are all services on our replica nodes healthy and replicating? - How do I check replication status for nodes with a given cluster role? instructions: - text: Get the replication status for all replica nodes. - text: Check replication service status for nodes with the role {cluster_roles}. slots: cluster_roles: query.cluster_roles method: generated generated: '2026-09-24' - target: $.paths['/manage/v1/version'].get update: x-apievangelist-phrasing: intent: Get installed GHES versions per node effect: read questions: - Which GitHub Enterprise Server release is installed on each of our nodes? - Are all cluster nodes running the same GHES version? instructions: - text: Get the installed GHES version on all nodes. - text: Show the release version running on node {uuid}. slots: uuid: query.uuid method: generated generated: '2026-09-24' - target: $.paths['/orgs/{org}/pre-receive-hooks'].get update: x-apievangelist-phrasing: intent: List pre-receive hooks for an organization effect: read questions: - Which pre-receive hooks are enabled or testing for my organization? - Can I see hooks my org is allowed to configure even if they're disabled? instructions: - text: List the pre-receive hooks for organization {org}. slots: org: path.org - text: Show {org}'s org-level pre-receive hooks sorted by {sort}. slots: org: path.org sort: query.sort method: generated generated: '2026-09-24' - target: $.paths['/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}'].get update: x-apievangelist-phrasing: intent: Get a pre-receive hook for an organization effect: read questions: - How is a particular pre-receive hook enforced within my organization? - Does my org override the global setting for a hook? instructions: - text: Get pre-receive hook {pre_receive_hook_id} for organization {org}. slots: org: path.org pre_receive_hook_id: path.pre_receive_hook_id - text: Show the org-level enforcement of hook {pre_receive_hook_id} in {org}. slots: org: path.org pre_receive_hook_id: path.pre_receive_hook_id method: generated generated: '2026-09-24' - target: $.paths['/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}'].delete update: x-apievangelist-phrasing: intent: Clear an org's pre-receive hook override effect: destructive questions: - How do I make my organization fall back to the global setting for a pre-receive hook? - Can I remove an org-level override on a hook? instructions: - text: Remove the {org} organization's override for pre-receive hook {pre_receive_hook_id}. slots: org: path.org pre_receive_hook_id: path.pre_receive_hook_id - text: Reset hook {pre_receive_hook_id} in {org} back to the inherited enforcement. slots: org: path.org pre_receive_hook_id: path.pre_receive_hook_id method: generated generated: '2026-09-24' - target: $.paths['/orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}'].patch update: x-apievangelist-phrasing: intent: Set a pre-receive hook's enforcement for an org effect: write questions: - How do I switch a pre-receive hook to testing mode just for my organization? - Can my org let its repositories override a hook's enforcement? instructions: - text: Set enforcement of hook {pre_receive_hook_id} in organization {org} to {enforcement}. slots: org: path.org pre_receive_hook_id: path.pre_receive_hook_id enforcement: requestBody.enforcement - text: Let repos in {org} configure hook {pre_receive_hook_id} themselves ({allow_downstream_configuration}). slots: org: path.org pre_receive_hook_id: path.pre_receive_hook_id allow_downstream_configuration: requestBody.allow_downstream_configuration method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/pre-receive-hooks'].get update: x-apievangelist-phrasing: intent: List pre-receive hooks for a repository effect: read questions: - Which pre-receive hooks will run on pushes to my repository? - What hooks am I allowed to enable at the repository level? instructions: - text: Show every pre-receive hook that applies to pushes into repository {owner}/{repo}. slots: owner: path.owner repo: path.repo - text: Show repo-level pre-receive hooks on {owner}/{repo} in {direction} order. slots: owner: path.owner repo: path.repo direction: query.direction method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}'].get update: x-apievangelist-phrasing: intent: Get a pre-receive hook for a repository effect: read questions: - Is a given pre-receive hook enforced on my repository or only testing? - How is a hook configured for one specific repo? instructions: - text: Get pre-receive hook {pre_receive_hook_id} for {owner}/{repo}. slots: owner: path.owner repo: path.repo pre_receive_hook_id: path.pre_receive_hook_id - text: Show the repo-level enforcement of hook {pre_receive_hook_id} on {owner}/{repo}. slots: owner: path.owner repo: path.repo pre_receive_hook_id: path.pre_receive_hook_id method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}'].delete update: x-apievangelist-phrasing: intent: Clear a repo's pre-receive hook override effect: destructive questions: - How do I make a repository inherit the org or global enforcement for a hook again? - Can I remove a repo-level override on a pre-receive hook? instructions: - text: Remove the override for pre-receive hook {pre_receive_hook_id} on {owner}/{repo}. slots: owner: path.owner repo: path.repo pre_receive_hook_id: path.pre_receive_hook_id - text: Reset hook {pre_receive_hook_id} on repository {owner}/{repo} to inherited enforcement. slots: owner: path.owner repo: path.repo pre_receive_hook_id: path.pre_receive_hook_id method: generated generated: '2026-09-24' - target: $.paths['/repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}'].patch update: x-apievangelist-phrasing: intent: Set a pre-receive hook's enforcement for a repo effect: write questions: - How do I disable a pre-receive hook on just one repository? - Can I enable a hook on my repo when the org allows it? instructions: - text: Set enforcement of hook {pre_receive_hook_id} on {owner}/{repo} to {enforcement}. slots: owner: path.owner repo: path.repo pre_receive_hook_id: path.pre_receive_hook_id enforcement: requestBody.enforcement - text: Turn pre-receive hook {pre_receive_hook_id} to {enforcement} for repository {owner}/{repo} only. slots: owner: path.owner repo: path.repo pre_receive_hook_id: path.pre_receive_hook_id enforcement: requestBody.enforcement method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Groups'].post update: x-apievangelist-phrasing: intent: Provision a SCIM group for the enterprise effect: write questions: - How do I create an enterprise group through SCIM from our identity provider? - Can members be added at the same time a SCIM group is provisioned? instructions: - text: Provision a SCIM group {displayName} with external ID {externalId}, schemas {schemas} and members {members}. slots: displayName: requestBody.displayName externalId: requestBody.externalId schemas: requestBody.schemas members: requestBody.members - text: 'Create enterprise SCIM group {displayName} ({externalId}) using schemas {schemas} with no members yet: {members}.' slots: displayName: requestBody.displayName externalId: requestBody.externalId schemas: requestBody.schemas members: requestBody.members method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Groups/{scim_group_id}'].get update: x-apievangelist-phrasing: intent: Get a provisioned SCIM group effect: read questions: - What members and external ID does a SCIM-provisioned enterprise group have? - Can I fetch a SCIM group without its member list? instructions: - text: Get SCIM group {scim_group_id}. slots: scim_group_id: path.scim_group_id - text: Show SCIM group {scim_group_id} excluding {excludedAttributes}. slots: scim_group_id: path.scim_group_id excludedAttributes: query.excludedAttributes method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Groups/{scim_group_id}'].put update: x-apievangelist-phrasing: intent: Replace a provisioned SCIM group effect: write questions: - How do I fully replace a SCIM group's name and membership? - Do I need to send every group attribute when overwriting a SCIM group? instructions: - text: Replace SCIM group {scim_group_id} with name {displayName}, external ID {externalId}, schemas {schemas} and members {members}. slots: scim_group_id: path.scim_group_id displayName: requestBody.displayName externalId: requestBody.externalId schemas: requestBody.schemas members: requestBody.members - text: 'Overwrite all of group {scim_group_id}: {displayName}, {externalId}, schemas {schemas}, member list {members}.' slots: scim_group_id: path.scim_group_id displayName: requestBody.displayName externalId: requestBody.externalId schemas: requestBody.schemas members: requestBody.members method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Groups/{scim_group_id}'].delete update: x-apievangelist-phrasing: intent: Delete a SCIM group effect: destructive questions: - How do I remove a SCIM-provisioned group from the enterprise? - Can I deprovision a group that was removed from our identity provider? instructions: - text: Delete SCIM group {scim_group_id}. slots: scim_group_id: path.scim_group_id - text: Deprovision enterprise group {scim_group_id}. slots: scim_group_id: path.scim_group_id method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Groups/{scim_group_id}'].patch update: x-apievangelist-phrasing: intent: Patch attributes of a SCIM group effect: write questions: - How do I add or remove one member from a SCIM group without replacing it? - Can I change just a SCIM group's display name with a patch operation? instructions: - text: Apply the operations {Operations} to SCIM group {scim_group_id} using schemas {schemas}. slots: scim_group_id: path.scim_group_id Operations: requestBody.Operations schemas: requestBody.schemas - text: Patch a single attribute on group {scim_group_id} with {Operations} ({schemas}). slots: scim_group_id: path.scim_group_id Operations: requestBody.Operations schemas: requestBody.schemas method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Users'].get update: x-apievangelist-phrasing: intent: List SCIM-provisioned enterprise users effect: read questions: - Which users have been provisioned into the enterprise through SCIM? - Can I filter provisioned identities by userName or externalId? instructions: - text: List the SCIM-provisioned identities for the enterprise. - text: Find provisioned users matching the filter {filter}. slots: filter: query.filter - text: Show {count} SCIM users starting at index {startIndex}. slots: count: query.count startIndex: query.startIndex method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Users'].post update: x-apievangelist-phrasing: intent: Provision a SCIM user for the enterprise effect: write questions: - How do I create an external identity for a new enterprise user through SCIM? - Does SCIM provisioning authenticate the user or only create the account? instructions: - text: Provision SCIM user {userName} named {displayName} with emails {emails}, external ID {externalId}, active {active}, schemas {schemas}. slots: userName: requestBody.userName displayName: requestBody.displayName emails: requestBody.emails externalId: requestBody.externalId active: requestBody.active schemas: requestBody.schemas - text: Create enterprise identity {userName} ({externalId}) for {displayName}, emails {emails}, roles {roles}, active {active}, schemas {schemas}. slots: userName: requestBody.userName externalId: requestBody.externalId displayName: requestBody.displayName emails: requestBody.emails roles: requestBody.roles active: requestBody.active schemas: requestBody.schemas method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Users/{scim_user_id}'].get update: x-apievangelist-phrasing: intent: Get a provisioned SCIM user effect: read questions: - What SCIM identity data do we hold for a specific enterprise user? - Is a provisioned user still marked active? instructions: - text: Get SCIM user {scim_user_id}. slots: scim_user_id: path.scim_user_id - text: Show the provisioned identity for enterprise user {scim_user_id}. slots: scim_user_id: path.scim_user_id method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Users/{scim_user_id}'].put update: x-apievangelist-phrasing: intent: Replace a provisioned SCIM user effect: write questions: - How do I overwrite all of a SCIM user's attributes at once? - What happens to attributes I leave out when replacing a provisioned user? instructions: - text: Replace SCIM user {scim_user_id} with {userName}, {displayName}, emails {emails}, ID {externalId}, active {active}, schemas {schemas}. slots: scim_user_id: path.scim_user_id userName: requestBody.userName displayName: requestBody.displayName emails: requestBody.emails externalId: requestBody.externalId active: requestBody.active schemas: requestBody.schemas - text: 'Overwrite identity {scim_user_id}: {userName}, {displayName}, {emails}, {externalId}, active {active}, schemas {schemas}.' slots: scim_user_id: path.scim_user_id userName: requestBody.userName displayName: requestBody.displayName emails: requestBody.emails externalId: requestBody.externalId active: requestBody.active schemas: requestBody.schemas method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Users/{scim_user_id}'].delete update: x-apievangelist-phrasing: intent: Delete a SCIM user from the enterprise effect: destructive questions: - What happens to a user's data when I delete their SCIM identity from the enterprise? - How do I permanently deprovision a SCIM user? instructions: - text: Delete SCIM user {scim_user_id} from the enterprise. slots: scim_user_id: path.scim_user_id - text: Permanently deprovision SCIM identity {scim_user_id} and remove their data. slots: scim_user_id: path.scim_user_id method: generated generated: '2026-09-24' - target: $.paths['/scim/v2/Users/{scim_user_id}'].patch update: x-apievangelist-phrasing: intent: Patch attributes of a SCIM user effect: write questions: - How do I deactivate a SCIM user by patching just the active attribute? - Can I change one field on a provisioned user without resending everything? instructions: - text: Apply the operations {Operations} to SCIM user {scim_user_id} using schemas {schemas}. slots: scim_user_id: path.scim_user_id Operations: requestBody.Operations schemas: requestBody.schemas - text: Patch a single attribute on identity {scim_user_id} with {Operations} ({schemas}). slots: scim_user_id: path.scim_user_id Operations: requestBody.Operations schemas: requestBody.schemas method: generated generated: '2026-09-24' - target: $.paths['/setup/api/configcheck'].get update: x-apievangelist-phrasing: intent: Check the configuration run status effect: read questions: - Has the most recent configuration run on the appliance finished? - What does each configuration process status mean? instructions: - text: Check the status of the latest configuration process. - text: Tell me whether the settings configuration run is still in progress. method: generated generated: '2026-09-24' - target: $.paths['/setup/api/configure'].post update: x-apievangelist-phrasing: intent: Start a configuration run effect: write questions: - How do I apply updated appliance settings so they take effect? - Can I kick off a configuration process any time through the API? instructions: - text: Start a configuration process on the instance. - text: Run configuration now so my updated settings take effect. method: generated generated: '2026-09-24' - target: $.paths['/setup/api/maintenance'].get update: x-apievangelist-phrasing: intent: Get maintenance mode status effect: read questions: - Is our GitHub Enterprise instance currently in maintenance mode? - When is maintenance mode scheduled to start? instructions: - text: Get the instance's maintenance status. - text: Check whether maintenance mode is on or scheduled. method: generated generated: '2026-09-24' - target: $.paths['/setup/api/maintenance'].post update: x-apievangelist-phrasing: intent: Turn maintenance mode on or off effect: write questions: - How do I put the enterprise instance into maintenance mode before an upgrade? - Can I schedule maintenance mode for later instead of starting it now? instructions: - text: Set maintenance mode using {maintenance}. slots: maintenance: requestBody.maintenance - text: Enable or schedule maintenance on the instance with the settings {maintenance}. slots: maintenance: requestBody.maintenance method: generated generated: '2026-09-24' - target: $.paths['/setup/api/settings'].get update: x-apievangelist-phrasing: intent: Get the instance's appliance settings effect: read questions: - What management console settings is our instance currently running with? - Can I read the appliance settings, including the admin password? instructions: - text: Get the instance settings. - text: Show the current appliance configuration settings. method: generated generated: '2026-09-24' - target: $.paths['/setup/api/settings'].put update: x-apievangelist-phrasing: intent: Apply appliance settings effect: write questions: - How do I change management console settings through the API? - Do new appliance settings take effect without a configuration run? instructions: - text: Apply the settings {settings} to the instance. slots: settings: requestBody.settings - text: Update the appliance configuration with {settings}. slots: settings: requestBody.settings method: generated generated: '2026-09-24' - target: $.paths['/setup/api/settings/authorized-keys'].get update: x-apievangelist-phrasing: intent: List administrative SSH keys effect: read questions: - Which SSH keys can reach the administrative shell on our appliance? - What authorized keys are set in the management console? instructions: - text: List all authorized SSH keys for the admin shell. - text: Show the management console's authorized keys. method: generated generated: '2026-09-24' - target: $.paths['/setup/api/settings/authorized-keys'].post update: x-apievangelist-phrasing: intent: Add an administrative SSH key effect: write questions: - How do I give a new admin SSH access to the appliance's administrative shell? - Can I add an authorized key without logging into the management console? instructions: - text: Add the authorized SSH key {authorized_key}. slots: authorized_key: requestBody.authorized_key - text: Grant admin shell access to the public key {authorized_key}. slots: authorized_key: requestBody.authorized_key method: generated generated: '2026-09-24' - target: $.paths['/setup/api/settings/authorized-keys'].delete update: x-apievangelist-phrasing: intent: Remove an administrative SSH key effect: destructive questions: - How do I revoke someone's SSH access to the administrative shell? - Can I delete an authorized key from the management console by its value? instructions: - text: Remove the authorized SSH key {authorized_key}. slots: authorized_key: requestBody.authorized_key - text: Revoke admin shell access for the public key {authorized_key}. slots: authorized_key: requestBody.authorized_key method: generated generated: '2026-09-24' - target: $.paths['/setup/api/start'].post update: x-apievangelist-phrasing: intent: Upload the license on first boot effect: write questions: - How do I upload a license when booting a new enterprise server for the first time? - Can I set the management console password along with the initial license? instructions: - text: Upload the initial license {license}. slots: license: requestBody.license - text: Install license {license} on this new instance and set the console password to {password}. slots: license: requestBody.license password: requestBody.password method: generated generated: '2026-09-24' - target: $.paths['/setup/api/upgrade'].post update: x-apievangelist-phrasing: intent: Upgrade the instance license effect: write questions: - How do I upload a renewed license to an already-running instance? - Does upgrading the license trigger a configuration run? instructions: - text: Upgrade the license with {license}. slots: license: requestBody.license - text: Replace the running instance's license with the renewed file {license}. slots: license: requestBody.license method: generated generated: '2026-09-24' - target: $.paths['/users/{username}/site_admin'].put update: x-apievangelist-phrasing: intent: Make a user a site administrator effect: write questions: - How do I grant a user site admin rights on the instance? - Can I promote someone to site administrator through the API? instructions: - text: Promote {username} to site administrator. slots: username: path.username - text: Give {username} site admin privileges. slots: username: path.username method: generated generated: '2026-09-24' - target: $.paths['/users/{username}/site_admin'].delete update: x-apievangelist-phrasing: intent: Demote a site administrator effect: destructive questions: - How do I take site admin rights away from a user? - Can I demote my own site administrator account? instructions: - text: Demote {username} from site administrator. slots: username: path.username - text: Remove site admin privileges from {username}. slots: username: path.username method: generated generated: '2026-09-24' - target: $.paths['/users/{username}/suspended'].put update: x-apievangelist-phrasing: intent: Suspend a user account effect: destructive questions: - How do I block a user from signing in without deleting their account? - Can I record a reason when I suspend someone? - Why can't I suspend Active Directory LDAP users through the API? instructions: - text: Suspend user {username}. slots: username: path.username - text: Suspend {username} with the reason {reason}. slots: username: path.username reason: requestBody.reason method: generated generated: '2026-09-24' - target: $.paths['/users/{username}/suspended'].delete update: x-apievangelist-phrasing: intent: Unsuspend a user account effect: destructive questions: - How do I restore access for a user I previously suspended? - Can I note why I'm reinstating a suspended account? instructions: - text: Unsuspend user {username}. slots: username: path.username - text: Reinstate suspended account {username} with the reason {reason}. slots: username: path.username reason: requestBody.reason method: generated generated: '2026-09-24'