Necro thread sorry.
Had this same issue and found this thread so will post the fix here which I found by following the CORE-1232.
As stated in CORE-1232 "Important to note that this issue does not happen if you specify all parameters to a method". The fix simply to make sure you pass all parameters, for example.
Does not work: $response = $api->post("encryption", "systemEncrypt", array('value' => "my text"));
Does work:
$response = $api->post("encryption", "systemEncrypt", array('value' => "my text", 'key' => "f059...[snip]...895f", 'iv' => "f059b0f...[snip]...80fa3895f"));
For this example, you get your encryption key used in the second two prams from config/blesta.php and put it in which is what it should default to anyway.
I suggest an update to the API documentation to cover that in some instances you have to pass all parameters. On the below API doc, the first two examples should be updated as they don't currently work as they are (or don't for me): https://docs.blesta.com/display/dev/API
Thanks.