Logo
NeoArc Studio

Channels and Operations

Define channels (topics, queues, subjects) and operations (send/receive) for async event APIs. Configure addresses with parameters, protocol bindings, and request-reply patterns.

Channels and operations are the core building blocks of async API documentation. A channel represents a message destination (topic, queue, or subject) while an operation describes how your application interacts with that channel.

Channels

A channel represents a destination where messages are sent and received. Depending on the protocol, this maps to a Kafka topic, AMQP exchange/queue, MQTT topic, or other protocol-specific concept.

PropertyDescription
NameHuman-readable name for the channel
AddressThe channel address or topic pattern (e.g. orders.{orderId}.events)
ParametersDynamic address segments auto-detected from {expression} tokens
MessagesReferences to messages that can appear on this channel
Server RefsWhich servers this channel is available on
Protocol BindingsProtocol-specific configuration (partitions, retention, QoS, etc.)
TagsCategorisation tags for filtering and organisation

Address Parameters

When you include {parameter} expressions in a channel address, NeoArc automatically detects and creates parameter entries. Each parameter can have a description, enum values, and examples.

Example: Order Events Channel

Operations

An operation describes how your application interacts with a channel. The two actions are send (your application publishes messages) and receive (your application subscribes to messages).

PropertyDescription
NameOperation identifier (e.g. publishOrderCreated)
Actionsend (publish) or receive (subscribe) from the application's perspective
Channel RefThe channel this operation acts on
MessagesReferences to the messages this operation sends or receives
SecurityPer-operation security requirements (overrides API default)
ReplyOptional request-reply configuration with reply channel and messages
Protocol BindingsKafka consumer group, AMQP delivery mode, MQTT QoS, etc.
TraitsReusable operation traits for cross-cutting concerns
DeprecatedMark operations as deprecated with migration guidance

Send vs Receive

Example: Send Operation

Example: Receive Operation

Request-Reply Pattern

Operations can define a reply configuration for request-reply messaging patterns. Specify a reply channel, reply messages, and an address location expression for dynamic reply destinations.

Reply PropertyDescription
Channel RefThe channel where replies are expected
Message RefsMessages that constitute valid replies
Address LocationRuntime expression for the reply address (e.g. $message.header#/replyTo)
DescriptionHuman-readable description of the reply mechanism

Operation Traits

Operation traits capture reusable cross-cutting properties that apply to multiple operations. Common use cases include shared security requirements, standard bindings, and tagging conventions. Traits are defined in the API definition and referenced by operations.