# Comments
Manage ticket comments. Available to all user roles, however user user can see comments for the tickets that they have access to.
# Comment Object
Name | Type | Comment |
---|---|---|
id | integer | The comment unique identifier. |
body | string | Comment text. |
preview | string | The comment preview text. |
type | integer | Comment type. |
private | boolean | true if comment is private, false otherwise. |
created_at | datetime | Comment creation timestamp. |
updated_at | datetime | Comment update timestamp. |
The type
attribute can take one of the following values:
Status | Value |
---|---|
Reply | 1 |
Note | 2 |
# Paginate Comments
GET
/tickets/{ticket_id}/comments
# Request
curl --location --request GET 'https://yoursubdomain.support-hub.io/api/tickets/{ticket_id}/comments' \
--header 'Accept: aplication/json'
# Example Response
{
"data": [
{
"id": 295,
"body": "Random comment body...",
"preview": "Random comment body...",
"type": 1,
"created_at": "2019-09-19 09:06:51",
"updated_at": "2019-09-19 09:06:51",
},
//...
],
"links": {
//...
},
"meta": {
//...
}
}
# Available includes
If provided, the available includes will be part of the response for each ticket object.
user
A user who created the comment.
attachments
An array of attachment objects.
ticket
A ticket to which a comment belongs to.
# Sortable Fields
created_at
# View a Comment
GET
/comments/{id}
# Example Request
curl --location --request GET 'https://yoursubdomain.support-hub.io/api/comments/{id}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
# Example Response
{
"data": {
"id": 295,
"body": "Random comment body...",
"preview": "Random comment body...",
"type": 1,
"created_at": "2019-09-19 09:06:51",
"updated_at": "2019-09-19 09:06:51"
}
}
# Available includes
Same as for when paginating the comments.
# Create a Comment
POST
/tickets/{ticket_id}/comments
# Parameters
Parameter | Type | Required | Validation |
---|---|---|---|
body | string | Yes | Any string/HTML. |
type | enum | Yes | Valid comment type identifier. 1 for Reply and 2 for Note . |
private | boolean | Yes | true if comment should be private, false otherwise. |
close | boolean | No | true if ticket should be closed, false otherwise. It is only taken into consideration if a ticket is not already closed. |
attachments | array | No | A list of attachment ids to be associated with a comment. |
# Headers
Accept | application/json |
Content-Type | application/json |
# Example Request
curl --location --request POST 'https://yoursubdomain.support-hub.io/api/tickets/{ticket_id}/comments' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"body": "Random comment body...",
"type": 1,
"private": true
}'
# Example Response
Status: 201 Created
{
"data": {
"id": 295,
"body": "Random comment body...",
"preview": "Random comment body...",
"type": 1,
"type_text": "Reply",
"created_at": "2019-09-19 09:06:51",
"updated_at": "2019-09-19 09:06:51",
}
}
# Update a Comment
PATCH
/comments/{id}
# Parameters
Parameter | Type | Required | Validation |
---|---|---|---|
body | string | Yes | Any string/HTML. |
# Headers
Accept | application/json |
Content-Type | application/json |
# Example Request
curl --location --request PATCH 'https://yoursubdomain.support-hub.io/api/comments/{id}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"body": "Updated body"
}'
# Example Response
Status: 200 OK
{
"data": {
"id": 295,
"body": "updated body",
"preview": "updated body",
"type": 1,
"type_text": "Reply",
"created_at": "2019-09-19 09:06:51",
"updated_at": "2019-09-20 10:00:51",
}
}
# Delete a Comment
DELETE
/comments/{id}
# Headers
Accept | application/json |
Content-Type | application/json |
# Example Request
curl --location --request DELETE 'https://yoursubdomain.support-hub.io/api/comments/{id}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
# Example Response
Status: 200 OK
{
"success": true
}
# Make Public
PUT
/comments/{id}/privacy
# Headers
Accept | application/json |
Content-Type | application/json |
# Example Request
curl --location --request PUT 'https://yoursubdomain.support-hub.io/api/comments/{id}/privacy' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
# Example Response
Status: 200 OK
{
"success": true
}
# Make Private
DELETE
/comments/{id}/privacy
# Headers
Accept | application/json |
Content-Type | application/json |
# Example Request
curl --location --request DELETE 'https://yoursubdomain.support-hub.io/api/comments/{id}/privacy' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
# Example Response
Status: 200 OK
{
"success": true
}
← Tickets Notifications →