How would you design a high-level architecture for an API gateway at Interface Ai that handles rate-limiting and user authentication?