AsyncAPI Blog
asyncapi.com · Company blog · on HN since 2017
The AsyncAPI project blog covers the specification for describing event-driven and asynchronous APIs, plus release notes and comparisons with OpenAPI.
What HN saysHN commenters repeatedly point to AsyncAPI as the standard way to document asynchronous and event-based APIs, a gap others say exists.
32HN people shared it
17linked it in comments
50stories submitted
340story points
2 years agolast shared
2017people per year2026
Most-shared posts
- 1AsyncAPI Initiative16 people · 12 points · first shared 2017 · 1 comments on HN
- 2WebSocket, Shrek, and AsyncAPI – An Opinionated Intro2 people · 12 points · first shared 2021 · discussion on HN
- 3Event-Streaming: An Additional Architectural Style to Supplement API Design2 people · 10 points · first shared 2020 · discussion on HN
- 4Is AsyncAPI a thing? Check hard numbers for 20202 people · 4 points · first shared 2020 · discussion on HN
- 5AsyncAPI 3.0.0 Release Notes2 people · 2 points · first shared 2023 · discussion on HN
- 6Coming from openapi2 people · first shared 2021
- 7V2.0.02 people · first shared 2021
- 8AsyncAPI vs. OpenAPI: Answers to Your Burning Questions1 people · 92 points · first shared 2021 · 57 comments on HN
- 9Is Hacktoberfest Good for Maintainers?1 people · 33 points · first shared 2020 · 7 comments on HN
- 10Release to NPM and Docker Hub with GitHub Actions and Conventional Commits1 people · 22 points · first shared 2020 · 13 comments on HN
- 11AsyncAPI partners with Postman to boost development of Asynchronous APIs1 people · 16 points · first shared 2020 · 2 comments on HN
- 12Full automation of release for non-JS projects using JavaScript community tools1 people · 12 points · first shared 2020 · discussion on HN
- 13AsyncAPI Code Generation: Microservices Using Spring Cloud Stream1 people · 10 points · first shared 2020 · 1 comments on HN
- 14Documenting Socket.io API with AsyncAPI1 people · 10 points · first shared 2021 · discussion on HN
- 15Creating AsyncAPI for WebSocket API – Step by Step1 people · 9 points · first shared 2021 · discussion on HN
What HN people wrote when they linked it
robertlagrant · 2022-12-05
AsyncAPI[0] might be worth a look for standardising async.
[0] https://www.asyncapi.com
grepLeigh · 2022-08-15
I'm in the process of migrating PrintNanny.ai's remote command/event system off Cloud IoT Core. I've been running on IoT Core for 1.5 years. Here's my breakdown of the costs...
- $236.99 in usage, approx 1% of project's total revenue
- ~20 hours to implement pub/sub applications running on a mix of Raspberry Pi & GCP VMs. Implementations were in Rust and Python. It would have taken much, much longer to stand up a managed MQTT broker and identity/key management that I felt comfortable using in my own home, let alone providing to customers.
- Hundreds of hours implementing and debugging glue between GCP's Pub/Sub product, websocket-based subscribers, and MQTT subscribers/publishers.
I don't regret my decision (wouldn't have shipped otherwise), but I'm looking forward to the next phase. Here's what I'm migrating towards:
- NATs message broker. NATS supports connections via MQTT and Websocket protocols, besides NATS own protocol.
- django-nats-nkeys for org, identity, and JWT management (not production-ready, don't use this until I've been eating my own dog food for a few months) [1]
- AsyncAPI schemas [2] for core message APIs, including schemas for 3rd-party printer software events (OctoPrint, Moonraker, Repetier, etc). This will underpin PrintNanny's plugin system.
[1] https://github.com/bitsy-ai/django-nats-nkeys
[2] https://www.asyncapi.com/
rswail · 2024-05-09
There's a point to the referenced comment, but more interesting to me is that there was a link in a comment there to https://www.asyncapi.com which is something I wish existed about 7 years ago, because it's a spec for everything that we created for a system that needed this and tooling.
myvoiceismypass · 2023-06-01
See https://www.asyncapi.com/ for the equivalent event based spec & tooling.
dedoussis · 2021-11-21
"There is no good and standardised way of expressing asynchronous APIs."
You may check: https://www.asyncapi.com/
morelisp · 2021-06-17
https://www.asyncapi.com/ is in its infancy but is attempting what you describe.
(I view OpenAPI as a near-failure, but, good luck to everyone trying.)
jdkoeck · 2020-12-28
Hi, you’ll be pleased to learn about the AsyncApi initiative! https://www.asyncapi.com/
Haven’t looked into it too closely but it looks promising
rendall · 2020-11-14
I'll ding one more thing about Open API 3.
While it is an open spec, the spec maintainer, Swagger, definitely keeps its fingerprint on it for business reasons. Among other issues, their validation tools in particular require a sign-up. Postman also has an Open API 3 schema builder, but also requires a sign up. There is no technical reason for this, and you have to trust Swagger or Postman to be responsible with your API schema. I believe this front-and-center branding of the spec itself makes it not as appealing or dynamic as it otherwise would be
edit ApiBldr seems ok: https://apibldr.com/
edit 2 AsyncAPI seems interesting: https://www.asyncapi.com/
jsdalton · 2020-03-30
There appears to be far more details on the main website: https://www.asyncapi.com/ Not sure why the Github repo was submitted.
MuffinFlavored · 2020-03-30
I don't quite get it. Why can't I just enforce schema validation in my pub/sub handlers?
I see the YAML example completed here: https://www.asyncapi.com/docs/getting-started/servers/
asyncapi: 2.0.0
info:
title: Hello world application
version: '0.1.0'
servers:
production:
url: broker.mycompany.com
protocol: amqp
description: This is "My Company" broker.
channels:
hello:
publish:
message:
payload:
type: string
pattern: '^hello .+$'
This looks like a thin wrapper around sending a message to a message queue. What's the gain?
Where do you define what to do as a subscriber?
Retr0id · 2024-06-26
The r1 is not just not-their-first, it's a pivot that reuses code from their earlier endeavours. (which itself is fine, like, that's what you'd expect from a pivot, it's just that their PR strategy relies on claiming those past projects are wholly unrelated.)
When they rug-pulled GAMA (after selling a bunch of NFTs), as consolation prize they "open sourced"[0] a few things.
One of their many promises was that their space-station "metaverse" would have "Quantum Engine AI Integration" (letting you talk to NPCs, among other things). They released a lightly edited Unreal Engine game template (the "metaverse"), along side a file named `api.yml`[1] which documents an AsyncAPI[2] API (the "AI integration"). There is no actual integration, the API spec is just positioned adjacent to the Unreal project - there's a note in the README that amounts to "integrate it yourself".
The back-end component was never open-sourced, and they've long since shut down the API server, but based on the docs, the API used by the r1 is clearly a direct evolution of that design.
As for the R1's API, there is no documentation, but I partially reverse-engineered it and wrote some docs of my own[3], which is enough to see the similarities.
[0] https://github.com/gamaspacestation/
[1] https://github.com/gamaspacestation/gss_release/blob/main/api.yml
[2] https://www.asyncapi.com/
[3] https://gist.github.com/DavidBuchanan314/aafce6ba7fc49b19206bd2ad357e4…
jstoiko · 2018-04-18
check-out https://www.asyncapi.com
junto · 2025-04-27
Here’s a nice comparison between CloudEvents and AsyncAPI from 2019. You can combine them. In the end being able to version and wrap events is useful, although amusingly it reminds me of SOAP.
https://www.asyncapi.com/blog/asyncapi-cloud-events
bassman9000 · 2021-09-10
dkarl · 2021-06-18
I'm taking a closer look today, and it looks to me like one AsyncAPI document, which can be defined using multiple files, defines one application. If you look at the "fixed fields" section under the root object, the second field is "id"[0]:
id Identifier Identifier of the application the AsyncAPI document is defining.
This format is fine, but the tool I'm looking for is something that will read the definitions of multiple AsyncAPI documents (multiple applications) and show how their inputs and outputs connect, so I can answer a question like, "When application X publishes message Y on channel Z, which applications consume that message?"
AsyncAPI gets me 90% there by defining the service spec and providing code to parse it. It's possible somebody has already written the rest; I'll have to see.
[0] https://www.asyncapi.com/docs/specifications/v2.0.0#fixed-fields
ridiculous_lol · 2021-06-18
I am not sure if I completely understand your use-case but it seems that the config can be distributed across multiple files.
https://www.asyncapi.com/docs/specifications/v2.0.0#referenceObject