Class: WorkspaceAPI

Inherits:
Object
  • Object
show all
Defined in:
lib/zoho_analytics_client.rb

Overview

WorkspaceAPI contains workspace-level operations.

Instance Method Summary collapse

Constructor Details

#initialize(ac, org_id, workspace_id) ⇒ WorkspaceAPI

Initializes a new instance of WorkspaceAPI.

Parameters:

  • ac (AnalyticsClient)

    The analytics client instance

  • org_id (String)

    The organization ID

  • workspace_id (String)

    The workspace ID



918
919
920
921
922
923
# File 'lib/zoho_analytics_client.rb', line 918

def initialize(ac, org_id, workspace_id)
  @ac = ac
  @endpoint = "/restapi/v2/workspaces/#{workspace_id}"
  @request_headers = { 'ZANALYTICS-ORGID' => org_id }
  @workspace_id = workspace_id
end

Instance Method Details

#add_admins(email_ids, config = {}) ⇒ Object

Add admins to the workspace.

Parameters:

  • email_ids (Array<String>)

    Email addresses

  • config (Hash) (defaults to: {})

    Optional config



1000
1001
1002
1003
1004
# File 'lib/zoho_analytics_client.rb', line 1000

def add_admins(email_ids, config = {})
  config['emailIds'] = email_ids
  endpoint = "#{@endpoint}/admins"
  @ac.send_api_request('POST', endpoint, config, @request_headers)
end

#add_defaultObject

Set the workspace as default.



976
977
978
979
# File 'lib/zoho_analytics_client.rb', line 976

def add_default
  endpoint = "#{@endpoint}/default"
  @ac.send_api_request('POST', endpoint, nil, @request_headers)
end

#add_favoriteObject

Mark the workspace as favorite.



964
965
966
967
# File 'lib/zoho_analytics_client.rb', line 964

def add_favorite
  endpoint = "#{@endpoint}/favorite"
  @ac.send_api_request('POST', endpoint, nil, @request_headers)
end

#add_group_members(group_id, email_ids, config = {}) ⇒ Object

Add users to a group.

Parameters:

  • group_id (String)

    Group ID

  • email_ids (Array<String>)

    Email list

  • config (Hash) (defaults to: {})

    Optional config



1234
1235
1236
1237
1238
# File 'lib/zoho_analytics_client.rb', line 1234

def add_group_members(group_id, email_ids, config = {})
  config['emailIds'] = email_ids
  endpoint = "#{@endpoint}/groups/#{group_id}/members"
  @ac.send_api_request('POST', endpoint, config, @request_headers)
end

#add_workspace_users(email_ids, role, config = {}) ⇒ Object

Add users to the workspace.



1453
1454
1455
1456
1457
1458
# File 'lib/zoho_analytics_client.rb', line 1453

def add_workspace_users(email_ids, role, config = {})
  config['emailIds'] = email_ids
  config['role'] = role
  endpoint = "#{@endpoint}/users"
  @ac.send_api_request('POST', endpoint, config, @request_headers)
end

#automl_analysis_prediction(analysis_id, model_id, features, config = {}) ⇒ Hash

Gets predictions by providing sample input values for a trained AutoML model.

Parameters:

  • analysis_id (String)

    AutoML analysis ID

  • model_id (String)

    AutoML model ID

  • features (Hash)

    Feature values for prediction

  • config (Hash) (defaults to: {})

    Additional control parameters

Returns:

  • (Hash)

    Prediction result

Raises:



1769
1770
1771
1772
1773
# File 'lib/zoho_analytics_client.rb', line 1769

def automl_analysis_prediction(analysis_id, model_id, features, config = {})
  config["features"] = features
  endpoint = "/restapi/v2/automl/workspaces/#{@workspace_id}/analysis/#{analysis_id}/models/#{model_id}/whatif"
  @ac.send_api_request("POST", endpoint, config, @request_headers)
end

#change_email_schedule_status(schedule_id, operation) ⇒ Object

Update email schedule status (activate or deactivate).

Parameters:

  • schedule_id (String)

    ID of the email schedule

  • operation (String)

    operation to perform (“activate” or “deactivate”)



1533
1534
1535
1536
1537
# File 'lib/zoho_analytics_client.rb', line 1533

def change_email_schedule_status(schedule_id, operation)
  endpoint = "#{@endpoint}/emailschedules/#{schedule_id}/status"
  config = { "operation" => operation }
  @ac.send_api_request("PUT", endpoint, config, @request_headers)
end

#change_folder_hierarchy(folder_id, hierarchy, config = {}) ⇒ Object

Change folder hierarchy (parent/child).



1411
1412
1413
1414
1415
# File 'lib/zoho_analytics_client.rb', line 1411

def change_folder_hierarchy(folder_id, hierarchy, config = {})
  endpoint = "#{@endpoint}/folders/#{folder_id}/move"
  config['hierarchy'] = hierarchy
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end

#change_folder_position(folder_id, reference_folder_id, config = {}) ⇒ Object

Reorder folder relative to another folder.



1418
1419
1420
1421
1422
# File 'lib/zoho_analytics_client.rb', line 1418

def change_folder_position(folder_id, reference_folder_id, config = {})
  endpoint = "#{@endpoint}/folders/#{folder_id}/reorder"
  config['referenceFolderId'] = reference_folder_id
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end

#change_workspace_user_role(email_ids, role, config = {}) ⇒ Object

Change role of workspace users.



1476
1477
1478
1479
1480
1481
# File 'lib/zoho_analytics_client.rb', line 1476

