Public/Get-GCLanguages.ps1

<#
.SYNOPSIS
    Retrieves a list of languages.

.DESCRIPTION
    Returns a paginated list of languages configured in Genesys Cloud.
    Uses the GET /api/v2/languages endpoint.

.PARAMETER PageSize
    The number of results per page. Defaults to 25.

.PARAMETER PageNumber
    The page number to retrieve. Defaults to 1.

.PARAMETER SortOrder
    The sort direction: ascending or descending.

.PARAMETER Name
    Filter languages by name.

.EXAMPLE
    Get-GCLanguages

.EXAMPLE
    Get-GCLanguages -Name 'English'

.NOTES
    Genesys Cloud API: GET /api/v2/languages
#>

function Get-GCLanguages {
    [CmdletBinding()]
    param(
        [Parameter()]
        [int]$PageSize = 25,

        [Parameter()]
        [int]$PageNumber = 1,

        [Parameter()]
        [string]$SortOrder,

        [Parameter()]
        [string]$Name
    )

    $endpoint = "languages"
    $queryParams = @{
        pageSize   = $PageSize
        pageNumber = $PageNumber
    }

    if ($SortOrder) { $queryParams['sortOrder'] = $SortOrder }
    if ($Name)      { $queryParams['name'] = $Name }

    return Invoke-GCApiRequest -Endpoint $endpoint -Method GET -QueryParameters $queryParams
}