# Plugins

## GET /api/v2/plugin-registries/marketplace

> Get Marketplace

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugin-registries/marketplace":{"get":{"tags":["plugins"],"summary":"Get Marketplace","operationId":"get_marketplace_api_v2_plugin_registries_marketplace_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}}},"components":{"schemas":{"MarketplaceResponse":{"properties":{"records":{"items":{"$ref":"#/components/schemas/MarketplaceEntryResponse"},"type":"array","title":"Records"}},"type":"object","required":["records"],"title":"MarketplaceResponse"},"MarketplaceEntryResponse":{"properties":{"name":{"type":"string","title":"Name"},"registries":{"additionalProperties":{"$ref":"#/components/schemas/MarketplaceEntryRegistryResponse"},"type":"object","title":"Registries"},"installed":{"type":"boolean","title":"Installed","default":false},"installed_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Installed Version"}},"type":"object","required":["name","registries"],"title":"MarketplaceEntryResponse"},"MarketplaceEntryRegistryResponse":{"properties":{"name":{"type":"string","title":"Name"},"registry":{"type":"string","title":"Registry"},"homepage_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Homepage Url"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"authors":{"items":{"$ref":"#/components/schemas/Author"},"type":"array","title":"Authors"},"versions":{"items":{"$ref":"#/components/schemas/MarketPlaceEntryVersionResponse"},"type":"array","title":"Versions"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","registry","authors","versions","description"],"title":"MarketplaceEntryRegistryResponse"},"Author":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Handle"},"link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Link"}},"type":"object","title":"Author"},"MarketPlaceEntryVersionResponse":{"properties":{"name":{"type":"string","title":"Name"},"git_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Git Url"},"tar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tar Url"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"subdirectory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subdirectory"}},"type":"object","required":["name"],"title":"MarketPlaceEntryVersionResponse"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"}}}}
```

## POST /api/v2/plugin-registries/marketplace/install

> Install Plugin

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugin-registries/marketplace/install":{"post":{"tags":["plugins"],"summary":"Install Plugin","operationId":"install_plugin_api_v2_plugin_registries_marketplace_install_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginInstallRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"PluginInstallRequest":{"properties":{"name":{"type":"string","title":"Name"},"version":{"type":"string","title":"Version"},"registry":{"type":"string","title":"Registry"}},"type":"object","required":["name","version","registry"],"title":"PluginInstallRequest"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## POST /api/v2/plugins/{plugin\_id}/tasks/{uid}/tags

> Add Tag

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/{plugin_id}/tasks/{uid}/tags":{"post":{"tags":["plugins","tasks"],"summary":"Add Tag","operationId":"add_tag_api_v2_plugins__plugin_id__tasks__uid__tags_post","parameters":[{"name":"uid","in":"path","required":true,"schema":{"type":"integer","title":"Uid"}},{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"TagRequest":{"properties":{"name":{"type":"string","pattern":"^[^:]+$","title":"Name"},"value":{"type":"string","pattern":"^[^:]+$","title":"Value"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["name","value"],"title":"TagRequest"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## PUT /api/v2/plugins/{plugin\_id}/tasks/{uid}/tags/{tag\_id}

> Update Tag

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/{plugin_id}/tasks/{uid}/tags/{tag_id}":{"put":{"tags":["plugins","tasks"],"summary":"Update Tag","operationId":"update_tag_api_v2_plugins__plugin_id__tasks__uid__tags__tag_id__put","parameters":[{"name":"uid","in":"path","required":true,"schema":{"type":"integer","title":"Uid"}},{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}},{"name":"tag_id","in":"path","required":true,"schema":{"type":"integer","title":"Tag Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"TagRequest":{"properties":{"name":{"type":"string","pattern":"^[^:]+$","title":"Name"},"value":{"type":"string","pattern":"^[^:]+$","title":"Value"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["name","value"],"title":"TagRequest"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## DELETE /api/v2/plugins/{plugin\_id}/tasks/{uid}/tags/{tag\_id}

> Delete Tag

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/{plugin_id}/tasks/{uid}/tags/{tag_id}":{"delete":{"tags":["plugins","tasks"],"summary":"Delete Tag","operationId":"delete_tag_api_v2_plugins__plugin_id__tasks__uid__tags__tag_id__delete","parameters":[{"name":"uid","in":"path","required":true,"schema":{"type":"integer","title":"Uid"}},{"name":"tag_id","in":"path","required":true,"schema":{"type":"integer","title":"Tag Id"}},{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"responses":{"204":{"description":"Successful Response"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## GET /api/v2/plugins/tasks

> Read Tasks All Plugins

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/tasks":{"get":{"tags":["plugins","tasks"],"summary":"Read Tasks All Plugins","operationId":"read_tasks_all_plugins_api_v2_plugins_tasks_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":-1,"title":"Limit"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"include_full_input","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Full Input"}},{"name":"include_output","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Output"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/PluginTaskOrderOptions","default":"id"}},{"name":"order_direction","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDirection","default":"desc"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/PluginTaskStatus"},{"type":"null"}],"title":"Status"}},{"name":"plugins","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Plugins"}},{"name":"users","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"title":"Users"}},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","pattern":"^[^:]+:[^:]+$"}},{"type":"null"}],"title":"Tags"}},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginTasks"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"PluginTaskOrderOptions":{"type":"string","enum":["id","updated_at","status","plugin"],"title":"PluginTaskOrderOptions"},"OrderDirection":{"type":"string","enum":["asc","desc"],"title":"OrderDirection"},"PluginTaskStatus":{"type":"string","enum":["queued","started","completed","error","continuous"],"title":"PluginTaskStatus"},"PluginTasks":{"properties":{"records":{"items":{"$ref":"#/components/schemas/PluginTask"},"type":"array","title":"Records"},"limit":{"type":"integer","title":"Limit"},"page":{"type":"integer","title":"Page"},"total_pages":{"type":"integer","title":"Total Pages"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["records","limit","page","total_pages","total"],"title":"PluginTasks"},"PluginTask":{"properties":{"id":{"type":"integer","title":"Id"},"input":{"type":"string","title":"Input"},"full_input":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Input"},"output":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output"},"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"plugin_id":{"type":"string","title":"Plugin Id"},"plugin_options":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Plugin Options"},"downloads":{"items":{"$ref":"#/components/schemas/DownloadDescription"},"type":"array","title":"Downloads"},"status":{"anyOf":[{"$ref":"#/components/schemas/PluginTaskStatus"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags"}},"type":"object","required":["id","input","plugin_id","downloads","created_at","updated_at","tags"],"title":"PluginTask"},"DownloadDescription":{"properties":{"id":{"type":"integer","title":"Id"},"filename":{"type":"string","title":"Filename"},"link":{"type":"string","title":"Link"}},"type":"object","required":["id","filename","link"],"title":"DownloadDescription"},"Tag":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"value":{"type":"string","title":"Value"},"label":{"type":"string","title":"Label"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["id","name","value","label"],"title":"Tag"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## GET /api/v2/plugins/{plugin\_id}/tasks

> Read Tasks

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/{plugin_id}/tasks":{"get":{"tags":["plugins","tasks"],"summary":"Read Tasks","operationId":"read_tasks_api_v2_plugins__plugin_id__tasks_get","parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":-1,"title":"Limit"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"include_full_input","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Full Input"}},{"name":"include_output","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Output"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"order_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/PluginTaskOrderOptions","default":"id"}},{"name":"order_direction","in":"query","required":false,"schema":{"$ref":"#/components/schemas/OrderDirection","default":"desc"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/PluginTaskStatus"},{"type":"null"}],"title":"Status"}},{"name":"users","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"integer"}},{"type":"null"}],"title":"Users"}},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string","pattern":"^[^:]+:[^:]+$"}},{"type":"null"}],"title":"Tags"}},{"name":"query","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginTasks"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"PluginTaskOrderOptions":{"type":"string","enum":["id","updated_at","status","plugin"],"title":"PluginTaskOrderOptions"},"OrderDirection":{"type":"string","enum":["asc","desc"],"title":"OrderDirection"},"PluginTaskStatus":{"type":"string","enum":["queued","started","completed","error","continuous"],"title":"PluginTaskStatus"},"PluginTasks":{"properties":{"records":{"items":{"$ref":"#/components/schemas/PluginTask"},"type":"array","title":"Records"},"limit":{"type":"integer","title":"Limit"},"page":{"type":"integer","title":"Page"},"total_pages":{"type":"integer","title":"Total Pages"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["records","limit","page","total_pages","total"],"title":"PluginTasks"},"PluginTask":{"properties":{"id":{"type":"integer","title":"Id"},"input":{"type":"string","title":"Input"},"full_input":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Input"},"output":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output"},"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"plugin_id":{"type":"string","title":"Plugin Id"},"plugin_options":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Plugin Options"},"downloads":{"items":{"$ref":"#/components/schemas/DownloadDescription"},"type":"array","title":"Downloads"},"status":{"anyOf":[{"$ref":"#/components/schemas/PluginTaskStatus"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags"}},"type":"object","required":["id","input","plugin_id","downloads","created_at","updated_at","tags"],"title":"PluginTask"},"DownloadDescription":{"properties":{"id":{"type":"integer","title":"Id"},"filename":{"type":"string","title":"Filename"},"link":{"type":"string","title":"Link"}},"type":"object","required":["id","filename","link"],"title":"DownloadDescription"},"Tag":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"value":{"type":"string","title":"Value"},"label":{"type":"string","title":"Label"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["id","name","value","label"],"title":"Tag"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## GET /api/v2/plugins/{plugin\_id}/tasks/{uid}

> Read Task

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/{plugin_id}/tasks/{uid}":{"get":{"tags":["plugins","tasks"],"summary":"Read Task","operationId":"read_task_api_v2_plugins__plugin_id__tasks__uid__get","parameters":[{"name":"uid","in":"path","required":true,"schema":{"type":"integer","title":"Uid"}},{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginTask"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"PluginTask":{"properties":{"id":{"type":"integer","title":"Id"},"input":{"type":"string","title":"Input"},"full_input":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Input"},"output":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output"},"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"plugin_id":{"type":"string","title":"Plugin Id"},"plugin_options":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Plugin Options"},"downloads":{"items":{"$ref":"#/components/schemas/DownloadDescription"},"type":"array","title":"Downloads"},"status":{"anyOf":[{"$ref":"#/components/schemas/PluginTaskStatus"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"tags":{"items":{"$ref":"#/components/schemas/Tag"},"type":"array","title":"Tags"}},"type":"object","required":["id","input","plugin_id","downloads","created_at","updated_at","tags"],"title":"PluginTask"},"DownloadDescription":{"properties":{"id":{"type":"integer","title":"Id"},"filename":{"type":"string","title":"Filename"},"link":{"type":"string","title":"Link"}},"type":"object","required":["id","filename","link"],"title":"DownloadDescription"},"PluginTaskStatus":{"type":"string","enum":["queued","started","completed","error","continuous"],"title":"PluginTaskStatus"},"Tag":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"value":{"type":"string","title":"Value"},"label":{"type":"string","title":"Label"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"}},"type":"object","required":["id","name","value","label"],"title":"Tag"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## GET /api/v2/plugins

> Read Plugins

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins":{"get":{"tags":["plugins"],"summary":"Read Plugins","operationId":"read_plugins_api_v2_plugins_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Plugins"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}}},"components":{"schemas":{"Plugins":{"properties":{"records":{"items":{"$ref":"#/components/schemas/Plugin"},"type":"array","title":"Records"}},"type":"object","required":["records"],"title":"Plugins"},"Plugin":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"authors":{"items":{"$ref":"#/components/schemas/Author"},"type":"array","title":"Authors"},"readme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Readme","default":""},"techniques":{"items":{"type":"string"},"type":"array","title":"Techniques","default":[]},"software":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Software"},"execution_options":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/CustomOptionSchema"},"type":"object"},{"type":"null"}],"title":"Execution Options"},"settings_options":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/CustomOptionSchema"},"type":"object"},{"type":"null"}],"title":"Settings Options"},"current_settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Current Settings"},"enabled":{"type":"boolean","title":"Enabled"},"loaded":{"type":"boolean","title":"Loaded","default":false},"execution_enabled":{"type":"boolean","title":"Execution Enabled","default":false},"python_deps":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Python Deps","default":[]}},"type":"object","required":["id","name","authors","enabled"],"title":"Plugin"},"Author":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Handle"},"link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Link"}},"type":"object","title":"Author"},"CustomOptionSchema":{"properties":{"description":{"type":"string","title":"Description"},"required":{"type":"boolean","title":"Required"},"value":{"type":"string","title":"Value"},"suggested_values":{"items":{"type":"string"},"type":"array","title":"Suggested Values"},"strict":{"type":"boolean","title":"Strict"},"editable":{"type":"boolean","title":"Editable","default":true},"value_type":{"$ref":"#/components/schemas/ValueType"},"internal":{"type":"boolean","title":"Internal"},"depends_on":{"items":{"$ref":"#/components/schemas/DependentOption"},"type":"array","title":"Depends On","default":[]}},"type":"object","required":["description","required","value","suggested_values","strict","value_type","internal"],"title":"CustomOptionSchema"},"ValueType":{"type":"string","enum":["STRING","FLOAT","INTEGER","BOOLEAN","FILE"],"title":"ValueType"},"DependentOption":{"properties":{"name":{"type":"string","title":"Name"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Values"}},"type":"object","required":["name","values"],"title":"DependentOption"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"}}}}
```

