Multi-Tenancy in APIs: Data Isolation, Routing, and Tenant Context