Public/remove-AllegisIDNsourceSchemaAttribute.ps1

function remove-AllegisIDNsourceSchemaAttribute ($orgName, $sourceid, $accessToken, $usage, $attribute){
    #if ($usage -eq $null){$usage='Create'}
    $source=get-AllegisIDNsourceAccounts -orgName $orgname -sourceid $sourceid -accessToken $accessToken -usage $usage
    if ($source.fields.where{$_.name -eq $attribute} -eq $null){return "$attribute missing"}
    $header=get-AllegisIDNprivateHeader $accessToken
    $header+=@{'Content-Type'='application/json'}
    if ($source.count -gt 1){
        $create=$source[$source.usage.IndexOf('Create')]
    }else{
        $create=$source
    }
    $newcreate=@()
    foreach($fields in $create.fields.where{$_.name -ne $attribute}){
        $newcreate+=$fields
    }
    $create.fields=$newcreate
    $source[$source.usage.IndexOf('Create')]=$create
    $privateuribase="https://$orgname.identitynow.com"
    if ($usage -eq $null){
        $url="$privateuribase/api/accountProfile/bulkUpdate/$sourceid"
    }else{
        $url="$privateuribase/api/accountProfile/update/$($sourceid)?usage=$usage"
    }
    $json=$source | ConvertTo-Json -Depth 100
    if ($json[0] -ne '['){$json="[$json]"}
    $response=Invoke-WebRequest -Uri $url -Method Post -UseBasicParsing -Headers $header -Body $json
    $sourceAccountProfile=$response.Content | ConvertFrom-Json
    return $sourceAccountProfile
}