300ms?
I recently wrote my very first API servers (from-end, back-end and Redis & RabbitMq in between) using .net Core with very little real world knowledge, and I easily get <100ms responses and I know I’m not following best practices.
The biggest issue you may have, TBH, is going to be your backend database queries which is why I use Redis for caching - the same request coming in over the same n minutes gets served directly from cache by the front-end which is a huge time win for the F5’rs amongst our users.