Skip to main content
The REST API is now versioned. For more information, see "About API versioning."

REST API endpoints for Project fields

Use the REST API to manage Project fields

List project fields for organization

List all fields for a specific organization-owned project.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Projects" organization permissions (read)

allows_public_read_access

Parameters for "List project fields for organization"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
project_number integer Required

The project's number.

org string Required

The organization name. The name is not case sensitive.

Query parameters
Name, Type, Description
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default: 30

before string

A cursor, as given in the Link header. If specified, the query only searches for results before this cursor. For more information, see "Using pagination in the REST API."

after string

A cursor, as given in the Link header. If specified, the query only searches for results after this cursor. For more information, see "Using pagination in the REST API."

http_status_code

status_codeDescription
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

code_samples

data_residency_notice

request_example

get/orgs/{org}/projectsV2/{project_number}/fields
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/orgs/ORG/projectsV2/PROJECT_NUMBER/fields

Response

Status: 200
[ { "id": 12345, "node_id": "PVTF_lADOABCD1234567890", "name": "Priority", "data_type": "single_select", "project_url": "https://api.github.com/projects/67890", "options": [ { "id": "option_1", "name": { "html": "Low", "raw": "Low" }, "color": "GREEN", "description": { "html": "Low priority items", "raw": "Low priority items" } }, { "id": "option_2", "name": { "html": "Medium", "raw": "Medium" }, "color": "YELLOW", "description": { "html": "Medium priority items", "raw": "Medium priority items" } }, { "id": "option_3", "name": { "html": "High", "raw": "High" }, "color": "RED", "description": { "html": "High priority items", "raw": "High priority items" } } ], "created_at": "2022-04-28T12:00:00Z", "updated_at": "2022-04-28T12:00:00Z" }, { "id": 67891, "node_id": "PVTF_lADOABCD9876543210", "name": "Status", "data_type": "single_select", "project_url": "https://api.github.com/projects/67890", "options": [ { "id": "option_4", "name": { "html": "Todo", "raw": "Todo" }, "color": "GRAY", "description": { "html": "Items to be worked on", "raw": "Items to be worked on" } }, { "id": "option_5", "name": { "html": "In Progress", "raw": "In Progress" }, "color": "BLUE", "description": { "html": "Items currently being worked on", "raw": "Items currently being worked on" } }, { "id": "option_6", "name": { "html": "Done", "raw": "Done" }, "color": "GREEN", "description": { "html": "Completed items", "raw": "Completed items" } } ], "created_at": "2022-04-29T10:30:00Z", "updated_at": "2022-04-29T10:30:00Z" }, { "id": 24680, "node_id": "PVTF_lADOABCD2468024680", "name": "Team notes", "data_type": "text", "project_url": "https://api.github.com/projects/67890", "created_at": "2022-05-15T08:00:00Z", "updated_at": "2022-05-15T08:00:00Z" }, { "id": 13579, "node_id": "PVTF_lADOABCD1357913579", "name": "Story points", "data_type": "number", "project_url": "https://api.github.com/projects/67890", "created_at": "2022-06-01T14:30:00Z", "updated_at": "2022-06-01T14:30:00Z" }, { "id": 98765, "node_id": "PVTF_lADOABCD9876598765", "name": "Due date", "data_type": "date", "project_url": "https://api.github.com/projects/67890", "created_at": "2022-06-10T09:15:00Z", "updated_at": "2022-06-10T09:15:00Z" }, { "id": 11223, "node_id": "PVTF_lADOABCD1122311223", "name": "Sprint", "data_type": "iteration", "project_url": "https://api.github.com/projects/67890", "configuration": { "duration": 14, "start_day": 1, "iterations": [ { "id": "iter_1", "title": { "html": "Sprint 1", "raw": "Sprint 1" }, "start_date": "2022-07-01", "duration": 14 }, { "id": "iter_2", "title": { "html": "Sprint 2", "raw": "Sprint 2" }, "start_date": "2022-07-15", "duration": 14 } ] }, "created_at": "2022-06-20T16:45:00Z", "updated_at": "2022-06-20T16:45:00Z" } ]

Add a field to an organization-owned project.

Add a field to an organization-owned project.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Projects" organization permissions (write)

allows_public_read_access

Parameters for "Add a field to an organization-owned project."

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
project_number integer Required

The project's number.

org string Required

The organization name. The name is not case sensitive.

Body parameters
Name, Type, Description
issue_field_id integer Required

The ID of the IssueField to create the field for.

name string Required

The name of the field.

data_type string Required

The field's data type.

Value: iteration

single_select_options array of objects

The options available for single select fields. At least one option must be provided when creating a single select field.

Name, Type, Description
name string

The display name of the option.

color string

The color associated with the option.

Can be one of: BLUE, GRAY, GREEN, ORANGE, PINK, PURPLE, RED, YELLOW

