Thanks Robert but if you check my code above I already used csv and also tried 100 and still the same I get a tab delimited file rather than comma delimited that makes  the columns glued to each other as in all columns as in one column (see attached below)

see the file in a notepad

and also the double quotes doesn't seems to work, the heading still includes the datatype 

 Thanks

I already did but with no luck.

But not sure why previous colleague hwo let the company is using %Net.MIMEPart, I haven't used this before I thought I need to send the JSON file is something like this:

 Set stream=##class(%FileBinaryStream).%New()
     Set stream.Filename=FilePath
     Do stream.LinkToFile(FilePath)
    if (CallbackHost ["VIBRA-API-DEV.AZUREWEBSITES.NET") {
    Set Httprequest=##class(%Net.HttpRequest).%New()
    Set Httprequest.SSLConfiguration="RTLS"
    Set Httprequest.Server="vibra-api-dev.azurewebsites.net"
    Set Httprequest.Timeout=30
    Set Httprequest.Https=1
    set Httprequest.ContentType="application/json"
    Do Httprequest.SetHeader("Accept","application/json")
    Do Httprequest.SetHeader("Accept-Language","en_US")
        Do Httprequest.SetHeader("Authorization","Bearer "_^Token)
     D Httprequest.EntityBody.Write(stream)
    Set tSc=Httprequest.Post("/API/SENSORS/VIBRATION")
    //S Out=Httprequest.HttpResponse.Data.ReadLine()
    Set StateCode=Httprequest.HttpResponse.StatusCode
    Quit StateCode

would this work?

thanks

So in the future and in case I really need create a record with the same description on a unique indexed field, can I remove the UniqueIndex definition from the class definition do my change then put it back and compile rather than doing it through globals?

also when rebuilding indexes from SMP, it says running at the background but there no notification when the rebuild has finished, is there a way to see the running process because I couldn't see it in Processes?

Thanks

what I sent is just a part of the full JSON as an example so it's not because it's missing part of it here is the full string, where I had to remove the brackets from beginning and end

 
JSON

mybe you mean this  ##class(%ZEN.Auxiliary.jsonProvider).%ConvertJSONToObject(SampleJsonData,,.list) ,I tried that but I got an empty list?

in all cases, after doing the below, I should be able at lease read the JSON string but I'm getting an html file, so I'm missing something in my code?  

set Httprequest = ##class(%Net.HttpRequest).%New()                   
Set Httprequest.SSLConfiguration="RTLS"                              
Set Httprequest.Server="serverurl"                 
Set Httprequest.Https=1                                              
Set Httprequest.Timeout=30                                           
set Httprequest.ContentType="application/json"                       
Do Httprequest.SetHeader("Accept","text/plain") set Httprequest.Username="user"                      
set Httprequest.Password="password"                              
S stat= Httprequest.Get("someurl")

Set Resp=Httprequest.HttpResponse.Data.Read()

So I did the following from the Terminal:

set Httprequest = ##class(%Net.HttpRequest).%New()                   
Set Httprequest.SSLConfiguration="RTLS"                              
Set Httprequest.Server="serverurl"                 
Set Httprequest.Https=1                                              
Set Httprequest.Timeout=30                                           
set Httprequest.ContentType="application/json"                       
Do Httprequest.SetHeader("Accept","text/plain")
 
set Httprequest.Username="user"                      
set Httprequest.Password="password"                              
S stat= Httprequest.Get("someurl")

W stat
1

so given the status =1 that means everything went ok isn't if not how can I check?

then I did the following to read the JSON file : 
Set Resp=Httprequest.HttpResponse.Data.Read()

but when I cheked what's in Resp I get the below html output:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>IUDEX</title>
    <base href="/" />
 
    <link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
    <link href="_content/Smart.Blazor/css/smart.default.css" rel="stylesheet" />
 
    <link href="css/app.css" rel="stylesheet" />
 
    <link href="Galaxy.Client.styles.css" rel="stylesheet" />
</head>
<body>
    <style>
        .loader-logo {
            width: 256px;
        }
 
        .loader-container {
            flex-direction: column;
            flex-wrap: nowrap;
            justify-content: center;
            align-items: center;
            display: flex;
            gap: 32px;
            height: 512px;
        }
 
        .spinner {
            border: 5px solid #afafaf;
            border-top: 5px solid #e53947;
            border-radius: 50%;
            width: 32px;
            height: 32px;
            animation: spin 700ms linear infinite;
        }
 
        @keyframes spin {
            0% {
                transform: rotate(0deg)
            }
 
            100% {
                transform: rotate(360deg)
            }
        }
    </style>
 
    <div class="loader-container" id="app">
        <img class="loader-logo" src="images/logo-dark.svg" />
        <div class="spinner"></div>
        <div id="blazor-error-ui">
            An unhandled error has occurred.
            <a href="" class="reload">Reload</a>
            <a class="dismiss">🗙</a>
        </div>
    </div>
 
 
 
    <script src="_content/MudBlazor/MudBlazor.min.js"></script>
 
    <script src="_content/Smart.Blazor/js/smart.blazor.js"></script>
    <script src="_content/Smart.Blazor/js/smart.elements.js"></script>
    <script src="_content/Galaxy.DataViewer/canvasjs.min.js"></script>
 
    <script src="_framework/blazor.webassembly.js"></script>
    <script src="js/galaxyLib.min.js"></script>
 
</body>
</html>

I thought I'll be getting a JSON string, FYI I'm supposed to a get a Token in a JSON file?

Thanks