> [!CAUTION]
> **Caution:** This documentation covers Edge for Private Cloud 4.19.06, which is no longer supported. Google does not provide security patches, bug fixes, or technical support for this version. The current supported version is 4.54.00. See the [Edge for Private Cloud documentation](https://docs.apigee.com/private-cloud/latest/overview) for the current version, or [All versions](https://docs.apigee.com/private-cloud/versions) to compare releases.

By default, Edge uses to deploy API proxies. While this mode works very well for most
installations, larger topologies with many s might experience timeouts when a large number
of concurrent calls are made via RPC. Apigee plans to deprecate this implementation in the
future.

As a result, Apigee recommends that larger deployments use HTTP rather than RPC for
deployment.

In addition to potentially providing greater reliability, enabling HTTP deployment also improves
the content and format of exceptions that might be thrown during the deployment process.

This section describes how to enable HTTP for deployment.

## Update your organization

To enable HTTP deployment, send a `PUT` request to the
[Update organization properties API](https://apidocs.apigee.com/docs/organizations/1/routes/organizations/%7Borg_name%7D/post). Set the following properties in the body of the request:

| Property | Description |
|---|---|
| `allow.deployment.over.http` | Determines whether Edge can deploy API proxies via HTTP (in addition to RPC). Set to `true` to allow HTTP deployment; otherwise, `false`. The default is `false`. To enable HTTP deployments, you must set this property to `true`. |
| `use.http.for.configuration` | Specifies which method to use for configuration events. Possible values are: - `never`: All config events use RPC. This is the default. - `retry`: All config events use RPC first; if an event fails via RPC, Edge tries HTTP. This can cause delays if you should be using HTTP. - `always`: All config events use HTTP. To enable HTTP deployments, Apigee recommends setting this property to `always`. |

In addition to setting these properties in the body of the message, you must set
the `Content-Type` header to `application/json` or
`application/xml`.

The following example calls the [Update organization properties API](https://apidocs.apigee.com/docs/organizations/1/routes/organizations/%7Borg_name%7D/post) with a JSON message
body.

> [!NOTE]
> **Note:** When updating properties, you must pass all existing properties to the API, even if they are not being changed. If you omit existing properties from the payload in this API call, the properties are removed. To get the current list of properties for the environment, use the [Get organization API](https://apidocs.apigee.com/docs/organizations/1/routes/organizations/get).

```
curl -u admin_email:admin_password
  "http://management_server_IP:8080/v1/organizations/org_name"
  -X POST -H "Content-Type: application/json" -d
  '{
    "properties" : {
      "property" : [
      {
        "name" : "allow.deployment.over.http",
        "value" : "true"
      },
      {
        "name" : "use.http.for.configuration",
        "value" : "always"
      } ]
    }
  }'
```

> [!NOTE]
> **NOTE:** After enabling HTTP deployment, wait about 10 minutes for the changes to take effect. Before the changes take effect, all deployment events continue to use RPC. After that, deployment events should use HTTP.

To enable HTTP deployment on all API proxies across all your organizations, you must update each
organization as described above.

## Test the update

To test that your update was successful, trigger a deployment event on an API proxy in the
updated organization and then look at the Message Processor's log files. The log entry for the
deployment events should contain `mode:API`.

For more information, see [Log files](https://docs.apigee.com/private-cloud/v4.19.06/installation-overview#filesystemstructure-logfiles).

*[MP]: Message Processor
*[RPC]: Remote Procedure Call