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

REST API endpoints for issue fields

Use the REST API to create and manage issue fields for an organization.

List issue fields for an organization

Lists all issue fields for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Issue Fields" organization permissions (read)

Parameters for "List issue fields for an organization"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

http_status_code

status_codeDescription
200

OK

404

Resource not found

code_samples

request_example

get/orgs/{org}/issue-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/issue-fields

Response

Status: 200
[ { "id": 1, "node_id": "IFT_kwDNAd3NAZo", "name": "Text field", "description": "DRI", "data_type": "text", "created_at": "2024-12-11T14:39:09Z", "updated_at": "2024-12-11T14:39:09Z" }, { "id": 2, "node_id": "IFSS_kwDNAd3NAZs", "name": "Priority", "description": "Level of importance", "data_type": "single_select", "options": [ { "id": 1, "name": "High", "color": "red" }, { "id": 2, "name": "Medium", "color": "yellow" }, { "id": 3, "name": "Low", "color": "green" } ], "created_at": "2024-12-11T14:39:09Z", "updated_at": "2024-12-11T14:39:09Z" } ]

Create issue field for an organization

Creates a new issue field for an organization.

You can find out more about issue fields in Managing issue fields in an organization.

To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Issue Fields" organization permissions (write)

Parameters for "Create issue field for an organization"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

Body parameters
Name, Type, Description
name string Required

Name of the issue field.

description string or null

Description of the issue field.

data_type string Required

The data type of the issue field.

Can be one of: text, date, single_select, number

visibility string

The visibility of the issue field. Can be organization_members_only (visible only within the organization) or all (visible to all users who can see issues). Only used when the visibility settings feature is enabled. Defaults to organization_members_only.

Can be one of: organization_members_only, all

options array of objects or null

Options for single select fields. Required when data_type is 'single_select'.

Name, Type, Description
name string Required

Name of the option.

description string or null

Description of the option.

color string Required

Color for the option.

Can be one of: gray, blue, green, yellow, orange, red, pink, purple

priority integer Required

Priority of the option for ordering.

http_status_code

status_codeDescription
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

code_samples

request_example

post/orgs/{org}/issue-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/issue-fields \ -d '{"name":"Priority","description":"Level of importance for the issue","data_type":"single_select","options":[{"name":"High","description":"High priority","color":"red"},{"name":"Medium","description":"Medium priority","color":"yellow"},{"name":"Low","description":"Low priority","color":"green"}]}'

Response

Status: 200
{ "id": 512, "node_id": "IF_kwDNAd3NAZr", "name": "Priority", "description": "Level of importance for the issue", "data_type": "single_select", "options": [ { "id": 1, "name": "High", "description": "High priority", "color": "red", "priority": 1, "created_at": "2025-01-15T10:30:15Z", "updated_at": "2025-01-15T10:30:15Z" }, { "id": 2, "name": "Medium", "description": "Medium priority", "color": "yellow", "priority": 2, "created_at": "2025-01-15T10:30:15Z", "updated_at": "2025-01-15T10:30:15Z" }, { "id": 3, "name": "Low", "description": "Low priority", "color": "green", "priority": 3, "created_at": "2025-01-15T10:30:15Z", "updated_at": "2025-01-15T10:30:15Z" } ], "created_at": "2025-01-15T10:30:15Z", "updated_at": "2025-01-15T10:30:15Z" }

Update issue field for an organization

Updates an issue field for an organization.

You can find out more about issue fields in Managing issue fields in an organization.

To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Issue Fields" organization permissions (write)

Parameters for "Update issue field for an organization"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

issue_field_id integer Required

The unique identifier of the issue field.

Body parameters
Name, Type, Description
name string

Name of the issue field.

description string or null

Description of the issue field.

visibility string

The visibility of the issue field. Can be organization_members_only (visible only within the organization) or all (visible to all users who can see issues). Only used when the visibility settings feature is enabled.

Can be one of: organization_members_only, all

options array of objects

Options for single select fields. Only applicable when updating single_select fields. When provided, this array replaces the entire existing set of options rather than adding to or updating individual options. To retain or update an existing option, include it in the array with its id. Options sent without an id are treated as new options and may cause existing options to be deleted and recreated.

Name, Type, Description
id integer

The id of an existing option to retain or update. Omit this when creating a new option.

name string Required

Name of the option.

description string or null

Description of the option.

color string Required

Color for the option.

Can be one of: gray, blue, green, yellow, orange, red, pink, purple

priority integer Required

Priority of the option for ordering.

http_status_code

status_codeDescription
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

code_samples

request_example

patch/orgs/{org}/issue-fields/{issue_field_id}
curl -L \ -X PATCH \ -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/issue-fields/ISSUE_FIELD_ID \ -d '{"name":"Priority","description":"Level of importance for the issue"}'

Response

Status: 200
{ "id": 512, "node_id": "IF_kwDNAd3NAZr", "name": "Priority", "description": "Level of importance for the issue", "data_type": "single_select", "options": [ { "id": 1, "name": "High", "description": "High priority", "color": "red", "priority": 1, "created_at": "2025-01-15T10:30:15Z", "updated_at": "2025-01-15T10:30:15Z" }, { "id": 2, "name": "Medium", "description": "Medium priority", "color": "yellow", "priority": 2, "created_at": "2025-01-15T10:30:15Z", "updated_at": "2025-01-15T10:30:15Z" }, { "id": 3, "name": "Low", "description": "Low priority", "color": "green", "priority": 3, "created_at": "2025-01-15T10:30:15Z", "updated_at": "2025-01-15T10:30:15Z" } ], "created_at": "2025-01-15T10:30:15Z", "updated_at": "2025-01-15T10:30:15Z" }

Delete issue field for an organization

Deletes an issue field for an organization.

You can find out more about issue fields in Managing issue fields in an organization.

To use this endpoint, the authenticated user must be an administrator for the organization. OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.

fine_grained_access

works_with_fine_grained_tokens:

permission_set:

  • "Issue Fields" organization permissions (write)

Parameters for "Delete issue field for an organization"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

issue_field_id integer Required

The unique identifier of the issue field.

http_status_code

status_codeDescription
204

A header with no content is returned.

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

code_samples

request_example

delete/orgs/{org}/issue-fields/{issue_field_id}
curl -L \ -X DELETE \ -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/issue-fields/ISSUE_FIELD_ID

A header with no content is returned.

Status: 204