Set the deal's custom status
/deals/{dealId}/custom-statusSets the deal's custom status. status is the id of an org-defined
deal status value (or null to clear); the current status is moved to
previous_status. notify=true dispatches an in-app notification to
the deal's participants and emails the deal's classified-investor
audience (the users holding the deal's classifications, minus its
exclusions) that the status changed. No email is sent while the deal is
a draft. It can be undone by setting the previous status again, and
emits deal.updated in the legacy envelope (data.deal).
Deprecated: it will be withdrawn on 2027-06-30. POST /deals/{id}/actions/set-custom-status replaces it, and every answer
carries a Link header with rel="successor-version" naming it. The
action takes custom_status_id instead of status and returns the
deal.
Path parameters
The deal's public uuid.
Request body
application/json, required
Deal custom-status value id (an org-configured custom status, not a fixed enum), or null to clear.
- Default:
false
{
"status": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
"notify": true
}Responses
{
"data": {
"status": {
"id": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
"label": "Under Offer"
},
"previous_status": {
"id": "2b3c4d5e-6f70-4182-9304-5a6b7c8d9e0f",
"label": "Available"
}
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
Request validation failed (HTTP 422). The body is either the Laravel
validation envelope (message + field-keyed errors) or the API error
envelope for domain rejections (e.g. form_type_not_supported,
folder_locked, parent_not_found, folder_not_empty).
Examples
curl -X PATCH https://your-org-domain/kong/core/api/v2/deals/{dealId}/custom-status\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"status": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
"notify": true
}'