Skip to main content
8x8 Support

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

  1. The Super User logs into 8x8 Admin Console
  2. Open the Menu
  3. Click Roles & permissions
  4. Click Assignments
  5. Click + Create Assignment
  6. Select a user to Assign to
  7. Select Role Storage Api
  8. Select Scope(s)
  9. Click Save

Admin Console Create assignments storage api.png

Admin Console Role Assignment Storage Api.png

Create an API Key for Call recordings & Storage

  1. User with the "Storage API" role logs into to 8x8 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

Admin Console API Keys Call recordings Storage.png

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)

Postman API Authentication.png

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

Caution-Icon.png

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'

Example Request & Response to Get All Objects (Postman)

Postman 8x8 Cloud Storage Service Public API Object.png