GitHub Apps API

The Apps API from GitHub — 23 operation(s) for apps.

Operations 29

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /app Get the GitHub App I'm authenticated as · GitHub Get the Authenticated App #
Ask an LLM
“Which GitHub App do my current JWT credentials belong to?”
“Can I confirm my app's name and owner from its own credentials?”
Tell an agent
Show the app associated with my current app credentials.
Tell me which app I am authenticated as right now.
POST /app-manifests/{code}/conversions Finish creating an app from a manifest · GitHub Create a GitHub App from a Manifest #
Ask an LLM
“How do I complete the app manifest flow after the user is redirected back with a code?”
“What do I get back when I exchange a manifest code for a new app?”
Tell an agent
Convert manifest code {code} into a new app and return its credentials.
Complete the app manifest handshake using temporary code {code}.
GET /app/hook/config View my app's webhook configuration · GitHub Get a Webhook Configuration for an App #
Ask an LLM
“Where is my app sending its webhook payloads?”
“What content type and SSL setting is my app's webhook using?”
Tell an agent
Show my app's webhook configuration.
Get the current webhook URL and content type for my app.
PATCH /app/hook/config Change my app's webhook settings · GitHub Update a Webhook Configuration for an App #
Ask an LLM
“Can I point my app's webhook at a new URL?”
“How do I rotate the secret used to sign my app's webhook deliveries?”
Tell an agent
Change my app's webhook URL to {url}.
Set my app's webhook secret to {secret} and content type to {content_type}.
GET /app/hook/deliveries List my app's webhook deliveries · GitHub List Deliveries for an App Webhook #
Ask an LLM
“Which webhook deliveries has my app sent recently?”
“Can I see only the redelivered webhook attempts for my app?”
Tell an agent
List recent webhook deliveries for my app.
Show my app's webhook deliveries starting from cursor {cursor}.
GET /app/hook/deliveries/{delivery_id} Inspect one webhook delivery for my app · GitHub Get a Delivery for an App Webhook #
Ask an LLM
“What request and response were recorded for one of my app's webhook deliveries?”
“Why did a particular webhook delivery to my app fail?”
Tell an agent
Show webhook delivery {delivery_id} for my app.
Get the payload and response status of app delivery {delivery_id}.
POST /app/hook/deliveries/{delivery_id}/attempts Redeliver a webhook from my app · GitHub Redeliver a Delivery for an App Webhook #
Ask an LLM
“Can I resend a webhook my app already delivered once?”
“How do I retry a failed webhook delivery for my app?”
Tell an agent
Redeliver webhook delivery {delivery_id} for my app.
Retry sending app webhook delivery {delivery_id} again.
GET /app/installation-requests List pending installation requests for my app · GitHub List Installation Requests for the Authenticated App #
Ask an LLM
“Who has asked to install my app but is still waiting for approval?”
“Are there any pending installation requests for my app?”
Tell an agent
List pending installation requests for my app.
Show outstanding install requests awaiting approval, {per_page} per page.
GET /app/installations List my app's installations · GitHub List Installations for the Authenticated App #
Ask an LLM
“Which accounts have installed my GitHub App?”
“Can I see only the installations updated since a certain date?”
Tell an agent
List every installation of my app.
Show my app's installations updated since {since}.
GET /app/installations/{installation_id} Get one installation of my app · GitHub Get an Installation for the Authenticated App #
Ask an LLM
“What account and permissions belong to a given installation ID?”
“Can I look up a single installation of my app by its ID?”
Tell an agent
Get installation {installation_id} of my app.
Show the account and permissions for app installation {installation_id}.
DELETE /app/installations/{installation_id} Uninstall my app from an account · GitHub Delete an Installation for the Authenticated App #
Ask an LLM
“How do I completely uninstall my app from an organization or user account?”
“What's the difference between uninstalling and suspending an app installation?”
Tell an agent destructive · confirm first
Uninstall my app from installation {installation_id}.
Permanently remove app installation {installation_id}.
POST /app/installations/{installation_id}/access_tokens Create an installation access token · GitHub Create an Installation Access Token for an App #
Ask an LLM
“How do I get a token so my app can call the API on behalf of an installation?”
“Can I limit an installation token to just a few repositories?”
Tell an agent
Create an access token for installation {installation_id}.
Mint an installation token for {installation_id} limited to repositories {repositories}.
PUT /app/installations/{installation_id}/suspended Suspend an app installation · GitHub Suspend an App Installation #
Ask an LLM
“Can I temporarily block my app from an account without uninstalling it?”
“What stops working when an app installation is suspended?”
Tell an agent destructive · confirm first
Suspend app installation {installation_id}.
Block installation {installation_id} from accessing the account's resources for now.
DELETE /app/installations/{installation_id}/suspended Lift a suspension on an app installation · GitHub Unsuspend an App Installation #
Ask an LLM
“How do I restore access for an app installation I suspended?”
“Can a suspended installation be reactivated?”
Tell an agent destructive · confirm first
Unsuspend app installation {installation_id}.
Restore access for suspended installation {installation_id}.
DELETE /applications/{client_id}/grant Revoke a user's grant for my app · GitHub Delete an App Authorization #
Ask an LLM
“How can I revoke every token a user has for my OAuth app?”
“Can an app owner delete a user's authorization grant?”
Tell an agent destructive · confirm first
Revoke the grant for my app {client_id} tied to access token {access_token}.
Delete the user authorization behind token {access_token} for app client {client_id}.
POST /applications/{client_id}/token Check whether an OAuth token is valid · GitHub Check a Token #
Ask an LLM
“Can I verify a user's OAuth token without using up their rate limit?”
“Is a given access token still valid for my app?”
Tell an agent
Check if token {access_token} is valid for app {client_id}.
Validate OAuth token {access_token} against my app client {client_id}.
PATCH /applications/{client_id}/token Reset a user's OAuth token · GitHub Reset a Token #
Ask an LLM
“Can I swap a user's OAuth token for a new one without them re-authorizing?”
“What happens to the old token when I reset it?”
Tell an agent
Reset token {access_token} for app {client_id} and give me the new one.
Rotate user token {access_token} on app client {client_id} without user involvement.
DELETE /applications/{client_id}/token Revoke a single OAuth token · GitHub Delete an App Token #
Ask an LLM
“How do I revoke just one user token for my OAuth app?”
“Can I invalidate a leaked access token without revoking the whole grant?”
Tell an agent destructive · confirm first
Revoke access token {access_token} for app {client_id}.
Invalidate the single token {access_token} issued by app client {client_id}.
POST /applications/{client_id}/token/scoped Create a narrower, scoped user access token · GitHub Create a Scoped Access Token #
Ask an LLM
“Can I turn a broad user access token into one limited to certain repositories?”
“How do I restrict a user token to one organization and a smaller permission set?”
Tell an agent
Scope token {access_token} for app {client_id} to account {target}.
Create a scoped copy of {access_token} for app {client_id} limited to repositories {repositories}.
GET /apps/{app_slug} Look up an app by its slug · GitHub Get an App #
Ask an LLM
“Can I get public details about an app from its URL-friendly name?”
“Where do I find an app's slug to look it up?”
Tell an agent
Get the app with slug {app_slug}.
Show public information for the {app_slug} app.
GET /installation/repositories List repos this installation token can access · GitHub List Repositories Accessible to the App Installation #
Ask an LLM
“Which repositories can my app installation reach with its current token?”
“What repos does this installation have access to?”
Tell an agent
List the repositories accessible to this installation.
Show repos my installation token can reach, {per_page} per page.
DELETE /installation/token Revoke the installation token I'm using · GitHub Revoke an Installation Access Token #
Ask an LLM
“Can I kill the installation token I'm currently authenticated with before it expires?”
“What happens after an installation token revokes itself?”
Tell an agent destructive · confirm first
Revoke the installation access token I'm using now.
Invalidate my current installation token immediately.
GET /orgs/{org}/installation Find my app's installation on an organization · GitHub Get an Organization Installation for the Authenticated App #
Ask an LLM
“Is my app installed on a given organization, and under which installation ID?”
“How do I find the installation for an org from my app?”
Tell an agent
Get my app's installation on organization {org}.
Find the installation ID for my app in the {org} org.
GET /repos/{owner}/{repo}/installation Find my app's installation for a repository · GitHub Get a Repository Installation for the Authenticated App #
Ask an LLM
“Which installation of my app covers a particular repository?”
“Is my app installed on a given repo?”
Tell an agent
Get my app's installation for {owner}/{repo}.
Find which installation of my app includes repository {owner}/{repo}.
GET /user/installations List app installations I can access as a user · GitHub List App Installations Accessible to the User Access Token #
Ask an LLM
“Which installations of this app does the signed-in user have permission to access?”
“Can I see the app installations available to a user access token?”
Tell an agent
List the app installations my user token can access.
Show installations I have read, write or admin access to, {per_page} per page.
GET /user/installations/{installation_id}/repositories List repos I can access in an installation · GitHub List Repositories Accessible to the User Access Token #
Ask an LLM
“Which repositories in an installation does the signed-in user have access to?”
“Can I list repos for one installation using a user access token?”
Tell an agent
List repositories I can access in installation {installation_id}.
Show the repos my user token can reach through installation {installation_id}.
PUT /user/installations/{installation_id}/repositories/{repository_id} Add a repository to an app installation · GitHub Add a Repository to an App Installation #
Ask an LLM
“How do I give an installed app access to one more repository?”
“What access do I need on a repo to add it to an installation?”
Tell an agent
Add repository {repository_id} to installation {installation_id}.
Grant installation {installation_id} access to repo ID {repository_id}.
DELETE /user/installations/{installation_id}/repositories/{repository_id} Remove a repository from an app installation · GitHub Remove a Repository from an App Installation #
Ask an LLM
“Can I take a single repository away from an installed app?”
“Which token type is required to remove a repo from an installation?”
Tell an agent destructive · confirm first
Remove repository {repository_id} from installation {installation_id}.
Revoke installation {installation_id}'s access to repo ID {repository_id}.
GET /users/{username}/installation Find my app's installation on a user account · GitHub Get a User Installation for the Authenticated App #
Ask an LLM
“Has a particular user installed my app on their personal account?”
“How can my app find the installation for a given username?”
Tell an agent
Look up the personal-account installation of my app belonging to user {username}.
Find the installation ID of my app on {username}'s account.

