<a id="crest-prod-deploy"></a>

# Deploy Confluent REST Proxy in a Production Environment for Confluent Platform

Deploying REST Proxy in a production environment involves the following steps that ensure
high availability, scalability, and security of the REST interface to your
Apache Kafka® cluster. Confluent REST Proxy provides a RESTful interface to a Kafka cluster,
making it easier for your applications to produce and consume messages without
needing a native Kafka client.

Refer to the following information for details about using REST Proxy with Confluent Server and
as a standalone service.

* [Overview](overview.md)
* [Deploy REST Proxy for Confluent Server](confluent-server/index.md)
* [Deploy a Standalone REST Proxy node](rest-proxy/overview.md)

## Confluent Server and Standalone REST API differences

There is a difference between the REST APIs available on Kafka brokers deployed
with Confluent Server and the REST APIs available with Standalone REST Proxy. Confluent Server provides
several REST APIs that are not available in the open-source Apache Kafka® distribution
provided with Standalone Kafka REST Proxy. The following REST API endpoints are
only available with a Confluent Server deployment:

### **Configs**

```bash
/clusters/{cluster_id}/topics/{topic_name}/default-configs
```

### **Broker**

```bash
/clusters/{cluster_id}/brokers:delete
```

```bash
/clusters/{cluster_id}/brokers/{broker_id}:unregister
```

The GET version of the following endpoint is available in open-source Kafka
REST APis. The DELETE option is available only with REST that runs with a Confluent Server
deployment.

```bash
/clusters/{cluster_id}/brokers/{broker_id}
```

### **Cluster Linking**

```bash
/clusters/{cluster_id}/links
/clusters/{cluster_id}/links/{link_name}
/clusters/{cluster_id}/links/{link_name}/configs
/clusters/{cluster_id}/links/{link_name}/configs/{config_name}
/clusters/{cluster_id}/links/{link_name}/configs:alter
/clusters/{cluster_id}/links/{link_name}/mirrors
/clusters/{cluster_id}/links/-/mirrors
/clusters/{cluster_id}/links/{link_name}/mirrors/{mirror_topic_name}
/clusters/{cluster_id}/links/{link_name}/mirrors:promote
/clusters/{cluster_id}/links/{link_name}/mirrors:failover
/clusters/{cluster_id}/links/{link_name}/mirrors:pause
/clusters/{cluster_id}/links/{link_name}/mirrors:resume
```

### **BalancerStatus**

```bash
/clusters/{cluster_id}/balancer
/clusters/{cluster_id}/balancer/any-uneven-load
```

### **BrokerTask**

```bash
/clusters/{cluster_id}/brokers/-/tasks
/clusters/{cluster_id}/brokers/{broker_id}/tasks
/clusters/{cluster_id}/brokers/-/tasks/{task_type}
/clusters/{cluster_id}/brokers/{broker_id}/tasks/{task_type}
```

### **BrokerReplicaExclusion**

```bash
/clusters/{cluster_id}/broker-replica-exclusions
/clusters/{cluster_id}/broker-replica-exclusions/{broker_id}
/clusters/{cluster_id}/broker-replica-exclusions:create
/clusters/{cluster_id}/broker-replica-exclusions:delete
```

### **RemoveBrokerTask**

```bash
/clusters/{cluster_id}/remove-broker-tasks
/clusters/{cluster_id}/remove-broker-tasks/{broker_id}
```

### **ReplicaStatus**

```bash
/clusters/{cluster_id}/topics/-/partitions/-/replica-status
/clusters/{cluster_id}/topics/{topic_name}/partitions/-/replica-status
/clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}/replica-status
```

REST that runs with a Confluent Server deployment provides the full set of REST APIs. REST
that runs in a Standalone deployment consists of the open-source Kafka REST APIs
only. For more information about the open-source Kafka REST APIs available, see
[Kafka REST Proxy](https://github.com/confluentinc/kafka-rest#kafka-rest-proxy) and the
[openapi yaml](https://github.com/confluentinc/kafka-rest/blob/master/api/v3/openapi.yaml).

## Suggested resources

* [Kafka Connect’s REST API](https://developer.confluent.io/courses/kafka-connect/rest-api/)
* [Getting Started with Apache Kafka and Confluent REST Proxy](https://developer.confluent.io/get-started/rest/)
