Fusio is an open source API management platform which helps to build and manage RESTful APIs. We think that there is a huge potential in the API economy. Whether you need an API to expose your business functionality, develop One-Page web applications, Mobile-Apps or Microservices. Because of this we think that Fusio is a great tool to build such APIs. If you like the project and want to see it grow please checkout the repository.
If you are researching API solutions you probably hear often the term API-Gateway/Proxy and API-Management. Fusio is an API-Management system in the sense that it helps to develop actual API endpoints (which i.e. request and transform data from a database). It is not limited to proxy requests to another API. The following diagram should give you a better overview.
Fusio uses the backend services to produce the API response or to handle the request data. A backend service can be i.e. a database, message queue or another API. It is also very easy to implement a custom connection to support any kind of service.
Actions and Connections
Fusio has the concept of actions and connections. An action represents the code which handles an incoming request and which produces a response. Each action can use connections to accomplish this task. A connection uses a library which helps to work with a remote service. I.e. the SQL connection uses the Doctrine DBAL library to work with a database. The following list shows the available connections and the provided return type which you can use inside an action.
Fusio has not a model or entity system like many other frameworks. We think that building API endpoints based on models/entities limits the way how you would design a response. With Fusio you only describe the request and response in the JSON schema format. This schema is then the contract of your API endpoint, how you produce this response technically is secondary. Fusio provides the mentioned connections, which help you to create complete customized responses based on complicated SQL queries, message queue inserts or multiple remote HTTP calls.
Exposing an API of your business functionality is a great way to extend your product. You enable customers to integrate your business value into other applications which gives the possibility to open up for new markets. With Fusio you can build such APIs and integrate them seamlessly into your product. We also see many companies which use the API itself as the core product.
With Fusio you can simply build small micro services which solve a specific task in a complex system.
Almost all mobile apps need some form to interact with a remote service. This is mostly done through REST APIs. With Fusio you can easily build such APIs which can also be used by other applications.
Fusio is licensed under the AGPLv3. It is possible to use Fusio for commercial products but if you extend the code of Fusio (i.e. develop custom actions) you are required to license this code also under the AGPL which requires that the source code must be public available. Please contact us if you have any questions regarding the license or need other license options.