                     (let [schema-meta (meta schema)
                           description (or (:description schema-meta)
                                           (:doc schema-meta)
-                                          "Documentation not provided.")]
-                      (assoc-in so (concat paths-key [:responses (str status-code)]) {:description description}))))]
+                                          ;; description is required in the Response Object, so we need some default here.
+                                          "Documentation not provided.")
+                          [so' schema-reference] (to-schema-reference swagger-options so schema)
+                          response (assoc schema-reference
+                                     :description description)]
+                      (assoc-in so' (concat paths-key [:responses status-code]) response))))]
     (reduce reducer swagger-object responses)))
 
 (defn default-path-item-object-injector

            [medley.core :as medley]
            [io.aviso.toolchest.macros :refer [cond-let]]
            [io.aviso.toolchest.collections :refer [pretty-print]]
            [io.aviso.tracker :as t]
            [clojure.tools.logging :as l]
            [io.aviso.rook.utils :as utils])
  (:import [schema.core EnumSchema Maybe]
           [io.aviso.rook.schema IsInstance]))

(defn- remove-nil-vals
  [m]


(defn to-schema-reference
  "Converts a schema to a schema reference; the schema must be named.  Returns a tuple
  of the possibly updated swagger object and a Swagger schema definition (or a \"$ref\" map)."
  [swagger-options swagger-object schema]
  (cond-let
    (or (nil? schema) (= s/Any schema))
    [swagger-object nil]

    (instance? APersistentVector schema)
    (let [[object' item-reference] (to-schema-reference swagger-options swagger-object (first schema))]
      [object' {:type  :array
