Spike/api hyperagent

https://www.openproject.org/work_packages/8319
https://www.openproject.org/work_packages/11927
nice! I'll move this to the route pre-controller-initialization resolve