IBM Support

How to get the bearer token for using API Connect v10 REST APIs

Troubleshooting


Problem

Clarification is needed of how to get and use the Bearer token for calling the REST APIs in the API Connect REST API Documentation

Resolving The Problem

In order to use the API Connect REST APIs, a user needs a Bearer token for authenticating.

To get a Bearer token, you must first set up a client ID and secret. The Obtaining a Client ID and Secret page in the API Connect REST API Documentation provides more details.


Obtaining a Client ID and secret:

Log in to the API Connect server as an admin user by using the apic login command.

For example
apic login --server platform.example.com --username user --password password --realm admin/default-idp-1
 
After logging in Register an Application
 
Register an application:

Create a JSON file with your wanted credentials for the application.

For example, app1.json: 

{
  "name": "app1",
  "client_id": "app1id", 
  "client_secret": "app1secret",
  "client_type": "toolkit"
}
      
Register the application from the toolkit:

$ apic registrations:create --server platform.example.com app1.json
app1   https://apic.ibm.com/api/cloud/registrations/51196222-788c-474f-b4c7-0b351ce509de
      
You now have set up an application with client_id: app1id and client_secret: app1secret
Get the bearer token:
The Obtaining and Using a Bearer Token page in the API Connect REST API Documentation provides more details.
To get the bearer token 
Send a curl like:

curl -v -k -X POST -d '{"username": "user", "password": "****", "realm": "provider/default-idp-2", "client_id": "registered-app-client-id", "client_secret": "registered-app-client-secret", "grant_type": "password"}' -H 'Content-Type: application/json' -H 'Accept: application/json' https://platform.example.com/api/token
Note:
Replace registered-app-client-id and registered-app-client secret with whatever client ID and secret that you defined in the application you registered.

You get a response like this:

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI1MGVmOGQzOC1lMTUxLTQ4NjctYmIwOS0wNDA0N2UxZjM3NDciLCJuYW1lc3BhY2UiOiIzYjQ1ODU4Ni1kZGMwLTQ1NDYtOThkZi03MmUxMzMzYjA5ZWE6MTYzZDY4MWYtZWUwMC00YWRhLWFiNWQtZDVkMzRlYjdlODVjOjBjODQ0NTgyLTQ1YWMtNDQ2My1hOTc1LThiNmQ1ZjY5MTE1ZCIsImF1ZCI6Ii9hcGkvY2xvdWQvcmVnaXN0cmF0aW9ucy8zOTBhNjVhYS00M2FhLTQ3MzUtYjA0OS04MTk3MjIyZDI3ZDAiLCJzdWIiOiIvYXBpL3VzZXItcmVnaXN0cmllcy8zYjQ1ODU4Ni1kZGMwLTQ1NDYtOThkZi03MmUxMzMzYjA5ZWEvMTYzZDY4MWYtZWUwMC00YWRhLWFiNWQtZDVkMzRlYjdlODVjL3VzZXJzLzBjODQ0NTgyLTQ1YWMtNDQ2My1hOTc1LThiNmQ1ZjY5MTE1ZCIsImlzcyI6IklCTSBBUEkgQ29ubmVjdCIsImV4cCI6MTUzMjU4NjE1MiwiaWF0IjoxNTMyNTU3MzUyLCJncmFudF90eXBlIjoicGFzc3dvcmQiLCJ1c2VyX3JlZ2lzdHJ5X3VybCI6Ii9hcGkvdXNlci1yZWdpc3RyaWVzLzNiNDU4NTg2LWRkYzAtNDU0Ni05OGRmLTcyZTEzMzNiMDllYS8xNjNkNjgxZi1lZTAwLTRhZGEtYWI1ZC1kNWQzNGViN2U4NWMiLCJyZWFsbSI6InByb3ZpZGVyL2RlZmF1bHQtaWRwLTIiLCJ1c2VybmFtZSI6ImNocmlzIiwiaWRfdG9rZW4iOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKbWFYSnpkRjl1WVcxbElqb2lRMmh5YVhNaUxDSnNZWE4wWDI1aGJXVWlPaUpOSWl3aWRYTmxjbDlwWkNJNkltSmpOakk0TVdVMUxXUmxOMkl0TkRKbU5pMDRZakkwTFdKak5qY3lZVEEyWmpRd05TSXNJblZ6WlhKdVlXMWxJam9pWTJoeWFYTWlMQ0pwWVhRaU9qRTFNekkxTlRjek5USjkuelpzTXI0OUJkdU9DUlcxb24yWjdsZDI4bnJKRVVDZTA1bmM5MldRX3doNCIsInNjb3BlcyI6WyJjbG91ZDp2aWV3IiwiY2xvdWQ6bWFuYWdlIiwicHJvdmlkZXItb3JnOnZpZXciLCJwcm92aWRlci1vcmc6bWFuYWdlIiwib3JnOnZpZXciLCJvcmc6bWFuYWdlIiwiZHJhZnRzOnZpZXciLCJkcmFmdHM6ZWRpdCIsImNoaWxkOnZpZXciLCJjaGlsZDpjcmVhdGUiLCJjaGlsZDptYW5hZ2UiLCJwcm9kdWN0OnZpZXciLCJwcm9kdWN0OnN0YWdlIiwicHJvZHVjdDptYW5hZ2UiLCJhcHByb3ZhbDp2aWV3IiwiYXBwcm92YWw6bWFuYWdlIiwiYXBpLWFuYWx5dGljczp2aWV3IiwiYXBpLWFuYWx5dGljczptYW5hZ2UiLCJjb25zdW1lci1vcmc6dmlldyIsImNvbnN1bWVyLW9yZzptYW5hZ2UiLCJhcHA6dmlldzphbGwiLCJhcHA6bWFuYWdlOmFsbCIsIm15OnZpZXciLCJteTptYW5hZ2UiLCJ3ZWJob29rOnZpZXciXX0.1ybezGJrJWgRZ8ec5cjyGQTKcWA3iwTbV5AubXCox60",
  "token_type": "Bearer",
  "expires_in": 28800
}
        
You can then use the bearer token in the REST API call

For example:

curl -k -v https://platform.example.com -H 'Authorization: Bearer {value of access_token}' -H 'accept: application/json

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSMNED","label":"IBM API Connect"},"ARM Category":[{"code":"a8m50000000Ce8rAAC","label":"API Connect-\u003EManagement and Monitoring (MM)"}],"ARM Case Number":"TS013824453","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"10.0.0;10.0.1;10.0.5;and future releases"}]

Document Information

Modified date:
15 August 2023

UID

ibm17025151