|
/
|
<svg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 84 32' class='i-jmap-combomark'>
<path class="wordmark" d="M55.5552 9.04211L52.9848 15.8993L50.4144 9.04211H46.416V22.7564H49.2216V13.8488L51.9096 21.0085H54.0768L56.7648 13.8488V22.7564H59.5704V9.04211H55.5552Z"></path>
<path class="wordmark" d="M62.4455 22.7566H65.2511V19.2271H69.1991V22.7566H72.0047V11.5969C72.0047 10.2019 70.8623 9.05908 69.4679 9.05908H64.9655C63.5711 9.05908 62.4287 10.2019 62.4287 11.5969V22.7566H62.4455ZM65.2679 11.8658H69.2159V16.4204H65.2679V11.8658Z"></path>
<path class="wordmark" d="M74.8926 9.04208V22.7396H77.6982V19.2101H81.4782C82.8726 19.2101 84.015 18.0673 84.015 16.6723V11.5631C84.015 10.1681 82.8726 9.02527 81.4782 9.02527H74.8926V9.04208ZM77.6982 16.4034V11.8488H81.1926V16.4034H77.6982Z"></path>
<path class="wordmark" d="M37.9823 9.04211V11.8488H40.7879V19.9329H37.3271V17.1261H34.5215V20.2858C34.5215 21.6472 35.6135 22.7396 36.9743 22.7396H41.0567C42.4511 22.7396 43.5935 21.5967 43.5935 20.2018V9.04211H37.9823Z"></path>
<path class="logomark" d="M25.6683 18.6721L24.4923 17.4957C24.4083 17.4116 24.2571 17.4116 24.1563 17.4957L22.3083 19.3444C22.2243 19.4285 22.2243 19.5797 22.3083 19.6806L23.4843 20.857L21.5859 22.7562H27.5499V16.7898L25.6515 18.689L25.6683 18.6721Z"></path>
<path class="logomark" d="M27.5688 25.8319H24.4776V27.7983C24.4776 28.4201 23.9736 28.9075 23.3688 28.9075H4.2C3.5784 28.9075 3.0912 28.4033 3.0912 27.7983V22.6722C3.0912 22.1344 3.2928 21.6302 3.6792 21.2605L12.0624 12.8739C12.4992 12.4369 13.0872 12.1512 13.692 12.1176C14.364 12.084 15.0024 12.3361 15.4728 12.8067L17.136 14.4705C17.22 14.5546 17.3712 14.5546 17.472 14.4705L19.32 12.6218C19.404 12.5378 19.404 12.3865 19.32 12.2857L17.7408 10.7058C16.7328 9.69744 15.4056 9.07559 13.9944 9.02517C12.4656 8.97475 11.004 9.54618 9.9288 10.6218L1.4952 19.0924C0.5376 20.0504 0 21.3277 0 22.689V27.8151C0 30.1344 1.8816 32.0168 4.2 32.0168H23.3688C25.6872 32.0168 27.5688 30.1344 27.5688 27.8151V25.8487V25.8319Z"></path>
<path class="logomark" d="M1.8984 13.3276L3.0744 14.504C3.1584 14.5881 3.3096 14.5881 3.4104 14.504L5.2584 12.6553C5.3424 12.5713 5.3424 12.42 5.2584 12.3192L4.0824 11.1427L5.9808 9.24353H0V15.2099L1.8984 13.3108V13.3276Z"></path>
<path class="logomark" d="M0 6.16807H3.0912V4.20168C3.0912 3.57983 3.5952 3.09244 4.2 3.09244H23.3688C23.9904 3.09244 24.4776 3.59664 24.4776 4.20168V9.32773C24.4776 9.86555 24.276 10.3697 23.8896 10.7395L15.5064 19.1261C15.0696 19.563 14.4816 19.8487 13.8768 19.8824C13.2048 19.916 12.5664 19.6639 12.096 19.1933L10.4328 17.5294C10.3488 17.4454 10.1976 17.4454 10.0968 17.5294L8.2488 19.3782C8.1648 19.4622 8.1648 19.6134 8.2488 19.7143L9.828 21.2941C10.836 22.3025 12.1632 22.9244 13.5744 22.9748C15.1032 23.0252 16.5648 22.4538 17.64 21.3782L26.0736 12.9412C27.0312 11.9832 27.5688 10.7059 27.5688 9.34454V4.21849C27.5688 1.88235 25.6872 0 23.3688 0H4.2C1.8816 0 0 1.88235 0 4.20168V6.16807Z"></path>
</svg>
|
|
|
/why-jmap/
|
Why JMAP?
|
|
|
/spec/
|
Specifications
|
|
|
/guides/
|
Guides
|
|
|
/software/
|
Software
|
|
|
/spec/rfc8620/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 8620</p>
<h2 class='card__title u-text-xl u-font-bold'>The core JMAP protocol</h2>
<p class='card__body'>Defines the generic JMAP protocol for efficiently querying, fetching, and modifying JSON data, with push notifications and fast resync.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc9749/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 9749</p>
<h2 class='card__title u-text-xl u-font-bold'>VAPID for JMAP Push</h2>
<p class='card__body'>Lets JMAP servers advertise their ability to authenticate Web Push notifications using the Voluntary Application Server ID protocol.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc9670/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 9670</p>
<h2 class='card__title u-text-xl u-font-bold'>JMAP Sharing</h2>
<p class='card__body'>Defines a reusable data model for sharing data between users in JMAP, providing a consistent base for other data types to build on.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc8887/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 8887</p>
<h2 class='card__title u-text-xl u-font-bold'>JMAP via WebSocket</h2>
<p class='card__body'>Binds JMAP to a WebSocket transport layer, providing higher performance than the standard HTTP binding for connected clients.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc9425/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 9425</p>
<h2 class='card__title u-text-xl u-font-bold'>JMAP Quotas</h2>
<p class='card__body'>Defines a data model for reading and syncing account quotas over JMAP, so clients can surface storage and message-count limits.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc9404/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 9404</p>
<h2 class='card__title u-text-xl u-font-bold'>JMAP Blob Management</h2>
<p class='card__body'>Extends JMAP with inline blob creation and access via method calls, plus a reverse lookup to find where blobs are referenced in other data.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc8621/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 8621</p>
<h2 class='card__title u-text-xl u-font-bold'>JMAP Mail</h2>
<p class='card__body'>Defines the JMAP data model for email, letting clients efficiently search, access, organise, and send messages with push-based sync.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc9661/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 9661</p>
<h2 class='card__title u-text-xl u-font-bold'>JMAP Sieve Scripts Management</h2>
<p class='card__body'>Defines a JMAP data model for managing Sieve scripts on a server, so clients can efficiently search, access, organise, and validate them.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc9007/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 9007</p>
<h2 class='card__title u-text-xl u-font-bold'>JMAP MDN Handling</h2>
<p class='card__body'>Defines a JMAP data model for Message Disposition Notifications, enabling read-receipt workflows to be handled alongside regular mail.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc9219/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 9219</p>
<h2 class='card__title u-text-xl u-font-bold'>JMAP S/MIME Signature Verification</h2>
<p class='card__body'>Extends JMAP Mail so servers can return the S/MIME signature verification status of messages alongside the rest of the message data.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc9610/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 9610</p>
<h2 class='card__title u-text-xl u-font-bold'>JMAP Contacts</h2>
<p class='card__body'>Defines the JMAP data model for contacts, letting clients synchronise address book data with a server using push-based updates.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/calendars-draft/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>In progress</p>
<h2 class='card__title u-text-xl u-font-bold'>JMAP Calendars</h2>
<p class='card__body'>A JMAP data model for calendar sync, letting clients read, write, and share calendars and events with push notifications and reminders.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/rfc9553/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>RFC 9553</p>
<h2 class='card__title u-text-xl u-font-bold'>JSContact</h2>
<p class='card__body'>A JSON data model for contact cards, designed as an unambiguous, extensible alternative to vCard for address book storage and exchange.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/spec/jscalendar-draft/
|
<div class='card__content'>
<p class='card__eyebrow u-text-sm u-font-bold'>In progress</p>
<h2 class='card__title u-text-xl u-font-bold'>JSCalendar 2.0</h2>
<p class='card__body'>Version 2.0 of the JSON data model for calendar data, improving interoperability with iCalendar and aligning conventions with JSContact.</p></div>
<!-- prettier-ignore -->
<div class='card__icon'><svg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' class='i-arrow-right' fill='none' viewbox='0 0 24 24' stroke-width='1.5' stroke='currentColor'>
<path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path>
</svg>
</div>
|
|
|
/
|
<svg xmlns='http://www.w3.org/2000/svg' viewbox='0 0 84 32' class='i-jmap-combomark'>
<path class="wordmark" d="M55.5552 9.04211L52.9848 15.8993L50.4144 9.04211H46.416V22.7564H49.2216V13.8488L51.9096 21.0085H54.0768L56.7648 13.8488V22.7564H59.5704V9.04211H55.5552Z"></path>
<path class="wordmark" d="M62.4455 22.7566H65.2511V19.2271H69.1991V22.7566H72.0047V11.5969C72.0047 10.2019 70.8623 9.05908 69.4679 9.05908H64.9655C63.5711 9.05908 62.4287 10.2019 62.4287 11.5969V22.7566H62.4455ZM65.2679 11.8658H69.2159V16.4204H65.2679V11.8658Z"></path>
<path class="wordmark" d="M74.8926 9.04208V22.7396H77.6982V19.2101H81.4782C82.8726 19.2101 84.015 18.0673 84.015 16.6723V11.5631C84.015 10.1681 82.8726 9.02527 81.4782 9.02527H74.8926V9.04208ZM77.6982 16.4034V11.8488H81.1926V16.4034H77.6982Z"></path>
<path class="wordmark" d="M37.9823 9.04211V11.8488H40.7879V19.9329H37.3271V17.1261H34.5215V20.2858C34.5215 21.6472 35.6135 22.7396 36.9743 22.7396H41.0567C42.4511 22.7396 43.5935 21.5967 43.5935 20.2018V9.04211H37.9823Z"></path>
<path class="logomark" d="M25.6683 18.6721L24.4923 17.4957C24.4083 17.4116 24.2571 17.4116 24.1563 17.4957L22.3083 19.3444C22.2243 19.4285 22.2243 19.5797 22.3083 19.6806L23.4843 20.857L21.5859 22.7562H27.5499V16.7898L25.6515 18.689L25.6683 18.6721Z"></path>
<path class="logomark" d="M27.5688 25.8319H24.4776V27.7983C24.4776 28.4201 23.9736 28.9075 23.3688 28.9075H4.2C3.5784 28.9075 3.0912 28.4033 3.0912 27.7983V22.6722C3.0912 22.1344 3.2928 21.6302 3.6792 21.2605L12.0624 12.8739C12.4992 12.4369 13.0872 12.1512 13.692 12.1176C14.364 12.084 15.0024 12.3361 15.4728 12.8067L17.136 14.4705C17.22 14.5546 17.3712 14.5546 17.472 14.4705L19.32 12.6218C19.404 12.5378 19.404 12.3865 19.32 12.2857L17.7408 10.7058C16.7328 9.69744 15.4056 9.07559 13.9944 9.02517C12.4656 8.97475 11.004 9.54618 9.9288 10.6218L1.4952 19.0924C0.5376 20.0504 0 21.3277 0 22.689V27.8151C0 30.1344 1.8816 32.0168 4.2 32.0168H23.3688C25.6872 32.0168 27.5688 30.1344 27.5688 27.8151V25.8487V25.8319Z"></path>
<path class="logomark" d="M1.8984 13.3276L3.0744 14.504C3.1584 14.5881 3.3096 14.5881 3.4104 14.504L5.2584 12.6553C5.3424 12.5713 5.3424 12.42 5.2584 12.3192L4.0824 11.1427L5.9808 9.24353H0V15.2099L1.8984 13.3108V13.3276Z"></path>
<path class="logomark" d="M0 6.16807H3.0912V4.20168C3.0912 3.57983 3.5952 3.09244 4.2 3.09244H23.3688C23.9904 3.09244 24.4776 3.59664 24.4776 4.20168V9.32773C24.4776 9.86555 24.276 10.3697 23.8896 10.7395L15.5064 19.1261C15.0696 19.563 14.4816 19.8487 13.8768 19.8824C13.2048 19.916 12.5664 19.6639 12.096 19.1933L10.4328 17.5294C10.3488 17.4454 10.1976 17.4454 10.0968 17.5294L8.2488 19.3782C8.1648 19.4622 8.1648 19.6134 8.2488 19.7143L9.828 21.2941C10.836 22.3025 12.1632 22.9244 13.5744 22.9748C15.1032 23.0252 16.5648 22.4538 17.64 21.3782L26.0736 12.9412C27.0312 11.9832 27.5688 10.7059 27.5688 9.34454V4.21849C27.5688 1.88235 25.6872 0 23.3688 0H4.2C1.8816 0 0 1.88235 0 4.20168V6.16807Z"></path>
</svg>
|
|
|
/why-jmap/
|
Why JMAP?
|
|
|
/client/
|
Client guide
|
|
|
/server/
|
Server guide
|
|
|
/crash-course/
|
Crash course
|
|
|
/brand/
|
Brand
|
|
|
/spec/
|
Specifications
|
|
|
/software/
|
Software and Libraries
|
|