# Create topic

**POST /v1/topics**

Create a [topic](https://docs.redpanda.com/redpanda-cloud/get-started/create-topic/).


## Servers
- Data Plane API: https://{dataplane_api_subdomain}.cloud.redpanda.com (Data Plane API)


## Authentication methods
- Auth0


## Parameters


### Query parameters
- **validate_only** (boolean)
  If true, makes this request a dry run; everything is validated but
  no topics are actually created.

### Body: application/json (object)
The topic to create.
- **configs** (array[object])
  An array of key-value config pairs for a topic.
  These correspond to Kafka topic-level configs.
- **name** (string)
  Name of topic.
- **partition_count** (integer(int32) | null)
  The number of partitions to give the topic. If specifying
  partitions manually (see `replica_assignments`), set to -1.
  Or, to use the cluster default partition count, set to null.
- **replica_assignments** (array[object])
  Manually specify broker ID assignments for partition replicas. If manually assigning replicas, both `replication_factor` and
  `partition_count` must be -1.
- **replication_factor** (integer(int32) | null)
  The number of replicas every partition must have.
  If specifying partitions manually (see `replica_assignments`), set to -1.
  Or, to use the cluster default replication factor, set to null.


## Responses
### 201
Topic created

#### Body: application/json (object)
- **partition_count** (integer(int32))
  The number of partitions created for the topic.
  This field has a default value of -1, which may be returned if the broker
  does not support v5+ of this request which added support for returning
  this information.
- **replication_factor** (integer(int32))
  The number of replicas per topic partition.
  This field has a default of -1, which may be returned if the broker
  does not support v5+ of this request which added support for returning
  this information.
- **topic_name** (string)
  Name of topic.

### 401
Unauthenticated.

#### Body: application/json (object)
- **code** (string(int32))
  RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).
- **details** (array[object])
  A list of messages that carries the error details.
- **message** (string)
  Detailed error message. No compatibility guarantees are given for the text contained in this message.

### 500
Internal Server Error. Reach out to support.

#### Body: application/json (object)
- **code** (string(int32))
  RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).
- **details** (array[object])
  A list of messages that carries the error details.
- **message** (string)
  Detailed error message. No compatibility guarantees are given for the text contained in this message.

### default
An unexpected error response.

#### Body: application/json (object)
- **code** (string(int32))
  RPC status code, as described [here](https://github.com/googleapis/googleapis/blob/b4c238feaa1097c53798ed77035bbfeb7fc72e96/google/rpc/code.proto#L32).
- **details** (array[object])
  A list of messages that carries the error details.
- **message** (string)
  Detailed error message. No compatibility guarantees are given for the text contained in this message.


[Powered by Bump.sh](https://bump.sh)
