REST API endpoints for issue types
Use the REST API to interact with issue types in an organization.
List issue types for an organization
Lists all issue types 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 Types" organization permissions (read)
Parameters for "List issue types for an organization"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
org string RequiredThe organization name. The name is not case sensitive. |
http_status_code
| status_code | Description |
|---|---|
200 | OK |
404 | Resource not found |
code_samples
data_residency_notice
request_example
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-typesResponse
Status: 200[
{
"id": 410,
"node_id": "IT_kwDNAd3NAZo",
"name": "Task",
"description": "A specific piece of work",
"created_at": "2024-12-11T14:39:09Z",
"updated_at": "2024-12-11T14:39:09Z"
},
{
"id": 411,
"node_id": "IT_kwDNAd3NAZs",
"name": "Bug",
"description": "An unexpected problem or behavior",
"created_at": "2024-12-11T14:39:09Z",
"updated_at": "2024-12-11T14:39:09Z"
}
]Create issue type for an organization
Create a new issue type for an organization.
You can find out more about issue types in Managing issue types 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 Types" organization permissions (write)
Parameters for "Create issue type for an organization"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
org string RequiredThe organization name. The name is not case sensitive. |
| Name, Type, Description |
|---|
name string RequiredName of the issue type. |
is_enabled boolean RequiredWhether or not the issue type is enabled at the organization level. |
description string or null Description of the issue type. |
color string or null Color for the issue type. Can be one of: |
http_status_code
| status_code | Description |
|---|---|
200 | OK |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
code_samples
data_residency_notice
request_example
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-types \
-d '{"name":"Epic","description":"An issue type for a multi-week tracking of work","is_enabled":true,"color":"green"}'Response
Status: 200{
"id": 410,
"node_id": "IT_kwDNAd3NAZo",
"name": "Task",
"description": "A specific piece of work",
"created_at": "2024-12-11T14:39:09Z",
"updated_at": "2024-12-11T14:39:09Z"
}Update issue type for an organization
Updates an issue type for an organization.
You can find out more about issue types in Managing issue types 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 Types" organization permissions (write)
Parameters for "Update issue type for an organization"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
org string RequiredThe organization name. The name is not case sensitive. |
issue_type_id integer RequiredThe unique identifier of the issue type. |
| Name, Type, Description |
|---|
name string RequiredName of the issue type. |
is_enabled boolean RequiredWhether or not the issue type is enabled at the organization level. |
description string or null Description of the issue type. |
color string or null Color for the issue type. Can be one of: |
http_status_code
| status_code | Description |
|---|---|
200 | OK |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
code_samples
data_residency_notice
request_example
curl -L \
-X PUT \
-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-types/ISSUE_TYPE_ID \
-d '{"name":"Epic","description":"An issue type for a multi-week tracking of work","is_enabled":true,"color":"green"}'Response
Status: 200{
"id": 410,
"node_id": "IT_kwDNAd3NAZo",
"name": "Task",
"description": "A specific piece of work",
"created_at": "2024-12-11T14:39:09Z",
"updated_at": "2024-12-11T14:39:09Z"
}Delete issue type for an organization
Deletes an issue type for an organization.
You can find out more about issue types in Managing issue types 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 Types" organization permissions (write)
Parameters for "Delete issue type for an organization"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
org string RequiredThe organization name. The name is not case sensitive. |
issue_type_id integer RequiredThe unique identifier of the issue type. |
http_status_code
| status_code | Description |
|---|---|
204 | No Content |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
code_samples
data_residency_notice
request_example
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-types/ISSUE_TYPE_IDResponse
Status: 204