def change_workspace_user_role(email_ids, role, config = {})
  config['emailIds'] = email_ids
  config['role'] = role
  endpoint = "#{@endpoint}/users/role"
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end

#change_workspace_user_status(email_ids, operation, config = {}) ⇒ Object

Change status (activate/deactivate) of workspace users.



1468
1469
1470
1471
1472
1473
# File 'lib/zoho_analytics_client.rb', line 1468

def change_workspace_user_status(email_ids, operation, config = {})
  config['emailIds'] = email_ids
  config['operation'] = operation
  endpoint = "#{@endpoint}/users/status"
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end

#copy(new_workspace_name, config = {}, dest_org_id = nil) ⇒ Integer

Copy the specified workspace to a new one.

Parameters:

  • new_workspace_name (String)

    New workspace name

  • config (Hash) (defaults to: {})

    Optional config

  • dest_org_id (String, nil) (defaults to: nil)

    Destination org ID (optional)

Returns:

  • (Integer)

    Copied workspace ID



931
932
933
934
935
936
937
# File 'lib/zoho_analytics_client.rb', line 931

def copy(new_workspace_name, config = {}, dest_org_id = nil)
  config['newWorkspaceName'] = new_workspace_name
  headers = @request_headers.dup
  headers['ZANALYTICS-DEST-ORGID'] = dest_org_id if dest_org_id
  response = @ac.send_api_request('POST', @endpoint, config, headers)
  response['workspaceId'].to_i
end

#copy_views(view_ids, dest_workspace_id, config = {}, dest_org_id = nil) ⇒ Array<Hash>

Copy views to another workspace.

Parameters:

  • view_ids (Array<String>)

    IDs to copy

  • dest_workspace_id (String)

    Destination workspace ID

  • config (Hash) (defaults to: {})

    Optional config

  • dest_org_id (String, nil) (defaults to: nil)

    Destination org ID

Returns:

  • (Array<Hash>)

    Copied views



1136
1137
1138
1139
1140
1141
1142
1143
1144
# File 'lib/zoho_analytics_client.rb', line 1136

def copy_views(view_ids, dest_workspace_id, config = {}, dest_org_id = nil)
  config['viewIds'] = view_ids
  config['destWorkspaceId'] = dest_workspace_id
  endpoint = "#{@endpoint}/views/copy"
  headers = @request_headers.dup
  headers['ZANALYTICS-DEST-ORGID'] = dest_org_id if dest_org_id
  response = @ac.send_api_request('POST', endpoint, config, headers)
  response['views']
end

#create_automl_analysis(name, training_table_id, prediction_type, features, server_option, algorithms, config = {}) ⇒ String

Creates a new AutoML analysis in the workspace.

Parameters:

  • name (String)

    AutoML analysis name

  • training_table_id (String)

    Training table ID

  • prediction_type (String)

    Prediction type (REGRESSION / CLASSIFICATION / CLUSTERING)

  • features (Array<String>)

    Feature columns

  • server_option (Integer)

    Compute size (1 → 8GB, 2 → 16GB, 3 → 32GB)

  • algorithms (Hash)

    Algorithms configuration

  • config (Hash) (defaults to: {})

    Additional parameters

Returns:

  • (String)

    Created AutoML analysis ID

Raises:



1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
# File 'lib/zoho_analytics_client.rb', line 1652

def create_automl_analysis(
  name,
  training_table_id,
  prediction_type,
  features,
  server_option,
  algorithms,
  config = {}
)
  config["name"]            = name
  config["trainingTableId"] = training_table_id
  config["predictionType"]  = prediction_type
  config["features"]        = features
  config["serverOption"]    = server_option
  config["algorithms"]      = algorithms

  endpoint = "/restapi/v2/automl/workspaces/#{@workspace_id}/analysis"
  response = @ac.send_api_request("POST", endpoint, config, @request_headers)
  response["id"].to_s
end

#create_automl_analysis_deployment(analysis_id, model_id, input_table_id, output_table, output_columns, prediction_column, server_option, import_type, schedule_details, config = {}) ⇒ Array<Hash>

Deploys an AutoML analysis model.

Parameters:

  • analysis_id (String)

    AutoML analysis ID

  • model_id (String)

    AutoML model ID

  • input_table_id (String)

    Input table ID

  • output_table (String)

    Output table name

  • output_columns (Array<String>)

    Output column names

  • prediction_column (String)

    Prediction column name

  • server_option (Integer)

    Compute size (1 → 8GB, 2 → 16GB, 3 → 32GB)

  • import_type (String)

    Import type (APPEND, TRUNCATEADD, UPDATEADD)

  • schedule_details (Hash, String)

    Schedule details or “none”

  • config (Hash) (defaults to: {})

    Additional control parameters

Returns:

  • (Array<Hash>)

    Deployment details

Raises:



1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
# File 'lib/zoho_analytics_client.rb', line 1711

def create_automl_analysis_deployment(
  analysis_id,
  model_id,
  input_table_id,
  output_table,
  output_columns,
  prediction_column,
  server_option,
  import_type,
  schedule_details,
  config = {}
)
  config["inputTableId"]     = input_table_id
  config["outputTable"]     = output_table
  config["outputColumns"]   = output_columns
  config["predictionColumn"] = prediction_column
  config["serverOption"]    = server_option
  config["importType"]      = import_type
  config["scheduleDetails"] = schedule_details.nil? ? "none" : schedule_details

  endpoint = "/restapi/v2/automl/workspaces/#{@workspace_id}/analysis/#{analysis_id}/models/#{model_id}/deployments"
  response = @ac.send_api_request("POST", endpoint, config, @request_headers)
  response["deployments"]
