         var modified: Double, created: Double
         var list: Array<JSON>?
         var isActive: Bool
+    }
+    
+    struct File {
+        var fileType: String, fileName: String, fileURL: String, uploadURL: String, data: [String : AnyObject]
     }
     
     /// Initialize the class with the API key

            parameters["email"] = email!
        }
        push(responseHandler, parameters: parameters, url: mURLPushes)
    }
    
    //MARK: Creation

        return Device(ID: ID, pushToken: pushToken, nickname: nickname, manufacturer: manufacturer, model: model, type: type, appVersion: appVersion, active: active, pushable: pushable)
    }
    
    private func parseUploadRequest(value: JSON) -> File {
        var fileName = value["file_name"].stringValue!
        var fileType = value["file_type"].stringValue!
        var fileURL = value["file_url"].stringValue!
        var uploadURL = value["upload_url"].stringValue!
        var data: [String : AnyObject] = [
            "awsaccesskeyid" : value["data"]["awsaccesskeyid"].stringValue!,
            "acl" : value["data"]["acl"].stringValue!,
            "key" : value["data"]["key"].stringValue!,
            "signature" : value["data"]["signature"].stringValue!,
            "policy" : value["data"]["policy"].stringValue!,
            "content-type" : value["data"]["content-type"].stringValue!
        ]
        return File(fileType: fileType, fileName: fileName, fileURL: fileURL, uploadURL: uploadURL, data: data)
    }
    
    private func push(responseHandler: ((NSError?) -> ())?, parameters: [String : AnyObject], url: String) {
        Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON)
            .authenticate(user: mAPIKey, password: mAPIKey)
