Mark the replies to a question as read
/deals/{deal_id}/questions/{id}/actions/mark-readMarks the replies to the question as read for the token's acting user, or only the replies in reply_ids, and returns the question. Ids that are not replies to this question are ignored. Marking read again returns 200 and changes nothing. A user_id returns 422 missing. Works in any state, sends no email and emits no webhook. POST .../actions/mark-unread undoes it. Replaces PATCH .../read-state.
Path parameters
The deal's id, a uuid. An unknown deal, or one the token can't see, returns 404.
The question's id.
Query parameters
Validate and run the call without committing it, returning what the real call would return with
meta.dry_runset.
Headers
Makes a retry safe. Send a new UUID for each new request and reuse it only to retry that request; the first response is replayed for 24 hours.
Request body
application/json, optional · DealQuestionMarkRead
The replies to mark read. Omit it to mark every reply to the question; ids that are not replies to this question are ignored.
{
"reply_ids": [
"3c4d5e6f-7a8b-4c9d-8e1f-2a3b4c5d6e7f"
]
}Responses
{
"data": {
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"deal_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"user_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"team_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"question": "string",
"reply_count": 1,
"replies": [
{
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"deal_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"question_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"user_id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"reply": "string",
"read": true,
"created_at": "2026-06-12T10:00:00+00:00",
"updated_at": "2026-06-12T10:00:00+00:00"
}
],
"unread_reply_count": 1,
"created_at": "2026-06-12T10:00:00+00:00",
"updated_at": "2026-06-12T10:00:00+00:00"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request can't be processed (HTTP 422): validation_failed with one ErrorDetail per
problem, or a code documented on the operation.
Examples
curl -X POST https://your-org-domain/kong/core/api/v2/deals/{deal_id}/questions/{id}/actions/mark-read\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"reply_ids": [
"3c4d5e6f-7a8b-4c9d-8e1f-2a3b4c5d6e7f"
]
}'