This article is about version 2.0.0-rc1 of the specification. Please note that documentation and tooling support are minimum or inexistent yet. We’re working hard to update everything to version 2.0.0 as soon as possible. Thanks for your patience.
If you’re coming from OpenAPI, you must know that AsyncAPI started as an adaptation of the OpenAPI specification. We wanted to have as much compatibility as possible between the two so users could reuse parts in both.
You’ll find lots of similarities between OpenAPI and AsyncAPI. Just bear in mind that, in the world of event-driven architectures, we have more than one protocol and therefore some things are different. Check out the following comparison chart, inspired by Darrel Miller’s blog post:
Aside from structural differences you must know that:
schemehas been renamed to
protocoland AsyncAPI introduces a new property called
As we have seen above, OpenAPI and AsyncAPI are very similar. In a real world environment, systems don’t have just REST APIs or events but a mix of both. Most of the times, the information flowing in the events are very similar to the one the REST APIs have to handle in requests and responses, thus being able to reuse schemas is a huge win.
Enough speaking, let’s get our hands dirty with some examples. Learn how to create an AsyncAPI document defining a “Hello world” application.