Additional catalog options

The additional configuration options for your Catalog.

Transferring the catalog ownership

To transfer ownership of the Catalog to a different user, perform the following steps:

  1. Click Catalog settings and select Overview.
  2. Click Edit.
  3. From Select owner user, select the user who will become the new owner.
  4. If Spaces are enabled in the Catalog then to also have the ownership of all Spaces in the Catalog transferred to the new Catalog owner, select Also transfer ownership of owned Spaces.
  5. Click Save to save the changes.
Note:
  • To have permission to change the Catalog owner, you must be either the Catalog owner, or the owner of the provider organization that contains the Catalog.
  • When the ownership changes, the new owner is assigned administration privileges for the Catalog, and the previous owner has their administration privileges removed. If required, you can restore the privileges to the previous owner as described in Managing Catalog membership.
  • The ownership can be transferred only to a user who is already a member of the Catalog. To transfer to a new user or another existing user, that user must previously have been added or invited to the Catalog, as described in Managing Catalog membership.

Configuring the publish validations

To configure the publish validations that are performed when a Product is published, perform the following steps:

  1. Click Catalog settings and select Publish validations.
  2. Click Edit, and select or clear the validation check boxes as required.
    Note: The following validation options can be selected:
    • Publishing APIs with empty paths is not allowed.
    • Validate custom policy schema in assembly.
    • Validate the references inside the API and perform additional OpenAPI validations.
    • Publishing APIs with duplicate base paths is not allowed.
  3. Click Save to save the changes.

Configuring the vanity API endpoints

For any API, there are two possible endpoints to consider:
  • The gateway endpoint at which the API is invoked.
  • The endpoint that is visible to the consumer in the Developer Portal.
If you do not configure vanity endpoints, these two endpoints are the same, and point to the gateway endpoint at which an API is invoked.

To have an endpoint visible to the consumer that is different to the gateway endpoint, you configure a vanity endpoint. A vanity endpoint represents the endpoint by which an API is known externally; that is, the endpoint that is published to the Developer Portal and is used by an application developer to invoke the API. The way in which the gateway endpoints for an API are determined depends on the OpenAPI version of the API, as follows:

(OpenAPI 2.0): For any enforced API in API Connect, the gateway endpoint formats for the API are as follows:
  • If the OpenAPI definition has no host field, the API endpoint has the following format:
    https://gateway_service_host/provider_organization/catalog/basepath
  • If the OpenAPI definition has a host field (for example, petstore.com), the host is appended to the path after the provider_organization/catalog segments, and the API endpoint has the following format:
    https://gateway_service_host/provider_organization/catalog/host_field_value/basepath
    Note: This is a change in behavior from IBM® API Connect Version 5.0, where the host field is not included in the API endpoint.
In these endpoint URLs, the variables are as follows:
  • gateway_service_host is the host name of the gateway service on which the API is running.
  • provider_organization is the value of the name field of the provider organization that contains the Catalog in which the API is published.
  • catalog is the value of the name field of the Catalog in which the API is published.
  • basepath is the value of the basepath field in the OpenAPI definition for the API.
  • host_field_value is the value of the host field in the OpenAPI definition for the API.
For details on configuring the host server URL in an OpenAPI 2.0 API definition, see Specifying the host for an API.
DataPower API Gateway
only(OpenAPI 3.0): If the API is enforced by the DataPower® API Gateway, the value specified for the first url entry in the servers array in the OpenAPI definition of the API is used to determine the basepath element of the API endpoint, as follows:
  1. If a relative URL is specified for the server URL, that value is used as-is for the basepath, and the API endpoint has the following format:
    https://gateway_service_host/provider_organization/catalog/basepath
  2. If a full URL is specified for the server URL, the scheme (http:// or https://) is ignored by the DataPower API Gateway, and the remaining host name and basepath are used to form the API endpoint as follows:
    https://gateway_service_host/provider_organization/catalog/host_name/basepath
In these endpoint URLs, the variables are as follows:
  • gateway_service_host is the host name of the gateway service on which the API is running.
  • provider_organization is the value of the name field of the provider organization that contains the Catalog in which the API is published.
  • catalog is the value of the name field of the Catalog in which the API is published.
  • host_name is the value of the host name in the server URL.
  • basepath is the value of the basepath derived from the server URL.
For details on configuring the server URL in an OpenAPI 3.0 API definition, see Defining servers for an API, Defining servers for a Path, and Defining servers for an operation.
Note: You can change your Catalog settings to use the IBM API Connect Version 5.0 endpoint behavior, including support for a feature known as host to catalog mapping, whereby an API can be invoked without having to include the provider organization or Catalog in the URL path; see Retaining Version 5 vanity endpoint behavior in a Catalog.

To configure vanity API endpoints, so that you can publish endpoints that are different to these gateway endpoints, complete the following steps:

  1. Click API Endpoints in the Catalog settings navigation pane. The Vanity API Endpoint page opens.
  2. Click Edit.
  3. To display the current API base endpoint settings, select Display vanity endpoint.
  4. Select the required Preference setting. Choose one the following settings:
    • Catalog priority: Any host defined in the OpenAPI definition of the API is ignored and all API endpoints always point to the endpoints that you define here. For example, suppose you define a vanity API endpoint, with Catalog priority preference, to be https://prod.acme.com/. Then the API endpoint will be https://prod.acme.com/basepath.
      The way in which the basepath is determined depends on the OpenAPI version of the API, as follows:
      • (OpenAPI 2.0): The basepath is taken from the basepath field in the OpenAPI definition.
      • DataPower API Gateway
only(OpenAPI 3.0): The basepath is taken from the first url entry in the servers array in the OpenAPI definition, ignoring any scheme (http:// or https://) and host name.
    • API priority: The host defined in the OpenAPI definition for the API takes precedence. For example, suppose you define a vanity API endpoint, with API priority preference, to be https://api.acme.com/. Then the following rules determine the endpoint that is used when an API is called:
      • If the OpenAPI definition has a host defined, test.acme.com for example, then that value is used to determine the API endpoint. For example: https://test.acme.com/basepath.
      • If the OpenAPI definition has no host defined, the API endpoint will be https://api.acme.com/basepath, as determined by the vanity API endpoint setting.
      The way in which any defined host is determined depends on the OpenAPI version of the API, as follows:
      • (OpenAPI 2.0): The host is taken from the host field in the OpenAPI definition.
      • DataPower API Gateway
only(OpenAPI 3.0): The host is taken from the host name in the first url entry in the servers array in the OpenAPI definition.
  5. Supply one or more endpoints, as follows:
    • If you selected Catalog priority, click Add to enter one or more endpoints URLs, and an optional summary for each. Any of the endpoint URLs can be used to invoke an API.
    • If you selected API priority, enter the endpoint URL, and an optional summary.
Note: After configuring your Catalog to support your vanity URL, you must configure your external network to map the vanity endpoints to the corresponding gateway endpoints. This typically includes the following:
  • A DNS mapping to ensure that the vanity host resolves to the gateway.
  • Additional URL routing for the API as required.
For example, if your gateway has a default domain name of apigw.dc.zone.mycompany.com and an IP address of 29.12.141.150, then the generic DNS configuration might look like:
api.acme.com. CNAME apigw.dc.zone.mycompany.com.
or
api.acme.com. A 29.12.141.150

Consult your network administrator and the DNS provider's documentation to do this configuration.