June 9, 2020 By Kazuki Nobutani 3 min read

IBM API Connect offers a series of APIs that allow users to have better control over the API Connect instances on IBM Cloud.

These APIs must be accessed using a token-based authentication called JSON Web Token (JWT) for improved security. 

Prerequisites

Goal

In this post, I am going to show you how to obtain the JWT token using a curl command, and then I’ll call an API to get a list of products in a catalog from the developer portal as a demo. 

On top of the JWT token, this particular API requires the following header and a parameter when you call it via CURL. Steps 2 and 3 will cover how to obtain necessary elements:

  • Header: X-IBM-APIManagement-Context:<providerOrg>.<Catalog> 
  • Parameter: originURL, which is the URL of your API Connect developer portal

Please note that required headers and parameters vary depending on the API. 

Step 1. Obtain the JWT token

Run the following command to obtain the JWT token:

curl -k -i -X POST \
--header "Content-Type: application/x-www-form-urlencoded" \
--header "Accept: application/json" \
https://login.service.<REGION>.apiconnect.ibmcloud.com/apikey?apikey=<APIKEY>

Replace <APIKEY> with the API key you have and change <REGION> to the region where your instance is deployed:

  • Sydney = au
  • Dallas = us
  • Washington = us-east
  • London = eu
  • Frankfurt = eu-de 

CURL command example:

curl -k -i -X POST \
--header "Content-Type: application/x-www-form-urlencoded" \
--header "Accept: application/json" \
https://login.service.us.apiconnect.ibmcloud.com/apikey?apikey=0123456789F1C4dbHedPjBEsOiKnOovbbZabcdefg

Response example: 

The response contains the JWT token. You need this token when you call APIs, so copy and paste it somewhere secure:

{"jwt":"eyJhbGciOiJFUzM4NCIsInR5cC.....4Tcsbokc4"}

Step 2. Find the catalog name

Each catalog in your API Connect has its display name and a short name. We are going to use the short name when we call APIs, and here is how to find it:

  1. Open API Connect from the IBM Cloud Dashboard:
  2. Open a catalog published to the developer portal.
  3. Go to the Settings > Overview tab and look for the Name:

Step 3. Find the provider organization

Provider organization is a name assigned to your API Connect instance. When you call APIs, you can use either the provider organization name or ID. We used the following API to look up the configuration details of a portal based on its originURL:

curl -k -i -X GET https://apimanager.<REGION>.apiconnect.cloud.ibm.com/v1/portal/config?originURL=<DEV PORTAL>

Replace <REGION> with the region where your instance is deployed and change <DEV PORTAL> to your developer portal home URL:

  • Sydney = au-syd
  • Dallas = us-south
  • Washington = us-east
  • London = eu-gb
  • Frankfurt = eu-de

CURL command example:

curl -k -i -X GET https://apimanager.us-south.apiconnect.cloud.ibm.com/v1/portal/config?originURL=https://sandbox-ORG-SPACE.developer.us.apiconnect.ibmcloud.com/

Response example:

{"expired":false,"applicationLifecycleEnabled":false,"orgID":"PROVIDER ORG ID","orgName":"PROVIDER ORG NAME" ... "apim","realm":null,"writable":true,"isCaseSensitive":false},"paymentGateways":[]}

Step 4. Invoke Manager API

It’s time to get the product list. As per the document, we are calling this API endpoint using CURL:

curl -k -i -H "X-IBM-APIManagement-Context: <providerOrgNAME/ID>.<Catalog>" \
-X GET https://apimanager.us-south.apiconnect.cloud.ibm.com/v1/portal/products \
-H 'Authorization: Bearer <JWT token>'

Replace <JWT token> with the JWT token obtained in Step 1. Change <providerOrgNAME/ID> and <Catalog> to the provider organization name or ID and the catalog short name obtained in Steps 2 and 3. Then, replace <REGION> with the region where your instance is deployed.

  • Sydney = au-syd
  • Dallas = us-south
  • Washington = us-east
  • London = eu-gb
  • Frankfurt = eu-de

CURL command example:

curl -k -i -H "X-IBM-APIManagement-Context: 123459970cf25013613be87e.sandbox" \
-X GET https://apimanager.us-south.apiconnect.cloud.ibm.com/v1/portal/products \
-H 'Authorization: Bearer eyJhbG...csbokc4'

Response example:

[{"id":"PRODUCT ID 1","info":{"name":"PRODUCT NAME 1","title":"PRODUCT TITLE 1","version":"1.0.0"},"url":"https://apimanager.us-south.apiconnect.cloud.ibm.com/v1/portal/products/PRODUCT ID 1","status":"published"},

{"id":"PRODUCT ID 2","info":{"name":"PRODUCT NAME 2","title":"PRODUCT TITLE 2","version":"1.0.0"},"url":"https://apimanager.us-south.apiconnect.cloud.ibm.com/v1/portal/products/PRODUCT ID 2","status":"published"},

{"id":"PRODUCT ID 3","info":{"name":"PRODUCT NAME 3","title":"PRODUCT TITLE 3","version":"1.0.0"},"url":"https://apimanager.us-south.apiconnect.cloud.ibm.com/v1/portal/products/PRODUCT ID 3","status":"published"},]

What’s next?

IBM API Connect offers a number of different APIs and now you are ready to explore the options. Please refer to the IBM Knowledge Center for IBM API Connect for the available API list.

For any questions or concerns, please contact IBM Cloud Support.

Was this article helpful?
YesNo

More from Cloud

New 4th Gen Intel Xeon profiles and dynamic network bandwidth shake up the IBM Cloud Bare Metal Servers for VPC portfolio

3 min read - We’re pleased to announce that 4th Gen Intel® Xeon® processors on IBM Cloud Bare Metal Servers for VPC are available on IBM Cloud. Our customers can now provision Intel’s newest microarchitecture inside their own virtual private cloud and gain access to a host of performance enhancements, including more core-to-memory ratios (21 new server profiles/) and dynamic network bandwidth exclusive to IBM Cloud VPC. For anyone keeping track, that’s 3x as many provisioning options than our current 2nd Gen Intel Xeon…

IBM and AWS: Driving the next-gen SAP transformation  

5 min read - SAP is the epicenter of business operations for companies around the world. In fact, 77% of the world’s transactional revenue touches an SAP system, and 92% of the Forbes Global 2000 companies use SAP, according to Frost & Sullivan.   Global challenges related to profitability, supply chains and sustainability are creating economic uncertainty for many companies. Modernizing SAP systems and embracing cloud environments like AWS can provide these companies with a real-time view of their business operations, fueling growth and increasing…

Experience unmatched data resilience with IBM Storage Defender and IBM Storage FlashSystem

3 min read - IBM Storage Defender is a purpose-built end-to-end data resilience solution designed to help businesses rapidly restart essential operations in the event of a cyberattack or other unforeseen events. It simplifies and orchestrates business recovery processes by providing a comprehensive view of data resilience and recoverability across primary and  auxiliary storage in a single interface. IBM Storage Defender deploys AI-powered sensors to quickly detect threats and anomalies. Signals from all available sensors are aggregated by IBM Storage Defender, whether they come…

IBM Newsletters

Get our newsletters and topic updates that deliver the latest thought leadership and insights on emerging trends.
Subscribe now More newsletters