Send Docs Feedback

Managing app developers

Edge provides many benefits that are completely dependent on knowing who's calling your APIs. For example, API security, traffic management, and a fair amount of analytics data depend on knowing who's calling. And how does Edge know who's calling your APIs? By reading unique information in each API call, such as a user ID, an API key, or an OAuth token. That unique information locks or unlock the functionality you build into your API proxies, giving you full control over API access and behavior.

That's why app developers need to register to use your APIs. Once added, developers register their apps, choose the APIs they want to use, and receive the unique API credentials (consumer keys and secrets) needed to access your APIs.

This topic covers how to register and manage your app developers. (App registration is a separate process covered in Register apps and manage API keys).

API security, traffic management, and developer/app analytics are dependent on proper API proxy configuration. For example, you need to add the right policies to your proxies, such as API key validation or OAuth access token verification, quota enforcement, and rate limiting. Those policies identify which specific developer and app is making the call, which in turn enables API security enforcement, developer- or app-specific traffic management, API analytics capture, and other functionality. Technically, you could develop open APIs that don't check for API keys or access tokens, which means you wouldn't really need to register developers. But we strongly discourage this, because you lose API security, lose control over performance (through good traffic management), lose out on analytics data, and miss out on other major benefits that Edge provides.

You can register developers in a number of ways:

  • If you have a paid Edge account, develpers can self-register through a Developer Services portal. See Add and manage user accounts.
  • By accessing a form that uses the Edge management API to register the developer. See Using the Edge management API to Publish APIs for more.
  • As an API provider, your administrative users can add developers in the Edge management UI, described below.

In the Edge management UI, select Publish > Developers to open the Developers page. You can see the apps they've created and the keys assigned to the developer. From this page, you can also manage the developer's information or delete them from your org.

You can access the Drupal-based Developer Services portal from this page by clicking Dev Portal. If you have not created a developer services portal and wish to, click Submit a request in the dialog box to be redirected to a page that describes how to set up a developer portal.

If you use the Drupal-based Developer Services portal, Apigee recommends that you log into the portal as a portal administrator to manually create, edit, and delete developers on the portal, not in the Edge UI. When you add a developer through the administrator interface on the portal, you can set the developer's password for the portal and trigger an automated email message sent to the developer. Also, any changes made to the developer's account on the portal are automatically sent to Edge. When adding or modifying a developer through Edge, no email is sent to the developer and you cannot set the password for the developer on the portal. Therefore, the developer must reset their password on the portal before they can log into the portal. For more information, see Add and manage user accounts.

Adding developers using the Edge management UI

If you use the Developer Services portal, Apigee recommends that you create, edit, and delete developers on the portal itself, not in the Edge management UI. For more information, see Add and manage user accounts.

  1. Log into the Edge management UI at https://enterprise.apigee.com.
  2. Click Publish > Developers in the menu.
  3. Click the add (+) Developer button.
  4. Enter the first name of your developer.
  5. Enter the last name of your developer.
  6. Enter the developer's email. This the email address you use when sending keys and notifications to this developer.
  7. Add any custom attributes for the developer. You can add up to 18 of them. For each custom attribute:
    • Click (+) Add Custom Attribute.
    • Enter the attribute name and value.
    For information about defining monetization attributes, see Defining monetization attributes.
  8. Select Save.
  9. If you are using the Developer Services portal, synchronize the portal with the changes to Edge as described below. When the new developer first logs in to the portal, they must use the password recovery process on the portal to set their portal password.

Editing a developer using the Edge management UI

If you use the Developer Services portal, Apigee recommends that you create, edit, and delete developers on the portal itself, not in the Edge management UI. For more information, see Add and manage user accounts.

  1. Login to the Edge management UI at https://enterprise.apigee.com.
  2. Click Publish > Developers in the menu.
  3. Click the developer's entry in the Developers page.
  4. Click Edit.
  5. Edit the developer's first and last name, as needed.
  6. Add or remove any custom attributes.

    For information about defining monetization attributes, see Defining monetization attributes.

  7. Select Save.
  8. If you are using the Developer Services portal, synchronize the portal with the changes to Edge as described below.

Deactivating a developer

When you deactivate a developer, none of that developer's API keys can be used to make API calls to Edge. The developer can still log into the developer portal and create apps, but none of the corresponding keys will work. The developer's apps still retain their approved (or other) status, as do the API keys, even though they're not valid while the developer is inactive.

When a developer is inactive, and you view the Developer App Details page for each of the developer's apps in the management UI, the status label on the app and API keys appears in strikethrough text (Approved or Revoked); and if you mouse over the label, the tooltip says the developer is inactive. If you reactivate a developer, the strikethrough disappears, and approved apps and API keys are valid again.

If the developer is in multiple organizations, perform these steps in each organization.

Deactivate a developer in the management UI

  1. Go to Publish > Developers > [developer] > Edit.
  2. Click Deactivate in the Status field.
  3. Click Save.

After deactivation, it may take a few minutes for the change to be updated on all message processors. Until then, some calls by the developer's app may continue to make it through successfully.

Deactivate a developer with the management API

See Set Developer Status to set the developer's status to inactive.

