Public/Invoke-GCLocationsSearch.ps1

<#
.SYNOPSIS
    Searches for locations.

.DESCRIPTION
    Performs a search against Genesys Cloud locations using the provided search criteria.
    Uses the POST /api/v2/locations/search endpoint.

.PARAMETER Body
    The search criteria object containing query, filters, and other search parameters.

.EXAMPLE
    $searchBody = @{ query = @(@{ type = 'EXACT'; fields = @('name'); value = 'HQ' }) }
    Invoke-GCLocationsSearch -Body $searchBody

.NOTES
    Genesys Cloud API: POST /api/v2/locations/search
#>

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

    $endpoint = "locations/search"
    return Invoke-GCApiRequest -Endpoint $endpoint -Method POST -Body $Body
}