=begin
#Docusign eSignature REST API

#The Docusign eSignature REST API provides you with a powerful, convenient, and simple Web services API for interacting with Docusign.

OpenAPI spec version: v2.1
Contact: devcenter@docusign.com
Generated by: https://github.com/swagger-api/swagger-codegen.git

=end

require "uri"

module DocuSign_eSign

  class GetConnectAllUsersOptions
    # 
    attr_accessor :count

    # 
    attr_accessor :domain_users_only

    # 
    attr_accessor :email_substring

    # 
    attr_accessor :start_position

    # 
    attr_accessor :status

    # 
    attr_accessor :user_name_substring

    def self.default
      @@default ||= GetConnectAllUsersOptions.new
    end
  end

  class GetEventLogOptions
    # When true, the connectDebugLog information is included in the response.
    attr_accessor :additional_info

    def self.default
      @@default ||= GetEventLogOptions.new
    end
  end

  class ListEventFailureLogsOptions
    # 
    attr_accessor :from_date

    # 
    attr_accessor :to_date

    def self.default
      @@default ||= ListEventFailureLogsOptions.new
    end
  end

  class ListEventLogsOptions
    # 
    attr_accessor :from_date

    # 
    attr_accessor :to_date

    def self.default
      @@default ||= ListEventLogsOptions.new
    end
  end

  class ListUsersOptions
    # 
    attr_accessor :count

    # 
    attr_accessor :email_substring

    # 
    attr_accessor :list_included_users

    # 
    attr_accessor :start_position

    # 
    attr_accessor :status

    # 
    attr_accessor :user_name_substring

    def self.default
      @@default ||= ListUsersOptions.new
    end
  end


  class ConnectApi
    attr_accessor :api_client

    def initialize(api_client = ConnectApi.default)
      @api_client = api_client
    end

    # Creates a connect configuration for the specified account.
    # Creates a DocuSign Custom Connect definition for your account. DocuSign Connect enables the sending of real-time data updates to external applications. These updates are generated by user transactions as the envelope progresses through actions to completion. The Connect Service provides updated information about the status of these transactions and returns updates that include the actual content of document form fields. Be aware that, these updates might or might not include the document itself. For more information about Connect, see the [ML:DocuSign Connect Service Guide].  ###### Note: Connect must be enabled for your account to use this function. This cannot be used to set up Connect configurations for Salesforce or eOriginal.
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_custom_configuration  (optional parameter)
    # @return [ConnectCustomConfiguration]
    def create_configuration(account_id, connect_custom_configuration)
      data, _status_code, _headers = create_configuration_with_http_info(account_id,  connect_custom_configuration)
      return data
    end

    # Creates a connect configuration for the specified account.
    # Creates a DocuSign Custom Connect definition for your account. DocuSign Connect enables the sending of real-time data updates to external applications. These updates are generated by user transactions as the envelope progresses through actions to completion. The Connect Service provides updated information about the status of these transactions and returns updates that include the actual content of document form fields. Be aware that, these updates might or might not include the document itself. For more information about Connect, see the [ML:DocuSign Connect Service Guide].  ###### Note: Connect must be enabled for your account to use this function. This cannot be used to set up Connect configurations for Salesforce or eOriginal.
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_custom_configuration  (optional parameter)
    # @return [Array<(ConnectCustomConfiguration, Fixnum, Hash)>] ConnectCustomConfiguration data, response status code and response headers
    def create_configuration_with_http_info(account_id, connect_custom_configuration)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.create_configuration ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.create_configuration" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(connect_custom_configuration)
      auth_names = []
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectCustomConfiguration')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#create_configuration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Sets the Connect OAuth Config for the account.
    # 
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_o_auth_config  (optional parameter)
    # @return [ConnectOAuthConfig]
    def create_connect_o_auth_config(account_id, connect_o_auth_config)
      data, _status_code, _headers = create_connect_o_auth_config_with_http_info(account_id,  connect_o_auth_config)
      return data
    end

    # Sets the Connect OAuth Config for the account.
    # 
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_o_auth_config  (optional parameter)
    # @return [Array<(ConnectOAuthConfig, Fixnum, Hash)>] ConnectOAuthConfig data, response status code and response headers
    def create_connect_o_auth_config_with_http_info(account_id, connect_o_auth_config)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.create_connect_o_auth_config ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.create_connect_o_auth_config" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/oauth".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(connect_o_auth_config)
      auth_names = []
      data, status_code, headers = @api_client.call_api(:POST, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectOAuthConfig')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#create_connect_o_auth_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Deletes the specified connect configuration.
    # Deletes the specified DocuSign Connect configuration.  ###### Note: Connect must be enabled for your account to use this function.    
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_id The ID of the custom Connect configuration being accessed.
    # @return [nil]
    def delete_configuration(account_id, connect_id)
      delete_configuration_with_http_info(account_id, connect_id)
      return nil
    end

    # Deletes the specified connect configuration.
    # Deletes the specified DocuSign Connect configuration.  ###### Note: Connect must be enabled for your account to use this function.    
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_id The ID of the custom Connect configuration being accessed.
    # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
    def delete_configuration_with_http_info(account_id, connect_id)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.delete_configuration ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.delete_configuration" if account_id.nil?
      # verify the required parameter 'connect_id' is set
      fail ArgumentError, "Missing the required parameter 'connect_id' when calling ConnectApi.delete_configuration" if connect_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/{connectId}".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s).sub('{' + 'connectId' + '}', connect_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names)
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#delete_configuration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Sets the Connect OAuth Config for the account.
    # 
    # @param account_id The external account number (int) or account ID Guid.
    # @return [nil]
    def delete_connect_o_auth_config(account_id)
      delete_connect_o_auth_config_with_http_info(account_id)
      return nil
    end

    # Sets the Connect OAuth Config for the account.
    # 
    # @param account_id The external account number (int) or account ID Guid.
    # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
    def delete_connect_o_auth_config_with_http_info(account_id)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.delete_connect_o_auth_config ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.delete_connect_o_auth_config" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/oauth".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names)
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#delete_connect_o_auth_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Deletes a Connect failure log entry.
    # Deletes the Connect failure log information for the specified entry.
    # @param account_id The external account number (int) or account ID Guid.
    # @param failure_id The ID of the failed connect log entry.
    # @return [ConnectDeleteFailureResult]
    def delete_event_failure_log(account_id, failure_id)
      data, _status_code, _headers = delete_event_failure_log_with_http_info(account_id, failure_id)
      return data
    end

    # Deletes a Connect failure log entry.
    # Deletes the Connect failure log information for the specified entry.
    # @param account_id The external account number (int) or account ID Guid.
    # @param failure_id The ID of the failed connect log entry.
    # @return [Array<(ConnectDeleteFailureResult, Fixnum, Hash)>] ConnectDeleteFailureResult data, response status code and response headers
    def delete_event_failure_log_with_http_info(account_id, failure_id)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.delete_event_failure_log ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.delete_event_failure_log" if account_id.nil?
      # verify the required parameter 'failure_id' is set
      fail ArgumentError, "Missing the required parameter 'failure_id' when calling ConnectApi.delete_event_failure_log" if failure_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/failures/{failureId}".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s).sub('{' + 'failureId' + '}', failure_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectDeleteFailureResult')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#delete_event_failure_log\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Deletes a specified Connect log entry.
    # Deletes a specified entry from the Connect Log. 
    # @param account_id The external account number (int) or account ID Guid.
    # @param log_id The ID of the connect log entry
    # @return [nil]
    def delete_event_log(account_id, log_id)
      delete_event_log_with_http_info(account_id, log_id)
      return nil
    end

    # Deletes a specified Connect log entry.
    # Deletes a specified entry from the Connect Log. 
    # @param account_id The external account number (int) or account ID Guid.
    # @param log_id The ID of the connect log entry
    # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
    def delete_event_log_with_http_info(account_id, log_id)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.delete_event_log ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.delete_event_log" if account_id.nil?
      # verify the required parameter 'log_id' is set
      fail ArgumentError, "Missing the required parameter 'log_id' when calling ConnectApi.delete_event_log" if log_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/logs/{logId}".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s).sub('{' + 'logId' + '}', log_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names)
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#delete_event_log\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Gets a list of Connect log entries.
    # Retrieves a list of connect log entries for your account.  ###### Note: The `enableLog` property in the Connect configuration must be set to **true** to enable logging. If logging is not enabled, then no log entries are recorded.
    # @param account_id The external account number (int) or account ID Guid.
    # @return [nil]
    def delete_event_logs(account_id)
      delete_event_logs_with_http_info(account_id)
      return nil
    end

    # Gets a list of Connect log entries.
    # Retrieves a list of connect log entries for your account.  ###### Note: The &#x60;enableLog&#x60; property in the Connect configuration must be set to **true** to enable logging. If logging is not enabled, then no log entries are recorded.
    # @param account_id The external account number (int) or account ID Guid.
    # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
    def delete_event_logs_with_http_info(account_id)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.delete_event_logs ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.delete_event_logs" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/logs".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names)
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#delete_event_logs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Reserved
    # Reserved:
    # @param account_id The external account number (int) or account ID Guid.
    # @param mobile_notifier_configuration_information  (optional parameter)
    # @return [MobileNotifierConfigurationInformation]
    def delete_mobile_notifiers(account_id, mobile_notifier_configuration_information)
      data, _status_code, _headers = delete_mobile_notifiers_with_http_info(account_id,  mobile_notifier_configuration_information)
      return data
    end

    # Reserved
    # Reserved:
    # @param account_id The external account number (int) or account ID Guid.
    # @param mobile_notifier_configuration_information  (optional parameter)
    # @return [Array<(MobileNotifierConfigurationInformation, Fixnum, Hash)>] MobileNotifierConfigurationInformation data, response status code and response headers
    def delete_mobile_notifiers_with_http_info(account_id, mobile_notifier_configuration_information)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.delete_mobile_notifiers ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.delete_mobile_notifiers" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/mobile_notifiers".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(mobile_notifier_configuration_information)
      auth_names = []
      data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'MobileNotifierConfigurationInformation')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#delete_mobile_notifiers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Get a Connect Configuration Information
    # Retrieves the information for the specified DocuSign Connect configuration.  ###### Note: Connect must be enabled for your account to use this function. 
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_id The ID of the custom Connect configuration being accessed.
    # @return [ConnectConfigResults]
    def get_configuration(account_id, connect_id)
      data, _status_code, _headers = get_configuration_with_http_info(account_id, connect_id)
      return data
    end

    # Get a Connect Configuration Information
    # Retrieves the information for the specified DocuSign Connect configuration.  ###### Note: Connect must be enabled for your account to use this function. 
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_id The ID of the custom Connect configuration being accessed.
    # @return [Array<(ConnectConfigResults, Fixnum, Hash)>] ConnectConfigResults data, response status code and response headers
    def get_configuration_with_http_info(account_id, connect_id)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.get_configuration ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.get_configuration" if account_id.nil?
      # verify the required parameter 'connect_id' is set
      fail ArgumentError, "Missing the required parameter 'connect_id' when calling ConnectApi.get_configuration" if connect_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/{connectId}".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s).sub('{' + 'connectId' + '}', connect_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectConfigResults')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#get_configuration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Returns all users from the configured Connect service.
    # 
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_id The ID of the custom Connect configuration being accessed.
    # @param DocuSign_eSign::GetConnectAllUsersOptions Options for modifying the behavior of the function.
    # @return [IntegratedConnectUserInfoList]
    def get_connect_all_users(account_id, connect_id, options = DocuSign_eSign::GetConnectAllUsersOptions.default)
      data, _status_code, _headers = get_connect_all_users_with_http_info(account_id, connect_id, options)
      return data
    end

    # Returns all users from the configured Connect service.
    # 
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_id The ID of the custom Connect configuration being accessed.
    # @param DocuSign_eSign::GetConnectAllUsersOptions Options for modifying the behavior of the function.
    # @return [Array<(IntegratedConnectUserInfoList, Fixnum, Hash)>] IntegratedConnectUserInfoList data, response status code and response headers
    def get_connect_all_users_with_http_info(account_id, connect_id, options = DocuSign_eSign::GetConnectAllUsersOptions.default)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.get_connect_all_users ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.get_connect_all_users" if account_id.nil?
      # verify the required parameter 'connect_id' is set
      fail ArgumentError, "Missing the required parameter 'connect_id' when calling ConnectApi.get_connect_all_users" if connect_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/{connectId}/all/users".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s).sub('{' + 'connectId' + '}', connect_id.to_s)

      # query parameters
      query_params = {}
      query_params[:'count'] = options.count if !options.count.nil?
      query_params[:'domain_users_only'] = options.domain_users_only if !options.domain_users_only.nil?
      query_params[:'email_substring'] = options.email_substring if !options.email_substring.nil?
      query_params[:'start_position'] = options.start_position if !options.start_position.nil?
      query_params[:'status'] = options.status if !options.status.nil?
      query_params[:'user_name_substring'] = options.user_name_substring if !options.user_name_substring.nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'IntegratedConnectUserInfoList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#get_connect_all_users\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Sets the Connect OAuth Config for the account.
    # 
    # @param account_id The external account number (int) or account ID Guid.
    # @return [ConnectOAuthConfig]
    def get_connect_o_auth_config(account_id)
      data, _status_code, _headers = get_connect_o_auth_config_with_http_info(account_id)
      return data
    end

    # Sets the Connect OAuth Config for the account.
    # 
    # @param account_id The external account number (int) or account ID Guid.
    # @return [Array<(ConnectOAuthConfig, Fixnum, Hash)>] ConnectOAuthConfig data, response status code and response headers
    def get_connect_o_auth_config_with_http_info(account_id)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.get_connect_o_auth_config ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.get_connect_o_auth_config" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/oauth".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectOAuthConfig')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#get_connect_o_auth_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Get the specified Connect log entry.
    # Retrieves the specified Connect log entry for your account.  ###### Note: The `enableLog` setting in the Connect configuration must be set to true to enable logging. If logging is not enabled, then no log entries are recorded. 
    # @param account_id The external account number (int) or account ID Guid.
    # @param log_id The ID of the connect log entry
    # @param DocuSign_eSign::GetEventLogOptions Options for modifying the behavior of the function.
    # @return [ConnectLog]
    def get_event_log(account_id, log_id, options = DocuSign_eSign::GetEventLogOptions.default)
      data, _status_code, _headers = get_event_log_with_http_info(account_id, log_id, options)
      return data
    end

    # Get the specified Connect log entry.
    # Retrieves the specified Connect log entry for your account.  ###### Note: The &#x60;enableLog&#x60; setting in the Connect configuration must be set to true to enable logging. If logging is not enabled, then no log entries are recorded. 
    # @param account_id The external account number (int) or account ID Guid.
    # @param log_id The ID of the connect log entry
    # @param DocuSign_eSign::GetEventLogOptions Options for modifying the behavior of the function.
    # @return [Array<(ConnectLog, Fixnum, Hash)>] ConnectLog data, response status code and response headers
    def get_event_log_with_http_info(account_id, log_id, options = DocuSign_eSign::GetEventLogOptions.default)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.get_event_log ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.get_event_log" if account_id.nil?
      # verify the required parameter 'log_id' is set
      fail ArgumentError, "Missing the required parameter 'log_id' when calling ConnectApi.get_event_log" if log_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/logs/{logId}".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s).sub('{' + 'logId' + '}', log_id.to_s)

      # query parameters
      query_params = {}
      query_params[:'additional_info'] = options.additional_info if !options.additional_info.nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectLog')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#get_event_log\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Get Connect Configuration Information
    # Retrieves all the DocuSign Custom Connect definitions for the specified account.  ###### Note: Connect must be enabled for your account to use this function. This does not retrieve information for Connect configurations for Box, eOriginal, or Salesforce.
    # @param account_id The external account number (int) or account ID Guid.
    # @return [ConnectConfigResults]
    def list_configurations(account_id)
      data, _status_code, _headers = list_configurations_with_http_info(account_id)
      return data
    end

    # Get Connect Configuration Information
    # Retrieves all the DocuSign Custom Connect definitions for the specified account.  ###### Note: Connect must be enabled for your account to use this function. This does not retrieve information for Connect configurations for Box, eOriginal, or Salesforce.
    # @param account_id The external account number (int) or account ID Guid.
    # @return [Array<(ConnectConfigResults, Fixnum, Hash)>] ConnectConfigResults data, response status code and response headers
    def list_configurations_with_http_info(account_id)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.list_configurations ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.list_configurations" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectConfigResults')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#list_configurations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Gets the Connect failure log information.
    # Retrieves the Connect Failure Log information. It can be used to determine which envelopes failed to post, so a republish request can be created.
    # @param account_id The external account number (int) or account ID Guid.
    # @param DocuSign_eSign::ListEventFailureLogsOptions Options for modifying the behavior of the function.
    # @return [ConnectLogs]
    def list_event_failure_logs(account_id, options = DocuSign_eSign::ListEventFailureLogsOptions.default)
      data, _status_code, _headers = list_event_failure_logs_with_http_info(account_id, options)
      return data
    end

    # Gets the Connect failure log information.
    # Retrieves the Connect Failure Log information. It can be used to determine which envelopes failed to post, so a republish request can be created.
    # @param account_id The external account number (int) or account ID Guid.
    # @param DocuSign_eSign::ListEventFailureLogsOptions Options for modifying the behavior of the function.
    # @return [Array<(ConnectLogs, Fixnum, Hash)>] ConnectLogs data, response status code and response headers
    def list_event_failure_logs_with_http_info(account_id, options = DocuSign_eSign::ListEventFailureLogsOptions.default)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.list_event_failure_logs ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.list_event_failure_logs" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/failures".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}
      query_params[:'from_date'] = options.from_date if !options.from_date.nil?
      query_params[:'to_date'] = options.to_date if !options.to_date.nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectLogs')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#list_event_failure_logs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Gets the Connect log.
    # Retrieves a list of connect log entries for your account.  ###### Note: The `enableLog` setting in the Connect configuration must be set to true to enable logging. If logging is not enabled, then no log entries are recorded. 
    # @param account_id The external account number (int) or account ID Guid.
    # @param DocuSign_eSign::ListEventLogsOptions Options for modifying the behavior of the function.
    # @return [ConnectLogs]
    def list_event_logs(account_id, options = DocuSign_eSign::ListEventLogsOptions.default)
      data, _status_code, _headers = list_event_logs_with_http_info(account_id, options)
      return data
    end

    # Gets the Connect log.
    # Retrieves a list of connect log entries for your account.  ###### Note: The &#x60;enableLog&#x60; setting in the Connect configuration must be set to true to enable logging. If logging is not enabled, then no log entries are recorded. 
    # @param account_id The external account number (int) or account ID Guid.
    # @param DocuSign_eSign::ListEventLogsOptions Options for modifying the behavior of the function.
    # @return [Array<(ConnectLogs, Fixnum, Hash)>] ConnectLogs data, response status code and response headers
    def list_event_logs_with_http_info(account_id, options = DocuSign_eSign::ListEventLogsOptions.default)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.list_event_logs ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.list_event_logs" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/logs".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}
      query_params[:'from_date'] = options.from_date if !options.from_date.nil?
      query_params[:'to_date'] = options.to_date if !options.to_date.nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectLogs')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#list_event_logs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Reserved
    # Reserved:
    # @param account_id The external account number (int) or account ID Guid.
    # @return [MobileNotifierConfigurationInformation]
    def list_mobile_notifiers(account_id)
      data, _status_code, _headers = list_mobile_notifiers_with_http_info(account_id)
      return data
    end

    # Reserved
    # Reserved:
    # @param account_id The external account number (int) or account ID Guid.
    # @return [Array<(MobileNotifierConfigurationInformation, Fixnum, Hash)>] MobileNotifierConfigurationInformation data, response status code and response headers
    def list_mobile_notifiers_with_http_info(account_id)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.list_mobile_notifiers ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.list_mobile_notifiers" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/mobile_notifiers".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'MobileNotifierConfigurationInformation')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#list_mobile_notifiers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Returns users from the configured Connect service.
    # Returns users from the configured Connect service.
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_id The ID of the custom Connect configuration being accessed.
    # @param DocuSign_eSign::ListUsersOptions Options for modifying the behavior of the function.
    # @return [IntegratedUserInfoList]
    def list_users(account_id, connect_id, options = DocuSign_eSign::ListUsersOptions.default)
      data, _status_code, _headers = list_users_with_http_info(account_id, connect_id, options)
      return data
    end

    # Returns users from the configured Connect service.
    # Returns users from the configured Connect service.
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_id The ID of the custom Connect configuration being accessed.
    # @param DocuSign_eSign::ListUsersOptions Options for modifying the behavior of the function.
    # @return [Array<(IntegratedUserInfoList, Fixnum, Hash)>] IntegratedUserInfoList data, response status code and response headers
    def list_users_with_http_info(account_id, connect_id, options = DocuSign_eSign::ListUsersOptions.default)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.list_users ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.list_users" if account_id.nil?
      # verify the required parameter 'connect_id' is set
      fail ArgumentError, "Missing the required parameter 'connect_id' when calling ConnectApi.list_users" if connect_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/{connectId}/users".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s).sub('{' + 'connectId' + '}', connect_id.to_s)

      # query parameters
      query_params = {}
      query_params[:'count'] = options.count if !options.count.nil?
      query_params[:'email_substring'] = options.email_substring if !options.email_substring.nil?
      query_params[:'list_included_users'] = options.list_included_users if !options.list_included_users.nil?
      query_params[:'start_position'] = options.start_position if !options.start_position.nil?
      query_params[:'status'] = options.status if !options.status.nil?
      query_params[:'user_name_substring'] = options.user_name_substring if !options.user_name_substring.nil?

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:GET, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'IntegratedUserInfoList')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#list_users\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Republishes Connect information for the specified envelope.
    # Republishes Connect information for the specified envelope.
    # @param account_id The external account number (int) or account ID Guid.
    # @param envelope_id The envelopeId Guid of the envelope being accessed.
    # @return [ConnectFailureResults]
    def retry_event_for_envelope(account_id, envelope_id)
      data, _status_code, _headers = retry_event_for_envelope_with_http_info(account_id, envelope_id)
      return data
    end

    # Republishes Connect information for the specified envelope.
    # Republishes Connect information for the specified envelope.
    # @param account_id The external account number (int) or account ID Guid.
    # @param envelope_id The envelopeId Guid of the envelope being accessed.
    # @return [Array<(ConnectFailureResults, Fixnum, Hash)>] ConnectFailureResults data, response status code and response headers
    def retry_event_for_envelope_with_http_info(account_id, envelope_id)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.retry_event_for_envelope ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.retry_event_for_envelope" if account_id.nil?
      # verify the required parameter 'envelope_id' is set
      fail ArgumentError, "Missing the required parameter 'envelope_id' when calling ConnectApi.retry_event_for_envelope" if envelope_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/envelopes/{envelopeId}/retry_queue".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s).sub('{' + 'envelopeId' + '}', envelope_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = nil
      auth_names = []
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectFailureResults')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#retry_event_for_envelope\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Republishes Connect information for multiple envelopes.
    # Republishes Connect information for the  specified set of envelopes. The primary use is to republish Connect post failures by including envelope IDs for the envelopes that failed to post in the request. The list of envelope IDs that failed to post correctly can be retrieved by calling to [ML:GetConnectLog] retrieve the failure log.
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_failure_filter  (optional parameter)
    # @return [ConnectFailureResults]
    def retry_event_for_envelopes(account_id, connect_failure_filter)
      data, _status_code, _headers = retry_event_for_envelopes_with_http_info(account_id,  connect_failure_filter)
      return data
    end

    # Republishes Connect information for multiple envelopes.
    # Republishes Connect information for the  specified set of envelopes. The primary use is to republish Connect post failures by including envelope IDs for the envelopes that failed to post in the request. The list of envelope IDs that failed to post correctly can be retrieved by calling to [ML:GetConnectLog] retrieve the failure log.
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_failure_filter  (optional parameter)
    # @return [Array<(ConnectFailureResults, Fixnum, Hash)>] ConnectFailureResults data, response status code and response headers
    def retry_event_for_envelopes_with_http_info(account_id, connect_failure_filter)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.retry_event_for_envelopes ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.retry_event_for_envelopes" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/envelopes/retry_queue".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(connect_failure_filter)
      auth_names = []
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectFailureResults')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#retry_event_for_envelopes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Updates a specified Connect configuration.
    # Updates the specified DocuSign Connect configuration in your account.  ###### Note: Connect must be enabled for your account to use this function. This cannot be used to update Connect configurations for Box, eOriginal, or Salesforce.
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_custom_configuration  (optional parameter)
    # @return [ConnectCustomConfiguration]
    def update_configuration(account_id, connect_custom_configuration)
      data, _status_code, _headers = update_configuration_with_http_info(account_id,  connect_custom_configuration)
      return data
    end

    # Updates a specified Connect configuration.
    # Updates the specified DocuSign Connect configuration in your account.  ###### Note: Connect must be enabled for your account to use this function. This cannot be used to update Connect configurations for Box, eOriginal, or Salesforce.
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_custom_configuration  (optional parameter)
    # @return [Array<(ConnectCustomConfiguration, Fixnum, Hash)>] ConnectCustomConfiguration data, response status code and response headers
    def update_configuration_with_http_info(account_id, connect_custom_configuration)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.update_configuration ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.update_configuration" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(connect_custom_configuration)
      auth_names = []
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectCustomConfiguration')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#update_configuration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Updates the existing Connect OAuth Config for the account.
    # 
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_o_auth_config  (optional parameter)
    # @return [ConnectOAuthConfig]
    def update_connect_o_auth_config(account_id, connect_o_auth_config)
      data, _status_code, _headers = update_connect_o_auth_config_with_http_info(account_id,  connect_o_auth_config)
      return data
    end

    # Updates the existing Connect OAuth Config for the account.
    # 
    # @param account_id The external account number (int) or account ID Guid.
    # @param connect_o_auth_config  (optional parameter)
    # @return [Array<(ConnectOAuthConfig, Fixnum, Hash)>] ConnectOAuthConfig data, response status code and response headers
    def update_connect_o_auth_config_with_http_info(account_id, connect_o_auth_config)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.update_connect_o_auth_config ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.update_connect_o_auth_config" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/oauth".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(connect_o_auth_config)
      auth_names = []
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'ConnectOAuthConfig')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#update_connect_o_auth_config\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end

    # Reserved
    # Reserved:
    # @param account_id The external account number (int) or account ID Guid.
    # @param mobile_notifier_configuration_information  (optional parameter)
    # @return [MobileNotifierConfigurationInformation]
    def update_mobile_notifiers(account_id, mobile_notifier_configuration_information)
      data, _status_code, _headers = update_mobile_notifiers_with_http_info(account_id,  mobile_notifier_configuration_information)
      return data
    end

    # Reserved
    # Reserved:
    # @param account_id The external account number (int) or account ID Guid.
    # @param mobile_notifier_configuration_information  (optional parameter)
    # @return [Array<(MobileNotifierConfigurationInformation, Fixnum, Hash)>] MobileNotifierConfigurationInformation data, response status code and response headers
    def update_mobile_notifiers_with_http_info(account_id, mobile_notifier_configuration_information)
      if @api_client.config.debugging
        @api_client.config.logger.debug "Calling API: ConnectApi.update_mobile_notifiers ..."
      end
      # verify the required parameter 'account_id' is set
      fail ArgumentError, "Missing the required parameter 'account_id' when calling ConnectApi.update_mobile_notifiers" if account_id.nil?
      # resource path
      local_var_path = "/v2.1/accounts/{accountId}/connect/mobile_notifiers".sub('{format}','json').sub('{' + 'accountId' + '}', account_id.to_s)

      # query parameters
      query_params = {}

      # header parameters
      header_params = {}
      # HTTP header 'Accept' (if needed)
      header_params['Accept'] = @api_client.select_header_accept(['application/json'])

      # form parameters
      form_params = {}

      # http body (model)
      post_body = @api_client.object_to_http_body(mobile_notifier_configuration_information)
      auth_names = []
      data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
        :header_params => header_params,
        :query_params => query_params,
        :form_params => form_params,
        :body => post_body,
        :auth_names => auth_names,
        :return_type => 'MobileNotifierConfigurationInformation')
      if @api_client.config.debugging
        @api_client.config.logger.debug "API called: ConnectApi#update_mobile_notifiers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
      end
      return data, status_code, headers
    end
  end
end