Comments
Comments
- List Comments
- Get a Comment
- Add a Comment
- Edit a Comment
- Delete a Comment
- Toggle a Reaction
- Moderate a Comment
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
| Name | Type | Description |
|---|---|---|
number | number | Required. 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
| Name | Type | Description |
|---|---|---|
number | number | Required. The number of the post. |
id | number | Required. 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
| Name | Type | Description |
|---|---|---|
number | number | Required. The number of the post to add the comment. |
content | string | Required. The content of the comment, in Markdown. Maximum 4000 characters. |
attachments | array of object | Up 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
| Name | Type | Description |
|---|---|---|
number | number | Required. The number of the post that has given comment. |
id | number | Required. The id of the comment to be edited. |
content | string | Required. The new content of the comment, in Markdown. Maximum 4000 characters. |
attachments | array of object | Images 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
| Name | Type | Description |
|---|---|---|
number | number | Required. The number of the post that has given comment. |
id | number | Required. 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
| Name | Type | Description |
|---|---|---|
number | number | Required. The number of the post that has given comment. |
id | number | Required. The id of the comment to react to. |
reaction | string | Required. 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
| Action | Description |
|---|---|
approve | Approves the comment, making it visible to everyone. |
approve-and-verify | Approves the comment and marks its author as trusted, so their future content skips moderation. |
decline | Deletes the comment. |
decline-and-block | Deletes the comment and blocks its author. |
Parameters
| Name | Type | Description |
|---|---|---|
id | number | Required. The id of the comment to be moderated. |
Example
POST <baseURL>/api/v1/admin/moderation/comments/5675/approve
Response
200 OK
---
{}