APIs.io Engineering Platform Apps API

Information for integrations and installations.

Operations 29

GET /app APIs.io Engineering Platform Get the authenticated app #
POST /app-manifests/{code}/conversions APIs.io Engineering Platform Create a GitHub App from a manifest #
GET /app/hook/config APIs.io Engineering Platform Get a webhook configuration for an app #
PATCH /app/hook/config APIs.io Engineering Platform Update a webhook configuration for an app #
GET /app/hook/deliveries APIs.io Engineering Platform List deliveries for an app webhook #
GET /app/hook/deliveries/{delivery_id} APIs.io Engineering Platform Get a delivery for an app webhook #
POST /app/hook/deliveries/{delivery_id}/attempts APIs.io Engineering Platform Redeliver a delivery for an app webhook #
GET /app/installation-requests APIs.io Engineering Platform List installation requests for the authenticated app #
GET /app/installations APIs.io Engineering Platform List installations for the authenticated app #
GET /app/installations/{installation_id} APIs.io Engineering Platform Get an installation for the authenticated app #
DELETE /app/installations/{installation_id} APIs.io Engineering Platform Delete an installation for the authenticated app #
POST /app/installations/{installation_id}/access_tokens APIs.io Engineering Platform Create an installation access token for an app #
PUT /app/installations/{installation_id}/suspended APIs.io Engineering Platform Suspend an app installation #
DELETE /app/installations/{installation_id}/suspended APIs.io Engineering Platform Unsuspend an app installation #
DELETE /applications/{client_id}/grant APIs.io Engineering Platform Delete an app authorization #
POST /applications/{client_id}/token APIs.io Engineering Platform Check a token #
PATCH /applications/{client_id}/token APIs.io Engineering Platform Reset a token #
DELETE /applications/{client_id}/token APIs.io Engineering Platform Delete an app token #
POST /applications/{client_id}/token/scoped APIs.io Engineering Platform Create a scoped access token #
GET /apps/{app_slug} APIs.io Engineering Platform Get an app #
GET /installation/repositories APIs.io Engineering Platform List repositories accessible to the app installation #
DELETE /installation/token APIs.io Engineering Platform Revoke an installation access token #
GET /orgs/{org}/installation APIs.io Engineering Platform Get an organization installation for the authenticated app #
GET /repos/{owner}/{repo}/installation APIs.io Engineering Platform Get a repository installation for the authenticated app #
GET /user/installations APIs.io Engineering Platform List app installations accessible to the user access token #
GET /user/installations/{installation_id}/repositories APIs.io Engineering Platform List repositories accessible to the user access token #
PUT /user/installations/{installation_id}/repositories/{repository_id} APIs.io Engineering Platform Add a repository to an app installation #
DELETE /user/installations/{installation_id}/repositories/{repository_id} APIs.io Engineering Platform Remove a repository from an app installation #
GET /users/{username}/installation APIs.io Engineering Platform Get a user installation for the authenticated app #

Documentation

Specifications

Other Resources

🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1ab188a6-cc1f-490d-9413-9c6da20918d0?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-0e94f581-cbc1-48e0-b594-1f6b3d07a328?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4517d93a-e7f7-4dc2-b572-06762bbe14de?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-88f9ddbb-3115-47dc-b6e5-7fc6f1d2a190?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-3a12caae-4945-4df4-8ab9-bb6219ba7a9f?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-863b18f0-c2f2-4e32-a5fa-0d1e6ccf77a9?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-189876d1-f207-49a2-a4bc-5c67ae78cd19?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c1e74fd9-3f84-4d95-943d-d645d6cb82f7?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b002164d-6e8a-4b6d-b409-4929476e7818?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-508660fd-30b8-4c9c-aede-8edbac8a514d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-da35e0ba-f1a9-42fe-a77a-56ff0a47e341?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-1d4df7d0-9c92-4fa8-946f-2110c2b3b48d?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-2af6f54f-d259-46c0-8f86-78856f5885cd?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-cc203f31-e7f6-42ec-ad34-c5c4cde58904?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-f19285da-48dd-4691-bbdf-f7d6bec157a3?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa69cacc-4bbf-4724-a1d4-78cdad57fee8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-a5858f86-04d3-4e15-ae11-b42c7516688b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-c2052341-766c-43c7-b1dc-ed4985e4606b?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-aa777c90-8271-4809-8eac-3ec39a9a899c?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-4d5957dc-df05-4216-a5fc-d46b3ba811d8?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-28d97617-fdba-46a5-ac3e-40f3d2e0fa57?action=share&creator=35240
🔗
PostmanCollection
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-7429b451-d812-4abc-b497-b763372cf5c5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-b0eafdd0-adaa-48a2-a855-6a31beb86d83?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-209f34ef-13c1-400c-bca8-fcddb304aff5?action=share&creator=35240
🔗
PostmanCapability
https://api-evangelist.postman.co/workspace/APIs.io-Engineering-Platform/fe320942-e505-4ee8-8b7c-d72eae00d93f/collection/35240-fb2bbbb8-d4cc-48b1-a660-c8e158bfbbea?action=share&creator=35240

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/engineering-platform-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

