             (utils/clj->json-response {:delete token, :hard-delete hard-delete, :success true}
                                       :headers {"etag" version-hash}))
           (throw (ex-info (str "Token " token " does not exist")
-                          {:status 404 :token token}))))
-      (throw (ex-info "Couldn't find token in request" {:status 400 :token token})))))
+                          {:status 404 :token token :log-level :warn}))))
+      (throw (ex-info "Couldn't find token in request" {:status 400 :token token :log-level :warn})))))
 
 (defn- handle-get-token-request
   "Returns the configuration if found.

            (throw (ex-info "The token should be provided only as a query parameter or in the json payload"
                            {:status 400
                             :token {:json-payload token
                                     :query-parameter token-param}})))
        token (or token token-param)
        new-token-metadata (select-keys new-token-data sd/token-metadata-keys)
        new-user-metadata (select-keys new-token-metadata sd/user-metadata-keys)

                           (disj "token"))]
      (when (not-empty unknown-keys)
        (throw (ex-info (str "Unsupported key(s) in token: " (str (vec unknown-keys)))
                        {:status 400 :token token :log-level :warn}))))
    (when (= authentication "disabled")
      (when (not= permitted-user "*")
        (throw (ex-info (str "Tokens with authentication disabled must specify"
                             " permitted-user as *, instead provided " permitted-user)
                        {:status 400 :token token :log-level :warn})))
      ;; partial tokens not supported when authentication is disabled
      (when-not (sd/required-keys-present? new-service-parameter-template)
        (throw (ex-info "Tokens with authentication disabled must specify all required parameters"
                        {:missing-parameters (->> sd/service-required-keys
                                                  (remove #(contains? new-service-parameter-template %1)) seq)
                         :service-description new-service-parameter-template
                         :status 400
                         :log-level :warn}))))
    (when (and interstitial-secs (not (sd/required-keys-present? new-service-parameter-template)))
      (throw (ex-info (str "Tokens with missing required parameters cannot use interstitial support")
                      {:status 400 :token token :log-level :warn})))
    (case (get request-params "update-mode")
      "admin"
      (do
        (when (and (seq existing-token-metadata) (not version-hash))
          (throw (ex-info "Must specify if-match header for admin mode token updates"
                          {:request-headers headers, :status 400 :log-level :warn})))
        (when-not (authz/administer-token? entitlement-manager authenticated-user token new-token-metadata)
          (throw (ex-info "Cannot administer token"
                          {:status 403
                           :token-metadata new-token-metadata
                           :user authenticated-user
                           :log-level :warn}))))

      nil
      (do
