How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

GitHub Projects API

The GitHub Projects API enables developers to programmatically create and manage GitHub Projects, which are flexible tools for planning and tracking work using customizable boards, tables, and roadmaps. Through these REST API endpoints, you can create projects at the repository, organization, or user level, add and organize items like issues and pull requests, manage project fields and views, update item statuses and metadata, and automate project workflows.

GitHub Projects API is one of 384 APIs that GitHub publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Projects. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 33 operations across 18 paths, and defines 10 schemas. It is described by OpenAPI 3.0.3, at version 1.1.4.

Requests are made against a single base URL, {protocol}://{hostname}/api/v3.

33 operations 18 paths 10 schemas 6 DELETE14 GET3 PATCH7 POST3 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
1.1.4
Base URL
https://api.github.com/
Authentication
HTTP Bearer
Contact
License
Terms of Service
Resource Areas
1

Authentication & Security 1

GitHub Projects API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerHttpAuthentication).

  • bearerHttpAuthentication — Bearer Token

Paths & Operations 33

Across 18 paths, the API surfaces 33 operations — 6 DELETE, 14 GET, 3 PATCH, 7 POST, 3 PUT. Each is listed below with its method, path, parameters, and response codes.

Projects 33

Interact with GitHub Projects.

GET
/orgs/{org}/projects
GitHub List Organization Projects
projects/list-for-org 4 params → 200422
POST
/orgs/{org}/projects
GitHub Create an Organization Project
projects/create-for-org 1 param body → 201401403404410422
GET
/projects/columns/cards/{card_id}
GitHub Get a Project Card
projects/get-card 1 param → 200304401403404
PATCH
/projects/columns/cards/{card_id}
GitHub Update an Existing Project Card
projects/update-card 1 param body → 200304401403404422
DELETE
/projects/columns/cards/{card_id}
GitHub Delete a Project Card
projects/delete-card 1 param → 204304401403404
POST
/projects/columns/cards/{card_id}/moves
GitHub Move a Project Card
projects/move-card 1 param body → 201304401403422503
GET
/projects/columns/{column_id}
GitHub Get a Project Column
projects/get-column 1 param → 200304401403404
PATCH
/projects/columns/{column_id}
GitHub Update an Existing Project Column
projects/update-column 1 param body → 200304401403
DELETE
/projects/columns/{column_id}
GitHub Delete a Project Column
projects/delete-column 1 param → 204304401403
GET
/projects/columns/{column_id}/cards
GitHub List Project Cards
projects/list-cards 4 params → 200304401403
POST
/projects/columns/{column_id}/cards
GitHub Create a Project Card
projects/create-card 1 param body → 201304401403422503
POST
/projects/columns/{column_id}/moves
GitHub Move a Project Column
projects/move-column 1 param body → 201304401403422
GET
/projects/{project_id}
GitHub Get a Project
projects/get 1 param → 200304401403
PATCH
/projects/{project_id}
GitHub Update a Project
projects/update 1 param body → 200304401403404410422
DELETE
/projects/{project_id}
GitHub Delete a Project
projects/delete 1 param → 204304401403404410
GET
/projects/{project_id}/collaborators
GitHub List Project Collaborators
projects/list-collaborators 4 params → 200304401403404422
PUT
/projects/{project_id}/collaborators/{username}
GitHub Add Project Collaborator
projects/add-collaborator 2 params body → 204304401403404422
DELETE
/projects/{project_id}/collaborators/{username}
GitHub Remove User as a Collaborator
projects/remove-collaborator 2 params → 204304401403404422
GET
/projects/{project_id}/collaborators/{username}/permission
GitHub Get Project Permission for a User
projects/get-permission-for-user 2 params → 200304401403404422
GET
/projects/{project_id}/columns
GitHub List Project Columns
projects/list-columns 3 params → 200304401403
POST
/projects/{project_id}/columns
GitHub Create a Project Column
projects/create-column 1 param body → 201304401403422
GET
/repos/{owner}/{repo}/projects
GitHub List Repository Projects
projects/list-for-repo 5 params → 200401403404410422
POST
/repos/{owner}/{repo}/projects
GitHub Create a Repository Project
projects/create-for-repo 2 params body → 201401403404410422
POST
/user/projects
GitHub Create a User Project
projects/create-for-authenticated-user body → 201304401403422
GET
/users/{username}/projects
GitHub List User Projects
projects/list-for-user 4 params → 200422
GET
/orgs/{org}/teams/{team_slug}/projects
GitHub List Team Projects
listTeamProjects 4 params → 200
GET
/orgs/{org}/teams/{team_slug}/projects/{project_id}
GitHub Check Team Permissions for Project
checkTeamPermissionsForProject 3 params → 200404
PUT
/orgs/{org}/teams/{team_slug}/projects/{project_id}
GitHub Add or Update Team Project Permissions
addOrUpdateTeamProjectPermissions 3 params body → 204403
DELETE
/orgs/{org}/teams/{team_slug}/projects/{project_id}
GitHub Remove Project from Team
removeProjectFromTeam 3 params → 204
GET
/teams/{team_id}/projectsdeprecated
GitHub List Team Projects (legacy)
listTeamProjectsLegacy 3 params → 200404
GET
/teams/{team_id}/projects/{project_id}deprecated
GitHub Check Team Permissions for Project (legacy)
checkTeamPermissionsForProjectLegacy 2 params → 200404
PUT
/teams/{team_id}/projects/{project_id}deprecated
GitHub Add or Update Team Project Permissions (legacy)
addOrUpdateTeamProjectPermissionsLegacy 2 params body → 204403404422
DELETE
/teams/{team_id}/projects/{project_id}deprecated
GitHub Remove Project from Team (legacy)
removeProjectFromTeamLegacy 2 params → 204404422

Schemas 10

The contract defines 10 schemas that model the data the API accepts and returns. The most detailed are nullable-simple-user (21 properties), simple-user (21 properties), team-project (16 properties), project (15 properties). Each schema is shown below with its type and property counts.

nullable-simple-user
object
A GitHub user.
21 properties 18 required
project-collaborator-permission
object
Project Collaborator Permission
2 properties 2 required
basic-error
object
Basic Error
4 properties
project-column
object
Project columns contain cards of work.
8 properties 8 required
validation-error
object
Validation Error
3 properties 2 required
team-project
object
A team's access to a project.
16 properties 14 required
validation-error-simple
object
Validation Error Simple
3 properties 2 required
simple-user
object
A GitHub user.
21 properties 18 required
project-card
object
Project cards represent a scope of work.
13 properties 9 required
project
object
Projects are a way to organize columns and cards of work.
15 properties 13 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

github-projects-api-openapi.yml Raw ↑

Other APIs GitHub publishes across the network.

GitHub Events API
GitHub Feeds API
GitHub Gists API
GitHub Issues API
GitHub Licenses API
GitHub Markdown API
GitHub Meta API
GitHub Notifications API
GitHub Octocat API
GitHub Repos API
GitHub Search API
GitHub User API
Where this information came from

This is an independent, third-party profile of GitHub Projects API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.