CommunityAsyncAPI 3.0

AsyncAPI
Dual Mode

Every schema subject in event7 has an AsyncAPI status — generated from your registry, imported from a spec, or not yet documented. The dual mode gives you a real-time overview of documentation coverage with drift detection when schemas evolve.

The three axes

Each subject carries three independent attributes that describe its AsyncAPI documentation state:

Origin
importedgeneratednull

Where the spec came from. Imported = uploaded from a YAML/JSON file. Generated = built from schema + enrichments by event7.

Status
documentedreadyraw

Documentation coverage. Documented = spec exists. Ready = has enrichments or channel bindings but no spec yet. Raw = nothing.

Sync Status
in_syncoutdatedunknown

Drift between the spec and the current schema version. Only applies to documented subjects.

These axes are independent. A subject can be origin=generated, status=documented, sync=outdated — meaning a spec was generated but the schema has evolved since.

Three workflows

Generate

Build an AsyncAPI 3.0 spec from a schema's content and enrichments. Includes Kafka bindings (partitions, replication, Magic Byte encoding), key schema separation (-value → -key auto-detection), and Avro-to-JSON-Schema conversion.

Select subjectGenerateView / Edit / Export

Result: origin=generated, status=documented

Import

Upload an AsyncAPI v3 spec (YAML or JSON) to create channels, bindings, enrichments, and optionally register schemas — all in one operation. Two-phase: preview (dry-run) then apply. Supports 9 broker protocols.

Upload specPreviewApply

Result: origin=imported, status=documented

Overview

Real-time dashboard showing every subject's AsyncAPI status with KPIs, coverage metrics, and per-subject drift detection. Filterable by status, origin, and search.

Open OverviewFilter / SearchClick to view

Result: KPIs + per-subject table

Drift detection

When a schema evolves in the registry, the existing AsyncAPI spec may become outdated. event7 detects this automatically using a two-tier approach — no N+1 queries:

Tier 1Version check (fast)

Compares the schema version stored at generation time with the current latest version from the provider. Different version = outdated. Zero extra fetches.

Tier 2Hash check (precise)

If the version matches but a hash was stored, event7 computes SHA-256 of the current schema content and compares. Catches content changes within the same version (rare but possible with Apicurio).

in_sync
Spec matches current schema
outdated
Schema evolved since last generate
unknown
No hash stored (imported specs)

The overview batches 4 data sources (subjects, enrichments, specs, bindings) to avoid N+1 queries — performance stays flat regardless of registry size.

Overview KPIs

The AsyncAPI overview page shows five KPI cards and a segmented coverage bar:

Total
All subjects
Documented
Spec exists
Ready
Enriched, no spec
Raw
Nothing yet
Coverage
documented / total

Coverage bar

documentedreadyraw

Spec viewer

Clicking a documented subject opens a 75vw sheet with three tabs:

Docs

Rendered AsyncAPI spec using the official AsyncAPI React component (CDN). Read-only, styled visualization.

Edit

Form editor for title, description, owner, server host, and tags. Save updates the spec and sets is_auto_generated=false.

JSON

Raw JSON textarea with live validation. Status bar shows valid/invalid. Save persists the raw content.

Export as YAML is available from the sheet header. After saving, the overview refreshes automatically to reflect the updated spec.

Multi-broker support

AsyncAPI import auto-detects the broker protocol from the spec and creates channels with the correct broker_type:

ProtocolBroker TypeResource Kind
kafka / kafka-securekafkatopic
amqp / amqpsrabbitmqexchange / queue
redisredis_streamsstream
pulsar / pulsar+sslpulsartopic
natsnatssubject
googlepubsubgoogle_pubsubtopic
sns / sqsaws_sns_sqstopic / queue
amqp (Azure)azure_servicebustopic / queue

Smart registration routes schemas based on registry type: Apicurio accepts all formats, Confluent-like registries only receive Kafka/Redpanda schemas — others are skipped with a warning.

Catalog integration

The Catalog page displays AsyncAPI status inline for every schema:

documentedSpec exists — click to open in the CatalogSheet viewer (Schema + AsyncAPI tabs)
readyEnrichment or channel binding exists — one click to generate
rawNo documentation — start by enriching in the Catalog

The CatalogSheet replaced the old JSON drawer. It provides two tabs: Schema (raw content + field structure) and AsyncAPI (rendered spec with edit/export).

Generation options

When generating a spec, these optional parameters control the output:

ParameterDefaultDescription
topic_nameautoOverride the deduced topic name (strips -value/-key suffix by default)
partitionsKafka channel binding: number of partitions
replication_factorKafka channel binding: replication factor
include_key_schematrueAuto-detect -key schema and include as separate message
include_confluent_bindingstrueAdd Magic Byte (schemaIdLocation, schemaIdPayloadEncoding)
include_examplestrueGenerate field examples from type heuristics

All parameters are optional — zero breaking change from the default generation. Set include_confluent_bindings=false for provider-agnostic output.

Quick start

1
Open the AsyncAPI page
Navigate to AsyncAPI in the sidebar. The Overview tab shows all subjects.
2
Generate a spec
Click Generate on any subject. event7 fetches the schema, enrichments, and produces an AsyncAPI 3.0 spec.
3
Review drift
After schema evolution, the sync status changes to outdated. Click Regen to update.
4
Import a spec
Switch to the Import tab. Upload a YAML/JSON spec. Preview first, then Apply.
5
Check coverage
The KPIs update in real-time. Target: 100% documented.

Roadmap

AsyncAPI 3.0 generation with Kafka bindings✓ Available
Import — preview + apply, multi-broker✓ Available
Smart schema registration (provider-aware)✓ Available
Dual mode overview with KPIs✓ Available
Drift detection (version + hash)✓ Available
Spec viewer (Docs / Edit / JSON)✓ Available
Catalog integration (column + sheet)✓ Available
Batch generate (all subjects at once)Planned
Export Mode 3 — real channels → specPlanned
CloudEvents envelope integrationPlanned