Plugins API
Base URL: https://YOUR-SERVER/api. Send your API key in x-api-key where authentication is required. A key also needs the listed permission; your account's access rules still apply.
API guide · All endpoints · OpenAPI JSON
GET /plugins— List all pluginsGET /plugins/methods— Retrieve plugin methodsGET /plugins/templates— Retrieve workflow templatesGET /plugins/{id}— Retrieve a plugin
List all plugins
GET /api/plugins
Retrieve a list of plugins available to the authenticated user.
Authentication: API key. Permission: plugin.read.
Parameters
| Name | Where | Required | Description |
|---|---|---|---|
description | query | No | string |
enabled | query | No | Whether the plugin is enabled |
id | query | No | Plugin ID |
name | query | No | string |
title | query | No | string |
version | query | No | string |
Parameter types, defaults and constraints
[
{
"name": "description",
"required": false,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "enabled",
"required": false,
"in": "query",
"description": "Whether the plugin is enabled",
"schema": {
"type": "boolean"
}
},
{
"name": "id",
"required": false,
"in": "query",
"description": "Plugin ID",
"schema": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
}
},
{
"name": "name",
"required": false,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "title",
"required": false,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "version",
"required": false,
"in": "query",
"schema": {
"type": "string"
}
}
]Responses
Field definitions: PluginResponseDto
{
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/PluginResponseDto"
},
"type": "array"
}
}
},
"description": ""
}
}Retrieve plugin methods
GET /api/plugins/methods
Retrieve a list of plugin methods
Authentication: API key. Permission: plugin.read.
Parameters
| Name | Where | Required | Description |
|---|---|---|---|
description | query | No | string |
enabled | query | No | Whether the plugin method is enabled |
id | query | No | Plugin method ID |
name | query | No | string |
pluginName | query | No | Plugin name |
pluginVersion | query | No | Plugin version |
title | query | No | string |
trigger | query | No | Workflow trigger |
type | query | No | Workflow types |
Parameter types, defaults and constraints
Field definitions: WorkflowTrigger, WorkflowType
[
{
"name": "description",
"required": false,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "enabled",
"required": false,
"in": "query",
"description": "Whether the plugin method is enabled",
"schema": {
"type": "boolean"
}
},
{
"name": "id",
"required": false,
"in": "query",
"description": "Plugin method ID",
"schema": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
}
},
{
"name": "name",
"required": false,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "pluginName",
"required": false,
"in": "query",
"description": "Plugin name",
"schema": {
"type": "string"
}
},
{
"name": "pluginVersion",
"required": false,
"in": "query",
"description": "Plugin version",
"schema": {
"type": "string"
}
},
{
"name": "title",
"required": false,
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "trigger",
"required": false,
"in": "query",
"description": "Workflow trigger",
"schema": {
"$ref": "#/components/schemas/WorkflowTrigger"
}
},
{
"name": "type",
"required": false,
"in": "query",
"description": "Workflow types",
"schema": {
"$ref": "#/components/schemas/WorkflowType"
}
}
]Responses
Field definitions: PluginMethodResponseDto
{
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/PluginMethodResponseDto"
},
"type": "array"
}
}
},
"description": ""
}
}Retrieve workflow templates
GET /api/plugins/templates
Retrieve workflow templates provided by installed plugins
Authentication: API key. Permission: plugin.read.
Responses
Field definitions: PluginTemplateResponseDto
{
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/PluginTemplateResponseDto"
},
"type": "array"
}
}
},
"description": ""
}
}Retrieve a plugin
GET /api/plugins/{id}
Retrieve information about a specific plugin by its ID.
Authentication: API key. Permission: plugin.read.
Parameters
| Name | Where | Required | Description |
|---|---|---|---|
id | path | Yes | string |
Parameter types, defaults and constraints
[
{
"name": "id",
"required": true,
"in": "path",
"schema": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
}
}
]Responses
Field definitions: PluginResponseDto
{
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PluginResponseDto"
}
}
},
"description": ""
}
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.