Public/Set-GCRoutingQueueMember.ps1

<#
.SYNOPSIS
    Updates a member's properties in a routing queue in Genesys Cloud.

.DESCRIPTION
    Partially updates a queue member's properties (such as joined status) using a PATCH request.
    API Endpoint: PATCH /api/v2/routing/queues/{queueId}/members/{memberId}

.PARAMETER QueueId
    The unique identifier of the routing queue.

.PARAMETER MemberId
    The unique identifier of the queue member (user ID).

.PARAMETER Body
    The request body containing the member properties to update. Accepts a hashtable or JSON string.

.EXAMPLE
    Set-GCRoutingQueueMember -QueueId 'queue-id' -MemberId 'member-id' -Body @{ joined = $true }
    Sets the member as joined in the specified queue.

.NOTES
    Genesys Cloud API: PATCH /api/v2/routing/queues/{queueId}/members/{memberId}
#>

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

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

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

    $endpoint = "routing/queues/$QueueId/members/$MemberId"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method PATCH -Body $Body
}