description string

The description of the option.

iteration_configuration object Required

The configuration for iteration fields.

Name, Type, Description
start_date string

The start date of the first iteration.

duration integer

The default duration for iterations in days. Individual iterations can override this value.

iterations array of objects

Zero or more iterations for the field.

Name, Type, Description
title string

The title of the iteration.

start_date string

The start date of the iteration.

duration integer

The duration of the iteration in days.

http_status_code

status_codeDescription
201

Response for adding a field to an organization-owned project.

304

Not modified

401

Requires authentication

403

Forbidden

422

Validation failed, or the endpoint has been spammed.

code_samples

data_residency_notice

request_examples

post/orgs/{org}/projectsV2/{project_number}/fields
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/orgs/ORG/projectsV2/PROJECT_NUMBER/fields \ -d '{"name":"Team notes","data_type":"text"}'

Response for adding a field to an organization-owned project.

Status: 201
{ "id": 24680, "node_id": "PVTF_lADOABCD2468024680", "name": "Team notes", "data_type": "text", "project_url": "https://api.github.com/projects/67890", "created_at": "2022-05-15T08:00:00Z", "updated_at": "2022-05-15T08:00:00Z" }

Get project field for organization

Get a specific field for an organization-owned project.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Projects" organization permissions (read)

allows_public_read_access

Parameters for "Get project field for organization"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
project_number integer Required

The project's number.

field_id integer Required

The unique identifier of the field.

org string Required

The organization name. The name is not case sensitive.

http_status_code

status_codeDescription
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

code_samples

data_residency_notice

request_example

