Skip to main content

Enterprise Server 3.21 は、現在リリース候補として使用できます。

REST API はバージョン化されました。 詳細については、「API のバージョン管理について」を参照してください。

ラベル用の REST API エンドポイント

REST API を使用して、リポジトリ、issue、pull request のラベルを管理します。

ラベルについて

REST API を使用してリポジトリのラベルを管理し、issue と pull request に対してラベルの追加と削除を行うことができます。 すべてのPull Requestは Issue ですが、すべての Issue がPull Requestというわけではありません。 このため、担当者、ラベル、マイルストーンの管理など、両機能で "共通する" アクションは Issues エンドポイント内に用意されています。

List labels for an issue

Lists all labels for an issue.

Fine-grained access tokens for "List labels for an issue"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (read)
  • "Pull requests" repository permissions (read)

This endpoint can be used without authentication or the aforementioned permissions if only public resources are requested.

"List labels for an issue" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

issue_number integer 必須

The number that identifies the issue.

クエリ パラメーター
名前, タイプ, 説明
per_page integer

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

デフォルト: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

デフォルト: 1

HTTP response status codes for "List labels for an issue"

Status code説明
200

OK

301

Moved permanently

404

Resource not found

410

Gone

Code samples for "List labels for an issue"

Request example

get/repos/{owner}/{repo}/issues/{issue_number}/labels
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/issues/ISSUE_NUMBER/labels

Response

Status: 200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "New feature or request", "color": "a2eeef", "default": false } ]

Add labels to an issue

Adds labels to an issue.

Fine-grained access tokens for "Add labels to an issue"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (write)
  • "Pull requests" repository permissions (write)

"Add labels to an issue" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

issue_number integer 必須

The number that identifies the issue.

ボディパラメータ
名前, タイプ, 説明
labels array of strings

The names of the labels to add to the issue's existing labels. You can also pass an array of labels directly, but GitHub recommends passing an object with the labels key. To replace all of the labels for an issue, use "Set labels for an issue."

HTTP response status codes for "Add labels to an issue"

Status code説明
200

OK

301

Moved permanently

404

Resource not found

410

Gone

422

Validation failed, or the endpoint has been spammed.

Code samples for "Add labels to an issue"

Request example

post/repos/{owner}/{repo}/issues/{issue_number}/labels
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/issues/ISSUE_NUMBER/labels \ -d '{"labels":["bug","enhancement"]}'

Response

Status: 200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "New feature or request", "color": "a2eeef", "default": false } ]

Set labels for an issue

Removes any previous labels and sets the new labels for an issue.

Fine-grained access tokens for "Set labels for an issue"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (write)
  • "Pull requests" repository permissions (write)

"Set labels for an issue" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

issue_number integer 必須

The number that identifies the issue.

ボディパラメータ
名前, タイプ, 説明
labels array of strings

The names of the labels to set for the issue. The labels you set replace any existing labels. You can pass an empty array to remove all labels. Alternatively, you can pass a single label as a string or an array of labels directly, but GitHub recommends passing an object with the labels key. You can also add labels to the existing labels for an issue. For more information, see "Add labels to an issue."

HTTP response status codes for "Set labels for an issue"

Status code説明
200

OK

301

Moved permanently

404

Resource not found

410

Gone

422

Validation failed, or the endpoint has been spammed.

Code samples for "Set labels for an issue"

Request example

put/repos/{owner}/{repo}/issues/{issue_number}/labels
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/issues/ISSUE_NUMBER/labels \ -d '{"labels":["bug","enhancement"]}'

Response

Status: 200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "New feature or request", "color": "a2eeef", "default": false } ]

Remove all labels from an issue

Removes all labels from an issue.

Fine-grained access tokens for "Remove all labels from an issue"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (write)
  • "Pull requests" repository permissions (write)

"Remove all labels from an issue" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

issue_number integer 必須

The number that identifies the issue.

HTTP response status codes for "Remove all labels from an issue"

Status code説明
204

No Content

301

Moved permanently

404

Resource not found

410

Gone

Code samples for "Remove all labels from an issue"

Request example

delete/repos/{owner}/{repo}/issues/{issue_number}/labels
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/issues/ISSUE_NUMBER/labels

Response

Status: 204

Remove a label from an issue

Removes the specified label from the issue, and returns the remaining labels on the issue. This endpoint returns a 404 Not Found status if the label does not exist.

Fine-grained access tokens for "Remove a label from an issue"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (write)
  • "Pull requests" repository permissions (write)

"Remove a label from an issue" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

issue_number integer 必須

The number that identifies the issue.

name string 必須

HTTP response status codes for "Remove a label from an issue"

Status code説明
200

OK

301

Moved permanently

404

Resource not found

410

Gone

Code samples for "Remove a label from an issue"

Request example

delete/repos/{owner}/{repo}/issues/{issue_number}/labels/{name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/issues/ISSUE_NUMBER/labels/NAME

Response

Status: 200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true } ]

List labels for a repository

Lists all labels for a repository.

Fine-grained access tokens for "List labels for a repository"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (read)
  • "Pull requests" repository permissions (read)

