Internet Assigned Numbers Authority JSON Meta Application Protocol (JMAP) Created 2019-03-28 Last Updated 2025-03-28 Available Formats [IMG] XML [IMG] HTML [IMG] Plain text Registries included below • JMAP Capabilities • JMAP Error Codes • JMAP Data Types JMAP Capabilities Expert(s) Neil Jenkins, Chris Newman, Arnt Gulbrandsen, Joris Baum Reference [RFC8620] Available Formats [IMG] CSV Range Registration Procedures intended use field is “common" or “placeholder” Specification Required all other values Expert Review Capability Name Intended Use Change Controller Security and Privacy Considerations Reference urn:ietf:params:jmap:core common IETF [RFC8620, Section 8] [RFC8620, Section 2] urn:ietf:params:jmap:error: placeholder IETF [RFC8620, Section 8] [RFC8620, Section 9.5] urn:ietf:params:jmap:mail common IETF [RFC8621, Section 9] [RFC8621] urn:ietf:params:jmap:mdn common IETF [RFC9007, Section 5] [RFC9007] urn:ietf:params:jmap:smimeverify common IETF [RFC9219, Section 6] [RFC9219] urn:ietf:params:jmap:submission common IETF [RFC8621, Section 9] [RFC8621] urn:ietf:params:jmap:vacationresponse common IETF [RFC8621, Section 9] [RFC8621] urn:ietf:params:jmap:blob common IETF [RFC9404, Section 5] [RFC9404] urn:ietf:params:jmap:quota common IETF [RFC9425, Section 7] [RFC9425] urn:ietf:params:jmap:sieve common IETF [RFC9661, Section 5] [RFC9661] urn:ietf:params:jmap:principals common IETF [RFC9670, Section 6] [RFC9670] urn:ietf:params:jmap:principals:owner common IETF [RFC9670, Section 6] [RFC9670] urn:ietf:params:jmap:contacts common IETF [RFC9610, Section 6] [RFC9610] urn:ietf:params:jmap:calendars common IETF [RFC-ietf-jmap-calendars-22, Section [RFC-ietf-jmap-calendars-22] 1.5.1] urn:ietf:params:jmap:principals:availability common IETF [RFC-ietf-jmap-calendars-22, Section [RFC-ietf-jmap-calendars-22] 1.5.2] urn:ietf:params:jmap:webpush-vapid common IETF [RFC9749, Section 6] [RFC9749] JMAP Error Codes Registration Procedure(s) Expert Review Expert(s) Neil Jenkins, Chris Newman, Arnt Gulbrandsen, Joris Baum Reference [RFC8620] Available Formats [IMG] CSV JMAP Error Code Intended Use Change Description Reference Controller accountNotFound common IETF The accountId does not correspond to a valid account. [RFC8620, Section 3.6.2] The accountId given corresponds to a valid account, accountNotSupportedByMethod common IETF but the account does not support this method or data [RFC8620, Section 3.6.2] type. This method modifies state, but the account is accountReadOnly common IETF read-only (as returned on the corresponding Account [RFC8620, Section 3.6.2] object in the JMAP Session resource). anchorNotFound common IETF An anchor argument was supplied, but it cannot be [RFC8620, Section 5.5] found in the results of the query. The server forbids duplicates, and the record already alreadyExists common IETF exists in the target account. An existingId property [RFC8620, Section 5.4] of type Id MUST be included on the SetError object with the id of the existing record. cannotCalculateChanges common IETF The server cannot calculate the changes from the state [RFC8620, Section 5.2 and 5.6] string given by the client. forbidden common IETF The action would violate an ACL or other permissions [RFC8620, Section 3.6.2, 5.3, and policy. 7.2.1] fromAccountNotFound common IETF The fromAccountId does not correspond to a valid [RFC8620, Section 5.4 and 6.3] account. The fromAccountId given corresponds to a valid fromAccountNotSupportedByMethod common IETF account, but the account does not support this data [RFC8620, Section 5.4] type. invalidArguments common IETF One of the arguments is of the wrong type or otherwise [RFC8620, Section 3.6.2] invalid, or a required argument is missing. invalidPatch common IETF The PatchObject given to update the record was not a [RFC8620, Section 5.3] valid patch. invalidProperties common IETF The record given is invalid. [RFC8620, Section 5.3] notFound common IETF The id given cannot be found. [RFC8620, Section 5.3] The content type of the request was not notJSON common IETF application/json, or the request did not parse as [RFC8620, Section 3.6.1] I-JSON. notRequest common IETF The request parsed as JSON but did not match the type [RFC8620, Section 3.6.1] signature of the Request object. overQuota common IETF The create would exceed a server-defined limit on the [RFC8620, Section 5.3] number or total size of objects of this type. Too many objects of this type have been created rateLimit common IETF recently, and a server-defined rate limit has been [RFC8620, Section 5.3] reached. It may work if tried again later. The total number of actions exceeds the maximum number requestTooLarge common IETF the server is willing to process in a single method [RFC8620, Section 5.1 and 5.3] call. invalidResultReference common IETF The method used a result reference for one of its [RFC8620, Section 3.6.2] arguments, but this failed to resolve. An unexpected or unknown error occurred during the serverFail common IETF processing of the call. The method call made no [RFC8620, Section 3.6.2] changes to the server's state. Some, but not all, expected changes described by the serverPartialFail limited IETF method occurred. The client MUST resynchronise [RFC8620, Section 3.6.2] impacted data to determine the server state. Some internal server resource was temporarily serverUnavailable common IETF unavailable. Attempting the same operation later [RFC8620, Section 3.6.2] (perhaps after a backoff with a random factor) may succeed. singleton common IETF This is a singleton type, so you cannot create another [RFC8620, Section 5.3] one or destroy the existing one. stateMismatch common IETF An ifInState argument was supplied, and it does not [RFC8620, Section 5.3] match the current state. The action would result in an object that exceeds a tooLarge common IETF server-defined limit for the maximum size of a single [RFC8620, Section 5.3] object of this type. tooManyChanges common IETF There are more changes than the client's maxChanges [RFC8620, Section 5.6] argument. The client included a capability in the "using" unknownCapability common IETF property of the request that the server does not [RFC8620, Section 3.6.1] support. unknownMethod common IETF The server does not recognise this method name. [RFC8620, Section 3.6.2] unsupportedFilter common IETF The filter is syntactically valid, but the server [RFC8620, Section 5.5] cannot process it. The sort is syntactically valid but includes a unsupportedSort common IETF property the server does not support sorting on or a [RFC8620, Section 5.5] collation method it does not recognise. The client requested an object be both updated and willDestroy common IETF destroyed in the same /set request, and the server has [RFC8620, Section 5.3] decided to therefore ignore the update. The Mailbox still has at least one child Mailbox. The mailboxHasChild common IETF client MUST remove these before it can delete the [RFC8621, Section 2.5] parent Mailbox. mailboxHasEmail common IETF The Mailbox has at least one message assigned to it, [RFC8621, Section 2.5] and the onDestroyRemoveEmails argument was false. blobNotFound common IETF At least one blob id referenced in the object doesn't [RFC8621, Section 4.6] exist. tooManyKeywords common IETF The change to the Email's keywords would exceed a [RFC8621, Section 4.6] server-defined maximum. tooManyMailboxes common IETF The change to the set of Mailboxes that this Email is [RFC8621, Section 4.6] in would exceed a server-defined maximum. invalidEmail common IETF The Email to be sent is invalid in some way. [RFC8621, Section 7.5] tooManyRecipients common IETF The envelope [RFC5321] (supplied or generated) has [RFC8621, Section 7.5] more recipients than the server allows. noRecipients common IETF The envelope [RFC5321] (supplied or generated) does [RFC8621, Section 7.5] not have any rcptTo email addresses. The rcptTo property of the envelope [RFC5321] invalidRecipients common IETF (supplied or generated) contains at least one rcptTo [RFC8621, Section 7.5] value that is not a valid email address for sending to. forbiddenMailFrom common IETF The server does not permit the user to send a message [RFC8621, Section 7.5] with this envelope From address [RFC5321]. The server does not permit the user to send a message forbiddenFrom common IETF with the From header field [RFC8621, Sections 6.3 and 7.5] [RFC-ietf-emailcore-rfc5322bis-12] of the message to be sent. forbiddenToSend common IETF The user does not have permission to send at all right [RFC8621, Section 7.5] now. The message has the "$mdnsent" keyword already set. mdnAlreadySent common IETF The client MUST NOT try again to send an MDN for this [RFC9007, Section 2.1] message. The server does not recognise this data type, or the unknownDataType common IETF capability to enable it is not present in the current [RFC9404] Request Object. The SieveScript violates the Sieve grammar [RFC5228], invalidSieve common IETF and/or one or more extensions mentioned in the [RFC9661, Section 2.4] script's "require" statement(s) are not supported by the Sieve interpreter. sieveIsActive common IETF The client tried to destroy the active SieveScript. [RFC9661, Section 2.4] The AddressBook has at least one ContactCard assigned addressBookHasContents common IETF to it, and the "onDestroyRemoveContents" argument was [RFC9610, Section 2.3] false. The Calendar has at least one CalendarEvent assigned [RFC-ietf-jmap-calendars-22, calendarHasEvent common IETF to it, and the "onDestroyRemoveEvents" argument was Section 4.3] false. The server was requested to send scheduling messages, [RFC-ietf-jmap-calendars-22, noSupportedScheduleMethods common IETF but does not support any of the methods available for Section 5.8] at least one of the recipients. cannotCalculateOccurrences common IETF The server cannot expand a recurrence required to [RFC-ietf-jmap-calendars-22, return the results for the requested query. Section 5.10] JMAP Data Types Registration Procedure(s) Specification Required Expert(s) Ken Murchison, Neil Jenkins, Arnt Gulbrandsen, Joris Baum Reference [RFC9404] Available Formats [IMG] CSV Type Name Can Reference Blobs Can Use for State Change Capability Reference Core No No urn:ietf:params:jmap:core [RFC8620] PushSubscription No No urn:ietf:params:jmap:core [RFC8620] Mailbox Yes Yes urn:ietf:params:jmap:mail [RFC8621] Thread Yes Yes urn:ietf:params:jmap:mail [RFC8621] Email Yes Yes urn:ietf:params:jmap:mail [RFC8621] EmailDelivery No Yes urn:ietf:params:jmap:mail [RFC8621] SearchSnippet No No urn:ietf:params:jmap:mail [RFC8621] Identity No Yes urn:ietf:params:jmap:submission [RFC8621] EmailSubmission No Yes urn:ietf:params:jmap:submission [RFC8621] VacationResponse No Yes urn:ietf:params:jmap:vacationresponse [RFC8621] MDN No No urn:ietf:params:jmap:mdn [RFC9007] Quota No Yes urn:ietf:params:jmap:quota [RFC9425] SieveScript Yes Yes urn:ietf:params:jmap:sieve [RFC9661] Principal No Yes urn:ietf:params:jmap:principals [RFC9670] ShareNotification No Yes urn:ietf:params:jmap:principals [RFC9670] AddressBook No Yes urn:ietf:params:jmap:contacts [RFC9610] ContactCard Yes Yes urn:ietf:params:jmap:contacts [RFC9610] Calendar No Yes urn:ietf:params:jmap:calendars [RFC-ietf-jmap-calendars-22] CalendarEvent Yes Yes urn:ietf:params:jmap:calendars [RFC-ietf-jmap-calendars-22] CalendarEventNotification No Yes urn:ietf:params:jmap:calendars [RFC-ietf-jmap-calendars-22] ParticipantIdentity No Yes urn:ietf:params:jmap:calendars [RFC-ietf-jmap-calendars-22] Licensing Terms