---
title: "Add Aiven Kafka ACL entry"
method: POST
path: "/project/{project}/service/{service_name}/acl"
tags: ["Service:_Kafka"]
---

# Add Aiven Kafka ACL entry

`POST /project/{project}/service/{service_name}/acl`

## Path parameters

- `project` string, required
- `service_name` string, required

## Request body

- ServiceKafkaAclAddRequestBody — ServiceKafkaAclAddRequestBody
  - `permission` 'admin' | 'read' | 'readwrite' | 'write', required — Permission of an Aiven Kafka ACL entry, as opposed to a Kafka-native one.
  - `topic` string, required — Topic name pattern
  - `username` string, required — Username

## Response `200`

Response

- ServiceKafkaAclAddResponse — ServiceKafkaAclAddResponse
  - `acl` object[], required — List of Aiven ACL entries for Kafka service
    - `id` string, required — ID
    - `permission` 'admin' | 'read' | 'readwrite' | 'write', required — Permission of an Aiven Kafka ACL entry, as opposed to a Kafka-native one.
    - `topic` string, required — Topic name pattern
    - `username` string, required — Username
  - `message` string, required — Printable result of the request

## Other responses

- `400` — Invalid request parameters

## Changes

- **2026-08-28** `c949573465e3` — 1 warning, 2 info
  - removed the optional property `errors` from the response with the `200` status
  - the response property `acl/items/id` became required for the status `200`
  - the response property `message` became required for the status `200`

[Change history](https://skmtc.dev/aiven/apis/aiven-api-documentation/changes/project/:project/service/:service_name/acl/post.md)

---

[API](https://skmtc.dev/aiven/apis/aiven-api-documentation.md) · [All operations](https://skmtc.dev/aiven/apis/aiven-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/aiven/aiven-api-documentation/revisions/6577fedfd4a2/schema)
