                      arguments: [String:CustomStringConvertible] = .empty,
                      headers: [String:CustomStringConvertible] = .empty,
                      queries: [String:CustomStringConvertible] = .empty,
-                     auth: Auth = NoAuth.standard) -> Response<R> {
+                     auth: Auth? = nil) -> Response<R> {
         
         return send(using: api, method: .post, at: endpoint, arguments: arguments, headers: headers, queries: queries, auth: auth)
     }

                     arguments: [String:CustomStringConvertible] = .empty,
                     headers: [String:CustomStringConvertible] = .empty,
                     queries: [String:CustomStringConvertible] = .empty,
                     auth: Auth = NoAuth.standard) -> Response<R> {
        
        return api.doRepresentedRequest(with: method, to: endpoint, arguments: arguments, headers: headers, queries: queries, auth: auth, body: self)
    }

                    arguments: [String:CustomStringConvertible] = .empty,
                    headers: [String:CustomStringConvertible] = .empty,
                    queries: [String:CustomStringConvertible] = .empty,
                    auth: Auth? = nil) -> Response<R> {
        
        return send(using: api, method: .put, at: endpoint, arguments: arguments, headers: headers, queries: queries, auth: auth)
    }
