Public/New-GCRecordingPolicy.ps1

<#
.SYNOPSIS
    Creates a new recording media retention policy in Genesys Cloud.

.DESCRIPTION
    Posts a new cross-platform media retention policy to the Genesys Cloud API.
    API Endpoint: POST /api/v2/recording/crossplatform/mediaretentionpolicies

.PARAMETER Body
    The request body containing the policy configuration including name, conditions,
    actions, and retention settings. Should conform to the Genesys Cloud media
    retention policy schema.

.EXAMPLE
    $policyBody = @{
        name = 'Compliance Recording Policy'
        enabled = $true
        conditions = @{
            forQueues = @(@{ id = 'queue-123' })
        }
        actions = @{
            retainRecording = $true
            deleteRecording = $false
            retentionDuration = @{ archiveRetention = @{ days = 365 } }
        }
    }
    New-GCRecordingPolicy -Body $policyBody
    Creates a new recording media retention policy with the specified configuration.

.NOTES
    Genesys Cloud API: POST /api/v2/recording/crossplatform/mediaretentionpolicies
#>

function New-GCRecordingPolicy {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory = $true)]
        [object]$Body
    )

    $endpoint = "recording/crossplatform/mediaretentionpolicies"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method POST -Body $Body
}