end

#create_email_schedule(schedule_name, view_ids, format, email_ids, schedule_details, config = {}) ⇒ String

Create an email schedule in the specified workspace.

Parameters:

  • schedule_name (String)

    name of the email schedule

  • view_ids (Array)

    list of view IDs to be mailed

  • format (String)

    format in which data will be mailed

  • email_ids (Array)

    list of recipient email addresses

  • schedule_details (Hash)

    frequency, date, and time details

  • config (Hash) (defaults to: {})

    additional optional parameters (default: {})

Returns:

  • (String)

    created email schedule ID



1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
# File 'lib/zoho_analytics_client.rb', line 1501

def create_email_schedule(schedule_name, view_ids, format, email_ids, schedule_details, config = {})
  config["scheduleName"] = schedule_name
  config["viewIds"] = view_ids
  config["exportType"] = format
  config["emailIds"] = email_ids
  config["scheduleDetails"] = schedule_details

  endpoint = "#{@endpoint}/emailschedules"
  response = @ac.send_api_request("POST", endpoint, config, @request_headers)
  response["scheduleId"].to_s
end

#create_folder(folder_name, config = {}) ⇒ Integer

Create a new folder in the workspace.

Parameters:

  • folder_name (String)

    Folder name

  • config (Hash) (defaults to: {})

    Optional config

Returns:

  • (Integer)

    Created folder ID



1076
1077
1078
1079
1080
1081
# File 'lib/zoho_analytics_client.rb', line 1076

def create_folder(folder_name, config = {})
  config['folderName'] = folder_name
  endpoint = "#{@endpoint}/folders"
  response = @ac.send_api_request('POST', endpoint, config, @request_headers)
  response['folderId'].to_i
end

#create_group(group_name, email_ids, config = {}) ⇒ Integer

Create a group.

Parameters:

  • group_name (String)

    Name of group

  • email_ids (Array<String>)

    Emails of members

  • config (Hash) (defaults to: {})

    Optional config

Returns:

  • (Integer)

    Group ID



1192
1193
1194
1195
1196
1197
1198
# File 'lib/zoho_analytics_client.rb', line 1192

def create_group(group_name, email_ids, config = {})
  config['groupName'] = group_name
  config['emailIds'] = email_ids
  endpoint = "#{@endpoint}/groups"
  response = @ac.send_api_request('POST', endpoint, config, @request_headers)
  response['groupId'].to_i
end

#create_query_table(sql_query, query_table_name, config = {}) ⇒ Integer

Create a new query table in the workspace.

Parameters:

  • sql_query (String)

    SQL definition

  • query_table_name (String)

    Name of query table

  • config (Hash) (defaults to: {})

    Optional config

Returns:

  • (Integer)

    Created view ID



1110
1111
1112
1113
1114
1115
1116
# File 'lib/zoho_analytics_client.rb', line 1110

def create_query_table(sql_query, query_table_name, config = {})
  config['sqlQuery'] = sql_query
  config['queryTableName'] = query_table_name
  endpoint = "#{@endpoint}/querytables"
  response = @ac.send_api_request('POST', endpoint, config, @request_headers)
  response['viewId'].to_i
end

#create_report(config = {}) ⇒ Integer

Create a report in the specified workspace.

Parameters:

  • config (Hash) (defaults to: {})

    report parameters

Returns:

  • (Integer)

    created view ID



1576
1577
1578
1579
1580
# File 'lib/zoho_analytics_client.rb', line 1576

def create_report(config = {})
  endpoint = "#{@endpoint}/reports"
  response = @ac.send_api_request("POST", endpoint, config, @request_headers)
  response["viewId"].to_i
end

#create_slideshow(slide_name, view_ids, config = {}) ⇒ Integer

Create a slideshow in the workspace.

Parameters:

  • slide_name (String)

    Name of slideshow

  • view_ids (Array<String>)

    View IDs

  • config (Hash) (defaults to: {})

    Optional config

Returns:

  • (Integer)

    Slideshow ID



1257
1258
1259
1260
1261
1262
1263
# File 'lib/zoho_analytics_client.rb', line 1257

def create_slideshow(slide_name, view_ids, config = {})
  config['slideName'] = slide_name
  config['viewIds'] = view_ids
  endpoint = "#{@endpoint}/slides"
  response = @ac.send_api_request('POST', endpoint, config, @request_headers)
  response['slideId'].to_i
end

#create_table(table_design) ⇒ Integer

Create a new table in the workspace.

Parameters:

  • table_design (Hash)

    Table definition

Returns:

  • (Integer)

    Created view ID



1097
1098
1099
1100
1101
1102
# File 'lib/zoho_analytics_client.rb', line 1097

def create_table(table_design)
  config = { 'tableDesign' => table_design }
  endpoint = "#{@endpoint}/tables"
  response = @ac.send_api_request('POST', endpoint, config, @request_headers)
  response['viewId'].to_i
end

#create_variable(variable_name, variable_datatype, variable_type, config = {}) ⇒ Integer

Create a variable in the workspace.

Parameters:

  • variable_name (String)

    Name of the variable

  • variable_datatype (String)

    Datatype of the variable

  • variable_type (String)

    Type of the variable

  • config (Hash) (defaults to: {})

    Additional config

Returns:

  • (Integer)

    Variable ID



1319
1320
1321
1322
1323
1324
1325
1326
# File 'lib/zoho_analytics_client.rb', line 1319

