             emit(eventData, 'request-response')
   else
     eventData = buildEventDataFromCollection(data.collection, method, refIds)
-    type = types.getSingularType(data.collection)
+    collectionName = camelize(data.collection.rel)
+    type = types.getSingularType(collectionName)
     # is this a valid collection?
     if type and eventData
       eventData.requestId = requestId

    # collection / id from the request URL.
    urlParts = xhr.responseURL.split('/')
    refIds = [parseInt(urlParts[urlParts.length - 1])]
    collection = urlParts[urlParts.length - 2]

    type = types.getSingularType(collection)
    # is this a valid collection?

      emit(eventData, eventName)

  else
    collectionName = camelize(lastUrlPart)
    type = types.getSingularType(collectionName)
    # is this a valid collection?
    if type
      eventData = {
        requestId: requestId,
        method: method,
        collection: collectionName,
        data: data
      }

