Zimbra REST API: Calendar Methods | Zimbra

Document
Alert! This article is written for Zimbra OSE users. As of December 2023, Synacor will no longer be providing support for Zimbra OSE. You might want to consider trying out Carbonio Community Edition – Zextras’s free and open-source email and collaboration platform.

For additional guidance, check out our community articles detailing the process of migrating from your current platform to Carbonio CE.

In this article we are going to analyze the calendar methods of the Zimbra REST API. For an overview and in-depth coverage about it, we refer you to the related article in our technical blog.

Get Calendar

This method retrieves appointments from the calendar. The HTTP method to read data is get and the default folder is “calendar”, even if custom ones are allowed.

The basic URL structure is the following one:

http(s)://<host>/home/sample.user/calendar?{params}

Formats

This method supports different formats, such as ics, json, xml, rss, atom, html

Parameters

You can choose between some parameters to add to your command line, but none of them is mandatory:

  • fmt – the response format is optional. Default one is ics.
  • start / end – these are both optional. They represent the start and the end time range (milliseconds | yyyy/dd/mm | mm/dd/yyyrelative dates ).
  • query – the query string is optional.

HTML Format Parameters

If you select the HTML format, you’ll have some additional parameters to choose from. None of them is required:

  • view – specifies the display. You can choose between day, week, workWeek, monthas available options
  • date – denotes the date to be displayed. Format is date=[yyyymmdd].
  • notoolbar – select this if you don’t want to include the toolbar. Command is notoolbar=1
  • color – you can choose the color for the appointment text. Available colours are:
0Default Color
1Blue
2Cyan
3Green
4Purple
5Red
6Yellow
7Pink
8Gray
9Orange

Relative Dates

Relative dates are one of the possible options for the start and end parameters we saw above. They can indicate either a future date, represented by a “+” (it can also be unspecified) or in the past, represented by a “-“. This is followed by a numeric value and an indication of the unit. For these ones, it is enough to indicate the initial, since everything that follows is not considered. Here is the units you can enter:

  • m – months
  • mi – minutes
  • d – days
  • w – weeks
  • h – hours
  • y – years

Here is an example on how to use relative date:

  • end=-3w – where end parameter is setted to 3 weeks ago

Examples

Below you can find a couple of examples on how Get Calendar method works.

As we saw before, if you want to download a calendar in ICS format, you can use the default command line or specify the format:

https://mail.sampledomain.com/home/james.red/calendar

https://mail.sampledomain.com/home/james.red/calendar?fmt=ics

If you want to retrieve the custom calendar named “holidays” in HTML format and “day” view on July 15, 2016 (07/15/2016), you can write as follows:

https://mail.sampledomain.com/home/james.red/holidays?fmt=html&view=day&date=20160715

Get FreeBusy

This method retrieves free/busy information from the calendar. The HTTP method to read data is get.

The basic URL structure is the following one:

http(s)://<host>/home/sample.user/calendar.ifb?{params}

Formats

This method only supports ifb (Internet Free Busy) format.

Parameters

All the parameters for this method ar optional. In addition to the response format (fmt), clearly optional, we have the start and end time range that could be in milliseconds, yyyy/dd/mm, mm/dd/yyy or relative dates.

Relative Dates

It’t the same as above, for Get Calendar method.

Examples

Here is an example on how to export free/busy data for all calendars configured to be included in free/busy data for the next 90 days:

https://mail.sampledomain.com/home/james.red/calendar.ifb?start=0d&end=90d

Import Appointments

The last REST API Calendar Method we are going to see is used to import appointments. It uses HTTP post method.
The basic URL structure is the following one:

http(s)://<host>/home/sample.user/calendar{params}

Formats

This method only supports ics format

Parameters

The Import format, fmt, is required.

For all calendar methods in this article, Autentication is Required.

Download Zextras Suite for Zimbra OSE

Post your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Zimbra REST API: Address Book Methods | Zimbra
Zimbra REST API: Task Methods | Zimbra