Symptom
When attempting to retrieve call recordings or objects via the 8x8 Cloud Storage Service API, the system returns a 500 Internal Server Error. This typically occurs when navigating through high page numbers in accounts containing a large volume of stored objects.
Applies To
8x8 Cloud Storage Service
API Objects Endpoint
Resolution
To resolve this error, use the createdTime filter to limit the data set. This utilises database indexes, which significantly enhances performance and prevents timeout errors.
Locate your API request for the Objects endpoint.
Add the createdTime filter to your query parameters.
Define a specific time range to reduce the number of objects returned in the results.
For example, getting all available objects that were created from 2024-09-01 00:00:00 GMT to 2024-10-01 00:00:00 GMT would look like: filter=(createdTime=ge=1725148800000;createdTime=le=1727740800000)
Execute the request again to verify the recordings are retrieved without the 500 error.
Cause
The error is caused by the API attempting to process an excessively high number of objects without indexing. When requesting high page numbers in a large database, the query becomes inefficient and eventually times out, resulting in a 500 error. Filtering by createdTime allows the system to utilise database indexes for faster retrieval.
Additional Information
8x8 Developer Portd: Cloud Storage Service Objects
Filter Objects Based on Created Time with the 8x8 Cloud Storage Service Public API