         }
     }
     
+    /**
+    Send POST/PUT request.
+    Send POST request if model is new.
+    Send PUT request if model is not new (has data["id"]).
+    
+    - parameter data    : Request parameters Dictionary. `[:]` by default.
+    - parameter encoding: Parameter encoding. `.JSON` by default.
+    - parameter success : Success handler callback. `nil` by default.
+    - parameter error   : Error handler callback. `nil` by default.
+    */
     func save(data parameters: Dictionary<String, AnyObject> = [:], encoding: ParameterEncoding = .JSON, success: ((response: JSON) -> ())? = nil, error: ((response: JSON) -> ())? = nil) {
         if (self.isNew()) {
             self.request(method: "post", url: self.rootUrl, data: parameters, encoding: encoding, success: success, error: error)

{
    // MARK: - Properties
    
    var rootUrl: String
    var data: JSON
    
    // MARK: - Init
    
    init(rootUrl: String = "", data: Dictionary<String, AnyObject> = [:]) {
        self.rootUrl = rootUrl
        self.data = JSON(data)

    
    // MARK: - Rest API helper methods
    
    /**
    Send GET request.
    
    - parameter data   : Request parameters Dictionary. `[:]` by default.
    - parameter success: Success handler callback. `nil` by default.
    - parameter error  : Error handler callback. `nil` by default.
    */
    func fetch(data parameters: Dictionary<String, AnyObject> = [:], success: ((response: JSON) -> ())? = nil, error: ((response: JSON) -> ())? = nil) {
        if (self.isNew()) {
            self.request(method: "get", url: self.rootUrl, data: parameters, success: success, error: error)
