   [target message {:keys [project-id project-name key-type]} previous-state current-state]
   (let [uuid frontend.async/*uuid*
         api-ch (get-in current-state [:comms :api])
-        err-ch (get-in current-state [:comms :errors])
-        vcs-type (vcs-url/vcs-type project-id)]
+        err-ch (get-in current-state [:comms :errors])]
     (go (let [api-resp (<! (ajax/managed-ajax
                              :post
-                             (api-path/project-checkout-keys vcs-type project-name)
+                             (gstring/format "/api/v1/project/%s/checkout-key" project-name)
                              :params {:type key-type}))]
           (if (= :success (:status api-resp))
-            (let [api-resp (<! (ajax/managed-ajax :get (api-path/project-checkout-keys vcs-type project-name)))]
+            (let [api-resp (<! (ajax/managed-ajax :get (gstring/format "/api/v1/project/%s/checkout-key" project-name)))]
               (put! api-ch [:project-checkout-key (:status api-resp) (assoc api-resp :context {:project-name project-name})]))
             (put! err-ch [:api-error api-resp]))
           (release-button! uuid (:status api-resp))))))

(defn button-ajax
  "An ajax/ajax wrapper that releases the current managed-button after the API
  request.  Exists to faciliate migration away from stateful-button."
  [method url message channel & opts]
  (let [uuid frontend.async/*uuid*
        c (chan)]
    (apply ajax/ajax method url message c opts)
    (go-loop []
      (when-let [[_ status _ :as event] (<! c)]
        (when (#{:success :failed} status)
          (release-button! uuid status))
        (>! channel event)
        (recur)))))

;; --- Navigation Multimethod Declarations ---


                 :unfollow-project
                 api-ch
                 :params {:vcs-type (:vcs_type repo)}
                 :context {:project-id project-id}
                 :events {:success #(analytics/track {:event-type :project-unfollowed
                                                      :current-state current-state
                                                      :properties {:org org-name
                                                                   :repo repo-name}})})))

(defmethod post-control-event! :stopped-building-project
  [target message {:keys [vcs-url project-id]} previous-state current-state]
