v56

latestOpenAPI 3.0.3MITraw.githubusercontent.com2026-08-011,4581,08113.3 MB
apps

Install a GitHub App on an enterprise-owned organization

Installs any valid GitHub App on the specified organization owned by the enterprise. If the app is already installed on the organization, and is suspended, it will be unsuspended. If the app has a pending installation request, they will all be approved.

If the app is already installed and has a pending update request, it will be updated to the latest version. If the app is now requesting repository permissions, it will be given access to the repositories listed in the request or fail if no repository_selection is provided.

This API can only be called by a GitHub App installed on the enterprise that owns the organization.

post/enterprises/{enterprise}/apps/organizations/{org}/installations

Path parameters

enterprisestring required

The slug version of the enterprise name.

orgstring required

The organization name. The name is not case sensitive.

Request body

client_idstring required

The Client ID of the GitHub App to install.

repository_selection'all' | 'selected' | 'none' required

The repository selection for the GitHub App. Must be one of:

  • all - the installation can access all repositories in the organization.
  • selected - the installation can access only the listed repositories.
  • none - no repository permissions are requested. Only use when the app does not request repository permissions.
repositoriesstring[]

The names of the repositories to which the installation will be granted access. This is the simple name of the repository, not the full name (e.g., hello-world not octocat/hello-world). This is only required when repository_selection is selected.

Response

A GitHub App installation that was installed previously.

idinteger required

The ID of the installation.

repository_selection'all' | 'selected' required

Describe whether all repositories have been selected or there's a selection involved. For enterprise installations this is selected.

access_tokens_urlstring uri required
repositories_urlstring uri required
html_urlstring uri required
app_idinteger required
client_idstring
target_idinteger required

The ID of the user or organization this token is being scoped to.

target_typestring required
eventsstring[] required
created_atstring date-time required
updated_atstring date-time required
single_file_namestring nullable required
has_multiple_single_filesboolean
single_file_pathsstring[]
app_slugstring required
suspended_atstring date-time nullable required
contact_emailstring nullable

Example response

{
  "id": 1,
  "account": {
    "login": "octocat",
    "id": 1,
    "node_id": "MDQ6VXNlcjE=",
    "avatar_url": "https://github.com/images/error/octocat_happy.gif",
    "gravatar_id": "41d064eb2195891e12d0413f63227ea7",
    "url": "https://api.github.com/users/octocat",
    "html_url": "https://github.com/octocat",
    "followers_url": "https://api.github.com/users/octocat/followers",
    "following_url": "https://api.github.com/users/octocat/following{/other_user}",
    "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
    "organizations_url": "https://api.github.com/users/octocat/orgs",
    "repos_url": "https://api.github.com/users/octocat/repos",
    "events_url": "https://api.github.com/users/octocat/events{/privacy}",
    "received_events_url": "https://api.github.com/users/octocat/received_events",
    "type": "User",
    "starred_at": "\"2020-07-09T00:17:55Z\"",
    "user_view_type": "public"
  },
  "access_tokens_url": "https://api.github.com/app/installations/1/access_tokens",
  "repositories_url": "https://api.github.com/installation/repositories",
  "html_url": "https://github.com/organizations/github/settings/installations/1",
  "app_id": 1,
  "client_id": "Iv1.ab1112223334445c",
  "target_type": "Organization",
  "permissions": {
    "contents": "read",
    "issues": "read",
    "deployments": "write",
    "single_file": "read"
  },
  "single_file_name": "config.yaml",
  "has_multiple_single_files": true,
  "single_file_paths": [
    "config.yml",
    ".github/issue_TEMPLATE.md"
  ],
  "app_slug": "github-actions",
  "suspended_by": {
    "login": "octocat",
    "id": 1,
    "node_id": "MDQ6VXNlcjE=",
    "avatar_url": "https://github.com/images/error/octocat_happy.gif",
    "gravatar_id": "41d064eb2195891e12d0413f63227ea7",
    "url": "https://api.github.com/users/octocat",
    "html_url": "https://github.com/octocat",
    "followers_url": "https://api.github.com/users/octocat/followers",
    "following_url": "https://api.github.com/users/octocat/following{/other_user}",
    "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
    "organizations_url": "https://api.github.com/users/octocat/orgs",
    "repos_url": "https://api.github.com/users/octocat/repos",
    "events_url": "https://api.github.com/users/octocat/events{/privacy}",
    "received_events_url": "https://api.github.com/users/octocat/received_events",
    "type": "User",
    "starred_at": "\"2020-07-09T00:17:55Z\"",
    "user_view_type": "public"
  },
  "contact_email": "\"test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com\""
}