Reply to a question on a deal
/deals/{deal_id}/questions/{question_id}/repliesReplies to the question as the token's acting user and returns the reply with a Location. reply is required, up to 5000 characters, and sanitised as HTML. A user_id in the body returns 422 missing. The reply counts as read for its author. Emits deal_question_reply.created, notifies and emails the asker and their team unless they replied, and queues the platform's Q&A event, after commit. Replies can't be deleted.
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, required · DealQuestionReplyCreate
The reply text. It is sanitised as HTML, and returns 422
filledwhen nothing is left.
{
"reply": "We expect an exit within five to seven years."
}Responses
{
"data": {
"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"
}
}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/{question_id}/replies\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"reply": "We expect an exit within five to seven years."
}'