410 Gone response
Returned when a request specifies an API version that is no longer supported.
About Octokit.rb
Additive changes
Non-breaking additive changes are available in all supported API versions.
Annotations
Add information from a check run to specific lines of code.
API versions
Learn how to specify which REST API version to use whenever you make a request.
Authenticating in GitHub Actions
Authenticating with a GitHub App
Authenticating with a personal access token
Base64 encoded public key
Obtain a Base64 encoded public key from the REST API to encrypt secrets.
Billing usage
Use the REST API to get billing usage information.
Breaking changes
Breaking changes are released in a new API version with advance notice.
Budgets
Use the REST API to get budget information.
Bundled and dereferenced formats
Each description is available in a bundled format using $ref or a fully expanded dereferenced format.
Check pull request mergeability
Call GET /repos/{owner}/{repo}/pulls/{pull_number} and poll the mergeable attribute.
Check Runs
An individual test that is part of a check suite, with status and conclusion.
Check Suites
A collection of check runs created by a single GitHub App for a specific commit.
Create blob objects
Post a new blob object with file content and receive a blob SHA.
Create commit objects
Create a commit with the current commit SHA as parent and the new tree SHA.
Create tree objects
Post a tree object with a file path pointer replaced by a new blob SHA.
C# example
Example encrypting a secret using Sodium.Core in C#.
Date-based version descriptions
For products supporting date-based versioning, a description exists for each date-based version.
Endpoints categorized by resource
Each endpoint is documented individually and categorized by the resource it primarily affects, e.g. issues.
Get route stats by actor
Get API request count statistics for an actor broken down by route within a specified time frame.
Get subject stats
Get API request statistics for all subjects within an organization within a specified time frame.
Get summary stats
Get summary statistics for API usage in an organization.
Get time stats
Get API usage statistics over time.
Get user stats
Get API usage statistics for users.
GitHub Actions authentication
Authenticate in GitHub Actions workflows using the built-in GITHUB_TOKEN.
GitHub App authentication
Authenticate using a GitHub App with app ID, private key, and installation ID.
In this article
Instantiating and authenticating
Instantiating without authentication
Libraries for the REST API
A list of libraries to facilitate scripting with the REST API.
libsodium encryption
Encrypt secret values using libsodium before sending via REST API.
Making requests
Node.js example
Example encrypting a secret using libsodium-wrappers in Node.js.
Octokit.js SDK
GitHub-maintained JavaScript SDK for the REST API, works with browsers, Node.js, and Deno.
Octokit.rb SDK
GitHub-maintained Ruby SDK that implements best practices for the REST API.
OpenAPI 3.0 and 3.1 descriptions
GitHub provides both 3.0 and 3.1 OpenAPI descriptions.
OpenAPI description
The GitHub REST API is fully described in an OpenAPI compliant document.
Per-product descriptions
Descriptions exist for GitHub Free/Pro/Team, GitHub Enterprise Cloud, and each GitHub Enterprise Server version.
Pre-determined response structure
Returns data in a pre-determined structure, potentially with more data than requested.
Prerequisites
Python example
Example encrypting a secret using PyNaCl in Python 3.
request method
Use the request method to make REST API requests.
REST endpoint methods
Use rest endpoint methods to make requests to the REST API.
Ruby example
Example encrypting a secret using the RbNaCl gem in Ruby.
Scripting guides
Guides for scripting with the REST API in JavaScript and Ruby.
Scripting with the REST API and Ruby
Standard HTTP verbs
Uses standard HTTP verbs and concepts familiar to many developers.
Status API
Build your own CI system using the Status API.
Supported API versions
Supported versions are 2026-03-10 (end of support not yet scheduled) and 2022-11-28 (March 10, 2028).
Unauthenticated access
Use the REST API without authentication, with a lower rate limit and some endpoints unavailable.
Update branch reference
Update the reference of your branch to point to the new commit SHA.
Using rest endpoint methods to make requests
Using the request method to make requests
Version 2022-11-28
A REST API version documented on the breaking changes page.
Version 2026-03-10
Released Tue, 10 Mar 2026; removes deprecated rate and permission properties and changes SARIF Content-Type.
X-GitHub-Api-Version header
Header used to specify which REST API version a request should use.