Use the REST API to create and manage issue fields for an organization.
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.
GET /orgs/{org}/issue-fields
Lists all issue fields for an organization. OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint.
accept (string)application/vnd.github+json is recommended.org (string) (required)200 - OK
404 - Resource not found
Request:
curl -L \
-X GET \
https://api.github.com/orgs/ORG/issue-fields
Response schema (Status: 200):
Array of Issue Field:
id: required, integernode_id: required, stringname: required, stringdescription: string or nulldata_type: required, string, enum: text, date, single_select, multi_select, numbervisibility: string, enum: organization_members_only, alloptions: array of objects or null:
id: required, integername: required, stringdescription: string or nullcolor: string or null, enum: gray, blue, green, yellow, orange, red, pink, purple, nullpriority: integer or nullcreated_at: string, format: date-timeupdated_at: string, format: date-timecreated_at: string, format: date-timeupdated_at: string, format: date-timePOST /orgs/{org}/issue-fields
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.
accept (string)application/vnd.github+json is recommended.org (string) (required)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, multi_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 select fields. Required when data_type is 'single_select' or 'multi_select'.
name (string) (required)description (string or null)color (string) (required)gray, blue, green, yellow, orange, red, pink, purplepriority (integer) (required)200 - OK
404 - Resource not found
422 - Validation failed, or the endpoint has been spammed.
Request:
curl -L \
-X POST \
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 schema (Status: 200):
id: required, integernode_id: required, stringname: required, stringdescription: string or nulldata_type: required, string, enum: text, date, single_select, multi_select, numbervisibility: string, enum: organization_members_only, alloptions: array of objects or null:
id: required, integername: required, stringdescription: string or nullcolor: string or null, enum: gray, blue, green, yellow, orange, red, pink, purple, nullpriority: integer or nullcreated_at: string, format: date-timeupdated_at: string, format: date-timecreated_at: string, format: date-timeupdated_at: string, format: date-timePATCH /orgs/{org}/issue-fields/{issue_field_id}
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.
accept (string)application/vnd.github+json is recommended.org (string) (required)
The organization name. The name is not case sensitive.
issue_field_id (integer) (required)
The unique identifier of the issue field.
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 select fields. Only applicable when updating single_select or multi_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.
id (integer)name (string) (required)description (string or null)color (string) (required)gray, blue, green, yellow, orange, red, pink, purplepriority (integer) (required)200 - OK
404 - Resource not found
422 - Validation failed, or the endpoint has been spammed.
Request:
curl -L \
-X PATCH \
https://api.github.com/orgs/ORG/issue-fields/ISSUE_FIELD_ID \
-d '{
"name": "Priority",
"description": "Level of importance for the issue"
}'
Response schema (Status: 200):
Same response schema as Create issue field for an organization.
DELETE /orgs/{org}/issue-fields/{issue_field_id}
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.
accept (string)application/vnd.github+json is recommended.org (string) (required)
The organization name. The name is not case sensitive.
issue_field_id (integer) (required)
The unique identifier of the issue field.
204 - A header with no content is returned.
404 - Resource not found
422 - Validation failed, or the endpoint has been spammed.
Request:
curl -L \
-X DELETE \
https://api.github.com/orgs/ORG/issue-fields/ISSUE_FIELD_ID
Response schema (Status: 204):