PUT - Move event

Purpose

This API is used to move event from one calendar to other.

Request URL

https://calendar.zoho.com/api/v1/calendars/<calendaruid>/events/<eventuid>

OAuth Scope

scope=ZohoCalendar.event.ALL

(or)

scope=ZohoCalendar.event.UPDATE

 

ALL - Full access to events

UPDATE - Updates an event

Path Parameters

  • calendaruidstring, mandatory
    • Calendar Unique Identifier. The calendar UID of the calendar from which the specific event should be moved.
  • eventuidstring, mandatory
    • Event Unique Identifier. The event UID of the event, that needs to be moved.

Parameters

  • destinationcaluidstring, mandatory
    • The calendar ID to which the event should be moved
  • eventdataJSONObject, optional
    • eventdata parameter can be passed to change the details of an event when moved from one calendar to another.
    • You need to pass the eventdata as a JSONObject with the following key parameters:
      • titlestring 
        • Title of the event to be changed while moving.
      • dateandtimeJSONObject
        • The dateandtime JSON Object of the start time, end time in Unix time format along with the time zone information, in case, different from the current user time zone must be passed.
        • The dateandtime JSONObject should be passed with the following parameters:
          • start - The start date and time of the event.
            • The supported format (iso8601basic) for start parameter is yyyyMMdd'T'HHmmss or yyyyMMdd (if it is an allday event))
            • (yyyy - Year, MM - Month, dd - Date, HH - Hours, mm - Minutes, ss - Seconds)
            • Example: 20200719T113000
          • end - The end date and time of the event.
            • The supported format (iso8601basic) for end parameter is yyyMMdd'T'HHmmss or yyyyMMdd (if it is an allday event))
            • (yyyy - Year, MM - Month, dd - Date, HH - Hours, mm - Minutes, ss - Seconds)
            • Example: 20200719T123000
        • "dateandtime":"{"convertToEventTZ":false,"timezone":"Asia/Calcutta","start":"20220710T113000","end":"20220710T123000"}"
      • colorhashcode
        • Hex-color for the event. This parameter can be passed if a specific color needs to be provided for the event different from the existing one.
      • isrepboolean, (used only when changing a repeat event to a normal event, rrule shouldn't be used when while using isrep )
        • This parameter can be passed if it's a repeating event.
        • The values :
          • False, to change a repeat event to a normal event.
      • isalldayboolean
        • This parameter can be passed if it's an All-day event.
        • The values can be:
          • True, if you want to make it as an allday event. (use allday format in dateandtime - mandatory)
          • False, if you want to change the event from allday to a normal event. (use yyyyMMdd'T'HHmmss'Z' in GMT format - mandatory )
      • isprivateboolean 
        • This parameter can be passed if it's a Private event.
        • The values can be:
          • True, if it's a private event.
          • False, if it's not a private event.
        • If set as private, the event details will not be shared even when the calendar is made public or shared with others with view permission.
      • urlstring
        • URL details that need to be shared for the event, along with the description, if any.
      • locationstring
        • Location details for the event.
      • descriptionstring
        • Description of the event. To provide more details about the event to the attendees.
      • rrulestring (used to change a normal event to a repeat event)
        • The rrule details of recurrence for repeat events with frequency, count, and repeat pattern information. The possible values are:
          • FREQ - DAILY|WEEKLY|MONTHLY|YEARLY
          • INTERVAL - Periodic occurrence (default value is 1 if not mentioned) (ex: 1-> everyday, 2-> 2 days once )
          • COUNT - The no of times the event will occur
          • BYDAY - Days of the week (used when FREQ is WEEKLY, MONTHLY or YEARLY). The values= MO, TU, WE, TH, FR, SA, SU.
          • UNTIL - Unill when the event should occur (used for all types of FREQs) Example: UNTIL=20230818T094500
          • BYSETPOS - occurrence of the week (used when FREQ is MONTHLY or YEARLY). The possible values are: 1 | 2 | 3 | 4 | -1 (1 - First, 2- Second, 3 - Third, 4 - Fourth, -1 - Last)Example: First Monday - 1MO
          • BYMONTHDAY - The day of the month (used when FREQ is MONTHLY or YEARLY). The values are:1 to 31
          • BYMONTH - Month (used when FREQ is YEARLY). The possible values are: 1 to 12 ( 1 - Jan, 12- Dec)
      • attendeesJSONArray
        • Email addresses of the attendees to whom the event invitation should be sent in JSON Object format.
      • group_attendeesJSONObject
        • Group attendees' addresses to whom the event invitation should be sent as JSON Object format.
      • repeatJSONArray(Use either rrule or repeat param to add repeat events)

        This param is used to add repeat events.This JSONArray includes below params as JSONObject:

         Example: "repeat": [{"freq": "yearly", "bymonth": "4", "bymonthday": "28", "interval": 1}]

        • freq - daily|weekly|monthly|yearly (mandatory).
        • count - Mentions the number of times the event should repeat. For example,when you want this event to repeat everyday for 5days, the count value should be 5.
        • interval - Periodic occurrence. For example, if you want the event to repeat every 3 days once, the interval value is 3.
        • until- The date until which the event needs to repeat. The format should be yyyyMMdd'T'HHmmss'Z' in GMT format or yyyyMMdd (if it is an allday event)
        • byday - Used in monthly and yearly events. For example, 4FR i.e fourth friday.
        • bymonthday - Used in monthly and yearly events. For example,28 i.e On day 28. The possible values are 1-31
        • bymonth - Used in yearly events. The possible values are 1|2|3|4|5|6|7|8|9|10|11|12
      • remindersJSONArray
        • Type of the reminders to be set for the event.
        • action - mail or popup
        • minutes - (+60) or (-60)
      • calendar_alarmboolean
        • Whether the event should follow the calendar level reminders set for the calendar in which the event is created.
      • notify_attendee int

        Used to notify the attendees of the event. The possible values are 0|1|2,

        • 0- none
        • 1- notify attendees only
        • 2- notify both attendees and myself
      • attach JSONObject

        Used to attach files to an event.

        • fileId -string, The format should be a comma(,) separated filelds. (Use attach API to get the fileId value)
      • conference string

        The possible values are - zmeeting|none

      • notifyType int

        The value is- 1

        • DEFAULT_NOTIFICATION(1)
      • allowForwarding boolean

        Whether the attendees are allowed to forward the event (true) or not (false).

        Note:

        allowForwarding - User A adds an event with user B as an attendee with allowForwarding as "true". User B forwards it to user C and user C receives an email. The event will be added to his calendar only if he accepts the event invite email.

        Note:

        If you are sending the params in Postman, it needs to be encoded.

Note:

  • Move events is possible only between personal and group calendars and not with shared/app calendars.
  • Repeat event - While moving the calendar, eventdata changes are applicable for all the occurrences, and not for only and following occurrences.
  • dateandtime param is mandatory when using isallday param

Sample Request

Copiedhttps://calendar.zoho.com/api/v1/calendars/e49e501174e44decb1800b6405754cfd/events/65bd43936e6e4324b3cc58454b00fr90@zoho.com?eventdata={
"dateandtime": {
        "timezone": "Asia/Kolkata",
        "start": "20230912T130000Z",
        "end": "20230912T133000Z"
    },
    "description": "check move event",
    "title": "Test Move Event",
    "rrule": "FREQ=DAILY;COUNT=5",
    "url": "https://mail.zoho.com",
    "location": "Woodlands"
}&destinationcaluid=cfc18c13eb51416b956af61784cad366

