# SOAP Web Service API

This section provides detailed information on the available Web Service Api methods.

# Main Methods

This section lists the main web service methods used to access Exago.

string GetUrlParamString(string apiId)

Description | Returns the URL parameter string. Points to ExagoHome.aspx.
Remarks | This is always the last method called. Appended the returned URL to your Exago application URL and redirect the user.

string GetUrlParamString2(string apiId, string webPageName, boolean showErrorDetail)

Description | Returns the URL parameter string. Points to the specified home page. Set showErrorDetail to True to display detailed error messages.
Remarks | This is always the last method called. Appends the returned URL to your Exago application URL and redirects the user.

string InitalizeApi()

Description | Returns an apiId as a string that is used in all subsequent calls.
Remarks | This is always the first method called.

string InitializeApi2(string configFn)

Description | Returns an apiId as a string that is used in all subsequent calls.
Remarks | Can be used instead of InitializeApi to specify a configuration file other than WebReports.xml

bool SetAction(string apiId, int action, string defaultFolderName)

Description | Set the Action property of the Api object. The action dictates the behavior of Exago when you call GetUrlParamString. Returns Boolean indicating success/failure.
Remarks | Valid values for action are: 0: Default – Executes a report on ReportObject_Activate, otherwise opens the home page. 1: Home – Opens the home page. 2: ExecuteReport – Executes the active report. 3: EditReport – Opens the Report Designer for the active report. 4: NewReport – Opens the New Report Wizard directly. 5: NewCrossTabReport – Opens the New Crosstab Report Wizard directly. 6: NewExpressReport – Opens the New Express Report Wizard directly. 7: NewDashboardReport – Opens a New Dashboard Designer directly. 8: NewExpressView – Opens the ExpressView Designer for a new ExpressView. 9: ScheduleReport – Opens the New Schedule Report Wizard directly. 10: ScheduleReportManager – Opens the Schedule Manager directly.

bool SetAction2(string apiId, int action, string defaultFolderName, Boolean showTabs)

Description | Set the Action property of the Api object. The action dictates the behavior of Exago when you call GetUrlParamString. Returns Boolean indicating success/failure.
Remarks | Valid values for action are: 0: Default – Executes a report on ReportObject_Activate, otherwise opens the home page. 1: Home – Opens the home page. 2: ExecuteReport – Executes the active report. 3: EditReport – Opens the Report Designer for the active report. 4: NewReport – Opens the New Report Wizard directly. 5: NewCrossTabReport – Opens the New Crosstab Report Wizard directly. 6: NewExpressReport – Opens the New Express Report Wizard directly. 7: NewDashboardReport – Opens a New Dashboard Designer directly. 8: NewExpressView – Opens the ExpressView Designer for a new ExpressView. 9: ScheduleReport – Opens the New Schedule Report Wizard directly. 10: ScheduleReportManager – Opens the Schedule Manager directly.

bool SetDefaultReportName(string apiId, string defaultReportName)

Description | Set the DefaultReportName property of the Api object. The DefaultReportName is used in conjunction with the Action property of the Api to modify the behavior of Exago when you call GetUrlParamString. Returns Boolean indicating success/failure.
Remarks | The Default report name is a string providing the fully qualified path of the report. This function’s effect will change based on the set value of the Action. When the Action is set to NewReport, NewCrossTabReport or NewExpressReport: The DefaultReportName provides the full path name for the report. The Info tab of the new report wizard will be hidden and the report designer will not display menus to rename the report or change its description. When the Action is set to EditReport: If DefaultReportName is any non-empty value the report designer will not display menus to rename the report or change its description.

bool SetGeneralProperty(string apiId, string propertyName, string propertyValue)