def create_variable(variable_name, variable_datatype, variable_type, config = {})
  endpoint = "#{@endpoint}/variables"
  config['variableName'] = variable_name
  config['variableDataType'] = variable_datatype
  config['variableType'] = variable_type
  response = @ac.send_api_request('POST', endpoint, config, @request_headers)
  response['variableId'].to_i
end

#deleteObject

Delete the specified workspace.



949
950
951
# File 'lib/zoho_analytics_client.rb', line 949

def delete
  @ac.send_api_request('DELETE', @endpoint, nil, @request_headers)
end

#delete_automl_analysis(analysis_id, config = {}) ⇒ Object

Deletes the specified AutoML analysis from the workspace.

Parameters:

  • analysis_id (String)

    AutoML analysis ID

  • config (Hash) (defaults to: {})

    Additional control parameters

Raises:



1679
1680
1681
1682
# File 'lib/zoho_analytics_client.rb', line 1679

def delete_automl_analysis(analysis_id, config = {})
endpoint = "/restapi/v2/automl/workspaces/#{@workspace_id}/analysis/#{analysis_id}"
@ac.send_api_request("DELETE", endpoint, config, @request_headers)
end

#delete_automl_analysis_deployment(analysis_id, deployment_id, config = {}) ⇒ Object

Deletes an AutoML analysis deployment.

Parameters:

  • analysis_id (String)

    AutoML analysis ID

  • deployment_id (String)

    Deployment ID

  • config (Hash) (defaults to: {})

    Additional control parameters

Raises:



1755
1756
1757
1758
# File 'lib/zoho_analytics_client.rb', line 1755

def delete_automl_analysis_deployment(analysis_id, deployment_id, config = {})
  endpoint = "/restapi/v2/automl/workspaces/#{@workspace_id}/analysis/#{analysis_id}/deployments/#{deployment_id}"
  @ac.send_api_request("DELETE", endpoint, config, @request_headers)
end

#delete_automl_analysis_model(analysis_id, model_id, config = {}) ⇒ Object

Deletes a specific model from the given AutoML analysis.

Parameters:

  • analysis_id (String)

    AutoML analysis ID

  • model_id (String)

    AutoML model ID

  • config (Hash) (defaults to: {})

    Additional control parameters

Raises:



1691
1692
1693
1694
# File 'lib/zoho_analytics_client.rb', line 1691

def delete_automl_analysis_model(analysis_id, model_id, config = {})
  endpoint = "/restapi/v2/automl/workspaces/#{@workspace_id}/analysis/#{analysis_id}/models/#{model_id}"
  @ac.send_api_request("DELETE", endpoint, config, @request_headers)
end

#delete_email_schedule(schedule_id) ⇒ Object

Delete the specified email schedule.

Parameters:

  • schedule_id (String)

    ID of the email schedule to delete



1541
1542
1543
1544
# File 'lib/zoho_analytics_client.rb', line 1541

def delete_email_schedule(schedule_id)
  endpoint = "#{@endpoint}/emailschedules/#{schedule_id}"
  @ac.send_api_request("DELETE", endpoint, nil, @request_headers)
end

#delete_folder(folder_id) ⇒ Object

Delete a folder.

Parameters:

  • folder_id (String)

    Folder ID



1172
1173
1174
1175
# File 'lib/zoho_analytics_client.rb', line 1172

def delete_folder(folder_id)
  endpoint = "#{@endpoint}/folders/#{folder_id}"
  @ac.send_api_request('DELETE', endpoint, nil, @request_headers)
end

#delete_group(group_id) ⇒ Object

Delete a group.

Parameters:

  • group_id (String)

    Group ID



1224
1225
1226
1227
# File 'lib/zoho_analytics_client.rb', line 1224

def delete_group(group_id)
  endpoint = "#{@endpoint}/groups/#{group_id}"
  @ac.send_api_request('DELETE', endpoint, nil, @request_headers)
end

#delete_slideshow(slide_id) ⇒ Object

Delete a slideshow.

Parameters:

  • slide_id (String)

    Slideshow ID



1277
1278
1279
1280
# File 'lib/zoho_analytics_client.rb', line 1277

def delete_slideshow(slide_id)
  endpoint = "#{@endpoint}/slides/#{slide_id}"
  @ac.send_api_request('DELETE', endpoint, nil, @request_headers)
end

#delete_trash_views(view_id, config = {}) ⇒ Object

Permanently delete a view from trash.



1405
1406
1407
1408
# File 'lib/zoho_analytics_client.rb', line 1405

def delete_trash_views(view_id, config = {})
  endpoint = "#{@endpoint}/trash/#{view_id}"
  @ac.send_api_request('DELETE', endpoint, config, @request_headers)
end

#delete_variable(variable_id) ⇒ Object

Delete a variable from the workspace.



1338
1339
1340
1341
# File 'lib/zoho_analytics_client.rb', line 1338

def delete_variable(variable_id)
  endpoint = "#{@endpoint}/variables/#{variable_id}"
  @ac.send_api_request('DELETE', endpoint, nil, @request_headers)
end

#deploy_automl_analysis(analysis_id, deployment_id, config = {}) ⇒ Object

Executes an AutoML analysis deployment.

Parameters:

  • analysis_id (String)

    AutoML analysis ID

  • deployment_id (String)

    Deployment ID

  • config (Hash) (defaults to: {})

    Additional control parameters

Raises:



1743
1744
1745
1746
# File 'lib/zoho_analytics_client.rb', line 1743

