Apache APISIX Admin API

The Apache APISIX Admin API provides a RESTful interface to dynamically control and configure a running APISIX instance. It supports management of routes, services, upstreams, consumers, SSL certificates, global rules, plugin configurations, consumer groups, and secrets, and listens by default on port 9180 with API key authentication.

OpenAPI Specification

apache-apisix-admin-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Apache APISIX Admin API
  description: >-
    The Apache APISIX Admin API provides a RESTful interface to dynamically
    control and configure your deployed Apache APISIX instance. It allows
    management of routes, services, upstreams, consumers, SSL certificates,
    global rules, plugin configurations, consumer groups, secrets, and more.
    By default, the Admin API listens on port 9180 and requires API key
    authentication via the X-API-KEY header.
  version: 3.14.0
  contact:
    name: Apache APISIX
    url: https://apisix.apache.org
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: http://127.0.0.1:9180/apisix/admin
  description: Default local Admin API server
security:
- apiKey: []
paths:
  /routes:
    get:
      operationId: listRoutes
      summary: Apache APISIX List All Routes
      description: Fetches a list of all configured routes.
      tags:
      - Routes
      responses:
        '200':
          description: Successful response with list of routes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
    post:
      operationId: createRoute
      summary: Apache APISIX Create a Route
      description: Creates a new route with a server-generated ID.
      tags:
      - Routes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Route'
      responses:
        '201':
          description: Route created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
  /routes/{route_id}:
    get:
      operationId: getRoute
      summary: Apache APISIX Get a Route
      description: Fetches the specified route by its ID.
      tags:
      - Routes
      parameters:
      - $ref: '#/components/parameters/RouteId'
      responses:
        '200':
          description: Successful response with route details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Route not found.
    put:
      operationId: createOrUpdateRoute
      summary: Apache APISIX Create or Update a Route
      description: Creates a route with the specified ID, or updates it if it already exists.
      tags:
      - Routes
      parameters:
      - $ref: '#/components/parameters/RouteId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Route'
      responses:
        '200':
          description: Route updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '201':
          description: Route created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
    patch:
      operationId: patchRoute
      summary: Apache APISIX Patch a Route
      description: Updates partial attributes of the specified route.
      tags:
      - Routes
      parameters:
      - $ref: '#/components/parameters/RouteId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Route'
      responses:
        '200':
          description: Route patched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Route not found.
    delete:
      operationId: deleteRoute
      summary: Apache APISIX Delete a Route
      description: Removes the specified route.
      tags:
      - Routes
      parameters:
      - $ref: '#/components/parameters/RouteId'
      responses:
        '200':
          description: Route deleted successfully.
        '404':
          description: Route not found.
  /services:
    get:
      operationId: listServices
      summary: Apache APISIX List All Services
      description: Fetches a list of all configured services.
      tags: []
      responses:
        '200':
          description: Successful response with list of services.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
    post:
      operationId: createService
      summary: Apache APISIX Create a Service
      description: Creates a new service with a server-generated ID.
      tags: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Service'
      responses:
        '201':
          description: Service created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
  /services/{service_id}:
    get:
      operationId: getService
      summary: Apache APISIX Get a Service
      description: Fetches the specified service by its ID.
      tags: []
      parameters:
      - $ref: '#/components/parameters/ServiceId'
      responses:
        '200':
          description: Successful response with service details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Service not found.
    put:
      operationId: createOrUpdateService
      summary: Apache APISIX Create or Update a Service
      description: Creates a service with the specified ID, or updates it if it already exists.
      tags: []
      parameters:
      - $ref: '#/components/parameters/ServiceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Service'
      responses:
        '200':
          description: Service updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '201':
          description: Service created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
    patch:
      operationId: patchService
      summary: Apache APISIX Patch a Service
      description: Updates partial attributes of the specified service.
      tags: []
      parameters:
      - $ref: '#/components/parameters/ServiceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Service'
      responses:
        '200':
          description: Service patched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Service not found.
    delete:
      operationId: deleteService
      summary: Apache APISIX Delete a Service
      description: Removes the specified service.
      tags: []
      parameters:
      - $ref: '#/components/parameters/ServiceId'
      responses:
        '200':
          description: Service deleted successfully.
        '404':
          description: Service not found.
  /upstreams:
    get:
      operationId: listUpstreams
      summary: Apache APISIX List All Upstreams
      description: Fetches a list of all configured upstreams.
      tags:
      - Upstreams
      responses:
        '200':
          description: Successful response with list of upstreams.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
    post:
      operationId: createUpstream
      summary: Apache APISIX Create an Upstream
      description: Creates a new upstream with a server-generated ID.
      tags:
      - Upstreams
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Upstream'
      responses:
        '201':
          description: Upstream created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
  /upstreams/{upstream_id}:
    get:
      operationId: getUpstream
      summary: Apache APISIX Get an Upstream
      description: Fetches the specified upstream by its ID.
      tags:
      - Upstreams
      parameters:
      - $ref: '#/components/parameters/UpstreamId'
      responses:
        '200':
          description: Successful response with upstream details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Upstream not found.
    put:
      operationId: createOrUpdateUpstream
      summary: Apache APISIX Create or Update an Upstream
      description: Creates an upstream with the specified ID, or updates it if it already exists.
      tags:
      - Upstreams
      parameters:
      - $ref: '#/components/parameters/UpstreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Upstream'
      responses:
        '200':
          description: Upstream updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '201':
          description: Upstream created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
    patch:
      operationId: patchUpstream
      summary: Apache APISIX Patch an Upstream
      description: Updates partial attributes of the specified upstream.
      tags:
      - Upstreams
      parameters:
      - $ref: '#/components/parameters/UpstreamId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Upstream'
      responses:
        '200':
          description: Upstream patched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Upstream not found.
    delete:
      operationId: deleteUpstream
      summary: Apache APISIX Delete an Upstream
      description: Removes the specified upstream.
      tags:
      - Upstreams
      parameters:
      - $ref: '#/components/parameters/UpstreamId'
      responses:
        '200':
          description: Upstream deleted successfully.
        '404':
          description: Upstream not found.
  /consumers:
    get:
      operationId: listConsumers
      summary: Apache APISIX List All Consumers
      description: Fetches a list of all configured consumers.
      tags:
      - Consumers
      responses:
        '200':
          description: Successful response with list of consumers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
  /consumers/{username}:
    get:
      operationId: getConsumer
      summary: Apache APISIX Get a Consumer
      description: Fetches the specified consumer by username.
      tags:
      - Consumers
      parameters:
      - $ref: '#/components/parameters/ConsumerUsername'
      responses:
        '200':
          description: Successful response with consumer details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Consumer not found.
    put:
      operationId: createOrUpdateConsumer
      summary: Apache APISIX Create or Update a Consumer
      description: Creates a consumer with the specified username, or updates it if it already exists.
      tags:
      - Consumers
      parameters:
      - $ref: '#/components/parameters/ConsumerUsername'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Consumer'
      responses:
        '200':
          description: Consumer updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '201':
          description: Consumer created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
    delete:
      operationId: deleteConsumer
      summary: Apache APISIX Delete a Consumer
      description: Removes the specified consumer.
      tags:
      - Consumers
      parameters:
      - $ref: '#/components/parameters/ConsumerUsername'
      responses:
        '200':
          description: Consumer deleted successfully.
        '404':
          description: Consumer not found.
  /consumers/{username}/credentials:
    get:
      operationId: listConsumerCredentials
      summary: Apache APISIX List Consumer Credentials
      description: Fetches all credentials for the specified consumer.
      tags:
      - Consumers
      parameters:
      - $ref: '#/components/parameters/ConsumerUsername'
      responses:
        '200':
          description: Successful response with list of credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
  /consumers/{username}/credentials/{credential_id}:
    get:
      operationId: getConsumerCredential
      summary: Apache APISIX Get a Consumer Credential
      description: Fetches a specific credential for the specified consumer.
      tags:
      - Consumers
      parameters:
      - $ref: '#/components/parameters/ConsumerUsername'
      - $ref: '#/components/parameters/CredentialId'
      responses:
        '200':
          description: Successful response with credential details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Credential not found.
    put:
      operationId: createOrUpdateConsumerCredential
      summary: Apache APISIX Create or Update a Consumer Credential
      description: Creates or updates a credential for the specified consumer.
      tags:
      - Consumers
      parameters:
      - $ref: '#/components/parameters/ConsumerUsername'
      - $ref: '#/components/parameters/CredentialId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Credential'
      responses:
        '200':
          description: Credential updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '201':
          description: Credential created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
    patch:
      operationId: patchConsumerCredential
      summary: Apache APISIX Patch a Consumer Credential
      description: Updates partial attributes of a credential for the specified consumer.
      tags:
      - Consumers
      parameters:
      - $ref: '#/components/parameters/ConsumerUsername'
      - $ref: '#/components/parameters/CredentialId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Credential'
      responses:
        '200':
          description: Credential patched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
    delete:
      operationId: deleteConsumerCredential
      summary: Apache APISIX Delete a Consumer Credential
      description: Removes a specific credential for the specified consumer.
      tags:
      - Consumers
      parameters:
      - $ref: '#/components/parameters/ConsumerUsername'
      - $ref: '#/components/parameters/CredentialId'
      responses:
        '200':
          description: Credential deleted successfully.
        '404':
          description: Credential not found.
  /consumer_groups:
    get:
      operationId: listConsumerGroups
      summary: Apache APISIX List All Consumer Groups
      description: Fetches a list of all configured consumer groups.
      tags:
      - Consumer Groups
      responses:
        '200':
          description: Successful response with list of consumer groups.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
  /consumer_groups/{group_id}:
    get:
      operationId: getConsumerGroup
      summary: Apache APISIX Get a Consumer Group
      description: Fetches the specified consumer group by its ID.
      tags:
      - Consumer Groups
      parameters:
      - $ref: '#/components/parameters/ConsumerGroupId'
      responses:
        '200':
          description: Successful response with consumer group details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Consumer group not found.
    put:
      operationId: createOrUpdateConsumerGroup
      summary: Apache APISIX Create or Update a Consumer Group
      description: Creates a consumer group with the specified ID, or updates it if it already exists.
      tags:
      - Consumer Groups
      parameters:
      - $ref: '#/components/parameters/ConsumerGroupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsumerGroup'
      responses:
        '200':
          description: Consumer group updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '201':
          description: Consumer group created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
    patch:
      operationId: patchConsumerGroup
      summary: Apache APISIX Patch a Consumer Group
      description: Updates partial attributes of the specified consumer group.
      tags:
      - Consumer Groups
      parameters:
      - $ref: '#/components/parameters/ConsumerGroupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsumerGroup'
      responses:
        '200':
          description: Consumer group patched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
    delete:
      operationId: deleteConsumerGroup
      summary: Apache APISIX Delete a Consumer Group
      description: Removes the specified consumer group.
      tags:
      - Consumer Groups
      parameters:
      - $ref: '#/components/parameters/ConsumerGroupId'
      responses:
        '200':
          description: Consumer group deleted successfully.
        '404':
          description: Consumer group not found.
  /ssls:
    get:
      operationId: listSSLs
      summary: Apache APISIX List All SSL Certificates
      description: Fetches a list of all configured SSL certificate resources.
      tags:
      - SSL
      responses:
        '200':
          description: Successful response with list of SSL certificates.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
  /ssls/{ssl_id}:
    get:
      operationId: getSSL
      summary: Apache APISIX Get an SSL Certificate
      description: Fetches the specified SSL certificate resource by its ID.
      tags:
      - SSL
      parameters:
      - $ref: '#/components/parameters/SSLId'
      responses:
        '200':
          description: Successful response with SSL certificate details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: SSL certificate not found.
    put:
      operationId: createOrUpdateSSL
      summary: Apache APISIX Create or Update an SSL Certificate
      description: Creates an SSL certificate with the specified ID, or updates it if it already exists.
      tags:
      - SSL
      parameters:
      - $ref: '#/components/parameters/SSLId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSL'
      responses:
        '200':
          description: SSL certificate updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '201':
          description: SSL certificate created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
    patch:
      operationId: patchSSL
      summary: Apache APISIX Patch an SSL Certificate
      description: Updates partial attributes of the specified SSL certificate.
      tags:
      - SSL
      parameters:
      - $ref: '#/components/parameters/SSLId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SSL'
      responses:
        '200':
          description: SSL certificate patched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
    delete:
      operationId: deleteSSL
      summary: Apache APISIX Delete an SSL Certificate
      description: Removes the specified SSL certificate.
      tags:
      - SSL
      parameters:
      - $ref: '#/components/parameters/SSLId'
      responses:
        '200':
          description: SSL certificate deleted successfully.
        '404':
          description: SSL certificate not found.
  /global_rules:
    get:
      operationId: listGlobalRules
      summary: Apache APISIX List All Global Rules
      description: Fetches a list of all configured global plugin rules.
      tags:
      - Global Rules
      responses:
        '200':
          description: Successful response with list of global rules.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
  /global_rules/{rule_id}:
    get:
      operationId: getGlobalRule
      summary: Apache APISIX Get a Global Rule
      description: Fetches the specified global rule by its ID.
      tags:
      - Global Rules
      parameters:
      - $ref: '#/components/parameters/GlobalRuleId'
      responses:
        '200':
          description: Successful response with global rule details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Global rule not found.
    put:
      operationId: createOrUpdateGlobalRule
      summary: Apache APISIX Create or Update a Global Rule
      description: Creates a global rule with the specified ID, or updates it if it already exists.
      tags:
      - Global Rules
      parameters:
      - $ref: '#/components/parameters/GlobalRuleId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GlobalRule'
      responses:
        '200':
          description: Global rule updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '201':
          description: Global rule created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
    patch:
      operationId: patchGlobalRule
      summary: Apache APISIX Patch a Global Rule
      description: Updates partial attributes of the specified global rule.
      tags:
      - Global Rules
      parameters:
      - $ref: '#/components/parameters/GlobalRuleId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GlobalRule'
      responses:
        '200':
          description: Global rule patched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
    delete:
      operationId: deleteGlobalRule
      summary: Apache APISIX Delete a Global Rule
      description: Removes the specified global rule.
      tags:
      - Global Rules
      parameters:
      - $ref: '#/components/parameters/GlobalRuleId'
      responses:
        '200':
          description: Global rule deleted successfully.
        '404':
          description: Global rule not found.
  /plugin_configs:
    get:
      operationId: listPluginConfigs
      summary: Apache APISIX List All Plugin Configs
      description: Fetches a list of all configured plugin config resources.
      tags:
      - Plugin Configs
      responses:
        '200':
          description: Successful response with list of plugin configs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
  /plugin_configs/{config_id}:
    get:
      operationId: getPluginConfig
      summary: Apache APISIX Get a Plugin Config
      description: Fetches the specified plugin config by its ID.
      tags:
      - Plugin Configs
      parameters:
      - $ref: '#/components/parameters/PluginConfigId'
      responses:
        '200':
          description: Successful response with plugin config details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Plugin config not found.
    put:
      operationId: createOrUpdatePluginConfig
      summary: Apache APISIX Create or Update a Plugin Config
      description: Creates a plugin config with the specified ID, or updates it if it already exists.
      tags:
      - Plugin Configs
      parameters:
      - $ref: '#/components/parameters/PluginConfigId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginConfig'
      responses:
        '200':
          description: Plugin config updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '201':
          description: Plugin config created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
    patch:
      operationId: patchPluginConfig
      summary: Apache APISIX Patch a Plugin Config
      description: Updates partial attributes of the specified plugin config.
      tags:
      - Plugin Configs
      parameters:
      - $ref: '#/components/parameters/PluginConfigId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PluginConfig'
      responses:
        '200':
          description: Plugin config patched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
    delete:
      operationId: deletePluginConfig
      summary: Apache APISIX Delete a Plugin Config
      description: Removes the specified plugin config.
      tags:
      - Plugin Configs
      parameters:
      - $ref: '#/components/parameters/PluginConfigId'
      responses:
        '200':
          description: Plugin config deleted successfully.
        '404':
          description: Plugin config not found.
  /plugin_metadata/{plugin_name}:
    get:
      operationId: getPluginMetadata
      summary: Apache APISIX Get Plugin Metadata
      description: Fetches metadata for the specified plugin.
      tags:
      - Plugin Metadata
      parameters:
      - $ref: '#/components/parameters/PluginName'
      responses:
        '200':
          description: Successful response with plugin metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '404':
          description: Plugin metadata not found.
    put:
      operationId: createOrUpdatePluginMetadata
      summary: Apache APISIX Create or Update Plugin Metadata
      description: Creates or updates metadata for the specified plugin.
      tags:
      - Plugin Metadata
      parameters:
      - $ref: '#/components/parameters/PluginName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Plugin-specific metadata configuration.
      responses:
        '200':
          description: Plugin metadata updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceResponse'
        '201':
          description: Plugin metadata created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
    delete:
      operationId: deletePluginMetadata
      summary: Apache APISIX Delete Plugin Metadata
      description: Removes metadata for the specified plugin.
      tags:
      - Plugin Metadata
      parameters:
      - $ref: '#/components/parameters/PluginName'
      responses:
        '200':
          description: Plugin metadata deleted successfully.
        '404':
          description: Plugin metadata not found.
  /plugins:
    get:
      operationId: listPlugins
      summary: Apache APISIX List All Plugins
      description: Fetches a list of all available plugins on the APISIX instance.
      tags:
      - Plugins
      parameters:
      - name: subsystem
        in: query
        description: Filter plugins by subsystem (http or stream).
        schema:
          type: string
          enum:
          - http
          - stream
      responses:
        '200':
          description: Successful response with list of plugin names.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
  /plugins/{plugin_name}:
    get:
      operationId: getPluginSchema
      summary: Apache APISIX Get Plugin Schema
      description: Fetches the JSON Schema of the specified plugin.
      tags:
      - Plugins
      parameters:
      - $ref: '#/components/parameters/PluginName'
      responses:
        '200':
          description: Successful response with plugin JSON Schema.
          content:
            application/json:
              schema:
                type: object
        '404':
          description: Plugin not found.
  /protos:
    get:
      operationId: listProtos
      summary: Apache APISIX List All Protos
      description: Fetches a list of all configured Protocol Buffer definition resources.
      tags:
      - Protos
      responses:
        '200':
          description: Successful response with list of protos.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
  /protos/{proto_id}:
    get:
      operationId: getProto
      summary: Apache APISIX Get a Proto
      description: Fetches the specified Protocol Buffer definition by its ID.
      tags:
      - Protos
      parameters:
      - $re

# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/apache-apisix/refs/heads/main/openapi/apache-apisix-admin-api-openapi.yml