## GET /api/v2/plugins/{plugin\_id}

> Read Plugin

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/{plugin_id}":{"get":{"tags":["plugins"],"summary":"Read Plugin","operationId":"read_plugin_api_v2_plugins__plugin_id__get","parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## PUT /api/v2/plugins/{plugin\_id}

> Update Plugin

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/{plugin_id}":{"put":{"tags":["plugins"],"summary":"Update Plugin","operationId":"update_plugin_api_v2_plugins__plugin_id__put","parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"PluginUpdateRequest":{"properties":{"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["enabled"],"title":"PluginUpdateRequest"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## POST /api/v2/plugins/{plugin\_id}/execute

> Execute Plugin

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/{plugin_id}/execute":{"post":{"tags":["plugins"],"summary":"Execute Plugin","operationId":"execute_plugin_api_v2_plugins__plugin_id__execute_post","parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginExecutePostRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginExecuteResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"PluginExecutePostRequest":{"properties":{"options":{"additionalProperties":{"type":"string"},"type":"object","title":"Options"}},"type":"object","required":["options"],"title":"PluginExecutePostRequest"},"PluginExecuteResponse":{"properties":{"detail":{"type":"string","title":"Detail","default":""}},"type":"object","title":"PluginExecuteResponse"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## PUT /api/v2/plugins/{plugin\_id}/settings

> Update Plugin Settings

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/{plugin_id}/settings":{"put":{"tags":["plugins"],"summary":"Update Plugin Settings","operationId":"update_plugin_settings_api_v2_plugins__plugin_id__settings_put","parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"string","title":"Plugin Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Plugin Settings"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## POST /api/v2/plugins/reload

> Reload Plugins

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/reload":{"post":{"tags":["plugins"],"summary":"Reload Plugins","operationId":"reload_plugins_api_v2_plugins_reload_post","responses":{"204":{"description":"Successful Response"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}}}}}},"components":{"schemas":{"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"}}}}
```

## POST /api/v2/plugins/install/git

> Install Plugin Git

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/install/git":{"post":{"tags":["plugins"],"summary":"Install Plugin Git","operationId":"install_plugin_git_api_v2_plugins_install_git_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginInstallGitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"PluginInstallGitRequest":{"properties":{"url":{"type":"string","title":"Url"},"ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref"},"subdirectory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subdirectory"}},"type":"object","required":["url"],"title":"PluginInstallGitRequest"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

## POST /api/v2/plugins/install/tar

> Install Plugin Tar

```json
{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v2/plugins/install/tar":{"post":{"tags":["plugins"],"summary":"Install Plugin Tar","operationId":"install_plugin_tar_api_v2_plugins_install_tar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PluginInstallTarRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"PluginInstallTarRequest":{"properties":{"url":{"type":"string","title":"Url"},"subdirectory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subdirectory"}},"type":"object","required":["url"],"title":"PluginInstallTarRequest"},"BadRequestResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"BadRequestResponse"},"NotFoundResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"NotFoundResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bc-security.gitbook.io/empire-wiki/restful-api/plugins.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
