Quality Management API returning 500 when filtering by digital channel metadata

Is there a clean way to query the Quality Management API for digital channel interactions without triggering a server error?

Background

We are operating in the EU1 region. Our team handles legal discovery requests that require exporting interaction recordings alongside their associated quality scores. We have been successfully using the /api/v2/quality/evaluations endpoint for voice interactions. Now, we need to extend this process to include digital channels (Web Chat and Email). The requirement is strict: we must retrieve evaluations where the interaction_type is digital and the status is completed. We are using Python 3.9 with the Genesys Cloud Python SDK version 2.34.0.

Issue

When we construct the query with specific metadata filters for digital channels, the API returns a 500 Internal Server Error. This happens consistently. The request body includes the metadata object with interaction_type set to digital. Without this filter, the call succeeds but returns irrelevant voice data. With the filter, the response is:

{
 "message": "Server error",
 "status": 500,
 "code": "internal_server_error"
}

We suspect this relates to how the backend indexes metadata for digital channels versus voice. The error does not provide details on which field caused the failure.

Troubleshooting

We have verified the following:

  1. Checked the Quality Management settings. Digital channels are enabled for scoring.
  2. Confirmed that evaluations exist for digital interactions in the UI.
  3. Tested the same query with interaction_type set to voice. This works perfectly.
  4. Reduced the date range to the last 24 hours. The 500 error persists.
  5. Checked the API documentation for /api/v2/quality/evaluations. The docs do not mention limitations on filtering by interaction_type for digital channels.

We need to automate this export for legal hold purposes. Manual UI export is not an option due to volume. Is there a known issue with the Quality API and digital channel metadata filters? Or is our query structure incorrect?