             deferred: null
             resolved: true          # signal we need to create it
       angular.extend(@$meta, opts)
+      @$error = null
 
       @$id = null
       @_fromObject(data or {})

        headers: req.headers
        params: req.params
        data: req.data
      ).then (response) =>
        res = @_TransformResponse req, response
        item._fromRemote(res.data)
        @_PostResponse res
      item

    ###*

        cache: req.cache
        headers: req.headers
        params: req.params
      ).then ((response) =>
        res = @_transformResponse req, response
        @_fromRemote(res.data)
        @_postResponse res
      ), (response) =>
        @$error = response
        @resolvePromise(@$meta.async.direct.deferred, false)
        @resolvePromise(@$meta.async.m2o.deferred, false)
        @resolvePromise(@$meta.async.m2m.deferred, false)
      @

    # -----------------------------------------------------------------
