Limits and allowed characters
This page lists the main limits for client-visible fields.
Tenant
- Length: 1..128 bytes (after master-token
tenant_prefixis prepended, if any) - Allowed characters:
a-z,A-Z,0-9,_,-,~,@,.- If the tenant is sent empty, it is set by default to
~, because the tenant cannot be absent. - Master token
tenant_prefixuses the same characters. Empty prefix = whole overlay. Cockpit adds a trailing.if the prefix ends with a letter or digit.
- If the tenant is sent empty, it is set by default to
Channel
- Length: 1..256 bytes
- Allowed characters:
a-z,A-Z,0-9,_,-,~,@,., and for subscription patterns also>,#,*,{,},[,],,. See Patterns & matching.
Channel names usually use dot-separated tokens (example: a.b.c).
Token
- Maximum TTL: 24 hours. The
expires_atfield in token creation and refresh must not exceed 24 hours from the current server time. UseRefreshToken/PUT /v1/refresh-tokento extend periodically.
Payload
- One overlay message: 65535 bytes (~64 KB). On WebSocket the frame also carries tenant, channel, and a few protocol bytes, so a single publish without filters should stay slightly under 64 KB. The exact overhead can change with protocol versions.
- Larger application payloads: use the SDK
FragmentFilteron sender and receiver. It splits one payload into several overlay messages and reassembles it. See Filters. Fragments are still best-effort.