AsyncAPI is an Apache License 2.0 library under the Linux Foundation that seeks to improve the current state of event-driven architecture (EDA). The AsyncAPI Initiative is a specification and growing set of open-source tools to help developers define, build, and maintain asynchronous APIs and EDAs.
Developers familiar with OpenAPI (aka Swagger) for RESTful APIs will see strong similarities when using AsyncAPI. One common use case is generating asynchronous API documentation (HTML or Markdown). The specification is both platform and language agnostic. The current tooling includes support for common message brokers such as Apache Kafka and RabbitMQ and languages including Python, Java, and Nodejs.
Our long-term goal is to make working with EDAs as easy as working with REST APIs. That goes from documentation to code generation, discovery to event management, and beyond. Our 150+ Open-Source (OSS) contributors are EDA enthusiasts from all around the world.
The AsyncAPI project started at Hitch (a.k.a. API Changelog). Hitch needed a machine-readable format to describe internal message-driven microservices architecture. The goal was to benefit from it in the same way they had used OpenAPI for their HTTP APIs. Inspired by OpenAPI, Fran Méndez, who worked at Hitch at the time, created the AsyncAPI specification. After publishing the first version, he noticed that he solved not only his problems but the problems of the wider community. Eventually, the AsyncAPI specification and community evolved into the AsyncAPI Initiative, a project now under the umbrella of the Linux Foundation.
Open governance model
Free software allows users to apply, modify, and continue in the chain by distributing copies to help others and, in this case, disseminating modified versions of the specification.
Transferring AsyncAPI to the Linux Foundation and forming an open governance model assures the community that a single company does not control AsyncAPI Initiative. This move takes the project to a higher level of transparency.
In doing so, we achieve:
- Ensuring an open governance model where no single company dominates the specification and its tools.
- Making the project as democratic as possible.
- Relying on an asynchronous decision-making process that empowers the people who "work," not the companies who "pay."
In other words, it gives equal power to individual and corporate contributors.
Committers (also known as Maintainers) are the decision-makers at the repository/project level. They regularly contribute to the project and are invited by other maintainers to manage the repository, have more privileges, and approve pull requests.
The committers run the repository, but for issues that go beyond that, there is a Technical Steering Committee (TSC). This committee comprises all the maintainers who voluntarily want to be part of this committee, thus taking responsibility for overseeing the initiative.
You can see the list of maintainers who also form part of the AsyncAPI TSC here.
We do our best to recognize every contribution to the project. We do it individually in every repository from AsyncAPI GitHub organization. There should always be a Contributors section in the readme, like this one. We use All Contributors specification to handle recognitions.
We apologize in advance if we failed to recognize your work. Feel free to contact us on Slack, and we will fix it immediately, or just talk to our All Contributors bot.
AsyncAPI, in numbers
Interested to know more about our growth? Feel free to check our annual summary report:
This is the list of companies that either provide a significant financial support or delegate their employees to support AsyncAPI with maintainance:
Would you like to get on the list and support us financially? Check out all AsyncAPI sponsoring options.
Would you like to help us with the maintenance? Contact us on AsyncAPI Slack.
Brands and companies using AsyncAPI
The total number of companies and projects using AsyncAPI as well as their identity is impossible to know. So far, we are aware that the following ones operate with it.
- Slack: Business Communication Platform that permits to operate with multiple channels (public and private). It currently has more than 10 million daily active users worldwide. It was recently acquired by Salesforce.
- Adidas: Company dedicated to manufacturing sports equipment and fashion products. It is the largest sportswear manufacturer in Europe, and the second largest in the world. This company has more than 150.000 sales outlets around the world.
- Salesforce: Business consultancy company. It provides (CRM) services and more. It manages from small businesses to FORTUNE 500 companies, and it has more than 150,000 customers.
- IBM: Company that manufactures and markets hardware and software. It has operations in over 170 countries and provides hosting and consulting services in many areas.
- SAP: Company dedicated to the design of computer products for business management. Develops business software to manage operations and business-to-customer relationships. It’s a large company with 100,330 employees.
- IQVIA: Company providing services for the combined health information technology and clinical research industries. It employs more than 58.000 people in over 100 countries.
Values of AsyncAPI
- Innovative. There is no other specification that covers the messaging needs in event-driven architecture that AsyncAPI is covering. What it tries to do is to integrate with the existing tools and remove walls for communication.
- Free. It’s a free software project: it seeks the user's liberty by offering a tool that can be used and enhanced without restrictions.
- Open. As it's an open-source project, not a company or a product. It works in a change of paradigm because it does not sell anything; it moves away from fierce competition and bets for cooperation.
- Multicultural and inclusive. It’s an initiative with an international and multicultural vision. It’s organic, always in constant mutation and change. It also actively demands compliance with human rights, respect for racial, sexual, and cultural diversity equality. And, of course, the equality between women and men.
- Transparent. The initiative is built on transparency, being one of the main values of AsyncAPI, internally and externally, including its financing. All the relevant data of the project is public. All tasks are public, with participation and communication handled through Slack and GitHub.
- Horizontal and participative. Its structure is based on horizontality; most of the decisions are defined as a group, including the Community. Anyone can submit improvements, lines of action, or elements to be taken into account to strengthen AsyncAPI.
- User-friendly. AsyncAPI bets for a seamless API development experience. Users should be able to create their first API even without prior knowledge of AsyncAPI. It has to be natural, simple, and intuitive.
AsyncAPI is an open-source project funded by both talent and voluntary contributions. It relies on the expertise and dedication of the Community developers who believe in the project and contribute to its evolution.
Financially, there are individual donations and contributions made by users of the project, and others from different companies and initiatives that trust and support AsyncAPI through sponsorship. The main sponsors that contribute to sustaining this initiative are Postman, IBM, IQVIA Technology, and Solace. AsyncAPI also receives different levels of contributions from other companies such as Red Hat, Slack, etc.
All the information about the project's economy, the amount of the donations, the identity of the donors, the sponsors supporting the project, and the use of this money is public via the AsyncAPI Open Collective.
- Press & communications info: email@example.com.
- Twitter: It's used for disseminating all news and information regarding the project, resolving user queries, and sharing the latest updates within AsyncAPI.
- Slack workspace: The main place of encounter for the whole community of AsyncAPI.
- Newsletter: To learn about the status of the project, news, actualizations, recorded events, and meetings.
- Blog: It’s used to disseminate information related to the project. It's also open to collaborations.
- LinkedIn: It's used to publish news related to the project or its environment. It’s also used as a source of information.
- YouTube Channel: Where you can find conferences, AsyncAPI Open Meetings, and much more.
- GitHub: Issues (bugs, feature requests, etc.) and pull requests (PRs) for fixes or new features already discussed, as per the contributing guidelines.
- AsyncAPI Open Meetings: AsyncAPI hosts different meetings every week. They are focused on different topics, sometimes purely technical and sometimes about community building. Pick one and join us! Learn more about our meetings
- What is the goal of the project? To make asynchronous APIs as successful and mature as REST APIs.
- What protocols does it support? AsyncAPI is protocol-agnostic, so you can use it for APIs that work over any protocol (e.g., AMQP, MQTT, WebSockets, Kafka, STOMP, HTTP, Mercure, etc). For more information, refer to the AsyncAPI specification documentation.
- Who are the users of AsyncAPI? AsyncAPI users are those who implement and maintain event-driven architecture. For example, people that write backend API using WebSocket, or people that maintain communication between their microservices using Kafka.
- What is the AsyncAPI Community? It’s the core of the initiative. The AsyncAPI community contributes to the development of the tool, it promotes access and distribution of the specification allowing freedom of use, study, copying, modification, and redistribution to anyone who wishes to do so. The cooperation between these people in all areas of software production generates a substantial improvement in the quality of the software, as well as greater dissemination and sustainability over time, and prioritizing the benefit of society over any other.
- Who can use it? Anyone. All projects under AsyncAPI Initiative are part of the Linux Foundation, licensed under the Apache 2.0 license. It’s open to use and contribution.
- Where can I find more information?