Yes you are right, the Kraken account must be funded. I had the same issue the first time calling the API.
Here there is the response from Kraken Support when I had the issue:

Andy (Kraken Support)
Jul 28, 04:51 PDT

Hi Vincenzo,

I'm Andy from Kraken Client Engagement team. Sorry for the late response, our support team has been under heavy load lately.

Balance is not returned for the assets that were never used. Please deposit or buy a small amount of each asset that you want to get via API

Please, let us know if there's anything else we can assist you with. And have a good day!

Regards,

Andy
Kraken Client Engagement