urn:oximail:params:jmap:tasks alongside the standard shape), with tasks as JSTask objects (RFC 8984 family). The same items are served as VTODOs over CalDAV.
Objects and methods
Behaviours worth knowing
- Create without
taskListIdsfiles the task into the account’s default list — resolved before the write transaction, so it is fast even under load. - Recurrence and progress follow JSTask: recurring tasks expand through the same occurrence authority as calendar events; per-occurrence completion is representable.
- Alerts support offset and absolute triggers; an absolute alert does not require a due date. Firing is server-side with per-occurrence deduplication.
nullpatches erase. A JMAP update patch setting a property tonullclears it (RFC 8620 §5.3) —descriptionandpriorityincluded.- Dependencies and time tracking (
dependsOn, time fields) are modelled on the task object. - VTODO round-trip: CalDAV clients see task lists as collections; VTODO
VALARMs (including absoluteTRIGGER;VALUE=DATE-TIME) import into alerts and re-emit on GET; ETags are content hashes, so concurrent edits from two protocols conflict loudly (412) instead of overwriting silently. Duplicate rows from repeated imports are repaired withoximail account dedupe-tasks(migration).
tasklinks) and templates are advertised as OxiMail capability objects, so a generic JMAP client can feature-detect them. Strictness rules are identical to the mail surface.