You're viewing **Apigee Edge** documentation.  
[Go to the
**Apigee X** documentation](http://cloud.google.com/apigee/docs/api-platform/deploy/ui-deploy-new). info

All organizations in Apigee Edge, by default, have two environments: `test` and
`prod`. The naming is arbitrary. These
environments are merely designed to provide you with one area to work on and test API changes,
and another area where APIs are exposed to apps.

Depending on your role, you may not be able to deploy to all environments. Users can only
deploy to the `test` environment. If you're an administrator you can deploy to any
environment.

## Deployment options

You can deploy proxies as revisions or versions. These are distinct concepts, as explained
next.

### About revisions

Each environment in an organization can only have one deployed revision of an API proxy. It is
common to have a proxy revision in `prod` while another revision is
in `test` as it's being tested or developed. For example, you could have
revision 1 deployed in `test` and revision 20 deployed
in `prod`. You can view
deployment of all revisions on the Overview page of the API proxy editor.

![](https://docs.apigee.com/static/api-platform/images/proxy_revisions.png)

When you create a new revision of an API proxy without changing its base path, then deploy it
to an environment in which it's already deployed, the previous version is undeployed and the new
revision is deployed in its place. Note that deployment through the management UI might impact
inbound calls. To handle and transition inbound calls more gracefully during deployment, use the
management API. See the section on seamless deployment in [Deploy API proxies using the
management API](https://docs.apigee.com/api-platform/deploy/deploy-api-proxies-using-management-api).

The revisions feature in Apigee Edge is not designed to be used as a source control system.
Use your existing source code repository and software development life cycle (SDLC) processes
to manage changes to and retain history for your API proxies. Think of revisions in Edge as
a way to quickly view or deploy different revisions of an API proxy.
There is a limit of 50 API proxy revisions that can be
retained in history in Apigee Edge, as documented in the
[Limits](https://docs.apigee.com/api-platform/reference/limits) topic. When you reach the limit, you should
[back up](https://docs.apigee.com/api-platform/fundamentals/download-api-proxies) and delete older
revisions you no longer want to retain in history in Apigee Edge before creating new
revisions.

### About versions

Edge supports multiple version deployments of a proxy in a single environment. Each version
must have a different base path (for example `/v1` and `/v2`).

> [!WARNING]
> **Deploying multiple revisions of a proxy to the same environment**   
> It is currently possible to deploy multiple revisions of an API proxy in the same environment if they have different base paths. However, this capability is deprecated. In the future, deploying revisions of the same proxy to the same environment concurrently will be forbidden. At that time, any new deployment will replace the older deployment.

## Deploying and undeploying an API proxy

> [!NOTE]
> **Note** : The size limit of an API proxy bundle is 15 MB.
> The size limit is 250 MB for API proxies using
> the [hosted targets](https://docs.apigee.com/api-platform/hosted-targets/hosted-targets-overview) feature.

To deploy (or undeploy) an API proxy in the management UI:

1. In the API proxy editor, select the revision you want to deploy (or undeploy).
2. Click **Deployment \> {environment}** and respond to the confirmation dialog.

   ![](https://docs.apigee.com/static/api-platform/images/proxy_deploy.png)
   If the API proxy base path is the same as another deployed revision in that environment, the former revision is undeployed and the new revision is deployed in its place.  
   For deploying multiple versions in the same environment, see the next section.

> [!NOTE]
> **Note:** You can also undeploy a revision by performing the previous steps on an already deployed revision, indicated by a green dot next to the environment name.