constants: JMAP capability URNs and wire values#

JMAP capability URNs and JSCalendar wire-value constants.

All JMAP capability strings and JSCalendar enum values used across the package are defined here so they are never duplicated. Every other module should import from this file.

calendaring_jmap.constants.CALENDAR_CAPABILITY = 'urn:ietf:params:jmap:calendars'#

JMAP Calendars capability (draft-ietf-jmap-calendars). Required to use any Calendar/CalendarEvent method.

calendaring_jmap.constants.CONTACTS_CAPABILITY = 'urn:ietf:params:jmap:contacts'#

JMAP Contacts capability (RFC 9610). Required to use AddressBook/ContactCard methods. Both Cyrus and Stalwart advertise this capability, verified directly, under the same account already used for calendars on both servers.

calendaring_jmap.constants.CORE_CAPABILITY = 'urn:ietf:params:jmap:core'#

Core JMAP capability (RFC 8620). Required in every using declaration.

Link.rel value (RFC 8984 Section 1.4.11) marking a Link as an attachment. The “rel” property itself is defined in that same section, but this specific value originates in the IANA Link Relations registry’s original seed list, RFC 4287 Section 4.2.7.2 (Atom), not RFC 8984 itself.

calendaring_jmap.constants.LOCAL_DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S'#

strftime()/strptime() format for a JMAP LocalDateTime string (RFC 8984 Section 1.4.5): no time zone/offset information, no fractional seconds. Used for JSCalendar start, recurrence override keys, and RRULE until.

calendaring_jmap.constants.PRINCIPALS_CAPABILITY = 'urn:ietf:params:jmap:principals'#

JMAP Sharing Principal capability (RFC 9670 Section 1.5.1). Required to use Principal/* methods, including Principal/getAvailability. This is the capability actually used to detect free/busy support: confirmed live that Cyrus implements Principal/getAvailability without ever advertising the draft’s own narrower :availability sub-capability, so this base capability is the real gate, not that one.

calendaring_jmap.constants.TASK_CAPABILITY = 'urn:ietf:params:jmap:tasks'#

JMAP Tasks capability (draft-ietf-jmap-tasks). Required to use any TaskList/Task method. No known public server implements this draft.

calendaring_jmap.constants.UTC_DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%SZ'#

strftime()/strptime() format for a JMAP UTCDateTime string (RFC 8984 Section 1.4.4): always UTC, always Z-suffixed, no fractional seconds.

Last updated on 2026-10-08.