    :operationId
    :deprecated])
 
-(defn transform-operation-object [parent-key data [operation-object-key operation-object-spec]]
-  (let [key (str parent-key "/" (name operation-object-key))
+(defn transform-operation-object [operation-key parent-key data operation-object-spec spec-type]
+  (let [key (str parent-key "/" (name operation-key))
         security-requirements (:security operation-object-spec)
         operation-object-spec (assoc operation-object-spec :securityMd (render-security-requirements-object security-requirements))
         operation-object-spec (assoc operation-object-spec :hasExternalDocs (some? (:externalDocs operation-object-spec)))]
     (-> data
-        (update-in [:swagger-object key] assoc :name (name operation-object-key))
-        (update-in [:swagger-object key] assoc :type :OpenAPI-Operation)
+        (update-in [:swagger-object key] assoc :name (name operation-key))
+        (update-in [:swagger-object key] assoc :type spec-type)
         (update-in [:swagger-object key] assoc :parent parent-key)
         (update-in [:swagger-object key] assoc :description (common/render-resource-strings "templates/operation-object.tpl" operation-object-spec operation-fields))
         (transform-objects transform-parameter-object (:parameters operation-object-spec) key :OpenAPI-Parameter)

        (update-in [:swagger-object key] assoc :type :OpenAPI-Server)
        (update-in [:swagger-object key] assoc :parent parent-key)
        (update-in [:swagger-object key] assoc :description (common/render-resource-strings "templates/server-object.tpl" render-data)))))

(defn transform-servers-object [data spec]
  (reduce




(defn transform-example-object [encoding-key parent-key data example-object-spec spec-type]
  (if-let [ref (:$ref example-object-spec)]
    (-> data
        (update-in [:references] conj {:source-path parent-key :target-path ref}))
    (let [key (str parent-key "/" (name encoding-key))
          example-object-spec (assoc example-object-spec :hasValue (some? (:value example-object-spec)))
          example-object-spec (assoc example-object-spec :hasExternalValue (some? (:externalValue example-object-spec)))]
      (-> data
          (update-in [:swagger-object key] assoc :name (name encoding-key))
          (update-in [:swagger-object key] assoc :type spec-type)
          (update-in [:swagger-object key] assoc :parent parent-key)
          (update-in [:swagger-object key] assoc :description (common/render-resource-strings "templates/example-object.tpl" example-object-spec []))))))
