     :patch (fn [ctx] (access/allow-authors conn org-slug slug (:user ctx)))
     :delete (fn [ctx] (access/allow-authors conn org-slug slug (:user ctx)))})
 
+  :malformed? (by-method {
+    :options false
+    :get (fn [ctx] (let [ctx-params (keywordize-keys (-> ctx :request :params))
+                         start (:start ctx-params)
+                         valid-start? (if start (ts/valid-timestamp? start) true)
+                         direction (keyword (:direction ctx-params))
+                         ;; no direction is OK, but if specified it's from the allowed enumeration of options
+                         valid-direction? (if direction (#{:before :after :around} direction) true)
+                         ;; a specified start/direction must be together or ommitted
+                         pairing-allowed? (or (and start direction)
+                                              (and (not start) (not direction)))]
+                     (not (and valid-start? valid-direction? pairing-allowed?))))
+    :patch false
+    :delete false})
+
   ;; Validations
   :processable? (by-method {
     :options true

  :delete! (fn [ctx] (delete-board conn ctx org-slug slug))
  
  ;; Responses
  :handle-ok (fn [ctx] (let [board (or (:updated-board ctx) (:existing-board ctx))]
                          ;; For drafts board still use the full board
                          (if (= (:slug board) (:slug board-res/default-drafts-board))
                            (let[full-board (assemble-board conn (:existing-org ctx) board ctx)]
                              (board-rep/render-board org-slug full-board (:access-level ctx) nil))
                            ;; Render paginated board for all the rest
                            (let[ctx-params (keywordize-keys (-> ctx :request :params))
                                 start? (if (:start ctx-params) true false) ; flag if a start was specified

                                 direction (or (#{:after :around} (keyword (:direction ctx-params))) :before) ; default is before
                                 params (merge start-params {:direction direction :start? start?})
                                 full-board (assemble-paginated-board conn params board)]
                              (board-rep/render-board org full-board ctx params)))))
  :handle-unprocessable-entity (fn [ctx]
    (api-common/unprocessable-entity-response (schema/check common-res/Board (:board-update ctx)))))

