Skip to content

Report comment API

Product behavior is described in Comments.

ProcedureAccess
report.comment.listAny workspace member
report.comment.createOperator or higher, for comments and signatures
report.comment.deleteEditor or higher for any comment or signature. Operators: only their own non-signature comments created after the latest signature on that preset

The preset’s Add comments and Sign report switches only hide buttons on the report page; the API does not check them. Unsaved temporary presets reject new comments and signatures.

{ "reportPresetId": "$presetId" }

Returns { reportComments, viewerAccountId, authors }. reportComments is ordered by createdAt, then id; digitalSignature is always null here. authors is { accountId, name }[] for user authors whose accounts still exist. Comments by the assistant, the system, or a deleted user have no entry. viewerAccountId is the caller’s account, for example to tell which comments are their own.

The author and timestamps come from the caller; the input has no author field. content is 1–2000 characters. from and to are epoch milliseconds, with from not after to; equal values mark a single moment. parameterId is a parameter of the preset, or null for the whole report.

{
"reportPresetId": "$presetId",
"content": "Spike on channel 1",
"isSignature": false,
"dataRange": {
"parameterId": "$parameterId",
"from": 1710000000000,
"to": 1710086400000
}
}

A signature has isSignature: true and parameterId: null. The report page signs from the first reading of any preset parameter (readings.timeExtent over all parameter IDs of the preset) until now. An API signature with the same range matches the signatures the page creates.

{
"reportPresetId": "$presetId",
"content": "Signed",
"isSignature": true,
"dataRange": {
"parameterId": null,
"from": 1710000000000,
"to": 1710086400000
}
}
{ "id": "$commentId" }