Yes
Server operating system + version
Debian 13 (Trixie)
Server virtualization technology used
KVM
KeyHelp version + build number
26.0 (Build 3618)
Problem description / error messages
When using the KeyHelp REST API (v2) to update a client’s resource_limits or to apply a hosting_plan_id, the API returns a successful HTTP 200 response with {"id": <client_id>}, but the actual client’s resource limits remain unchanged (still the default 1 MiB disk space).
The same issue occurs when trying to update hosting_plan_id – the response indicates success, but the plan is not applied, and resource limits are not recalculated.
Expected result
- Updating resource_limits should immediately change the client’s quotas (e.g., disk_space to 5 368 709 120 bytes).
- Setting hosting_plan_id should apply the corresponding hosting plan and its resources to the client.
- The API returns {"id": 22} but no changes are made.
The client’s resource_limits stay at the default values (disk_space: "1048576").
Even manually applying the plan via the admin panel works, but the API does not.
1. Create a new client using POST /clients (any valid data).
2. Immediately try to update the client’s resource_limits with PUT /clients/{id} and payload:
Code: Select all
{
"resource_limits": {
"disk_space": "5368709120"
}
}4. Also try updating hosting_plan_id to a valid plan ID (e.g., 2) using PUT /clients/{id} with payload:
Code: Select all
{
"hosting_plan_id": 2
}Additional information
- PHP curl extension is installed and active (php -m | grep curl → curl).
Log excerpts from /var/log/keyhelp/php-error.log show no related errors after the attempts (only older errors from April 6 about curl_version() that have been fixed).
The issue is not in the client code – tests performed directly with Insomnia (REST client) show the same behavior.
Manually changing the client’s hosting plan via the KeyHelp web interface works correctly.
KeyHelp option “Ignore resource limits for user accounts” is enabled (but disabling it doesn’t help).