Before the Nexosis API can do anything really useful, you’re going to need to send it some data that it can use for Forecasts or Impact Analysis.
Data can be sent to the Nexosis API as either JSON or CSV, with optional metadata
`timestamp` is the date and time being observed and `values` are a dictionary of values observed at that time.
        
          curl -v -X PUT "https://ml.nexosis.com/v1/data/sales" \
          -H "Content-Type: application/json" \
          -H "api-key: {subscription key}" \
          --data-binary "@/path/to/file/data.json"
        
      
      
      
          
          {
            "data": [
              {
                "timestamp": "2017-05-25T00:00:00+00:00",
                "sales": 1000.0,
                "orders": 100
              },
              {
                "timestamp": "2017-05-26T00:00:00+00:00",
                "sales": 980.0,
                "orders": 98
              },
              {
                "timestamp": "2017-05-27T00:00:00+00:00",
                "sales": 1100.0,
                "orders": 110
              },
              {
                "timestamp": "2017-05-28T00:00:00+00:00",
                "sales": 1080.0,
                "orders": 108
              },
              {
                "timestamp": "2017-05-29T00:00:00+00:00",
                "sales": 1110.0,
                "orders": 111
              }
            ]
          }
          
      
    The API will assume a timestamp role column if your data contains a single date type column with unique values and you have not otherwise specified a key or timestamp role column in metadata.
If your csv data has a timestamp with a different column name, you can provide that name with a parameter in the query string named timestampColumn. For JSON data, simply specify the correct role in the column metadata.
        
          curl -v -X PUT "https://ml.nexosis.com/v1/data/sales?timestampColumn=date" \
          -H "Content-Type: text/csv" \
          -H "api-key: {subscription key}" \
          --data-binary "@/path/to/file/data.csv"
        
      
      
          
          date,sales,orders
          2017-05-25,1000,100
          2017-05-26,980,98
          2017-05-27,1100,110
          2017-05-28,1080,108
          2017-05-29,1110,111
          
      
    The response to the PUT will be an HTTP 200 with a response body that is a summary of the DataSet.
{
  "dataSetName": "sales"
}
PUT to the same DataSet name. If your data has no user provided key, nor a timestamp role column then new data will simply be appended to the DataSet.So, issuing a PUT to the same sales DataSet above like so
curl -v -X PUT "https://ml.nexosis.com/v1/data/sales?timestampColumn=date" \
-H "Content-Type: text/csv" \
-H "api-key: {subscription key}" \
--data-binary "@/path/to/file/data.csv"
date,sales,orders
2017-05-29,1120,112
2017-05-30,1234,123
2017-05-31,1235,123
Will result in the sales DataSet containing the following records:
2017-05-25,1000,100
2017-05-26,980,98
2017-05-27,1100,110
2017-05-28,1080,108
2017-05-29,1120,112
2017-05-30,1234,123
2017-05-31,1235,123
Where the timeStamp that overlapped between the first PUT and the second PUT overwrote the value from the first, and the non-overlapping timeStamps were appended.