An API gateway provides a single access point for a set of backend APIs. A client only needs to know how to reach the API gateway rather than each individual service. A gateway can provide shared functionality for the entire set of APIs, such as authentication and authorization, policy enforcement, and data transformation. Using an API gateway pattern offers significant advantages in terms of centralization and control: rate limiting, authentication, auditing, and logging can all be implemented in the gateway.