Thanks to REST and Swagger, we can build beautiful apis to feed both our browser front-ends and external applications. But, wrapping your Clojure code into resources mostly for your ClojureScript front-end doesn't feel right? Just use RPC? Meet in the middle? Kekkonen is a small library for managing your (web) apis as commands and queries. No magic, data-driven, un-restful and non-rpc. It's goals are to be small, explicit, extendable and to help enforce your business rules both on the server side and on the ClojureScript frontend. Besides Swagger, it provides run-time context-aware apidocs for Clojure(Script).