---
title: "Installation"
url: "https://kiwi.arashsheyda.me/apis/git-hub-v3-rest-api-1/versions/4cb06d26-20a0-409c-8492-8406889b7eb4/schemas/installation"
---

> Full API specification: https://kiwi.arashsheyda.me/apis/git-hub-v3-rest-api-1/versions/4cb06d26-20a0-409c-8492-8406889b7eb4.md

# Installation

Installation

## OpenAPI definition

```yaml
openapi: 3.0.3
info:
  title: GitHub v3 REST API
  version: 1.1.4
servers:
  - url: "{protocol}://{hostname}/api/v3"
    variables:
      hostname:
        description: Self-hosted Enterprise Server or Enterprise Cloud hostname
        default: HOSTNAME
      protocol:
        description: Self-hosted Enterprise Server or Enterprise Cloud protocol
        default: http
components:
  schemas:
    simple-user:
      title: Simple User
      description: Simple User
      type: object
      properties:
        name:
          nullable: true
          type: string
        email:
          nullable: true
          type: string
        login:
          type: string
          example: octocat
        id:
          type: integer
          example: 1
        node_id:
          type: string
          example: MDQ6VXNlcjE=
        avatar_url:
          type: string
          format: uri
          example: https://github.com/images/error/octocat_happy.gif
        gravatar_id:
          type: string
          example: 41d064eb2195891e12d0413f63227ea7
          nullable: true
        url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat
        html_url:
          type: string
          format: uri
          example: https://github.com/octocat
        followers_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/followers
        following_url:
          type: string
          example: https://api.github.com/users/octocat/following{/other_user}
        gists_url:
          type: string
          example: https://api.github.com/users/octocat/gists{/gist_id}
        starred_url:
          type: string
          example: https://api.github.com/users/octocat/starred{/owner}{/repo}
        subscriptions_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/subscriptions
        organizations_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/orgs
        repos_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/repos
        events_url:
          type: string
          example: https://api.github.com/users/octocat/events{/privacy}
        received_events_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/received_events
        type:
          type: string
          example: User
        site_admin:
          type: boolean
        starred_at:
          type: string
          example: '"2020-07-09T00:17:55Z"'
      required:
        - avatar_url
        - events_url
        - followers_url
        - following_url
        - gists_url
        - gravatar_id
        - html_url
        - id
        - node_id
        - login
        - organizations_url
        - received_events_url
        - repos_url
        - site_admin
        - starred_url
        - subscriptions_url
        - type
        - url
    enterprise:
      title: Enterprise
      description: An enterprise account
      type: object
      properties:
        description:
          description: A short description of the enterprise.
          type: string
          nullable: true
        html_url:
          type: string
          format: uri
          example: https://github.com/enterprises/octo-business
        website_url:
          description: The enterprise's website URL.
          type: string
          nullable: true
          format: uri
        id:
          description: Unique identifier of the enterprise
          example: 42
          type: integer
        node_id:
          type: string
          example: MDEwOlJlcG9zaXRvcnkxMjk2MjY5
        name:
          description: The name of the enterprise.
          type: string
          example: Octo Business
        slug:
          description: The slug url identifier for the enterprise.
          type: string
          example: octo-business
        created_at:
          type: string
          nullable: true
          format: date-time
          example: 2019-01-26T19:01:12Z
        updated_at:
          type: string
          nullable: true
          format: date-time
          example: 2019-01-26T19:14:43Z
        avatar_url:
          type: string
          format: uri
      required:
        - id
        - node_id
        - name
        - slug
        - html_url
        - created_at
        - updated_at
        - avatar_url
    app-permissions:
      title: App Permissions
      type: object
      description: The permissions granted to the user-to-server access token.
      properties:
        actions:
          type: string
          description: "The level of permission to grant the access token for GitHub
            Actions workflows, workflow runs, and artifacts. Can be one of:
            `read` or `write`."
          enum:
            - read
            - write
        administration:
          type: string
          description: "The level of permission to grant the access token for repository
            creation, deletion, settings, teams, and collaborators creation. Can
            be one of: `read` or `write`."
          enum:
            - read
            - write
        checks:
          type: string
          description: "The level of permission to grant the access token for checks on
            code. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        contents:
          type: string
          description: "The level of permission to grant the access token for repository
            contents, commits, branches, downloads, releases, and merges. Can be
            one of: `read` or `write`."
          enum:
            - read
            - write
        deployments:
          type: string
          description: "The level of permission to grant the access token for deployments
            and deployment statuses. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        environments:
          type: string
          description: "The level of permission to grant the access token for managing
            repository environments. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        issues:
          type: string
          description: "The level of permission to grant the access token for issues and
            related comments, assignees, labels, and milestones. Can be one of:
            `read` or `write`."
          enum:
            - read
            - write
        metadata:
          type: string
          description: "The level of permission to grant the access token to search
            repositories, list collaborators, and access repository metadata.
            Can be one of: `read` or `write`."
          enum:
            - read
            - write
        packages:
          type: string
          description: "The level of permission to grant the access token for packages
            published to GitHub Packages. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        pages:
          type: string
          description: "The level of permission to grant the access token to retrieve
            Pages statuses, configuration, and builds, as well as create new
            builds. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        pull_requests:
          type: string
          description: "The level of permission to grant the access token for pull
            requests and related comments, assignees, labels, milestones, and
            merges. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        repository_hooks:
          type: string
          description: "The level of permission to grant the access token to manage the
            post-receive hooks for a repository. Can be one of: `read` or
            `write`."
          enum:
            - read
            - write
        repository_projects:
          type: string
          description: "The level of permission to grant the access token to manage
            repository projects, columns, and cards. Can be one of: `read`,
            `write`, or `admin`."
          enum:
            - read
            - write
            - admin
        secret_scanning_alerts:
          type: string
          description: "The level of permission to grant the access token to view and
            manage secret scanning alerts. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        secrets:
          type: string
          description: "The level of permission to grant the access token to manage
            repository secrets. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        security_events:
          type: string
          description: "The level of permission to grant the access token to view and
            manage security events like code scanning alerts. Can be one of:
            `read` or `write`."
          enum:
            - read
            - write
        single_file:
          type: string
          description: "The level of permission to grant the access token to manage just a
            single file. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        statuses:
          type: string
          description: "The level of permission to grant the access token for commit
            statuses. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        vulnerability_alerts:
          type: string
          description: "The level of permission to grant the access token to manage
            Dependabot alerts. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        workflows:
          type: string
          description: "The level of permission to grant the access token to update GitHub
            Actions workflow files. Can be one of: `write`."
          enum:
            - write
        members:
          type: string
          description: "The level of permission to grant the access token for organization
            teams and members. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        organization_administration:
          type: string
          description: "The level of permission to grant the access token to manage access
            to an organization. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        organization_hooks:
          type: string
          description: "The level of permission to grant the access token to manage the
            post-receive hooks for an organization. Can be one of: `read` or
            `write`."
          enum:
            - read
            - write
        organization_plan:
          type: string
          description: "The level of permission to grant the access token for viewing an
            organization's plan. Can be one of: `read`."
          enum:
            - read
        organization_projects:
          type: string
          description: "The level of permission to grant the access token to manage
            organization projects and projects beta (where available). Can be
            one of: `read`, `write`, or `admin`."
          enum:
            - read
            - write
            - admin
        organization_packages:
          type: string
          description: "The level of permission to grant the access token for organization
            packages published to GitHub Packages. Can be one of: `read` or
            `write`."
          enum:
            - read
            - write
        organization_secrets:
          type: string
          description: "The level of permission to grant the access token to manage
            organization secrets. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        organization_self_hosted_runners:
          type: string
          description: "The level of permission to grant the access token to view and
            manage GitHub Actions self-hosted runners available to an
            organization. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        organization_user_blocking:
          type: string
          description: "The level of permission to grant the access token to view and
            manage users blocked by the organization. Can be one of: `read` or
            `write`."
          enum:
            - read
            - write
        team_discussions:
          type: string
          description: "The level of permission to grant the access token to manage team
            discussions and related comments. Can be one of: `read` or `write`."
          enum:
            - read
            - write
        content_references:
          type: string
          description: "The level of permission to grant the access token for notification
            of content references and creation content attachments. Can be one
            of: `read` or `write`."
          enum:
            - read
            - write
      example:
        contents: read
        issues: read
        deployments: write
        single_file: read
    nullable-simple-user:
      title: Simple User
      description: Simple User
      type: object
      properties:
        name:
          nullable: true
          type: string
        email:
          nullable: true
          type: string
        login:
          type: string
          example: octocat
        id:
          type: integer
          example: 1
        node_id:
          type: string
          example: MDQ6VXNlcjE=
        avatar_url:
          type: string
          format: uri
          example: https://github.com/images/error/octocat_happy.gif
        gravatar_id:
          type: string
          example: 41d064eb2195891e12d0413f63227ea7
          nullable: true
        url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat
        html_url:
          type: string
          format: uri
          example: https://github.com/octocat
        followers_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/followers
        following_url:
          type: string
          example: https://api.github.com/users/octocat/following{/other_user}
        gists_url:
          type: string
          example: https://api.github.com/users/octocat/gists{/gist_id}
        starred_url:
          type: string
          example: https://api.github.com/users/octocat/starred{/owner}{/repo}
        subscriptions_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/subscriptions
        organizations_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/orgs
        repos_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/repos
        events_url:
          type: string
          example: https://api.github.com/users/octocat/events{/privacy}
        received_events_url:
          type: string
          format: uri
          example: https://api.github.com/users/octocat/received_events
        type:
          type: string
          example: User
        site_admin:
          type: boolean
        starred_at:
          type: string
          example: '"2020-07-09T00:17:55Z"'
      required:
        - avatar_url
        - events_url
        - followers_url
        - following_url
        - gists_url
        - gravatar_id
        - html_url
        - id
        - node_id
        - login
        - organizations_url
        - received_events_url
        - repos_url
        - site_admin
        - starred_url
        - subscriptions_url
        - type
        - url
      nullable: true
    installation:
      title: Installation
      description: Installation
      type: object
      properties:
        id:
          description: The ID of the installation.
          type: integer
          example: 1
        account:
          nullable: true
          anyOf:
            - $ref: "#/components/schemas/simple-user"
            - $ref: "#/components/schemas/enterprise"
        repository_selection:
          description: Describe whether all repositories have been selected or there's a
            selection involved
          type: string
          enum:
            - all
            - selected
        access_tokens_url:
          type: string
          format: uri
          example: https://api.github.com/installations/1/access_tokens
        repositories_url:
          type: string
          format: uri
          example: https://api.github.com/installation/repositories
        html_url:
          type: string
          format: uri
          example: https://github.com/organizations/github/settings/installations/1
        app_id:
          type: integer
          example: 1
        target_id:
          description: The ID of the user or organization this token is being scoped to.
          type: integer
        target_type:
          type: string
          example: Organization
        permissions:
          $ref: "#/components/schemas/app-permissions"
        events:
          type: array
          items:
            type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        single_file_name:
          type: string
          example: config.yaml
          nullable: true
        has_multiple_single_files:
          type: boolean
          example: true
        single_file_paths:
          type: array
          items:
            type: string
          example:
            - config.yml
            - .github/issue_TEMPLATE.md
        app_slug:
          type: string
          example: github-actions
        suspended_by:
          $ref: "#/components/schemas/nullable-simple-user"
        suspended_at:
          type: string
          format: date-time
          nullable: true
        contact_email:
          type: string
          example: '"test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com"'
          nullable: true
      required:
        - id
        - app_id
        - app_slug
        - target_id
        - target_type
        - single_file_name
        - repository_selection
        - access_tokens_url
        - html_url
        - repositories_url
        - events
        - account
        - permissions
        - created_at
        - updated_at
        - suspended_by
        - suspended_at
```
