Create an investor preference
/investor-preferencesCreates a preference and the hidden, published form investors answer, and returns it with a Location. A new preference is disabled, with enforcement none and answers editable. name is required, at most 255 characters. Change the rest with PATCH /investor-preferences/{id}. dry_run shows the result without saving it. Emits investor_preference.created; no email. DELETE /investor-preferences/{id} undoes it.
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 · InvestorPreferenceCreate
The preference's name, which is also the name of its form. At most 255 characters.
{
"name": "Quarterly updates"
}Responses
{
"data": {
"id": "4f7c1d2e-8a3b-4c5d-9e6f-0a1b2c3d4e5f",
"name": "Quarterly updates",
"form_id": "9b8a7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"state": "enabled",
"enforcement_type": "popup",
"editable": true,
"created_at": "2026-06-15T10:30:00Z",
"updated_at": "2026-06-15T10:30:00Z"
}
}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/investor-preferences\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"name": "Quarterly updates"
}'