Public/Set-GCQualityEvaluation.ps1

<#
.SYNOPSIS
    Updates an existing quality evaluation in Genesys Cloud.

.DESCRIPTION
    Updates a quality evaluation for a specific conversation using the Genesys Cloud API.
    API Endpoint: PUT /api/v2/quality/conversations/{conversationId}/evaluations/{evaluationId}

.PARAMETER ConversationId
    The unique identifier of the conversation the evaluation belongs to.

.PARAMETER EvaluationId
    The unique identifier of the evaluation to update.

.PARAMETER Body
    The updated evaluation definition object.

.EXAMPLE
    $evalBody = @{ status = 'FINISHED'; answers = @{ questionGroupId = 'qg1' } }
    Set-GCQualityEvaluation -ConversationId 'conv-id-1' -EvaluationId 'eval-id-1' -Body $evalBody
    Updates the specified evaluation.

.NOTES
    Genesys Cloud API: PUT /api/v2/quality/conversations/{conversationId}/evaluations/{evaluationId}
#>

function Set-GCQualityEvaluation {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory = $true)]
        [string]$ConversationId,

        [Parameter(Mandatory = $true)]
        [string]$EvaluationId,

        [Parameter(Mandatory = $true)]
        [object]$Body
    )

    $endpoint = "quality/conversations/$ConversationId/evaluations/$EvaluationId"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method PUT -Body $Body
}