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
This type represents the constraints that apply when composing a message, so that a client
can enforce them while the message is being written rather than discovering them by failing to save it.
Every element is optional. The platform publishes the constraints it actually enforces, so a client should
treat an absent element as "no limit is known here" and not as "there is no limit" - the server's own
validation remains the authority either way.<br/><br/>
All lengths are counts of Unicode CHARACTERS (code points), which is what the platform counts when it
validates a value against its column. That is neither a byte count nor a count of UTF-16 code units, so a
client measuring a JavaScript string with .length will disagree for any character outside the BMP - an
emoji is one character here and two UTF-16 code units there. Count code points instead.
Properties
| Name | Type | Occurrence | Description |
|---|---|---|---|
subjectMaxLength |
xs:unsignedInt |
Optional | The maximum length of the message subject, in characters. |
senderMaxLength |
xs:unsignedInt |
Optional | The maximum length of the sender (from) address, in characters. |
recipientsMaxLength |
xs:unsignedInt |
Optional | The maximum length of the recipient list, in characters. This is the length of the whole list taken together as it is stored, not a limit on one address, and not a limit on how many recipients a message may have - the platform imposes no limit on the number of recipients. |
attachmentTypesRestricted |
xs:boolean |
Optional | Set to true if the file upload restriction policy is in force for mail attachments on this instance, in which case attachmentBlockedTypes lists the file types it rejects. |
attachmentBlockedTypes |
Array<xs:string> |
Optional | The file extensions, without the leading dot, that this instance will refuse as message attachments. Administrator-configurable, so a client cannot assume the usual list. |
- Version {{docApp.book.version}}
- Node {{docApp.node}} / {{docApp.build}}