To get privateComments back from GET /api/v2/quality/conversations/{conversationId}/evaluations/{evaluationId}, the missing permission is:
Quality > Evaluation > Assign.
Genesys Cloud appears to treat private comments as part of the "assign/review" workflow (not just basic "view"), so a role that only has Quality > Evaluation > View will receive the evaluation object but with privateComments omitted. The default Quality Evaluator role, for example, includes Quality > Evaluation > Assign along with View.
If you want least privilege, the usual approach is to create a custom role that adds Quality > Evaluation > Assign (and keep everything else as-is), then rely on divisions / permission conditions to scope access where needed.
------------------------------
Alex Sander Felicio
------------------------------