Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Limits and allowed characters

This page lists the main limits for client-visible fields.

Tenant

  • Length: 1..128 bytes (after master-token tenant_prefix is 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_prefix uses the same characters. Empty prefix = whole overlay. Cockpit adds a trailing . if the prefix ends with a letter or digit.

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_at field in token creation and refresh must not exceed 24 hours from the current server time. Use RefreshToken / PUT /v1/refresh-token to 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 FragmentFilter on sender and receiver. It splits one payload into several overlay messages and reassembles it. See Filters. Fragments are still best-effort.