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

> [!NOTE]
> **Note:** Monetization depends on Edge. However, Edge does not initially include the monetization API or integrate monetization into the management UI. You need to purchase the monetization feature to incorporate the monetization API and the monetization UI components into Edge.

The following sections describe how to enable monetization for an organization. The method you
use to enable monetization for an organization depends on whether you are an Edge Cloud or Edge
for Private Cloud customer.

## Apigee Edge Cloud

For Apigee Edge Cloud customers, Apigee will assist you in enabling monetization for your
organization. Contact [Apigee Edge Support](https://docs.apigee.com/api-platform/troubleshoot/support)
for assistance.

## Apigee Edge Private Cloud

**Note**: Ensure that your Edge account has system administrator privileges
before proceeding.

To enable monetization for an organization, issue a POST request to
`/asyncjobs/enablemonetization`.

You must pass the following information in the request body.

| Property | Description |
|---|---|
| `adminEmail` | Default email for monetization notification settings. |
| `mxGroup` | Group used for Apache Qpid and rating servers. The group that you choose depends on capacity requirements, region, and type of organization. For private cloud, set this value to `mxgroup001`. |
| `notifyTo` | Email to notify when monetization has been enabled successfully. |
| `orgName` | Name of the organization. |
| `pgHostName` | Host name for the Postgres database. |
| `pgPassword` | The password for your Postgres monetization user account. |
| `pgPort` | Port for the Postgres database. |
| `pgUserName` | The account name for your Postgres monetization user. |

For example, the following request enables monetization for the `myOrg`
organization, where `ms_IP` is the IP address of the Management Server node
and `port` is the configured port (such as 8443):

```
$ curl -H "Content-Type:application/json" -X POST -d \
'{
   "orgName" : "myOrg",
   "mxGroup" : "mxgroup001",
   "pgHostName" : "pg_hostname",
   "pgPort" : "5432",
   "pgUserName" : "pg_username",
   "pgPassword" : "pg_password",
   "adminEmail" : "myemail@company.com",
   "notifyTo" : "myemail@company.com"
}' \
"https://ms_IP:port/v1/mint/asyncjobs/enablemonetization" \
-u email:password
```

The following provides an example of the response:

```
{
  "id": "c6eaa22d-27bd-46cc-be6f-4f77270818cf",
  "log": "",
  "orgId": "myOrg",
  "status": "RUNNING",
  "type": "ENABLE_MINT"
}
```

After the request is complete, an email is sent to the email configured for the
`notifyTo` property in the request, and the status field will change to one of the
following values: `COMPLETED`, `FAILED`, or `CANCELLED`.

You can check the status of the request by issuing a GET to `/asyncjobs/{id}`.

For example:

```
$ curl -X GET "https://ms_IP:port/v1/mint/asyncjobs/c6eaa22d-27bd-46cc-be6f-4f77270818cf" \
-u email:password

{
  "id": "c6eaa22d-27bd-46cc-be6f-4f77270818cf",
  "log": "",
  "orgId": "myOrg",
  "status": "COMPLETED",
  "type": "ENABLE_MINT"
}
```