Create Type-Safe API Clients: A Complete Guide