REST API endpoints for reactions

Use the REST API to interact with reactions on GitHub.

About reactions

You can create and manage reactions to comments, issues, pull requests, and discussions on GitHub. When creating a reaction, the allowed values for the content parameter are as follows (with the corresponding emoji for reference):

Content Emoji
+1 👍
-1 👎
laugh 😄
confused 😕
heart ❤️
hooray 🎉
rocket 🚀
eyes 👀

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.

List reactions for a commit comment

GET /repos/{owner}/{repo}/comments/{comment_id}/reactions

List the reactions to a commit comment.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/comments/COMMENT_ID/reactions

Response schema (Status: 200):

Array of Reaction:

Create reaction for a commit comment

POST /repos/{owner}/{repo}/comments/{comment_id}/reactions

Create a reaction to a commit comment. A response with an HTTP 200 status means that you already added the reaction type to this commit comment.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example 1: Status Code 200

Request:

curl -L \
  -X POST \
  https://api.github.com/repos/OWNER/REPO/comments/COMMENT_ID/reactions \
  -d '{
  "content": "heart"
}'

Response schema (Status: 200):

Example 2: Status Code 201

Request:

curl -L \
  -X POST \
  https://api.github.com/repos/OWNER/REPO/comments/COMMENT_ID/reactions \
  -d '{
  "content": "heart"
}'

Response schema (Status: 201):

Delete a commit comment reaction

DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}

Note

You can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/comments/:comment_id/reactions/:reaction_id.

Delete a reaction to a commit comment.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X DELETE \
  https://api.github.com/repos/OWNER/REPO/comments/COMMENT_ID/reactions/REACTION_ID

Response schema (Status: 204):

List reactions for an issue comment

GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions

List the reactions to an issue comment.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/issues/comments/COMMENT_ID/reactions

Response schema (Status: 200):

Same response schema as List reactions for a commit comment.

Create reaction for an issue comment

POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions

Create a reaction to an issue comment. A response with an HTTP 200 status means that you already added the reaction type to this issue comment.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example 1: Status Code 200

Request:

curl -L \
  -X POST \
  https://api.github.com/repos/OWNER/REPO/issues/comments/COMMENT_ID/reactions \
  -d '{
  "content": "heart"
}'

Response schema (Status: 200):

Same response schema as Create reaction for a commit comment.

Example 2: Status Code 201

Request:

curl -L \
  -X POST \
  https://api.github.com/repos/OWNER/REPO/issues/comments/COMMENT_ID/reactions \
  -d '{
  "content": "heart"
}'

Response schema (Status: 201):

Same response schema as Create reaction for a commit comment.

Delete an issue comment reaction

DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}

Note

You can also specify a repository by repository_id using the route DELETE delete /repositories/:repository_id/issues/comments/:comment_id/reactions/:reaction_id.

Delete a reaction to an issue comment.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X DELETE \
  https://api.github.com/repos/OWNER/REPO/issues/comments/COMMENT_ID/reactions/REACTION_ID

Response schema (Status: 204):

List reactions for an issue

GET /repos/{owner}/{repo}/issues/{issue_number}/reactions

List the reactions to an issue.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/issues/ISSUE_NUMBER/reactions

Response schema (Status: 200):

Same response schema as List reactions for a commit comment.

Create reaction for an issue

POST /repos/{owner}/{repo}/issues/{issue_number}/reactions

Create a reaction to an issue. A response with an HTTP 200 status means that you already added the reaction type to this issue.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example 1: Status Code 200

Request:

curl -L \
  -X POST \
  https://api.github.com/repos/OWNER/REPO/issues/ISSUE_NUMBER/reactions \
  -d '{
  "content": "heart"
}'

Response schema (Status: 200):

Same response schema as Create reaction for a commit comment.

Example 2: Status Code 201

Request:

curl -L \
  -X POST \
  https://api.github.com/repos/OWNER/REPO/issues/ISSUE_NUMBER/reactions \
  -d '{
  "content": "heart"
}'

Response schema (Status: 201):

Same response schema as Create reaction for a commit comment.

Delete an issue reaction

DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}

Note

You can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/issues/:issue_number/reactions/:reaction_id.

Delete a reaction to an issue.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X DELETE \
  https://api.github.com/repos/OWNER/REPO/issues/ISSUE_NUMBER/reactions/REACTION_ID

Response schema (Status: 204):

List reactions for a pull request review comment

GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions

List the reactions to a pull request review comment.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/pulls/comments/COMMENT_ID/reactions

Response schema (Status: 200):

Same response schema as List reactions for a commit comment.

Create reaction for a pull request review comment

POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions

Create a reaction to a pull request review comment. A response with an HTTP 200 status means that you already added the reaction type to this pull request review comment.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example 1: Status Code 200

Request:

curl -L \
  -X POST \
  https://api.github.com/repos/OWNER/REPO/pulls/comments/COMMENT_ID/reactions \
  -d '{
  "content": "heart"
}'

Response schema (Status: 200):

Same response schema as Create reaction for a commit comment.

Example 2: Status Code 201

Request:

curl -L \
  -X POST \
  https://api.github.com/repos/OWNER/REPO/pulls/comments/COMMENT_ID/reactions \
  -d '{
  "content": "heart"
}'

Response schema (Status: 201):

Same response schema as Create reaction for a commit comment.

Delete a pull request comment reaction

DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}

Note

You can also specify a repository by repository_id using the route DELETE /repositories/:repository_id/pulls/comments/:comment_id/reactions/:reaction_id.

Delete a reaction to a pull request review comment.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X DELETE \
  https://api.github.com/repos/OWNER/REPO/pulls/comments/COMMENT_ID/reactions/REACTION_ID

Response schema (Status: 204):

List reactions for a release

GET /repos/{owner}/{repo}/releases/{release_id}/reactions

List the reactions to a release.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/releases/RELEASE_ID/reactions

Response schema (Status: 200):

Same response schema as List reactions for a commit comment.

Create reaction for a release

POST /repos/{owner}/{repo}/releases/{release_id}/reactions

Create a reaction to a release. A response with a Status: 200 OK means that you already added the reaction type to this release.

Parameters

Headers

Path and query parameters

Body parameters

HTTP response status codes

Code examples

Example 1: Status Code 200

Request:

curl -L \
  -X POST \
  https://api.github.com/repos/OWNER/REPO/releases/RELEASE_ID/reactions \
  -d '{
  "content": "heart"
}'

Response schema (Status: 200):

Same response schema as Create reaction for a commit comment.

Example 2: Status Code 201

Request:

curl -L \
  -X POST \
  https://api.github.com/repos/OWNER/REPO/releases/RELEASE_ID/reactions \
  -d '{
  "content": "heart"
}'

Response schema (Status: 201):

Same response schema as Create reaction for a commit comment.

Delete a release reaction

DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}

Note

You can also specify a repository by repository_id using the route DELETE delete /repositories/:repository_id/releases/:release_id/reactions/:reaction_id.

Delete a reaction to a release.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X DELETE \
  https://api.github.com/repos/OWNER/REPO/releases/RELEASE_ID/reactions/REACTION_ID

Response schema (Status: 204):