> ## Documentation Index
> Fetch the complete documentation index at: https://replyke-feat-push-rich-payload-fields.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Downvote Comment

> Downvote a comment on behalf of the authenticated user

Downvotes a comment on behalf of the authenticated user. Adds the user's ID to the comment's `downvotes` array. Removes the user from `upvotes` if they had previously upvoted. Reduces the reputation of the comment's author.

## Path Parameters

<ParamField path="commentId" type="string" required>
  The ID of the comment to downvote
</ParamField>

## Response

Returns the updated comment with the new downvote.

<ResponseField name="id" type="string">
  Unique comment identifier
</ResponseField>

<ResponseField name="entityId" type="string">
  ID of the entity this comment belongs to
</ResponseField>

<ResponseField name="upvotes" type="array">
  Array of user IDs who upvoted
</ResponseField>

<ResponseField name="downvotes" type="array">
  Array of user IDs who downvoted (includes the current user)
</ResponseField>

<ResponseField name="content" type="string">
  Comment content
</ResponseField>

## Error Responses

<AccordionGroup>
  <Accordion title="Missing Comment ID - 400 Bad Request">
    ```json theme={null}
    {
      "error": "Missing required data",
      "code": "comment/missing-data"
    }
    ```
  </Accordion>

  <Accordion title="Not Found - 404 Not Found">
    ```json theme={null}
    {
      "error": "Comment not found",
      "code": "comment/not-found"
    }
    ```
  </Accordion>

  <Accordion title="Already Downvoted - 409 Conflict">
    ```json theme={null}
    {
      "error": "User has already downvoted this comment",
      "code": "comment/already-downvoted"
    }
    ```
  </Accordion>

  <Accordion title="Server Error - 500 Internal Server Error">
    ```json theme={null}
    {
      "error": "Internal server error.",
      "code": "comment/server-error",
      "details": "[error message]"
    }
    ```
  </Accordion>
</AccordionGroup>

***

## Notes

* The user's ID is removed from `upvotes` if it was previously added.
* A downvote reduces the comment author's reputation.
* A `409 Conflict` is returned if the user has already downvoted the comment.
