Public/Set-GCUserRoutingStatus.ps1

<#
.SYNOPSIS
    Sets the routing status of a user in Genesys Cloud.

.DESCRIPTION
    Updates the routing status of a specific user using a PUT request. This controls
    whether the user is available for routing interactions.
    API Endpoint: PUT /api/v2/users/{userId}/routingstatus

.PARAMETER UserId
    The unique identifier of the user.

.PARAMETER Body
    The request body containing the routing status. Accepts a hashtable or JSON string.
    Should include the 'status' property (e.g., 'ON_QUEUE', 'OFF_QUEUE').

.EXAMPLE
    Set-GCUserRoutingStatus -UserId '12345678-1234-1234-1234-123456789012' -Body @{ status = 'ON_QUEUE' }
    Sets the user's routing status to on queue.

.NOTES
    Genesys Cloud API: PUT /api/v2/users/{userId}/routingstatus
#>

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

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

    $endpoint = "users/$UserId/routingstatus"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method PUT -Body $Body
}