Reference

Limits and defaults

Every size limit, name rule, default window and timeout in one place.

Names#

ThingRule
Domain slug3–40 characters: lowercase letters, digits and -, not starting or ending with -.
Topic1–8 levels of a-z A-Z 0-9 _ -, joined by :; at most 128 characters.
Main TopicOne level: a-z A-Z 0-9 _ -, at most 128 characters.
Event type1–64 characters of a-z A-Z 0-9 _ . : -.
State key1–128 characters of a-z A-Z 0-9 _ . : -.
App Key80 lowercase hex characters: a 16-character selector and a 64-character secret.

Sizes#

LimitValue
Event data, as JSON64 KiB (65 536 bytes); null not allowed
State value, as JSON64 KiB (65 536 bytes); null not allowed
Ops per WebSocket message100
WebSocket frame from a client100 × (64 KiB + 1 KiB); larger closes with 1009
REST listing limitdefault 100, maximum 1000 (larger is capped)

Tokens#

SettingValue
Token TTL of an App Key1–86 400 seconds; default 30
Token typeBearer (JWT), always expiring
Checkedevery REST request; WebSocket handshake only

Retention defaults#

Applied to a Main Topic's family when it has no config of its own.

BrokerCountAge
Event Brokernewest 1000 events1 hour
State Brokerunboundednever expire

Expired data is removed by a sweep that runs about once a minute; it never notifies subscribers. Configs are set per Main Topic: Event Broker, State Broker.

WebSocket timing#

SettingValue
Server ping interval30 seconds
Idle timeout60 seconds without any frame from the client (pongs count)
Permissionssnapshot at connect, for the connection's life

Claims#

FieldValues
Domain Claim protocol flags0, 1 (R), 4 (W), 5 (W R)
Broker claim topic_flags0, 1, 4, 5
Broker claim data flags0–15 (P 8, W 4, S 2, R 1)
Claims per keyat most one of each kind
Keys per claimunlimited