Cloud Storage Service Public API Creating Keys and Authenticating

Objective

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

  1. Log in to Admin Console as a Super User.
  2. From the left menu, select Roles & permissions.
  3. Click Assignments.
  4. Click + Create Assignment.
  5. Select a user to Assign to.
  6. Select Role Storage API.
  7. Select Scope.
  8. Click Save.

Create an API Key for Call Recordings & Storage

  1. User with the Storage API role logs in to Admin Console.
  2. Click API Keys.
  3. Click Create App.
  4. Enter a name.
  5. Select Call recordings & Storage for  API Products.
  6. 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.
  1. Combine and then encode your client credentials as a Base64 string.
  2. Make a POST request to the 8x8 Authorization Server using your encoded credentials string in the Authorization header.
  3. 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. For more information, see 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'

Example Request & Response to Get All Objects (Postman)

Additional Information