@adamculp I have been implementing your tutorial with Mezzio. Almost all of it works fine except for HAL. Using Laminas-Router, Mezzio-Hal gives errors like Laminas\Router\Exception\InvalidArgumentException: Missing parameter "id". Specially, after Creating and Updating, it does make changes in DB and after that it gives this error. Here's my attempt.