as can be seen in this thread: http://forum.piwik.org/read.php?2,128007 the standard method of making API calls is presently broken.
How do you reproduce the issue? the web API request are working on demo eg. http://demo.piwik.org/index.php?module=API&method=Actions.getPageUrls&format=json&idSite=7&period=day&date=today
i only have one API call that i am making outside of piwik (i.e. from my own app's code). i used the format of API request that is suggested in the piwik documentation for PHP. in this example i am passing in:
$request = new Request (' module=API &method=UserCountry.getLocationFromIP &ip=' . $current_IP . ' &format=json &token_auth=' . $piwik_secret );
I think this duplicates https://github.com/piwik/piwik/issues/8311 - please reopen if it's a different issue
this issue has not been fixed for me in 2.14.1. i have run the upgrade and i still see exactly the same fatal errors when running an API call. the 2.14 workaround still changes the fatal error from the 'root container has not been created yet' message to the 'renderer format not valid: 'json'' message. but ultimately the outcome remains - fatal error.