Update Email Schedule
Update configurations of the specified email schedule in the workspace.
REQUEST URI
https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<workspace-id>/emailschedules/<schedule-id>
Put
oauthscope: ZohoAnalytics.modeling.update
QUERY PARAMETERS
  | Description | 
|---|---|
| CONFIG* | JSONObject Config parameter specifications are available in the below section.  | 
FIELDS FOR CONFIG JSON
| Key | Description | |
|---|---|---|
| scheduleName* | String Name of the schedule.  | |
| scheduleDetails* | JSONObject Detailed information about the schedule, such as time, frequency, etc.  | |
| Structure of scheduleDetails attribute | ||
| calendarFrequency* | String Defines the frequency of calendar events. Allowed values are daily, weekly, monthly and yearly.  | |
| hour* | Integer Specifies the hour of the day (0-23) when the email schedule should be triggered.  | |
| minute* | Integer Specifies the minute within the hour (at five-minute intervals only, ranging from 0 to 59) at which the email schedule will be triggered. Allowed values include 0, 5, 10, 15, ..., 50, and 55.  | |
| weekDay | Integer Specifies a particular day of the week when the email schedule should be triggered. Allowed values are 1 to 7, where 1 represents Sunday and 7 represents Saturday.  | |
| weekDays | JSONArray Specifies the days of the week when the email schedule should be triggered. Allowed values are 1 to 7, where 1 represents Sunday and 7 represents Saturday.  | |
| weekNumber | Integer Specifies the week of the month when the email schedule should be triggered. Allowed values are 1 to 5.  | |
| monthDay | Integer Specifies a particular day of the month when the email schedule should be triggered. Allowed values are 1 to 31 and 99 to specify the last day of the month. The value is a single integer.  | |
| monthDays | JSONArray Specifies the days of the month when the email schedule should be triggered. Allowed values are 1 to 31 and 99 to specify the last day of the month.  | |
| months | JSONArray Specifies the months of the year when the email schedule should be triggered. Allowed values are 1 to 12.  | |
| emailIds | JSONArray The email address of the users to whom the views need to be shared.  | |
| groupIds | JSONArray IDs of the groups available in the workspace. These IDs ensure that the views are shared with all participants belonging to the specified groups.  | |
| cc | JSONArray Sample: {"emailIds":["emailId1","emailId2"], "groupIds":["groupId1","groupId2"]}  | |
| subject | String Subject of the email.  | |
| message | String Message content of the email.  | |
POSSIBLE ERROR CODES
Sample Request:
Copiedcurl https://analyticsapi.zoho.com/restapi/v2/workspaces/<workspace-id>/emailschedules/<schedule-id> --data-urlencode 'CONFIG={"scheduleDetails":{"calendarFrequency":"daily","hour":"10","minute":"30"},"subject":"Daily Sales Overview"}' 
-X 'PUT' 
-H 'ZANALYTICS-ORGID: <org-id>' 
-H 'Authorization: Zoho-oauthtoken <access_token>'Copiedusing System;
using System.Collections.Generic;
using ZohoAnalytics;
using System.Text.Json;
namespace ZohoAnalyticsTest
{
    class Program
    {
        long orgId = 55522777;
        long workspaceId = 35130000001055707;
        public void UpdateEmailSchedule(IAnalyticsClient ac)
        {
            long scheduleId = 115674600000150007;
            Dictionary<string, object> scheduleDetails = new Dictionary<string, object>();
            scheduleDetails.Add("calendarFrequency", "Daily");
            scheduleDetails.Add("hour", 8);
            scheduleDetails.Add("minute", 30);
            Dictionary<string, object> config = new Dictionary<string, object>();
            config.Add("subject", "Daily Sales Overview");
            config.Add("scheduleDetails", scheduleDetails);
            IWorkspaceAPI ws = ac.GetWorkspaceInstance(orgId, workspaceId);
            long newScheduleId = ws.UpdateEmailSchedule(scheduleId, config);
            Console.WriteLine(newScheduleId);
        }
        static void Main(string[] args)
        {
            string clientId = "1000.xxxxxxx";
            string clientSecret = "xxxxxxx";
            string refreshToken = "1000.xxxxxxx.xxxxxxx";
            try
            {
                IAnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
                Program obj = new Program();
                obj.UpdateEmailSchedule(ac);
            }
            catch (ServerException ex)
            {
                Console.WriteLine("Server exception - " + ex.GetErrorMessage());
            }
            catch (Exception ex)
            {
                Console.WriteLine("Other exception - " + ex.Message);
            }
        }
    }
}Copiedpackage main
import (
    "fmt"
    ZAnalytics "zoho/pkg/analyticsclient"
)
var(
    clientId = "1000.xxxxxxx"
    clientSecret = "xxxxxxx"
    refreshToken = "1000.xxxxxxx.xxxxxxx"
    orgId = "55522777"
    workspaceId = "35130000001055707"
)
func UpdateEmailSchedule(ac ZAnalytics.Client) {
    scheduleid := "115674600000150007"
    scheduledetails := map[string]interface{}{
        "calendarFrequency": "Daily",
        "hour":              8,
        "minute":            30,
    }
    config := map[string]interface{}{
        "subject":          "Daily Sales Overview",
        "scheduleDetails": scheduledetails,
    }
    workspace := ZAnalytics.GetWorkspaceInstance(&ac, orgId, workspaceId)
    result, exception := workspace.UpdateEmailSchedule(scheduleid, config)
    if(exception != nil){
        fmt.Println(exception.ErrorMessage)
    }else{
        fmt.Println(result)
    }
}
func main() {
    ac := ZAnalytics.GetAnalyticsClient(clientId, clientSecret, refreshToken)
    UpdateEmailSchedule(ac)
}Copiedimport com.zoho.analytics.client.*;
import org.json.*;
public class Test {
    private long orgId = 55522777l;
    private long workspaceId = 35130000001055707l;
    public static void main(String args[]){
        String clientId = "1000.xxxxxxx";
        String clientSecret = "xxxxxxx";
        String refreshToken = "1000.xxxxxxx.xxxxxxx";
        Test tObj = new Test();
        AnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
        try {
            tObj.updateEmailSchedule(ac);
        }
        catch (ServerException ex) {
            System.out.println("Server exception - ErrorCode : " + ex.getErrorCode() + ", ErrorMessage : "  + ex.getErrorMessage());
        }
        catch (ParseException ex) {
            System.out.println("Parser exception - ErrorMessage : "  + ex.getResponseMessage());
        }
        catch (Exception ex) {
            System.out.println("Other exception - ");
            ex.printStackTrace();
        }
    }
    public void updateEmailSchedule(AnalyticsClient ac) throws Exception {
        long scheduleId = 115674600000150007l;
        JSONObject scheduleDetails = new JSONObject();
        scheduleDetails.put("calendarFrequency", "Daily");
        scheduleDetails.put("hour", 8);
        scheduleDetails.put("minute", 30);
        JSONObject config = new JSONObject();
        config.put("subject", "Daily Sales Overview");
        config.put("scheduleDetails", scheduleDetails);
        WorkspaceAPI workspace = ac.getWorkspaceInstance(orgId, workspaceId);
        long result = workspace.updateEmailSchedule(scheduleId, config);
        System.out.println(result);
    }
}Copied<?php
    require 'AnalyticsClient.php';
    class Test
    {
        public $ac = NULL;
        public $client_id = "1000.xxxxxxx";
        public $client_secret = "xxxxxxx";
        public $refresh_token = "1000.xxxxxxx.xxxxxxx";
        public $org_id = "55522777";
        public $workspace_id = "35130000001055707";
        function __construct() {
            $this->ac =  new AnalyticsClient($this->client_id, $this->client_secret, $this->refresh_token);
        }
        function updateEmailSchedule() {
            $schedule_id = 115674600000150007;
            $schedule_details = array(
                "calendarFrequency" => "Daily",
                "hour" => 8,
                "minute" => 30
            );
            $config = array(
                "subject" => "Daily Sales Overview",
                "scheduleDetails" => $schedule_details
            );
            $workspace = $this->ac->getWorkspaceInstance($this->org_id, $this->workspace_id);
            $newScheduleId = $workspace->updateEmailSchedule($schedule_id, $config);
            echo $newScheduleId;
        }
    }
    $test_obj = new Test();
    try {
        $test_obj->updateEmailSchedule();
    }
    catch(ServerException $se) {
        echo "Server exception : " . $se->getErrorMessage() . "\n";
    }
    catch(IOException $ioe) {
        echo "IO exception : " . $ioe->getErrorMessage() . "\n";
    }
    catch(ParseException $pe) {
        echo "Parser exception : " . $pe->getErrorMessage() . "\n";
    }
    catch(Exception $e) {
        echo "Exception : " . $e->getErrorMessage() . "\n";
    }
