AsyncAPI 3.0 - DocView
Complete Table: All Root Elements and Their Fields in DocView
Section titled “Complete Table: All Root Elements and Their Fields in DocView”| Root Element | Location in DocView | Fields to Render | Required | Notes |
|---|---|---|---|---|
| Info | Document Tab (not Operation DocView) | titleversiondescription (if present) |
title: Yesversion: Yesdescription: If present |
Shown in Document Tab, same as OpenAPI. |
| Operation | Operation DocView - Header Section | titlebadge (send/receive)description (if present) |
title: Yesaction: Yesdescription: If present |
Action displayed as badge (SEND/RECEIVE). |
| Channel | Operation DocView - Channel Section | address (machine-readable)description |
address: Yesdescription: Yes (if present) |
Critical: Use address (NOT channel ID, NOT channel title) - located in the “path” right from the method(send/receive). Description is mandatory for understanding channel purpose. |
| Message | Operation DocView - Message Section | descriptionheaderspayload |
description: Yes (if present)headers: If presentpayload: Yes |
Description is mandatory. Headers and Payload rendered as separate objects (like OpenAPI). Headers may be empty but should be shown if present. |
| Headers | Operation DocView - Message Section → Headers | All properties (like OpenAPI) | All properties: If present | Render one-to-one like OpenAPI - same properties from JSON schema. |
| Payload | Operation DocView - Message Section → Payload | All properties (like OpenAPI) | All properties: If present | Render one-to-one like OpenAPI - same properties from JSON schema. |
| Bindings | Operation DocView - Operation Section Operation DocView - Channel Section Operation DocView - Message Section |
All bindings properties: - Protocol type (kafka/amqp) - All custom extensions |
Yes | Must be shown on all levels (operation, channel, message) even if identical. |
| Custom Extensions | Operation DocView - Channel/Message level | x-dead-letterx-exportedx-typex-auto-deletex-exclusivex-channel-bindingsx-routing-key-sourcex-non-bwc |
If present | See the “Custom extensions table” |
Custom Extensions
Section titled “Custom Extensions”| Custom Property | Format | Mandatory | Description |
|---|---|---|---|
channels.<?>.x-non-bwc |
boolean |
no |
Mark that channel is not supported BWC policies |
operations.<?>.x-non-bwc |
boolean |
no |
Mark that operation is not supported BWC policies |
channels.<?>.bindings.amqp.queue.x-dead-letter |
boolean |
no |
Set to true for DLQ (Dead Letter Queue) |
channels.<?>.bindings.amqp.queue.x-exported |
boolean |
no |
BG functionality for exporting messages between RabbitMQ VHosts |
channels.<?>.bindings.amqp.exchange.x-exported |
boolean |
no |
BG functionality for exporting messages between RabbitMQ VHosts |
channels.<?>.bindings.amqp.queue.x-type |
String |
no |
quorum |
channels.<?>.bindings.amqp.exchange.x-dead-letter |
boolean |
no |
Set to true for DLX (Dead Letter Exchange) |
channels.<?>.bindings.amqp.queue.x-channel-bindings |
Array of objects with the following fields:• channelAddress - mandatory• routingKey - optional |
no |
List of relations between RabbitMQ Queue’s and Exchanges or between Exchanges only. Example: yaml<br>x-channel-bindings:<br>- { channelAddress: "quote_state_change_exchange_v1", routingKey: "IN_PROGRESS" }<br>- { channelAddress: "some-exchange-name" }<br>Note: Here channelAddress is a source channel for the message routing and the current channel is a destination. |
channels.<?>.bindings.amqp.exchange.x-channel-bindings |
same as above |
no |
same as above |
components.<?>.messages.<?>.bindings.amqp.x-routing-key-source |
String |
no |
Document what is used as routing-key when message is published. Example: quote.state |