def deploy_automl_analysis(analysis_id, deployment_id, config = {})
  endpoint = "/restapi/v2/automl/workspaces/#{@workspace_id}/analysis/#{analysis_id}/deployments/#{deployment_id}/execute"
  @ac.send_api_request("POST", endpoint, config, @request_headers)
end

#disable_domain_accessObject

Disable white-label domain access for the workspace.



1153
1154
1155
1156
# File 'lib/zoho_analytics_client.rb', line 1153

def disable_domain_access
  endpoint = "#{@endpoint}/wlaccess"
  @ac.send_api_request('DELETE', endpoint, nil, @request_headers)
end

#edit_query_table(view_id, sql_query, config = {}) ⇒ Object

Update an existing query table.

Parameters:

  • view_id (String)

    View ID

  • sql_query (String)

    New SQL query

  • config (Hash) (defaults to: {})

    Optional config



1123
1124
1125
1126
1127
# File 'lib/zoho_analytics_client.rb', line 1123

def edit_query_table(view_id, sql_query, config = {})
  config['sqlQuery'] = sql_query
  endpoint = "#{@endpoint}/querytables/#{view_id}"
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end

#enable_domain_accessObject

Enable the workspace for white-label domain access.



1147
1148
1149
1150
# File 'lib/zoho_analytics_client.rb', line 1147

def enable_domain_access
  endpoint = "#{@endpoint}/wlaccess"
  @ac.send_api_request('POST', endpoint, nil, @request_headers)
end

#export_as_template(view_ids, file_path, config = {}) ⇒ Object

Export views as a template file.

Parameters:

  • view_ids (Array<String>)

    View IDs

  • file_path (String)

    Path to save the file

  • config (Hash) (defaults to: {})

    Optional config



1437
1438
1439
1440
1441
# File 'lib/zoho_analytics_client.rb', line 1437

def export_as_template(view_ids, file_path, config = {})
  endpoint = "#{@endpoint}/template/data"
  config['viewIds'] = view_ids
  @ac.send_export_api_request(endpoint, config, @request_headers, file_path)
end

#get_adminsArray<Hash>

Get list of admins for the workspace.

Returns:

  • (Array<Hash>)

    Admin details



990
991
992
993
994
# File 'lib/zoho_analytics_client.rb', line 990

def get_admins
  endpoint = "#{@endpoint}/admins"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response['workspaceAdmins']
end

#get_aggregate_formula_dependents(formula_id) ⇒ Hash

Returns dependents for a specified aggregate formula.

Parameters:

  • formula_id (String)

    aggregate formula ID

Returns:

  • (Hash)

    dependent views and formulas



1558
1559
1560
1561
1562
# File 'lib/zoho_analytics_client.rb', line 1558

def get_aggregate_formula_dependents(formula_id)
  endpoint = "#{@endpoint}/aggregateformulas/#{formula_id}/dependents"
  response = @ac.send_api_request("GET", endpoint, nil, @request_headers)
  response
end

#get_aggregate_formula_value(formula_id) ⇒ String

Returns the value of the aggregate formula.

Parameters:

  • formula_id (String)

    aggregate formula ID

Returns:

  • (String)

    formula value



1567
1568
1569
1570
1571
# File 'lib/zoho_analytics_client.rb', line 1567

def get_aggregate_formula_value(formula_id)
  endpoint = "#{@endpoint}/aggregateformulas/#{formula_id}/value"
  response = @ac.send_api_request("GET", endpoint, nil, @request_headers)
  response["formulaValue"]
end

#get_aggregate_formulas(config = {}) ⇒ Array

Returns list of all aggregate formulas for the specified workspace.

Parameters:

  • config (Hash) (defaults to: {})

    optional parameters (default: {})

Returns:

  • (Array)

    list of aggregate formulas



1549
1550
1551
1552
1553
# File 'lib/zoho_analytics_client.rb', line 1549

def get_aggregate_formulas(config = {})
  endpoint = "#{@endpoint}/aggregateformulas"
  response = @ac.send_api_request("GET", endpoint, config, @request_headers)
  response["aggregateFormulas"]
end

#get_automl_analysisArray<Hash>

Returns all AutoML analyses for the workspace.

Returns:

  • (Array<Hash>)

    AutoML analysis list

Raises:



1606
1607
1608
1609
1610
# File 'lib/zoho_analytics_client.rb', line 1606

def get_automl_analysis
  endpoint = "/restapi/v2/automl/workspaces/#{@workspace_id}/analysis"
  response = @ac.send_api_request("GET", endpoint, nil, @request_headers)
  response["analysis"]
end

#get_automl_analysis_details(analysis_id) ⇒ Hash

Retrieves detailed information for a specific AutoML analysis.

Parameters:

  • analysis_id (String)

    AutoML analysis ID

Returns:

  • (Hash)

    AutoML analysis details

Raises:



1619
1620
1621
1622
1623
# File 'lib/zoho_analytics_client.rb', line 1619

def get_automl_analysis_details(analysis_id)
  endpoint = "/restapi/v2/automl/workspaces/#{@workspace_id}/analysis/#{analysis_id}"
  response = @ac.send_api_request("GET", endpoint, nil, @request_headers)
  response["analysis"]
end

#get_datasourcesArray<Hash>

Get list of data sources.

Returns:

  • (Array<Hash>)

    List of data sources



1371
1372
1373
1374
1375
# File 'lib/zoho_analytics_client.rb', line 1371

def get_datasources
  endpoint = "#{@endpoint}/datasources"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response['dataSources']
end

#get_deployment_details(analysis_id, model_id) ⇒ Array<Hash>

Returns deployment details for an AutoML analysis model.

