Public/Get-GCPresenceDefinitions.ps1

<#
.SYNOPSIS
    Retrieves a list of presence definitions from Genesys Cloud.

.DESCRIPTION
    Queries the Genesys Cloud API to retrieve a paginated list of organization presence
    definitions. These define the available presence states for users.
    API Endpoint: GET /api/v2/presence/definitions

.PARAMETER PageSize
    The number of results per page. Default is 25.

.PARAMETER PageNumber
    The page number to retrieve. Default is 1.

.EXAMPLE
    Get-GCPresenceDefinitions
    Retrieves the first page of presence definitions.

.EXAMPLE
    Get-GCPresenceDefinitions -PageSize 100
    Retrieves presence definitions with 100 results per page.

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

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

        [Parameter(Mandatory = $false)]
        [int]$PageNumber = 1
    )

    $queryParams = @{
        pageSize   = $PageSize
        pageNumber = $PageNumber
    }

    $endpoint = "presence/definitions"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method GET -QueryParameters $queryParams
}