Comments
Every application carries one comment thread. It is where a rejection reason lands, where a clerk asks for a missing certificate, and where reviewers talk among themselves.
Add a comment
curl -s -X POST "$BASE/warrants/$WARRANT_ID/comments" \
-H "x-api-key: $API_KEY" \
-H "X-On-Behalf-Of: dr.chen@example.gov" \
-H "Content-Type: application/json" \
-d '{"text": "Attaching the signed physician certificate.", "is_internal": false}'
{
"id": "7e4a1c93-8b6d-42f5-9a08-1d3f5b7c9e21",
"warrant_id": "9d2b6e14-6f1a-4a1c-9c0e-6f5f4b3a2d10",
"text": "Attaching the signed physician certificate.",
"is_internal": false,
"author_name": "Dr. Alex Chen",
"author_role": "PHYSICIAN",
"created_at": "2026-08-19T14:38:02Z"
}
The author is the person in X-On-Behalf-Of, and their name and role are
returned with the comment so a thread can be rendered without a second lookup.
Internal comments
is_internal: true marks a comment as visible to reviewers only. The applicant
never sees it, and it is filtered out of the thread for callers who may not
read internal notes.
Use it for the reasoning behind a decision, and the ordinary thread for anything the applicant needs to act on. A rejection reason is never internal: it is the instruction the applicant works from.
Read the thread
curl -s "$BASE/warrants/$WARRANT_ID/comments" -H "x-api-key: $API_KEY"
Comments come back oldest first, which is the order a person reads a thread in. The same thread is included in the full warrant response, so a single fetch of an application is usually enough.
Mentions
A comment can carry mentions, the agency members it refers to, each with an
id, full_name, and role. Mentioned members are notified. Render them as
links to whatever profile view your client has.
Delete
curl -s -X DELETE "$BASE/warrants/$WARRANT_ID/comments/$COMMENT_ID" \
-H "x-api-key: $API_KEY" \
-H "X-On-Behalf-Of: admin.reyes@example.gov"
The comment is removed from the thread and the deletion is written to the audit trail, including who removed it. Deleting a comment does not erase that it existed.