Connect an AI assistant
Your AI assistant can read this documentation directly, so it answers from the current content instead of guessing. Add one of the servers below to your client — they use the Model Context Protocol (MCP). Each one covers a different body of content, so add the one you need.
The catalog did not load. Refresh the page to try again.
Loading…
{{server.name}}
{{server.summary}}
{{server.documentCount.toLocaleString()}} pages Not published to this site
- Name
-
{{server.name}} - URL
-
{{mcpServerUrl(server.path)}}
| Tool | What it does |
|---|---|
{{tool.name}} |
{{part.text}}{{part.text}} |
How can we help?
Keep typing - a search needs at least two characters
Searching in {{docApp.searchFilterBySpecificBookTitle}}
Searching for:
{{docApp.searchResultFilteredItems.length}} results for:
{{docApp.currentResultsSearchText}}
in {{docApp.searchFilterBySpecificBookTitle}}
Found {{docApp.searchResponse.totalResultsAvailable}} matches. Showing the top {{docApp.searchResponse.results ? docApp.searchResponse.results.length : 0}}. Use a more specific search to further narrow down the results.
No documentation pages match this search, so all content types are shown.
Most matches are in {{docApp.searchDocTypeRescue.best.name}}.
There is no book with the ID "{{docApp.searchBookRescue.bid}}", so the book filter from this link was ignored and results from all books are shown.
You have an odd number of " characters in your search terms - each one needs closing with a matching " character!
-
{{resultItem.title}} {{resultItem.matchedBy === 'semantic' ? 'semantic' : (resultItem.matchedBy === 'both' ? 'keyword + semantic' : 'keyword')}}
{{resultItem.url}}
{{docApp.libraryHomeViewProduct.title || docApp.libraryHomeViewProduct.id}}
{{docApp.libraryHomeViewProduct.description}}
{{group.title || group.id}}
{{group.description}}
Description
The complete set of rules governing which interactive (user-initiated) message moves the platform
permits, so that a client can decide for itself which folders are valid drop targets for a drag, or which
entries of a ‘Move to…’ menu to enable, without a round trip per selection.
Every combination of source folder type and message origin is listed, including those that permit nothing,
so a client can index the set directly rather than treating a missing entry as a special case. These are
the same rules the server enforces when a move is actually requested, and the same ones mail::folderGetList
applies when it is given 'moveMessageId' - so a client that prefers a per-selection answer from the server
to evaluating the rules itself can keep using that instead, and will get consistent results either way.<br/><br/>
The rules are fixed by the platform: they are the same for every mailbox and are not administrator
configurable. They are published per mailbox so that they can start varying by mailbox later without
changing the contract, and a client should read them per mailbox rather than assuming one answer covers
them all. They do not describe rights: a caller also needs the appropriate mail rights on the mailbox, and
the server's own validation remains the authority in all cases.
Properties
| Name | Type | Occurrence | Description |
|---|---|---|---|
rule |
Array<mailboxMoveRuleType> |
Optional | One rule per combination of source folder type and message origin. |
- Version {{docApp.book.version}}
- Node {{docApp.node}} / {{docApp.build}}