This endpoint can be used without authentication or the aforementioned permissions if only public resources are requested.

"List labels for a repository" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

クエリ パラメーター
名前, タイプ, 説明
per_page integer

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

デフォルト: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

デフォルト: 1

HTTP response status codes for "List labels for a repository"

Status code説明
200

OK

404

Resource not found

Code samples for "List labels for a repository"

Request example

get/repos/{owner}/{repo}/labels
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/labels

Response

Status: 200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "New feature or request", "color": "a2eeef", "default": false } ]

Create a label

Creates a label for the specified repository with the given name and color. The name and color parameters are required. The color must be a valid hexadecimal color code.

Fine-grained access tokens for "Create a label"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (write)
  • "Pull requests" repository permissions (write)

"Create a label" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

ボディパラメータ
名前, タイプ, 説明
name string 必須

The name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing :strawberry: will render the emoji :strawberry:. For a full list of available emoji and codes, see "Emoji cheat sheet."

color string

The hexadecimal color code for the label, without the leading #.

description string

A short description of the label. Must be 100 characters or fewer.

HTTP response status codes for "Create a label"

Status code説明
201

Created

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples for "Create a label"

Request example

post/repos/{owner}/{repo}/labels
curl -L \ -X POST \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/labels \ -d '{"name":"bug","description":"Something isn'\''t working","color":"f29513"}'

Response

Status: 201
{ "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true }

Get a label

Gets a label using the given name.

Fine-grained access tokens for "Get a label"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (read)
  • "Pull requests" repository permissions (read)

This endpoint can be used without authentication or the aforementioned permissions if only public resources are requested.

"Get a label" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

name string 必須

HTTP response status codes for "Get a label"

Status code説明
200

OK

404

Resource not found

Code samples for "Get a label"

Request example

get/repos/{owner}/{repo}/labels/{name}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/labels/NAME

Response

Status: 200
{ "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true }

Update a label

Updates a label using the given label name.

Fine-grained access tokens for "Update a label"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (write)
  • "Pull requests" repository permissions (write)

"Update a label" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

name string 必須
ボディパラメータ
名前, タイプ, 説明
new_name string

The new name of the label. Emoji can be added to label names, using either native emoji or colon-style markup. For example, typing :strawberry: will render the emoji :strawberry:. For a full list of available emoji and codes, see "Emoji cheat sheet."

color string

The hexadecimal color code for the label, without the leading #.

description string

A short description of the label. Must be 100 characters or fewer.

HTTP response status codes for "Update a label"

Status code説明
200

OK

Code samples for "Update a label"

Request example

patch/repos/{owner}/{repo}/labels/{name}
curl -L \ -X PATCH \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/labels/NAME \ -d '{"new_name":"bug :bug:","description":"Small bug fix required","color":"b01f26"}'

Response

Status: 200
{ "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/bug%20:bug:", "name": "bug :bug:", "description": "Small bug fix required", "color": "b01f26", "default": true }

Delete a label

Deletes a label using the given label name.

Fine-grained access tokens for "Delete a label"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (write)
  • "Pull requests" repository permissions (write)

"Delete a label" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

name string 必須

HTTP response status codes for "Delete a label"

Status code説明
204

No Content

Code samples for "Delete a label"

Request example

delete/repos/{owner}/{repo}/labels/{name}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/labels/NAME

Response

Status: 204

List labels for issues in a milestone

Lists labels for issues in a milestone.

Fine-grained access tokens for "List labels for issues in a milestone"

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

The fine-grained token must have at least one of the following permission sets:

  • "Issues" repository permissions (read)
  • "Pull requests" repository permissions (read)

This endpoint can be used without authentication or the aforementioned permissions if only public resources are requested.

"List labels for issues in a milestone" のパラメーター

ヘッダー
名前, タイプ, 説明
accept string

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

パスパラメーター
名前, タイプ, 説明
owner string 必須

The account owner of the repository. The name is not case sensitive.

repo string 必須

The name of the repository without the .git extension. The name is not case sensitive.

milestone_number integer 必須

The number that identifies the milestone.

クエリ パラメーター
名前, タイプ, 説明
per_page integer

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

デフォルト: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

デフォルト: 1

HTTP response status codes for "List labels for issues in a milestone"

Status code説明
200

OK

Code samples for "List labels for issues in a milestone"

Request example

get/repos/{owner}/{repo}/milestones/{milestone_number}/labels
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ http(s)://HOSTNAME/api/v3/repos/OWNER/REPO/milestones/MILESTONE_NUMBER/labels

Response

Status: 200
[ { "id": 208045946, "node_id": "MDU6TGFiZWwyMDgwNDU5NDY=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/bug", "name": "bug", "description": "Something isn't working", "color": "f29513", "default": true }, { "id": 208045947, "node_id": "MDU6TGFiZWwyMDgwNDU5NDc=", "url": "https://HOSTNAME/repos/octocat/Hello-World/labels/enhancement", "name": "enhancement", "description": "New feature or request", "color": "a2eeef", "default": false } ]