Apache APISIX Consumer Groups API

Manage consumer groups for shared plugin configurations.

OpenAPI Specification

apache-apisix-consumer-groups-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Apache APISIX Admin Consumer Groups 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: Consumer Groups
  description: Manage consumer groups for shared plugin configurations.
paths:
  /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.
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.
    ConsumerGroup:
      type: object
      description: A Consumer Group is a set of plugins that can be applied to multiple consumers rather than configuring each consumer individually.
      properties:
        desc:
          type: string
          description: Description of the consumer group.
        plugins:
          type: object
          description: Plugin configuration shared among consumers in this group.
        labels:
          type: object
          additionalProperties:
            type: string
          description: Key-value pairs for categorization.
    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.
  parameters:
    ConsumerGroupId:
      name: group_id
      in: path
      required: true
      description: Unique identifier of the consumer group.
      schema:
        type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Admin API key for authentication.