Publish to multiple external API stores
You can share an API to application developers who are subscribed to the API Stores of other tenants. This allows you to advertize your APIs to a wider community. Subscribers of other tenant stores can view and browse your APIs but to subscribe to them, the users must visit your (the original publisher's) store.
Capability to publish to external API Stores is not there by default. Follow the steps below to configure it.
- Log in to APIM admin console (
https://<Server Host>:9443/carbon
) as admin and select Browse menu under Resources .
The Registry opens. G o to
/_system/governance/apimgt/externalstores/external-api-stores.xml
r esource.
Click the Edit as Text link and change the
<ExternalAPIStores>
element of each external API store that you need to publish APIs to. For example,
<ExternalAPIStores> <StoreURL>http://localhost:9763/store</StoreURL> <ExternalAPIStore id="Store1" type="wso2"> <DisplayName>Store1</DisplayName> <Endpoint>http://localhost:9763/store</Endpoint> <Username>xxxx</Username> <Password>xxxx</Password> </ExternalAPIStore> <ExternalAPIStore id="ProWeb" type="proWeb"> <Name>ProgrammableWeb</Name> <Endpoint>xxxxx</Endpoint> </ExternalAPIStore> <ExternalAPIStore id="Store2" type="wso2"> <DisplayName>Store2</DisplayName> <Endpoint>http://localhost:9764/store</Endpoint> <Username>xxxx</Username> <Password>xxxx</Password> </ExternalAPIStore> </ExternalAPIStores>
Note the following in the configuration above:
Element Description <ExternalAPIStore id="" type="">
id
: The external store identifier, which is a unique value.
type
: Type of the Store. This can be a WSO2-specific API Store or an external one.<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.
Registry changes are applied dynamically. You do not need to restart the server.
Log in to the API Publisher and, create an API.
Click on the newly created API to see a new tab called External API Stores added to the API Publisher console.
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.
Log in to an external API store where the API is published to and click it to open.
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.
You have added multiple external stores to your registry and published your APIs to them.