Description | Modify any of the General Settings in the Administration Console for the session.
Remarks | The propertyName must match the name used in the configuration file WebReports.xml for the setting you want to modify. Ex. ‘showexpressreports’ controls the Feature/UI Setting ‘Show Express Reports’. The propertyValue type will depend on the setting using the following rules based on how the property is shown in the Administration Console: 1. If the setting is True/False then use a boolean. 2. If the setting is enterable text (ex. chart colors) use a string. 3. If the setting is a number use an int. 4. If the setting is a dropdown of predefined values use the enumeration specified below. DefaultOutputType: 0.Html 1. Excel 2. Pdf 3. Rtf 4. Csv 6. Default DateTimeTreatedAs: 0. Date 1. Time – NOTE. Time filters are not supported. 2. DateTime ScheduleManagerViewLevel: 0. Current User at Current Company 1. All Users at Current Company 2. All Users at All Companies UserPreferenceStorage: 0. Cookie 1. ExternalInterface: 2. None ExcelExportTarget: 0. v2003 1. v2007 2. v2010 DefaultFilterExecutionWindow SchemaAccessType: Default Datasource Metadata

bool SetGeneralProperties(string apiId, string[] propertyName, string[] propertyValue)

Description | Allows multiple SetGeneralProperty calls to be grouped together to avoid making many web service calls.
Remarks | The length the propertyName array and the propertyValue array must be equal. See remarks above in the SetGeneralProperty method.

This section lists the web service methods used to create, modify or delete Data Objects, Data Sources and Joins.

bool DataObject_Add(string apiId, string dataSourceName, int objectType, string, objectName, string mnemonicName, string keyName, string categoryName, string sqlStmt, string parmaterIds, string tenants)

Description | Adds a Data Object. Returns Boolean indicating success/failure.
Remarks | Valid objectType values are: 0: database table 1: database view 2: database function 3: database stored procedure 4: database SQL statement 5: web service method parameterIds is a comma delimited list whose values will be passed to the data object. tenants is a comma delimited list of columns and parameters. Ex. ‘db_col1,paramId1,db_col,paramId2’

bool DataObject_Add2(string apiId, string dataSourceName, int objectType, string, objectName, string, objectId, string mnemonicName, string keyName, string categoryName, string sqlStmt, string parmaterIds, string tenants)

Description | Adds a Data Object. Returns Boolean indicating success/failure.
Remarks | Unlike DataObject_Add this function includes an objectId. This allows for multiple Data Objects with the same name. The objectID should be a unique value.

bool DataObject_Add3(string apiId, string dataSourceName, int objectType, string, objectName, string, objectId, string schemaName, string mnemonicName, string keyName, string categoryName, string sqlStmt, string parmaterIds, string tenants)

Description | Adds a Data Object. Returns Boolean indicating success/failure.
Remarks | Unlike DataObject_Add this function includes an objectId and schemaName. ObjectId allows for multiple Data Objects with the same name and should be a unique value. SchemaName sets the database schema of the object.

bool DataObject_SetColumnAlias(string apiId, string objectName, string columnName, string alias)

Description | Sets the alias of a specific data column. Returns Boolean indicating success/failure.

bool DataSource_AddXmlType(string apiId, string xml, string categoryNames)

Description | Loads Xml into Exago as a data source. Returns Boolean indicating success/failure.
Remarks | Xml can be Excel worksheet type or compatible with .NET DataSet. The Data Object can appear in multiple categories using a comma delimiter.

bool DataSource_Modify(string apiId, string dataSourceName, string dataConnStr)

Description | Modifies the connection string of a Data Source. Returns Boolean indicating success/failure.

bool Join_Add(string apiId, string dataObjectFromName, string columnFromName, string dataObjectToName, string columnToName, int joinType int relationType, int weight)

Description | Adds a Data Object Join. Returns Boolean indicating success/failure.
Remarks | Valid relationType values are: 0:one-to-one 1:one-to-many Valid joinType values are: 0:inner 1: left outer 2: right outer 3: full outer

# Folder Methods

This section lists the web service methods used to create, modify or delete Folders.

bool Folder_Add(string apiId, string parentName, string name)

