You’ll probably find numerous links that tell you to delete
/var/lib/puppet/yaml/[fqdn].yaml
in puppetmaster, node or both.
None of those solved my problem.
Upgradeing to puppet-2.7.25 didn’t help either .
On my puppet client, in /var/lib/puppet deleting
rm -fr state/ lib/ facts/ client*
at least let me run puppet again, but next run gives that 400 error again …
note to self: get back to this post when I get time to further debugging this really annoying issue