API endpoints have their own class