This page describes the high-level steps of how an external application communicates with the Usage Engine APIs using Client Credentials. You need authorization token to be able to access the Usage Engine CE API. See the following example of an authorization token:
Example:
{"access_token":{{Encoded token}}, "scope":"create:meter_types create:meters", "expires_in":3600, "token_type":"Bearer"}
By design, the Client Credentials flows do not have a refresh flow so a new access token needs to be requested every time the token expires. The tokens are valid for one (1) hour. As part of the authorization token, you will receive the lifetime (expires_in
) of the token in seconds.
Example - Getting an OAuth 2 Token Using curl
This works in bash and zsh. To avoid exposing the credentials we are storing them in variables. For information about how to define variables in any other environment, see the respective documentation. The Client Secret is sensitive information and it is important not to expose it unnecessarily.
client_id={{your client ID}} client_secret={{your client secret}} audience={{your api environment}} curl --location --request POST 'https://api.digitalroute.io/authentication/v1/oauth/token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data client_id=${client_id} \ --data client_secret=${client_secret}' --data grant_type="client_credentials" \ --data audience=${audience}
.
Parameter | Description |
---|---|
access_token | The access token string issued by the authorization server. |
scope | Scopes defined for the token |
expires_in | Validity of the token in seconds |
token_type | The type of token this is, just the string “Bearer”. |
See examples in Getting started with APIs calls using Postman and Getting started with APIs using Curl for more information about how to use the generated access token to access the APIs.