Try out our new RRULE tool for creating RRULE compatible strings.

In the following example, Cyrus invites Wilfredo, Bernard, and Mike to a single instance event by simply creating a new scheduling object resource in one of his calendar collections by using the PUT method.

>> Request <<

PUT /home/cyrus/calendars/work/9263504FD3AD.ics HTTP/1.1 Host: cal.example.com Content-Type: text/calendar; charset="utf-8" Content-Length: xxxx If-None-Match: *

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example Corp.//CalDAV Client//EN
BEGIN:VEVENT
UID:9263504FD3AD
SEQUENCE:0
DTSTAMP:20090602T185254Z
DTSTART:20090602T160000Z
DTEND:20090602T170000Z
TRANSP:OPAQUE
SUMMARY:Lunch
ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
 mailto:cyrus@example.com
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT
 =NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:wilfredo@
 example.com
ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT=
 NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE:mailto:bernard@ex
 ample.net
ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-A
 CTION;RSVP=TRUE:mailto:mike@example.org
END:VEVENT
END:VCALENDAR

>> Response <<

HTTP/1.1 201 Created Content-Length: 0 Date: Tue, 02 Jun 2009 18:52:54 GMT Last-Modified: Tue, 02 Jun 2009 18:52:54 GMT ETag: "d85561cfe74a4e785eb4639451b434fb" Schedule-Tag: "488177c8-2ea7-4176-a6cb-fab8cfccdea2"

Once the event creation has been completed, Cyrus's client will retrieve the event back from the server to get the schedule status of each "Attendee", as well as record the Schedule-Tag value for future use. In this example, the server reports that a scheduling message was delivered to Wilfredo, a scheduling message is still pending for Bernard, and the server was unable to deliver a scheduling message to Mike.

>> Request <<

GET /home/cyrus/calendars/work/9263504FD3AD.ics HTTP/1.1 Host: cal.example.com

>> Response <<

HTTP/1.1 200 OK Date: Tue, 02 Jun 2009 18:52:58 GMT Last-Modified: Tue, 02 Jun 2009 18:52:58 GMT ETag: "eb897deabc8939589da116714bc99265" Schedule-Tag: "488177c8-2ea7-4176-a6cb-fab8cfccdea2" Content-Type: text/calendar; charset="utf-8" Content-Length: xxxx

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example Corp.//CalDAV Server//EN
BEGIN:VEVENT
UID:9263504FD3AD
SEQUENCE:0
DTSTAMP:20090602T185300Z
DTSTART:20090602T160000Z
DTEND:20090602T170000Z
TRANSP:OPAQUE
SUMMARY:Lunch
ORGANIZER;CN="Cyrus Daboo":mailto:cyrus@example.com
ATTENDEE;CN="Cyrus Daboo";CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:
 mailto:cyrus@example.com
ATTENDEE;CN="Wilfredo Sanchez Vega";CUTYPE=INDIVIDUAL;PARTSTAT
 =NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE;SCHEDULE-STATUS=
 1.2:mailto:wilfredo@e
 xample.com

ATTENDEE;CN="Bernard Desruisseaux";CUTYPE=INDIVIDUAL;PARTSTAT= NEEDS-ACTION;ROLE=REQ-PARTICIPANT;RSVP=TRUE;SCHEDULE-STATUS= 1.0:mailto:bernard@example.net ATTENDEE;CN="Mike Douglass";CUTYPE=INDIVIDUAL;PARTSTAT=NEEDS-A CTION;RSVP=TRUE;SCHEDULE-STATUS=3.7:mailto:mike@example.org END:VEVENT END:VCALENDAR

This document was automatically converted to XHTML using an RFC to HTML converter with the original text document at the Internet Engineering Task Force web site at ietf.org .  The original text document should be referred to if there are any errors or discrepancies found in this document.

Need to test your iCalendar feeds?

The iCalendar Validator provides developers and testers a method to validate their iCalendar feeds, which can take data from either a URL, file or text snippet and compare it against the RFC 5545 specification.  We believe we have one of the best iCalendar validation tools available on the internet. More information about the validator can be found here.