Public/Set-GCTelephonySite.ps1

<#
.SYNOPSIS
    Updates an existing telephony site in Genesys Cloud.

.DESCRIPTION
    Sends a PUT request to the Genesys Cloud API to replace the configuration
    of a specific telephony site.
    API Endpoint: PUT /api/v2/telephony/providers/edges/sites/{siteId}

.PARAMETER SiteId
    The unique identifier of the telephony site to update.

.PARAMETER Body
    The request body containing the full updated site configuration.
    Should conform to the Genesys Cloud site schema.

.EXAMPLE
    $siteBody = @{
        name = 'New York Office - Updated'
        description = 'Updated NYC telephony site'
        location = @{ id = 'location-123' }
        version = 2
    }
    Set-GCTelephonySite -SiteId 'site-abc123' -Body $siteBody
    Updates the specified telephony site with the new configuration.

.NOTES
    Genesys Cloud API: PUT /api/v2/telephony/providers/edges/sites/{siteId}
#>

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

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

    $endpoint = "telephony/providers/edges/sites/$SiteId"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method PUT -Body $Body
}