Description | Adds a report folder. Returns Boolean indicating success/failure.
Remarks | parentName is relative to the Report Path and should not contain slashes. Method will fail if a parent folder named parentName does not exist.

bool Folder_Delete(string apiId, string folderName)

Description | Deletes a report folder. Returns Boolean indicating success/failure.
Remarks | folderName is relative to the Report Path. Method will fail if the report is not empty.

bool Folder_Exist(string apiId, string folderName)

Description | Checks if a report folder exists. Returns Boolean indicating success/failure.
Remarks | folderName is relative to the Report Path.

bool Folder_Rename(string apiId, string oldName, string newName)

Description | Renames a report folder exists. Returns Boolean indicating success/failure.
Remarks | Both folder names are relative to the Report Path.

# Parameter Methods

This section lists the web service methods used to create, modify or delete Parameters.

bool Parameter_Add(string apiId, string parameterId, string parameterValue, int dataType, bool isHidden, string promptText)

Description | Adds a parameter. Returns Boolean indicating success/failure.
Remarks | Valid dataType values are: 0: string 1: date 2: integer 5: decimal

bool Parameter_Modify(string apiId, string parameterId, string parameterValue)

Description | Modifies a parameter value. Returns Boolean indicating success/failure.

bool Parameter_ModifyMultiple(string apiId, string[] parameterIds, string[] parameterValues)

Description | Modifies multiple parameter values. Returns Boolean indicating success/failure.
Remarks | The length of the parameterIds and parameterValues arrays must be the same.

# ReportObject Methods

This section lists the web service methods used to create, modify or delete Report objects. A Report object is any type of report supported by the application (currently Report_ or Dashboard_).

bool ReportObject _Activate(string apiId, string reportName)

Description | Activates an existing report. Returns Boolean indicating success/failure.
Remarks | Use backslashes to delineate subfolders.

> NOTE. Before calling any report or dashboard method call ReportObject_Activate to specify which Report object to modify.

bool ReportObject _Delete(string apiId, string reportName)

Description | Deletes an existing report. Returns Boolean indicating success/failure.
Remarks | Use backslashes to delineate subfolders.

bool ReportObject _Duplicate(string apiId, string srcReportName, string destReportName)

Description | Creates a duplicate copy of an existing report (srcReportName) and provides a new name (destReportName). Returns Boolean indicating success/failure.
Remarks | Use backslashes to delineate subfolders.

# Dashboard Methods

bool Dashboard_SetReportFilterValue(string apiId, int reportIndex, string filterName, wrFilterOperator filterOperator, List<string> filterValues)

Description | Sets the dashboard value for a promptable filter that exists on the specified report contained within the dashboard
Remarks | To find the reportIndex of a particular report on a dashboard: Enter the dashboard designer. Press Ctrl+Shift+I. Click on the desired report. The index will appear in the reports title bar. The number of items in filterValues depends on the filter operator.

bool Dashboard_SetReportParameterValue(string apiId, int reportIndex, string parameterName, string parameterValue)

Description | Sets the dashboard value for a promptable parameter that exists on the specified report contained within the dashboard
Remarks | To find the reportIndex of a particular report on a dashboard: Enter the dashboard designer. Press Ctrl+Shift+I. Click on the desired report. The index will appear in the reports title bar.

# Report Methods

bool Report_AddFilter(string apiId, string filterName, int filterOperator, string filterValue, int andOrWithNext, bool groupWithNext, bool promptForValue)

Description | Adds a filter to a report. Returns Boolean indicating success/failure.
Remarks | Valid filterOperator values are: 0: equal to 1: less than 2: less than or equal to 3: greater than 4: greater than or equal to 5: not equal to 6: starts with 7: not starts with 8: ends with 9: not ends with 10: contains 11: not contains 12: between 13: not between 14: one of 15: not one of filterValue can contain multiple values. Delineate values with ‘|~|’ (pipe tilde pipe). Valid andOrWithNext values are: 0: and 1:or Dates must be in the following format YYYY-MM-DD.

