      - parameter modhash: A modhash, default is blank string not nil.
      - returns: Data task which requests search to reddit.com.
      */
-    public func collapseMessages(fullnames:[String], modhash:String = "", completion:(Result<JSON>) -> Void) throws -> NSURLSessionDataTask {
-        let commaSeparatedFullameString = fullnames.joinWithSeparator(",")
-        guard let request = NSMutableURLRequest.mutableOAuthRequestWithBaseURL(baseURL, path: "", method:"GET", token:token)
-            else { throw ReddiftError.URLError.error }
-        let task = URLSession.dataTaskWithRequest(request, completionHandler: { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
-            self.updateRateLimitWithURLResponse(response)
-            let result = resultFromOptionalError(Response(data: data, urlResponse: response), optionalError:error)
-                .flatMap(response2Data)
-                .flatMap(data2Json)
-            completion(result)
-        })
-        task.resume()
-        return task
-    }
-    
-    /**
-     Uncollapse messages
-     - parameter id: A comma-separated list of thing fullnames
-     - parameter modhash: A modhash, default is blank string not nil.
-     - returns: Data task which requests search to reddit.com.
-     */
     public func uncollapseMessages(fullnames:[String], modhash:String = "", completion:(Result<JSON>) -> Void) throws -> NSURLSessionDataTask {
         let commaSeparatedFullameString = fullnames.joinWithSeparator(",")
-        guard let request = NSMutableURLRequest.mutableOAuthRequestWithBaseURL(baseURL, path: "", method:"GET", token:token)
+        let parameter = ["id":commaSeparatedFullameString]
+        guard let request:NSMutableURLRequest = NSMutableURLRequest.mutableOAuthRequestWithBaseURL(baseURL, path:"/api/uncollapse_message", parameter:parameter, method:"POST", token:token)
             else { throw ReddiftError.URLError.error }
         let task = URLSession.dataTaskWithRequest(request, completionHandler: { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
             self.updateRateLimitWithURLResponse(response)

     - returns: Data task which requests search to reddit.com.
     */
    public func unblockViaInbox(fullname:String, modhash:String = "", completion:(Result<JSON>) -> Void) throws -> NSURLSessionDataTask {
        guard let request = NSMutableURLRequest.mutableOAuthRequestWithBaseURL(baseURL, path: "", method:"GET", token:token)
            else { throw ReddiftError.URLError.error }
        let task = URLSession.dataTaskWithRequest(request, completionHandler: { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
            self.updateRateLimitWithURLResponse(response)

     - returns: Data task which requests search to reddit.com.
     */
    public func blockViaInbox(fullname:String, modhash:String = "", completion:(Result<JSON>) -> Void) throws -> NSURLSessionDataTask {
        let parameter = ["id":fullname]
        guard let request:NSMutableURLRequest = NSMutableURLRequest.mutableOAuthRequestWithBaseURL(baseURL, path:"/api/block", parameter:parameter, method:"POST", token:token)
            else { throw ReddiftError.URLError.error }
        let task = URLSession.dataTaskWithRequest(request, completionHandler: { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
            self.updateRateLimitWithURLResponse(response)