Sample Response

Copied{
    "events": [
        {
            "enable_eventmanagement": false,
            "role": "organizer",
            "color": "",
            "orgDName": "user1",
            "calid": "332245000000131001",
            "description": "check move event",
            "has_attachment": false,
            "title": "Test Move Event",
            "calendar_alarm": false,
            "duration": "1800000",
            "uid": "65bd43936e6e4324b3cc58454b00fr90@zoho.com",
            "rrule": "FREQ=DAILY;INTERVAL=1;COUNT=5",
            "createdby": "user1@zoho.com",
            "etype": "EVENT",
            "id": "332245000000132021",
            "isApproved": true,
            "viewEventURL": "https://calendar.zoho.com/zc/viewevent/cfc18c13eb51416b956af61784cad366_EID65bd43936e6e4324b3cc58454b00fr90@zoho.com",
            "dateandtime": {
                "timezone": "Asia/Kolkata",
                "start": "20230912T183000+0530",
                "end": "20230912T190000+0530"
            },
            "lastmodifiedtime": "20230912T063320Z",
            "isprivate": false,
            "rsvpStatus": 0,
            "createdtime_millis": "1694500380796",
            "createdtime": "20230912T063300Z",
            "url": "https://mail.zoho.com",
            "user_timezone": "Asia/Kolkata",
            "notifyType": 0,
            "estatus": "updated",
            "organizer": "user1@zoho.com",
            "isallday": false,
            "transparency": 0,
            "location": "Woodlands",
            "modifiedby": "user1@zoho.com",
            "etag": "1694500400490",
            "caluid": "cfc18c13eb51416b956af61784cad366",
            "multiday": false,
            "allowForwarding": false
        }
    ]
}