Public/get-IDNsource.ps1

#
# get_IDNsource.ps1
#
function get-IDNsource ($orgName, $authHeader, $sourceid, [switch]$importschema, [switch]$exportschema, [switch]$detailed){
    $privateuribase="https://$orgname.identitynow.com"
    if ($sourceid -eq $null){
        $url="$privateuribase/api/source/list"
    }else{
        $url="$privateuribase/api/source/get/$sourceid"
    }
    $response=Invoke-WebRequest -Uri $url -Method Get -UseBasicParsing -Headers $authHeader
    $sourceConfig=$response.Content | ConvertFrom-Json
    if ($detailed -and $sourceid -eq $null){
        $output=@()
        foreach($id in $sourceConfig.id)
        {
            $url="$privateuribase/api/source/get/$id"
            $response=Invoke-WebRequest -Uri $url -Method Get -UseBasicParsing -Headers $authHeader
            $output+=$response.Content | ConvertFrom-Json
        }
        $sourceconfig=$output
    }
    if ($importschema){
        $sourceConfig | foreach{$_ | Add-Member -NotePropertyName importSchema -NotePropertyValue (get-IDNsourceSchema -orgName $orgname -sourceid $_.id -authHeader $authHeader) -Force}
    }
    if ($exportschema){
        $sourceConfig | foreach{$_ | Add-Member -NotePropertyName exportSchema -NotePropertyValue (get-IDNsourceSchemaExport -orgName $orgname -sourceid $_.id -authHeader $authHeader) -Force}
    }
    return $sourceConfig   
}