Documentation

📖
Documentation
https://docs.github.com/en/rest/apps
📖
Documentation
https://docs.github.com/en/rest/codes-of-conduct/codes-of-conduct
📖
Documentation
https://docs.github.com/en/rest/emojis
📖
Documentation
https://docs.github.com/en/rest/gitignore
📖
Documentation
https://docs.github.com/en/rest/apps/installations
📖
Documentation
https://docs.github.com/en/rest/enterprise-admin
📖
Documentation
https://docs.github.com/en/rest/activity/events
📖
Documentation
https://docs.github.com/en/rest/orgs
📖
Documentation
https://docs.github.com/en/rest/rate-limit
📖
Documentation
https://docs.github.com/en/enterprise-cloud@latest/rest/scim
📖
Documentation
https://docs.github.com/en/rest/using-the-rest-api/getting-started-with-the-rest-api
📖
Documentation
https://docs.github.com/en/rest/teams
📖
Documentation
https://docs.github.com/en/rest/meta/meta
📖
Documentation
https://docs.github.com/en/rest/actions
📖
Documentation
https://docs.github.com/en/rest/branches
📖
Documentation
https://docs.github.com/en/rest/code-scanning
📖
Documentation
https://docs.github.com/en/rest/collaborators
📖
Documentation
https://docs.github.com/en/rest/dependabot
📖
Documentation
https://docs.github.com/en/rest/webhooks
📖
Documentation
https://docs.github.com/en/rest/pulls
📖
Documentation
https://docs.github.com/en/rest/git/tags
📖
Documentation
https://docs.github.com/en/rest/repos/autolinks
📖
Documentation
https://docs.github.com/en/rest/collaborators/invitations

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/github-apps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

github-apps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.1.4
  title: GitHub v3 REST Apps API
  description: GitHub's v3 REST API.
  license:
    name: MIT
    url: https://spdx.org/licenses/MIT
  termsOfService: https://docs.github.com/articles/github-terms-of-service
  contact:
    name: Support
    url: https://support.github.com/contact?tags=dotcom-rest-api
  x-github-plan: ghes
  x-github-release: 3.9
servers:
- url: '{protocol}://{hostname}/api/v3'
  variables:
    hostname:
      description: Self-hosted Enterprise Server hostname
      default: HOSTNAME
    protocol:
      description: Self-hosted Enterprise Server protocol
      default: http
tags:


# --- truncated at 32 KB (149 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/openapi/github-apps-api-openapi.yml