             if error != nil {
                 callBack(response: response!, account: nil, plaidTransactions: nil, error: error)
             }
-            
+            println(data)
             if let code = data?["code"] as? Int {
                 switch code {
-                case 1206:
+                case 1205:
+                    let accessToken = data!["access_token"] as! String
+                    let userInfo = [NSLocalizedDescriptionKey : "Account Locked",
+                                                "accessToken" : accessToken,
+                             NSLocalizedFailureReasonErrorKey : "Cannot Access Account",
+                        NSLocalizedRecoverySuggestionErrorKey : "Unlock Account"]
+                    let connectionError = NSError(domain: "com.nathanmann.InTheBlack", code: 1205, userInfo: userInfo)
+                    
+                    callBack(response: response!, account: nil, plaidTransactions: nil, error: connectionError)
+                case 1206, 1215:
                     let accessToken = data!["access_token"] as! String
                     let userInfo = [NSLocalizedDescriptionKey : "Download was unsuccessful",
-                                    "accessToken" : data?["access_token"] as! String,
-                                    NSLocalizedFailureReasonErrorKey: "Account not connected",
-                                    NSLocalizedRecoverySuggestionErrorKey : "Recconnect the account"]
+                                                "accessToken" : accessToken,
+                             NSLocalizedFailureReasonErrorKey : "Account not connected",
+                        NSLocalizedRecoverySuggestionErrorKey : "Recconnect the account"]
                     let connectionError = NSError(domain: "com.nathanmann.InTheBlack", code: 1206, userInfo: userInfo)
                     
                     callBack(response: response!, account: nil, plaidTransactions: nil, error: connectionError)

                }
            }
            
            if let transactions = data?["transactions"] as? [[String : AnyObject]] {
                if let accounts = data?["accounts"] as? [[String : AnyObject]] {
                    if let accountData = accounts.first {
                        let plaidTransactions = transactions.map { PlaidTransaction(transaction: $0) }
                        callBack(response: response!, account: PlaidAccount(account: accountData), plaidTransactions: plaidTransactions, error: error)
                    }
                }
            }
            callBack(response: response!, account: nil, plaidTransactions: nil, error: nil)
        }

                       "access_token" : accessToken]
        
        Alamofire.request(.PATCH, PlaidURL.connect, parameters: parameters, encoding: .JSON).responseJSON { (request, response, data, error) in
            println(response)
            println(data)
            println(error)
            callBack(response: response!, data: data as! [String : AnyObject])
        }
    }
    
    
    static func patchSubmitMFAResponse(response: String, accessToken: String, username: String, password: String, callBack: (response: NSHTTPURLResponse, data: [String : AnyObject]) -> ()) {
        let parameters = ["client_id" : clientIDToken,
                             "secret" : secretToken,
//                           "username" : username,
//                           "password" : password,
//                                "pin" : pin,
                       "access_token" : accessToken,
                                "mfa" : response]
        Alamofire.request(.PATCH, PlaidURL.step, parameters: parameters, encoding: .JSON).responseJSON { (request, response, data, error) in
            println(response)
            println(data)
            println(error)
            callBack(response: response!, data: data as! [String : AnyObject])
        }
    }
