API7 Docs

Create a consumer on a gateway group

POST /apisix/admin/consumers

POST /apisix/admin/consumers

Interactive request editor loads with JavaScript.

Authorization

X-API-KEY<token>

In: header

Query Parameters

gateway_group_id*string

Gateway group ID. Optional when using the gateway group admin key to authenticate.

Length1 <= length

Request Body

application/json

The consumer description.

Response Body

application/json

application/json

curl -X POST "$API_BASE_URL/apisix/admin/consumers?gateway_group_id=86fb9981-d9d2-4555-9df8-91ae92129335" \  -H "Content-Type: application/json" \  -d '{    "username": "johndoe"  }'

Consumer created successfully.

{
  "value": {
    "username": "johndoe",
    "plugins": {
      "key-auth": {}
    },
    "desc": "Object description.",
    "labels": {
      "version": "v2",
      "env": "prod"
    },
    "created_at": 1742288232,
    "updated_at": 1742288235
  }
}
Complete operation details and schema variants

POST /apisix/admin/consumers

Create a consumer on a gateway group

IAM Action: gateway:CreateConsumer, Resource: arn:api7:gateway:gatewaygroup/%s/consumer/*

Parameters

  • gateway_group_id (query, string, required): Gateway group ID. Optional when using the gateway group admin key to authenticate.

Request body

Content type: application/json

  • username (string, required): The unique identifier of the consumer.
  • plugins (object, optional): Key-value pairs of plugins and their configurations on the object.
  • desc (string, optional): The object description.
  • labels (object, optional): Key-value pairs of labels.

Responses

  • 200: Consumer created successfully.
  • allOf variant 1
  • value (object, optional): The specific resource.
  • allOf variant 2
  • value (object, optional): The consumer with management fields.
  • allOf variant 1
  • value.username (string, required): The unique identifier of the consumer.
  • value.plugins (object, optional): Key-value pairs of plugins and their configurations on the object.
  • value.desc (string, optional): The object description.
  • value.labels (object, optional): Key-value pairs of labels.
  • allOf variant 2
  • value.created_at (integer, optional): The object created timestamp.
  • value.updated_at (integer, optional): The object updated timestamp.
  • 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 POST '$API_BASE_URL/apisix/admin/consumers'