An overview of the seven core entities that form the foundation of Fusio.
An Operation defines an API endpoint: it ties together an HTTP method and a path (for example, GET /hello/world)
with an underlying action. The operation uses a Schema to describe the shape of request and response payloads.
Fusio uses these schemas to validate incoming data, and can automatically produce an OpenAPI specification
or client SDK for the defined endpoints.
An Action implements the actual business logic behind an endpoint. This could mean proxying a request to a remote service, querying a database, performing transformations, or executing custom code. Fusio comes with a variety of built-in actions and if needed, you can also create custom actions tailored to your use case.
A Schema defines the structure of a JSON payload. You use schemas to describe request and response data for operations and also payloads of internal events. All schemas are based on TypeSchema. Fusio also uses these schemas to generate client SDKs or API specifications such as OpenAPI.
A Connection defines how to reach an external service. For example, a SQL connection lets you talk to a database, while an HTTP connection lets you communicate with a remote HTTP API. When used in an action, a connection is resolved into a fully configured client, which the action code can use to interact with the external service.
An Event is a named occurrence emitted by an action when something significant happens
for example, contract_created after a new contract is stored. Events enable asynchronous workflows:
interested external parties can register webhooks, and Fusio will call them when the event occurs.
The events payload can be described via a Schema.
A Cronjob schedules an action to run at regular intervals (e.g. every hour or every day). This is useful for tasks such as maintenance, background jobs, batch processing, or scheduled notifications.
A Trigger listens for a specific Event. When that Event occurs, the
Trigger executes a configured Action. In this way, you can build automated, event-driven workflows for example:
when order_placed is dispatched, a trigger runs an action to send a confirmation email.
The following diagram shows the conceptual relation of each entity.
Fusio ArchitectureFusio thrives on community collaboration. Whether you're a developer, blogger, or company, there are numerous ways to get involved: