A named Ably channel. Channels are identified by an arbitrary string name
and may live inside a namespace (e.g. `chat:room42`). Clients ATTACH to
a channel before publishing or subscribing, and DETACH when finished.
The channel address travels in the `channel` field of every ProtocolMessage
for actions ATTACH, ATTACHED, DETACH, DETACHED, MESSAGE, PRESENCE, SYNC.
Send ATTACH ProtocolMessage to begin pub/sub on a channel.
send
detachChannel
Send DETACH ProtocolMessage to leave a channel.
send
publishMessage
Publish a MESSAGE ProtocolMessage to a channel.
receive
subscribeChannel
Receive MESSAGE / PRESENCE / ATTACHED / DETACHED / SYNC / ERROR frames for a channel.
send
enterPresence
Send PRESENCE ProtocolMessage to enter, update, or leave a channel's presence set.
Messages
attach
Client request to attach to a channel.
Content-Type:
attached
Server confirmation that the channel is attached.
Content-Type:
detach
DETACH
Content-Type:
detached
DETACHED
Content-Type:
message
Carries one or more user-published Message objects on a channel.
Content-Type:
presence
Carries one or more PresenceMessage objects. Action enum:
0 ABSENT, 1 PRESENT, 2 ENTER, 3 LEAVE, 4 UPDATE.
Content-Type:
sync
Presence set synchronization frames.
Content-Type:
error
Protocol-level or channel-scoped error.
Content-Type:
About AsyncAPI
The AsyncAPI specification describes event-driven APIs the way OpenAPI describes request/response APIs. A channel is the named pipe — a webhook URL, a Kafka topic, a WebSocket route, an MQTT subject — that producers and consumers publish or subscribe to. Each channel carries one or more messages with structured payloads, and an operation declares whether a given party sends or receives on that channel.
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.