Update a custom tab of a deal
/deals/{deal_id}/custom-tabs/{id}Changes the fields you send and returns the tab. body is sanitised as HTML on write. It doesn't change the deal's tab order; send tabs to PATCH /deals/{id} to reorder. A published deal accepts it. dry_run shows the result without saving it. Emits deal_custom_tab.updated and sends no email. Sending the previous values undoes it.
Path parameters
The deal's id, a uuid. An unknown deal, or one the token can't see, returns 404.
The custom tab's id.
Query parameters
Validate and run the call without committing it, returning what the real call would return with
meta.dry_runset.
Request body
application/json, required · DealCustomTabUpdate
The tab title.
The tab content as HTML. It is sanitised on write.
A short description of the tab.
Whether investors see a read more link instead of the whole body.
Whether investors see an estimated reading time.
{
"title": "Market size",
"show_read_more": false
}Responses
{
"data": {
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"title": "string",
"body": "string",
"description": "string",
"show_read_more": true,
"show_reading_time": 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 PATCH https://your-org-domain/kong/core/api/v2/deals/{deal_id}/custom-tabs/{id}\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"title": "Market size",
"show_read_more": false
}'