---
title: "Create a new Consumer"
method: POST
path: "/v2/control-planes/{controlPlaneId}/core-entities/consumers"
tags: ["Consumers"]
---

# Create a new Consumer

`POST /v2/control-planes/{controlPlaneId}/core-entities/consumers`

Create a new Consumer

## Request body

- Consumer — The Consumer object represents a consumer - or a user - of a Service. You can either rely on Kong as the primary datastore, or you can map the consumer list with your database to keep consistency between Kong and your existing primary datastore.
  - `created_at` integer, nullable — Unix epoch when the resource was created.
  - `custom_id` string, nullable — Field for storing an existing unique ID for the Consumer - useful for mapping Kong with users in your existing database. You must send either this field or `username` with the request.
  - `id` string, nullable — A string representing a UUID (universally unique identifier).
  - `tags` string[], nullable — An optional set of strings associated with the Consumer for grouping and filtering.
  - `updated_at` integer, nullable — Unix epoch when the resource was last updated.
  - `username` string, nullable — The unique username of the Consumer. You must send either this field or `custom_id` with the request.

## Response `201`

Successfully created Consumer

- Consumer — The Consumer object represents a consumer - or a user - of a Service. You can either rely on Kong as the primary datastore, or you can map the consumer list with your database to keep consistency between Kong and your existing primary datastore.
  - `created_at` integer, nullable — Unix epoch when the resource was created.
  - `custom_id` string, nullable — Field for storing an existing unique ID for the Consumer - useful for mapping Kong with users in your existing database. You must send either this field or `username` with the request.
  - `id` string, nullable — A string representing a UUID (universally unique identifier).
  - `tags` string[], nullable — An optional set of strings associated with the Consumer for grouping and filtering.
  - `updated_at` integer, nullable — Unix epoch when the resource was last updated.
  - `username` string, nullable — The unique username of the Consumer. You must send either this field or `custom_id` with the request.

## Other responses

- `401` — Unauthorized

## Changes

- **2025-07-22** `76b0fefddb0d` — 1 breaking, 1 info
  - the response property `tags` became nullable for the status `201`
  - the request property `tags` became nullable

[Change history](https://skmtc.dev/kong/apis/konnect-api-go-sdk/changes/v2/control-planes/:controlPlaneId/core-entities/consumers/post.md)

---

[API](https://skmtc.dev/kong/apis/konnect-api-go-sdk.md) · [All operations](https://skmtc.dev/kong/apis/konnect-api-go-sdk/llms.txt) · [OpenAPI document](https://skmtc.dev/kong/apis/konnect-api-go-sdk/revisions/de79e1192f11?raw)
