API Definitions & Swagger

What is swagger & how can I use it to generate an API client?