get/orgs/{org}/projectsV2/{project_number}/fields/{field_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/orgs/ORG/projectsV2/PROJECT_NUMBER/fields/FIELD_ID

Response

Status: 200
{ "id": 12345, "node_id": "PVTF_lADOABCD1234567890", "name": "Priority", "data_type": "single_select", "project_url": "https://api.github.com/projects/67890", "options": [ { "id": "option_1", "name": { "html": "Low", "raw": "Low" }, "color": "GREEN", "description": { "html": "Low priority items", "raw": "Low priority items" } }, { "id": "option_2", "name": { "html": "Medium", "raw": "Medium" }, "color": "YELLOW", "description": { "html": "Medium priority items", "raw": "Medium priority items" } }, { "id": "option_3", "name": { "html": "High", "raw": "High" }, "color": "RED", "description": { "html": "High priority items", "raw": "High priority items" } } ], "created_at": "2022-04-28T12:00:00Z", "updated_at": "2022-04-28T12:00:00Z" }

List project fields for user

List all fields for a specific user-owned project.

fine_grained_access

no_fine_grained_access

Parameters for "List project fields for user"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
project_number integer Required

The project's number.

username string Required

The handle for the GitHub user account.

Query parameters
Name, Type, Description
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Default: 30

before string

A cursor, as given in the Link header. If specified, the query only searches for results before this cursor. For more information, see "Using pagination in the REST API."

after string

A cursor, as given in the Link header. If specified, the query only searches for results after this cursor. For more information, see "Using pagination in the REST API."

http_status_code

status_codeDescription
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

code_samples

data_residency_notice

request_example

get/users/{username}/projectsV2/{project_number}/fields
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/users/USERNAME/projectsV2/PROJECT_NUMBER/fields

Response

Status: 200
[ { "id": 12345, "node_id": "PVTF_lADOABCD1234567890", "name": "Priority", "data_type": "single_select", "project_url": "https://api.github.com/projects/67890", "options": [ { "id": "option_1", "name": { "html": "Low", "raw": "Low" }, "color": "GREEN", "description": { "html": "Low priority items", "raw": "Low priority items" } }, { "id": "option_2", "name": { "html": "Medium", "raw": "Medium" }, "color": "YELLOW", "description": { "html": "Medium priority items", "raw": "Medium priority items" } }, { "id": "option_3", "name": { "html": "High", "raw": "High" }, "color": "RED", "description": { "html": "High priority items", "raw": "High priority items" } } ], "created_at": "2022-04-28T12:00:00Z", "updated_at": "2022-04-28T12:00:00Z" }, { "id": 67891, "node_id": "PVTF_lADOABCD9876543210", "name": "Status", "data_type": "single_select", "project_url": "https://api.github.com/projects/67890", "options": [ { "id": "option_4", "name": { "html": "Todo", "raw": "Todo" }, "color": "GRAY", "description": { "html": "Items to be worked on", "raw": "Items to be worked on" } }, { "id": "option_5", "name": { "html": "In Progress", "raw": "In Progress" }, "color": "BLUE", "description": { "html": "Items currently being worked on", "raw": "Items currently being worked on" } }, { "id": "option_6", "name": { "html": "Done", "raw": "Done" }, "color": "GREEN", "description": { "html": "Completed items", "raw": "Completed items" } } ], "created_at": "2022-04-29T10:30:00Z", "updated_at": "2022-04-29T10:30:00Z" }, { "id": 24680, "node_id": "PVTF_lADOABCD2468024680", "name": "Team notes", "data_type": "text", "project_url": "https://api.github.com/projects/67890", "created_at": "2022-05-15T08:00:00Z", "updated_at": "2022-05-15T08:00:00Z" }, { "id": 13579, "node_id": "PVTF_lADOABCD1357913579", "name": "Story points", "data_type": "number", "project_url": "https://api.github.com/projects/67890", "created_at": "2022-06-01T14:30:00Z", "updated_at": "2022-06-01T14:30:00Z" }, { "id": 98765, "node_id": "PVTF_lADOABCD9876598765", "name": "Due date", "data_type": "date", "project_url": "https://api.github.com/projects/67890", "created_at": "2022-06-10T09:15:00Z", "updated_at": "2022-06-10T09:15:00Z" }, { "id": 11223, "node_id": "PVTF_lADOABCD1122311223", "name": "Sprint", "data_type": "iteration", "project_url": "https://api.github.com/projects/67890", "configuration": { "duration": 14, "start_day": 1, "iterations": [ { "id": "iter_1", "title": { "html": "Sprint 1", "raw": "Sprint 1" }, "start_date": "2022-07-01", "duration": 14 }, { "id": "iter_2", "title": { "html": "Sprint 2", "raw": "Sprint 2" }, "start_date": "2022-07-15", "duration": 14 } ] }, "created_at": "2022-06-20T16:45:00Z", "updated_at": "2022-06-20T16:45:00Z" } ]

Add field to user owned project

Add a field to a specified user owned project.

fine_grained_access

no_fine_grained_access

Parameters for "Add field to user owned project"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
username string Required

The handle for the GitHub user account.

project_number integer Required

The project's number.

Body parameters
Name, Type, Description
name string Required

The name of the field.

data_type string Required

The field's data type.

Value: iteration

single_select_options array of objects

The options available for single select fields. At least one option must be provided when creating a single select field.

Name, Type, Description
name string

The display name of the option.

color string

The color associated with the option.

Can be one of: BLUE, GRAY, GREEN, ORANGE, PINK, PURPLE, RED, YELLOW

description string

The description of the option.

iteration_configuration object Required

The configuration for iteration fields.

Name, Type, Description
start_date string

The start date of the first iteration.

duration integer

The default duration for iterations in days. Individual iterations can override this value.

iterations array of objects

Zero or more iterations for the field.

Name, Type, Description
title string

The title of the iteration.

start_date string

The start date of the iteration.

duration integer

The duration of the iteration in days.

http_status_code

status_codeDescription
201

Created

304

Not modified

401

Requires authentication

403

Forbidden

422

Validation failed, or the endpoint has been spammed.

code_samples

data_residency_notice

request_examples

post/users/{username}/projectsV2/{project_number}/fields
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/users/USERNAME/projectsV2/PROJECT_NUMBER/fields \ -d '{"name":"Team notes","data_type":"text"}'

Response

Status: 201
{ "id": 24680, "node_id": "PVTF_lADOABCD2468024680", "name": "Team notes", "data_type": "text", "project_url": "https://api.github.com/projects/67890", "created_at": "2022-05-15T08:00:00Z", "updated_at": "2022-05-15T08:00:00Z" }

Get project field for user

Get a specific field for a user-owned project.

fine_grained_access

no_fine_grained_access

Parameters for "Get project field for user"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
project_number integer Required

The project's number.

field_id integer Required

The unique identifier of the field.

username string Required

The handle for the GitHub user account.

http_status_code

status_codeDescription
200

OK

304

Not modified

401

Requires authentication

403

Forbidden

code_samples

data_residency_notice

request_example

get/users/{username}/projectsV2/{project_number}/fields/{field_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/users/USERNAME/projectsV2/PROJECT_NUMBER/fields/FIELD_ID

Response

Status: 200
{ "id": 12345, "node_id": "PVTF_lADOABCD1234567890", "name": "Priority", "data_type": "single_select", "project_url": "https://api.github.com/projects/67890", "options": [ { "id": "option_1", "name": { "html": "Low", "raw": "Low" }, "color": "GREEN", "description": { "html": "Low priority items", "raw": "Low priority items" } }, { "id": "option_2", "name": { "html": "Medium", "raw": "Medium" }, "color": "YELLOW", "description": { "html": "Medium priority items", "raw": "Medium priority items" } }, { "id": "option_3", "name": { "html": "High", "raw": "High" }, "color": "RED", "description": { "html": "High priority items", "raw": "High priority items" } } ], "created_at": "2022-04-28T12:00:00Z", "updated_at": "2022-04-28T12:00:00Z" }