bool Report_AddFilterValue(string apiId, int index, string value)

Description | Adds a value to a filter that accepts multiple values (ex ‘one of’ filters). Returns Boolean indicating success/failure.
Remarks | Index indicates which filter to add the value to. This method can only be used on filters with the following operators: ‘one of’, ‘not one of’.

bool Report_AddSort(string apiId, string sortName, int sortDirection)

Description | Adds a sort to a report. Returns Boolean indicating success/failure.
Remarks | Valid sortDirection values are: 0: ascending 1: descending

bool Report_RemoveSort(string apiId, string sortName)

Description | Removes a sort from a report. Returns Boolean indicating success/failure.

bool Report_SetSorts(string apiId, string[] sortName, int[] sortDirection)

Description | Replaces any existing sorts of a report with the new sorts specified. Returns Boolean indicating success/failure.
Remarks | Valid sortDirection values are: 0: ascending 1: descending If the lengths of the sortName and sortDirection arrays are not equal the following behavior will occur: sortNames without a corresponding sortDirection will default to ascending. sortDirections without a corresponding sortName will be ignored.

byte[] Report_GetExecuteData(string apiId)

Description | Executes a report directly and returns data as a byte array.
Remarks | Any export type can be used with this method. Use Report_setParams method to set the export type prior to this call.

string Report_GetExecuteHtml(string apiId)

Description | Executes a report directly and returns HTML as a string.
Remarks | This can be used to populate a container in the host application. HTML will not contain Exago’ paging HTML viewer.

string Report_GetReportListXml(string apiId)

Description | Returns the hierarchical structure of reports and folders as an Xml string.
Remarks | Returned list adheres to the active Role if set. See Report and Folder Storage/Management for an example of the Xml output.

string Report_GetReportXml(string apiId)

Description | Returns the hierarchical structure of the active report an Xml string.

bool Report_SetFilterValue(string apiId, int index, int subIndex, string value)

Description | Sets the value of a filter. Returns Boolean indicating success/failure.
Remarks | subIndex is used for filters with multiple values such as ‘one of’ or ‘between’ filters. Set subIndex to -1 for single value operators. Dates must be in the following format YYYY-MM-DD.

bool Report_SetParams(string apiId, int exportType, bool openNewWindow, bool showStatus)

Description | Sets report execution parameters. Returns Boolean indicating success/failure.
Remarks | Valid exportType values are: 0: html 1: excel 2: pdf 3: rtf 4: csv

# Role Methods

This section lists the web service methods used to create, modify or delete Roles.

string Role_GetRoles(string apiId)

Description | Returns the list of existing Roles as an Xml string.

bool Role_Activate(string apiId, string roleId)

Description | Activates a pre-created role. Returns Boolean indicating success/failure.

> NOTE. Before calling any of the following methods call Role_Activate to specify which role to modify.

bool Role_Add(string apiId, bool includeAllFolders, bool foldersReadOnly, bool allowFolderManagement, bool includeAllDataObjects)

Description | Creates a new temporary run-time role. Returns Boolean indicating success/failure.

bool Role_AddDataObject(string apiId, string objectName)

Description | Adds a Data Object to the role. Returns Boolean indicating success/failure.
Remarks | If includeAllDataObjects is True this method will exclude the Data Object and vice versa. objectName is the database value not the mnemonic.

bool Role_AddDataObjectRow(string apiId, string objectName, string filterString)

Description | Adds a Data Object row to the role. Returns Boolean indicating success/failure.
Remarks | objectName is the database value not the mnemonic. filterString should be standard SQL to go into the WHERE clause.

bool Role_AddFolder(string apiId, string folderName, bool readOnly)

Description | Adds a Report Folder to the role. Returns Boolean indicating success/failure.
Remarks | If includeAllFolders is True this method will exclude the Folder and vice versa.

bool Role_ SetCurrencySymbol (string apiId, string currencySymbol)

Description | Overrides global currency symbol. Returns Boolean indicating success/failure.

