Skip to main content
Creates an event with the authenticated user as organizer and sends standard iMIP invitations to all attendees. Pass recurrence to create a repeating series in the same call.

Parameters

title
string
required
Event title. 1–200 characters.
start
string
required
Start datetime, ISO 8601 with offset, e.g. 2026-07-14T10:00:00+02:00. For a series, the first occurrence.
end
string
required
End datetime, ISO 8601 with offset. Must be after start.
attendees
string[]
required
1–50 attendee email addresses. Each receives an invitation.
calendarUrl
string
A CalDAV URL from list_calendars. Defaults to the user’s default calendar.
description
string
Event description, up to 5,000 characters.
location
string
Event location, up to 500 characters.
recurrence
string | object
Turns the event into a repeating series; omit for a one-off event. Two forms:Structured object:
FieldTypeNotes
frequency"daily" | "weekly" | "monthly" | "yearly"Required
intervalinteger 1–1000Repeat every N periods; defaults to 1 (2 with weekly = fortnightly)
byDayarray of MO TU WE TH FR SA SU1–7 weekday codes (RFC 5545)
untilISO 8601 with offsetSeries stops after this instant. Mutually exclusive with count
countinteger 1–1000Total occurrences. Mutually exclusive with until
Raw RRULE string: a single-line iCalendar RRULE starting with FREQ=, up to 1,000 characters, e.g. FREQ=WEEKLY;BYDAY=TH or FREQ=DAILY;COUNT=10. Express UNTIL as a UTC date-time (UNTIL=20261231T000000Z). Raw rules are only lightly validated — malformed rules surface as server errors.

Example

Call
{
  "title": "Team standup",
  "start": "2026-07-13T09:00:00+02:00",
  "end": "2026-07-13T09:15:00+02:00",
  "attendees": ["team@example.com"],
  "recurrence": { "frequency": "weekly", "byDay": ["MO"] }
}
Result
Recurring event "Team standup" created and invitations sent to 1 attendee(s): team@example.com.
uid: 3c1e9b2a-77aa-4d55-8a10-2f9d1c0e6b21@langmail.me
calendarUrl: https://mail.langmail.me/dav/cal/you/default/
Keep the returned uid — it identifies the event for updates, deletion, and RSVPs.

Errors

  • Event end must be after its start.
  • No calendar available to create the event in. — the user has no calendar and none was specified.
  • Calendar not found: <url> — the calendarUrl didn’t resolve.
  • Provide at most one of `until` or `count`, not both. — conflicting series bounds.