Setting the URL of the portal

Edge for Private Cloud v4.18.05

Apigee provides you with Apigee Developer Services portal (or simply, the portal) that you can use to build and launch your own customized website to provide all of these services to your development community. Edge customers can create their own developer portal, either in the cloud or on-prem. See What is a developer portal? for more information.

The Edge UI displays the DevPortal button on the Publish > Developers page that, when clicked, opens the portal associated with an organization. By default, that button opens the following URL:

http://live-orgname.devportal.apigee.com

Where orgname is the name of the organization.

You can set this URL to a different URL, for example if your portal has a DNS record, or disable the button completely. Use the following properties of the organization to control the button:

  • features.devportalDisabled: Set to false (default) to enable the button and to true to disable it.
  • features.devportalUrl: Set to the URL of the developer portal.

You set these properties separately for each organization. To set these properties, you first use the following API call to determine the current property settings on the organization:

curl -H "Content-Type:application/json" -u adminEmail:pword -X GET \
  http://ms_IP:8080/v1/organizations/orgname

This call returns an object describing the organization in the form:

{
  "createdAt" : 1428676711119,
  "createdBy" : "me@my.com",
  "displayName" : "orgname",
  "environments" : [ "prod" ],
  "lastModifiedAt" : 1428692717222,
  "lastModifiedBy" : "me@my.com",
  "name" : "organme",
  "properties" : {
    "property" : [ {
      "name" : "foo",
      "value" : "bar"
    } ]
  },
  "type" : "paid"
}

Note any existing properties in the properties area of the object. When you set properties on the organization, the value in properties overwrites any current properties. Therefore, if you want to set features.devportalDisabled or features.devportalUrl in the organization, make sure you copy any existing properties when you set them.

Use the following PUT call to set properties on the organization:

curl -H "Content-Type:application/json" -u adminEmail:pword -X PUT \
  http://ms_IP:8080/v1/organizations/orgname \
  -d '{
    "displayName" : "orgname",
    "name" : "orgname",
    "properties" : {
      "property" : [
        {
          "name" : "foo",
          "value" : "bar"
        },
        {
          "name": "features.devportalUrl",
          "value": "http://dev-orgname.devportal.apigee.com/"
        },
        {
          "name": "features.devportalDisabled",
          "value": "false"
        }
      ]
    }
  }'

In the PUT call, you only have to specify displayName, name, and properties. Note that this call includes the "foo" property that was originally set on the organization.