Back to Gitlabhq

Emoji reactions API

doc/api/emoji_reactions.md

18.11.214.5 KB
Original Source

{{< details >}}

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

{{< /details >}}

{{< history >}}

  • Renamed from "award emoji" to "emoji reactions" in GitLab 16.0.

{{< /history >}}

Use this API to manage emoji reactions.

GitLab objects that accept emoji reactions are called awardables. You can react with emoji on the following resources:

Issues, merge requests, and snippets

For information on using these endpoints with comments, see Add reactions to comments.

List all emoji reactions for a resource

{{< history >}}

  • Changed in GitLab 15.1 to allow unauthenticated access to public awardables.

{{< /history >}}

Lists all emoji reactions for a specified issue, snippet, or merge request. This endpoint can be accessed without authentication if the awardable is publicly accessible.

plaintext
GET /projects/:id/issues/:issue_iid/award_emoji
GET /projects/:id/merge_requests/:merge_request_iid/award_emoji
GET /projects/:id/snippets/:snippet_id/award_emoji

Parameters:

AttributeTypeRequiredDescription
idinteger or stringyesID or URL-encoded path of the project.
issue_iid/merge_request_iid/snippet_idintegeryesID (iid for merge requests/issues, id for snippets) of an awardable.

Example request:

shell
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/issues/80/award_emoji"

Example response:

json
[
  {
    "id": 4,
    "name": "1234",
    "user": {
      "name": "Administrator",
      "username": "root",
      "id": 1,
      "state": "active",
      "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
      "web_url": "http://gitlab.example.com/root"
    },
    "created_at": "2016-06-15T10:09:34.206Z",
    "updated_at": "2016-06-15T10:09:34.206Z",
    "awardable_id": 80,
    "awardable_type": "Issue"
  },
  {
    "id": 1,
    "name": "microphone",
    "user": {
      "name": "User 4",
      "username": "user4",
      "id": 26,
      "state": "active",
      "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon",
      "web_url": "http://gitlab.example.com/user4"
    },
    "created_at": "2016-06-15T10:09:34.177Z",
    "updated_at": "2016-06-15T10:09:34.177Z",
    "awardable_id": 80,
    "awardable_type": "Issue"
  }
]

Retrieve an emoji reaction from a resource

{{< history >}}

  • Changed in GitLab 15.1 to allow unauthenticated access to public awardables.

{{< /history >}}

Retrieves a specified emoji reaction from an issue, snippet, or merge request. This endpoint can be accessed without authentication if the awardable is publicly accessible.

plaintext
GET /projects/:id/issues/:issue_iid/award_emoji/:award_id
GET /projects/:id/merge_requests/:merge_request_iid/award_emoji/:award_id
GET /projects/:id/snippets/:snippet_id/award_emoji/:award_id

Parameters:

AttributeTypeRequiredDescription
idinteger or stringyesID or URL-encoded path of the project.
issue_iid/merge_request_iid/snippet_idintegeryesID (iid for merge requests/issues, id for snippets) of an awardable.
award_idintegeryesID of the emoji reaction.

Example request:

shell
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/issues/80/award_emoji/1"

Example response:

json
{
  "id": 1,
  "name": "microphone",
  "user": {
    "name": "User 4",
    "username": "user4",
    "id": 26,
    "state": "active",
    "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon",
    "web_url": "http://gitlab.example.com/user4"
  },
  "created_at": "2016-06-15T10:09:34.177Z",
  "updated_at": "2016-06-15T10:09:34.177Z",
  "awardable_id": 80,
  "awardable_type": "Issue"
}

Add an emoji reaction to a resource

Adds an emoji reaction to an issue, snippet, or merge request.

plaintext
POST /projects/:id/issues/:issue_iid/award_emoji
POST /projects/:id/merge_requests/:merge_request_iid/award_emoji
POST /projects/:id/snippets/:snippet_id/award_emoji

Parameters:

AttributeTypeRequiredDescription
idinteger or stringyesID or URL-encoded path of the project.
issue_iid/merge_request_iid/snippet_idintegeryesID (iid for merge requests/issues, id for snippets) of an awardable.
namestringyesName of the emoji without colons.
shell
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/issues/80/award_emoji?name=blowfish"

Example Response:

json
{
  "id": 344,
  "name": "blowfish",
  "user": {
    "name": "Administrator",
    "username": "root",
    "id": 1,
    "state": "active",
    "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
    "web_url": "http://gitlab.example.com/root"
  },
  "created_at": "2016-06-17T17:47:29.266Z",
  "updated_at": "2016-06-17T17:47:29.266Z",
  "awardable_id": 80,
  "awardable_type": "Issue"
}

Delete an emoji reaction from a resource

Deletes a specified emoji reaction from an issue, snippet, or merge request.

Only an administrator or the author of the reaction can delete an emoji reaction.

