/sys/plugins/catalog
The /sys/plugins/catalog
endpoint is used to read, register, update, and
remove plugins in Vault's catalog. Plugins must be registered before use, and
once registered backends can use the plugin by querying the catalog.
LIST plugins
Restricted endpoint
The API path can only be called from the root or administrative namespace.This endpoint lists the plugins in the catalog by type.
Method | Path |
---|---|
GET | /sys/plugins/catalog |
Sample request
Sample response
LIST plugins
Restricted endpoint
The API path can only be called from the root or administrative namespace.This endpoint lists the plugins in the catalog by type.
Method | Path |
---|---|
LIST | /sys/plugins/catalog/auth |
LIST | /sys/plugins/catalog/database |
LIST | /sys/plugins/catalog/secret |
Sample request
Sample response
Register plugin
Restricted endpoint
The API path can only be called from the root or administrative namespace.This endpoint registers a new plugin, or updates an existing one with the supplied name.
sudo
required – This endpoint requiressudo
capability in addition to any path-specific capabilities.
Method | Path |
---|---|
POST | /sys/plugins/catalog/:type/:name |
Parameters
name
(string: <required>)
– Specifies the name for this plugin. The name is what is used to look up plugins in the catalog. This is part of the request URL.type
(string: <required>)
– Specifies the type of this plugin. May be "auth", "database", or "secret".version
(string: "")
- Specifies the semantic version of this plugin.sha256
(string: <required>)
– This is the SHA256 sum of the plugin's binary. Before a plugin is run it's SHA will be checked against this value, if they do not match the plugin can not be run.command
(string: <required>)
– Specifies the command used to execute the plugin. This is relative to the plugin directory. e.g."myplugin"
.args
(array: [])
– Specifies the arguments used to execute the plugin. If the arguments are provided here, thecommand
parameter should only contain the named program. e.g."--my_flag=1"
.env
(array: [])
– Specifies the environment variables used during the execution of the plugin. Each entry is of the form "key=value". e.g"FOO=BAR"
.
Sample payload
Sample request
Read plugin
Restricted endpoint
The API path can only be called from the root or administrative namespace.This endpoint returns the configuration data for the plugin with the given name.
sudo
required – This endpoint requiressudo
capability in addition to any path-specific capabilities.
Method | Path |
---|---|
GET | /sys/plugins/catalog/:type/:name?version=:version |
Parameters
name
(string: <required>)
– Specifies the name of the plugin to retrieve. This is part of the request URL.type
(string: <required>)
– Specifies the type of this plugin. May be "auth", "database", or "secret".version
(string: "")
– The semantic version of the plugin to read. Required if the plugin was registered with a version.
Sample request
Sample response
Remove plugin from catalog
Restricted endpoint
The API path can only be called from the root or administrative namespace.This endpoint removes the plugin with the given name.
sudo
required – This endpoint requiressudo
capability in addition to any path-specific capabilities.
Method | Path |
---|---|
DELETE | /sys/plugins/catalog/:type/:name?version=:version |
Parameters
name
(string: <required>)
– Specifies the name of the plugin to delete. This is part of the request URL.type
(string: <required>)
– Specifies the type of this plugin. May be "auth", "database", or "secret".version
(string: "")
– Specifies the semantic version of the plugin to delete.
Sample request