List Plugin Attributes
GET /apisix/admin/plugins
GET /apisix/admin/pluginsInteractive request editor loads with JavaScript.
X-API-KEY<token>
Admin API key configured in config.yaml under deployment.admin.admin_key. You can also pass the key as a query parameter api_key or cookie x_api_key.
In: header
Query Parameters
all*"true"Deprecated
Deprecated. When true, return the full plugin catalog.
Value in
- "true"
subsystem?string
Plugin subsystem.
Default
"http"Value in
- "http"
- "stream"
Response Body
application/json
application/json
application/json
curl -X GET "http://127.0.0.1:9180/apisix/admin/plugins?all=true"Successful response.
{
"limit-conn": {
"priority": 1003,
"version": 0.1,
"schema": {
"type": "object",
"$comment": "this is a mark for our injected plugin schema",
"required": [
"conn",
"burst",
"default_conn_delay",
"key"
],
"properties": {
"only_use_default_delay": {
"type": "boolean",
"default": false
},
"conn": {
"type": "integer",
"exclusiveMinimum": 0
},
"burst": {
"type": "integer",
"minimum": 0
},
"key_type": {
"type": "string",
"enum": [
"var",
"var_combination"
],
"default": "var"
},
"_meta": {
"type": "object",
"properties": {
"filter": {
"type": "array",
"description": "filter determines whether the plugin needs to be executed at runtime",
"items": {}
},
"error_response": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
]
},
"priority": {
"type": "integer",
"description": "priority of plugins by customized order"
},
"disable": {
"type": "boolean"
}
}
},
"key": {
"type": "string"
},
"default_conn_delay": {
"type": "number",
"exclusiveMinimum": 0
}
}
}
},
"syslog": {
"schema": {
"type": "object",
"$comment": "this is a mark for our injected plugin schema",
"required": [
"host",
"port"
],
"properties": {
"_meta": {
"type": "object",
"properties": {
"filter": {
"type": "array",
"description": "filter determines whether the plugin needs to be executed at runtime",
"items": {}
},
"error_response": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
]
},
"priority": {
"type": "integer",
"description": "priority of plugins by customized order"
},
"disable": {
"type": "boolean"
}
}
},
"host": {
"type": "string"
},
"max_retry_count": {
"type": "integer",
"default": 0,
"minimum": 0
},
"drop_limit": {
"type": "integer",
"default": 1048576
},
"flush_limit": {
"type": "integer",
"default": 4096,
"minimum": 1
},
"pool_size": {
"type": "integer",
"default": 5,
"minimum": 5
},
"sock_type": {
"type": "string",
"default": "tcp",
"enum": [
"tcp",
"udp"
]
},
"buffer_duration": {
"type": "integer",
"default": 60,
"minimum": 1
},
"retry_delay": {
"type": "integer",
"default": 1,
"minimum": 0
},
"tls": {
"type": "boolean",
"default": false
},
"name": {
"type": "string",
"default": "stream sys logger"
},
"log_format": {
"type": "object"
},
"batch_max_size": {
"type": "integer",
"default": 1000,
"minimum": 1
},
"timeout": {
"type": "integer",
"default": 3000,
"minimum": 1
},
"inactive_timeout": {
"type": "integer",
"default": 5,
"minimum": 1
},
"port": {
"type": "integer"
}
}
},
"priority": 401,
"version": 0.1,
"metadata_schema": {
"type": "object",
"properties": {
"log_format": {
"type": "object",
"default": {
"@timestamp": "$time_iso8601",
"host": "$host",
"client_ip": "$remote_addr"
}
}
}
}
},
"ip-restriction": {
"priority": 3000,
"version": 0.1,
"schema": {
"type": "object",
"oneOf": [
{
"required": [
"whitelist"
]
},
{
"required": [
"blacklist"
]
}
],
"$comment": "this is a mark for our injected plugin schema",
"properties": {
"message": {
"type": "string",
"minLength": 1,
"maxLength": 1024,
"default": "Your IP address is not allowed"
},
"_meta": {
"type": "object",
"properties": {
"filter": {
"type": "array",
"description": "filter determines whether the plugin needs to be executed at runtime",
"items": {}
},
"error_response": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
]
},
"priority": {
"type": "integer",
"description": "priority of plugins by customized order"
},
"disable": {
"type": "boolean"
}
}
},
"blacklist": {
"type": "array",
"minItems": 1,
"items": {
"anyOf": [
{
"type": "string",
"format": "ipv4",
"title": "IPv4"
},
{
"type": "string",
"pattern": "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/([12]?[0-9]|3[0-2])$",
"title": "IPv4/CIDR"
},
{
"type": "string",
"format": "ipv6",
"title": "IPv6"
},
{
"type": "string",
"pattern": "^([a-fA-F0-9]{0,4}:){1,8}(:[a-fA-F0-9]{0,4}){0,8}([a-fA-F0-9]{0,4})?/[0-9]{1,3}$",
"title": "IPv6/CIDR"
}
]
}
},
"whitelist": {
"type": "array",
"minItems": 1,
"items": {
"anyOf": [
{
"type": "string",
"format": "ipv4",
"title": "IPv4"
},
{
"type": "string",
"pattern": "^([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/([12]?[0-9]|3[0-2])$",
"title": "IPv4/CIDR"
},
{
"type": "string",
"format": "ipv6",
"title": "IPv6"
},
{
"type": "string",
"pattern": "^([a-fA-F0-9]{0,4}:){1,8}(:[a-fA-F0-9]{0,4}){0,8}([a-fA-F0-9]{0,4})?/[0-9]{1,3}$",
"title": "IPv6/CIDR"
}
]
}
}
}
}
},
"mqtt-proxy": {
"priority": 1000,
"version": 0.1,
"schema": {
"type": "object",
"$comment": "this is a mark for our injected plugin schema",
"required": [
"protocol_name",
"protocol_level"
],
"properties": {
"_meta": {
"type": "object",
"properties": {
"filter": {
"type": "array",
"description": "filter determines whether the plugin needs to be executed at runtime",
"items": {}
},
"error_response": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
]
},
"priority": {
"type": "integer",
"description": "priority of plugins by customized order"
},
"disable": {
"type": "boolean"
}
}
},
"protocol_name": {
"type": "string"
},
"protocol_level": {
"type": "integer"
}
}
}
}
}Not found plugin name
{
"error_msg": "invalid configuration: property \"uri\" is required"
}{
"error_msg": "invalid request body: unexpected character at line 1 column 2"
}**Unauthorized** — The API key is missing, invalid, or lacks permission.
{
"error_msg": "failed to check token",
"description": "missing apikey"
}{
"error_msg": "failed to check token",
"description": "wrong apikey"
}{
"error_msg": "failed to check token",
"description": "invalid method for role viewer"
}Complete operation details and schema variants
GET /apisix/admin/plugins
List Plugin Attributes
Get attributes of all plugins configured on the APISIX instance.
Deprecated: This endpoint is being replaced. Use
GET /plugins/listandGET /plugins/{plugin_name}instead.
Parameters
all(query, string, required): Deprecated. Whentrue, return the full plugin catalog.subsystem(query, string, optional): Plugin subsystem.
Responses
200: Successful response.plugin_name(object, optional): Plugin configuration and metadata.plugin_name.version(number, optional): Plugin schema version number.plugin_name.schema(object, optional): JSON Schema defining the plugin configuration structure.plugin_name.schema.required(array, optional): Required fields for the plugin.plugin_name.schema.type(string, optional): JSON Schema type definition.plugin_name.schema.$comment(string, optional): Comment metadata for the schema.plugin_name.schema.properties(object, optional): Plugin properties.plugin_name.priority(integer, optional): Execution priority of the plugin.400: Bad Request — The request body is invalid or missing required fields.error_msg(string, required): Human-readable error message describing what went wrong.401: Unauthorized — The API key is missing, invalid, or lacks permission.error_msg(string, required): Authentication error message.description(string, optional): Detailed reason for the authentication failure.
cURL
curl -X GET 'http://127.0.0.1:9180/apisix/admin/plugins'