?>Copiedfrom __future__ import with_statement
from AnalyticsClient import AnalyticsClient
import sys
import json
class Config:
    CLIENTID = "1000.xxxxxxx";
    CLIENTSECRET = "xxxxxxx";
    REFRESHTOKEN = "1000.xxxxxxx.xxxxxxx";
    ORGID = "55522777";
    WORKSPACEID = "35130000001055707";
class sample:
    ac = AnalyticsClient(Config.CLIENTID, Config.CLIENTSECRET, Config.REFRESHTOKEN)
    def update_email_schedule(self, ac):
        schedule_id = "115674600000150007"
        schedule_details = {
            "calendarFrequency": "Daily",
            "hour": 8,
            "minute": 30
        }
        config = {
            "subject": "Daily Sales Overview",
            "scheduleDetails": schedule_details
        }
        workspace = ac.get_workspace_instance(Config.ORGID, Config.WORKSPACEID)
        new_schedule_id = workspace.update_email_schedule(schedule_id, config)
        print(new_schedule_id)
try:
    obj = sample()
    obj.update_email_schedule(obj.ac);
except Exception as e:
    print(str(e))Copiedconst analyticsClient = require('./AnalyticsClient');
const clientId = '1000.xxxxxxx';
const clientSecret = 'xxxxxxx';
const refreshToken = '1000.xxxxxxx.xxxxxxx';
const orgId = '55522777';
const workspaceId = '35130000001055707';
const ac = new analyticsClient(clientId, clientSecret, refreshToken);
const workspace = ac.getWorkspaceInstance(orgId, workspaceId);
const scheduleId = '115674600000150007';
const scheduleDetails = {
    calendarFrequency: 'Daily',
    hour: 8,
    minute: 30
};
const config = {
    subject: 'Daily Sales Overview',
    scheduleDetails: scheduleDetails
};
workspace.updateEmailSchedule(scheduleId, config)
    .then((newScheduleId) => {
        console.log(newScheduleId);
    }).catch((error) => {
        console.log('errorCode: ' + error.errorCode);
        console.log('errorMessage: ' + error.errorMessage);
    });CopiedorgId = "55522777";
workspaceId = "35130000001055707";
scheduleId = "35130000001077708";
headersMap = Map();
headersMap.put("ZANALYTICS-ORGID",orgId);
config = Map();
scheduleDetails = Map();
scheduleDetails.put("calendarFrequency","daily");
scheduleDetails.put("hour","08");
scheduleDetails.put("minute","20");
config.put("scheduleDetails",scheduleDetails);
paramsMap = Map();
paramsMap.put("CONFIG",config.toString());
response = invokeurl
[
  url :"https://analyticsapi.zoho.com/restapi/v2/workspaces/" + workspaceId + "/emailschedules/" + scheduleId
  type :PUT
  parameters:paramsMap
  headers:headersMap
  connection:"analytics_oauth_connection"
];
info response;Sample value for CONFIG parameter:
Copied{
    "scheduleDetails": {
        "calendarFrequency": "daily",
        "hour": "10",
        "minute": "30"
    },
    "subject": "Daily Sales Overview"
}Sample Response:
CopiedHTTP/1.1 200 OK
Content-Type:application/json;charset=UTF-8
{
    "status": "success",
    "summary": "Update email schedule",
    "data": {
        "scheduleId": "1767024000010887001"
    }
}