openemail calendar
كل أمر في مساحة الأسماء هذه، مع وسائطه وخياراته وأمثلته.
الأوامر
Calendar events found in mail, expanded into occurrences.
يقبل كل أمر هنا أيضًا الخيارات العامة، مثل --json و--profile و--dry-run. اطّلع على الخيارات العامة
openemail calendar list-events
List one page of event occurrences inside a time window
الاستخدام
openemail calendar list-events --from <when> --to <when> [flags]
Expands every event in the workspace into its occurrences between from and to and returns one page of them, sorted by start time and then by event id. A recurring series gives one row per instance in the window, with its excluded dates left out, and every row points back to its event through eventId. The window is required because a repeating series has no end to list up to.
to must be after from and at most 366 days later. A missing from or to is a 422 invalid_parameter, while a value that does not parse, a reversed or overlong window, or an unknown zone is a 400 invalid_parameter naming the field. Both bounds take a Date or an ISO 8601 string, and the SDK converts a Date with toISOString().
timezone is an IANA zone and defaults to UTC on the server. It is used to expand any event stored without a zone of its own, which is what decides the day an all day event lands on.
Add --all to walk every page: a table on a terminal, one JSON object per line when piped or with --ndjson, and one { items, hasMore, nextCursor } document with --json. --max <n> stops after that many items.
الخيارات
--from <when>Start of the window. Required.
--to <when>End of the window, after
fromand at most 366 days later. Required.--timezone <value>IANA zone such as
Europe/London, at most 64 characters. Defaults toUTC.--limit <n>Occurrences per page, a whole number from 1 to 100. The server defaults to 25.
الافتراضي25--cursor <value>The
nextCursorof the previous page, sent with the same window. It is opaque, so never build one yourself.--allFetch every page and stream the items as they arrive.
--max <n>Stop after this many items. Implies
--all.--ndjsonPrint every item as one JSON object per line. Implies
--all
أمثلة
openemail calendar list-events --from 2026-10-01T00:00:00Z --to 2026-10-31T23:59:59Zopenemail calendar list-events --from 2026-10-01T00:00:00Z --to 2026-10-31T23:59:59Z --timezone Europe/London --limit 50openemail calendar list-events --from 2026-10-01T00:00:00Z --to 2026-10-31T23:59:59Z --all --max 100openemail calendar list-events --from 2026-10-01T00:00:00Z --to 2026-10-31T23:59:59Z --all > calendar.ndjsonمتاح أيضًا في
openemail calendar get-event
Read an event with its attendees
الاستخدام
openemail calendar get-event <id> [flags]
Returns a stored event with its attendees and their responses. What the server understood from the iCalendar data is structured here: recurrence holds the RRULE text, exdates the excluded instances, organizer the organiser and alarms the reminders as { minutesBefore, action }. The raw iCalendar source is not included, and getEventIcs serves the event as a document.
id is the event id, the eventId on an occurrence, and not the iCalendar uid. A recurring series is one event however many occurrences it has, so start and end describe its first instance. messageId and threadId link the event to mail in the mailbox when there is any.
Attendees come back in the order they were added, each with partstat, role, rsvp, cutype and respondedAt. A narrowed key gets a 404 unless one of the addresses it covers organises the event or is on the attendee list, and a key that holds a whole domain covers every address on it.
الوسائط
<id>مطلوبEvent id, the
eventIdof an occurrence, such ascal_followed by 24 hex characters.
أمثلة
openemail calendar get-event cal_8d3f0a2b9c4e41f7a6b5c2d1openemail calendar get-event cal_8d3f0a2b9c4e41f7a6b5c2d1 --jsonمتاح أيضًا في
openemail calendar get-event-ics
Download an event as an iCalendar document
الاستخدام
openemail calendar get-event-ics <id> [flags]
Resolves with the event serialised as an .ics document, as a raw string rather than parsed JSON. The server sends it as text/calendar; charset=utf-8 with a download filename built from the event's uid, and the SDK requests that type and returns the body untouched.
The document declares METHOD:PUBLISH, and the content type carries no method parameter. That is deliberate: a REQUEST document makes a calendar client offer accept and decline and reply to the organiser, and this endpoint has no authority to invite anyone. Import it to show what the event currently is, not to send an invitation.
It holds one VEVENT with the attendees and their participation status, the recurrence rule, excluded dates and alarms. Lines end in CRLF and long lines are folded. DTSTAMP is the time of the request, so two downloads of an unchanged event differ on that line.
الوسائط
<id>مطلوبEvent id, the
eventIdof an occurrence.
الخيارات
-o, --out <file>Write the text to this file instead of printing it
أمثلة
openemail calendar get-event-ics cal_8d3f0a2b9c4e41f7a6b5c2d1openemail calendar get-event-ics cal_8d3f0a2b9c4e41f7a6b5c2d1 --out event.icsمتاح أيضًا في
openemail calendar create-event
Put an event on the calendar
الاستخدام
openemail calendar create-event --summary <value> --start <when> --end <when> [flags] openemail calendar create-event --data <json|@file|-> [flags]
Creates an event, as New event on the Calendar page of the app does. start and end take a Date or ISO 8601 with a zone, and timezone is the IANA zone the event belongs to, which decides what an all-day event means.
With attendees, an invitation goes to each of them by email from from, which has to be an address the key may send as, so the call also needs emails:send. Send sendInvites: false to keep it to your own calendar.
الخيارات
--summary <value>The title, 1 to 255 characters. Required, here or in
--data.--start <when>When it starts, a
Dateor ISO 8601 with a zone. Required, here or in--data.--end <when>When it ends, after
startand at most two years later. Required, here or in--data.--description <value>Notes about the event, up to 8,000 characters.
--location <value>Where it is: a room, an address or a link.
--url <value>A link that belongs to the event.
--all-dayWhether it fills whole days.
startandendthen mark the days.--timezone <value>The IANA zone the event belongs to,
UTCunless you say.--recurrence <value>An RRULE such as
FREQ=WEEKLY;BYDAY=MOwhen it repeats.--attendees <json|@file|->Up to 200 people to invite, each
{ email, name?, optional? }. JSON shaped asArray<CalendarAttendeeInput>, inline or from a file with @path.--reminders <json|@file|->Up to five reminders, each
{ minutesBefore, action? }. JSON shaped asArray<CalendarReminderInput>, inline or from a file with @path.--transparency <value>OPAQUEshows you busy andTRANSPARENTfree.--visibility <value>PUBLIC,PRIVATEorCONFIDENTIAL.--send-invitesFalse keeps the change to your own calendar, and sends nothing.
--from <value>The address the invitations come from. It has to be one the key may send as.
--data <json|@file|->The whole
bodyas JSON, inline, from a file with @path, or - for standard input. Flags override its keys.
أمثلة
openemail calendar create-event --summary Planning --start 2026-10-12T09:00:00Z --end 2026-10-12T09:30:00Zopenemail calendar create-event --summary Planning --start 2026-10-12T09:00:00Z --end 2026-10-12T09:30:00Z --from [email protected]openemail calendar create-event --data @calendar.jsonمتاح أيضًا في
openemail calendar update-event
Change an event
الاستخدام
openemail calendar update-event <id> [flags]
Changes an event you organise. A field you leave out keeps its value, and attendees replaces the whole list. Everyone invited gets the updated invitation by email from from, so a change to an event with attendees needs emails:send too, unless --send-invites is false.
الوسائط
<id>مطلوبEvent id, the
eventIdof an occurrence, such ascal_followed by 24 hex characters.
الخيارات
--summary <value>The title, 1 to 255 characters.
--start <when>When it starts, a
Dateor ISO 8601 with a zone.--end <when>When it ends, after
startand at most two years later.--description <value>Notes about the event, up to 8,000 characters.
--location <value>Where it is: a room, an address or a link.
--url <value>A link that belongs to the event.
--all-dayWhether it fills whole days.
startandendthen mark the days.--timezone <value>The IANA zone the event belongs to,
UTCunless you say.--recurrence <value>An RRULE such as
FREQ=WEEKLY;BYDAY=MOwhen it repeats.--attendees <json|@file|->Up to 200 people to invite, each
{ email, name?, optional? }. It replaces the whole list. JSON shaped asArray<CalendarAttendeeInput>, inline or from a file with @path.--reminders <json|@file|->Up to five reminders, each
{ minutesBefore, action? }. JSON shaped asArray<CalendarReminderInput>, inline or from a file with @path.--transparency <value>OPAQUEshows you busy andTRANSPARENTfree.--visibility <value>PUBLIC,PRIVATEorCONFIDENTIAL.--send-invitesFalse keeps the change to your own calendar, and sends nothing.
--from <value>The address the invitations come from. It has to be one the key may send as.
--data <json|@file|->The whole
patchas JSON, inline, from a file with @path, or - for standard input. Flags override its keys.
أمثلة
openemail calendar update-event cal_3f9a1c7e5b2d48a06c1e9f4b --start 2026-10-12T10:00:00Z --end 2026-10-12T10:30:00Zopenemail calendar update-event cal_3f9a1c7e5b2d48a06c1e9f4b --start 2026-10-12T10:00:00Z --end 2026-10-12T10:30:00Z --jsonمتاح أيضًا في
openemail calendar delete-event
Remove an event from the calendar
الاستخدام
openemail calendar delete-event <id> [flags]
Removes an event for good, as Remove does in the app. Nobody else is told, so call off a meeting with others in it with cancelEvent instead.
الوسائط
<id>مطلوبEvent id, the
eventIdof an occurrence, such ascal_followed by 24 hex characters.
أمثلة
openemail calendar delete-event cal_3f9a1c7e5b2d48a06c1e9f4bopenemail calendar delete-event cal_3f9a1c7e5b2d48a06c1e9f4b --yesمتاح أيضًا في
openemail calendar cancel-event
Call off a meeting
الاستخدام
openemail calendar cancel-event <id> [flags]
Cancels a meeting you organise, as Cancel meeting does in the app. It stays on the calendar with status CANCELLED, and everyone invited is told it is off by email from from, so a meeting with attendees also needs emails:send.
الوسائط
<id>مطلوبEvent id, the
eventIdof an occurrence, such ascal_followed by 24 hex characters.
الخيارات
--from <value>The address the cancellation comes from. It has to be one the key may send as.
--data <json|@file|->The whole
bodyas JSON, inline, from a file with @path, or - for standard input. Flags override its keys.
أمثلة
openemail calendar cancel-event cal_3f9a1c7e5b2d48a06c1e9f4bopenemail calendar cancel-event cal_3f9a1c7e5b2d48a06c1e9f4b --from [email protected]openemail calendar cancel-event cal_3f9a1c7e5b2d48a06c1e9f4b --yesمتاح أيضًا في
openemail calendar respond-to-event
Answer an invitation
الاستخدام
openemail calendar respond-to-event <id> --response <value> [flags] openemail calendar respond-to-event <id> --data <json|@file|-> [flags]
Accepts, declines or tentatively accepts an invitation, as the buttons of an invitation do in the app. The answer goes to the organiser by email from the invited address the key may send as, or from --responding-as when the invitation went to more than one of yours, so it needs emails:send as well.
الوسائط
<id>مطلوبEvent id, the
eventIdof an occurrence, such ascal_followed by 24 hex characters.
الخيارات
--response <value>ACCEPTED,DECLINEDorTENTATIVE. Required, here or in--data.--responding-as <value>Which of your invited addresses answers, when there is more than one.
--data <json|@file|->The whole
bodyas JSON, inline, from a file with @path, or - for standard input. Flags override its keys.
أمثلة
openemail calendar respond-to-event cal_3f9a1c7e5b2d48a06c1e9f4b --response ACCEPTEDopenemail calendar respond-to-event cal_3f9a1c7e5b2d48a06c1e9f4b --data @calendar.json