You can re-activate a developer by editing the developer in the management UI and clicking Activate, or by using the management API and setting the developer's status to active. Again, it may take a few minutes for the change to be recognized by all message processors.

Deleting a developer using the Edge management UI

If you use the Developer Services portal, Apigee recommends that you create, edit, and delete developers on the portal itself, not in the Edge management UI. For more information, see Add and manage user accounts.

  1. Login to the Edge management UI at https://enterprise.apigee.com.
  2. Click Publish > Developers in the menu.
  3. Locate the developer to delete in the list of developers.
  4. If the number of Apps for the developer is zero, then the Delete button is enabled.
    • Select the Delete button to delete the user. 
    • Confirm that you want to delete the developer.
  5. If the number of Apps for the developer is not zero, then the Delete button is disabled. You must first delete all apps associated with the developer before you can delete the developer.
    • Click the developer's entry in the Developers page.
    • Under Apps on the developer's page, select the app name.
    • Select Delete on the app's page, and confirm the deletion.
    • After deleting all the developer's apps, you can delete the developer. 
  6. If you are using the Developer Services portal, synchronize the portal with the changes to Edge as described below.

Synchronizing the portal with developers modified using the Edge UI

If you are using a Developer Services portal to publish your APIs, changes made to developers through the Edge UI are not pushed down to the portal. Therefore, you must log into the portal as a portal administrator and synchronize the portal with Edge for those changes to appear on the portal.

If you use the Developer Services portal, Apigee recommends that you create, edit, and delete developers on the portal itself, not in the Edge UI. For more information, see Add and manage user accounts.

To synchronize the portal with a developer added on Edge:

  1. Log into your portal as a user with admin or content creation privileges.
  2. Select People in the Drupal administration menu.
  3. Select the Dev Portal Developer Sync button at the top of the page to pull down any developers added on Edge.

Grouping developers into companies

With monetization, a company is a collection of developers managed as a single entity. A company can be any grouping that is appropriate to your organization such as business unit, product line, or division. Grouping developers into companies is useful when your need to have multiple developers associated under a single corporate entity. For example, you may need to set up different companies for billing purposes. However, developers in your organization don't need to be associated with a company. Note that a developer is always a single entity, uniquely identified by the email element. If a developer is part of a company you'll see the Company name on the Developers page. 

For more information about managing companies and developers for monetization, see Manage companies and developers. To use the Edge management API, use the Companies API to set up a company group and the Company Developers API to add developers to the company. 

Defining monetization attributes

When adding or editing developers in your organization, you can define one or more of the monetization attributes listed in the following table as custom attributes.

In order to subscribe to a rate plan, if the developer is not grouped with a company, then the following monetization attributes must be defined for the developer: MINT_DEVELOPER_ADDRESS and MINT_DEVELOPER_LEGAL_NAME.
Name Description
MINT_APPROX_TAX_RATE Approximate tax rate for the developer.
MINT_BILLING_TYPE

Payment model used for billing. For more information, see Understanding billing types.

The value can be one of the following:

  • PREPAID - The developer pays in advance for the use of an API product. Funds are deducted from the developer's balance when the API product is used. The developer must maintain a prepaid balance sufficient to purchase the API product.
  • POSTPAID - The developer is billed monthly (through an invoice) for the use of API products. The developer pays for the use of API products based on the payment terms set by the plan(s) included on the invoice.
  • BOTH - Defaults to PREPAID.
MINT_COMPANY_ID Company ID, if applicable. For more information, see Grouping developers into companies.
MINT_DEVELOPER_ADDRESS

Address of the developer. Specify the following name-value pairs:

{
   "address1":"Dev One Address",
   "city":"Pleasanton",
   "country":"US",
   "isPrimary":true,
   "state":"CA",
   "zip":"94588"
}

 

Note: This attribute is required if the developer is not grouped with a company and wants to subscribe to a published rate plan.

MINT_DEVELOPER_CATEGORY Developer category to which you want to add the developer. A developer category is a grouping of developers or companies with similar characteristics. For more information, see Manage developer categories.
MINT_DEVELOPER_LEGAL_NAME Legal name of the developer that will be used in all reports.
Note: This attribute is required if the developer is not grouped with a company and wants to subscribe to a published rate plan.
MINT_DEVELOPER_PHONE Phone number for the developer.
MINT_DEVELOPER_TYPE Developer type. Valid values include: TRUSTED or UNTRUSTED
MINT_HAS_SELF_BILLING Flag that specifies whether self-billing invoices are enabled. If enabled (true), monetization generates a self-billing invoice instead of a revenue share statement. A self-billing invoice is a financial document that details the amount due to the developer. It acts as an invoice to the API Provider on behalf of the developer.
MINT_IS_BROKER Flag that specifies whether the revenue is based on net.
MINT_REGISTRATION_ID Registration ID of developer for use in all reports.
MINT_SUPPORTED_CURRENCY Specifies the ISO 4217 code for the "base" or accounting currency that the developer uses (such as USD for Unites States dollar).
MINT_TAX_EXEMPT_AUTH_NO Government tax exemption number, if applicable.

 

Help or comments?