Get all plugin schemas and priorities
GET /apisix/admin/plugins
GET /apisix/admin/pluginsInteractive request editor loads with JavaScript.
X-API-KEY<token>
In: header
Query Parameters
subsystem?string
Type to filter the plugin list. http will only show L7 plugins and stream will only show L4 plugins.
Default
"http"Value in
- "http"
- "stream"
Response Body
application/json
application/json
curl -X GET "$API_BASE_URL/apisix/admin/plugins"Successfully retrieved the detailed plugin schemas including configuration options.
{
"value": {
"acl": {
"schema": {
"$comment": "this is a mark for our injected plugin schema",
"allOf": [
{
"if": {
"properties": {
"external_user_label_field_parser": {
"const": "segmented_text"
}
},
"required": [
"external_user_label_field_parser"
]
},
"then": {
"required": [
"external_user_label_field_separator"
]
}
}
],
"anyOf": [
{
"required": [
"allow_labels"
]
},
{
"required": [
"deny_labels"
]
}
],
"properties": {
"_meta": {
"properties": {
"disable": {
"type": "boolean"
},
"error_response": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
]
},
"filter": {
"description": "filter determines whether the plugin needs to be executed at runtime",
"type": "array"
},
"pre_function": {
"description": "function to be executed in each phase before execution of plugins. The pre_function will have access to two arguments: `conf` and `ctx`.",
"type": "string"
},
"priority": {
"description": "priority of plugins by customized order",
"type": "integer"
}
},
"type": "object"
},
"allow_labels": {
"minProperties": 1,
"patternProperties": {
".*": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"deny_labels": {
"minProperties": 1,
"patternProperties": {
".*": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"external_user_label_field": {
"default": "groups",
"type": "string"
},
"external_user_label_field_key": {
"minLength": 1,
"type": "string"
},
"external_user_label_field_parser": {
"enum": [
"segmented_text",
"json",
"table"
],
"type": "string"
},
"external_user_label_field_separator": {
"description": "The separator(regex) of the segmented_text parser",
"minLength": 1,
"type": "string"
},
"rejected_code": {
"default": 403,
"minimum": 200,
"type": "integer"
},
"rejected_msg": {
"type": "string"
}
},
"type": "object"
},
"priority": 2410
},
"ai-aliyun-content-moderation": {
"schema": {
"$comment": "this is a mark for our injected plugin schema",
"encrypt_fields": [
"access_key_secret"
],
"properties": {
"_meta": {
"additionalProperties": false,
"properties": {
"disable": {
"type": "boolean"
},
"error_response": {
"oneOf": [
{
"type": "string"
},
{
"type": "object"
}
]
},
"filter": {
"description": "filter determines whether the plugin needs to be executed at runtime",
"type": "array"
},
"pre_function": {
"description": "function to be executed in each phase before execution of plugins. The pre_function will have access to two arguments: `conf` and `ctx`.",
"type": "string"
},
"priority": {
"description": "priority of plugins by customized order",
"type": "integer"
}
},
"type": "object"
},
"access_key_id": {
"minLength": 1,
"type": "string"
},
"access_key_secret": {
"minLength": 1,
"type": "string"
},
"check_request": {
"default": true,
"type": "boolean"
},
"check_response": {
"default": false,
"type": "boolean"
},
"deny_code": {
"default": 200,
"type": "number"
},
"deny_message": {
"type": "string"
},
"endpoint": {
"minLength": 1,
"type": "string"
},
"region_id": {
"minLength": 1,
"type": "string"
},
"request_check_length_limit": {
"default": 2000,
"type": "number"
},
"request_check_service": {
"default": "llm_query_moderation",
"minLength": 1,
"type": "string"
},
"response_check_length_limit": {
"default": 5000,
"type": "number"
},
"response_check_service": {
"default": "llm_response_moderation",
"minLength": 1,
"type": "string"
},
"risk_level_bar": {
"default": "high",
"enum": [
"none",
"low",
"medium",
"high",
"max"
],
"type": "string"
},
"ssl_verify": {
"default": true,
"type": "boolean"
},
"stream_check_cache_size": {
"default": 128,
"description": "max characters per moderation batch in realtime mode",
"minimum": 1,
"type": "integer"
},
"stream_check_interval": {
"default": 3,
"description": "seconds between batch checks in realtime mode",
"minimum": 0.1,
"type": "number"
},
"stream_check_mode": {
"default": "final_packet",
"description": "realtime: batched checks during streaming | final_packet: append risk_level at end\n",
"enum": [
"realtime",
"final_packet"
],
"type": "string"
},
"timeout": {
"default": 10000,
"description": "timeout in milliseconds",
"minimum": 1,
"type": "integer"
}
},
"required": [
"endpoint",
"region_id",
"access_key_id",
"access_key_secret"
],
"type": "object"
},
"priority": 1029
}
}
}Bad Request — The request was malformed or contained invalid parameters. Check the error_msg field for details.
{
"value": {},
"error_msg": "error message"
}Complete operation details and schema variants
GET /apisix/admin/plugins
Get all plugin schemas and priorities
Parameters
subsystem(query, string, optional): Type to filter the plugin list.httpwill only show L7 plugins andstreamwill only show L4 plugins.
Responses
200: Successfully retrieved the detailed plugin schemas including configuration options.- allOf variant 1
value(object, optional): The specific resource.- allOf variant 2
value(object, optional):value.*.schema(object, optional):value.*.consumer_schema(object, optional):value.*.metadata_schema(object, optional):value.*.type(string, optional):value.*.scope(string, optional):value.*.priority(integer, optional):400: Bad Request — The request was malformed or contained invalid parameters. Check the error_msg field for details.value(object, optional): The specific resource.error_msg(string, optional): The error message.
cURL
curl -X GET '$API_BASE_URL/apisix/admin/plugins'