Parameters:

  • analysis_id (String)

    AutoML analysis ID

  • model_id (String)

    AutoML model ID

Returns:

  • (Array<Hash>)

    Deployment details

Raises:



1633
1634
1635
1636
1637
# File 'lib/zoho_analytics_client.rb', line 1633

def get_deployment_details(analysis_id, model_id)
  endpoint = "/restapi/v2/automl/workspaces/#{@workspace_id}/analysis/#{analysis_id}/models/#{model_id}/deployments"
  response = @ac.send_api_request("GET", endpoint, nil, @request_headers)
  response["deployments"]
end

#get_email_schedulesArray

Returns list of email schedules available in the specified workspace.

Returns:

  • (Array)

    list of email schedules

Raises:

  • (ServerError)

    if the server fails to process the request

  • (ParseError)

    if the response can't be parsed



1487
1488
1489
1490
1491
# File 'lib/zoho_analytics_client.rb', line 1487

def get_email_schedules
  endpoint = "#{@endpoint}/emailschedules"
  response = @ac.send_api_request("GET", endpoint, nil, @request_headers)
  response["emailSchedules"]
end

#get_foldersArray<Hash>

Returns a list of all accessible folders in the workspace.

Returns:

  • (Array<Hash>)

    Folder list



1065
1066
1067
1068
1069
# File 'lib/zoho_analytics_client.rb', line 1065

def get_folders
  endpoint = "#{@endpoint}/folders"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response['folders']
end

#get_group_details(group_id) ⇒ Hash

Get details for a group.

Parameters:

  • group_id (String)

    Group ID

Returns:

  • (Hash)

    Group details



1204
1205
1206
1207
1208
# File 'lib/zoho_analytics_client.rb', line 1204

def get_group_details(group_id)
  endpoint = "#{@endpoint}/groups/#{group_id}"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response['groups']
end

#get_groupsArray<Hash>

Get groups in the workspace.

Returns:

  • (Array<Hash>)

    Group list



1180
1181
1182
1183
1184
# File 'lib/zoho_analytics_client.rb', line 1180

def get_groups
  endpoint = "#{@endpoint}/groups"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response['groups']
end

#get_query_table_details(query_table_id) ⇒ Hash

Returns details of the specified query table.

Parameters:

  • query_table_id (String)

    Query table ID

Returns:

  • (Hash)

    Query table details

Raises:

  • (ServerError)

    If the server fails to process the request

  • (ParseError)

    If response parsing fails



1596
1597
1598
1599
# File 'lib/zoho_analytics_client.rb', line 1596

def get_query_table_details(query_table_id)
  endpoint = "#{@endpoint}/querytables/#{query_table_id}"
  @ac.send_api_request("GET", endpoint, nil, @request_headers)
end

#get_secret_key(config = {}) ⇒ String

Get the secret key for the workspace.

Parameters:

  • config (Hash) (defaults to: {})

    Optional config

Returns:

  • (String)

    Secret key



957
958
959
960
961
# File 'lib/zoho_analytics_client.rb', line 957

def get_secret_key(config = {})
  endpoint = "#{@endpoint}/secretkey"
  response = @ac.send_api_request('GET', endpoint, config, @request_headers)
  response['workspaceKey']
end

#get_share_infoHash

Get workspace share info.

Returns:

  • (Hash)

    Share information



1019
1020
1021
1022
1023
# File 'lib/zoho_analytics_client.rb', line 1019

def get_share_info
  endpoint = "#{@endpoint}/share"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response
end

#get_shared_details_for_views(view_ids) ⇒ Array<Hash>

Get shared details for the given views.

Parameters:

  • view_ids (Array<String>)

    View IDs

Returns:

  • (Array<Hash>)

    Shared detail entries



1055
1056
1057
1058
1059
1060
# File 'lib/zoho_analytics_client.rb', line 1055

def get_shared_details_for_views(view_ids)
  config = { 'viewIds' => view_ids }
  endpoint = "#{@endpoint}/share/shareddetails"
  response = @ac.send_api_request('GET', endpoint, config, @request_headers)
  response['sharedDetails']
end

#get_slideshow_details(slide_id) ⇒ Hash

Get slideshow details.

Parameters:

  • slide_id (String)

    Slideshow ID

Returns:

  • (Hash)

    Slideshow details



1306
1307
1308
1309
1310
# File 'lib/zoho_analytics_client.rb', line 1306

def get_slideshow_details(slide_id)
  endpoint = "#{@endpoint}/slides/#{slide_id}"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response['slideInfo']
end

#get_slideshow_url(slide_id, config = {}) ⇒ String

Get URL to access a slideshow.

Parameters:

  • slide_id (String)

    Slideshow ID

  • config (Hash) (defaults to: {})

    Optional config

Returns:

  • (String)

    Published URL



1296
1297
1298
1299
1300
# File 'lib/zoho_analytics_client.rb', line 1296

def get_slideshow_url(slide_id, config = {})
  endpoint = "#{@endpoint}/slides/#{slide_id}/publish"
  response = @ac.send_api_request('GET', endpoint, config, @request_headers)
  response['slideUrl']
end

#get_slideshowsArray<Hash>

Get all slideshows in the workspace.

Returns:

  • (Array<Hash>)

    Slideshow list



1285
1286
1287
1288
1289
# File 'lib/zoho_analytics_client.rb', line 1285

def get_slideshows
  endpoint = "#{@endpoint}/slides"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response['slideshows']
end

#get_trash_viewsArray<Hash>

Get list of trash views.

Returns:

  • (Array<Hash>)

    Trash views



