Skip to main content

JSON Mail Access Protocol (jmap)

WG Name JSON Mail Access Protocol
Acronym jmap
Area Applications and Real-Time Area (art)
State Active
Charter charter-ietf-jmap-03 Approved
Document dependencies
Additional resources Github
Issues, Zulip stream
Personnel Chairs Bron Gondwana, Jim Fenton
Area Director Murray Kucherawy
Mailing list Address
To subscribe
Chat Room address

Charter for Working Group

The JMAP protocol defined in draft-ietf-jmap-core is designed to be
extensible to multiple datatypes which are useful for personal
information management related to email stores.

Now that draft-ietf-jmap-mail is completed, the working group will
produce specifications for related data types, beginning with calendars
and contacts.

The calendar work will be based on draft-ietf-calext-jscalandar as the
data format. This working group will consult with the CALEXT working
group to ensure that calendar access via JMAP remains compatible with
existing calendar standards.

The contact work will begin with a JSON format for contact data based
upon the work begun in draft-stepanek-jscontact, and in consultation with
other users of contact data within the IETF and outside to build an
extensible format. Where possible, this format will retain the ability
to convert backwards and forwards to RFC6350 vCard format. This format
will then be used as the basis of JMAP object types for contacts.

Extensions to the existing core and mail JMAP specifications are also
within scope for this working group, for example any additional parts
of SIEVE, IMAP, SMTP submission, as well as transport of JMAP over
WSS (WebSocket over TLS, RFC 6455).

Work on JMAP extensions will be bound by the following constraints:

1) The work of this group is limited to developing protocols for a
client synchronising data with a server. Any server-to-server issues
are out of scope for this working group.

2) Object models will use existing IETF work where possible.

3) JMAP Extensions will be built following the core principles:

3.1) The server will not be required to perform work not explicitly
requested by the client, and the default should always be the
mode which requires the least server work.

3.2) The client can discover limits enforced by the server on
resources or request complexity.

3.3) Where side effects generated by the server are optional, the
protocol will default to no side effects, and the client must
explicitly request that those side effects happen (for example:
sending a calendar invitation or reply when updating an event)

The working group will deliver documents for the following:

  • JMAP access to calendars using the JSCalendar format

  • JSON formats for representing contacts and groups of contacts

  • JMAP access to addressbooks using the JSContact format

  • Accessing JMAP over Websockets

  • Handling of S/MIME email messages (e.g. signature verification) over JMAP

  • Message Disposition Notifications (RFC 8098) via JMAP

  • Other extensions which the working group considers related to email
    and compatible with the constraints listed above

Also within scope for this working group are informational documents for
converting between JMAP data representation and other formats already
in wide use which can be used to specify the same underlying data.


Date Milestone Associated documents
Aug 2024 Submit Portability Extensions to IESG draft-baum-jmap-portability-extensions
Aug 2024 Submit REST Mapping document to IESG draft-ietf-jmap-rest
Jun 2024 Submit Portability Guide (Minimal Profile) to IESG draft-baum-jmap-portability-guide
May 2024 Submit JMAP Tasks document to IESG draft-ietf-jmap-tasks
May 2024 Adopt a document for JMAP Archive format
May 2024 Submit SMIME Sender Extensions document to the IESG draft-ietf-jmap-smime-sender-extensions
Apr 2024 Submit Webpush Vapid document to IESG draft-ietf-jmap-webpush-vapid
Apr 2024 Submit JMAP Calendars document to the IESG draft-ietf-jmap-calendars

Done milestones

Date Milestone Associated documents
Done Adopt a draft for a basic migration simplified endpoint draft-baum-jmap-portability
Done Submit Contacts document to the IESG draft-ietf-jmap-contacts
Done Submit JMAP Sharing document to IESG draft-ietf-jmap-sharing
Done Adopt a document for Server info and debug draft-baum-jmap-debug
Done Submit Sieve document to the IESG draft-ietf-jmap-sieve
Done Adopt a document for JMAP REST mapping draft-baum-jmap-rest
Done Coordinate with extra wg and potentially adopt document for snooze draft-murchison-email-snooze
Done Adopt a document defining JMAP access to addressbooks
Done Submit document for Blobs via JMAP to the IESG draft-ietf-jmap-blob
Done Submit JMAP Quotas document to the IESG draft-ietf-jmap-quotas
Done Adopt a document for S/MIME key management and server side signing/encryption draft-melnikov-jmap-smime-advanced
Done Adopt a document for creating Blobs via JMAP method call draft-gondwana-jmap-blob
Done Submit JMAP S/MIME signature validation document to the IESG draft-ietf-jmap-smime
Done Adopt a document for managing Sieve via JMAP draft-murchison-jmap-sieve
Done Submit Message Disposition Notification document to the IESG draft-ietf-jmap-mdn
Done Adopt a document defining mappings between VCARD and JSContact draft-loffredo-jmap-jscontact-vcard
Done Adopt a document for a JSON Contact format (after recharter) draft-stepanek-jscontact