Public/Get-GCExternalOrganizations.ps1

<#
.SYNOPSIS
    Retrieves a list of external organizations.

.DESCRIPTION
    Returns a paginated list of external organizations from Genesys Cloud.
    Uses the GET /api/v2/externalcontacts/organizations endpoint.

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

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

.PARAMETER Q
    Search query string to filter organizations.

.EXAMPLE
    Get-GCExternalOrganizations

.EXAMPLE
    Get-GCExternalOrganizations -Q 'Acme'

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

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

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

        [Parameter()]
        [string]$Q
    )

    $endpoint = "externalcontacts/organizations"
    $queryParams = @{
        pageSize   = $PageSize
        pageNumber = $PageNumber
    }

    if ($Q) { $queryParams['q'] = $Q }

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