This documentation is for WSO2 API Manager 1.5.0 View documentation for the latest release.
Page Comparison - Publishing to API Stores (v.10 vs v.18) - API Manager 1.5.0 - WSO2 Documentation

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

  1. Log in to the API Publisher (https://<HostName>:9443/store) as a user who has the publisher role assigned. 
  2. From the All APIs window that opens, click Click on the API you want to publish.
  3. The API's overview window opens. Click the Life Cycle tab, which displays the API's available states.

    Info
    iconfalse

    The Life Cycle tab is only visible to users with publisher privileges.

     

  4. To publish the API, select the PUBLISHED state from the drop-down list. You get three check boxes to select as follows:

    Propagate Changes to API Gateway

    Used to define an API proxy in the API Gateway runtime component, allowing the API to be exposed to the consumers via the API Gateway. If this option is left unselected, the API metadata will not change and you will have to manually configure the API Gateway according to the information published in the API Store.

    Deprecate Old Versions

    If selected, any prior versions of the API will be set to the DEPRECATED state automatically.

    Require Re-Subscription

    Invalidates current user subscriptions, forcing users to subscribe again.

  5. Select the necessary options and click the Update button to publish the API to the API Store. Note the API life cycle history visible at the bottom of the page. 
    Image Removed
     

Similarly, you can deprecate, retire and block APIs. 

Publishing to multiple external API stores

API publishers can share an API to application developers who are subscribed to multiple tenant-specific WSO2 API Stores, in order . This allows them to expose the API APIs to a wider community. 

Note

After publishing an API to external stores, it will be visible to the users of those stores. However, to subscribe to the API, the users must visit the original publisher's store.

  Follow the steps below to configure:

  1. Uncomment the existing the  <ExternalAPIStores> element in <AM_Home>/repository/conf/api-manager.xml file of the API Publisher node, and configure an <ExternalAPIStores> element for each external WSO2 API Stores store that you need to publish APIs to. For example,

    Code Block
    languagehtml/xml
    <ExternalAPIStores>       
           <ExternalAPIStore id=”Store1” type="wso2">
              <StoreURL>http://localhost:9763/store</StoreURL> 
              <DisplayName>Store1</DisplayName>
              <Endpoint>http://localhost:9763/store</Endpoint>
              <Username>xxxx</Username>
              <Password>xxxx</Password>
          </ExternalAPIStore>
    </ExternalAPIStores>

    In above configuration,Note the following in the configuration above:

    Element/AttributeDescription
    idThe external store identifier, which is a unique value.
    type Type of the Store. APIM 1.5.0 release supports only WSO2-specific API Stores. Other types will be supported in future releases.

    <StoreURL>

    URL of the API store of the current APIM deployment. This is the URL to the API in the original publisher's store. APIs that are published to external stores will be redirected to this URL.
    <DisplayName> The name of the Store that is displayed in the publisher UI.

    <Endpoint>

    URL of the API Store.
    <Username> & <Password>

    Credentials of a user who has permissions to create and publish APIs.

  2. Add a secure vault configuration for user credential To secure the user credentials given above, to secure the credentials.add a secure vault configuration as follows:

    1. For each external API Store, add a configuration similar to the one below in <AM_

    Home>
    1. HOME>/repository/conf/security/cipher-tool.properties file. 

      Code Block
      ExternalAPIStores.ExternalAPIStore.Password_{store_id}=api-manager.xml//APIManager/ExternalAPIStores/ExternalAPIStore[@name='External_Store_id_defined_in_api-manager.xml']/Password,true
    2. Add the following configuration to <AM_HOME>/repository/conf/security/cipher-text.properties file:

      Code Block
      ExternalAPIStores.ExternalAPIStore.Password_{store_id}=[user_password]

     

     

...

 

...

Then using the cipher tool to generate the encrypted values for above password configuration and use that encrypted password for above configuration in api-manager.xml.

...

    1. Generate  encrypted values for the passwords  using the cipher tool.

    2. Use the encrypted password in the configuration in step 1.

  1. Start the API Manager and create an API.

  2. Click on the newly created API to see a new tab  called External API Stores added to the API Publisher console. 
    Image Added 
    Note the following:

    • You can select multiple external API stores and click Save to publish your API to them. 
    • I f the API creator updates the API after publication to external stores, either the creator or a publisher can simply push those changes to the published stores by selecting the stores and clicking Save again. 
    • If the API creator deletes the API, each external store that it is published to will receive a request to delete the API.
  3. Log in to an external user store that the API is published to and note the API advertised in its storefront. Click this API.

  4. A link appears as View Publisher Store and it directs you to the original publisher’s store through which you can subscribe to the API.

Next, see how to manage subscriptions and access tokens in Managing API Usage .