Skip to content

Commit

Permalink
Add descriptions to IANA error codes registry
Browse files Browse the repository at this point in the history
  • Loading branch information
neilj committed Mar 8, 2019
1 parent 0ed1b1e commit 3f4b7f8
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 34 deletions.
70 changes: 36 additions & 34 deletions spec/jmap/ianaconsiderations.mdown
Expand Up @@ -148,40 +148,42 @@ Intended use: (one of *common*, *limited*, *obsolete*)

Change Controller: (*IETF* for standards-track/BCP RFCs)

Description or Reference:
Reference: (optional, only if defined in an RFC.)

Description:

### Initial JMAP Error Codes registry

| JMAP Error Code | Intended Use | Change Controller | Description or Reference |
| --- | --- | --- | --- |
| accountNotFound | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 |
| accountNotSupportedByMethod | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 |
| accountReadOnly | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 |
| anchorNotFound | common | IETF | [@!I-D.ietf-jmap-core] section 5.5 |
| alreadyExists | common | IETF | [@!I-D.ietf-jmap-core] section 5.4 |
| cannotCalculateChanges | common | IETF | [@!I-D.ietf-jmap-core] sections 5.2 and 5.6 |
| forbidden | common | IETF | [@!I-D.ietf-jmap-core] sections 3.5.2, 5.3, and 7.2.1 |
| fromAccountNotFound | common | IETF | [@!I-D.ietf-jmap-core] sections 5.4 and 6.3 |
| fromAccountNotSupportedByMethod | common | IETF | [@!I-D.ietf-jmap-core] section 5.4 |
| invalidArguments | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 |
| invalidPatch | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 |
| invalidProperties | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 |
| notFound | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 |
| notJSON | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.1 |
| notRequest | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.1 |
| overQuota | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 |
| rateLimit | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 |
| requestTooLarge | common | IETF | [@!I-D.ietf-jmap-core] sections 5.1 and 5.3 |
| invalidResultReference | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 |
| serverFail | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 |
| serverPartialFail | limited | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 |
| serverUnavailable | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 |
| singleton | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 |
| stateMismatch | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 |
| tooLarge | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 |
| tooManyChanges | common | IETF | [@!I-D.ietf-jmap-core] section 5.6 |
| unknownCapability | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.1 |
| unknownMethod | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 |
| unsupportedFilter | common | IETF | [@!I-D.ietf-jmap-core] section 5.5 |
| unsupportedSort | common | IETF | [@!I-D.ietf-jmap-core] section 5.5 |
| willDestroy | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 |
| JMAP Error Code | Intended Use | Change Controller | Reference | Description |
| --- | --- | --- | --- | --- |
| accountNotFound | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 | The accountId does not correspond to a valid account. |
| accountNotSupportedByMethod | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 | The accountId given corresponds to a valid account, but the account does not support this data type. |
| accountReadOnly | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 | This method call would modify state in an account that is read-only (as returned on the corresponding Account object in the JMAP Session resource). |
| anchorNotFound | common | IETF | [@!I-D.ietf-jmap-core] section 5.5 | An anchor argument was supplied, but it cannot be found in the results of the query. |
| alreadyExists | common | IETF | [@!I-D.ietf-jmap-core] section 5.4 | The server forbids duplicates and the record already exists in the target account. An existingId property of type Id MUST be included on the error object with the id of the existing record. |
| cannotCalculateChanges | common | IETF | [@!I-D.ietf-jmap-core] sections 5.2 and 5.6 | The server cannot calculate the changes from the state string given by the client. |
| forbidden | common | IETF | [@!I-D.ietf-jmap-core] sections 3.5.2, 5.3, and 7.2.1 | The action would violate an ACL or other permissions policy. |
| fromAccountNotFound | common | IETF | [@!I-D.ietf-jmap-core] sections 5.4 and 6.3 | The fromAccountId does not correspond to a valid account. |
| fromAccountNotSupportedByMethod | common | IETF | [@!I-D.ietf-jmap-core] section 5.4 | The fromAccountId given corresponds to a valid account, but the account does not support this data type. |
| invalidArguments | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 | One of the arguments is of the wrong type or otherwise invalid, or a required argument is missing. |
| invalidPatch | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 | The PatchObject given to update the record was not a valid patch. |
| invalidProperties | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 | The record given is invalid. |
| notFound | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 | The id given cannot be found. |
| notJSON | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.1 | The content type of the request was not application/json or the request did not parse as I-JSON. |
| notRequest | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.1 | The request parsed as JSON but did not match the type signature of the Request object. |
| overQuota | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 | The create would exceed a server-defined limit on the number or total size of objects of this type. |
| rateLimit | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 | Too many objects of this type have been created recently, and a server-defined rate limit has been reached. It may work if tried again later. |
| requestTooLarge | common | IETF | [@!I-D.ietf-jmap-core] sections 5.1 and 5.3 | The total number of actions exceeds the maximum number the server is willing to process in a single method call. |
| invalidResultReference | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 | The method used a result reference for one of its arguments, but this failed to resolve. |
| serverFail | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 | An unexpected or unknown error occurred during the processing of the call. The method call made no changes to the server’s state. |
| serverPartialFail | limited | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 | Some, but not all expected changes described by the method occurred. The client MUST re-synchronise impacted data to determine server state. Use of this error is strongly discouraged. |
| serverUnavailable | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 | Some internal server resource was temporarily unavailable. Attempting the same operation later (perhaps after a backoff with a random factor) may succeed. |
| singleton | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 | This is a singleton type, so you cannot create another one or destroy the existing one. |
| stateMismatch | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 | An ifInState argument was supplied and it does not match the current state. |
| tooLarge | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 | The action would result in an object that exceeds a server-defined limit for the maximum size of a single object of this type. |
| tooManyChanges | common | IETF | [@!I-D.ietf-jmap-core] section 5.6 | There are more changes than the client’s maxChanges argument. |
| unknownCapability | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.1 | The client included a capability in the “using” property of the request that the server does not support. |
| unknownMethod | common | IETF | [@!I-D.ietf-jmap-core] section 3.5.2 | The server does not recognise this method name. |
| unsupportedFilter | common | IETF | [@!I-D.ietf-jmap-core] section 5.5 | The filter is syntactically valid, but the server cannot process it. |
| unsupportedSort | common | IETF | [@!I-D.ietf-jmap-core] section 5.5 |The sort is syntactically valid, but includes a property the server does not support sorting on, or a collation method it does not recognise. |
| willDestroy | common | IETF | [@!I-D.ietf-jmap-core] section 5.3 | The client requested an object be both updated and destroyed in the same /set request, and the server has decided to therefore ignore the update. |
24 changes: 24 additions & 0 deletions spec/mail/ianaconsiderations.mdown
Expand Up @@ -284,6 +284,8 @@ Change controller: IETF

