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!