Send Docs Feedback

Managing companies and developers using Edge

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.

If you want to enable self-service for company and developer management, see Managing companies and developers using the developer portal (self-service).)

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

  • If your monetization developers need login credentials, they must first have their own Apigee account. Further, if they need to make management API calls, you'll also need to add them as admin users.
    or
  • 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 needed.

This topic also provides information on developer roles and other developer-specific tasks.

Manually managing companies and developers using the UI

To create a new developer and company with the management UI:

  1. Select Publish > Companies.
  2. Click + Company.
    Required fields are Company Name, Administrator (the user who is the primary company administrator), and Billing Type.

    Depending on the monetization billing configuration, the Billing Type may default to PREPAID or POSTPAID. For more information about the billing types and how to configure the default, see Understanding billing types.
  3. ​Click Save.

  4. If the developer already has an Apigee account, skip to the next procedure.
  5. Select Publish > Developers.
  6. Click + Developer.
  7. In the Companies field of the New Developer window, select the company. This associates the developer with a company.
  8. Enter the remaining details of the developer.

    Username appears in reports to identify user line items, and as a greeting in email notifications. Also, if the developer registers in the Edge developer portal, the username they provide during registration is used as the Drupal username and as a link in the portal's company selector drop-down.

  9. Click Save.

Manually managing companies and developers using the API

To create a company and a developer with the management API:

  1. Create a new company with this API:
    Create Company
    Note that the standard Edge /companies API is used, so there is no */mint/* in the URI.
  2. Create a new developer with this API:
    Create Developer
    Note that the standard Edge /developers API is used, so there is no */mint/* in the URI.
  3. Add the developer to a company, if desired, using this API:
    Add or Update Company Developers
    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.

With the developer added to the company, you should be able to verify it in the management UI (Publish > Developers and Publish > Companies).

From here, you can create apps and generate API keys for developers, add the apps to API products, and add the API products to API packages to allow API calls made by the developers to be included in monetization.

Related topics

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

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
Create a developer bank account

"Adding a bank account" section in Add bank accounts.

Retrieve terms and conditions accepted by a developer

"Retrieving terms and conditions accepted by a developer" section in Specify terms and conditions.

Retrieve developer bank accounts

"Retrieving bank accounts" section in Add bank accounts.

Retrieve API packages accepted by a developer

"Retrieving API packages accepted by a developer" section in Create API packages.

Create a developer rate plan

"Creating a rate plan" section in Create rate plans.

Retrieve rate plans available to a developer

View rate plans.

Retrieve rate plans available to a specific developer that contain a specific product

"Viewing all active rate plans for a developer that contain an API product using the API" section in Create rate plans.

Retrieve only accepted developer rate plans

"Viewing all rate plans accepted by a developer using the API" section in View rate plans.

Issue credit to a developer

"Issuing a credit" section in Issuing credits.

Set a credit limit for a developer

"Setting a credit limit" section in Issuing credits.

Retrieve a developer credit limit

"Retrieving a credit limit" section in Issuing credits.

"Top up" (adding an amount to) a developer’s prepaid balance

"Topping up a prepaid balance" section in Manage prepaid account balances.

Retrieve a developer's prepaid balance

"Retrieving a prepaid balance" section in Manage prepaid account balances.

Specify a notification condition for a developer

"Specifying a notification condition and action" section in Set up notifications using notification templates.

Retrieve billing document months for a developer

"Retrieving billing document months" section in Create billing documents.

Create report definitions for a developer

"Creating a report definition" section in Create reports.

Retrieve report definitions for a developer

"Retrieving report definitions" section in Create reports.

 

Help or comments?