Any particular reason why Yesod isn't a good fit there? Is the team large enough where it makes more sense for you to roll your own and not deal with making it super generic?
Yesod provides a ton of functionality related to the larger problem of building a website with Haskell, but we're only using Haskell for JSON services.
All those extra bells and whistles are wasted on us. :)
Sounds like you need servant, i've found writing pretty minimal web services in it really nice.