openapi: 3.1.0
info:
title: Apache APISIX Admin Consumer Groups Protos 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: []
tags:
- name: Protos
description: Manage Protocol Buffer definition resources.
paths:
/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:
- $ref: '#/components/parameters/ProtoId'
responses:
'200':
description: Successful response with proto details.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceResponse'
'404':
description: Proto not found.
put:
operationId: createOrUpdateProto
summary: Apache APISIX Create or Update a Proto
description: Creates a proto with the specified ID, or updates it if it already exists.
tags:
- Protos
parameters:
- $ref: '#/components/parameters/ProtoId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Proto'
responses:
'200':
description: Proto updated successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceResponse'
'201':
description: Proto created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceCreated'
delete:
operationId: deleteProto
summary: Apache APISIX Delete a Proto
description: Removes the specified Protocol Buffer definition.
tags:
- Protos
parameters:
- $ref: '#/components/parameters/ProtoId'
responses:
'200':
description: Proto deleted successfully.
'404':
description: Proto not found.
components:
schemas:
ResourceResponse:
type: object
description: Standard response wrapper for a single resource.
properties:
key:
type: string
description: The etcd key path for the resource.
value:
type: object
description: The resource configuration.
modifiedIndex:
type: integer
description: The etcd modification index.
createdIndex:
type: integer
description: The etcd creation index.
ResourceCreated:
type: object
description: Response wrapper for a newly created resource.
properties:
key:
type: string
description: The etcd key path for the created resource.
value:
type: object
description: The created resource configuration.
ResourceList:
type: object
description: Standard response wrapper for a list of resources.
properties:
list:
type: array
items:
$ref: '#/components/schemas/ResourceResponse'
description: Array of resource entries.
total:
type: integer
description: Total count of resources.
Proto:
type: object
description: A Proto resource stores Protocol Buffer definitions used by the grpc-transcode plugin.
required:
- content
properties:
desc:
type: string
description: Description of the proto resource.
content:
type: string
description: The Protocol Buffer definition content.
parameters:
ProtoId:
name: proto_id
in: path
required: true
description: Unique identifier of the proto resource.
schema:
type: string
securitySchemes:
apiKey:
type: apiKey
in: header
name: X-API-KEY
description: Admin API key for authentication.