Skip to content

Supported protocols

In Restorm, a protocol is not a degraded flavour of HTTP: each one has its own editor, its own execution and its own response rendering. The same project can therefore hold a REST call, an MQTT subscription and a Kafka consumer side by side.

Every execution protocol is included in the Community edition, without limits.

ProtocolWhat forServer mode
HTTPREST and any HTTP call✔
GraphQLQueries, mutations, subscriptions✔
gRPCUnary and streaming calls, gRPC-Web, Connect✔
SOAPWSDL services, XML envelopes✔
ODataEntity sets, query options, $batch✔
JSON-RPCJSON-RPC 2.0, single or batch—
tRPCquery and mutation procedures—
ProtocolWhat forServer mode
WebSocketRaw bidirectional connection✔
Socket.IONamed Socket.IO events✔
MQTTIoT — topics, QoS, retention, last will✔
SSEServer-Sent Events, receive-side—
STOMPSTOMP over WebSocket—
AMQPRabbitMQ — publish, consume, inspect—
KafkaProduce, consume, inspect a partition—
RedisPub/Sub and commands—
  • {{variables}} are resolved in every field, including protocol-specific ones. See Inline variables.
  • History records every run, whatever the protocol. See Request history.
  • Code snippets are generated for every protocol, in the relevant languages. See Code export.
  • Scenarios can drive every protocol, including long-lived connections (connect / send / close). See Action catalogue.
  • The firewall intercepts every outbound call, whatever the transport. See Firewall.

To be clear about the boundaries: Restorm does not execute Thrift (its import is documentation-only), nor AMQP 1.0 (only AMQP 0-9-1 / RabbitMQ is implemented), nor NATS.