

# Topic


## URI


`/v1/clusters/clusterArn/topics/topicName`

## HTTP methods


### GET


**Operation ID:** `DescribeTopic`

Returns details for a topic on a cluster.

This API response reflects data that updates approximately every minute. For the most current topic state after making changes, allow approximately one minute before querying.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| clusterArn | String | True | The Amazon Resource Name (ARN) that uniquely identifies the cluster. | 
| topicName | String | True | The name of the topic. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 |  DescribeTopicResponse | Successful response. | 
| 400 | Error | The request isn't valid because the input is incorrect. Correct your input and then submit it again. | 
| 401 | Error | The request is not authorized. The provided credentials couldn't be validated. | 
| 403 | Error | Access forbidden. Check your credentials and then retry your request. | 
| 404 | Error | The resource could not be found due to incorrect input. Correct the input, then retry the request. | 
| 429 | Error | 429 response | 
| 500 | Error | There was an unexpected internal server error. Retrying your request might resolve the issue. | 
| 503 | Error | 503 response | 

### PUT


**Operation ID:** `UpdateTopic`

Updates topic partition or topic configs.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| clusterArn | String | True | The Amazon Resource Name (ARN) that uniquely identifies the cluster. | 
| topicName | String | True | The name of the topic. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 |  UpdateTopicResponse | Successful response. | 
| 400 | Error | The request isn't valid because the input is incorrect. Correct your input and then submit it again. | 
| 401 | Error | The request is not authorized. The provided credentials couldn't be validated. | 
| 403 | Error | Access forbidden. Check your credentials and then retry your request. | 
| 404 | Error | The resource could not be found due to incorrect input. Correct the input, then retry the request. | 
| 429 | Error | 429 response | 
| 500 | Error | There was an unexpected internal server error. Retrying your request might resolve the issue. | 
| 503 | Error | 503 response | 

### DELETE


**Operation ID:** `DeleteTopic`

Deletes the topic specified by the topicName in the request from the cluster specified by the Amazon Resource Name (ARN) in the request.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| clusterArn | String | True | The Amazon Resource Name (ARN) that uniquely identifies the cluster. | 
| topicName | String | True | The name of the topic. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 |  DeleteTopicResponse | Successful response. | 
| 400 | Error | The request isn't valid because the input is incorrect. Correct your input and then submit it again. | 
| 401 | Error | The request is not authorized. The provided credentials couldn't be validated. | 
| 403 | Error | Access forbidden. Check your credentials and then retry your request. | 
| 404 | Error | The resource could not be found due to incorrect input. Correct the input, then retry the request. | 
| 429 | Error | 429 response | 
| 500 | Error | There was an unexpected internal server error. Retrying your request might resolve the issue. | 
| 503 | Error | 503 response | 

### OPTIONS


Enable CORS by returning correct headers 


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| clusterArn | String | True | The Amazon Resource Name (ARN) that uniquely identifies the cluster. | 
| topicName | String | True | The name of the topic. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | Default response for CORS method | 

## Schemas


### Request bodies


#### PUT schema
PUT

```
{
  "partitionCount": integer,
  "configs": "string"
}
```

### Response bodies


#### DescribeTopicResponse schema
DescribeTopicResponse

```
{
  "replicationFactor": number,
  "partitionCount": number,
  "configs": "string",
  "topicName": "string",
  "topicArn": "string",
  "status": enum
}
```

#### UpdateTopicResponse schema
UpdateTopicResponse

```
{
  "topicName": "string",
  "topicArn": "string",
  "status": enum
}
```

#### DeleteTopicResponse schema
DeleteTopicResponse

```
{
  "topicName": "string",
  "topicArn": "string",
  "status": enum
}
```

#### Error schema
Error

```
{
  "message": "string",
  "invalidParameter": "string"
}
```

## Properties


### DeleteTopicResponse


Returns information about the deleted topic.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| status | [TopicStatus](#clusters-clusterarn-topics-topicname-model-topicstatus) | False | Status of the topic. | 
| topicArn | string | False | ARN of the topic. | 
| topicName | string | False | Name of the topic. | 

### DescribeTopicResponse


The response contains metadata for a topic on a cluster.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| configs | string | False | Kafka configs for a topic. | 
| partitionCount | number | False | Partition count for a topic | 
| replicationFactor | number | False | Replication factor for a topic | 
| status | [TopicStatus](#clusters-clusterarn-topics-topicname-model-topicstatus) | False | Status of the topic.  | 
| topicArn | string | False | ARN of the topic. | 
| topicName | string | False | Name for a topic. | 

### Error


Returns information about an error.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| invalidParameter | string | False | The parameter that caused the error. | 
| message | string | False | The description of the error. | 

### TopicStatus


Status of a kafka topic
+ `CREATING`
+ `UPDATING`
+ `DELETING`
+ `ACTIVE`

### UpdateTopicRequest


Request body for UpdateTopic.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| configs | string | False | Base64 encoded kafka configs. | 
| partitionCount | integer | False | How many partitions in the topic to be created. | 

### UpdateTopicResponse


Returns information about the updated topic.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| status | [TopicStatus](#clusters-clusterarn-topics-topicname-model-topicstatus) | False | Status of the topic. | 
| topicArn | string | False | ARN of the topic. | 
| topicName | string | False | Name of the topic. | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### DescribeTopic

+ [AWS Command Line Interface V2](/goto/cli2/kafka-2018-11-14/DescribeTopic)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/kafka-2018-11-14/DescribeTopic)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/kafka-2018-11-14/DescribeTopic)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/kafka-2018-11-14/DescribeTopic)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/kafka-2018-11-14/DescribeTopic)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/kafka-2018-11-14/DescribeTopic)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/kafka-2018-11-14/DescribeTopic)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/kafka-2018-11-14/DescribeTopic)
+ [AWS SDK for Python](/goto/boto3/kafka-2018-11-14/DescribeTopic)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/kafka-2018-11-14/DescribeTopic)

### UpdateTopic

+ [AWS Command Line Interface V2](/goto/cli2/kafka-2018-11-14/UpdateTopic)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/kafka-2018-11-14/UpdateTopic)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/kafka-2018-11-14/UpdateTopic)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/kafka-2018-11-14/UpdateTopic)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/kafka-2018-11-14/UpdateTopic)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/kafka-2018-11-14/UpdateTopic)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/kafka-2018-11-14/UpdateTopic)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/kafka-2018-11-14/UpdateTopic)
+ [AWS SDK for Python](/goto/boto3/kafka-2018-11-14/UpdateTopic)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/kafka-2018-11-14/UpdateTopic)

### DeleteTopic

+ [AWS Command Line Interface V2](/goto/cli2/kafka-2018-11-14/DeleteTopic)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/kafka-2018-11-14/DeleteTopic)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/kafka-2018-11-14/DeleteTopic)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/kafka-2018-11-14/DeleteTopic)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/kafka-2018-11-14/DeleteTopic)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/kafka-2018-11-14/DeleteTopic)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/kafka-2018-11-14/DeleteTopic)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/kafka-2018-11-14/DeleteTopic)
+ [AWS SDK for Python](/goto/boto3/kafka-2018-11-14/DeleteTopic)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/kafka-2018-11-14/DeleteTopic)