Plugins
API7 Enterprise plugins extend API7 Enterprise's functionalities to meet organization or user-specific requirements in traffic management, observability, security, request/response transformation, serverless computing, and more.
API7 Enterprise offers many plugins that can be customized and orchestrated to satisfy your requirements. These plugins can be globally enabled on every incoming request, or locally bound to other objects, such as routes, services, or consumers.
If existing API7 Enterprise plugins do not meet your needs, you can also write your own plugins in Lua or other languages such as Java, Python, Go, and Wasm.
Plugins Execution Lifecycle
The configuration of the plugin is then checked against the defined JSON Schema to make sure the plugin's configuration schema is correct.
When a request goes through API7 Enterprise, the plugin's corresponding methods are executed in one or more of the following phases: rewrite
, access
, before_proxy
, header_filter
, body_filter
, and log
. These phases are largely influenced by the OpenResty directives.

To learn more about phases for your custom plugins development, see the plugin development how-to guide (coming soon).
Plugins Execution Order
In general, plugins are executed in the following order:
-
Plugins in global rules
- plugins in the rewrite phase
- plugins in the access phase
-
Plugins bound to other objects
- plugins in the rewrite phase
- plugins in the access phase
Within each phase, you can define a new priority value in the _meta.priority
attribute of the plugin, which takes precedence over the default plugin priority during execution. Plugins with higher priority values are executed first.