Skip to main content
Skip to content

REST API endpoints for issue types

Use the REST API to create and manage issue types for the authenticated user.

List issue types

Lists all issue types for the authenticated user. OAuth app tokens and personal access tokens (classic) need the read:user scope to use this endpoint.

Fine-grained access tokens for "List issue types"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Issue Types" user permissions (read)

HTTP response status codes for "List issue types"

Status codeDescription
200

OK

404

Resource not found

Code samples for "List issue types"

Request example

get/user/issue-types
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/user/issue-types

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" }, { "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 an issue type

Creates a new issue type for the authenticated user's personal account.

OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

Fine-grained access tokens for "Create an issue type"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Issue Types" user permissions (write)

Parameters for "Create an issue type"

Headers
Name, Type, Description
accept string

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

Body parameters
Name, Type, Description
name string Required

Name of the issue type.

is_enabled boolean Required

Whether or not the issue type is enabled.

description string or null

Description of the issue type.

color string or null

Color for the issue type.

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

HTTP response status codes for "Create an issue type"

Status codeDescription
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples for "Create an issue type"

Request example

post/user/issue-types
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/user/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 an issue type

Updates an issue type for the authenticated user.

The authenticated user must own the issue type. OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

Fine-grained access tokens for "Update an issue type"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Issue Types" user permissions (write)

Parameters for "Update an issue type"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
issue_type_id integer Required

The unique identifier of the issue type.

Body parameters
Name, Type, Description
name string Required

Name of the issue type.

is_enabled boolean Required

Whether or not the issue type is enabled.

description string or null

Description of the issue type.

color string or null

Color for the issue type.

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

HTTP response status codes for "Update an issue type"

Status codeDescription
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples for "Update an issue type"

Request example

put/user/issue-types/{issue_type_id}
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/user/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 an issue type

Deletes an issue type for the authenticated user.

The authenticated user must own the issue type. OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.

Fine-grained access tokens for "Delete an issue type"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Issue Types" user permissions (write)

Parameters for "Delete an issue type"

Headers
Name, Type, Description
accept string

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

Path parameters
Name, Type, Description
issue_type_id integer Required

The unique identifier of the issue type.

HTTP response status codes for "Delete an issue type"

Status codeDescription
204

No Content

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples for "Delete an issue type"

Request example

delete/user/issue-types/{issue_type_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/user/issue-types/ISSUE_TYPE_ID

Response

Status: 204
⌂ 换网址