functions/Get-BBCrossListSet.ps1

<#
.Synopsis
   Given a CourseID, Gets all child shells.
.DESCRIPTION
   Given a CourseID, Gets all child shells. This is used for merged shells.
.EXAMPLE
   $Term = Get-BBTerms -TermID 'externalId:30700'
   $Courses = Get-BBCourses -Filter "termId=$($Term.id)"
 
   #Get All CrossListed courses for that term while displaying a progress bar
   $Courses | foreach-Object -Begin{
                                       $Counter = 0
                           } -Process {
                                       $Counter += 1
                                       Write-Verbose "Processing Courses Progress: $($Counter)/$($Courses.count) ($($($Counter)/$($Courses.count))) [$($_.id)] Percent Complete: $(($($Counter)/$($Courses.count))*100)"
                                       $ChildCourses += Get-BBCrossListSet -CourseID $_.id
                           } -End {}
.EXAMPLE
   Get-BBCrossListSet -CourseID $_.id
#>

function Get-BBCrossListSet
{
    [CmdletBinding()]
    [Alias()]
    Param
    (
        [parameter(mandatory)][string]$CourseID
    )

    Begin
    {

    }
    Process
    {
        $apiurl = "/learn/api/public/v1/courses/$CourseID/crossListSet"
        Write-Verbose "From Get-BBCrossListSet: $apiurl"
        Invoke-BBRestMethod  -API $apiurl `
                -Method Get `
                -ContentType application/json
    }
    End
    {
    }
}