Cloud Storage Service Public API, Creating keys and authenticating
Objective
How to create keys and authenticate to use the Cloud Storage Service Public API
Applies To
- Admin Console
- Cloud Storage Service Public API
Procedure
Assign the "Storage API" role to a user
- The Super User logs into 8x8 Admin Console
- Open the Menu
- Click Roles & permissions
- Click Assignments
- Click + Create Assignment
- Select a user to Assign to
- Select Role Storage Api
- Select Scope(s)
- Click Save
Create an API Key for Call recordings & Storage
- User with the "Storage API" role logs into to 8x8 Admin Console
- Click API Keys
- Click Create App
- Enter a name
- Select Call recordings & Storage for API Products
- Click Save
Authentication for 8x8 Cloud Storage Service Public API
Request an access token from the 8x8 Authorization Server using Basic Authorization with your key and secret as the username and password, respectively.
-
Combine and then encode your client credentials as a Base64 string
-
Make a POST request to the 8x8 Authorization Server using your encoded credentials string in the Authorization header
-
Obtain your access token from the server response
Example Request (cURL)
In this example, we have provided cURL with the key and secret (cURL will generate the Authorization header)
curl --request POST --url https://api.8x8.com/oauth/v2/token -u 'key:secret' --header 'Content-type: application/x-www-form-urlencoded' --data grant_type=client_credentials
In this example, we have manually encoded the client credentials as a Base64 string and added the Authorization header
curl --request POST \ --url https://api.8x8.com/oauth/v2/token \ --header 'Authorization: Basic am9**********w=='\ --header 'Content-type: application/x-www-form-urlencoded' \ --data grant_type=client_credentials
Example Response
{ "expires_in": "3599", "token_type": "BearerToken", "issued_at": "1583852755661", "access_token": "KyD***********************fa", "application_name": "059f3e8d-e624-4f98-be6c-4f2616db52cf", "scope": "", "expires_in": "3599", "status": "approved" }
In the Example Response, the access token is KyD***********************fa and the indicated expiration time is indicated by "expires_in": "3599" (3599 seconds or slightly less than 1 hour).
Example Request & Response (Postman)
8x8 Cloud Storage Service Public API
Use the access token as the Bearer Token when making requests to the 8x8 Cloud Storage Service Public API
These examples use the us-west region in the URL, you will need to use the correct region for your PBX/Tenant.
Please see knowledge base article: Cloud Storage Service Public API, Region Discovery
Example Request to Get All Objects (cURL)
curl --location --request GET 'https://api.8x8.com/storage/us-west/v3/objects' \ --header 'Authorization: Bearer KyD***********************fa'