bool Role_ SetDateFormat (string apiId, string dateFormat)

Description | Overrides global date format. Returns Boolean indicating success/failure.

bool Role_ SetDbTimeout (string apiId, int dbTimeout)

Description | Overrides maximum seconds the database is allowed to execute a query before timing out. Returns Boolean indicating success/failure.

bool Role_ SetDecimalSymbol(string apiId, string decimalSymbol)

Description | Overrides global decimal symbol. Returns Boolean indicating success/failure.

bool Role_ SetLanguageFile(string apiId, string languageFile)

Description | Overrides global Language File. Returns Boolean indicating success/failure.

bool Role_ SetReadFilterValues(string apiId, bool readFilterValues)

Description | Overrides whether to allow users to see database values in filter dropdowns. Returns Boolean indicating success/failure.

bool Role_ SetReportVirutalPath (string apiId, string reportPath)

Description | Overrides report virtual path. Returns Boolean indicating success/failure.

bool Role_ SetScheduleManagerViewLevel (string apiId, int scheduleManagerViewLevel)

Description | Sets the level of view privilege for the user session Returns Boolean indicating success/failure.
Remarks | Valid values for scheduleManagerViewLevel are: 0: Current users (requires parameter userId be set) 1: Current Company (requires parameter companyId be set) 2: All

bool Role_ SetSeparatorSymbol (string apiId, string separatorSymbol)

Description | Overrides global numeric separator symbol. Returns Boolean indicating success/failure.

bool Role_SetServerTimeZoneOffset(string apiId, decimal serverTimeZoneOffset)

Description | Overrides global Server Time Zone Offset. Returns Boolean indicating success/failure.

bool Role_ SetShowGrid (string apiId, bool showGrid)

Description | Overrides global numeric separator symbol. Returns Boolean indicating success/failure.

bool Role_ SetShowScheduleReports (string apiId, bool showScheduleReports)

Description | Overrides whether to show the schedule report option. Returns Boolean indicating success/failure.

bool Role_ SetShowScheduleReportsEmail (string apiId, bool showScheduleReportsEmail)

Description | Overrides whether to show the schedule reports instant email option. Returns Boolean indicating success/failure.

bool Role_ SetShowScheduleReportsManager(string apiId, bool showScheduleReportsManager)

Description | Overrides whether to show the schedule reports management option. Returns Boolean indicating success/failure.

# Scheduler Methods

This section lists the web service methods used to create Schedules for Reports to be emailed or Archived.

Before calling any of the following methods call Report_Activate to specify which report to schedule and Report_SetParams to set a non-html export format.

> NOTE. There are two methods for type of schedule: a regular method and a ‘ForArchiving’ method. The regular method will email the report while the ForArchiving method will save the report to the Scheduler Repository. For more information on archiving schedules see Saving Scheduled Reports to External Repository.

> NOTE. Dates must be in the following format YYYY-MM-DD. Times must be in the following format HH:MM[:SS] (24-hour format).

bool Report_CreateImmediateSchedule(string apiId, string name, string[] toAddrArray, string[] ccAddrArray, string[] bccAddrArray, string subject, string body)

Description | Schedules a report to run and emailed immediately. Returns Boolean indicating success/failure.
Remarks | name: The name of the schedule as it appears in the Schedule Manager toAddrArray: The array of email addresses and/or distribution lists for the 'To' field of the email. If none of To, CC or BCC are set, Exago will attempt to archive scheduled reports. ccAddrArray: The array of email addresses and/or distribution lists for the 'CC' field of the email. If none of To, CC or BCC are set, Exago will attempt to archive scheduled reports. bccAddrArray: The array of email addresses and/or distribution lists for the 'BCC' field of the email. If none of To, CC or BCC are set, Exago will attempt to archive scheduled reports.</param> subject: The subject line of the email body: The body text of the email

bool Report_CreateImmediateScheduleForArchiving(string apiId, string name)

