Comments
Comments in the BlueSuite REST API
Post and read internal comments on contacts, requests, quotes, jobs, invoices, events, or timesheets. Every request is scoped to the parent entity. A read requires its read scope (for example, jobs:read); creating or deleting a comment requires its write scope.
Comments support replies and mentions. Deletion is a soft delete. There is no public comment-update endpoint. Comments are internal discussion, not a customer message; use Notifications for quote/invoice delivery.
List comments by module_type and module_id. The parent must exist in the authenticated workspace.
GET /api/v1/comments
GET /api/v1/commentsRequired scopes: Determined by the parent entity; see the permissions above..
Query parameters
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
module_type | "contact", "request", "quote", "job", "invoice", "event", "timesheet" | Yes | Parent entity type. |
module_id | integer | Yes | Parent entity ID. |
page | integer | No | Page number, starting at 1. |
per_page | integer | No | Records per page, from 1 to 100. minimum: 1. maximum: 100. |
Response
200 with { "success": true, "data": [...], "pagination": { "page": 1, "per_page": 25, "total_pages": 1 } }.
See response conventions and errors.
POST /api/v1/comments
POST /api/v1/commentsRequired scopes: Determined by the parent entity; see the permissions above..
JSON body
| Field | Type / accepted values | Required | Details |
|---|---|---|---|
module_type | "contact", "request", "quote", "job", "invoice", "event", "timesheet" | Yes | |
module_id | integer | Yes | |
comment | string | Yes | minLength: 1. maxLength: 10000. |
mentioned_user_ids | array of string | No | maxItems: 50. |
reply_to | integer | No |
Unknown body fields are rejected. Conditional requirements are explained above.
Response
201 with { "success": true, "data": ... }. The data contains the result of the operation.
See response conventions and errors.
GET /api/v1/comments/:id
GET /api/v1/comments/:idRequired scopes: Determined by the parent entity; see the permissions above..
Path parameters: id. Use positive integer record IDs from this workspace.
Response
200 with { "success": true, "data": ... }. The data contains the result of the operation.
See response conventions and errors.
DELETE /api/v1/comments/:id
DELETE /api/v1/comments/:idRequired scopes: Determined by the parent entity; see the permissions above..
Path parameters: id. Use positive integer record IDs from this workspace.
No request body.
Response
200 with { "success": true, "data": ... }. The data contains the result of the operation.