     :options true
     :post (fn [ctx] (let [entry-props (:data ctx)]
                       (or (nil? entry-props) ; no updates during publish is fine
-                          (valid-entry-update? conn entry-uuid entry-props (:user ctx)))))})
+                          (valid-entry-update? conn entry-uuid entry-props (:user ctx) true))))})
   :new? false
   :respond-with-entity? true
 

        [false, {:reason (.getMessage e)}])) ; Not a valid new entry
    [false, {:reason "Invalid board."}])) ; couldn't find the specified board

(defn- valid-entry-update? [conn entry-uuid entry-props user]
  (if-let [existing-entry (entry-res/get-entry conn entry-uuid)]
    ;; Merge the existing entry with the new updates
    (let [new-board-slug (:board-slug entry-props) ; check if they are moving the entry

          old-board (when new-board
                      (board-res/get-board conn (:board-uuid existing-entry)))
          new-board-uuid (:uuid new-board)
          without-status-props (dissoc entry-props :status)
          with-status-props (if entry-publish?
                              (assoc without-status-props :status :published)
                              (assoc without-status-props :status (:status existing-entry)))
          props (if new-board-uuid
                  (assoc with-status-props :board-uuid new-board-uuid)
                  (dissoc with-status-props :board-uuid))
          merged-entry (merge existing-entry (entry-res/ignore-props props))
          updated-entry (-> merged-entry
                          (update :attachments #(entry-res/timestamp-attachments %))