Description | Schedules a report to run and archived immediately. Returns Boolean indicating success/failure.
Remarks | name: The name of the schedule as it appears in the Schedule Manager

bool Report_CreateOnceScheduleByDateTime(string apiId, string dateStr, string timeStr, string name, string[] toAddrArray, string[] ccAddrArray, string[] bccAddrArray, string subject, string body)

Description | Schedules a report to be run and emailed at a specific date and time.. Returns Boolean indicating success/failure.
Remarks | dateStr: The date to run the schedule. If the timeStr parameter is null, the scheduler will use the time value of this parameter timeStr: The time to run the schedule. If null, the scheduler will use the time value of the dateStr parameter NOTE. See remarks in Report_CreateImmediateSchedule toAddrArray, ccAddrArray & bccAddrArray

bool Report_CreateOnceScheduleByDateTimeForArchiving(string apiId, string dateStr, string timeStr, string name)

Description | Schedules a report to be run and archived at a specific date and time.. Returns Boolean indicating success/failure.
Remarks | dateStr: The date to run the schedule. If the timeStr parameter is null, the scheduler will use the time value of this parameter timeStr: The time to run the schedule. If null, the scheduler will use the time value of the dateStr parameter

bool Report_CreateEveryWeekdaySchedule(string apiId, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name, string[] toAddrArray, string[] ccAddrArray, string[] bccAddrArray, string subject, string body)

Description | Schedules a report to be run and emailed every weekday. Returns Boolean indicating success/failure.
Remarks | startDateStr: The date to begin running the schedule. timeStr: The time to run the schedule. If null, the scheduler will use the time value of the startDateStr parameter. Three parameters are used to determine when to end a recurring schedule: bool NoEndDate, int endOccurrences, string endDateStr. These parameters adhere to the following logic. If noEndDate is true, the report will run indefinitely. Else if endOccurrences is greater than zero, the report will execute that many times. Else the schedule will execute until the date represented in endDateStr. NOTE. See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray.

bool Report_CreateEveryWeekdayScheduleForArchiving(string apiId, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name)

Description | Schedules a report to be run and archived every weekday. Returns Boolean indicating success/failure.
Remarks | startDateStr: The date to begin running the schedule. timeStr: The time to run the schedule. If null, the scheduler will use the time value of the startDateStr parameter. NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of noEndDate, endOccurrences & endDateStr.

bool Report_CreateEveryNDaySchedule(string apiId, int everyNDays, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name, string[] toAddrArray, string[] ccAddrArray, string[] bccAddrArray, string subject, string body)

Description | Schedules a report to be run and emailed every N days. Returns Boolean indicating success/failure.
Remarks | everyNDays: Indicates the interval at which to run the schedule (e.g. every 10 days). NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. NOTE. See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray.

bool Report_CreateEveryNDayScheduleForArchiving(string apiId, int everyNDays, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name)

Description | Schedules a report to be run and archived every N days. Returns Boolean indicating success/failure.
Remarks | everyNDays: Indicates the interval at which to run the schedule (e.g. every 10 days). NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr.

bool Report_CreateWeeklySchedule(string apiId, int everyNWeeks, int[] dayNums, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name, string[] toAddrArray, string[] ccAddrArray, string[] bccAddrArray, string subject, string body)

Description | Schedules a report to be run and emailed on a weekly interval. Returns Boolean indicating success/failure.
Remarks | everyNWeeks: Indicates the interval at which to run the schedule (e.g. every 2 weeks). dayNums: Days on which the schedule is to be run. Valid values are: 1: Sunday 2: Monday 3: Tuesday 4: Wednesday 5: Thursday 6: Friday 7: Saturday NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. NOTE. See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray.

bool Report_CreateWeeklyScheduleForArchiving(string apiId, int everyNWeeks, int[] dayNums, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name)

