> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quickblox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Reactions

> Retrieve all reactions for a specific message. <br/> *Added in v2.58.0*

#### Recipes

<AccordionGroup>
  <Accordion title="Get reactions for message">
    <Steps>
      <Step title="1. Specify the message ID">
        Provide the `message_id` of the message whose reactions you want to retrieve.

        ```curl {4} theme={null}
        curl -X GET \
        -H "Content-Type: application/json" \
        -H "QB-Token: eddf864695d72d33b959eec2ae6c640d817dfada" \
        https://api.quickblox.com/chat/Message/5d75626ea28f9a1490cb0f98/reactions
        ```
      </Step>

      <Step title="2. As a result, the API returns a list of reactions.">
        ```curl theme={null}
        curl -X GET \
        -H "Content-Type: application/json" \
        -H "QB-Token: eddf864695d72d33b959eec2ae6c640d817dfada" \
        https://api.quickblox.com/chat/Message/5d75626ea28f9a1490cb0f98/reactions
        ```
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Get reactions for message with API key">
    <Steps>
      <Step title="1. Use 'Authorization' header to pass API key">
        ```curl {2} theme={null}
        curl -X GET \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -H "On-Behalf-Of: 123" \
        https://api.quickblox.com/chat/Message/5d75626ea28f9a1490cb0f98/reactions
        ```
      </Step>

      <Step title="2. Use 'On-Behalf-Of' header to pass user id">
        ```curl {3} theme={null}
        curl -X GET \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -H "On-Behalf-Of: 123" \
        https://api.quickblox.com/chat/Message/5d75626ea28f9a1490cb0f98/reactions
        ```
      </Step>

      <Step title="3. Specify the message ID">
        Provide the `message_id` of the message whose reactions you want to retrieve.

        ```curl {4} theme={null}
        curl -X GET \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -H "On-Behalf-Of: 123" \
        https://api.quickblox.com/chat/Message/5d75626ea28f9a1490cb0f98/reactions
        ```
      </Step>

      <Step title="4. As a result, the API returns a list of reactions.">
        ```curl theme={null}
        curl -X GET \
        -H "Authorization: ApiKey 28irlNAGasWDSupO9Vw0BBMZfuHrAUYKpmroS9yBORI" \
        -H "On-Behalf-Of: 123" \
        https://api.quickblox.com/chat/Message/5d75626ea28f9a1490cb0f98/reactions
        ```
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

#### Path Parameters

<ParamField path="chat_message_id" type="string" required> ID of the message for which to retrieve reactions.</ParamField>

#### Headers

<ParamField header="QB-Token" type="string" required> A user session token. See [Authentication](/reference/authentication) page to learn more about session tokens. Must be used either QB-Token or Authorization. </ParamField>
<ParamField header="Authorization" type="string" default="ApiKey {your_api_key}"> API key from Dashboard. Expected format: `ApiKey {your_api_key}`. Must be used either QB-Token or Authorization.</ParamField>
<ParamField header="On-Behalf-Of" type="string">User ID. The user ID of the user on whose behalf the request is being made.</ParamField>

#### Responses

<AccordionGroup>
  <Accordion title="200">
    200 OK — Successful response

    <ResponseField name="total_entries" type="integer" />

    <ResponseField name="items" type="array of objects">
      <Expandable title="properties">
        <ResponseField name="name" type="string" />

        <ResponseField name="count" type="integer" />

        <ResponseField name="user_ids" type="array of integers" />
      </Expandable>
    </ResponseField>
  </Accordion>

  <Accordion title="400">
    An error response

    <ResponseField name="errors" type="array of strings" />
  </Accordion>

  <Accordion title="404">
    An error response

    <ResponseField name="errors" type="array of strings" />
  </Accordion>
</AccordionGroup>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET \
  -H "Content-Type: application/json" \
  -H "QB-Token: eddf864695d72d33b959eec2ae6c640d817dfada" \
  https://api.quickblox.com/chat/Message/5d75626ea28f9a1490cb0f98/reactions
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "total_entries": 2,
    "items": [
      {
        "name": "like",
        "count": 3,
        "user_ids": [20618, 31841, 51234]
      },
      {
        "name": "love",
        "count": 2,
        "user_ids": [20618, 51234]
      }
    ]
  }
  ```

  ```json 400 theme={null}
  {
    "errors": [
      "Invalid or missing \"message_id\" parameter."
    ]
  }
  ```

  ```json 404 theme={null}
  {
    "errors": [
      "Message not found for the specified user and message ID."
    ]
  }
  ```
</ResponseExample>