1392
1393
1394
1395
1396
# File 'lib/zoho_analytics_client.rb', line 1392

def get_trash_views
  endpoint = "#{@endpoint}/trash"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response['views']
end

#get_variable_details(variable_id) ⇒ Hash

Get details of a specific variable.

Parameters:

  • variable_id (String)

    ID of the variable

Returns:

  • (Hash)

    Variable details



1356
1357
1358
1359
1360
# File 'lib/zoho_analytics_client.rb', line 1356

def get_variable_details(variable_id)
  endpoint = "#{@endpoint}/variables/#{variable_id}"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response
end

#get_variablesArray<Hash>

Get list of variables in the workspace.

Returns:

  • (Array<Hash>)

    List of variables



1346
1347
1348
1349
1350
# File 'lib/zoho_analytics_client.rb', line 1346

def get_variables
  endpoint = "#{@endpoint}/variables"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response['variables']
end

#get_views(config = {}) ⇒ Array<Hash>

Get list of all views in the workspace.

Parameters:

  • config (Hash) (defaults to: {})

    Optional config

Returns:

  • (Array<Hash>)

    View list



1087
1088
1089
1090
1091
# File 'lib/zoho_analytics_client.rb', line 1087

def get_views(config = {})
  endpoint = "#{@endpoint}/views"
  response = @ac.send_api_request('GET', endpoint, config, @request_headers)
  response['views']
end

#get_workspace_usersArray<Hash>

Get users in the workspace.

Returns:

  • (Array<Hash>)

    User list



1446
1447
1448
1449
1450
# File 'lib/zoho_analytics_client.rb', line 1446

def get_workspace_users
  endpoint = "#{@endpoint}/users"
  response = @ac.send_api_request('GET', endpoint, nil, @request_headers)
  response['users']
end

#make_default_folder(folder_id) ⇒ Object

Mark a folder as default.



1363
1364
1365
1366
# File 'lib/zoho_analytics_client.rb', line 1363

def make_default_folder(folder_id)
  endpoint = "#{@endpoint}/folders/#{folder_id}/default"
  @ac.send_api_request('PUT', endpoint, nil, @request_headers)
end

#move_views_to_folder(folder_id, view_ids, config = {}) ⇒ Object

Move views into a folder.



1425
1426
1427
1428
1429
1430
# File 'lib/zoho_analytics_client.rb', line 1425

def move_views_to_folder(folder_id, view_ids, config = {})
  endpoint = "#{@endpoint}/views/movetofolder"
  config['folderId'] = folder_id
  config['viewIds'] = view_ids
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end

#remove_admins(email_ids, config = {}) ⇒ Object

Remove admins from the workspace.

Parameters:

  • email_ids (Array<String>)

    Email addresses

  • config (Hash) (defaults to: {})

    Optional config



1010
1011
1012
1013
1014
# File 'lib/zoho_analytics_client.rb', line 1010

def remove_admins(email_ids, config = {})
  config['emailIds'] = email_ids
  endpoint = "#{@endpoint}/admins"
  @ac.send_api_request('DELETE', endpoint, config, @request_headers)
end

#remove_defaultObject

Unset the workspace from default.



982
983
984
985
# File 'lib/zoho_analytics_client.rb', line 982

def remove_default
  endpoint = "#{@endpoint}/default"
  @ac.send_api_request('DELETE', endpoint, nil, @request_headers)
end

#remove_favoriteObject

Unmark the workspace as favorite.



970
971
972
973
# File 'lib/zoho_analytics_client.rb', line 970

def remove_favorite
  endpoint = "#{@endpoint}/favorite"
  @ac.send_api_request('DELETE', endpoint, nil, @request_headers)
end

#remove_group_members(group_id, email_ids, config = {}) ⇒ Object

Remove users from a group.

Parameters:

  • group_id (String)

    Group ID

  • email_ids (Array<String>)

    Email list

  • config (Hash) (defaults to: {})

    Optional config



1245
1246
1247
1248
1249
# File 'lib/zoho_analytics_client.rb', line 1245

def remove_group_members(group_id, email_ids, config = {})
  config['emailIds'] = email_ids
  endpoint = "#{@endpoint}/groups/#{group_id}/members"
  @ac.send_api_request('DELETE', endpoint, config, @request_headers)
end

#remove_share(view_ids, email_ids, config = {}) ⇒ Object

Remove shared views for specific users.

Parameters:

  • view_ids (Array<String>, nil)

    View IDs

  • email_ids (Array<String>)

    User emails

  • config (Hash) (defaults to: {})

    Optional config



1044
1045
1046
1047
1048
1049
# File 'lib/zoho_analytics_client.rb', line 1044

def remove_share(view_ids, email_ids, config = {})
  config['emailIds'] = email_ids
  config['viewIds'] = view_ids if view_ids
  endpoint = "#{@endpoint}/share"
  @ac.send_api_request('DELETE', endpoint, config, @request_headers)
end

#remove_workspace_users(email_ids, config = {}) ⇒ Object

Remove users from the workspace.



1461
1462
1463
1464
1465
# File 'lib/zoho_analytics_client.rb', line 1461

def remove_workspace_users(email_ids, config = {})
  config['emailIds'] = email_ids
  endpoint = "#{@endpoint}/users"
  @ac.send_api_request('DELETE', endpoint, config, @request_headers)
end

#rename(workspace_name, config = {}) ⇒ Object

Rename the specified workspace.

Parameters:

  • workspace_name (String)

    New name

  • config (Hash) (defaults to: {})

    Optional config



943
944
945
946
# File 'lib/zoho_analytics_client.rb', line 943