Description | Schedules a report to be run and archived on a weekly interval. Returns Boolean indicating success/failure.
Remarks | everyNWeeks: Indicates the interval at which to run the schedule (e.g. every 2 weeks). dayNums: Days on which the schedule is to be run. Valid values are: 1: Sunday 2: Monday 3: Tuesday 4: Wednesday 5: Thursday 6: Friday 7: Saturday NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr.

bool Report_CreateMonthlyScheduleByNumericDay(string apiId, int everyNMonths, int numericDay, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name, string[] toAddrArray, string[] ccAddrArray, string[] bccAddrArray, string subject, string body)

Description | Schedules a report to be run and emailed on a specific day each month. Returns Boolean indicating success/failure.
Remarks | everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). numericDay: The numeric day of each month (e.g. 17) on which to run the schedule NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. NOTE. See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray.

bool Report_CreateMonthlyScheduleByNumericDayForArchiving(string apiId, int everyNMonths, int numericDay, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name)

Description | Schedules a report to be run and archived on a specific day each month. Returns Boolean indicating success/failure.
Remarks | everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). numericDay: The numeric day of each month (e.g. 17) on which to run the schedule NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr.

bool Report_CreateMonthlyScheduleByWeekAndDay(string apiId, int everyNMonths, int weekOfMonthNum, int dayOfWeekNum, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name, string[] toAddrArray, string[] ccAddrArray, string[] bccAddrArray, string subject, string body)

Description | Schedules a report to be run and emailed on a “described” day each month, consisting of the week and the day. Returns Boolean indicating success/failure.
Remarks | everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). weekOfMonthNum: The 'described' week of each month (e.g. 'Third') on which to run the schedule. Used in conjunction with dayOfWeek. Valid values are: 1: First 2: Second 3: Third 4: Fourth 5: Last dayOfWeekNum: The 'described' day of each week (e.g. 'Weekday') on which to run the schedule. Valid values are: 1: Sunday 2: Monday 3: Tuesday 4: Wednesday 5: Thursday 6: Friday 7: Saturday 8: Day 9: Weekday 10: Weekend Day NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. NOTE. See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray.

bool Report_CreateMonthlyScheduleByWeekAndDayForArchiving(string apiId, int everyNMonths, int weekOfMonthNum, int dayOfWeekNum, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name)

Description | Schedules a report to be run and archived on a “described” day each month, consisting of the week and the day. Returns Boolean indicating success/failure.
Remarks | everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). weekOfMonthNum: The 'described' week of each month (e.g. 'Third') on which to run the schedule. Used in conjunction with dayOfWeek. Valid values are: 1: First 2: Second 3: Third 4: Fourth 5: Last dayOfWeekNum: The 'described' day of each week (e.g. 'Weekday') on which to run the schedule. Valid values are: 1: Sunday 2: Monday 3: Tuesday 4: Wednesday 5: Thursday 6: Friday 7: Saturday 8: Day 9: Weekday 10: Weekend Day NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr.

bool Report_CreateYearlyScheduleByNumericDay(string apiId, int numericMonth, int numericDay, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name, string[] toAddrArray, string[] ccAddrArray, string[] bccAddrArray, string subject, string body)

Description | Schedules a report to be run and emailed on a specific day each year. Returns Boolean indicating success/failure.
Remarks | everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). numericMonth: The numeric Month of each year (e.g. 3) on which to run the schedule numericDay: The numeric day of each month (e.g. 17) on which to run the schedule NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. NOTE. See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray.

bool Report_CreateYearlyScheduleByNumericDayForArchiving(string apiId, int numericMonth, int numericDay, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name)

Description | Schedules a report to be run and archived on a specific day each year. Returns Boolean indicating success/failure.
Remarks | everyNMonths: Indicates the interval at which to run the schedule (e.g. every 2 months). numericMonth: The numeric Month of each year (e.g. 3) on which to run the schedule numericDay: The numeric day of each month (e.g. 17) on which to run the schedule NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr.

bool Report_CreateYearlyScheduleByWeekAndDay(string apiId, int numericMonth, int weekOfMonthNum, int dayOfWeekNum, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name, string[] toAddrArray, string[] ccAddrArray, string[] bccAddrArray, string subject, string body)

