Changes to the upcoming Projects API

To support the release of organization-wide projects, we're making a change to the upcoming Projects API.

New Projects API endpoints

We've added new "List organization projects" and "Create organization project" API endpoints, allowing your app to get all of the projects belonging to a particular organization, or to create new ones.

Changes to existing Projects API endpoints

Previously, the "Get a project" endpoint was scoped to the project's owner. It looked like this:

GET /repos/:owner/:repo/projects/:number

We're changing the "Get a project" endpoint to look like this:

GET /projects/:id

This allows integrators to keep the same URL structure in their API requests whether they're working with a repository project or an organization-wide project.

We're making this same change to every single Projects API endpoint except for the "List repository projects" and "Create repository project" endpoints.

The owner-scoped endpoints (besides those for "List repository projects" and "Create repository project") are now deprecated, so please update your apps to use the new endpoints before November 10, 2016. On this day, we'll be removing these endpoints. Further requests to them after this day will receive 404 responses.

New scope requirements

We've added the public_repo scope as a requirement for accessing projects that belong to a public repository. This is in addition to the existing repo scope requirement for accessing projects that belong to a private repository or an organization.

Here's how this new public_repo scope requirement will affect the Project API endpoints:

  • The new ID-based project API endpoints will require the public_repo scope for projects belonging to public repositories effective immediately.
  • The "List repository projects" and "Create repository project" endpoints will begin requiring the public_repo scope for public repositories on November 10, 2016.
  • The deprecated owner-scoped Project API endpoints won't require the public_repo scope for public repositories, but these endpoints will be removed on November 10, 2016.

To access the Projects API during the preview period, you must provide a custom media type in the Accept header:

application/vnd.github.inertia-preview+json

During the preview period, we may change aspects of these API methods based on developer feedback. If we do, we will announce the changes here on the developer blog, but we will not provide any advance notice.

If you have any questions or feedback, please let us know!