Skip to main content
GET
/
:projectId
/
api
/
v7
/
comments
/
:commentId
/
reactions
Fetch Comment Reactions
curl --request GET \
  --url https://api.sublay.io/api/v6/:projectId/api/v7/comments/:commentId/reactions
Returns a paginated list of reactions for a comment, each with the reacting user’s profile. Useful for displaying “reacted by” lists or per-type reaction breakdowns. No authentication required.

Path Parameters

commentId
string
required
The UUID of the comment.

Query Parameters

page
number
default:"1"
Page number (1-indexed).
limit
number
default:"20"
Number of reactions per page. Maximum 100.
reactionType
string
Filter to a specific reaction type. One of: upvote, downvote, like, love, wow, sad, angry, funny. When omitted, all types are returned.
sortDir
string
default:"DESC"
Sort by creation time. ASC or DESC.

Space-scoped reputation

This endpoint has a space in context, so it accepts the opt-in reputation params. They add a spaceReputation field to each reactor’s user, alongside the always-present reputation total. Requires the reputation bundle. See the Reputation data model for the full contract.
spaceReputationId
string
Adds spaceReputation to each returned user. One of: a space <uuid> (that space’s bucket), none (the project-general bucket), or context (the space derived from this request’s context — per-row on lists). The empty string and the legacy general / null aliases are rejected (400). Missing buckets read as 0.
spaceReputationDescendants
boolean
Only honored with an explicit space <uuid>. When true, spaceReputation is the subtree sum — the space plus all of its descendants (the root space’s own bucket included). Ignored for none; not allowed with context.

Response

{
  "data": [
    {
      "id": "uuid",
      "reactionType": "like",
      "userId": "uuid",
      "targetId": "commentId",
      "targetType": "comment",
      "user": {
        "id": "uuid",
        "name": "Alice",
        "username": "alice",
        "avatar": "https://...",
        "reputation": 120
      },
      "createdAt": "2025-01-01T00:00:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 8,
    "totalPages": 1,
    "hasMore": false
  }
}

Error Responses

{ "error": "Comment not found.", "code": "comment/not-found" }