Description | Schedules a report to be run and emailed on a specific day each year. Returns Boolean indicating success/failure.
Remarks | numericMonth: The numeric Month of each year (e.g. 3 = March) on which to run the schedule weekOfMonthNum: The 'described' week of each month (e.g. 'Third') on which to run the schedule. Used in conjunction with dayOfWeek. Valid values are: 1: First 2: Second 3: Third 4: Fourth 5: Last dayOfWeekNum: The 'described' day of each week (e.g. 'Weekday') on which to run the schedule. Valid values are: 1: Sunday 2: Monday 3: Tuesday 4: Wednesday 5: Thursday NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr. NOTE. See remarks in Report_CreateImmediateSchedule for a description of toAddrArray, ccAddrArray & bccAddrArray.

bool Report_CreateYearlyScheduleByWeekAndDayForArchiving(string apiId, int numericMonth, int weekOfMonthNum, int dayOfWeekNum, string startDateStr, string timeStr, bool noEndDate, int endOccurrences, string endDateStr, string name)

Description | Schedules a report to be run and archived on a specific day each year. Returns Boolean indicating success/failure.
Remarks | numericMonth: The numeric Month of each year (e.g. 3 = March) on which to run the schedule weekOfMonthNum: The 'described' week of each month (e.g. 'Third') on which to run the schedule. Used in conjunction with dayOfWeek. Valid values are: 1: First 2: Second 3: Third 4: Fourth 5: Last dayOfWeekNum: The 'described' day of each week (e.g. 'Weekday') on which to run the schedule. Valid values are: 1: Sunday 2: Monday 3: Tuesday 4: Wednesday 5: Thursday NOTE. See remarks in Report_CreateEveryWeekdaySchedule for a description of startDateStr, timeStr, noEndDate, endOccurrences & endDateStr.

# Batch Methods

Batch calls can be used to encapsulate a series of non-interdependent method calls into a single web service request. This can be used to reduce the number of times messages are sent over the network, in order to reduce latency.

object[] BatchCall(object[][] methods)

Description | Passes a series of method calls to be evaluated in sequential order. Returns an array containing the methods' return values. Each method to be called is passed as an object array with the method name in position 0, and followed by the arguments in correct positions. The indices of the return values correspond with the indices of the input methods as they were passed into the web service.
Example |
    object[][] methods = new object[][]
     {
     new object[] { "InitializeApi2", "WebReports.xml" },
     new object[] { "Role_Activate", "", "Admin" },
     new object[] { "Report_Activate", "", "Client Reports\\Sales" },
     new object[] { "Report_GetExecuteHtml" }
     };

    object[] returnVals = BatchCall(methods);
Remarks | Note: Only available for methods with primitive types as parameters. Note: For methods which require an Api Key parameter, if the first method call is InitializeApi(), then it is not required to wait for the Api Key response. Instead, you can pass an empty string in that position.

string BatchCallJson(string methodJsonStr)

Description | Passes a series of method calls to be evaluated in sequential order. Returns a JSON-formatted array containing the methods' return values. Methods to be called are passed as a JSON-formatted string. Each method to be called is an array with the method name in position 0, and followed by the arguments in correct positions. The indices of the return values correspond with the indices of the input methods as they were passed into the web service.
Example |
    string methodJsonSstr = @"[ [ 'InitializeApi2', 'WebReports.xml' ],
     [ 'Role_Activate', '', 'Admin' ],
     [ 'Report_Activate', '', 'ClientReports\\Sales' ],
     [ 'Report_GetExecuteHtml' ] ]";

    string returnVals = BatchCallJson(methodJsonStr);
Remarks | Note: Only available for methods with primitive types as parameters. Note: For methods which require an Api Key parameter, if the first method call is InitializeApi(), then it is not required to wait for the Api Key response. Instead, you can pass an empty string in that position.