   (facts "about attempting to use the REST API to update an item"
 
     ;; conflicting reserved properties - 422 Unprocessable Entity
-    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i", "id":"foo", "i":"k"}' http://localhost:3000/c/i
-    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i", "version":"foo", "i":"i"}' http://localhost:3000/c/i
-    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i", "collection":"foo", "i":"j"}' http://localhost:3000/c/i
-    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i", "links":"foo", "i":"l"}' http://localhost:3000/c/i
-    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i", "categories":"foo", "i":"l"}' http://localhost:3000/c/i
-    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i", "type":"foo", "i":"l"}' http://localhost:3000/c/i
-    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i", "created-at":"foo", "i":"m"}' http://localhost:3000/c/i
-    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i", "updated-at":"foo", "i":"n"}' http://localhost:3000/c/i
+    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i-prime", "id":"foo", "description": "this is an updated item"}' http://localhost:3000/c/i
+    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i-prime", "version":"foo", "description": "this is an updated item"}' http://localhost:3000/c/i
+    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i-prime", "collection":"foo", "description": "this is an updated item"}' http://localhost:3000/c/i
+    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i-prime", "links":"foo", "description": "this is an updated item"}' http://localhost:3000/c/i
+    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i-prime", "categories":"foo", "description": "this is an updated item"}' http://localhost:3000/c/i
+    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i-prime", "type":"foo", "description": "this is an updated item"}' http://localhost:3000/c/i
+    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i-prime", "created-at":"foo", "description": "this is an updated item"}' http://localhost:3000/c/i
+    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i-prime", "updated-at":"foo", "description": "this is an updated item"}' http://localhost:3000/c/i
     (fact "with a property that conflicts with a reserved property"
       ;; conflicts with each reserved property
       (doseq [keyword-name resource/reserved-properties]

          :Accept (mime-type :item)}
        :body {
          :name "i-prime"
          :i i}})]
        (:status response) => 404
        (response-mime-type response) => (mime-type :text)
        (body-from-response response) => nil)
      ;; check it didn't create another item
      (collection/item-count c) => 2)

    ;; different slug specified in body is already used - 422 Unprocessable Entity
    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i-prime", "slug":"another-i", "i":"i"}' http://localhost:3000/c/i
    (fact "with a slug that's already used in the collection"
      (let [response (api-request :put "/c/i" {
        :headers {

          :collection c
          :slug i
          :name i
          :description "this is an item"
          :version 1}))
      ;; check it didn't create another item
      (collection/item-count c) => 2)

    ;; wrong accept type - 406 Not Acceptable
    ;; curl -i --header "Accept: application/vnd.fcms.collection+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X PUT -d '{"name":"i-prime", "description": "this is an updated item"}' http://localhost:3000/c/i
    (fact "with the wrong accept-header"
      (let [response (api-request :put "/c/i" {
        :headers {
