GitHub for AI agents
Agents read GitHub at once. Changes and sends are held for a person's approval by default.
About GitHub
GitHub is a code hosting platform for version control and collaboration, offering Git-based repository management, issue tracking, and continuous integration features
What an agent can do in GitHub
Every GitHub action is classed by the platform as a read, a change or a send. Reads run at once. Changes and sends are held for a person by default.
Runs at once (reads)
Looks things up in GitHub without asking first. 465 actions.
- Check if pull request mergedChecks if a pull request has been merged by querying the GitHub API. Use this action when you need to verify whether a specific pull request has been successfully merged into its target branch. The AP
- Compare two commitsCompares two commit points (commits, branches, tags, or SHAs) within a repository or across forks, using `BASE...HEAD` or `OWNER:REF...OWNER:REF` format for the `basehead` parameter.
- Find Pull RequestsPrimary tool to find and search pull requests. Supports filtering by repository, author, state, labels, and merge status, and returns structured PR data for reliable use in workflows. GitHub search re
- Find RepositoriesAI-optimized repository search with smart filtering by language, stars, topics, and ownership. Builds intelligent search queries and returns clean, actionable repository data. Check `incomplete_result
- Get a pull requestRetrieves a specific pull request from a GitHub repository using its owner, repository name, and pull request number.
- Get a referenceRetrieves a specific Git reference (e.g., a branch, tag, or fully qualified like 'heads/main') from a GitHub repository. The reference must exist in the repository; use 'list_matching_references' firs
- List repository files and directoriesBrowse and list all files/directories in a GitHub repository. Efficiently retrieves the complete repository structure in a single API call when used with recursive mode. Perfect for analyzing codebase
- Get a check runRetrieves detailed information for a specific check run within a GitHub repository.
- Get issue commentsRetrieves all comments for a specific GitHub issue in chronological order. Use this action when you need to view discussion history, analyze comment threads, or fetch comment details for a specific is
- Get organization teamsRetrieves a list of teams for a specified GitHub organization. Use this action when you need to list all teams, find team information, or explore team structure within an organization. Requires read:o
- Get Pull RequestsRetrieves a list of pull requests from a repository with flexible filtering options. Use this action when you need to list all pull requests in a repository, optionally filtered by state (open, closed
- Get repository contentRetrieves a file's Base64 encoded content or lists a directory's contents from a GitHub repository.
Show all 465
- Get repository star historyGets one page of up to 30 privacy-safe weekly star-count records, newest first. Increase `page` to move backward in a repository's history.
- Get team membersRetrieves a list of members for a specific team within an organization. Returns team members including members of child teams. Use this action when you need to see who belongs to a team, optionally fi
- List branchesList branches in a GitHub repository. Returns branch names, commit information, and protection status. Use this action when you need to retrieve all branches in a repository, optionally filtered by pr
- List check runs for a git refList GitHub check runs for a commit SHA, branch, or tag to assess CI status and conclusions. Use when you need reliable CI pass/fail signals beyond commit metadata.
- List deploymentsLists deployments for a specified repository; repository must exist.
- List events for userLists events performed by a GitHub user in reverse chronological order. If authenticated as the specified user, you will see private events; otherwise, only public events are returned. Use this action
- List followers of a userLists followers for a specified, existing GitHub user.
- List notifications for authenticated userTool to list notification threads for the authenticated user with efficient polling support. Use when you need to fetch the user's GitHub notification inbox with filters like unread/participating/sinc
- List organization membersTool to list all members of a GitHub organization. Returns a list of users who are members of the specified organization. Use this action when you need to retrieve the list of members in an organizati
- List organizations for a userLists public organizations for a specified GitHub user; the `username` must be a valid GitHub handle.
- List organizations for the authenticated userLists organizations the authenticated GitHub user is a member of, returning details for each organization.
- List organizations for a userList public organization memberships for a GitHub user. This returns all organizations where the specified user is a public member. Use this action when you need to discover which organizations a user
- List pull requestsLists pull requests for a GitHub repository. REQUIRES 'owner' AND 'repo' parameters - both are MANDATORY and must be provided in every call. Does NOT support filtering by assignee or date range - use
- List pull requests filesLists all files (including additions, modifications, and removals) associated with a specific pull request in a GitHub repository.
- List releasesRetrieves a list of all releases (published, draft, and prerelease) for a specified repository.
- List repositoriesLists repositories accessible to the authenticated user based on visibility, affiliation, and type filters. Returns repositories owned by the user, those they collaborate on, or those accessible throu
- List repositories for the authenticated userLists repositories for the authenticated user; using 'type' with 'visibility' or 'affiliation' API parameters (not in this model) can cause a 422 error.
- List repositories starred by the authenticated userLists repositories the authenticated user has starred, optionally sorted and paginated, including star creation timestamps via 'application/vnd.github.star+json' media type.
- List repository contributorsLists contributors to a specified repository, sorted by number of contributions in descending order; the repository must exist and be accessible.
- List repository issuesLists issues (including pull requests) from a GitHub repository. Requires BOTH 'owner' AND 'repo' parameters (e.g., owner='octocat', repo='Hello-World' for github.com/octocat/Hello-World).
- List repository workflowsLists all GitHub Actions workflows for a specified repository, which must exist and be accessible.
- List secret scanning alerts for a repositoryList secret scanning alerts for a GitHub repository using first-party detections. Use this to retrieve detected secrets with filtering by state, type, resolution, and validity. Supports optional hidin
- List stargazersLists users who have starred the specified GitHub repository, which must exist.
- List starred repositories for userLists public repositories that a user has starred. The list includes all public repositories starred by the specified user, sorted by when they were starred or last updated. Use this action when you n
- Search issues and pull requestsSearches GitHub issues and pull requests using a flexible query with qualifiers, sorting, and pagination. Use this action when you need to find issues or pull requests across repositories using search
- Validate credentialValidates GitHub API credentials by checking if they can successfully authenticate. Use this action when you need to verify that API credentials are valid and have not expired or been revoked. Returns
- Who Am IReturn the identity (login, name) of the connected GitHub account.
- Get GitHub API rootRetrieves a map of all top-level GitHub REST API resource URLs and their templates.
- Check if following userCheck if the authenticated user is following a specified person on GitHub. Use this action when you need to verify whether the currently authenticated user follows another GitHub user. The action retu
- Check if a gist is starredChecks if a gist is starred by the authenticated user. Returns `is_starred: true` if the gist is starred (HTTP 204), or `is_starred: false` if not starred (HTTP 404). Use this to verify star status be
- Check if pull request mergedChecks if a specified GitHub pull request has been merged, indicated by a 204 HTTP status (merged) or 404 (not merged/found).
- Check if a user can be assignedVerifies if a GitHub user can be assigned to issues in a repository; assignability is confirmed by an HTTP 204 (No Content) response, resulting in an empty 'data' field in the response.
- Check if a user can be assigned to an issueChecks if a specified GitHub user can be assigned to a given issue within a repository.
- Check if a user follows another userChecks if a GitHub user `username` follows `target_user`; returns a 204 HTTP status if true, 404 if not or if users are invalid.
- Check if a user is blocked by the authenticated userChecks if the specified GitHub user is blocked by the authenticated user; a 204 No Content response indicates the user is blocked, while a 404 Not Found indicates they are not.
- Check if a user is blocked by an organizationChecks if a GitHub user is blocked by an organization. Returns is_blocked=True if the user is blocked (HTTP 204), or is_blocked=False if not blocked (HTTP 404). Requires 'Blocking users' organization
- Check if a user is a repository collaboratorChecks if a user is a collaborator on a specified GitHub repository, returning a 204 status if they are, or a 404 status if they are not or if the repository/user does not exist.
- Check if person is followed by authenticated userChecks if the authenticated GitHub user follows a target GitHub user. Returns a structured response with is_following=True when following (HTTP 204), or is_following=False when not following (HTTP 404
- Check private vulnerability reporting statusChecks if private vulnerability reporting is enabled for the specified repository.
- Check public organization membershipTool to check if a user is a public member of an organization. Use when you need to verify public organization membership status.
- Check if repository is starredCheck if a repository is starred by the authenticated user. Use this action when you need to verify whether the authenticated user has starred a specific repository. This is useful for confirming star
- Check team permissions for a projectChecks if a team has 'read', 'write', or 'admin' permissions for an organization's specific classic project, returning the project's details if access is confirmed.
- Check team permissions for a repositoryChecks a team's permissions for a specific repository within an organization, including permissions inherited from parent teams.
- Check a tokenChecks if a GitHub App or OAuth access_token is valid for the specified client_id and retrieves its details, typically to verify its active status and grants. NOTE: This endpoint requires Basic Authen
- Download a repository tarballDownloads a repository's source code as a tarball (.tar.gz) archive for a specific Git reference, if the repository is accessible.
- Download a repository archive ZIPDownloads a repository's source code as a ZIP archive for a specific Git reference (branch, tag, or commit SHA). IMPORTANT SIZE LIMITATION: This action may fail with 'payload too large' errors for lar
- Download job logs for a workflow runDownloads logs for a specific job in a GitHub Actions workflow run, contingent on the repository's existence and the job ID being valid and having produced logs.
- Export an SBOM for a repositoryExports the software bill of materials (SBOM) in SPDX JSON format for a repository, if its dependency graph is enabled and it has at least one commit.
- Generate release notes content for a releaseGenerates Markdown release notes content (listing changes, pull requests, and contributors) for a GitHub repository release, customizable via tags and a configuration file.
- Get a blobRetrieves the raw, typically Base64-encoded, content of a file (blob) from a GitHub repository using its SHA hash, if the repository and blob SHA exist.
- Get a branchRetrieves detailed information for a specified branch within a GitHub repository.
- Get access restrictionsLists users, teams, and GitHub Apps with push access to a branch; this branch must be protected in repository settings for detailed restrictions, otherwise expect a 404 or empty response.
- Get a commitRetrieves a specific commit from a repository by its owner, name, and a valid commit reference (SHA, branch, or tag), supporting pagination for large diffs.
- Get admin branch protectionChecks if repository administrators are subject to the branch protection rules on a specific branch.
- Get all API versionsRetrieves all officially supported, date-based (e.g., "2022-11-28") versions of the GitHub REST API from the /versions endpoint.
- Get all contributor commit activityRetrieves commit activity (total commits, weekly additions/deletions/commits) for all contributors to a repository; may require a retry if GitHub returns 202 while preparing data.
- Get all deployment protection rules for an environmentLists all enabled custom deployment protection rules for a specific environment in a repository; the environment must exist and be configured for deployments.
- Get a milestoneRetrieves detailed information for a specific milestone within a GitHub repository by its number.
- Get an appRetrieves publicly available information for an existing GitHub App, identified by its unique URL-friendly `app_slug`.
- Get an artifactGets a specific artifact for a repository by `artifact_id`. This action retrieves the details of a specific artifact from a GitHub repository using the artifact's unique identifier. It allows users to
- Get an assignmentRetrieves detailed information for a specific GitHub Classroom assignment if the authenticated user is an administrator of the classroom.
- Get an autolink reference of a repositoryRetrieves a specific autolink reference (which automatically hyperlinks text like 'JIRA-123' to an external system) for a repository using its unique ID; requires administrator access to the repositor
- Get an environmentRetrieves the details of a specific deployment environment for a given repository, including its name, configurations, and current status.
- Get an environment public keyRetrieves the public key for a specified GitHub repository environment, used to encrypt secrets for GitHub Actions.
- Get an environment secretRetrieves metadata (name and timestamps) for a single secret in a GitHub Actions environment. Note: The actual secret value is never returned by this API for security reasons.
- Get an environment variableRetrieves a specific environment variable from a GitHub Actions environment by repository owner, repository name, environment name, and variable name.
- Get an issueRetrieves detailed information about a specific issue in a repository using the owner, repository name, and issue number.
- Get an issue commentAction to get an issue comment.
- Get an issue eventFetches details of a specific issue event for a given repository and event ID.
- Get an organizationGet an organization
- Get an organization public keyAction for `GetAnOrganizationPublicKey`.
- Get an organization roleRetrieves a specific GitHub organization role by its ID.
- Get an organization secretGets an organization secret's metadata (e.g., name, creation/update dates, visibility), but not its encrypted value.
- Get an organization variableRetrieves details (name, value, visibility, timestamps) of a specific, existing variable for an existing GitHub organization.
- Get an organization webhookRetrieves the full configuration, including subscribed events and delivery settings, for an existing organization webhook.
- Get a package for an organizationRetrieves a specific package (by type and name) from an organization, if both the package and organization exist.
- Get a package for a userRetrieves metadata for a specific package owned by a GitHub user, using package type, name, and username as identifiers.
- Get a package for the authenticated userRetrieves detailed information for a specific package owned by the authenticated user.
- Get a package version for an organizationRetrieves detailed information for a specific version of a package within an organization.
- Get a package version for a userRetrieves a specific public package version associated with a GitHub user.
- Get authenticated user package versionRetrieves detailed information for an existing specific package version associated with the authenticated user, identified by its type, name, and version ID.
- Get a projectRetrieves detailed information for a specific GitHub project (V2) using its project number and owner. Note: This action uses GitHub's Projects V2 REST API. The legacy Projects (classic) REST API was s
- Get a releaseGets a specific release from a GitHub repository, provided the repository is accessible and the release exists.
- Get a release assetGets metadata for a specific release asset in a GitHub repository, including a `browser_download_url` for downloading the asset.
- Get a release by tag nameGets a release from a GitHub repository by its tag name; the repository and a release with this tag must already exist.
- Get a repositoryRetrieves detailed information about an existing and accessible GitHub repository.
- Get a repository public keyGets a repository's public key for encrypting secrets to be used in GitHub Actions, if the repository exists and is accessible.
- Get a repository readmeFetches the README file (if it exists and is accessible) from a specified GitHub repository, returning its Base64-encoded content and metadata.
- Get a repository readme for a directoryRetrieves the README file from a specified directory within a GitHub repository, optionally at a given commit, branch, or tag.
- Get a repository rulesetRetrieves a specific repository ruleset by its ID; if `includes_parents` is true, the search for this `ruleset_id` also extends to rulesets from parent organizations.
- Get a repository rule suiteGets detailed information for a specific repository rule suite by its ID, including its evaluation status and the results of its individual rules.
- Get a repository secretGets metadata (name, creation/update timestamps) for an existing repository secret, excluding its encrypted value.
- Get a repository subscriptionGets the authenticated user's subscription details for a repository, indicating if they receive notifications.
- Get a repository variableGets a specific GitHub Actions variable by name from an accessible repository.
- Get a repository webhookReturns the configuration of an existing webhook for a given repository.
- Get a review comment for a pull requestRetrieves a specific pull request review comment by its ID, provided the repository exists, is accessible, and the comment ID is valid.
- Get a review for a pull requestRetrieves a specific review for a pull request using its owner, repository, pull request number, and review ID.
- Get a secret for the authenticated userRetrieves metadata (name, timestamps, visibility; not the value) for a specific, existing development environment secret associated with the authenticated user's GitHub Codespaces.
- Get a self hosted runner for an organizationRetrieves detailed information about a specific self-hosted runner registered within a GitHub organization.
- Get a self hosted runner for a repositoryGets a specific self-hosted runner for a repository by its unique ID.
- Get assignment gradesRetrieves all grades for an existing GitHub Classroom assignment.
- Get a tagRetrieves detailed information for a specific Git tag object from a GitHub repository, using the SHA of the tag object itself.
- Get a team by nameRetrieves a GitHub team by its slug from a specific organization.
- Get a threadRetrieves a specific GitHub notification thread using its unique `thread_id`.
- Get a thread subscription for the authenticated userRetrieves the authenticated user's subscription details for a specific notification thread, identified by `thread_id`.
- Get a userRetrieves the public profile information for an existing GitHub user, specified by their username.
- Get a webhook configuration for an organizationRetrieves the configuration for a specific webhook associated with a GitHub organization.
- Get a webhook configuration for a repositoryReturns the configuration for an existing webhook on the specified repository.
- Get a webhook delivery for an organization webhookReturns detailed information for a specific delivery attempt of a webhook configured for the specified GitHub organization.
- Get a workflowRetrieves detailed information for a specific GitHub Actions workflow in a repository, identified by either its numeric ID or its filename.
- Get a workflow runGets a specific workflow run by its ID from a GitHub repository.
- Get a workflow run attemptRetrieves detailed information for a specific attempt of a workflow run in a GitHub repository, including its status, conclusion, and timings.
- Get billing usage report for userRetrieves the billing usage report for a specified GitHub user. Use when you need to analyze billing costs and usage patterns.
- Get branch protectionRetrieves branch protection settings for a specific, existing, and accessible branch in a GitHub repository; protection feature availability varies by GitHub product plan.
- Get catalog modelsTool to retrieve the list of AI models available in the GitHub Models catalog. Use when you need to discover available models, their capabilities, token limits, and supported modalities.
- Get a check suiteRetrieves a specific check suite (a collection of check runs) by its ID from a repository accessible to the authenticated user.
- Get a classroomRetrieves details for a specific GitHub Classroom. Requires the authenticated user to be an administrator of the classroom.
- Get a code of conductRetrieves the full details of a specific GitHub code of conduct using its unique key.
- Get Code of Conduct (GraphQL)Tool to look up a code of conduct by its key using GitHub's GraphQL API. Use when you need to fetch code of conduct details as part of a GraphQL workflow.
- Get a CodeQL database for a repositoryGets an existing CodeQL database (including a download URL) for a specified language in an accessible repository, if one has been successfully built for that language.
- Get a code scanning alertRetrieves a specific code scanning alert, which identifies potential code vulnerabilities or errors, by its number from the specified GitHub repository.
- Get a code scanning analysis for a repositoryRetrieves detailed information for a specific code scanning analysis on an accessible repository, identified by its `analysis_id`.
- Get a code scanning default setup configurationGets the default setup configuration for code scanning in a repository, including state, languages, query suite, and schedule for a repository if it exists.
- Get a codespace for the authenticated userCall to retrieve detailed information for a `codespace_name` belonging to the authenticated user, ensuring the codespace exists and is accessible.
- Get a commit commentRetrieves the full details of a specific commit comment in a GitHub repository, using its unique identifier.
- Get a commit objectRetrieves detailed information (including author, committer, message, tree, parents, verification) for a specific commit in a GitHub repository, identified by its SHA.
- Get commit signature protectionGets the commit signature protection status for a branch in a repository.
- Get commit statusesList all statuses for a commit reference (SHA, branch, or tag) in reverse chronological order. Use when you need to check CI/CD status results from various systems for a specific commit.
- Get community profile metricsRetrieves a repository's community profile metrics, including health percentage and the presence of key community files (e.g., README, LICENSE).
- Get contextual information for a userGets contextual hovercard information for a GitHub user; `subject_type` and `subject_id` can be jointly provided for more specific details.
- Get a custom deployment protection ruleRetrieves a specific custom deployment protection rule (used by GitHub Apps for external validation or manual approval of deployments) for a given environment in a repository.
- Get default attributes for a codespaceGet pre-flight data (e.g., default location, devcontainer path) for creating a Codespace in a given repository (must exist and be accessible), optionally for a specific Git ref.
- Get default workflow permissions for an organizationGets the default GITHUB_TOKEN workflow permissions and settings for a GitHub organization.
- Get default workflow permissions for a repositoryGets the default workflow permissions (`read` or `write`) for the GITHUB_TOKEN and whether it can approve pull request reviews in an existing and accessible repository.
- Get a diff of the dependencies between commitsGets the dependency diff between two Git revisions in a repository, where 'basehead' specifies the revisions and 'name' can optionally scope to a specific manifest file.
- Get a deploy keyGets a specific deploy key, identified by its `key_id`, for the GitHub repository specified by `owner` and `repo`.
- Get a deploymentGets a specific deployment by ID from a repository, provided the repository and deployment ID exist.
- Get a deployment branch policyRetrieves a specific deployment branch policy for an environment in a repository, identified by its unique ID.
- Get a deployment statusRetrieves a specific deployment status by its ID for a given deployment within a GitHub repository.
- Get details about a codespace exportRetrieves detailed information about a specific export of a codespace.
- Get a discussionFetches a specific discussion by its number from a team within an organization. This is a read-only action that retrieves discussion details including title, body, author information, comment count, a
- Get a discussion commentFetches a specific comment from a team discussion within a specific organization.
- Get emojisLists all emojis available for use on GitHub, including custom and Unicode emojis.
- Get Enterprise Member InvitationTool to look up a pending enterprise unaffiliated member invitation by invitee and enterprise. Use when you need to check the status of a specific invitation.
- Get feedsFetches a list of available GitHub feed URLs for the authenticated user.
- Get a gistFetches a specific GitHub gist by its `gist_id`, returning comprehensive details if the gist exists.
- Get a gist commentRetrieves a specific Gist comment by its ID and the Gist's ID.
- Get a gist revisionRetrieves a specific revision of a gist.
- Get GitHub Actions cache usage for an organizationRetrieves total GitHub Actions cache usage statistics for an organization, including active cache count and size across all repositories.
- Get github actions cache usage for a repositoryRetrieves the total count of active GitHub Actions caches and their combined size in bytes for a specified repository.
- Get github actions permissions for an organizationGets the GitHub Actions permissions for a specified organization, detailing repository enablement and allowed actions policies.
- Get GitHub Actions permissions for a repositoryGets the GitHub Actions permissions policy for a repository, including its enabled status and the scope of allowed actions.
- Get billing premium request usageTool to get billing premium request usage report for a GitHub user. Use when you need to retrieve usage data for premium features like Copilot or AI models.
- Get billing usage summary for userTool to retrieve billing usage summary for a GitHub user account. Use when tracking usage costs, monitoring billing details, or generating usage reports for a specific user. Note: This endpoint only r
- Get github meta informationFetches GitHub's publicly available metadata, useful for configuring network security policies or IP allow-listing.
- Get github pages buildRetrieves detailed information about a specific GitHub Pages build for a repository, which must have GitHub Pages enabled.
- Get a gitignore templateRetrieves a specific .gitignore template from GitHub by its name, which must be an existing template in GitHub's collection.
- Get a global security advisoryRetrieve a global GitHub security advisory by its GHSA identifier. Use this to get detailed information about vulnerabilities including severity, affected packages, CVSS scores, and references.
- Fetch GraphQL NodeTool to fetch any GitHub object by its global node ID. Use when you have a node_id and need to retrieve the corresponding object details.
- Get GraphQL rate limitTool to retrieve the authenticated client's GitHub GraphQL API rate limit information. Use when you need to check remaining quota, current usage, or reset time for GraphQL requests.
- Get information about a sarif uploadRetrieves detailed information, including processing status and results URL, about a specific SARIF (Static Analysis Results Interchange Format) upload for a repository, uniquely identified by its sar
- Get interaction restrictions for an organizationRetrieves interaction restrictions for an organization, showing which GitHub user types can interact with its public repositories and when restrictions expire; returns an empty response if no restrict
- Get interaction restrictions for a repositoryRetrieves active interaction restrictions for a repository, detailing which user groups are limited from activities like commenting or creating pull requests, and when these restrictions expire.
- Get interaction restrictions for public repositoriesRetrieves currently active interaction restrictions for the authenticated user's public repositories.
- Get a labelRetrieves a specific label by its name from a specified GitHub repository.
- Get latest pages buildRetrieves information about the most recent GitHub Pages build for a repository, which must exist, be accessible, have GitHub Pages enabled, and have at least one prior build.
- Get a licenseCall this action to retrieve comprehensive details for a specific software license recognized by GitHub, using its unique license key.
- Get License (GraphQL)Tool to look up an open source license by its SPDX ID using GitHub's GraphQL API. Use when you need to fetch license details for compliance tracking or repository setup.
- Get octocatFetches an ASCII art representation of GitHub's Octocat, suitable for text-based displays.
- Customize OIDC subject claim templateRetrieves the OpenID Connect (OIDC) subject claim customization template for a repository, which defines the `sub` claim structure in OIDC tokens for GitHub Actions workflows; returns the default conf
- Get allowed actions and workflows for an orgGets the list of allowed actions and reusable workflows for an organization when the 'allowed_actions' policy is set to 'selected'.
- Get organization audit logTool to retrieve an organization's audit log events for security and compliance investigations. Use when tracking organizational changes, security audits, or compliance monitoring. Requires organizati
- Get a custom property for an organizationRetrieves the definition (schema) of a specific, existing custom property for an organization.
- Get organization project itemTool to get an item from an organization-owned GitHub Projects V2 project. Use when you need to retrieve details about a specific project item including its content, fields, timestamps, and creator in
- Get organization public key for Codespaces secretsRetrieves an organization's public key, which must be used to encrypt secret values before they are configured for Codespaces.
- Fetch Public Key For Secret EncryptionRetrieves the public key for an existing GitHub organization, required for encrypting Dependabot secrets. Requires admin:org scope.
- Get org dev environment secret safelyRetrieves metadata for a specific secret available to an organization's GitHub Codespaces without exposing its encrypted value.
- Get custom OIDC subject claim templateRetrieves the OpenID Connect (OIDC) subject claim customization template for a GitHub organization, which defines how the `sub` claim in OIDC tokens for workflows is constructed.
- Get a dns health check for github pagesRetrieves the DNS health check status (e.g., CNAME/A records, HTTPS) for a GitHub Pages site; the check may be pending (HTTP 202) on initial calls or after site changes.
- Get a GitHub Pages siteRetrieves information for a GitHub Pages site, which must be enabled for the repository.
- Get page viewsRetrieves page view statistics for a repository over the last 14 days, including total views, unique visitors, and a daily or weekly breakdown.
- Get parent issueRetrieve the parent issue of a GitHub sub-issue.
- Get pending deployments for a workflow runRetrieves pending deployment environments for a specific workflow run that are awaiting approval due to protection rules.
- Get project permission for a userRetrieves permission information for a GitHub project (classic) collaborator. Returns the permission level and full user object for a collaborator on a GitHub project (classic). The permission returne
- Get public key for secret encryptionRetrieves a repository's public key for encrypting GitHub Codespaces secrets; requires `repo` scope or equivalent read access to codespaces secrets for private repositories.
- Get public key for the authenticated userRetrieves the authenticated user's public key for encrypting GitHub Codespaces secrets. The returned key must be used with libsodium sealed box encryption before creating or updating secrets via the A
- Get pull request review protectionRetrieves the pull request review protection settings for a specific branch in a GitHub repository, if such protection is configured.
- Get rate limit status for the authenticated userRetrieves the authenticated user's current GitHub API rate limit status, including usage and limits across different resource categories.
- Get allowed actions and workflows for a repositoryGets the settings for allowed actions and reusable workflows in a repository. Requires the repository's `allowed_actions` policy to be set to `selected` (returns 409 if set to `all` or `local_only`).
- Get repository development environment secretGets metadata (name, creation/update timestamps) for a specific, existing development environment secret (Codespaces secret) in a repository, without exposing its value.
- Get repository attestationsTool to retrieve attestations by subject digest from a GitHub repository. Use when you need to verify or check attestations for a specific artifact identified by its SHA256 digest.
- Get repository clonesRetrieves the total number of clones and a breakdown of clone activity (daily or weekly) for a specified repository over the preceding 14 days.
- Get repository Discussion threadReads one repository Discussion with cursor-paginated top-level comments and up to the requested first replies for each comment.
- Get Repository via GraphQLTool to lookup a repository by owner and name using GitHub's GraphQL API. Use when you need comprehensive repository information.
- Get Repository OwnerTool to lookup a repository owner (User or Organization) by login using GitHub's GraphQL API. Use when you need to determine whether a login is a user or organization and retrieve basic profile inform
- Get repository permissions for a userRetrieves a specific user's permission level ('admin', 'write', 'read', or 'none') for a given repository, where 'maintain' role is reported as 'write' and 'triage' as 'read'.
- Retrieve repo public key for encryptionGets a repository's public key, used to encrypt secrets for Dependabot.
- Get repository secret securelyRetrieves metadata for an existing Dependabot secret in a repository, without exposing its encrypted value.
- Get repository security advisoryTool to retrieve a repository security advisory using its GHSA identifier. Use when you need detailed information about a specific security vulnerability.
- Get a delivery for a repository webhookRetrieves a specific delivery for a repository webhook, identified by its `hook_id` and `delivery_id`.
- Get rules for a branchRetrieves all active rules for a specific branch in a GitHub repository, excluding rules in 'evaluate' or 'disabled' status.
- Get Organization Dependabot SecretGets a single organization Dependabot secret's metadata (name, timestamps, visibility) without revealing its encrypted value. Requires admin:org scope.
- Get status checks protectionRetrieves the status check protection settings for a specific branch in a GitHub repository, if status check protection is enabled for it.
- Get team membership for a userRetrieves a user's role and membership status within a specific team in an organization. Returns membership details including role ('member' or 'maintainer') and state ('active' or 'pending'). If the
- Get teams with access to the protected branchLists teams with explicit push access to a protected branch, provided team restrictions are configured in the branch's protection settings; returns an empty list otherwise.
- Get the authenticated userGets the profile information for the currently authenticated GitHub user, including potentially private details based on user settings.
- Get the combined status for a specific referenceRetrieves the aggregated commit status (e.g., success, failure, pending) from all checks for a specific reference (SHA, branch, or tag) in a GitHub repository.
- Get the hourly commit count for each dayRetrieves the 'punch card' data, showing hourly commit counts for each day of the week for an existing and accessible repository.
- Get the last year of commit activityFetches weekly commit totals and daily commit counts for the last 52 weeks for a specified GitHub repository.
- Get the latest releaseFetches the latest official (non-prerelease, non-draft) release for a GitHub repository; requires at least one such published release.
- Get the license for a repositoryRetrieves the license file and its details for a repository, optionally from a specific Git reference (branch, tag, or commit SHA).
- Get the review history for a workflow runRetrieves the detailed approval history for a specific workflow run in a GitHub repository, detailing each review's environment, state, reviewer, and comments, to track the approval process for workfl
- Get the status of a GitHub Pages deploymentRetrieves the status of a specific GitHub Pages deployment for a repository, which must have GitHub Pages enabled.
- Get the weekly commit activityFetches the weekly commit activity (additions and deletions per week) for a repository over the past year; best for repositories with under 10,000 commits.
- Get the weekly commit countRetrieves the weekly commit count for a repository, detailing commits by the owner and all contributors over the last 52 weeks; GitHub may return a 202 status or an empty response if statistics are be
- Get the Zen of GitHubRetrieves a random quote from GitHub's 'Zen of GitHub' collection, reflecting GitHub's design philosophies and offering humorous insights, useful for displaying GitHub wisdom or a lighthearted message
- Get top referral pathsFetches the top 10 most viewed content paths for a repository from the last 14 days.
- Get top referral sourcesFetches the top 10 websites that referred traffic to a repository within the last 14 days.
- Get user by IDRetrieves a GitHub user's profile information by their unique numeric account ID. Use when you know the user's numeric ID rather than their username.
- Get user project itemTool to get an item from a user-owned project in GitHub Projects V2. Use when you need to retrieve details about a specific item (issue, pull request, or draft issue) in a user's project board.
- Get user attestations by subject digestTool to get attestations by subject digest for a GitHub user. Use when you need to retrieve attestation data for a specific artifact or resource identified by its subject digest.
- Get user's projects v2Tool to list GitHub Projects v2 for a specified user. Use when you need to retrieve all projects owned by a user with pagination support.
- Get users with access to the protected branchLists users with explicit push access to a protected branch, provided its protection rule restricts pushes to specific users.
- Get Viewer via GraphQLTool to retrieve the authenticated user's profile information via GitHub GraphQL. Use when working with GraphQL queries or need viewer details in GraphQL format.
- Get workflow external access levelGets the access level settings for a private repository, determining how workflows outside this repository can use its actions and reusable workflows.
- Get a job for a workflow runRetrieves detailed information for a specific job within a GitHub Actions workflow run, given its `job_id` which must be valid for the specified repository's workflow.
- Get workflow run usageGets the billable time, in milliseconds, for a specific workflow run, detailing time spent on various operating systems.
- Get workflow usageGets the billable time (in milliseconds, broken down by runner OS) for a specific workflow within a repository for the current billing cycle.
- Check if repo starred by auth userUse to determine if the authenticated user has starred a specific GitHub repository, which is confirmed by an HTTP 204 status (resulting in an empty dictionary in the response data); the action fails
- List accepted assignments for an assignmentLists accepted assignments (student repositories created after acceptance) for an existing GitHub Classroom assignment, identified by its unique `assignment_id`.
- List repositories accessible via GitHub App installationLists repositories that the authenticated user can access through a specific GitHub App installation. Returns repositories where the user has explicit :read, :write, or :admin permission through the i
- List app installations for user tokenLists GitHub App installations accessible to the authenticated user via their access token, including installation details, permissions, and repository access.
- Get apps with access to the protected branchLists GitHub Apps with push access to a repository's protected branch.
- List artifacts for a repositoryLists GitHub Actions workflow artifacts for a specified repository, which must exist.
- List assigneesLists users who can be assigned to issues in a repository, typically those with push access.
- List assignments for a classroomLists all assignments for a given GitHub Classroom `classroom_id`; the classroom must exist and be accessible.
- List attestation repositoriesTool to list attestation repositories for an organization. Use when you need to discover which repositories in an organization have attestations. Attestations provide verifiable metadata about softwar
- List available machine types for a repositoryLists machine types available for GitHub Codespaces in a repository, optionally using a Git ref to check compatibility based on prebuild availability and devcontainer configurations.
- List branches for head commitLists branches in an accessible repository where the provided commit SHA is the head, useful for identifying development lines based on that commit.
- List check run annotationsLists annotations for a specific check run in a GitHub repository, detailing issues like errors or warnings on particular code lines.
- List check runs in a check suiteLists check runs for a specific check suite in a GitHub repository, optionally filtering by check name or status.
- List check suites for a git referenceLists check suites for a Git reference (commit SHA, branch, or tag) in a repository, optionally filtering by GitHub App ID or check run name.
- List child teamsLists the immediate child teams of a parent team within an organization.
- List classroomsLists GitHub Classrooms to which the authenticated user has administrative access.
- List codeowners errorsLists syntax errors in a repository's CODEOWNERS file, which must be located at the root, `.github/`, or `docs/` directory for the specified ref.
- List CodeQL databases for a repositoryLists all CodeQL databases for a repository where CodeQL analysis has been previously run and completed.
- List code scanning alerts for an organizationLists code scanning alerts for a GitHub organization; use EITHER `tool_name` OR `tool_guid` if filtering by tool, not both.
- List code scanning alerts for a repositoryLists code scanning alerts for a repository, optionally filtering by tool (which must have produced scan results for the repository), Git reference, state, or severity.
- List code scanning analyses for a repositoryLists code scanning analyses for an existing repository, optionally filtering by tool (name or GUID), Git reference, or SARIF ID.
- Get all codes of conductRetrieves all available codes of conduct from GitHub, often used to select one for a repository.
- List Codes of Conduct (GraphQL)Tool to fetch all available codes of conduct using GitHub's GraphQL API. Use when you need to retrieve the complete list of codes of conduct that can be applied to repositories.
- List codespaces for a user in organizationLists all GitHub Codespaces owned by a specified member of a given organization.
- List codespaces for the authenticated userLists GitHub Codespaces for the authenticated user, optionally filtering by repository ID and supporting pagination.
- List codespaces for the organizationLists active/pending GitHub Codespaces for an existing organization; admins list all, members list their own.
- List comment changes across organizationTool to list issue and PR comment changes across an organization's repositories efficiently. Use when monitoring comment activity without per-PR/per-issue polling. Filters organization events to retur
- List comments for a pull request reviewLists all comments for a specific review on a GitHub pull request.
- List commit commentsRetrieves all comments for a specific commit in a GitHub repository, supporting pagination.
- List commit comments for a repositoryLists all commit comments for a specified repository, which must exist and be accessible.
- List commitsLists commits for a GitHub repository. Requires 'owner' (username/org) and 'repo' (repository name) parameters. Optionally filter by SHA/branch, path, author, committer, or date range.
- List commits on a pull requestLists commits for a pull request; requires the repository and pull request to exist and be accessible, and supports pagination.
- Get all commonly used licensesRetrieves a list of commonly used software licenses from GitHub, optionally filtering for 'featured' licenses whose specific selection criteria by GitHub may vary.
- Get all custom properties for an organizationGets the schema definitions for all custom properties configured for an organization, not the specific values assigned to repositories.
- Get all custom property values for a repositoryGets all custom property values for a repository. Custom properties are defined at the organization level, so this endpoint works with organization-owned repositories. Returns an empty array if no cus
- List custom property values for organization repositoriesLists repositories in an organization with their custom property values. Requires 'Custom properties' organization permission (read).
- List deliveries for an organization webhookRetrieves a list of webhook deliveries for a specific webhook in an organization, allowing inspection of delivery history and details.
- List deliveries for a repository webhookRetrieves delivery attempts for a specific repository webhook to inspect its history; ensure the webhook ID exists.
- List deploy keysLists deploy SSH keys for a specified repository; the repository must exist.
- List deployment branch policiesLists all deployment branch policies for a specified environment in a GitHub repository.
- List deployment statusesLists all statuses for a given deployment in a repository.
- List email addresses for the authenticated userLists all email addresses for the authenticated user, including their primary status, verification status, and visibility. This action retrieves the complete list of email addresses associated with th
- List environment custom deployment rulesLists all custom deployment protection rule integrations for a repository environment; the `environment_name` must be URL-encoded.
- List environmentsRetrieves all deployment environments for a specified repository, which are used to configure protection rules and secrets for different software lifecycle stages.
- List environment secretsLists the names and metadata (not values) of secrets for a specified, existing environment within an existing GitHub repository.
- List environment variablesLists all environment variables, which are plaintext key-value pairs for GitHub Actions workflows, for a specified environment within a GitHub repository.
- List events for the authenticated userLists public events for the specified GitHub user, or private events if authenticated as that user, in reverse chronological order.
- List events received by the authenticated userLists events a specific GitHub user received from followed users and watched repositories; returns private events if authenticated for `username`, otherwise public.
- List followers of the authenticated userLists users following the authenticated GitHub user, returning an empty list if the user has no followers.
- List following for userLists the people that a GitHub user follows. Use this action when you need to retrieve the list of users that a specific GitHub user is following. The response includes public profile information for
- List forksLists forks for a specified repository, which must exist, with options for sorting and pagination.
- List gist commentsLists comments for a specified GitHub Gist.
- List gist commitsLists all commits for a specified gist.
- List gist forksLists all forks for a given GitHub gist ID.
- List gists for a user_lists public gists for a specified GitHub user._
- List gists for the authenticated userLists gists for the authenticated user, with optional filtering by update time and pagination.
- List github actions caches for a repositoryLists GitHub Actions caches for a repository, with options to filter by Git reference or cache key, and to sort and paginate results.
- List GitHub Pages buildsLists GitHub Pages builds for a repository; GitHub Pages must be enabled on the repository for builds to be listed.
- Get all gitignore templatesRetrieves all available .gitignore template names from GitHub (e.g., 'Python', 'Node', 'Java'), used for generating .gitignore files.
- List global security advisoriesLists GitHub's global security advisories, filterable by various attributes including ID, type, ecosystem, severity, and dates.
- List GPG keys for a userTool to list GPG keys for a GitHub user. Use when you need to fetch the public GPG keys associated with a specific GitHub user account.
- List installation requests for the authenticated appLists pending installation requests made by users or organizations for the authenticated GitHub App.
- List instances of a code scanning alertLists all instances of a specific code scanning alert, optionally filtered by Git ref; requires code scanning to be enabled on the repository.
- List issue commentsLists comments for a specified issue in a GitHub repository.
- List issue comments for a repositoryLists issue comments, including those on pull requests, for an accessible repository.
- List issue dependencies blocked byTool to list dependencies an issue is blocked by. Use when you need to retrieve all issues that are blocking a specific issue from being closed or completed.
- List issue dependencies blockingTool to list dependencies an issue is blocking. Use when you need to see which issues are blocked by a specific issue.
- List issue eventsRetrieves a list of all events for a specific issue within a GitHub repository.
- List issue events for a repositoryLists all issue events (e.g., closed, reopened, assigned) for a specified repository.
- List issues for userLists GitHub issues for the authenticated user across visible repositories, with filtering by user relationship, state, labels, an ISO 8601 `since` timestamp (YYYY-MM-DDTHH:MM:SSZ), and sorting option
- List issue typesList all issue types configured for a GitHub organization. Requires read:org scope for OAuth tokens.
- List jobs for a workflow runLists jobs for a specific workflow run in a GitHub repository.
- List jobs for a workflow run attemptLists jobs, including details like ID, status, and steps, for a specific attempt of a GitHub Actions workflow run.
- List labels for an issueLists all labels for a specified issue in a GitHub repository.
- List labels for a repositoryRetrieves all labels for a specified, existing GitHub repository.
- List labels for a self-hosted runner for a repositoryLists all labels assigned to a specific self-hosted runner registered with the given repository.
- List labels for issues in a milestoneLists all labels for issues within a specific milestone in a repository.
- List labels for a self-hosted runner for an organizationLists all labels assigned to a specific self-hosted runner within a GitHub organization, which are used to route workflows.
- List Licenses (GraphQL)Tool to fetch all known open source licenses using GitHub's GraphQL API. Use when you need to retrieve the complete list of licenses that can be applied to repositories.
- List machine types for a codespaceLists available machine types for a specific, accessible codespace, enabling it to be transitioned to a new hardware configuration.
- List matching referencesLists all Git references (branches or tags) in a repository that start with the provided partial reference path (e.g., `heads/my-feature` or `tags/v1.2`).
- List milestonesLists milestones, which track progress for groups of issues and pull requests, for an existing repository, allowing filtering by state and sorting.
- List org level codespaces secretsLists all Codespaces secrets available for a specified organization, which must exist.
- List organization events for the authenticated userLists public events in a specified GitHub organization for the authenticated user's organization dashboard. Returns activities like repository pushes, pull requests, issues, forks, and other public ev
- List organization memberships for authenticated userList organization memberships for authenticated user
- List organization projectsLists projects (V2) for a specified GitHub organization, with optional search query and cursor-based pagination.
- List organization repositoriesRetrieves a list of repositories for a specified GitHub organization, allowing filtering by type and sorting.
- Get all organization roles for an organizationLists all custom organization roles for an existing GitHub organization.
- List organizationsLists GitHub organizations for the authenticated user, sorted by ID in ascending order.
- List organization secretsLists GitHub Actions secrets available for a specified organization.
- List organization variablesLists all GitHub Actions variables for a specified organization.
- List organization webhooksLists all webhooks for a specified GitHub organization; the organization must exist.
- List organization fine-grained permissionsLists all fine-grained permissions available in a GitHub organization for use in custom organization roles. These permissions define granular access controls that can be combined when creating custom
- List organization issues assigned to the authenticated userLists issues for the authenticated user within a specified GitHub organization, with options to filter by involvement type, state, labels, and to sort results.
- List package versions for an organization packageLists all versions for a specified package, if it exists and is owned by the given GitHub organization.
- List organization project view itemsTool to list items for an organization project view. Use when you need to retrieve all items from a specific view within a GitHub organization's Projects V2 project. Returns a list of project items wi
- List organization repositories with Github Actions enabledLists the selected repositories that are enabled for GitHub Actions in an organization. This endpoint only returns results when the organization's 'enabled_repositories' permission policy is configure
- List org resource access tokensLists approved fine-grained personal access tokens (PATs) with access to resources in a GitHub organization, optionally filtering by owner, repository, permissions, or last usage time. AUTHENTICATION
- List org resources with personal tokensLists requests from organization members to access organization resources with fine-grained personal access tokens (pending, approved, or denied). Note: This endpoint requires GitHub App authenticatio
- List organization Dependabot secrets without valuesLists all Dependabot secrets (metadata like names, creation/update timestamps, but not their encrypted values) for a specified organization, which must exist.
- List outside collaborators for an organizationLists outside collaborators for a GitHub organization, with options to filter (e.g., by 2FA status) and paginate results.
- List owned package versionsLists all versions for an existing package owned by the authenticated user, identified by its type and name.
- List packages for an organizationLists GitHub Packages for an organization, noting specific interpretations for package_type and visibility parameters.
- List packages for a userLists packages for a specified GitHub user, filterable by package type and visibility.
- List packages for the authenticated user's namespaceLists packages of a specific type and visibility within the authenticated user's namespace on GitHub.
- List package versions for a package owned by a userLists all versions of a public package owned by a specific GitHub user, identified by package type, package name, and username.
- List pending team invitationsLists all pending membership invitations for a specified team within an organization. The authenticated user must be an organization member with the read:org scope. The response includes invitation de
- List project collaborators (classic)Lists collaborators for a GitHub Project (classic) by project ID. IMPORTANT: This action uses the Projects (classic) REST API which was sunset on April 1, 2025 for GitHub.com. The API may still be ava
- List project columnsLists all of a GitHub project's columns (e.g., 'To Do', 'In Progress'); project_id must identify a valid, accessible project. Note: This action uses GitHub's Projects (classic) REST API. The Projects
- List project fields for userTool to list all fields in a GitHub Projects V2 project for a specific user. Use when you need to see available fields in a project.
- List project items for userTool to list items for a user-owned GitHub project. Use when you need to retrieve all items (issues, pull requests, draft issues) from a specific project belonging to a user.
- List items for user project viewTool to list items for a user's GitHub Projects (v2) view. Use when you need to retrieve items from a specific view of a user's project. Supports pagination and field filtering.
- List public email addresses for the authenticated userLists the public email addresses for the authenticated user.
- List public eventsLists public GitHub events, which may be delayed by up to 5 minutes, with support for pagination.
- List public events for a network of repositoriesRetrieves public events (up to 90 days old, newest first) for a GitHub repository network, including the repository and its forks.
- List public events for a userRetrieves a list of public events for a specified GitHub user, in reverse chronological order.
- List public events received by a userLists public events for a specified GitHub user (e.g., activities in repositories they watch or are involved in); the target user's profile must be public, and if blocked by the authenticated user, a
- List public gistsLists public gists from GitHub, optionally filtering by a 'since' timestamp and supporting pagination; results are generally newest first.
- List public keys for a userLists the verified public SSH keys for a specified GitHub user.
- List public organization eventsLists public events for a specified GitHub organization, which must exist. This action retrieves the events that are publicly accessible for the organization specified. It returns a paginated list of
- List public organization membersLists users who have publicly declared their membership in a specified, existing GitHub organization.
- List public repositoriesLists all public repositories on GitHub; use the `since` parameter with a repository ID from a previous result for pagination.
- List pull requests associated with a commitLists pull requests for a commit; returns merged PRs that introduced the commit if on the default branch, or open PRs including the commit if on other branches.
- List reactions for a commit commentLists reactions for a specific commit comment; this is a read-only operation.
- List reactions for an issueLists reactions for a specific, existing issue within an accessible GitHub repository, optionally filtering by content type.
- List reactions for an issue commentLists reactions for a specific issue comment in a GitHub repository, optionally filtering by content type.
- List reactions for a pull request review commentLists reactions for a pull request review comment in a repository, optionally filtering by reaction type.
- List reactions for a releaseLists all reactions, or optionally filters reactions by a specific content type, for a given GitHub release.
- List reactions for a team discussionLists reactions for an existing team discussion within an organization. This endpoint allows you to retrieve all reactions (emoji responses) made to a specific team discussion. You can optionally filt
- List reactions for a team discussion commentLists reactions for a specific comment in a team discussion within an organization, optionally filtering by content type.
- List release assetsLists assets (e.g., compiled binaries, source code archives) for a specific GitHub release, identified by `release_id` which must be valid for an existing release in the repository.
- List repo access by tokenLists repositories in an organization that a fine-grained personal access token has requested access to. Only GitHub Apps can use this endpoint. Requires 'Personal access token requests' organization
- List repo codespaces for authenticated userLists Codespaces the authenticated user can access within a specified, existing repository.
- List repo dev container configs for userLists the `devcontainer.json` configurations available in a specified repository for use with GitHub Codespaces.
- List authenticated user's repository invitationsLists all pending repository invitations for the authenticated user.
- List repository notifications for the authenticated userRetrieves notifications for the authenticated user from a specified repository, to which the user must have access.
- List repo secrets without valuesLists all Codespaces secrets available in a specific repository, without their encrypted values.
- List repos accessible to app installationLists repositories a GitHub App installation can access. IMPORTANT: This endpoint requires a GitHub App installation access token (ghs_* prefix) for authentication. OAuth/user access tokens (gho_*) or
- List repositories for a userLists public repositories for a specified GitHub user, who must have an existing account.
- List repositories starred by a userLists repositories a valid and existing GitHub user has starred.
- List repositories watched by a userLists repositories a given GitHub user is watching; the username must be a valid and existing GitHub user handle.
- List repositories watched by the authenticated userLists repositories the authenticated user is watching (subscribed to for notifications). This action retrieves a list of repositories that the authenticated user is currently watching. It allows the u
- List repos with ghactions cache usageRetrieves a paginated list of GitHub Actions cache usage statistics for repositories within an existing GitHub organization.
- List repository activitiesLists activities for a GitHub repository, ensuring the repository exists and is accessible.
- Get all autolinks of a repositoryRetrieves all autolinks (e.g., for JIRA issues) configured for a repository; requires admin permissions on the repository.
- List repository collaboratorsLists collaborators for a specified repository, provided it exists and is accessible to the authenticated user.
- List repository Dependabot alertsList Dependabot vulnerability alerts for a repository with filters and cursor pagination.
- List repository eventsLists chronological events (e.g., code pushes, issue activities, PR actions, forks) for a specified, existing GitHub repository.
- List repository invitationsRetrieves all pending (unaccepted or undeclined) collaboration invitations for a specified GitHub repository.
- List repository languagesLists the programming languages used in a GitHub repository, returning a byte count for each language.
- List repository organization secretsLists names of organization-level secrets shared with the specified repository; actual secret values are not returned and visibility depends on token access.
- List repository organization variablesLists organization-level variables that are shared with a specific repository. The repository must belong to an organization (not a personal account).
- List repository projectsLists Projects (classic) associated with a specific repository. Note: This action lists GitHub Projects (classic), which is GitHub's legacy project management feature. If the repository has Projects (
- Get all repository rulesetsRetrieves all rulesets for a GitHub repository, which define conditions and actions for repository interactions (e.g., branch protections).
- List repository rule suitesLists rule suite evaluations for a repository, allowing filtering by ref (non-wildcard), time period, actor, and result.
- List repository secretsLists metadata for all secrets in a GitHub repository, excluding their encrypted values.
- List repository secrets without decryptingLists metadata (e.g., name, creation/update dates) for all Dependabot secrets in a repository; secret values are not included.
- List repository security advisoriesTool to list security advisories for a repository. Use when you need to retrieve security advisories published for a specific repository, optionally filtered by state.
- List repository tagsLists tags for a specified GitHub repository.
- List repository teamsLists all teams with explicit permission to access the specified repository; the repository must exist.
- Get all repository topicsRetrieves all topics for a specified, existing, and accessible repository.
- List repository variablesLists plain text key-value variables for GitHub Actions workflows within a specific, accessible repository.
- List repository webhooksRetrieves a list of webhooks for a repository, which must exist and be accessible.
- Get all requested reviewers for a pull requestGets all users and teams requested to review a specific pull request in a repository.
- List review comments in a repositoryLists all review comments on all pull requests within a specified repository.
- List review comments on a pull requestLists all review comments on a specific pull request within a GitHub repository.
- List reviews for a pull requestLists submitted reviews chronologically for a specific pull request within a GitHub repository.
- List runner applications for an organizationLists downloadable GitHub Actions runner application binaries for setting up self-hosted runners in a GitHub organization. Returns download URLs and checksums for various OS/architecture combinations
- List runner applications for a repositoryLists available self-hosted runner application binaries for a specific repository, including their OS, architecture, and download URL.
- List secrets for the authenticated userLists all Codespaces secrets accessible to the authenticated user for use within GitHub Codespaces.
- List security advisories (GraphQL)Tool to list GitHub Security Advisories using the GraphQL API. Use when you need to query security vulnerabilities and malware advisories from the GitHub Advisory Database with advanced filtering and
- List security vulnerabilitiesQuery software vulnerabilities documented by GitHub Security Advisories using GraphQL. Use this to find security issues in packages across ecosystems like npm, pip, maven, etc.
- List selected repositories for a Codespaces organization secretLists repositories that have been granted access to a Codespaces organization secret. Returns all repositories that have been selected when the visibility for repository access to a Codespaces secret
- List selected repositories for a user secretLists repositories that have access to the specified user Codespaces secret. This endpoint retrieves all repositories that the authenticated user has granted access to for a specific user-level Codesp
- List selected repos for secret accessLists repositories within a specified organization that have been granted access to a particular Dependabot secret. Note: This endpoint only returns results when the secret's visibility is set to 'sel
- List selected repositories for an organization variableLists repositories in an organization that can access a specific organization variable; supports pagination and returns an empty list if no repositories have been granted access. Note: This endpoint o
- List self hosted runners for an organizationLists self-hosted runners for a GitHub organization, optionally filtering by name and paginating results, providing details for each runner such as OS, status, and labels.
- List self hosted runners for a repositoryLists all self-hosted runners configured for a repository.
- List social accounts for a userLists social media accounts publicly linked to an existing GitHub user's profile.
- List social accounts for the authenticated userLists all social media accounts linked to the authenticated user's GitHub profile. This action retrieves the social media accounts associated with the user's GitHub profile, allowing for easy manageme
- List Sponsorable Users and OrganizationsTool to list users and organizations who can be sponsored via GitHub Sponsors. Use when you need to discover sponsorable entities with optional filtering by dependency ecosystem.
- List SSH signing keys for userLists the public SSH signing keys for a specified GitHub user.
- List starred gistsRetrieves a list of gists starred by the authenticated user.
- Get all status check contextsFetches all required status check contexts for a protected branch; returns an empty list if the branch isn't protected or has no required checks.
- List sub-issues for an issueTool to list sub-issues for a specific GitHub issue. Use when you need to retrieve all sub-issues associated with a parent issue, supporting pagination for large hierarchies.
- List marketplace subscriptions for authenticated userTool to list GitHub Marketplace subscriptions for the authenticated user. Use when you need to retrieve active marketplace app subscriptions including billing details, plan information, and trial stat
- List stubbed subscriptions for the authenticated userLists the authenticated user's stubbed (test/example data, not live) GitHub Marketplace subscriptions, useful for development or testing.
- List team membersLists members of a specific team within an organization, including members of child teams.
- List team projectsLists GitHub projects accessible to a specific team within an organization.
- List team repositoriesLists repositories accessible to a specific team within a GitHub organization. Returns a list of repositories that the specified team has access to, including the team's permission level (admin, maint
- List teamsLists teams for a specified GitHub organization.
- List teams for the authenticated userLists all teams across all organizations to which the authenticated user belongs, supporting pagination.
- List teams assigned to an organization roleLists teams assigned to a specific role within a GitHub organization. This endpoint requires organization administrator privileges. Use this to audit which teams have been granted specific organizatio
- List the people a user followsLists GitHub users that a valid GitHub `username` is following, supporting pagination.
- List people the authenticated user followsLists people the authenticated user follows.
- List timeline events for an issueLists chronological events (e.g., comments, commits, label changes) for a specific issue in a GitHub repository.
- List token access repositoriesLists repositories in an organization that a fine-grained personal access token has access to. Requires organization admin permissions or 'Personal access tokens' organization read permission. Only Gi
- List user projectsRetrieves a list of projects for a specified GitHub user, optionally filtering by state and supporting pagination; the username must be a valid GitHub handle. Note: This action uses GitHub's Projects
- List usersRetrieves all GitHub users (individuals and organizations) in chronological order of their sign-up date.
- List users blocked by an organizationLists users blocked by a specified GitHub organization.
- List users blocked by the authenticated userLists users blocked by the authenticated user, returning an empty list if no users are blocked.
- List users assigned org roleLists users assigned to a specific role within a GitHub organization.
- List watchersRetrieves a list of users watching a specific repository; the repository must be accessible to the authenticated user.
- List workflow run artifactsLists artifacts (e.g., build outputs, test results) for a specific workflow run in a GitHub repository.
- List workflow runs for a repositoryLists workflow runs for a repository, allowing filtering by actor, branch, event, status, creation date, check suite ID, or head SHA; the repository must exist and be accessible.
- List workflow runs for a workflowLists runs for a specified, existing workflow (identified by ID or filename like `main.yml`) in a GitHub repository, with filtering options.
- Lookup Enterprise Administrator InvitationTool to look up a pending enterprise administrator invitation by invitee, enterprise, and role. Use when you need to check if a specific user has a pending invitation to become an enterprise administr
- Lookup GitHub ResourceTool to lookup a GitHub resource by its URL. Use when you need to identify or retrieve information about a GitHub resource from its URL.
- Lookup nodes by IDsTool to lookup GitHub nodes by their global node IDs. Use when you need to retrieve multiple objects by their IDs in a single batch query.
- Lookup Organization (GraphQL)Tool to lookup a GitHub organization by login using GraphQL. Use when you need organization information via GraphQL API.
- Look Up Topic by NameTool to look up a GitHub topic by name using GraphQL. Use when you need to find information about a specific GitHub topic including its popularity (stargazer count) and related topics.
- List selected repositories for a GitHub Actions organization secretLists repositories within an organization that have been explicitly granted access to a specific GitHub Actions organization secret. Returns all repositories that have been selected when the visibilit
- Render a markdown documentRenders Markdown to HTML; for 'gfm' mode, provide 'context' (owner/repo) to correctly link issues, pull requests, and user mentions.
- Render Markdown (Raw Mode)Tool to render raw Markdown text to HTML using GitHub's markdown API. Use when you need to convert plain Markdown content to HTML without GitHub-specific features like issue references or @mentions.
- Search codeSearches code file contents and paths on the default branch of GitHub repositories using a query string; searches only files under 384KB, returns max 1000 results by best match, and is optimized for p
- Search code (all pages)Tool to search code across multiple pages using GitHub's code search API. Use when single-page searches may miss matches and you need a full or capped result set. GitHub caps results at ~1,000 total i
- Search commitsFinds commits on GitHub using a query string (q) supporting keywords and qualifiers, with options for sorting and pagination.
- Search commits by author across reposSearches commits across GitHub using the Search API (e.g., by author/email/org/date range) without per-repo scanning. Use when you need to find commits by author, committer email, organization, or dat
- GitHub GraphQL SearchTool to perform GitHub GraphQL searches across issues, pull requests, repositories, users, and discussions. Returns up to 1,000 results with cursor-based pagination. Use when you need structured searc
- Search issues and pull requestsSearches GitHub for issues and pull requests. Supports keywords, qualifiers (repo:, org:, user:, state:, label:, author:, assignee:, mentions:, etc.), and type filters (is:issue, is:pr). Type filters
- Search labelsSearches for labels within a GitHub repository by keywords in their names or descriptions.
- Search repositoriesSearches GitHub repositories using a flexible query (keywords, qualifiers) with sorting, ordering, and pagination. IMPORTANT: The 'q' parameter (search query) is REQUIRED and must always be provided.
- Search topicsFinds topics on GitHub using keywords and qualifiers with GitHub's search syntax, supporting pagination.
- Search usersSearches for users on GitHub by criteria like username, email, location, followers, or repository associations, using a flexible query string `q`.
- Verify dev container permissions acceptedVerifies if the authenticated user has accepted permissions for a specific devcontainer configuration in a repository, typically to ensure awareness before a codespace is created or used.
Held for approval by default (changes and sends)
Held for a person's approval by default. The approval is recorded and the action is sent once, never twice, with 10 seconds to undo. 402 actions.
- Add a repository collaboratorAdds a GitHub user as a repository collaborator, or updates their permission if already a collaborator; `permission` applies to organization-owned repositories (personal ones default to 'push' and ign
- Add assignees to an issueAdds assignees to a GitHub issue. This action only adds users - it does not remove existing assignees. Changes are silently ignored if the authenticated user lacks push access to the repository.
- Add email for auth userAdds one or more email addresses (which will be initially unverified) to the authenticated user's GitHub account; use this to associate new emails, noting an email verified for another account will er
- Add labels to an issueAdds labels (provided in the request body) to a repository issue; labels that do not already exist are created.
- Add or update team membership for a userAdds a GitHub user to a team or updates their role (member or maintainer), inviting them to the organization if not already a member; idempotent, returning current details if no change is made.
- Approve a workflow run for a fork pull requestApproves a workflow run from a forked repository's pull request; call this when such a run requires manual approval due to workflow configuration.
- Close an issueClose a GitHub issue by setting its state to closed. Use this action when you need to mark an issue as resolved or no longer relevant. Optionally specify a reason for closing (completed or not_planned
- Close a pull requestCloses an open pull request without merging it. The pull request state is set to "closed" and it can be reopened later if needed. Use this action when you want to reject or abandon a pull request with
- Commit Multiple FilesTool to atomically create, update, or delete multiple files in a GitHub repository as a single commit. Uses Git Data APIs to avoid SHA mismatch conflicts that occur with the Contents API when multiple
- Create a blobCreates a Git blob in a repository, requiring content and encoding ('utf-8' or 'base64'). Requires write access to the repository.
- Create a commitCreates a new commit in a GitHub repository; the `tree` SHA and any `parents` SHAs must already exist in the repository.
- Create an issueCreates a new issue in a GitHub repository, requiring the repository to exist and have issues enabled; specific fields like assignees, milestone, or labels may require push access.
Show all 402
- Create an issue commentCreates a new comment on an existing GitHub issue or pull request within the specified repository.
- Create an organization repositoryCreates a new repository within a specified GitHub organization, with options for detailed configuration including visibility, features, merge strategies, initial commit, and templates.
- Create a pull requestCreates a pull request in a GitHub repository, requiring existing `base` and `head` branches; `title` or `issue` must be provided.
- Create a referenceCreates a NEW Git reference (branch or tag) in a repository. IMPORTANT: This action ONLY creates NEW references - if the reference already exists, it will fail with a 422 'Reference already exists' er
- Create a releaseCreates a release in a GitHub repository for a specified tag; the tag must be unique for published releases, and if a `discussion_category_name` is given, it must already exist.
- Create a treeCreates a new Git tree object in a repository, defining file/directory structure by specifying tree entries, optionally building on a `base_tree` SHA; all provided SHAs must be valid.
- Create a branchCreates a new branch in a GitHub repository pointing to a specified commit. Use this action when you need to create a new branch from an existing commit SHA. IMPORTANT: This action only creates NEW br
- Create draft item for user projectCreates a draft issue item in a user-owned GitHub ProjectsV2. Use when you need to add a new draft item to track ideas or tasks in a user's project.
- Create or update file contentsCreates a new file or updates an existing file in a GitHub repository; SHA can be provided to validate file updates, automatically fetched if not provided.
- Create repositoryCreates a new repository for the authenticated user. Use this action when you need to create a new GitHub repository under the authenticated user's account. The repository name must be unique for the
- Delete a repositoryPermanently deletes the specified repository; this is a destructive, irreversible action that requires admin privileges for the repository.
- Mark pull request ready for reviewMarks a draft pull request as ready for review using GitHub GraphQL API, transitioning it from draft to reviewable state. Use this action when a draft pull request has reached a stage where it is read
- Reopen an issueReopens a closed GitHub issue by changing its state to 'open' with state_reason 'reopened'. Use this action when you need to reopen a previously closed issue that requires further attention or work. O
- Reopen Pull RequestReopens a previously closed pull request by setting its state to 'open'. This restores the pull request to an active state where it can be reviewed, commented on, and merged. Use this action when you
- Request reviewers for a pull requestRequests reviewers for a specific pull request identified by owner, repository, and pull request number. Use this action when you need to add individual users or teams as reviewers to an existing pull
- Star a specified repository (requires owner and repo)Stars a specified repository (identified by owner and repo name) for the authenticated user; this action is idempotent and succeeds even if the repository is already starred. Requires explicit reposit
- Update a referenceUpdates an existing Git reference (e.g., a branch or tag) to point to a specific commit SHA. By default, only allows fast-forward updates (where the new commit is a descendant of the current one). Set
- Abort Repository MigrationTool to abort a repository migration that is queued or in progress. Use when you need to cancel an ongoing migration operation.
- Accept a repository invitationAccepts a PENDING repository invitation that has been issued to the authenticated user.
- Add app access restrictionsAdds GitHub Apps to the list of apps allowed to push to a protected branch. The branch must already have protection rules with restrictions enabled. This endpoint only works for organization repositor
- Add field to user projectTool to add a custom field to a user-owned GitHub Projects V2 project. Use when you need to add fields like status, priority, or custom data to organize project items.
- Add item to user projectTool to add an issue or pull request to a user-owned GitHub project. Use when you need to add existing repository items to a project board.
- Add org runner labelsAdds new custom labels to an existing self-hosted runner for an organization; existing labels are not removed, and duplicates are not added.
- Add or update team project permissionsAdds a classic project to a team or updates the team's permission on it. This endpoint grants or updates permissions for a team on a specific classic project (not Projects V2). The authenticated user
- Add or update team repository permissionsSets or updates a team's permission level for a repository within an organization; the team must be a member of the organization.
- Add a repository to an app installationAdds a repository to a GitHub App installation, granting the app access; requires authenticated user to have admin rights for the repository and access to the installation.
- Add repo to org secret with selected accessAdds a repository to an existing organization-level GitHub Actions secret that is configured for 'selected' repository access.
- Add selected repo to org secretGrants an existing repository access to an existing organization-level Dependabot secret when the secret's visibility is set to 'selected'; the repository must belong to the organization, and the call
- Add runner labelsAdds and appends custom labels to a self-hosted repository runner, which must be registered and active.
- Add selected repository to an organization secretAdds a repository to an organization secret's access list when the secret's visibility is 'selected'; this operation is idempotent.
- Add selected repository to an organization variableGrants a repository access to an organization-level GitHub Actions variable, if that variable's visibility is set to 'selected_repositories'.
- Add a selected repository to a user secretGrants a specified repository access to an authenticated user's existing Codespaces secret, enabling Codespaces created for that repository to use the secret.
- Add social accounts for the authenticated userAdds one or more social media links (which must be valid, full URLs for platforms supported by GitHub) to the authenticated user's public GitHub profile.
- Add status check contextsAdds status check contexts to a protected branch's required status checks. This action appends new status check contexts to the existing list of required status checks for a protected branch. The bran
- Add sub-issue to an issueTool to add a sub-issue to a parent GitHub issue using GraphQL. Use when you need to establish a parent-child relationship between issues. Requires the 'sub_issues' GraphQL feature to be enabled.
- Add team access restrictionsAdds teams to the list of teams with push access to a protected branch. This action grants additional teams push access to a protected branch. Unlike 'Set team access restrictions' (PUT), this action
- Add user access restrictionsAdds users to the list of people allowed to push to a protected branch in an organization repository. Important notes: - This action only works on organization-owned repositories (not personal repos)
- Add users to codespaces access for an organizationAdds organization members to the list of users granted Codespaces access billed to the organization. IMPORTANT: This endpoint requires the organization's Codespaces billing access to be set to 'select
- Assign an organization role to a teamAssigns an existing organization-level role (identified by `role_id`) to a team (identified by `team_slug`) within a GitHub organization (`org`), provided the organization, team, and role already exis
- Assign an organization role to a userAssigns a specific organization role to a user who is a member or an outside collaborator in a GitHub organization, using a valid role ID.
- Block a userBlocks an existing individual GitHub user (not an organization or your own account), preventing them from interacting with your account and repositories.
- Block a user from an organizationBlocks a GitHub user from an organization, preventing their contributions, collaboration, and forking of the organization's repositories. Requires admin or 'Blocking users' organization permission (wr
- Cancel a GitHub Pages deploymentCancels an existing, ongoing or queued GitHub Pages deployment for a repository using its `pages_deployment_id`.
- Cancel sponsorshipTool to cancel an active GitHub sponsorship using GraphQL. Use when you need to terminate a sponsorship relationship between a sponsor and a sponsorable entity. Either sponsor ID/login and sponsorable
- Cancel a workflow runCancels a workflow run in a GitHub repository if it is in a cancellable state (e.g., 'in_progress' or 'queued'). Returns 202 Accepted on success.
- Clear Project V2 Item Field ValueTool to clear the value of a field for an item in a GitHub Project V2. Use when you need to remove or reset a field value (text, number, date, assignees, labels, single-select, iteration, or milestone
- Clear repository cache by keyDeletes GitHub Actions caches from a repository matching a specific `key` and an optional Git `ref`, used to manage storage or clear outdated/corrupted caches; the action succeeds even if no matching
- Clear self-hosted runner org labelsRemoves all custom labels from a self-hosted runner for an organization; default labels (e.g., 'self-hosted', 'linux', 'x64') will remain.
- Configure JIT runner for an orgGenerates a JIT configuration for a GitHub organization's new self-hosted runner to run a single job then unregister; requires admin:org scope and the runner_group_id must exist in the organization.
- Configure OIDC subject claim templateSets or updates the OIDC subject claim customization template for an existing GitHub organization by specifying which claims (e.g., 'repo', 'actor') form the OIDC token's subject (`sub`). This action
- Convert an organization member to outside collaboratorConverts an existing organization member, who is not an owner, to an outside collaborator, restricting their access to explicitly granted repositories.
- Convert Pull Request to DraftConverts an open pull request to draft status, indicating it is not ready for review. Use this action when you need to mark a PR as work-in-progress after it has been opened. Draft pull requests canno
- Create a check runCreates a new check run for a specific commit in a repository, used by external services to report status, detailed feedback, annotations, and images directly within the GitHub UI. NOTE: This endpoint
- Create a check suiteCreates a new check suite for a specific commit (`head_sha`) in an original repository (not a fork). IMPORTANT: This endpoint requires a GitHub App installation access token - OAuth tokens and classic
- Create a codespace for the authenticated userCreates a GitHub Codespace for the authenticated user, requiring a JSON request body with either `repository_id` (integer) or a `pull_request` object (containing `pull_request_number` (integer) and `r
- Create a codespace from a pull requestCreates a GitHub Codespace for an open pull request in a Codespaces-enabled repository, with options to customize its configuration.
- Create a codespace in a repositoryCreates a GitHub Codespace for the authenticated user in a specified repository, which must be accessible and use a valid `devcontainer.json` if `devcontainer_path` is specified.
- Create a commit commentCreates a comment on a specific commit, or on a specific line if `path` and `position` are provided.
- Create a commit statusSets a commit's status (e.g., error, failure, pending, success from CI/CD) for a given SHA; max 1000 statuses per SHA/context.
- Create a custom organization roleCreates a custom role with defined permissions within a GitHub organization.
- Create a deploy keyCreates a deploy key for a repository; the repository must exist and be accessible, and the provided key must be a valid public SSH key.
- Create a deploymentCreates a GitHub deployment for an existing repository, targeting a specific ref (branch, tag, or SHA) that must also exist within the repository.
- Create a deployment branch policyCreates a deployment branch or tag policy for an existing environment in a GitHub repository, using a Ruby File.fnmatch pattern (where `*` doesn't match `/`) to specify which branches or tags are depl
- Create a deployment statusCreates a status for an existing deployment, updating its operational state, associated URLs, and description.
- Create a discussionCreates a new discussion post on a specific team's page within an organization.
- Create a discussion commentCreates a new comment on an existing team discussion within a GitHub organization.
- Create a forkCreates a fork of an accessible repository, optionally into a specific organization, with a new name, or copying only the default branch.
- Create a gistCreates a new gist on GitHub with provided files, an optional description, and public/secret visibility.
- Create a gist commentCreates a new comment on a specified GitHub gist.
- Create a GitHub App from a manifestUse this action to complete the GitHub App Manifest flow (step 3 of 3) by exchanging the temporary authorization `code` for the app's full configuration, including credentials and private key. The cod
- Create a github pages deploymentCreates a GitHub Pages deployment for a repository using a specified artifact and OIDC token, provided GitHub Pages is enabled and the artifact (containing static assets) is accessible.
- Create a github pages siteConfigures or updates GitHub Pages for a repository, setting build type and source; ensure a Pages workflow exists for 'workflow' `build_type`, or `source_branch` exists for 'legacy' or unspecified `b
- Create a labelCreates a new label in a specified GitHub repository, provided the repository exists and the user has write permissions.
- Create a milestoneCreates a milestone in a GitHub repository for tracking progress on issues or pull requests; requires repository existence and user write permissions.
- Create an autolink reference for a repositoryCreates a repository autolink to automatically convert text references (e.g., 'TICKET-123') into hyperlinks, using a unique `key_prefix` and a `url_template` that includes `<num>`.
- Create an environment variableCreates an encrypted environment variable for a pre-existing environment within a GitHub repository; will fail if the variable name already exists.
- Create an organization projectCreates a new classic project board within a specified GitHub organization. Note: This action uses GitHub's Projects (classic) REST API. The classic projects feature may be disabled in some organizati
- Create an organization variableCreates a new, uniquely named GitHub Actions variable for an organization, with configurable repository access visibility (all, private, or selected).
- Create an organization webhookCreates a webhook for a GitHub organization to deliver event notifications to a configured URL.
- Create a registration token for an organizationGenerates a temporary (one-hour) registration token to add a new self-hosted runner to an organization for GitHub Actions.
- Create a registration token for a repositoryGenerates a time-limited token required to register a new self-hosted runner with a specific repository.
- Create a remove token for an organizationGenerates a token, valid for one hour, to authenticate removing a self-hosted runner from an organization.
- Create a remove token for a repositoryGenerates a temporary (one-hour validity) token required to unregister and remove a self-hosted runner from a repository.
- Create a reply for a review commentPosts a reply to a specific review comment on a GitHub pull request, requiring the repository, pull request, and original comment to exist, and a non-empty reply body.
- Create a repository dispatch eventTriggers a GitHub Actions workflow or a webhook on a repository by creating a repository dispatch event, allowing programmatic triggering of workflows based on events outside of GitHub.
- Create a repository for the authenticated userCreates a new repository for the authenticated user, optionally within an organization if `team_id` is specified.
- Create a repository from an unpublished codespacePublishes the specified codespace to a new repository, using the codespace's current state as the initial commit.
- Create a repository projectCreates a new GitHub Projects V2 project board linked to a specified repository. Note: This action uses GitHub's Projects V2 GraphQL API. The legacy Projects V1 REST API has been sunset by GitHub. The
- Create a repository rulesetCreates a uniquely named ruleset for a repository, defining rules for branches or tags with specified enforcement, conditions, and bypass actors.
- Create a repository using a templateCreates a new repository from an existing template repository; the authenticated user must have access to the template and, if creating in an organization, repository creation permissions within it.
- Create a repository variableCreates a new, unencrypted variable in a repository for GitHub Actions workflows; fails if a variable with the same name already exists.
- Create a repository webhookCreates a webhook for a specified repository; requires admin permissions on the repository.
- Create a review comment for a pull requestCreates a review comment on a pull request's diff, targeting a specific line, range of lines, an entire file, or replying to an existing comment.
- Create a review for a pull requestCreates a pull request review, allowing approval, change requests, or comments; `body` is required if `event` is `REQUEST_CHANGES` or `COMMENT`, and omitting `event` makes the review `PENDING`.
- Create a dependency snapshotCreates a snapshot of a repository's dependencies to populate the GitHub dependency graph and enable security alerts; `sha` must be a 40-character commit ID, `ref` a fully qualified Git reference (e.g
- Create a tag objectCreates an annotated Git tag object in a repository, pointing to an existing Git object (commit, tree, or blob) defined by its SHA and ensuring the `type` field correctly specifies the object's type.
- Create a teamCreates a new team in an organization, optionally with maintainers, repositories, specific privacy, notification settings, or a parent team; if `parent_team_id` is given, `privacy` must be 'closed'.
- Create a temporary private forkCreates a temporary private fork of the specified repository to address a security vulnerability, linking the fork to a GHSA ID that must be specifically associated with this repository; the fork may
- Create a user projectCreates a new GitHub Projects V2 project board for the authenticated user to organize and track issues, pull requests, and notes. Note: This action uses GitHub's Projects V2 GraphQL API. The legacy Pr
- Create a workflow dispatch eventManually triggers a GitHub Actions workflow identified by `workflow_id` at a given `ref`, if the workflow is configured to accept `workflow_dispatch` events.
- Create commit signature protectionEnables commit signature protection for a specified branch, requiring all new commits to be signed.
- Create a custom deployment protection rule on an environmentEnables a custom deployment protection rule for an existing environment in a repository by linking a configured GitHub App (via `integration_id`) to control deployments.
- Create inference embeddingsTool to create inference embeddings using GitHub's AI models. Use when you need to convert text into vector representations for similarity search, clustering, or other ML tasks.
- Create issue typeCreate a new issue type for a GitHub organization. Requires the authenticated user to be an organization administrator. OAuth tokens need admin:org scope.
- Create JIT runner config for repoGenerates a temporary Just-In-Time (JIT) configuration for a new self-hosted GitHub Actions runner for a repository; any specified non-default `runner_group_id` must be an existing runner group access
- Create or update an environmentCreates a new environment or updates an existing one in a GitHub repository, allowing configuration of deployment protection rules such as wait timers and reviewers; ensure `environment_name` is URL-e
- Create or update an environment secretCreates or updates an environment secret with an `encrypted_value` that was encrypted using the public key identified by `key_id` for the specified environment.
- Create or update an organization secretCreates or updates an organization secret for GitHub Actions, requiring its value to be pre-encrypted via LibSodium using the organization's public key.
- Create or update a repository secretCreates or updates a GitHub Actions secret within a specific repository; use `encrypted_value` and `key_id` to set or change its value.
- Create or update a secret for the authenticated userCreates or updates a Codespaces secret for the authenticated user; `encrypted_value` must be encrypted with the public key (ID: `key_id`) from GitHub's 'Get public key for the authenticated user' endp
- Create or update custom properties for an organizationCreates new custom property schemas or updates existing ones in bulk for a specified organization; each property definition must include `property_name` and `value_type`.
- Create or update a custom property for an organizationCreates a new custom property (name must be unique for creation) or updates an existing one for an organization to define metadata for its repositories.
- Create or Update GitHub Pages SiteTool to enable or update GitHub Pages configuration for a repository. Use when setting up GitHub Pages for static site deployment or modifying Pages settings like custom domains and HTTPS enforcement.
- Create or update repo secret with encrypted valueCreates or updates a Dependabot secret in a repository using an `encrypted_value` (pre-encrypted with LibSodium using the repository's Dependabot public key) and its corresponding `key_id`. This actio
- Create reaction for a commit commentCreates an emoji reaction for a commit comment; if the user has already reacted with the same content, details of the existing reaction are returned.
- Create reaction for an issueCreates a reaction for a specified issue within a GitHub repository.
- Create reaction for an issue commentCreates a reaction for a specific comment on an issue within a GitHub repository.
- Create reaction for a pull request review commentAdds a specified reaction to a pull request review comment within a GitHub repository.
- Create reaction for a releaseCreates an emoji reaction for a specific, existing release in a GitHub repository.
- Create reaction for a team discussionCreates a reaction for a team discussion within a GitHub organization.
- Create reaction for a team discussion commentAdds a reaction to a team discussion comment, requiring the specified organization, team, discussion, and comment to exist.
- Create sponsorshipTool to start a new GitHub sponsorship or reactivate a past sponsorship using GraphQL. Use when you need to sponsor a maintainer through GitHub Sponsors with a specified amount and privacy level.
- Create Sponsors TierTool to create a new payment tier for your GitHub Sponsors profile using GraphQL. Use when you need to add a new sponsorship tier with a specific monthly price and description. The amount is specified
- Create or Update Organization Secret with LibSodiumCreates or updates a Dependabot organization secret, requiring the secret value to be pre-encrypted with LibSodium using the organization's public key obtained from the 'Get an organization public key
- Create user listTool to create a new user list on GitHub. Use when you need to organize and group GitHub users for easier tracking and management.
- Create view for user projectTool to create a new view in a user-owned GitHub project (Projects V2). Use when you need to add a customized view with specific layout, filters, and visible fields to organize project items. Note: Th
- Decline a repository invitationDeclines a specific, pending repository invitation for the authenticated user, identified by its `invitation_id`.
- Delete access restrictionsRemoves all user, team, and app-based access restrictions from a protected branch.
- Delete admin branch protectionRemoves admin enforcement from a protected branch (branch name cannot contain wildcard characters) in a repository.
- Delete a fileDeletes a file by path from a GitHub repository. The file's blob SHA is automatically fetched if not provided.
- Delete a package version for the authenticated userDeletes an existing package version associated with the authenticated user.
- Delete an app authorizationDeletes an OAuth application grant for a user, which revokes ALL OAuth tokens and their associated authorizations for the application. This endpoint is only accessible to OAuth App owners and requires
- Delete an app tokenRevokes a single OAuth access token for an OAuth App or GitHub App with OAuth authorization. IMPORTANT: This endpoint requires Basic Authentication using the OAuth App's client_id as username and clie
- Delete a referenceDeletes a Git reference from a repository; 'ref' must be fully qualified (e.g., 'refs/heads/branch' or 'refs/tags/tag').
- Delete a releasePermanently deletes a specific release, its assets, and potentially its associated Git tag from a repository.
- Delete a release assetDeletes a specific release asset from a GitHub repository; this action is idempotent.
- Delete a release reactionDeletes a reaction from a GitHub release, provided the repository, release, and reaction exist.
- Delete a repository invitationDeletes an active repository invitation, permanently revoking a user's access to collaborate on the specified repository.
- Delete a repository rulesetPermanently deletes a repository ruleset.
- Delete a repository secretDeletes a named GitHub Actions secret from a specified repository; this operation is destructive and idempotent, and requires the repository to exist.
- Delete a repository subscriptionDeletes the authenticated user's subscription to a specified repository if it exists, effectively 'unwatching' it.
- Delete a repository variableDeletes a named variable (e.g., for GitHub Actions workflows) from a repository; the repository and the variable must already exist.
- Delete a repository webhookDeletes a specific webhook from a repository.
- Delete a review comment for a pull requestDeletes a specific pull request review comment.
- Delete an artifactDeletes a GitHub artifact by its ID within a repository, typically resulting in an empty response (HTTP 204 No Content) on success.
- Delete a secret for the authenticated userDeletes an existing Codespaces secret for the authenticated user by `secret_name`. This is a destructive and irreversible operation. Returns 404 if the secret does not exist.
- Delete a self hosted runner from an organizationForces the removal of a self-hosted runner from a GitHub organization. This endpoint can be used to completely remove the runner when the machine you were using no longer exists. The runner will be im
- Delete a self hosted runner from a repositoryRemoves a specific self-hosted runner (by `runner_id`) from a repository, if registered there; this is idempotent.
- Delete a teamDeletes a team (and any child teams) from an organization.
- Delete a thread subscriptionCall this to mute a specific notification thread by deleting the user's subscription; notifications may still occur if the user is @mentioned, comments, or due to repository watch settings.
- Delete an autolink reference from a repositoryDeletes a specific autolink reference (which automatically links external resource IDs like JIRA-123 to URLs) from the specified repository.
- Delete a workflow runDeletes a specific workflow run from a repository.
- Delete branch protectionRemoves all protection rules from a specific branch in a GitHub repository; the branch must currently have protection rules enabled.
- Delete a code scanning analysis from a repositoryDeletes a specific code scanning analysis by its ID from a repository; `confirm_delete` must be `true` if it's the last analysis of its type for a given tool and reference to prevent data loss.
- Delete a codespace for the authenticated userDeletes a specific codespace owned by the authenticated user; this is a destructive action and the codespace must exist.
- Delete a commit commentDeletes a specific commit comment, identified by its `comment_id`, from the specified repository; the comment must exist.
- Delete a commit comment reactionDeletes a reaction from a commit comment in a GitHub repository.
- Delete commit signature protectionDisables GPG commit signature protection for a specific branch in a GitHub repository, meaning commits pushed to this branch no longer require GPG signing.
- Delete a custom organization roleDeletes a custom organization role (which should not be actively assigned) by its ID; a 204 No Content response indicates success.
- Delete dependabot secret by nameDeletes a specific Dependabot secret, identified by its name, from a given repository if both the repository and secret exist.
- Delete a deploy keyDeletes a specific deploy key from a repository; to change a key's properties or access scope, the existing key must be deleted and a new one created.
- Delete a deploymentPermanently deletes a specified *inactive* deployment from a repository.
- Delete a deployment branch policyDeletes a specific deployment branch or tag policy, identified by its ID, from a given environment within a repository.
- Delete a discussionDeletes a specific team discussion, identified by its number, from an organization's team.
- Delete a discussion commentDeletes a specific comment from an existing team discussion within an organization, provided the specified organization, team, discussion, and comment all exist.
- Delete authenticated user email addressSends an empty request body to `DELETE /user/emails` to attempt deletion of user email addresses; the API typically requires specific emails, so outcome may vary.
- Delete an environmentDeletes an existing deployment environment from an existing repository.
- Delete an environment secretDeletes an existing and accessible secret from a specified environment within a GitHub repository, returning an empty dictionary on success or error details otherwise.
- Delete an environment variableDeletes a named environment variable from a specified, existing environment within a GitHub repository.
- Delete a gistPermanently deletes an existing GitHub gist, specified by its `gist_id`; this action is destructive and cannot be undone.
- Delete a gist commentDeletes a specific comment from a GitHub Gist using its `gist_id` and `comment_id`.
- Delete GitHub Actions cache by IDDeletes a specific GitHub Actions cache from a repository using its unique `cache_id`.
- Delete a GitHub Pages siteDeletes the GitHub Pages site for the specified repository; completes without error if no site is currently enabled.
- Delete an issue commentPermanently deletes a specific comment by its ID from an issue or pull request, if the repository exists and the comment ID is valid.
- Delete an issue comment reactionDeletes a reaction from an issue comment in a repository; the repository, comment, and reaction must exist.
- Delete an issue reactionPermanently removes a specific reaction from an issue in a GitHub repository.
- Delete a labelPermanently removes an existing label from a repository.
- Delete a milestoneDeletes the specified milestone if it exists; this operation is idempotent, typically returning a 404 if the milestone is not found or already deleted.
- Delete an organizationDeletes a GitHub organization and its repositories; this is a destructive action and the organization name will be unavailable for reuse for approximately 90 days.
- Delete an organization secretPermanently deletes a secret from a GitHub organization, making it inaccessible to GitHub Actions workflows or other tools.
- Delete an organization variableDeletes a named GitHub Actions variable from a specified organization.
- Delete an organization webhookDeletes a specific webhook, identified by `hook_id`, from an existing organization.
- Delete a codespace from the organizationPermanently deletes a specific codespace belonging to a member of the specified organization.
- Delete a package for an organizationDeletes a specific package in an organization; cannot delete public packages with over 5,000 downloads.
- Delete a package for the authenticated userPermanently deletes a specific package owned by the authenticated user; public packages downloaded over 5,000 times cannot be deleted via this API.
- Delete package versionTool to delete a package version using GitHub GraphQL API. Use when you need to remove a specific version of a package by its global node ID.
- Delete package version for an organizationDeletes a specific package version within an organization; requires admin permissions for packages with over 5,000 downloads.
- Delete package version for a userPermanently and irreversibly deletes a specific version of a package owned by the specified user.
- Delete a pending review for a pull requestDeletes a pending (unsubmitted) review from a pull request; this is only possible if the review has not yet been submitted.
- Delete a projectDeletes the specified GitHub project (Projects V2) using the GraphQL API. Note: This action uses GitHub's Projects V2 GraphQL API. The legacy Projects (classic) REST API was sunset on April 1, 2025 an
- Delete a project field (column)Deletes a project field (column) from a GitHub Projects V2 project using the GraphQL API. IMPORTANT: GitHub Classic Projects REST API was sunset on April 1, 2025. This action now uses the GitHub Proje
- Delete project item for userTool to delete a project item for a user in GitHub Projects V2. Use when you need to remove an item from a user's project. Requires the project item's GraphQL node ID (starts with 'PVTI_'). Uses the G
- Delete a pull request comment reactionDeletes a specific reaction from a pull request review comment, provided the comment and reaction exist on that comment within the specified repository.
- Delete pull request review protectionDisables the requirement for pull request reviews before merging for a specific, existing branch in an existing repository; this action is idempotent and will succeed even if the protection is not cur
- Delete repo codespace secret by nameDeletes a specific Codespace secret from a repository by its name; this action is idempotent and will succeed even if the secret doesn't exist.
- Delete social accounts for the authenticated userDeletes currently linked social media account URLs from the authenticated user's GitHub profile.
- Delete team discussion comment reactionDeletes a reaction from a team discussion comment, given the organization name, team slug, discussion number, comment number, and reaction ID.
- Delete team discussion reactionPermanently deletes a specific reaction from a team discussion within an organization.
- Delete User ListTool to delete a GitHub user list using GraphQL. Use when you need to remove a user list from a GitHub account.
- Delete a package for a userDeletes a package owned by the specified user, requiring admin permissions for the authenticated user; deletion of public packages with over 5,000 downloads may require GitHub support.
- Delete workflow run logsDeletes all logs for a specific workflow run in a GitHub repository, provided the repository and run exist.
- Disable a custom protection rule for an environmentDisables a specific, currently active custom deployment protection rule for an existing environment within a GitHub repository.
- Disable a workflowDisables a specified workflow (by ID or filename) in a given GitHub repository, preventing new automatic triggers; any in-progress runs will continue.
- Disable private vulnerability reporting for a repositoryDisables private vulnerability reporting for an existing GitHub repository, preventing direct private vulnerability reports to maintainers via GitHub's interface for this repository.
- Disable Repository Actions In OrgRemoves a repository from the list of selected repositories enabled for GitHub Actions in an organization. Only works when the organization's `enabled_repositories` policy is set to `selected`. Requir
- Dismiss a review for a pull requestDismisses an APPROVED or CHANGES_REQUESTED review on a pull request with a mandatory explanatory message. IMPORTANT: Only reviews in APPROVED or CHANGES_REQUESTED state can be dismissed. Reviews in CO
- Enable a workflowReactivates a currently disabled GitHub Actions workflow within a repository using its workflow ID or filename.
- Enable GitHub actions in selected repositoriesSets the specific repositories that can use GitHub Actions within an organization by replacing the current list; only applies if the organization's Actions policy is 'selected repositories'.
- Enable private vulnerability reporting for a repositoryEnables private vulnerability reporting for a repository, allowing security researchers to privately submit vulnerability reports to maintainers.
- Enable repo for Github ActionsAdds a repository to the list of selected repositories enabled for GitHub Actions in an organization. Requires the organization's 'enabled_repositories' policy to be set to 'selected'.
- Encrypt and update dev secretCreates or updates a repository's development environment secret using an `encrypted_value` and its corresponding `key_id`; the secret must be pre-encrypted with the repository's Codespaces public key
- Encrypt org dev env secretCreates or updates an organization's GitHub Codespaces secret using an encrypted value and its corresponding public key ID.
- Export a codespace for the authenticated userTriggers an export of a user's specified codespace, automatically stopping it if active, and returns its export status and download URL.
- Follow Organization (GraphQL)Tool to follow a GitHub organization using GraphQL. Use when you need to make the authenticated user follow an organization.
- Follow a userAllows the authenticated user to follow the GitHub user specified by `username`; this action is idempotent and the user cannot follow themselves.
- Follow User (GraphQL)Tool to follow a GitHub user using GraphQL. Use when you need to make the authenticated user follow another user.
- Force cancel a workflow runForcefully cancels a queued or in-progress GitHub Actions workflow run, bypassing conditions like always() that would otherwise continue execution. Only use when the standard cancel endpoint fails. Ca
- Fork a gistForks a specified public gist, creating a copy under the authenticated user's account.
- Lock an issueLocks an existing GitHub issue's conversation, preventing further comments; an optional reason can be specified.
- Manage access control for organization codespacesSets the Codespaces access control policy for a GitHub organization, determining which members can use them. This endpoint requires admin permissions on the organization. The API returns HTTP 204 No C
- Manage custom properties for org reposCreates or updates values for an organization's predefined custom properties across multiple repositories (up to 30).
- Manage issue blocking dependencyAdd or remove an issue that blocks another issue in the same repository.
- Mark a thread as doneMarks the GitHub notification thread (identified by `thread_id`) as done or read for the authenticated user, effectively archiving it.
- Mark a thread as readMarks an existing GitHub notification thread, identified by its `thread_id`, as read.
- Mark notifications as readMarks notifications as read or unread, optionally for those updated at or before a `last_read_at` timestamp.
- Mark repository notifications as readMarks notifications in a repository as read; if 'last_read_at' is specified, notifications updated after this timestamp are not marked as read.
- Merge a branchMerges a head branch or commit SHA into a base branch in a repository; fails if there are merge conflicts requiring manual resolution.
- Merge a pull requestMerges an open and mergeable pull request in a repository. A 405 error can occur for multiple reasons: (1) The PR is still in draft mode - convert it to ready-for-review first using GITHUB_UPDATE_A_PU
- Ping an organization webhookSends a 'ping' event to a specified, existing organization webhook to test its configuration and ensure it correctly receives events.
- Ping a repository webhookPings an existing webhook on a repository to test its configuration and reachability by GitHub.
- Privately report a security vulnerabilityPrivately reports a security vulnerability to a repository's maintainers. IMPORTANT: You cannot report vulnerabilities to repositories you own - this API is for third-party security researchers to rep
- Publish Sponsors Tier (GraphQL)Tool to publish a draft GitHub Sponsors tier using GraphQL. Use when you need to make a draft sponsors tier visible to potential sponsors. The tier must already exist in draft status.
- Redeliver a delivery for an organization webhookRedelivers a specific webhook delivery for a webhook within an organization, to resend an event that previously failed or was not processed.
- Redeliver a delivery for a repository webhookRedelivers a specific, previously made webhook delivery (`delivery_id`) for a repository's webhook (`hook_id`).
- Remove a custom property for an organizationDeletes a custom property, specified by `custom_property_name`, from an existing organization (`org`) for which the property is currently defined, preventing its future assignment to repositories.
- Remove a label from an issueRemoves a label currently applied to a specific issue in a repository.
- Remove all labels from an issueRemoves all labels from a specified issue in a GitHub repository; this operation is idempotent.
- Remove all organization roles for a teamRevokes all organization roles for a team in an organization; this is destructive and succeeds even if the team initially has no roles.
- Remove all organization roles for a userRevokes all assigned organization-level roles from a specified user (who must be a member of the organization) within a GitHub organization, without removing the user from the organization or affectin
- Remove an organization memberRemoves a member from a GitHub organization. This action permanently removes a user's membership from the specified organization, revoking their access to all organization resources, repositories, and
- Remove an organization role from a teamRevokes an organization role that a team currently possesses within an organization.
- Remove an organization role from a userRemoves a custom organization role from a user within a GitHub organization, provided the organization exists, the user is a member, and the role_id corresponds to a valid custom role in that organiza
- Remove app access restrictionsRemoves all GitHub App access restrictions from a protected branch in a repository; the branch must have protection rules configured, and this action does not alter user or team restrictions.
- Remove a project from a teamRemoves a project from a team within an organization; this action requires the project to be currently associated with the team.
- Remove a repository collaboratorRemoves a collaborator from a specified GitHub repository, provided the repository exists and the user is an existing collaborator.
- Remove a repository from an app installationRemoves a repository from a GitHub App installation for the authenticated user, given a valid `installation_id` and the `repository_id` of a repository currently linked to that installation; this oper
- Remove a repository from a teamDisassociates a repository from a team; team members may lose access permissions, but the repository and team are not deleted.
- Remove a selected repository from a user secretRemoves a selected repository's access to a user's Codespaces secret; the secret must exist and the repository must have previously been granted access.
- Remove assignees from an issueRemoves specified assignees from a GitHub issue; requires push access, and invalid removal attempts are silently ignored.
- Remove custom label from repo runnerRemoves a custom label from a repository's self-hosted runner; this operation is idempotent.
- Remove custom label from self hosted runnerRemoves a currently assigned custom label (`name`) from a self-hosted runner (`runner_id`) in an organization (`org`). This action allows the organization to manage the labels associated with their ru
- Remove custom labels from self hosted repo runnerRemoves all custom labels from a self-hosted runner registered at the repository level, leaving only its default labels and any labels inherited from its runner group or organization.
- Remove interaction restrictions for an organizationRemoves all interaction restrictions from public repositories in the specified GitHub organization, allowing all users to resume interactions.
- Remove interaction restrictions for a repositoryRemoves all interaction restrictions for a repository, enabling all users to comment, open issues, and create pull requests by lifting any existing temporary interaction limits.
- Remove org dev env secret by nameDeletes a GitHub Codespaces secret from an organization by its name; this operation is idempotent.
- Remove org secret by namePermanently removes a specific Dependabot secret, by its `secret_name`, from the GitHub `org`, making it unavailable to Dependabot for that organization.
- Remove outside collaborator from an organizationRemoves a user, who must be an outside collaborator, from the specified GitHub organization, revoking their access to all its repositories.
- Remove public org membershipRemoves the authenticated user's public organization membership, making it private. The user remains a member of the organization but their membership is no longer publicly visible. This operation is
- Remove user public repo interaction restrictionsRemoves all interaction restrictions (limitations on comments, issues, or pull requests) from all public repositories owned by the authenticated user.
- Remove repository from organization dev environment secretRemoves a repository's access to an organization-level Codespaces secret, if it was previously granted.
- Remove selected repo from org secretRevokes a specific repository's access to an organization-level Dependabot secret, applicable only when the secret has 'selected' visibility and the specified repository currently has access.
- Remove requested reviewers from a pull requestRemoves currently assigned user logins and/or team slugs from a GitHub pull request's list of requested reviewers.
- Remove review requestRemoves requested reviewers from a pull request. Use this action when you need to cancel a review request that was previously sent to users or teams. Only users with push access to the repository can
- Remove selected repository from an organization secretRemoves a specific repository's access to an organization-level secret; the repository must have been previously granted access to this secret.
- Remove selected repository from an organization variableRemoves a repository's access to an organization variable that has 'selected' visibility. This endpoint removes a specific repository from an organization variable's access list. The variable must hav
- Remove status check contextsRemoves specified status check contexts from a protected branch's required status checks. This action removes the specified status check contexts from the existing list of required status checks for a
- Remove status check protectionRemoves status check protection from a branch, disabling required status checks for merging pull requests; will only have an effect if status check protection is currently configured on the branch.
- Remove team access restrictionsRemoves specified teams from push access to a protected branch. This action removes teams from the list of teams with push access to a protected branch. Removing a team will also remove push access fo
- Remove team membershipTool to remove team membership for a user in an organization. Use when you need to revoke a user's membership from a specific team. This action is irreversible — the user must be explicitly re-added i
- Remove team membership for a userRemoves a user from a specific team within an organization. This action requires admin:org scope permissions. It will fail if: - Team synchronization with an Identity Provider (IdP) is enabled (403 Fo
- Remove user access restrictionsRemoves specified users from the list of people allowed to push to a protected branch. Important notes: - This action only works on organization-owned repositories (not personal repos) - The branch mu
- Remove users from codespaces access for an organizationRemoves selected users from GitHub Codespaces billing access for an existing organization.
- Rename a branchRenames an existing branch in a GitHub repository; the new name must be unique and adhere to GitHub's naming conventions, and the current branch name cannot contain wildcard characters.
- Replace all repository topicsReplaces all topics of a repository.
- Replace org secret visibility to selectedReplaces the list of repositories that can access a Dependabot organization secret when the secret's visibility is already set to 'selected'.
- Replace repository access for an org Codespaces secretReplaces the list of repositories that can access an organization-level Codespaces secret. This operation completely replaces the existing list of repositories with the provided list. The secret must
- Request a github pages buildManually triggers a GitHub Pages build for a repository if GitHub Pages is enabled, useful for deployments not automatically built or for retrying failed builds.
- Add reviewers to a specific pull requestAdds reviewers to a specific pull request identified by owner, repo, and pull_number. This is NOT a search action - it operates on an already-known PR number. Requires `owner`, `repo`, `pull_number`,
- Rerequest a check runTriggers a re-run of a specific check run in a GitHub repository, resetting its status to 'queued', clearing its conclusion, and triggering the `check_run` webhook with `rerequested` action. IMPORTANT
- Rerequest a check suiteTriggers a new run of an existing check suite within a repository, resetting its status to 'queued', clearing its conclusion, and triggering the `check_suite` webhook with `rerequested` action. IMPORT
- Re-run a job from a workflow runRe-runs a specific job and any dependent jobs from a GitHub Actions workflow run in the specified repository, optionally enabling debug logging.
- Rerun a workflowRe-runs a specific GitHub Actions workflow run identified by its owner, repository, and run ID, optionally enabling debug logging.
- Rerun failed jobs from a workflow runRe-runs all failed jobs and their dependent jobs from a specified workflow run if the run contains previously failed jobs.
- Reset a tokenInvalidates the provided OAuth `access_token` and generates a new one for the GitHub OAuth App identified by `client_id`. Used for token rotation when a token may be compromised or for regular securit
- Restore a package for an organizationRestores a package in an organization, provided it was deleted within the last 30 days.
- Restore a package for the authenticated userRestores a package deleted by the authenticated user within the last 30 days, if its namespace and version are still available.
- Restore a package version for the authenticated userRestores a package version that was deleted by the authenticated user within the last 30 days.
- Restore package version for an organizationRestores a package version for an organization, provided it was deleted within the last 30 days.
- Restore package version for a userRestores a specific, user-owned package version if it was deleted within the last 30 days and its original namespace and version name are still available.
- Retire Sponsors TierTool to retire a published payment tier from your GitHub Sponsors profile using GraphQL. Use when you need to prevent a tier from being used for new sponsorships. Existing sponsors at this tier remain
- Review access with personal tokenApproves or denies a pending fine-grained personal access token request for organization resources; must be performed by a GitHub App.
- Review Custom Deployment Rules For Workflow RunApproves or rejects pending custom deployment protection rules for a workflow run. This endpoint allows GitHub Apps to review their own pending custom deployment protection rules for a specific workfl
- Review pending deployments for a workflow runApproves or rejects pending deployments for a specific workflow run that are in a 'waiting' state within specified, configured environments.
- Review PAT Requests in BulkApproves or denies multiple fine-grained personal access token requests for an organization in bulk. This endpoint processes multiple PAT request approvals or denials in a single API call. All specifi
- Revoke an installation access tokenRevokes the GitHub App's current installation access token, immediately invalidating it for API authentication. IMPORTANT: This endpoint requires a GitHub App installation access token (ghs_* prefix)
- Run GraphQL QueryTool to run an arbitrary GitHub GraphQL v4 query or mutation. Use when fetching multiple datasets in one batch. Cost-based rate limit: ~5,000 points/hour; keep field selections narrow, avoid deep nest
- Run GraphQL Relay QueryTool to run a GitHub GraphQL relay query. The relay field is a workaround for re-exposing the root query object. Use when you need to access root query fields through the relay context.
- Set admin branch protectionEnables administrator enforcement on a branch, making existing protection rules also apply to administrators; branch protection rules must already be configured.
- Set app access restrictionsReplaces the list of GitHub Apps permitted to push to a protected branch. This action completely replaces the existing list of apps with push access - it does not add to or merge with the current list
- Set a repository subscriptionSets the authenticated user's notification subscription for a repository.
- Set a thread subscriptionSets whether a GitHub notification thread is ignored (muted) or unignored (unmuted), for a `thread_id` that must identify an existing notification thread.
- Set default workflow permissions for an organizationUpdates an organization's default GITHUB_TOKEN permissions for workflows and whether GitHub Actions can approve pull requests; note that allowing Actions to approve pull requests (`can_approve_pull_re
- Set default workflow permissions for a repositorySets the default permissions for the GITHUB_TOKEN within a repository and configures whether GitHub Actions can approve pull requests.
- Set primary email visibilitySets the visibility ('public' or 'private') of the authenticated user's primary email address on GitHub, if one is configured.
- Set GitHub Actions permissions for an organizationSets the GitHub Actions permissions policy for an organization, specifying which repositories can run Actions and which actions/workflows are allowed; if 'selected' is chosen for either, manage the sp
- Set github actions permissions for a repositorySets GitHub Actions permissions for a repository, enabling/disabling Actions and defining the policy for allowed actions and reusable workflows.
- Set interaction restrictions for an organizationLimits interactions (comments, new issues, PRs) in an organization's public repositories by user type and duration, typically to mitigate high traffic or unwanted activity.
- Set interaction restrictions for a repositoryTemporarily limits which GitHub users (e.g., existing_users, contributors_only) can interact (comment, open issues, create pull requests) in a repository for a specified duration.
- Set interaction restrictions for your public repositoriesSets or updates temporary interaction restrictions for all public repositories owned by the authenticated user, overriding any repository-specific limits.
- Set labels for an issueReplaces all existing labels on a GitHub issue with a new set of labels.
- Set custom OIDC subject claim templateSets the OpenID Connect (OIDC) subject claim template for a GitHub repository, allowing use of the default template or a custom one defined by `include_claim_keys` if `use_default` is `false`.
- Set allowed actions and workflows for an organizationSets the GitHub Actions permissions for an existing organization, specifying allowed GitHub-owned actions, verified creator actions, and action/workflow patterns from public repositories.
- Set custom labels for a self-hosted runner for an organizationSets the custom labels for a self-hosted runner in an organization; this operation does not affect default system-assigned labels (e.g., 'self-hosted', 'linux', 'x64').
- Set repo allowed actionsSets allowed GitHub Actions and reusable workflows for a repository, managing permissions for GitHub-owned, verified creator, or specific pattern-matched actions/workflows (note: `patterns_allowed` ap
- Set custom labels for repo runnerReplaces all custom labels for a specific self-hosted runner in a repository; an empty list for `labels` removes all existing custom labels.
- Set selected repositories for an organization variableReplaces the list of repositories that can access an organization-level variable; the variable's visibility must be 'selected'.
- Set selected repositories for an organization secretReplaces the list of repositories that can access an organization secret; only effective if the secret's visibility is 'selected'. Prerequisites: - The organization secret must already exist - The sec
- Set selected repositories for a user secretDefines the list of repositories permitted to access a specific Codespaces secret for the authenticated user.
- Set status check contextsReplaces required status check contexts for a protected branch, requiring admin permissions; an empty `contexts` array removes all checks.
- Set team access restrictionsReplaces the list of teams with push access to a protected branch. This action sets (replaces) the teams that have push access to a protected branch. Unlike 'Add team access restrictions' (POST), this
- Set user access restrictionsReplaces the list of users with push access to a protected branch in an organization repository. Important notes: - This action only works on organization-owned repositories (not personal repos) - The
- Set User Interaction Limit (GraphQL)Tool to set interaction limits on a user's public repositories using GraphQL. Use when you need to temporarily restrict who can comment, open issues, or create pull requests. Limits apply to the authe
- Set workflow access level outside repositorySets the access level for workflows outside a repository to use actions and reusable workflows within that repository.
- Star a gistStars a GitHub gist identified by `gist_id`; this action is idempotent and returns a 204 No Content status upon success, even if the gist is already starred.
- Start a codespace for the authenticated userInitiates the startup process for an existing GitHub Codespace (identified by `codespace_name`) if it's in a startable state like 'Available' or 'Stopped'.
- Stop a codespace for an organization userStops a running codespace for an organization member. This action allows organization administrators to stop a codespace that belongs to a member of their organization. The codespace must be in a runn
- Stop a codespace for the authenticated userStops a running or available Codespace for the authenticated user, pausing its execution and billing.
- Submit a review for a pull requestFinalizes a pending pull request review (identified by `review_id`) with a required `event` (APPROVE, REQUEST_CHANGES, COMMENT) and an optional `body`.
- Sync a fork branch with the upstream repositorySynchronizes a branch in a forked GitHub repository with its upstream counterpart, assuming the repository is a fork, the branch exists, an upstream is configured, and the merge is conflict-free.
- Test the push repository webhookTriggers a simulated push event to test a repository's push webhook; a test event is only delivered if the webhook is subscribed to 'push' events, otherwise, it returns 204 No Content without sending
- Transfer a repositoryInitiates a repository transfer to a new owner (who must accept the request); if the new owner is an organization, it must be configured to allow transfers.
- Unblock a userUnblocks a GitHub user, provided they are currently blocked by the authenticated user.
- Unblock a user from an organizationUnblocks a user from an organization, allowing renewed interaction with its resources, provided the user is currently blocked (otherwise, a 404 error may occur).
- Unfollow a userUnfollows an existing GitHub user; this action is idempotent, succeeding even if the authenticated user is not currently following them.
- Unfollow organizationTool to unfollow a GitHub organization using GraphQL. Use when you need to stop following a specific organization on GitHub.
- Unfollow userTool to unfollow a GitHub user using GraphQL. Use when you need to stop following a specific user on GitHub.
- Unlock an issueUnlocks a currently locked GitHub issue in the specified repository, allowing new comments and interactions.
- Unlock an organization repositoryUnlocks a repository that was locked for migration within a GitHub organization. This action is part of the organization migrations workflow. When you start a migration with `lock_repositories=true`,
- Unlock a user repositoryUnlocks a repository (`repo_name`) that was locked as part of a user migration (`migration_id`), making it usable or deletable; this action requires the repository to be currently locked.
- Unstar a gistRemoves a star from the specified gist; the action is idempotent and will not error if the gist was not previously starred by the user.
- Unstar a repositoryRemoves the authenticated user's star from a specified repository, which must already be starred by the user.
- Update a check runUpdates an existing check run for a specific commit in a repository, allowing modifications to its status, conclusion, output, and other details. NOTE: This endpoint requires GitHub App authentication
- Update a code scanning alertUpdates a specific code scanning alert in a GitHub repository, primarily to change its state (e.g., 'open' or 'dismissed').
- Update a commit commentChanges the body of an existing commit comment.
- Update a custom organization roleUpdates an existing custom role in an organization by modifying its name, description, or permissions; at least one of these fields must be provided.
- Update a deployment branch policyUpdates the name pattern of an existing deployment branch policy for a specific environment in a repository.
- Update a discussionUpdates the title and/or body of a specific team discussion within an organization.
- Update a discussion commentUpdates the body of a comment in a team's discussion within an organization.
- Update a gistUpdates a gist's description, and/or its files (including content, filename changes, or deletion).
- Update a gist commentUpdates an existing comment on a specified gist.
- Update a labelUpdates an existing label's name, color, or description within a specified repository.
- Update a milestoneUpdates a milestone in a repository, identified by `owner`, `repo`, and `milestone_number`, by allowing modification of its `title`, `state`, `description`, or `due_on`; at least one of these four att
- Update an environment variableUpdates an existing environment variable's name and/or value in a specific GitHub repository environment; requires providing either a new name or a new value.
- Update an issueUpdates an existing GitHub issue's title, body, state, milestone, labels, or assignees; `state_reason` is only processed if `state` also changes, and use `null` or `[]` to clear applicable fields.
- Update an issue commentUpdates an existing comment on an issue or pull request within a specified repository. You can only update comments that the authenticated user has permission to edit. The comment_id can be obtained f
- Update an organizationUpdates an organization's settings; changing security-related fields requires admin, owner, or security manager permissions.
- Update an organization variableUpdates an existing GitHub Actions organization variable's name, value, or visibility (`all`, `private`, `selected`), requiring `selected_repository_ids` with valid repository IDs if visibility is `se
- Update an organization webhookUpdates the configuration (URL, content type, secret, SSL verification), subscribed events, active status, or name of an existing webhook for a specified organization.
- Update a projectUpdates an existing GitHub project (V2) attributes like title, description, visibility, and state. Note: This action uses GitHub's Projects V2 GraphQL API. The legacy Projects (classic) REST API was s
- Update a pull requestUpdates an existing pull request, allowing changes to attributes like title, body, state, base branch, and maintainer modification settings.
- Update a pull request branchUpdates an open pull request's head branch by merging the latest changes from its base branch, if mergeable and repository merging is enabled; operates asynchronously.
- Update a releaseUpdates an existing release in a GitHub repository, allowing modification of its attributes; if linking a discussion, the `discussion_category_name` must refer to an existing category in the repositor
- Update a release assetUpdates the name, label, or state of a release asset in a GitHub repository, requiring at least one of these properties to be provided for modification.
- Update a repositoryUpdates settings for an existing GitHub repository, such as name, description, visibility, merge strategies, and security configurations.
- Update a repository invitationUpdates an active repository invitation to modify the invited user's permissions; the specified repository and invitation must exist.
- Update a repository rulesetUpdates an existing repository ruleset, identified by `ruleset_id` for a given repository, allowing partial updates to its configuration such as name, target, enforcement, bypass actors, conditions, a
- Update a repository variableUpdates the name and/or value of an existing GitHub Actions variable in a repository.
- Update a repository webhookUpdates the URL, content type, secret, SSL verification, events, or active status for an existing repository webhook, specified by `owner`, `repo`, and `hook_id`.
- Update a teamUpdates a team's settings (e.g., name, description, privacy, parent team) within a GitHub organization, identified by its slug and organization name.
- Update branch protectionUpdates the protection settings for an existing branch in a repository, which must not contain wildcard characters.
- Update a code scanning default setup configurationUpdates the default setup configuration for code scanning in a repository; GitHub Advanced Security must be enabled for the repository.
- Update a codespace for the authenticated userUpdates an existing GitHub Codespace's machine type, display name, or recent folders for the authenticated user; machine type changes take effect on the next start.
- Update issue typeUpdate an existing issue type for a GitHub organization. Requires the authenticated user to be an organization administrator. OAuth tokens need admin:org scope.
- Update a webhook configuration for an organizationUpdates the configuration (URL, content type, secret, SSL verification) for an existing webhook within a specified organization.
- Update a review for a pull requestUpdates the body text of an existing pull request review.
- Update a review comment for a pull requestUpdates the body of an existing review comment on a pull request.
- Update pull request review protectionUpdates pull request review protection settings (e.g., required approvals, review dismissal, bypass allowances) for a branch; branch protection features must be available for the repository.
- Update repository preferences for check suitesUpdates repository preferences for automatic Check Suite creation on code pushes, allowing configuration for specific GitHub Apps that must be installed on the repository with `checks:write` permissio
- Update a webhook configuration for a repositoryUpdates the configuration (e.g., payload URL, content type, secret, SSL verification) for an existing webhook in a specified repository.
- Update resource access with tokensRevokes organization access for the personal access tokens identified by `pat_ids`; this action must be performed by a GitHub App, and `pat_ids` must be valid and associated with the organization. AUT
- Update status check protectionUpdates required status checks for a branch, optionally requiring it to be up-to-date before merging.
- Update SubscriptionTool to update notification subscription state for issues, pull requests, or discussions. Use when you need to subscribe, unsubscribe, or ignore notifications for a specific GitHub item.
- Update the authenticated userUpdates the authenticated user's GitHub profile; a new public email must be verified, and existing private emails remain private even if specified.
- Revoke Token Organization AccessRevokes a fine-grained personal access token's access to an organization. IMPORTANT: This endpoint can ONLY be called by GitHub Apps with 'Personal access tokens' organization permissions (write). Per
- Update User ListTool to update an existing GitHub user list. Use when you need to modify the name, description, or privacy settings of a user list.
- Update user lists for itemTool to update which of the viewer's lists an item belongs to on GitHub. Use when you need to add an item (repository, issue, pull request, etc.) to specific user lists or move it between lists.
- Update Project V2 Item for UserTool to update a field value for an item in a user's GitHub ProjectV2. Use when you need to modify a field value of an existing project item.
- Change User StatusTool to update your status on GitHub. Use when you need to set or clear your GitHub profile status with an emoji, message, and availability indicator.
- Upload an analysis as sarif dataUploads a gzipped and Base64 encoded SARIF file to a GitHub repository for a specific commit and reference; use `checkout_uri` if SARIF paths are absolute.
- Create or update repository custom property valuesCreates or updates up to 30 custom property values for a repository; custom properties must be predefined at the organization or repository level, and setting a property's value to `null` removes it.
Changes wait in Needs you
Changes and sends in GitHub are held for a person's approval by default. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.
GitHub questions
Can an agent change data in GitHub on its own?
Not by default. Changes and sends in GitHub are held for a person's approval. The approval is recorded, and the action is sent once, never twice, with 10 seconds to undo.
What can an agent read in GitHub?
This connector lists 465 read actions. Reads run at once, without waiting for approval.
How does GitHub connect?
It connects with OAuth 2.0. Connectors are built and maintained by third-party developers; availability is confirmed during scoping.