plaintext
DELETE /projects/:id/issues/:issue_iid/award_emoji/:award_id
DELETE /projects/:id/merge_requests/:merge_request_iid/award_emoji/:award_id
DELETE /projects/:id/snippets/:snippet_id/award_emoji/:award_id

Parameters:

AttributeTypeRequiredDescription
idinteger or stringyesID or URL-encoded path of the project.
issue_iid/merge_request_iid/snippet_idintegeryesID (iid for merge requests/issues, id for snippets) of an awardable.
award_idintegeryesID of an emoji reaction.
shell
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/issues/80/award_emoji/344"

Add reactions to comments

Comments (also known as notes) are a sub-resource of issues, merge requests, and snippets.

[!note] The examples below describe working with emoji reactions on an issue's comments, but can be adapted to comments on merge requests and snippets. Therefore, you have to replace issue_iid either with merge_request_iid or with the snippet_id.

List all emoji reactions for a comment

{{< history >}}

  • Changed in GitLab 15.1 to allow unauthenticated access to public comments.

{{< /history >}}

Lists all emoji reactions for a specified comment. This endpoint can be accessed without authentication if the comment is publicly accessible.

plaintext
GET /projects/:id/issues/:issue_iid/notes/:note_id/award_emoji

Parameters:

AttributeTypeRequiredDescription
idinteger or stringyesID or URL-encoded path of the project.
issue_iidintegeryesInternal ID of an issue.
note_idintegeryesID of a comment (note).

Example request:

shell
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/issues/80/notes/1/award_emoji"

Example response:

json
[
  {
    "id": 2,
    "name": "mood_bubble_lightning",
    "user": {
      "name": "User 4",
      "username": "user4",
      "id": 26,
      "state": "active",
      "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon",
      "web_url": "http://gitlab.example.com/user4"
    },
    "created_at": "2016-06-15T10:09:34.197Z",
    "updated_at": "2016-06-15T10:09:34.197Z",
    "awardable_id": 1,
    "awardable_type": "Note"
  }
]

Retrieve an emoji reaction from a comment

{{< history >}}

  • Changed in GitLab 15.1 to allow unauthenticated access to public comments.

{{< /history >}}

Retrieves an emoji reaction from a specified comment. This endpoint can be accessed without authentication if the comment is publicly accessible.

plaintext
GET /projects/:id/issues/:issue_iid/notes/:note_id/award_emoji/:award_id

Parameters:

AttributeTypeRequiredDescription
idinteger or stringyesID or URL-encoded path of the project.
issue_iidintegeryesInternal ID of an issue.
note_idintegeryesID of a comment (note).
award_idintegeryesID of the emoji reaction.

Example request:

shell
curl --request GET \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/issues/80/notes/1/award_emoji/2"

Example response:

json
{
  "id": 2,
  "name": "mood_bubble_lightning",
  "user": {
    "name": "User 4",
    "username": "user4",
    "id": 26,
    "state": "active",
    "avatar_url": "http://www.gravatar.com/avatar/7e65550957227bd38fe2d7fbc6fd2f7b?s=80&d=identicon",
    "web_url": "http://gitlab.example.com/user4"
  },
  "created_at": "2016-06-15T10:09:34.197Z",
  "updated_at": "2016-06-15T10:09:34.197Z",
  "awardable_id": 1,
  "awardable_type": "Note"
}

Add an emoji reaction to a comment

Adds an emoji reaction to a specified comment.

plaintext
POST /projects/:id/issues/:issue_iid/notes/:note_id/award_emoji

Parameters:

AttributeTypeRequiredDescription
idinteger or stringyesID or URL-encoded path of the project.
issue_iidintegeryesInternal ID of an issue.
note_idintegeryesID of a comment (note).
namestringyesName of the emoji without colons.

Example request:

shell
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/issues/80/notes/1/award_emoji?name=rocket"

Example response:

json
{
  "id": 345,
  "name": "rocket",
  "user": {
    "name": "Administrator",
    "username": "root",
    "id": 1,
    "state": "active",
    "avatar_url": "http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon",
    "web_url": "http://gitlab.example.com/root"
  },
  "created_at": "2016-06-17T19:59:55.888Z",
  "updated_at": "2016-06-17T19:59:55.888Z",
  "awardable_id": 1,
  "awardable_type": "Note"
}

Delete an emoji reaction from a comment

Deletes an emoji reaction from a specified comment.

Only an administrator or the author of the reaction can delete an emoji reaction.

plaintext
DELETE /projects/:id/issues/:issue_iid/notes/:note_id/award_emoji/:award_id

Parameters:

AttributeTypeRequiredDescription
idinteger or stringyesID or URL-encoded path of the project.
issue_iidintegeryesInternal ID of an issue.
note_idintegeryesID of a comment (note).
award_idintegeryesID of an emoji reaction.

Example request:

shell
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/1/issues/80/award_emoji/345"