This document provides a practical guide to building hypermedia APIs. It discusses hypermedia basics like resources not equating to models and using HTTP methods and status codes. It presents a sample HAL response and describes building server-side controllers, models, and serializers. On the client-side, it discusses using Faraday and integrating with Rails. It lists problems like lack of ids and speed issues. Resources provided include guides on creating hypermedia clients and abusing ActiveModel::Serializers for HAL representation. Useful testing gems are also listed.