GitHub v3 REST API

Get an app

Note: The :app_slug is just the URL-friendly name of your GitHub App. You can find this on the settings page for your GitHub App (e.g., https://github.com/settings/apps/:app_slug).

If the GitHub App you specify is public, you can access this endpoint without authenticating. If the GitHub App you specify is private, you must authenticate with a personal access token or an installation access token to access this endpoint.

get
http://HOSTNAME/api/v3/apps/{app_slug}

Path Parameters

app_slugstringrequired

Response

application/json

Response

GitHub app

GitHub apps are a new way to extend GitHub. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks. GitHub apps are first class actors within GitHub.

idintegerrequired

Unique identifier of the GitHub app

Example:37

slugstring

The slug name of the GitHub app

Example:probot-owners

node_idstringrequired

Example:MDExOkludGVncmF0aW9uMQ==

ownerobject | nullrequired

Simple User

Show Child Parameters
namestringrequired

The name of the GitHub app

Example:Probot Owners

descriptionstring | nullrequired

Example:The description of the app.

external_urlstring(uri)required

Example:https://example.com

html_urlstring(uri)required

Example:https://github.com/apps/super-ci

created_atstring(date-time)required

Example:2017-07-08T16:18:44-04:00

updated_atstring(date-time)required

Example:2017-07-08T16:18:44-04:00

permissionsobjectrequired

The set of permissions for the GitHub app

Example:{"issues":"read","deployments":"write"}

Show Child Parameters
eventsarray[string]required

The list of events for the GitHub app

Example:["label","deployment"]

installations_countinteger

The number of installations associated with the GitHub app

Example:5

client_idstring

Example:"Iv1.25b5d1e65ffc4022"

client_secretstring

Example:"1d4b2097ac622ba702d19de498f005747a8b21d3"

webhook_secretstring | null

Example:"6fba8f2fc8a7e8f2cca5577eddd82ca7586b3b6b"

pemstring

Example:"-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEArYxrNYD/iT5CZVpRJu4rBKmmze3PVmT/gCo2ATUvDvZTPTey\nxcGJ3vvrJXazKk06pN05TN29o98jrYz4cengG3YGsXPNEpKsIrEl8NhbnxapEnM9\nJCMRe0P5JcPsfZlX6hmiT7136GRWiGOUba2X9+HKh8QJVLG5rM007TBER9/z9mWm\nrJuNh+m5l320oBQY/Qq3A7wzdEfZw8qm/mIN0FCeoXH1L6B8xXWaAYBwhTEh6SSn\nZHlO1Xu1JWDmAvBCi0RO5aRSKM8q9QEkvvHP4yweAtK3N8+aAbZ7ovaDhyGz8r6r\nzhU1b8Uo0Z2ysf503WqzQgIajr7Fry7/kUwpgQIDAQABAoIBADwJp80Ko1xHPZDy\nfcCKBDfIuPvkmSW6KumbsLMaQv1aGdHDwwTGv3t0ixSay8CGlxMRtRDyZPib6SvQ\n6OH/lpfpbMdW2ErkksgtoIKBVrDilfrcAvrNZu7NxRNbhCSvN8q0s4ICecjbbVQh\nnueSdlA6vGXbW58BHMq68uRbHkP+k+mM9U0mDJ1HMch67wlg5GbayVRt63H7R2+r\nVxcna7B80J/lCEjIYZznawgiTvp3MSanTglqAYi+m1EcSsP14bJIB9vgaxS79kTu\noiSo93leJbBvuGo8QEiUqTwMw4tDksmkLsoqNKQ1q9P7LZ9DGcujtPy4EZsamSJT\ny8OJt0ECgYEA2lxOxJsQk2kI325JgKFjo92mQeUObIvPfSNWUIZQDTjniOI6Gv63\nGLWVFrZcvQBWjMEQraJA9xjPbblV8PtfO87MiJGLWCHFxmPz2dzoedN+2Coxom8m\nV95CLz8QUShuao6u/RYcvUaZEoYs5bHcTmy5sBK80JyEmafJPtCQVxMCgYEAy3ar\nZr3yv4xRPEPMat4rseswmuMooSaK3SKub19WFI5IAtB/e7qR1Rj9JhOGcZz+OQrl\nT78O2OFYlgOIkJPvRMrPpK5V9lslc7tz1FSh3BZMRGq5jSyD7ETSOQ0c8T2O/s7v\nbeEPbVbDe4mwvM24XByH0GnWveVxaDl51ABD65sCgYB3ZAspUkOA5egVCh8kNpnd\nSd6SnuQBE3ySRlT2WEnCwP9Ph6oPgn+oAfiPX4xbRqkL8q/k0BdHQ4h+zNwhk7+h\nWtPYRAP1Xxnc/F+jGjb+DVaIaKGU18MWPg7f+FI6nampl3Q0KvfxwX0GdNhtio8T\nTj1E+SnFwh56SRQuxSh2gwKBgHKjlIO5NtNSflsUYFM+hyQiPiqnHzddfhSG+/3o\nm5nNaSmczJesUYreH5San7/YEy2UxAugvP7aSY2MxB+iGsiJ9WD2kZzTUlDZJ7RV\nUzWsoqBR+eZfVJ2FUWWvy8TpSG6trh4dFxImNtKejCR1TREpSiTV3Zb1dmahK9GV\nrK9NAoGAbBxRLoC01xfxCTgt5BDiBcFVh4fp5yYKwavJPLzHSpuDOrrI9jDn1oKN\nonq5sDU1i391zfQvdrbX4Ova48BN+B7p63FocP/MK5tyyBoT8zQEk2+vWDOw7H/Z\nu5dTCPxTIsoIwUw1I+7yIxqJzLPFgR2gVBwY1ra/8iAqCj+zeBw=\n-----END RSA PRIVATE KEY-----\n"

get/apps/{app_slug}
 
application/json

List repositories accessible to the app installation

List repositories that an app installation can access.

You must use an installation access token to access this endpoint.

get
http://HOSTNAME/api/v3/installation/repositories

Query Parameters

per_pageinteger

Results per page (max 100)

Default:30

pageinteger

Page number of the results to fetch.

Default:1

Response

application/json

Response

total_countintegerrequired
repositoriesarray[object]required

A git repository

Show Child Parameters
repository_selectionstring

Example:selected

get/installation/repositories
 
application/json

Revoke an installation access token

Revokes the installation token you’re using to authenticate as an installation and access this endpoint.

Once an installation token is revoked, the token is invalidated and cannot be used. Other endpoints that require the revoked installation token must have a new installation token to work. You can create a new token using the “Create an installation access token for an app” endpoint.

You must use an installation access token to access this endpoint.

delete
http://HOSTNAME/api/v3/installation/token

Response

204

Response

delete/installation/token
 
204

Get an organization installation for the authenticated app

Enables an authenticated GitHub App to find the organization’s installation information.

You must use a JWT to access this endpoint.

get
http://HOSTNAME/api/v3/orgs/{org}/installation

Path Parameters

orgstringrequired

Response

200 application/json

Response

Installation

Installation

idintegerrequired

The ID of the installation.

Example:1

accountAny Of
required
Simple Userobject

Simple User

Show Child Parameters
repository_selectionstringrequired

Describe whether all repositories have been selected or there’s a selection involved

Allowed values:allselected

access_tokens_urlstring(uri)required

Example:https://api.github.com/installations/1/access_tokens

repositories_urlstring(uri)required

Example:https://api.github.com/installation/repositories

html_urlstring(uri)required

Example:https://github.com/organizations/github/settings/installations/1

app_idintegerrequired

Example:1

target_idintegerrequired

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

target_typestringrequired

Example:Organization

permissionsobjectrequired

The permissions granted to the user-to-server access token.

Example:{"contents":"read","issues":"read","deployments":"write","single_file":"read"}

Show Child Parameters
eventsarray[string]required
created_atstring(date-time)required
updated_atstring(date-time)required
single_file_namestring | nullrequired

Example:config.yaml

has_multiple_single_filesboolean

Example:true

single_file_pathsarray[string]

Example:["config.yml",".github/issue_TEMPLATE.md"]

app_slugstringrequired

Example:github-actions

suspended_byobject | nullrequired

Simple User

Show Child Parameters
suspended_atstring | null(date-time)required
contact_emailstring | null

Example:"test_13f1e99741e3e004@d7e1eb0bc0a1ba12.com"

get/orgs/{org}/installation
 
200 application/json

Create a content attachment

Creates an attachment under a content reference URL in the body or comment of an issue or pull request. Use the id and repository full_name of the content reference from the content_reference event to create an attachment.

The app must create a content attachment within six hours of the content reference URL being posted. See “Using content attachments” for details about content attachments.

You must use an installation access token to access this endpoint.

post
http://HOSTNAME/api/v3/repos/{owner}/{repo}/content_references/{content_reference_id}/attachments

Path Parameters

ownerstringrequired

The owner of the repository. Determined from the repository full_name of the content_reference event.

repostringrequired

The name of the repository. Determined from the repository full_name of the content_reference event.

content_reference_idintegerrequired

The id of the content_reference event.

Body

application/json
titlestringrequired

The title of the attachment

<= 1024 characters

Example:Title of the attachment

bodystringrequired

The body of the attachment

<= 262144 characters

Example:Body of the attachment

Response

application/json

Response

ContentReferenceAttachment

Content Reference attachments allow you to provide context around URLs posted in comments

idintegerrequired

The ID of the attachment

Example:21

titlestringrequired

The title of the attachment

<= 1024 characters

Example:Title of the attachment

bodystringrequired

The body of the attachment

<= 262144 characters

Example:Body of the attachment

node_idstring

The node_id of the content attachment

Example:MDE3OkNvbnRlbnRBdHRhY2htZW50MjE=

post/repos/{owner}/{repo}/content_references/{content_reference_id}/attachments

Body

{ "title": "Title of the attachment", "body": "Body of the attachment" }
 
application/json