REST API endpoints for Project views

Use the REST API to manage Project views

Note

Most endpoints use Authorization: Bearer <YOUR-TOKEN> and Accept: application/vnd.github+json headers, plus X-GitHub-Api-Version: 2026-03-10. Curl examples below omit these standard headers for brevity.

Create a view for an organization-owned project

POST /orgs/{org}/projectsV2/{project_number}/views

Create a new view in an organization-owned project. Views allow you to customize how items in a project are displayed and filtered.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Create a table view

Request:

curl -L \
  -X POST \
  https://api.github.com/orgs/ORG/projectsV2/PROJECT_NUMBER/views \
  -d '{
  "name": "All Issues",
  "layout": "table",
  "filter": "is:issue",
  "visible_fields": [
    123,
    456,
    789
  ]
}'

Response schema (Status: 201):

Create a board view with filter

Request:

curl -L \
  -X POST \
  https://api.github.com/orgs/ORG/projectsV2/PROJECT_NUMBER/views \
  -d '{
  "name": "Sprint Board",
  "layout": "board",
  "filter": "is:issue is:open label:sprint",
  "visible_fields": [
    123,
    456,
    789
  ]
}'

Response schema (Status: 201):

Create a roadmap view

Request:

curl -L \
  -X POST \
  https://api.github.com/orgs/ORG/projectsV2/PROJECT_NUMBER/views \
  -d '{
  "name": "Product Roadmap",
  "layout": "roadmap"
}'

Response schema (Status: 201):

Create a view for a user-owned project

POST /users/{user_id}/projectsV2/{project_number}/views

Create a new view in a user-owned project. Views allow you to customize how items in a project are displayed and filtered.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Create a table view

Request:

curl -L \
  -X POST \
  https://api.github.com/users/USER_ID/projectsV2/PROJECT_NUMBER/views \
  -d '{
  "name": "All Issues",
  "layout": "table",
  "filter": "is:issue",
  "visible_fields": [
    123,
    456,
    789
  ]
}'

Response schema (Status: 201):

Same response schema as Create a view for an organization-owned project.

Create a board view with filter

Request:

curl -L \
  -X POST \
  https://api.github.com/users/USER_ID/projectsV2/PROJECT_NUMBER/views \
  -d '{
  "name": "Sprint Board",
  "layout": "board",
  "filter": "is:issue is:open label:sprint",
  "visible_fields": [
    123,
    456,
    789
  ]
}'

Response schema (Status: 201):

Same response schema as Create a view for an organization-owned project.

Create a roadmap view

Request:

curl -L \
  -X POST \
  https://api.github.com/users/USER_ID/projectsV2/PROJECT_NUMBER/views \
  -d '{
  "name": "Product Roadmap",
  "layout": "roadmap"
}'

Response schema (Status: 201):

Same response schema as Create a view for an organization-owned project.