---
name: azion-enable-products-on-an-application
description: >-
  Enable Application Accelerator, Image Processor, or Functions on an application from Azion Console, the Azion CLI, or the API, then read its state.
---

# Enable Products on an application

You can enable the Products an [application](/en/documentation/platform/applications/) runs from Azion Console, the Azion CLI, or the API. Each Product adds variables and behaviors that the rules of the application can use. To create the application itself, in front of your origin, refer to [Applications quickstart](/en/documentation/platform/applications/quickstart/).

Protocols, ports, and TLS settings belong to the [workload](/en/documentation/platform/workloads/) that serves the application. The workload also carries the domains that reach it.

---

Choose your interface once. The prerequisites and each procedure on this page follow that choice.

## Prerequisites

An application. To create one, refer to [Applications quickstart](/en/documentation/platform/applications/quickstart/).

**Console**

- Access to Azion Console. To sign in, refer to [Access Azion Console](/en/documentation/guides/platform/account-and-billing/how-to-access-azion-console/).

**CLI**

- The Azion CLI, installed and authorized with your account. The commands on this page match Azion CLI 4.23.0. For more information, refer to [Azion CLI](/en/documentation/devtools/cli/).
- The ID of the application. Azion Console shows it in the address of the application's page, after `/applications/edit/`.

**API**

- A personal token, sent in the `Authorization` header as `Token [TOKEN VALUE]`. To create one, refer to [Manage a personal token](/en/documentation/guides/platform/account-and-billing/personal-tokens/).
- `curl`, or another HTTP client.
- The ID of the application. Azion Console shows it in the address of the application's page, after `/applications/edit/`.

---

## Enable a Product on the application

A new application runs Cache and Functions. Application Accelerator and Image Processor stay off until you enable them. Azion Console labels Cache "Automatically enabled in all accounts."

Each Product changes what the rules and settings of the application can do:

- **Application Accelerator** adds the `${request_uri}` variable and other Rules Engine options. It also lets a cache setting vary by query string, cookies, device group, and request method. A cache setting can then take a **Max Age** below 60 seconds. Data transfer through Application Accelerator can generate usage-related costs. For more information, refer to [Application Accelerator settings](/en/documentation/platform/applications/application-accelerator/settings/) and [Pricing](/en/documentation/fundamentals/pricing/).
- **Image Processor** adds the **Optimize Images** behavior, which edits images as the application delivers them. For more information, refer to [Image Processor quickstart](/en/documentation/platform/applications/image-processor/quickstart/).
- **Functions** lets you instantiate a function on the application and run it with the **Run Function** behavior. For more information, refer to [Instantiate a function on an application](/en/documentation/guides/application-development/getting-started/instantiate-functions/).

In Azion Console, a Rules Engine option that needs a Product carries a note such as `- Required Image Processor`.

**Console**

To enable a Product in Azion Console:

1. **Open the application**

   Access [Azion Console](https://console.azion.com/) > **Applications**, then select your application.

2. **Select the Main Settings tab**

3. **Turn on the Product**

   In **Modules**, under **Default Modules**, turn on the Product, such as **Application Accelerator**.

4. **Select Save**

The application runs the Product, and its rules can use the variables and behaviors the Product adds. The **Main Settings** tab also holds a **Subscription modules** group, with a **Contact sales** action.

**CLI**

To enable Application Accelerator with the Azion CLI, run `azion update application` with your application ID in place of `<application-id>`:

```bash
azion update application --application-id <application-id> --application-accelerator true
```

The command confirms the update:

```text
Updated Application with ID <application-id>
```

The same command takes `--image-processor true` to enable Image Processor, and `--functions true` to enable Functions.

**API**

To enable Application Accelerator with the API, send a `PATCH` request to your application. The body names the Product inside `modules`:

```bash
curl --request PATCH \
  --url https://api.azion.com/v4/workspace/applications/<application-id> \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN VALUE]' \
  --header 'Content-Type: application/json' \
  --data '{
  "modules": {
    "application_accelerator": {
      "enabled": true
    }
  }
}'
```

The API answers `202` with `"state": "pending"` and returns the application. Its `modules` object lists `cache`, `functions`, `application_accelerator`, and `image_processor`, each with an `enabled` value. To enable Image Processor or Functions, name `image_processor` or `functions` in `modules` instead.

---

## Read the Products an application runs

The application reports its Products in Azion Console, in the CLI, and in the API. Read them after an update to confirm which Products are enabled.

**Console**

Open the **Main Settings** tab of the application. Under **Modules**, the toggle of each enabled Product is on.

**CLI**

To read the application with the Azion CLI, run `azion describe application`:

```bash
azion describe application --application-id <application-id>
```

The output carries a `modules` object. An application that runs all four Products returns:

```json
"modules": {
  "application_accelerator": { "enabled": true },
  "cache": { "enabled": true },
  "functions": { "enabled": true },
  "image_processor": { "enabled": true }
}
```

**API**

To read the application with the API, send a `GET` request to it:

```bash
curl --request GET \
  --url https://api.azion.com/v4/workspace/applications/<application-id> \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN VALUE]'
```

The API answers `200` and returns the application with its `modules` object. On a new application, `cache` and `functions` report `"enabled": true`, and `application_accelerator` and `image_processor` report `"enabled": false`.

---

## Next steps

- [Create an application rule](/en/documentation/guides/application-development/getting-started/work-with-rules-engine.md): Apply a cache setting to one path with a rule, from Azion Console, the Azion CLI, or the API.
- [Create a cache setting](/en/documentation/guides/application-performance/cache-and-purge/tune-cache-settings.md): Define how browsers and Azion cache content, then activate the setting with a rule.
- [Create device groups](/en/documentation/guides/application-development/getting-started/create-device-groups.md): Group devices by User-Agent to manage application behaviors and cache policies for each group.
- [Connect an application to an origin](/en/documentation/guides/application-development/getting-started/work-with-origins.md): Set the address and Host header the application uses to retrieve content from your origin.
- [Instantiate a function on an application](/en/documentation/guides/application-development/getting-started/instantiate-functions.md): Run a function on the requests of the application through a Run Function rule.
- [Main Settings](/en/documentation/platform/applications/main-settings.md): The General, Modules, Debug Rules, and Status sections of an application.
