> ## Documentation Index
> Fetch the complete documentation index at: https://upstash-fix-issues-on-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Kafka Cluster

> This endpoint gets details of a Kafka cluster. 

## URL Parameters

<ParamField path="id" type="string" required>
  The ID of the Kafka cluster
</ParamField>

## Response Parameters

<ResponseField name="cluster_id" type="string">
  ID of the created Kafka cluster
</ResponseField>

<ResponseField name="name" type="string">
  Name of the Kafka cluster
</ResponseField>

<ResponseField name="region" type="string">
  The region the Kafka cluster is deployed in
</ResponseField>

<ResponseField name="type" type="string">
  Shows whether the cluster is free or paid
</ResponseField>

<ResponseField name="multizone" type="boolean">
  Whether the multizone replication is enabled for the cluster or not
</ResponseField>

<ResponseField name="tcp_endpoint" type="string">
  TCP endpoint to connect to the Kafka cluster
</ResponseField>

<ResponseField name="rest_endpoint" type="string">
  REST endpoint to connect to the Kafka cluster
</ResponseField>

<ResponseField name="state" type="string">
  Current state of the cluster(active, deleted)
</ResponseField>

<ResponseField name="username" type="string">
  Username to be used in authenticating to the cluster
</ResponseField>

<ResponseField name="password" type="string">
  Password to be used in authenticating to the cluster
</ResponseField>

<ResponseField name="max_retention_size" type="int">
  Max retention size will be allowed to topics in the cluster
</ResponseField>

<ResponseField name="max_retention_time" type="int">
  Max retention time will be allowed to topics in the cluster
</ResponseField>

<ResponseField name="max_messages_per_second" type="int">
  Max messages allowed to be produced per second
</ResponseField>

<ResponseField name="creation_time" type="int">
  Cluster creation timestamp
</ResponseField>

<ResponseField name="max_message_size" type="int">
  Max message size will be allowed in topics in the cluster
</ResponseField>

<ResponseField name="max_partitions" type="int">
  Max total number of partitions allowed in the cluster
</ResponseField>

<RequestExample>
  ```shell curl
  curl -X GET \
    https://api.upstash.com/v2/kafka/cluster/:id \
    -u 'EMAIL:API_KEY'
  ```

  ```python Python
  import requests

  response = requests.get('https://api.upstash.com/v2/kafka/cluster/:id', auth=('EMAIL', 'API_KEY'))
  response.content
  ```

  ```go Go
  client := &http.Client{}
  req, err := http.NewRequest("GET", "https://api.upstash.com/v2/kafka/cluster/:id", nil)
  if err != nil {
      log.Fatal(err)
  }
  req.SetBasicAuth("email", "api_key")
  resp, err := client.Do(req)
  if err != nil {
      log.Fatal(err)
  }
  bodyText, err := ioutil.ReadAll(resp.Body)
  if err != nil {
      log.Fatal(err)
  }
  fmt.Printf("%s\n", bodyText);
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK
  {
      "cluster_id": "9bc0e897-cbd3-4997-895a-fd77ad00aec9",
      "name": "test_kafka_cluster",
      "region": "eu-west-1",
      "type": "paid",
      "multizone": true,
      "tcp_endpoint": "sharing-mastodon-12819-eu1-kafka.upstashdev.com",
      "rest_endpoint": "sharing-mastodon-12819-eu1-rest-kafka.upstashdev.com",
      "state": "active",
      "username": "c2hhcmluZy1tYXN0b2Rvbi0xMjgxOSRV1ipriSBOwd0PHzw2KAs_cDrTXzvUKIs",
      "password": "zlQgc0nbgcqF6MxOqnh7tKjJsGnSgLFS89uS-FXzMVqhL2dgFbmHwB-IXAAsOYXzUYj40g==",
      "max_retention_size": 1073741824000,
      "max_retention_time": 2592000000,
      "max_messages_per_second": 1000,
      "creation_time": 1643978975,
      "max_message_size": 1048576,
      "max_partitions": 100
  }
  ```
</ResponseExample>
