Update a location of a deal
/deals/{deal_id}/locations/{id}Changes the fields you send and returns the link. A new location_id must be one of your organisation's locations from GET /locations, else 422 exists. A published deal accepts it. dry_run shows the result without saving it. Emits deal_location.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 deal location'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 · DealLocationUpdate
One of your organisation's locations: an id from
GET /locations. Another id returns 422exists.Free text about this location, up to 1500 characters.
{
"details": "Registered office"
}Responses
{
"data": {
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"location_id": 1,
"label": "string",
"details": "string",
"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}/locations/{id}\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"details": "Registered office"
}'