engineering-platform-apps-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.1.4
  title: APIs.io Engineering Platform 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:
- name: Apps
  description: Information for integrations and installations.
paths:
  /app:
    get:
      summary: APIs.io Engineering Platform Get the authenticated app
      description: 'Returns the GitHub App associated with the authentication credentials used. To see how many app installations are associated with this GitHub App, see the `installations_count` in the response. For more details about your app''s installations, see the "[List installations for the authenticated app](https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installations-for-the-authenticated-app)" endpoint.


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/get-authenticated
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/apps#get-the-authenticated-app
      parameters: []
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/integration'
              examples:
                default:
                  $ref: '#/components/examples/integration'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: true
        category: apps
        subcategory: apps
  /app-manifests/{code}/conversions:
    post:
      summary: APIs.io Engineering Platform Create a GitHub App from a manifest
      description: Use this endpoint to complete the handshake necessary when implementing the [GitHub App Manifest flow](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/creating-github-apps-from-a-manifest/). When you create a GitHub App with the manifest flow, you receive a temporary `code` used to retrieve the GitHub App's `id`, `pem` (private key), and `webhook_secret`.
      tags:
      - Apps
      operationId: apps/create-from-manifest
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/apps#create-a-github-app-from-a-manifest
      parameters:
      - name: code
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Response
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/integration'
                - type: object
                  properties:
                    client_id:
                      type: string
                    client_secret:
                      type: string
                    webhook_secret:
                      type:
                      - string
                      - 'null'
                    pem:
                      type: string
                  required:
                  - client_id
                  - client_secret
                  - webhook_secret
                  - pem
                  additionalProperties: true
              examples:
                default:
                  $ref: '#/components/examples/integration-from-manifest'
        '404':
          $ref: '#/components/responses/not_found'
        '422':
          $ref: '#/components/responses/validation_failed_simple'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: apps
  /app/hook/config:
    get:
      summary: APIs.io Engineering Platform Get a webhook configuration for an app
      description: 'Returns the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)."


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/get-webhook-config-for-app
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/webhooks#get-a-webhook-configuration-for-an-app
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhook-config'
              examples:
                default:
                  $ref: '#/components/examples/webhook-config'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: webhooks
    patch:
      summary: APIs.io Engineering Platform Update a webhook configuration for an app
      description: 'Updates the webhook configuration for a GitHub App. For more information about configuring a webhook for your app, see "[Creating a GitHub App](/developers/apps/creating-a-github-app)."


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/update-webhook-config-for-app
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/webhooks#update-a-webhook-configuration-for-an-app
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  $ref: '#/components/schemas/webhook-config-url'
                content_type:
                  $ref: '#/components/schemas/webhook-config-content-type'
                secret:
                  $ref: '#/components/schemas/webhook-config-secret'
                insecure_ssl:
                  $ref: '#/components/schemas/webhook-config-insecure-ssl'
            examples:
              default:
                value:
                  content_type: json
                  insecure_ssl: '0'
                  secret: '********'
                  url: https://example.com/webhook
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/webhook-config'
              examples:
                default:
                  $ref: '#/components/examples/webhook-config'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: webhooks
  /app/hook/deliveries:
    get:
      summary: APIs.io Engineering Platform List deliveries for an app webhook
      description: 'Returns a list of webhook deliveries for the webhook configured for a GitHub App.


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/list-webhook-deliveries
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/webhooks#list-deliveries-for-an-app-webhook
      parameters:
      - $ref: '#/components/parameters/per-page'
      - $ref: '#/components/parameters/cursor'
      - name: redelivery
        in: query
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/hook-delivery-item'
              examples:
                default:
                  $ref: '#/components/examples/hook-delivery-items'
        '400':
          $ref: '#/components/responses/bad_request'
        '422':
          $ref: '#/components/responses/validation_failed'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: webhooks
  /app/hook/deliveries/{delivery_id}:
    get:
      summary: APIs.io Engineering Platform Get a delivery for an app webhook
      description: 'Returns a delivery for the webhook configured for a GitHub App.


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/get-webhook-delivery
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/webhooks#get-a-delivery-for-an-app-webhook
      parameters:
      - $ref: '#/components/parameters/delivery-id'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/hook-delivery'
              examples:
                default:
                  $ref: '#/components/examples/hook-delivery'
        '400':
          $ref: '#/components/responses/bad_request'
        '422':
          $ref: '#/components/responses/validation_failed'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: webhooks
  /app/hook/deliveries/{delivery_id}/attempts:
    post:
      summary: APIs.io Engineering Platform Redeliver a delivery for an app webhook
      description: 'Redeliver a delivery for the webhook configured for a GitHub App.


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/redeliver-webhook-delivery
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/webhooks#redeliver-a-delivery-for-an-app-webhook
      parameters:
      - $ref: '#/components/parameters/delivery-id'
      responses:
        '202':
          $ref: '#/components/responses/accepted'
        '400':
          $ref: '#/components/responses/bad_request'
        '422':
          $ref: '#/components/responses/validation_failed'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: webhooks
  /app/installation-requests:
    get:
      summary: APIs.io Engineering Platform List installation requests for the authenticated app
      description: Lists all the pending installation requests for the authenticated GitHub App.
      tags:
      - Apps
      operationId: apps/list-installation-requests-for-authenticated-app
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installation-requests-for-the-authenticated-app
      parameters:
      - $ref: '#/components/parameters/per-page'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: List of integration installation requests
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/integration-installation-request'
              examples:
                exampleKey1:
                  $ref: '#/components/examples/integration-installation-request-paginated'
        '304':
          $ref: '#/components/responses/not_modified'
        '401':
          $ref: '#/components/responses/requires_authentication'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: true
        category: apps
        subcategory: apps
  /app/installations:
    get:
      summary: APIs.io Engineering Platform List installations for the authenticated app
      description: 'The permissions the installation has are included under the `permissions` key.


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/list-installations
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/apps#list-installations-for-the-authenticated-app
      parameters:
      - $ref: '#/components/parameters/per-page'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/since'
      - name: outdated
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: The permissions the installation has are included under the `permissions` key.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/installation'
              examples:
                default:
                  $ref: '#/components/examples/base-installation-items'
          headers:
            Link:
              $ref: '#/components/headers/link'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: true
        category: apps
        subcategory: apps
  /app/installations/{installation_id}:
    get:
      summary: APIs.io Engineering Platform Get an installation for the authenticated app
      description: 'Enables an authenticated GitHub App to find an installation''s information using the installation id.


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/get-installation
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/apps#get-an-installation-for-the-authenticated-app
      parameters:
      - $ref: '#/components/parameters/installation-id'
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/installation'
              examples:
                default:
                  $ref: '#/components/examples/base-installation'
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: true
        category: apps
        subcategory: apps
    delete:
      summary: APIs.io Engineering Platform Delete an installation for the authenticated app
      description: 'Uninstalls a GitHub App on a user, organization, or business account. If you prefer to temporarily suspend an app''s access to your account''s resources, then we recommend the "[Suspend an app installation](https://docs.github.com/enterprise-server@3.9/rest/apps/apps#suspend-an-app-installation)" endpoint.


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/delete-installation
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/apps#delete-an-installation-for-the-authenticated-app
      parameters:
      - $ref: '#/components/parameters/installation-id'
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: apps
  /app/installations/{installation_id}/access_tokens:
    post:
      summary: APIs.io Engineering Platform Create an installation access token for an app
      description: 'Creates an installation access token that enables a GitHub App to make authenticated API requests for the app''s installation on an organization or individual account. Installation tokens expire one hour from the time you create them. Using an expired token produces a status code of `401 - Unauthorized`, and requires creating a new installation token. By default the installation token has access to all repositories that the installation can access.


        Optionally, you can use the `repositories` or `repository_ids` body parameters to specify individual repositories that the installation access token can access. If you don''t use `repositories` or `repository_ids` to grant access to specific repositories, the installation access token will have access to all repositories that the installation was granted access to. The installation access token cannot be granted access to repositories that the installation was not granted access to. Up to 500 repositories can be listed in this manner.


        Optionally, use the `permissions` body parameter to specify the permissions that the installation access token should have. If `permissions` is not specified, the installation access token will have all of the permissions that were granted to the app. The installation access token cannot be granted permissions that the app was not granted.


        When using the repository or permission parameters to reduce the access of the token, the complexity of the token is increased due to both the number of permissions in the request and the number of repositories the token will have access to. If the complexity is too large, the token will fail to be issued. If this occurs, the error message will indicate the maximum number of repositories that should be requested. For the average application requesting 8 permissions, this limit is around 5000 repositories. With fewer permissions requested, more repositories are supported.


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/create-installation-access-token
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/apps#create-an-installation-access-token-for-an-app
      parameters:
      - $ref: '#/components/parameters/installation-id'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                repositories:
                  description: List of repository names that the token should have access to
                  type: array
                  items:
                    type: string
                    example: rails
                repository_ids:
                  description: List of repository IDs that the token should have access to
                  example:
                  - 1
                  type: array
                  items:
                    type: integer
                permissions:
                  $ref: '#/components/schemas/app-permissions'
            examples:
              default:
                value:
                  repositories:
                  - Hello-World
                  permissions:
                    issues: write
                    contents: read
      responses:
        '201':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/installation-token'
              examples:
                default:
                  $ref: '#/components/examples/installation-token'
        '403':
          $ref: '#/components/responses/forbidden'
        '401':
          $ref: '#/components/responses/requires_authentication'
        '404':
          $ref: '#/components/responses/not_found'
        '422':
          $ref: '#/components/responses/validation_failed'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: true
        category: apps
        subcategory: apps
  /app/installations/{installation_id}/suspended:
    put:
      summary: APIs.io Engineering Platform Suspend an app installation
      description: 'Suspends a GitHub App on a user, organization, or business account, which blocks the app from accessing the account''s resources. When a GitHub App is suspended, the app''s access to the GitHub Enterprise Server API or webhook events is blocked for that account.


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/suspend-installation
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/apps#suspend-an-app-installation
      parameters:
      - $ref: '#/components/parameters/installation-id'
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: apps
    delete:
      summary: APIs.io Engineering Platform Unsuspend an app installation
      description: 'Removes a GitHub App installation suspension.


        You must use a [JWT](https://docs.github.com/enterprise-server@3.9/apps/building-github-apps/authenticating-with-github-apps/#authenticating-as-a-github-app) to access this endpoint.'
      tags:
      - Apps
      operationId: apps/unsuspend-installation
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/apps#unsuspend-an-app-installation
      parameters:
      - $ref: '#/components/parameters/installation-id'
      responses:
        '204':
          description: Response
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: apps
  /applications/{client_id}/grant:
    delete:
      summary: APIs.io Engineering Platform Delete an app authorization
      description: 'OAuth and GitHub application owners can revoke a grant for their application and a specific user. You must provide a valid OAuth `access_token` as an input parameter and the grant for the token''s owner will be deleted.

        Deleting an application''s grant will also delete all OAuth tokens associated with the application for the user. Once deleted, the application will have no access to the user''s account and will no longer be listed on [the application authorizations settings screen within GitHub](https://github.com/settings/applications#authorized).'
      operationId: apps/delete-authorization
      tags:
      - Apps
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/oauth-applications#delete-an-app-authorization
      parameters:
      - $ref: '#/components/parameters/client-id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                access_token:
                  type: string
                  description: The OAuth access token used to authenticate to the GitHub API.
              required:
              - access_token
            examples:
              default:
                value:
                  access_token: e72e16c7e42f292c6912e7710c838347ae178b4a
      responses:
        '204':
          description: Response
        '422':
          $ref: '#/components/responses/validation_failed'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: oauth-applications
  /applications/{client_id}/token:
    post:
      summary: APIs.io Engineering Platform Check a token
      description: OAuth applications and GitHub applications with OAuth authorizations can use this API method for checking OAuth token validity without exceeding the normal rate limits for failed login attempts. Authentication works differently with this particular endpoint. Invalid tokens will return `404 NOT FOUND`.
      tags:
      - Apps
      operationId: apps/check-token
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/oauth-applications#check-a-token
      parameters:
      - $ref: '#/components/parameters/client-id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                access_token:
                  description: The access_token of the OAuth or GitHub application.
                  type: string
              required:
              - access_token
              type: object
            examples:
              default:
                value:
                  access_token: e72e16c7e42f292c6912e7710c838347ae178b4a
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authorization'
              examples:
                default:
                  $ref: '#/components/examples/authorization-with-user'
        '422':
          $ref: '#/components/responses/validation_failed'
        '404':
          $ref: '#/components/responses/not_found'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: oauth-applications
    patch:
      summary: APIs.io Engineering Platform Reset a token
      description: OAuth applications and GitHub applications with OAuth authorizations can use this API method to reset a valid OAuth token without end-user involvement. Applications must save the "token" property in the response because changes take effect immediately. Invalid tokens will return `404 NOT FOUND`.
      tags:
      - Apps
      operationId: apps/reset-token
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/oauth-applications#reset-a-token
      parameters:
      - $ref: '#/components/parameters/client-id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                access_token:
                  description: The access_token of the OAuth or GitHub application.
                  type: string
              required:
              - access_token
              type: object
            examples:
              default:
                value:
                  access_token: e72e16c7e42f292c6912e7710c838347ae178b4a
      responses:
        '200':
          description: Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/authorization'
              examples:
                default:
                  $ref: '#/components/examples/authorization-with-user'
        '422':
          $ref: '#/components/responses/validation_failed'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: oauth-applications
    delete:
      summary: APIs.io Engineering Platform Delete an app token
      description: OAuth  or GitHub application owners can revoke a single token for an OAuth application or a GitHub application with an OAuth authorization.
      tags:
      - Apps
      operationId: apps/delete-token
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/oauth-applications#delete-an-app-token
      parameters:
      - $ref: '#/components/parameters/client-id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                access_token:
                  type: string
                  description: The OAuth access token used to authenticate to the GitHub API.
              required:
              - access_token
            examples:
              default:
                value:
                  access_token: e72e16c7e42f292c6912e7710c838347ae178b4a
      responses:
        '204':
          description: Response
        '422':
          $ref: '#/components/responses/validation_failed'
      x-github:
        githubCloudOnly: false
        enabledForGitHubApps: false
        category: apps
        subcategory: oauth-applications
  /applications/{client_id}/token/scoped:
    post:
      summary: APIs.io Engineering Platform Create a scoped access token
      description: 'Use a non-scoped user access token to create a repository-scoped and/or permission-scoped user access token. You can specify

        which repositories the token can access and which permissions are granted to the

        token.


        Invalid tokens will return `404 NOT FOUND`.'
      tags:
      - Apps
      operationId: apps/scope-token
      externalDocs:
        description: API method documentation
        url: https://docs.github.com/enterprise-server@3.9/rest/apps/apps#create-a-scoped-access-token
      parameters:
      - $ref: '#/components/parameters/client-id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                access_token:
                  type: string
                  description: The access token used to authenticate to the GitHub API.
                  example: e72e16c7e42f292c6912e7710c838347ae178b4a
                target:
                  description: The name of the user or organization to scope the user access token to. **Required** unless `target_id` is specified.
                  type: string
                  example: octocat
                target_id:
                  description: The ID of the user or organization to scope the user access token to. **Required** unless `target` is specified.
                  example: 1
                  type: integer
                repositories:
                  description: The list of repository names to scope the user access token to. `repositories` may not be specified if `repository_ids` is specified.
                  type: array
                  items:
                    type: string
                    example: rails
                repository_ids:
                  description: The list of repository IDs to scope the user access token to. `repository_ids` may not be specified if `repositories` is specified.
                  example:
                  - 1
                  type: array
                  items:
                    type: integer
                permissions:
                  $ref: '#/components/schemas/app-permissions'
              required:
              - access_token
            examples:
              default:
                value:
                  access_token: e72e16c7e42f292c6912e7710c838347ae178b4a
                  target: octocat
                  permissions:
                    metadata: read
                    issues: write
                    contents: read
      responses:
        '200':
          description: Response
          co

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