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

If you want more control over the companies and developers that participate in your monetized
API program---for example, if you want to create in-house companies and developers for
testing purposes---you can create companies and developers manually with the management UI
and API.

> [!NOTE]
> **Note:** If you want to enable self-service for company and developer management, see [Managing companies and
> developers using the developer portal (self-service)](https://docs.apigee.com/api-platform/monetization/companies-developers-self-service).)

A primary consideration that determines whether you need to create companies and developers manually is
whether or not the developers will need credentials to sign in to the management UI, send
credentials in calls to the Edge management API, or sign in to a developer portal.

- If your monetization developers need login credentials to access the Edge UI or API, they must first have their own Apigee adminstrator account.
- If you need to simply create test developers who don't need credentials (for example, if you want to make API calls with fictitious test developers), no Apigee accounts are required.

## Managing app developers using the UI

Create, manage, and activate app developers using the Edge UI, as described in [Managing app developers](https://docs.apigee.com/api-platform/publish/adding-developers-your-api-product).
After app developers are created, you can add them to companies, as described in the following sections.

## Managing companies using the UI

Create, manage, and activate companies, as described in the following sections.

### Exploring the Companies page

Access the Companies page, as described below.

#### Edge

To access the Companies page using the Edge UI:

1. Sign in to [apigee.com/edge](https://apigee.com/edge).
2. Select **Publish \> Monetization \> Companies** in the left navigation bar.

The Companies page is displayed.

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

As highlighted in the figure, the Companies page enables you to:

- View summary information for all companies, including company name, registration ID, number of registered apps and API keys, billing type, number of developers assigned to the company, and status
- [Add a company](https://docs.apigee.com/api-platform/monetization/companies-and-developers-manage-manually#add)
- [Activate or deactivate a company](https://docs.apigee.com/api-platform/monetization/companies-and-developers-manage-manually#activate)
- [Edit a company](https://docs.apigee.com/api-platform/monetization/companies-and-developers-manage-manually#edit)
- [Delete a company](https://docs.apigee.com/api-platform/monetization/companies-and-developers-manage-manually#delete)
- Search the list of companies

#### Classic Edge (Private Cloud)

> [!NOTE]
> **Note:** The Classic Edge UI is available with Edge for Private Cloud only.

To access the Companies page using the Classic Edge UI:

1. Sign in to `http://ms-ip:9000`, where <var translate="no">ms-ip</var> is the IP address or DNS name of the Management Server node.
2. Select **Publish \> Companies** in the top navigation bar.

The Companies page is displayed.

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

- View the current list of companies
- Manage a company. Specifically add, activate, edit, and delete a company.
- View the connected [developer portal](https://docs.apigee.com/api-platform/publish/drupal/what-developer-portal) (Drupal 7 only)

> [!NOTE]
> **Note:** The steps in the topics that follow are specific to the Edge UI. The Classic Edge UI steps are similar to those described.

### Adding a company

To add a company:

1. [Access the Companies page](https://docs.apigee.com/api-platform/monetization/companies-and-developers-manage-manually#ui).
2. Click **+ Company**.
3. Enter company details. Required fields include:

   - Company Name

     > [!NOTE]
     > **Notes:**
     > - Company names must use a unique sequence of characters, regardless of case. For example, if you create a company named `CompanyA` and subsequently attempt to create a company named `companya`, an error is thrown.
     > - If you use the company with Apigee monetization, the company name must not contain any spaces.
     > - Do not set the company name to \`0\` (number or string). This value is not supported and will cause unexpected results.
     > - For additional requirements for the company name in monetization, see [Naming restrictions for Apigee Edge artifacts](https://docs.apigee.com/api-platform/reference/naming-guidelines).

   - Administrator (the user who is the primary company administrator)
   - Billing Type

   Depending on the monetization billing configuration, the Billing Type may default to
   `PREPAID` or `POSTPAID`. For more information, see [Configure prepaid and postpaid billing types using the API](https://docs.apigee.com/api-platform/monetization/edit-organization-profile#billing-types).
4. Add one or more developers to the company.
   1. In the Developers section, enter a string in the **Add Developer** field to display the list of developers that match the string.
   2. Select a developer from the drop-down list.
   3. Repeat to add additional developers to the company.
5. Add one or more custom attributes.
   1. In the Custom attributes section, click **+ New**.
   2. Enter the name and value of the custom attribute.
   3. Repeat to add additional custom attributes to the company.
6. Click **Create company**.

### Activating and deactivating a company

To activate and deactivate a company:

1. [Access the Company page](https://docs.apigee.com/api-platform/monetization/companies-and-developers-manage-manually#ui).
2. Position the cursor over the company you want to activate and enable ![](https://docs.apigee.com/static/api-platform/images/activatecompany-icon.png) in the actions menu.  
   Disable the toggle to deactivate the company.

### Editing a company

To edit a company:

1. [Access the Company page](https://docs.apigee.com/api-platform/monetization/companies-and-developers-manage-manually#ui).
2. Position the cursor over the company you want to edit and click ![](https://docs.apigee.com/static/api-platform/images/edit-icon.png) in the actions menu.
3. Update the company details, as required.
4. Click **Update company** to save the changes.

### Deleting a company

To delete a company:

1. [Access the Companies page](https://docs.apigee.com/api-platform/monetization/companies-and-developers-manage-manually#ui).
2. Position the cursor over the company that you want to delete and click ![](https://docs.apigee.com/static/api-platform/images/delete-icon.png) in the actions menu.
3. Click **Delete** to confirm the delete operation.

## Managing companies and developers using the API

Using the API to manage companies and developers is described in the following sections.

### Creating and updating companies and developers using the API

To manage companies and developers with the API Edge management API, refer to the following API sections:

- [Create a company](https://apidocs.apigee.com/docs/companies/1/routes/organizations/%7Borg_name%7D/companies/post)
- [Create a developer](https://docs.apigee.com/https://apidocs.apigee.com/docs/developers/1/routes/organizations/%7Borg_name%7D/developers/post)  
  **Note**: Configure monetization information when creating a developer by passing custom attributes.
- [Add or
  update company developers](https://apidocs.apigee.com/docs/company-developers/1/routes/organizations/%7Borg_name%7D/companies/%7Bcompany_name%7D/developers/post)  
  **Note** : Optionally, you can assign a role to the developer, though it is not required. To get a list of developer roles, see [Retrieving developer roles](https://docs.apigee.com/api-platform/monetization/companies-and-developers-manage-manually#getdevrolesapi).
- List monetization configuration for [all developers](https://apidocs.apigee.com/docs/monetization/1/routes/mint/organizations/%7Borg_name%7D/developers/get) or for a [single developer](https://apidocs.apigee.com/docs/monetization/1/routes/mint/organizations/%7Borg_name%7D/developers/%7Bdeveloper_email%7D/get)  
  **Note** : Define the monetization information by passing custom attributes when [creating](https://apidocs.apigee.com/docs/developers/1/routes/organizations/%7Borg_name%7D/developers/post) or [updating](https://apidocs.apigee.com/docs/developers/1/routes/organizations/%7Borg_name%7D/developers/%7Bdeveloper_email%7D/put) a developer. You can view the monetization custom attributes set using the standard (non-monetization) API to list [all developers](https://apidocs.apigee.com/docs/developers/1/routes/organizations/%7Borg_name%7D/developers/get) or [single developer](https://apidocs.apigee.com/docs/developers/1/routes/organizations/%7Borg_name%7D/developers/%7Bdeveloper_email%7D/get).

### Managing developer roles using the API

You can create roles using monetization APIs. This enables you to establish roles for your
partners. For example, you can establish administrator and application developer roles for a
partner. Those roles can then be assigned to specific partner employees.

#### Creating a developer role

To create a developer role, issue a POST request to
`organizations/{org_name}/developer-roles`. When you make the request, you need to
specify in the request body the name and description of the role and the identification of the
organization. For example:

```
$ curl -H "Content-Type:application/json" -X POST -d \
'{
   "name": "appDeveloper",
   "description": "App Developer",
   "organization": {
       "id": "{org_name}"
   }
 }' \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developer-roles" \
-u email:password
```

#### Retrieving developer roles

To retrieve developer roles, issue a GET request to organizations/{org_id}/developer-roles.
For example:

```
$ curl -H "Accept:application/json" -X GET \
"https:// api.enterprise.apigee.com/v1/mint/organizations/{org_name}/developer-roles" \
-u email:password
```

The response should look something like this (only part of the response is shown):

```
{
  "description" : "App Developer",
  "id" : "appdeveloper",
  "name" : "appDeveloper",
  "organization" : {
   ...
  }
}
```

### Developer role configuration settings for the API

The following developer role configuration options are exposed to the API:

| Name | Description | Default | Required? |
|---|---|---|---|
| `name` | The name of the developer role. | N/A | Yes |
| `description` | A description of the developer role. | N/A | Yes |

### Retrieving the tax rate for a developer using the API

> [!WARNING]
> **Deprecated:** The monetization tax engine API is deprecated. See [Apigee deprecations and retirements](https://docs.apigee.com/release/deprecated-features).

You can get the current tax rate for a developer by issuing a GET request to
`organizations/{org_name}/tax-engine`. When you make the request, you need to specify
the identification of the developer as a query parameter. For example:

```
$ curl -H "Accept:application/json" -X GET \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/tax-engine?developerId=dev7@myorg.com" \
-u email:password
```

The response should look something like this:

```
0.09
```

### Performing other developer-specific tasks using the API

Many of the monetization-related tasks that you can perform for an organization, such as
creating rate plans or creating notification conditions, you can also perform for an individual
developer. For example, you can create a bank account for a specific developer or generate a
revenue report for a specific developer.

The following table lists developer-specific tasks that that you can perform using
monetization APIs. The table also lists where you can find detailed instructions on performing
these tasks.

| Task | Where the find instructions |
|---|---|
| View terms and conditions accepted by a developer | [Viewing terms and conditions accepted by a developer or company using the API](https://docs.apigee.com/api-platform/monetization/specify-terms-and-conditions#view-accepted-api) |
| View API packages accepted by a developer | [Viewing API product bundles accepted by a developer or company using the API](https://docs.apigee.com/api-platform/monetization/create-api-packages#getdevpackapi) |
| Create a developer rate plan | [Managing rate plans](https://docs.apigee.com/api-platform/monetization/create-rate-plans) |
| View rate plans available to a developer | [Exploring the rate plans page](https://docs.apigee.com/api-platform/monetization/create-rate-plans#ui) |
| View rate plans available to a specific developer that contain a specific product | [Viewing an accepted rate plan for a developer that contains an API product using the API](https://docs.apigee.com/api-platform/monetization/create-rate-plans#view-accepted-with-product-api) |
| View only accepted developer rate plans | [Viewing all rate plans accepted by a developer using the API](https://docs.apigee.com/api-platform/monetization/create-rate-plans#view-accepted-developer-api) |
| Issue credit to a developer | [Issuing credits](https://docs.apigee.com/api-platform/monetization/manage-credit) |
| Set a credit limit for a developer | [Setting a credit limit using the API](https://docs.apigee.com/api-platform/monetization/manage-postpaid-balances#setcreditlimitapi) |
| View a developer credit limit | [Retrieving a credit limit using the API](https://docs.apigee.com/api-platform/monetization/manage-postpaid-balances#getcreditlimitapi) |
| "Top up" (add an amount to) a developer's prepaid balance | [Manage prepaid account balances](https://docs.apigee.com/api-platform/monetization/manage-prepaid-balances) |
| View a developer's prepaid balance | [Viewing prepaid account balances for a developer](https://docs.apigee.com/api-platform/monetization/manage-prepaid-balances#viewingprepaidaccountbalancesusingtheapi-viewingprepaidaccountbalancesforadeveloper) |
| Set up a notification condition for a developer | [Set up notifications using notification templates](https://docs.apigee.com/api-platform/monetization/set-up-notification-templates) |
| Create and view report definitions for a developer | [Manage reports](https://docs.apigee.com/api-platform/monetization/create-reports) |