Skip to main content

Comments

Comments

Comments that are waiting for moderation are only returned to Collaborators, Administrators and the user who created them.

List Comments

  • Authentication: Optional
GET /api/v1/posts/{number}/comments

Comments are returned newest first.

Parameters

NameTypeDescription
numbernumberRequired. The number of the post to get comments from.

Example

GET <baseURL>/api/v1/posts/47/comments

Response

200 OK
---
[
{
"id": 68,
"content": "Definitely. Just do it!",
"createdAt": "2017-07-26T06:49:03.951383Z",
"user": {
"id": 23,
"name": "Darth Vader",
"role": "visitor",
"avatarURL": "https://feedback.yourcompany.com/static/avatars/letter/23/Darth%20Vader",
"status": "active",
"isTrusted": false
},
"editedAt": "2018-09-29T17:37:59.516909Z",
"editedBy": {
"id": 1,
"name": "Jon Snow",
"role": "administrator",
"avatarURL": "https://feedback.yourcompany.com/static/avatars/letter/1/Jon%20Snow",
"status": "active",
"isTrusted": false
},
"reactionCounts": [
{
"emoji": "👍",
"count": 3,
"includesMe": true
}
],
"isApproved": true
},
{
"id": 67,
"content": "Sounds good, right?",
"createdAt": "2017-07-26T04:15:22.72261Z",
"user": {
"id": 54,
"name": "Michael Jackson",
"role": "visitor",
"avatarURL": "https://feedback.yourcompany.com/static/avatars/letter/54/Michael%20Jackson",
"status": "active",
"isTrusted": false
},
"attachments": ["attachments/6a1b0e2f4c...-screenshot.png"],
"isApproved": true
}
]

editedAt and editedBy are only present on comments that have been edited. attachments (the keys of the attached images) and reactionCounts are only present when the comment has any.

Get a Comment

  • Authentication: Optional
GET /api/v1/posts/{number}/comments/{id}

Parameters

NameTypeDescription
numbernumberRequired. The number of the post.
idnumberRequired. The id of the comment to be retrieved.

Example

GET <baseURL>/api/v1/posts/47/comments/68

Response

This endpoint doesn't return attachments or reactionCounts.

200 OK
---
{
"id": 68,
"content": "Definitely. Just do it!",
"createdAt": "2017-07-26T06:49:03.951383Z",
"user": {
"id": 23,
"name": "Darth Vader",
"role": "visitor",
"avatarURL": "https://feedback.yourcompany.com/static/avatars/letter/23/Darth%20Vader",
"status": "active",
"isTrusted": false
},
"editedAt": "2018-09-29T17:37:59.516909Z",
"editedBy": {
"id": 1,
"name": "Jon Snow",
"role": "administrator",
"avatarURL": "https://feedback.yourcompany.com/static/avatars/letter/1/Jon%20Snow",
"status": "active",
"isTrusted": false
},
"isApproved": true
}

Add a Comment

  • Authentication: Required
POST /api/v1/posts/{number}/comments

Parameters

NameTypeDescription
numbernumberRequired. The number of the post to add the comment.
contentstringRequired. The content of the comment, in Markdown. Maximum 4000 characters.
attachmentsarray of objectUp to 2 images to attach to the comment. See Attachments.

Example

POST <baseURL>/api/v1/posts/47/comments
---
{
"content": "Agreed, we'll soon need to act on this"
}

Response

200 OK
---
{
"id": 5675
}

Edit a Comment

  • Authentication: Required
  • Required Role: Collaborator or Administrator. The author of the comment can also edit it.
PUT /api/v1/posts/{number}/comments/{id}

Parameters

NameTypeDescription
numbernumberRequired. The number of the post that has given comment.
idnumberRequired. The id of the comment to be edited.
contentstringRequired. The new content of the comment, in Markdown. Maximum 4000 characters.
attachmentsarray of objectImages to add or remove. A comment can have up to 2 images. See Attachments.

Example

PUT <baseURL>/api/v1/posts/47/comments/5675
---
{
"content": "Agreed, we need to act on this as soon as possible"
}

Response

200 OK
---
{}

Delete a Comment

  • Authentication: Required
  • Required Role: Collaborator or Administrator. The author of the comment can also delete it.
DELETE /api/v1/posts/{number}/comments/{id}

Parameters

NameTypeDescription
numbernumberRequired. The number of the post that has given comment.
idnumberRequired. The id of the comment to be deleted.

Example

DELETE <baseURL>/api/v1/posts/47/comments/5675

Response

200 OK
---
{}

Toggle a Reaction

  • Authentication: Required

Adds a reaction to a comment on behalf of the authenticated user, or removes it if the user has already reacted with the same emoji.

POST /api/v1/posts/{number}/comments/{id}/reactions/{reaction}

Parameters

NameTypeDescription
numbernumberRequired. The number of the post that has given comment.
idnumberRequired. The id of the comment to react to.
reactionstringRequired. The emoji, URL encoded. Possible values are 👍, 👎, 😄, 🎉, 😕, ❤️, 🚀 and 👀.

Example

POST <baseURL>/api/v1/posts/47/comments/5675/reactions/%F0%9F%91%8D

Response

added is true when the reaction was added and false when it was removed.

200 OK
---
{
"added": true
}

Moderate a Comment

  • Authentication: Required
  • Required Role: Administrator

Approves or declines a comment that is waiting for moderation. Moderation is available on self-hosted instances and on Fider Cloud Pro plans. On other plans these endpoints return 403 Forbidden.

POST /api/v1/admin/moderation/comments/{id}/approve
POST /api/v1/admin/moderation/comments/{id}/approve-and-verify
POST /api/v1/admin/moderation/comments/{id}/decline
POST /api/v1/admin/moderation/comments/{id}/decline-and-block
ActionDescription
approveApproves the comment, making it visible to everyone.
approve-and-verifyApproves the comment and marks its author as trusted, so their future content skips moderation.
declineDeletes the comment.
decline-and-blockDeletes the comment and blocks its author.

Parameters

NameTypeDescription
idnumberRequired. The id of the comment to be moderated.

Example

POST <baseURL>/api/v1/admin/moderation/comments/5675/approve

Response

200 OK
---
{}