Reference: This document, section 2.5

Description: The mailbox still has at least one child mailbox. The client MUST remove these before it can delete the parent mailbox.

### mailboxHasEmail

JMAP Error Code: mailboxHasEmail
Expand All @@ -294,6 +296,8 @@ Change controller: IETF

Reference: This document, section 2.5

Description: The mailbox has at least one message assigned to it and the onDestroyRemoveMessages argument was false.

### blobNotFound

JMAP Error Code: blobNotFound
Expand All @@ -304,6 +308,8 @@ Change controller: IETF

Reference: This document, section 4.6

Description: At least one blob id referenced in the object doesn’t exist.

### tooManyKeywords

JMAP Error Code: tooManyKeywords
Expand All @@ -314,6 +320,8 @@ Change controller: IETF

Reference: This document, section 4.6

Description: The change to the email’s keywords would exceed a server-defined maximum.

### tooManyMailboxes

JMAP Error Code: tooManyMailboxes
Expand All @@ -324,6 +332,8 @@ Change controller: IETF

Reference: This document, section 4.6

Description: The change to the email’s mailboxes would exceed a server-defined maximum.

### invalidEmail

JMAP Error Code: invalidEmail
Expand All @@ -334,6 +344,8 @@ Change controller: IETF

Reference: This document, section 7.5

Description: The email to be sent is invalid in some way.

### tooManyRecipients

JMAP Error Code: tooManyRecipients
Expand All @@ -344,6 +356,8 @@ Change controller: IETF

Reference: This document, section 7.5

Description: The RFC5321 envelope (supplied or generated) has more recipients than the server allows.

### noRecipients

JMAP Error Code: noRecipients
Expand All @@ -354,6 +368,8 @@ Change controller: IETF

Reference: This document, section 7.5

Description: The RFC5321 envelope (supplied or generated) does not have any rcptTo emails.

### invalidRecipients

JMAP Error Code: invalidRecipients
Expand All @@ -364,6 +380,8 @@ Change controller: IETF

Reference: This document, section 7.5

Description: The rcptTo property of the RFC5321 envelope (supplied or generated) contains at least one rcptTo value which is not a valid email for sending to.

### forbiddenMailFrom

JMAP Error Code: forbiddenMailFrom
Expand All @@ -374,6 +392,8 @@ Change controller: IETF

Reference: This document, section 7.5

Description: The server does not permit the user to send an email with the RFC5321 envelope From.

### forbiddenFrom

JMAP Error Code: forbiddenFrom
Expand All @@ -384,6 +404,8 @@ Change controller: IETF

Reference: This document, sections 6.3 and 7.5

Description: The server does not permit the user to send an email with the RFC5322 From header field of the email to be sent.

### forbiddenToSend

JMAP Error Code: forbiddenToSend
Expand All @@ -393,3 +415,5 @@ Intended use: common
Change controller: IETF

Reference: This document, section 7.5

Description: The user does not have permission to send at all right now.

0 comments on commit 3f4b7f8

Please sign in to comment.