Fix hook route and require JSON