refactor: move site api to Handler.API, refactor lots of handlers in that to remove repetition