def rename(workspace_name, config = {})
  config['workspaceName'] = workspace_name
  @ac.send_api_request('PUT', @endpoint, config, @request_headers)
end

#rename_folder(folder_id, folder_name, config = {}) ⇒ Object

Rename a folder.

Parameters:

  • folder_id (String)

    Folder ID

  • folder_name (String)

    New name

  • config (Hash) (defaults to: {})

    Optional config



1163
1164
1165
1166
1167
# File 'lib/zoho_analytics_client.rb', line 1163

def rename_folder(folder_id, folder_name, config = {})
  config['folderName'] = folder_name
  endpoint = "#{@endpoint}/folders/#{folder_id}"
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end

#rename_group(group_id, group_name, config = {}) ⇒ Object

Rename a group.

Parameters:

  • group_id (String)

    Group ID

  • group_name (String)

    New name

  • config (Hash) (defaults to: {})

    Optional config



1215
1216
1217
1218
1219
# File 'lib/zoho_analytics_client.rb', line 1215

def rename_group(group_id, group_name, config = {})
  config['groupName'] = group_name
  endpoint = "#{@endpoint}/groups/#{group_id}"
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end

#restore_trash_views(view_id, config = {}) ⇒ Object

Restore a view from trash.



1399
1400
1401
1402
# File 'lib/zoho_analytics_client.rb', line 1399

def restore_trash_views(view_id, config = {})
  endpoint = "#{@endpoint}/trash/#{view_id}"
  @ac.send_api_request('POST', endpoint, config, @request_headers)
end

#share_views(view_ids, email_ids, permissions, config = {}) ⇒ Object

Share views to users.

Parameters:

  • view_ids (Array<String>)

    View IDs to share

  • email_ids (Array<String>)

    User emails

  • permissions (Hash)

    Permission map

  • config (Hash) (defaults to: {})

    Optional config



1031
1032
1033
1034
1035
1036
1037
# File 'lib/zoho_analytics_client.rb', line 1031

def share_views(view_ids, email_ids, permissions, config = {})
  config['viewIds'] = view_ids
  config['emailIds'] = email_ids
  config['permissions'] = permissions
  endpoint = "#{@endpoint}/share"
  @ac.send_api_request('POST', endpoint, config, @request_headers)
end

#sync_data(datasource_id, config = {}) ⇒ Object

Trigger data sync for a data source.



1378
1379
1380
1381
# File 'lib/zoho_analytics_client.rb', line 1378

def sync_data(datasource_id, config = {})
  endpoint = "#{@endpoint}/datasources/#{datasource_id}/sync"
  @ac.send_api_request('POST', endpoint, config, @request_headers)
end

#trigger_email_schedule(schedule_id) ⇒ Object

Trigger the configured email schedule instantly.

Parameters:

  • schedule_id (String)

    ID of the email schedule to trigger



1525
1526
1527
1528
# File 'lib/zoho_analytics_client.rb', line 1525

def trigger_email_schedule(schedule_id)
  endpoint = "#{@endpoint}/emailschedules/#{schedule_id}"
  @ac.send_api_request("POST", endpoint, nil, @request_headers)
end

#update_datasource_connection(datasource_id, config = {}) ⇒ Object

Update data source connection.



1384
1385
1386
1387
# File 'lib/zoho_analytics_client.rb', line 1384

def update_datasource_connection(datasource_id, config = {})
  endpoint = "#{@endpoint}/datasources/#{datasource_id}"
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end

#update_email_schedule(schedule_id, config) ⇒ String

Update configurations of the specified email schedule.

Parameters:

  • schedule_id (String)

    ID of the email schedule to update

  • config (Hash)

    configuration parameters to update

Returns:

  • (String)

    updated schedule ID



1517
1518
1519
1520
1521
# File 'lib/zoho_analytics_client.rb', line 1517

def update_email_schedule(schedule_id, config)
  endpoint = "#{@endpoint}/emailschedules/#{schedule_id}"
  response = @ac.send_api_request("PUT", endpoint, config, @request_headers)
  response["scheduleId"].to_s
end

#update_report(view_id, config = {}) ⇒ Object

Update the design and configuration of the specified report.

Parameters:

  • view_id (String)

    ID of the report view

  • config (Hash) (defaults to: {})

    configuration parameters



1585
1586
1587
1588
# File 'lib/zoho_analytics_client.rb', line 1585

def update_report(view_id, config = {})
  endpoint = "#{@endpoint}/reports/#{view_id}"
  @ac.send_api_request("PUT", endpoint, config, @request_headers)
end

#update_slideshow(slide_id, config = {}) ⇒ Object

Update a slideshow.

Parameters:

  • slide_id (String)

    Slideshow ID

  • config (Hash) (defaults to: {})

    Update data



1269
1270
1271
1272
# File 'lib/zoho_analytics_client.rb', line 1269

def update_slideshow(slide_id, config = {})
  endpoint = "#{@endpoint}/slides/#{slide_id}"
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end

#update_variable(variable_id, variable_name, variable_datatype, variable_type, config = {}) ⇒ Object

Update a variable in the workspace.



1329
1330
1331
1332
1333
1334
1335
# File 'lib/zoho_analytics_client.rb', line 1329

def update_variable(variable_id, variable_name, variable_datatype, variable_type, config = {})
  endpoint = "#{@endpoint}/variables/#{variable_id}"
  config['variableName'] = variable_name
  config['variableDataType'] = variable_datatype
  config['variableType'] = variable_type
  @ac.send_api_request('PUT', endpoint, config, @request_headers)
end