diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/AvailabilityGet.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/AvailabilityGet.json
new file mode 100644
index 000000000000..91266ab82b55
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/AvailabilityGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "clientRequestId": "A72703F6-C0B1-49EF-854A-59F1994F54E7",
+ "clientSessionId": "AlertCalculation_W7"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-request-id": "0d59d156-2807-4952-87bb-0e074417dbfb"
+ },
+ "body": {
+ "availability": {
+ "intervalSize": "PT1H",
+ "distribution": {
+ "2019-03-27T04:00:00Z": 432447,
+ "2019-03-27T05:00:00Z": 432340,
+ "2019-03-27T06:00:00Z": 432451,
+ "2019-03-27T07:00:00Z": 432436,
+ "2019-03-26T13:00:00Z": 386247,
+ "2019-03-27T00:00:00Z": 436968,
+ "2019-03-27T01:00:00Z": 432509,
+ "2019-03-27T02:00:00Z": 432487
+ },
+ "range": {
+ "from": "2019-03-14T06:38:27.153Z",
+ "to": "2019-03-27T03:57:11.697Z"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/AvailabilityGetEmpty.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/AvailabilityGetEmpty.json
new file mode 100644
index 000000000000..1f1298797b21
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/AvailabilityGetEmpty.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/EventSchemaGet.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/EventSchemaGet.json
new file mode 100644
index 000000000000..ca36a3cb1160
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/EventSchemaGet.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "searchSpan": {
+ "from": "2018-08-01T00:00:00.000Z",
+ "to": "2018-08-31T00:00:00.000Z"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": [
+ {
+ "name": "Building",
+ "type": "String"
+ },
+ {
+ "name": "Room",
+ "type": "String"
+ },
+ {
+ "name": "DeviceId",
+ "type": "Double"
+ },
+ {
+ "name": "Temperature",
+ "type": "Double"
+ },
+ {
+ "name": "Pressure",
+ "type": "Double"
+ },
+ {
+ "name": "Status",
+ "type": "String"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/EventSchemaGetEmpty.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/EventSchemaGetEmpty.json
new file mode 100644
index 000000000000..744eee2b01a1
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/EventSchemaGetEmpty.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "searchSpan": {
+ "from": "2016-08-01T00:00:00.000Z",
+ "to": "2016-08-31T00:00:00.000Z"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchDeleteByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchDeleteByIds.json
new file mode 100644
index 000000000000..44b365361332
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchDeleteByIds.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "delete": {
+ "hierarchyIds": [
+ "a28fd14c-6b98-4ab5-9301-3840f142d30e"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "delete": [
+ null
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchDeleteByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchDeleteByNames.json
new file mode 100644
index 000000000000..a40829fa36f0
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchDeleteByNames.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "delete": {
+ "names": [
+ "WindFarm"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "delete": [
+ null
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchGetByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchGetByIds.json
new file mode 100644
index 000000000000..0713105d1c64
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchGetByIds.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "get": {
+ "hierarchyIds": [
+ "6e292e54-9a26-4be1-9034-607d71492707",
+ "a28fd14c-6b98-4ab5-9301-3840f142d30e"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "get": [
+ {
+ "hierarchy": {
+ "id": "6e292e54-9a26-4be1-9034-607d71492707",
+ "name": "Location",
+ "source": {
+ "instanceFieldNames": [
+ "state",
+ "city"
+ ]
+ }
+ }
+ },
+ {
+ "hierarchy": {
+ "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e",
+ "name": "ManufactureDate",
+ "source": {
+ "instanceFieldNames": [
+ "year",
+ "month"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchGetByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchGetByNames.json
new file mode 100644
index 000000000000..225a76b00e55
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchGetByNames.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "get": {
+ "names": [
+ "Location",
+ "ManufactureDate"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "get": [
+ {
+ "hierarchy": {
+ "id": "6e292e54-9a26-4be1-9034-607d71492707",
+ "name": "Location",
+ "source": {
+ "instanceFieldNames": [
+ "state",
+ "city"
+ ]
+ }
+ }
+ },
+ {
+ "hierarchy": {
+ "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e",
+ "name": "ManufactureDate",
+ "source": {
+ "instanceFieldNames": [
+ "year",
+ "month"
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchPut.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchPut.json
new file mode 100644
index 000000000000..5b362ff0a512
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesBatchPut.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "put": [
+ {
+ "id": "6e292e54-9a26-4be1-9034-607d71492707",
+ "name": "Location",
+ "source": {
+ "instanceFieldNames": [
+ "state",
+ "city"
+ ]
+ }
+ },
+ {
+ "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e",
+ "name": "ManufactureDate",
+ "source": {
+ "instanceFieldNames": [
+ "year",
+ "month"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "put": [
+ {
+ "hierarchy": {
+ "id": "6e292e54-9a26-4be1-9034-607d71492707",
+ "name": "Location",
+ "source": {
+ "instanceFieldNames": [
+ "state",
+ "city"
+ ]
+ }
+ },
+ "error": null
+ },
+ {
+ "hierarchy": {
+ "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e",
+ "name": "ManufactureDate",
+ "source": {
+ "instanceFieldNames": [
+ "year",
+ "month"
+ ]
+ }
+ },
+ "error": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesGetPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesGetPage1.json
new file mode 100644
index 000000000000..d6d53c985c2c
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesGetPage1.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "hierarchies": [
+ {
+ "id": "6e292e54-9a26-4be1-9034-607d71492707",
+ "name": "Location",
+ "source": {
+ "instanceFieldNames": [
+ "state",
+ "city"
+ ]
+ }
+ }
+ ],
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesGetPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesGetPage2.json
new file mode 100644
index 000000000000..b498dc95ce4a
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesGetPage2.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "hierarchies": [
+ {
+ "id": "6e292e54-9a26-4be1-9034-607d71492707",
+ "name": "Location",
+ "source": {
+ "instanceFieldNames": [
+ "state",
+ "city"
+ ]
+ }
+ }
+ ],
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesGetPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesGetPage3.json
new file mode 100644
index 000000000000..996d7c351b96
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/HierarchiesGetPage3.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "hierarchies": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchDeleteByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchDeleteByIds.json
new file mode 100644
index 000000000000..449171e80616
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchDeleteByIds.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "delete": {
+ "timeSeriesIds": [
+ [
+ "2da181d7-8346-4cf2-bd94-a17742237429",
+ "T1"
+ ],
+ [
+ "18672e3d-2beb-4007-9846-042b09ef3c72",
+ "T2"
+ ]
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "delete": [
+ null,
+ {
+ "code": "InvalidInput",
+ "message": "Time series instance with ID '[\"18672e3d-2beb-4007-9846-042b09ef3c72\", \"T2\"]' cannot be deleted. There are already ingested events associated with this time series ID.",
+ "innerError": {
+ "code": "CannotDeleteInstance"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchDeleteByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchDeleteByNames.json
new file mode 100644
index 000000000000..bc7700bfe138
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchDeleteByNames.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "delete": {
+ "names": [
+ "F2W6.GF",
+ "F1W7.GS1"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "delete": [
+ null,
+ {
+ "code": "InvalidInput",
+ "message": "Time series instance with ID '[\"18672e3d-2beb-4007-9846-042b09ef3c72\", \"T2\"]' cannot be deleted. There are already ingested events associated with this time series ID.",
+ "innerError": {
+ "code": "CannotDeleteInstance"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByIds.json
new file mode 100644
index 000000000000..48e84689b2c5
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByIds.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "get": {
+ "timeSeriesIds": [
+ [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ]
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "get": [
+ {
+ "instance": {
+ "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff",
+ "name": "F1W7.GS1",
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "description": "ContosoFarm1W7_GenSpeed1",
+ "hierarchyIds": [
+ "33d72529-dd73-4c31-93d8-ae4e6cb5605d"
+ ],
+ "instanceFields": {
+ "Name": "GeneratorSpeed",
+ "Plant": "Contoso Plant 1",
+ "Unit": "W7",
+ "System": "Generator System"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByNames.json
new file mode 100644
index 000000000000..5fddde4198cf
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchGetByNames.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "get": {
+ "names": [
+ "F1W7.GS1"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "get": [
+ {
+ "instance": {
+ "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff",
+ "name": "F1W7.GS1",
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "description": "ContosoFarm1W7_GenSpeed1",
+ "hierarchyIds": [
+ "33d72529-dd73-4c31-93d8-ae4e6cb5605d"
+ ],
+ "instanceFields": {
+ "Name": "GeneratorSpeed",
+ "Plant": "Contoso Plant 1",
+ "Unit": "W7",
+ "System": "Generator System"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchPut.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchPut.json
new file mode 100644
index 000000000000..7bd8cfc599a2
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchPut.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "put": [
+ {
+ "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff",
+ "name": "F1W7.GS1",
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "description": "ContosoFarm1W7_GenSpeed1",
+ "hierarchyIds": [
+ "33d72529-dd73-4c31-93d8-ae4e6cb5605d"
+ ],
+ "instanceFields": {
+ "Name": "GeneratorSpeed",
+ "Plant": "Contoso Plant 1",
+ "Unit": "W7",
+ "System": "Generator System"
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "put": [
+ {
+ "error": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchUpdate.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchUpdate.json
new file mode 100644
index 000000000000..7136a81c0abd
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesBatchUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "update": [
+ {
+ "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff",
+ "name": "F1W7.GS1",
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "description": "ContosoFarm1W7_GenSpeed1",
+ "hierarchyIds": [
+ "33d72529-dd73-4c31-93d8-ae4e6cb5605d"
+ ],
+ "instanceFields": {
+ "Name": "GeneratorSpeed",
+ "Plant": "Contoso Plant 1",
+ "Unit": "W7",
+ "System": "Generator System"
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "update": [
+ {
+ "error": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage1.json
new file mode 100644
index 000000000000..4268b544571e
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage1.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "instances": [
+ {
+ "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff",
+ "name": "F1W7.GS1",
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "description": "ContosoFarm1W7_GenSpeed1",
+ "hierarchyIds": [
+ "33d72529-dd73-4c31-93d8-ae4e6cb5605d"
+ ],
+ "instanceFields": {
+ "Name": "GeneratorSpeed",
+ "Plant": "Contoso Plant 1",
+ "Unit": "W7",
+ "System": "Generator System"
+ }
+ }
+ ],
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage2.json
new file mode 100644
index 000000000000..6c4ab015a68e
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage2.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "instances": [
+ {
+ "typeId": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff",
+ "timeSeriesId": [
+ "fe984fd0-f632-49ab-990e-3ded259e29b8",
+ "T1"
+ ],
+ "description": "ContosoFarm1W6_GridVoltage3",
+ "hierarchyIds": [
+ "33d72529-dd73-4c31-93d8-ae4e6cb5605d"
+ ],
+ "instanceFields": {
+ "Name": "GridVoltagePhase3",
+ "Plant": "Contoso Plant 1",
+ "Unit": "W6",
+ "System": "Generator System"
+ }
+ }
+ ],
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage3.json
new file mode 100644
index 000000000000..d1acff07ead0
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesGetPage3.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "instances": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSearchPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSearchPage1.json
new file mode 100644
index 000000000000..1b1b9c3f1493
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSearchPage1.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "searchString": "floor 100"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "instances": [
+ {
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "highlights": {
+ "timeSeriesIds": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "type": "DefaultType",
+ "name": "instance1",
+ "description": "floor 100",
+ "hierarchyIds": [
+ "1643004c-0a84-48a5-80e5-7688c5ae9295"
+ ],
+ "instanceFieldNames": [
+ "state",
+ "city"
+ ],
+ "instanceFieldValues": [
+ "California",
+ "Los Angeles"
+ ]
+ }
+ }
+ ],
+ "instancesContinuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSearchPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSearchPage2.json
new file mode 100644
index 000000000000..0dc85846337e
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSearchPage2.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=",
+ "parameters": {
+ "searchString": "floor 100"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "instances": [
+ {
+ "timeSeriesId": [
+ "18672e3d-2beb-4007-9846-042b09ef3c72",
+ "T1"
+ ],
+ "highlights": {
+ "timeSeriesIds": [
+ "18672e3d-2beb-4007-9846-042b09ef3c72",
+ "T1"
+ ],
+ "type": "DefaultType",
+ "name": "instance1",
+ "description": "floor 100",
+ "hierarchyIds": [
+ "1643004c-0a84-48a5-80e5-7688c5ae9295"
+ ],
+ "instanceFieldNames": [
+ "state",
+ "city"
+ ],
+ "instanceFieldValues": [
+ "California",
+ "Los Angeles"
+ ]
+ }
+ }
+ ],
+ "instancesContinuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSearchPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSearchPage3.json
new file mode 100644
index 000000000000..a6f82d0f7c65
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSearchPage3.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=",
+ "parameters": {
+ "searchString": "floor 100"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "instances": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSuggest.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSuggest.json
new file mode 100644
index 000000000000..d93156890f71
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/InstancesSuggest.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "searchString": "flo",
+ "take": 3
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "suggestions": [
+ {
+ "searchString": "floor 100",
+ "highlightedSearchString": "floor 100"
+ },
+ {
+ "searchString": "sensor on floor 0",
+ "highlightedSearchString": "sensor on floor 0"
+ },
+ {
+ "searchString": "sensor on floor 1",
+ "highlightedSearchString": "sensor on floor 1"
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/ModelSettingsGet.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/ModelSettingsGet.json
new file mode 100644
index 000000000000..f47160dfc95e
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/ModelSettingsGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelSettings": {
+ "name": "DefaultModel",
+ "timeSeriesIdProperties": [
+ {
+ "name": "DeviceId",
+ "type": "String"
+ }
+ ],
+ "defaultTypeId": "5AB70D71-A8CD-410E-B70D-6F04AB9C132C"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/ModelSettingsUpdateName.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/ModelSettingsUpdateName.json
new file mode 100644
index 000000000000..02900f7952d3
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/ModelSettingsUpdateName.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "name": "Thermostats"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelSettings": {
+ "name": "Thermostats",
+ "timeSeriesIdProperties": [
+ {
+ "name": "DeviceId",
+ "type": "String"
+ }
+ ],
+ "defaultTypeId": "5AB70D71-A8CD-410E-B70D-6F04AB9C132C"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryAggregateSeriesPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryAggregateSeriesPage1.json
new file mode 100644
index 000000000000..f132158ada1b
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryAggregateSeriesPage1.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "aggregateSeries": {
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "searchSpan": {
+ "from": "2016-08-01T00:00:00Z",
+ "to": "2016-08-01T00:16:50Z"
+ },
+ "interval": "PT1M",
+ "inlineVariables": {
+ "Count": {
+ "kind": "aggregate",
+ "value": null,
+ "filter": null,
+ "aggregation": {
+ "tsx": "count()"
+ }
+ },
+ "MinTemperature": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature"
+ },
+ "filter": null,
+ "aggregation": {
+ "tsx": "min($value)"
+ }
+ },
+ "MaxTemperature": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature"
+ },
+ "filter": null,
+ "aggregation": {
+ "tsx": "max($value)"
+ }
+ }
+ },
+ "projectedVariables": [
+ "Count",
+ "MinTemperature",
+ "MaxTemperature"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryAggregateSeriesPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryAggregateSeriesPage2.json
new file mode 100644
index 000000000000..8cf17b061d70
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryAggregateSeriesPage2.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=",
+ "parameters": {
+ "aggregateSeries": {
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "searchSpan": {
+ "from": "2016-08-01T00:00:00Z",
+ "to": "2016-08-01T00:16:50Z"
+ },
+ "interval": "PT1M",
+ "inlineVariables": {
+ "Count": {
+ "kind": "aggregate",
+ "value": null,
+ "filter": null,
+ "aggregation": {
+ "tsx": "count()"
+ }
+ },
+ "MinTemperature": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature"
+ },
+ "filter": null,
+ "aggregation": {
+ "tsx": "min($value)"
+ }
+ },
+ "MaxTemperature": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature"
+ },
+ "filter": null,
+ "aggregation": {
+ "tsx": "max($value)"
+ }
+ }
+ },
+ "projectedVariables": [
+ "Count",
+ "MinTemperature",
+ "MaxTemperature"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "timestamps": [
+ "2016-08-01T00:00:00Z",
+ "2016-08-01T00:01:00Z",
+ "2016-08-01T00:02:00Z",
+ "2016-08-01T00:03:00Z",
+ "2016-08-01T00:04:00Z",
+ "2016-08-01T00:05:00Z",
+ "2016-08-01T00:06:00Z",
+ "2016-08-01T00:07:00Z",
+ "2016-08-01T00:08:00Z",
+ "2016-08-01T00:09:00Z",
+ "2016-08-01T00:10:00Z"
+ ],
+ "properties": [
+ {
+ "name": "Count",
+ "type": "Double",
+ "values": [
+ 50.0,
+ 60.0,
+ 60.0,
+ 60.0,
+ 60.0,
+ 60.0,
+ 60.0,
+ 60.0,
+ 60.0,
+ 60.0,
+ null
+ ]
+ },
+ {
+ "name": "AverageTemperature",
+ "type": "Double",
+ "values": [
+ 71.25,
+ 85.0,
+ 82.5,
+ 80.0,
+ 89.166666666666671,
+ 75.0,
+ 90.0,
+ 75.833333333333329,
+ 85.0,
+ 82.5,
+ null
+ ]
+ },
+ {
+ "name": "MinTemperature",
+ "type": "Double",
+ "values": [
+ 65.125,
+ 77.625,
+ 65.125,
+ 72.625,
+ 65.125,
+ 67.625,
+ 82.625,
+ 65.125,
+ 77.625,
+ 65.125,
+ null
+ ]
+ },
+ {
+ "name": "MaxTemperature",
+ "type": "Double",
+ "values": [
+ 77.375,
+ 92.375,
+ 99.875,
+ 87.375,
+ 99.875,
+ 82.375,
+ 97.375,
+ 99.875,
+ 92.375,
+ 99.875,
+ null
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage1.json
new file mode 100644
index 000000000000..19ed26d0fafe
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage1.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "getEvents": {
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "searchSpan": {
+ "from": "2016-08-01T00:00:00Z",
+ "to": "2016-08-01T00:16:50Z"
+ },
+ "filter": {
+ "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
+ },
+ "projectedProperties": [
+ {
+ "name": "Building",
+ "type": "String"
+ },
+ {
+ "name": "Temperature",
+ "type": "Double"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage2.json
new file mode 100644
index 000000000000..9a25dbeeb13b
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage2.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=",
+ "parameters": {
+ "getEvents": {
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "searchSpan": {
+ "from": "2016-08-01T00:00:00Z",
+ "to": "2016-08-01T00:16:50Z"
+ },
+ "filter": {
+ "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
+ },
+ "projectedProperties": [
+ {
+ "name": "Building",
+ "type": "String"
+ },
+ {
+ "name": "Temperature",
+ "type": "Double"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "timestamps": [
+ "2016-08-01T00:00:10Z",
+ "2016-08-01T00:00:11Z",
+ "2016-08-01T00:00:12Z",
+ "2016-08-01T00:00:13Z",
+ "2016-08-01T00:00:14Z",
+ "2016-08-01T00:00:15Z",
+ "2016-08-01T00:00:16Z",
+ "2016-08-01T00:00:17Z",
+ "2016-08-01T00:00:18Z",
+ "2016-08-01T00:00:19Z"
+ ],
+ "properties": [
+ {
+ "name": "Building",
+ "type": "String",
+ "values": [
+ "Millenium",
+ "Millenium",
+ "Millenium",
+ "Millenium",
+ "Millenium",
+ "Millenium",
+ "Millenium",
+ "Millenium",
+ "Millenium",
+ "Millenium"
+ ]
+ },
+ {
+ "name": "Temperature",
+ "type": "Double",
+ "values": [
+ 65.125,
+ 65.375,
+ 65.625,
+ 65.875,
+ 66.125,
+ 66.375,
+ 66.625,
+ 66.875,
+ 67.125,
+ 67.375
+ ]
+ }
+ ],
+ "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage3.json
new file mode 100644
index 000000000000..2a84a3122a49
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage3.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=",
+ "parameters": {
+ "getEvents": {
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "searchSpan": {
+ "from": "2016-08-01T00:00:00Z",
+ "to": "2016-08-01T00:16:50Z"
+ },
+ "filter": {
+ "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
+ },
+ "projectedProperties": [
+ {
+ "name": "Building",
+ "type": "String"
+ },
+ {
+ "name": "Temperature",
+ "type": "Double"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "timestamps": [
+ "2016-08-01T00:00:20Z"
+ ],
+ "properties": [
+ {
+ "name": "Building",
+ "type": "String",
+ "values": [
+ "Millenium"
+ ]
+ },
+ {
+ "name": "Temperature",
+ "type": "Double",
+ "values": [
+ 67.575
+ ]
+ }
+ ],
+ "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage4.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage4.json
new file mode 100644
index 000000000000..0516488f9431
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetEventsPage4.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAbCDewidGFrZSI6MTAwMH0=",
+ "parameters": {
+ "getEvents": {
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "searchSpan": {
+ "from": "2016-08-01T00:00:00Z",
+ "to": "2016-08-01T00:16:50Z"
+ },
+ "filter": {
+ "tsx": "($event.Value.Double != null) OR ($event.Status.String = 'Good')"
+ },
+ "projectedProperties": [
+ {
+ "name": "Building",
+ "type": "String"
+ },
+ {
+ "name": "Temperature",
+ "type": "Double"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "timestamps": [],
+ "properties": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetSeriesPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetSeriesPage1.json
new file mode 100644
index 000000000000..aa3d0288ba2e
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetSeriesPage1.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "getSeries": {
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "searchSpan": {
+ "from": "2016-08-01T00:00:00Z",
+ "to": "2016-08-01T00:16:50Z"
+ },
+ "filter": null,
+ "inlineVariables": {
+ "temperatures": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature"
+ },
+ "filter": null,
+ "aggregation": null
+ }
+ },
+ "projectedVariables": [
+ "temperatures"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetSeriesPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetSeriesPage2.json
new file mode 100644
index 000000000000..62b85d724a70
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetSeriesPage2.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0=",
+ "parameters": {
+ "getSeries": {
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "searchSpan": {
+ "from": "2016-08-01T00:00:00Z",
+ "to": "2016-08-01T00:16:50Z"
+ },
+ "filter": null,
+ "inlineVariables": {
+ "temperatures": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature"
+ },
+ "filter": null,
+ "aggregation": null
+ }
+ },
+ "projectedVariables": [
+ "temperatures"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "timestamps": [
+ "2016-08-01T00:00:10Z",
+ "2016-08-01T00:00:11Z",
+ "2016-08-01T00:00:12Z",
+ "2016-08-01T00:00:13Z",
+ "2016-08-01T00:00:14Z",
+ "2016-08-01T00:00:15Z",
+ "2016-08-01T00:00:16Z",
+ "2016-08-01T00:00:17Z",
+ "2016-08-01T00:00:18Z",
+ "2016-08-01T00:00:19Z",
+ "2016-08-01T00:00:20Z"
+ ],
+ "properties": [
+ {
+ "name": "temperatures",
+ "type": "Double",
+ "values": [
+ 65.125,
+ 65.375,
+ 65.625,
+ 65.875,
+ 66.125,
+ 66.375,
+ 66.625,
+ 66.875,
+ 67.125,
+ 67.375,
+ 67.625
+ ]
+ }
+ ],
+ "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetSeriesPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetSeriesPage3.json
new file mode 100644
index 000000000000..f08552357e0d
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/QueryGetSeriesPage3.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAxYZwidGFrZSI6MTAwMH0=",
+ "parameters": {
+ "getSeries": {
+ "timeSeriesId": [
+ "006dfc2d-0324-4937-998c-d16f3b4f1952",
+ "T1"
+ ],
+ "searchSpan": {
+ "from": "2016-08-01T00:00:00Z",
+ "to": "2016-08-01T00:16:50Z"
+ },
+ "filter": null,
+ "inlineVariables": {
+ "temperatures": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature"
+ },
+ "filter": null,
+ "aggregation": null
+ }
+ },
+ "projectedVariables": [
+ "temperatures"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "timestamps": [
+ "2016-08-01T00:00:21Z"
+ ],
+ "properties": [
+ {
+ "name": "temperatures",
+ "type": "Double",
+ "values": [
+ 67.825
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchDeleteByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchDeleteByIds.json
new file mode 100644
index 000000000000..7c59bf94c9e2
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchDeleteByIds.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "delete": {
+ "typeIds": [
+ "9250f816-faed-44c4-88e6-630e5eefa38b"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "delete": [
+ null
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchDeleteByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchDeleteByNames.json
new file mode 100644
index 000000000000..fb8f0e8239e3
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchDeleteByNames.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "delete": {
+ "names": [
+ "TemperatureSensor"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "delete": [
+ null
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchGetByIds.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchGetByIds.json
new file mode 100644
index 000000000000..77728ec9a6f3
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchGetByIds.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "get": {
+ "typeIds": [
+ "1be09af9-f089-4d6b-9f0b-48018b5f7393",
+ "c1cb7a33-ed9b-4cf1-9958-f3162fed8ee8"
+ ],
+ "names": null
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "get": [
+ {
+ "timeSeriesType": {
+ "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393",
+ "name": "DefaultType",
+ "description": "Default type",
+ "variables": {
+ "EventCount": {
+ "kind": "aggregate",
+ "filter": null,
+ "aggregation": {
+ "tsx": "count()"
+ }
+ }
+ }
+ },
+ "error": null
+ },
+ {
+ "timeSeriesType": {
+ "id": "c1cb7a33-ed9b-4cf1-9958-f3162fed8ee8",
+ "name": "TemperatureSensor",
+ "description": "This is a temperature sensor.",
+ "variables": {
+ "AverageTemperature": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature.Double"
+ },
+ "filter": null,
+ "aggregation": {
+ "tsx": "avg($value)"
+ }
+ }
+ }
+ },
+ "error": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchGetByNames.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchGetByNames.json
new file mode 100644
index 000000000000..29755b58665a
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchGetByNames.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "get": {
+ "names": [
+ "DefaultType",
+ "TemperatureSensor"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "get": [
+ {
+ "timeSeriesType": {
+ "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393",
+ "name": "DefaultType",
+ "description": "Default type",
+ "variables": {
+ "EventCount": {
+ "kind": "aggregate",
+ "filter": null,
+ "aggregation": {
+ "tsx": "count()"
+ }
+ }
+ }
+ },
+ "error": null
+ },
+ {
+ "timeSeriesType": {
+ "id": "c1cb7a33-ed9b-4cf1-9958-f3162fed8ee8",
+ "name": "TemperatureSensor",
+ "description": "This is a temperature sensor.",
+ "variables": {
+ "AverageTemperature": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature.Double"
+ },
+ "filter": null,
+ "aggregation": {
+ "tsx": "avg($value)"
+ }
+ }
+ }
+ },
+ "error": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchPut.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchPut.json
new file mode 100644
index 000000000000..7d76ee3b10b2
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesBatchPut.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "parameters": {
+ "put": [
+ {
+ "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393",
+ "name": "DefaultType",
+ "description": "My Default type",
+ "variables": {
+ "EventCount": {
+ "kind": "aggregate",
+ "value": null,
+ "filter": null,
+ "aggregation": {
+ "tsx": "count()"
+ }
+ }
+ }
+ },
+ {
+ "id": "c1cb7a33-ed9b-4cf1-9958-f3162fed8ee8",
+ "name": "OutdoorTemperatureSensor",
+ "description": "This is an outdoor temperature sensor.",
+ "variables": {
+ "AverageTemperature": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature.Double"
+ },
+ "filter": {
+ "tsx": "$event.Mode.String = 'outdoor'"
+ },
+ "aggregation": {
+ "tsx": "avg($value)"
+ }
+ }
+ }
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "put": [
+ {
+ "timeSeriesType": {
+ "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393",
+ "name": "DefaultType",
+ "description": "My Default type",
+ "variables": {
+ "EventCount": {
+ "kind": "aggregate",
+ "filter": null,
+ "aggregation": {
+ "tsx": "count()"
+ }
+ }
+ }
+ },
+ "error": null
+ },
+ {
+ "timeSeriesType": {
+ "id": "c1cb7a33-ed9b-4cf1-9958-f3162fed8ee8",
+ "name": "OutdoorTemperatureSensor",
+ "description": "This is an outdoor temperature sensor.",
+ "variables": {
+ "AverageTemperature": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.Temperature.Double"
+ },
+ "filter": {
+ "tsx": "$event.Mode.String = 'outdoor'"
+ },
+ "aggregation": {
+ "tsx": "avg($value)"
+ }
+ }
+ }
+ },
+ "error": null
+ }
+ ]
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesGetPage1.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesGetPage1.json
new file mode 100644
index 000000000000..692f56ea1e03
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesGetPage1.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "types": [
+ {
+ "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393",
+ "name": "DefaultType",
+ "description": "My Default type",
+ "variables": {
+ "EventCount": {
+ "kind": "aggregate",
+ "filter": null,
+ "aggregation": {
+ "tsx": "count()"
+ }
+ }
+ }
+ }
+ ],
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesGetPage2.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesGetPage2.json
new file mode 100644
index 000000000000..89a8c5a73a7b
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesGetPage2.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrZSI6MTAwMH0="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "types": [
+ {
+ "id": "9b84e946-7b36-4aa0-9d26-71bf48cb2aff",
+ "name": "TurbineSensor",
+ "description": "Wind turbine sensor",
+ "variables": {
+ "Value": {
+ "kind": "numeric",
+ "value": {
+ "tsx": "$event.value.Double"
+ },
+ "aggregation": {
+ "tsx": "avg($value)"
+ }
+ }
+ }
+ }
+ ],
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0="
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesGetPage3.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesGetPage3.json
new file mode 100644
index 000000000000..b42f5396ec94
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/examples/TypesGetPage3.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "environmentFqdn": "10000000-0000-0000-0000-100000000109.env.timeseries.azure.com",
+ "continuationToken": "aXsic2tpcCI6MTAwMCwidGFrASI6MTAwMH0="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "types": []
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json
new file mode 100644
index 000000000000..d45fafb99781
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json
@@ -0,0 +1,2042 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "TimeSeriesInsightsClient",
+ "description": "Time Series Insights environment data plane client for PAYG (Preview L1 SKU) environments.",
+ "version": "2018-11-01-preview"
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{environmentFqdn}",
+ "useSchemePrefix": true,
+ "positionInOperation": "first",
+ "parameters": [
+ {
+ "$ref": "#/parameters/EnvironmentFqdn"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/availability": {
+ "get": {
+ "operationId": "GetAvailability",
+ "description": "Returns the time range and distribution of event count over the event timestamp ($ts). This API can be used to provide landing experience of navigating to the environment.",
+ "x-ms-examples": {
+ "AvailabilityGet": {
+ "$ref": "./examples/AvailabilityGet.json"
+ },
+ "AvailabilityGetEmpty": {
+ "$ref": "./examples/AvailabilityGetEmpty.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/AvailabilityResponse"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/eventSchema": {
+ "post": {
+ "operationId": "GetEventSchema",
+ "description": "Returns environment event schema for a given search span. Event schema is a set of property definitions. Event schema may not be contain all persisted properties when there are too many properties.",
+ "x-ms-examples": {
+ "EventSchemaGet": {
+ "$ref": "./examples/EventSchemaGet.json"
+ },
+ "EventSchemaGetEmpty": {
+ "$ref": "./examples/EventSchemaGetEmpty.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GetEventSchemaRequest"
+ },
+ "description": "Parameters to get event schema."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/EventSchema"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/timeseries/modelSettings": {
+ "get": {
+ "operationId": "GetModelSettings",
+ "description": "Returns the model settings which includes model display name, Time Series ID properties and default type ID. Every pay-as-you-go environment has a model that is automatically created.",
+ "x-ms-examples": {
+ "ModelSettingsGet": {
+ "$ref": "./examples/ModelSettingsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/ModelSettingsResponse"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "UpdateModelSettings",
+ "description": "Updates time series model settings - either the model name or default type ID.",
+ "x-ms-examples": {
+ "ModelSettingsUpdateName": {
+ "$ref": "./examples/ModelSettingsUpdateName.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateModelSettingsRequest"
+ },
+ "description": "Model settings update request body."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation returns new full model settings.",
+ "schema": {
+ "$ref": "#/definitions/ModelSettingsResponse"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/timeseries/query": {
+ "post": {
+ "operationId": "ExecuteQueryPaged",
+ "description": "Executes Time Series Query in pages of results - Get Events, Get Series or Aggregate Series.",
+ "x-ms-examples": {
+ "QueryAggregateSeriesPage1": {
+ "$ref": "./examples/QueryAggregateSeriesPage1.json"
+ },
+ "QueryAggregateSeriesPage2": {
+ "$ref": "./examples/QueryAggregateSeriesPage2.json"
+ },
+ "QueryGetEventsPage1": {
+ "$ref": "./examples/QueryGetEventsPage1.json"
+ },
+ "QueryGetEventsPage2": {
+ "$ref": "./examples/QueryGetEventsPage2.json"
+ },
+ "QueryGetEventsPage3": {
+ "$ref": "./examples/QueryGetEventsPage3.json"
+ },
+ "QueryGetEventsPage4": {
+ "$ref": "./examples/QueryGetEventsPage4.json"
+ },
+ "QueryGetSeriesPage1": {
+ "$ref": "./examples/QueryGetSeriesPage1.json"
+ },
+ "QueryGetSeriesPage2": {
+ "$ref": "./examples/QueryGetSeriesPage2.json"
+ },
+ "QueryGetSeriesPage3": {
+ "$ref": "./examples/QueryGetSeriesPage3.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ContinuationToken"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryRequest"
+ },
+ "description": "Time series query request body."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful query.",
+ "schema": {
+ "$ref": "#/definitions/QueryResultPage"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/timeseries/instances": {
+ "get": {
+ "operationId": "GetInstancesPaged",
+ "description": "Gets time series instances in pages.",
+ "x-ms-examples": {
+ "InstancesGetPage1": {
+ "$ref": "./examples/InstancesGetPage1.json"
+ },
+ "InstancesGetPage2": {
+ "$ref": "./examples/InstancesGetPage2.json"
+ },
+ "InstancesGetPage3": {
+ "$ref": "./examples/InstancesGetPage3.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ContinuationToken"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/GetInstancesPage"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/timeseries/instances/$batch": {
+ "post": {
+ "operationId": "ExecuteInstancesBatchOperation",
+ "description": "Executes a batch get, create, update, delete operation on multiple time series instances.",
+ "x-ms-examples": {
+ "InstancesBatchDeleteByIds": {
+ "$ref": "./examples/InstancesBatchDeleteByIds.json"
+ },
+ "InstancesBatchDeleteByNames": {
+ "$ref": "./examples/InstancesBatchDeleteByNames.json"
+ },
+ "InstancesBatchGetByIds": {
+ "$ref": "./examples/InstancesBatchGetByIds.json"
+ },
+ "InstancesBatchGetByNames": {
+ "$ref": "./examples/InstancesBatchGetByIds.json"
+ },
+ "InstancesBatchUpdate": {
+ "$ref": "./examples/InstancesBatchUpdate.json"
+ },
+ "InstancesBatchPut": {
+ "$ref": "./examples/InstancesBatchPut.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/InstancesBatchRequest"
+ },
+ "description": "Time series instances suggest request body."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/InstancesBatchResponse"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/timeseries/instances/suggest": {
+ "post": {
+ "operationId": "SuggestInstances",
+ "description": "Suggests keywords based on time series instance attributes to be later used in Search Instances.",
+ "x-ms-examples": {
+ "InstancesSuggest": {
+ "$ref": "./examples/InstancesSuggest.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/InstancesSuggestRequest"
+ },
+ "description": "Time series instances suggest request body."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/InstancesSuggestResponse"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/timeseries/instances/search": {
+ "post": {
+ "operationId": "SearchInstancesPaged",
+ "description": "Partial list of hits on search for time series instances based on instance attributes.",
+ "x-ms-examples": {
+ "InstancesSearchPage1": {
+ "$ref": "./examples/InstancesSearchPage1.json"
+ },
+ "InstancesSearchPage2": {
+ "$ref": "./examples/InstancesSearchPage2.json"
+ },
+ "InstancesSearchPage3": {
+ "$ref": "./examples/InstancesSearchPage3.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ContinuationToken"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/InstancesSearchRequest"
+ },
+ "description": "Time series instances search request body."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful search response.",
+ "schema": {
+ "$ref": "#/definitions/InstancesSearchResponsePage"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/timeseries/types": {
+ "get": {
+ "operationId": "GetTypesPaged",
+ "description": "Gets time series types in pages.",
+ "x-ms-examples": {
+ "TypesGetPage1": {
+ "$ref": "./examples/TypesGetPage1.json"
+ },
+ "TypesGetPage2": {
+ "$ref": "./examples/TypesGetPage2.json"
+ },
+ "TypesGetPage3": {
+ "$ref": "./examples/TypesGetPage3.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ContinuationToken"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/GetTypesPage"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/timeseries/types/$batch": {
+ "post": {
+ "operationId": "ExecuteTypesBatchOperation",
+ "description": "Executes a batch get, create, update, delete operation on multiple time series types.",
+ "x-ms-examples": {
+ "TypesBatchGetByIds": {
+ "$ref": "./examples/TypesBatchGetByIds.json"
+ },
+ "TypesBatchGetByNames": {
+ "$ref": "./examples/TypesBatchGetByNames.json"
+ },
+ "TypesBatchPut": {
+ "$ref": "./examples/TypesBatchPut.json"
+ },
+ "TypesBatchDeleteByIds": {
+ "$ref": "./examples/TypesBatchDeleteByIds.json"
+ },
+ "TypesBatchDeleteByNames": {
+ "$ref": "./examples/TypesBatchDeleteByNames.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TypesBatchRequest"
+ },
+ "description": "Time series types batch request body."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/TypesBatchResponse"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/timeseries/hierarchies": {
+ "get": {
+ "operationId": "GetHierarchiesPaged",
+ "description": "Returns time series hierarchies definitions in pages.",
+ "x-ms-examples": {
+ "HierarchiesGetPage1": {
+ "$ref": "./examples/HierarchiesGetPage1.json"
+ },
+ "HierarchiesGetPage2": {
+ "$ref": "./examples/HierarchiesGetPage2.json"
+ },
+ "HierarchiesGetPage3": {
+ "$ref": "./examples/HierarchiesGetPage3.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "#/parameters/ContinuationToken"
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/GetHierarchiesPage"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ },
+ "/timeseries/hierarchies/$batch": {
+ "post": {
+ "operationId": "ExecuteHierarchiesBatchOperation",
+ "description": "Executes a batch get, create, update, delete operation on multiple time series hierarchy definitions.",
+ "x-ms-examples": {
+ "HierarchiesBatchGetByIds": {
+ "$ref": "./examples/HierarchiesBatchGetByIds.json"
+ },
+ "HierarchiesBatchGetByNames": {
+ "$ref": "./examples/HierarchiesBatchGetByNames.json"
+ },
+ "HierarchiesBatchPut": {
+ "$ref": "./examples/HierarchiesBatchPut.json"
+ },
+ "HierarchiesBatchDeleteByIds": {
+ "$ref": "./examples/HierarchiesBatchDeleteByIds.json"
+ },
+ "HierarchiesBatchDeleteByNames": {
+ "$ref": "./examples/HierarchiesBatchDeleteByNames.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HierarchiesBatchRequest"
+ },
+ "description": "Time series hierarchies batch request body."
+ },
+ {
+ "$ref": "#/parameters/ClientRequestId"
+ },
+ {
+ "$ref": "#/parameters/ClientSessionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful operation.",
+ "schema": {
+ "$ref": "#/definitions/HierarchiesBatchResponse"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error.",
+ "schema": {
+ "$ref": "#/definitions/TsiError"
+ },
+ "headers": {
+ "x-ms-request-id": {
+ "x-ms-client-name": "serverRequestId",
+ "type": "string",
+ "description": "Server-generated request ID. Can be used to contact support to investigate a request."
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AvailabilityResponse": {
+ "description": "Response of Get Availability operation. When environment has no data, availability property is null.",
+ "type": "object",
+ "properties": {
+ "availability": {
+ "description": "Event availability information when environment contains events. When environment has no data yet, this property is null or not present.",
+ "readOnly": true,
+ "$ref": "#/definitions/Availability"
+ }
+ }
+ },
+ "Availability": {
+ "description": "Event availability information when environment contains events. Contains time range of events and approximate distribution of events over time.",
+ "type": "object",
+ "properties": {
+ "range": {
+ "description": "Minimum and maximum values of event timestamp ($ts) property.",
+ "$ref": "#/definitions/DateTimeRange",
+ "readOnly": true
+ },
+ "intervalSize": {
+ "description": "Interval size for the returned distribution of the events. Returned interval is selected to return a reasonable number of points. All intervals are the same size. On the wire interval is specified in ISO-8601 duration format. One month is always converted to 30 days, and one year is always 365 days. Examples: 1 minute is \"PT1M\", 1 millisecond is \"PT0.001S\". For more information, see https://www.w3.org/TR/xmlschema-2/#duration",
+ "readOnly": true,
+ "type": "string",
+ "format": "duration"
+ },
+ "distribution": {
+ "additionalProperties": {
+ "description": "Key value pair where key represents the interval denoted by the date time of the start of the interval and the value is the number of events in that interval.",
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ }
+ },
+ "GetEventSchemaRequest": {
+ "description": "Request to get the event schema of all events within a given search span.",
+ "type": "object",
+ "properties": {
+ "searchSpan": {
+ "description": "The range of time on which the query is executed. Cannot be null.",
+ "$ref": "#/definitions/DateTimeRange"
+ }
+ },
+ "required": [
+ "searchSpan"
+ ]
+ },
+ "EventSchema": {
+ "description": "Event schema of all events within a given search span. Event schema is a set of property definitions. Properties are identified by both name and type. Different events can have properties with same name, but different type. Event schema may not be contain all persisted properties when there are too many properties.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "A set of property definitions. When environment has no data, the returned array is empty.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventProperty"
+ }
+ }
+ }
+ },
+ "QueryRequest": {
+ "type": "object",
+ "description": "Request to execute a time series query over events. Exactly one of \"getEvents\", \"getSeries\" or \"aggregateSeries\" must be set.",
+ "properties": {
+ "getEvents": {
+ "description": "Get Events query. Allows to retrieve raw events for a given Time Series ID and search span.",
+ "$ref": "#/definitions/GetEvents"
+ },
+ "getSeries": {
+ "description": "Get Series query. Allows to retrieve time series of calculated variable values from events for a given Time Series ID and search span.",
+ "$ref": "#/definitions/GetSeries"
+ },
+ "aggregateSeries": {
+ "description": "Aggregate Series query. Allows to calculate an aggregated time series from events for a given Time Series ID and search span.",
+ "$ref": "#/definitions/AggregateSeries"
+ }
+ }
+ },
+ "GetEvents": {
+ "description": "Get Events query. Allows to retrieve raw events for a given Time Series ID and search span.",
+ "type": "object",
+ "properties": {
+ "timeSeriesId": {
+ "description": "A single Time Series ID value that uniquely identifies a single time series instance (e.g. a device). Note that a single Time Series ID can be composite if multiple properties are specified as Time Series ID at environment creation time. The position and type of values must match Time Series ID properties specified on the environment and returned by Get Model Setting API. Cannot be null.",
+ "$ref": "#/definitions/TimeSeriesId"
+ },
+ "searchSpan": {
+ "description": "The range of time on which the query is executed. Cannot be null.",
+ "$ref": "#/definitions/DateTimeRange"
+ },
+ "filter": {
+ "description": "Optional top-level filter for the query which will be applied to all the variables in the query. Example: \"$event.Status.String='Good'\". Can be null.",
+ "$ref": "#/definitions/Tsx"
+ },
+ "projectedProperties": {
+ "description": "Projected properties is an array of property names which you want to project. These properties must appear in the events.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "timeSeriesId",
+ "searchSpan"
+ ]
+ },
+ "GetSeries": {
+ "description": "Get Series query. Allows to retrieve time series of calculated variable values from events for a given Time Series ID and search span.",
+ "type": "object",
+ "properties": {
+ "timeSeriesId": {
+ "description": "A single Time Series ID value that uniquely identifies a single time series instance (e.g. a device). Note that a single Time Series ID can be composite if multiple properties are specified as Time Series ID at environment creation time. The position and type of values must match Time Series ID properties specified on the environment and returned by Get Model Setting API. Cannot be null.",
+ "$ref": "#/definitions/TimeSeriesId"
+ },
+ "searchSpan": {
+ "description": "The range of time on which the query is executed. Cannot be null.",
+ "$ref": "#/definitions/DateTimeRange"
+ },
+ "filter": {
+ "description": "Top-level filter over the events that restricts the number of events being considered for computation. This filter is AND'ed with filter in each variable. Example: \"$event.Status.String='Good'\". Optional.",
+ "$ref": "#/definitions/Tsx"
+ },
+ "projectedVariables": {
+ "description": "Selected variables that needs to be projected in the query result. When it is null or not set, all the variables from inlineVariables and time series type in the model are returned. Can be null.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "inlineVariables": {
+ "description": "Optional inline variables apart from the ones already defined in the time series type in the model. When the inline variable name is the same name as in the model, the inline variable definition takes precedence. Can be null.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Variable"
+ }
+ }
+ },
+ "required": [
+ "timeSeriesId",
+ "searchSpan"
+ ]
+ },
+ "AggregateSeries": {
+ "description": "Aggregate Series query. Allows to calculate an aggregated time series from events for a given Time Series ID and search span.",
+ "type": "object",
+ "properties": {
+ "timeSeriesId": {
+ "description": "A single Time Series ID value that uniquely identifies a single time series instance (e.g. a device). Note that a single Time Series ID can be composite if multiple properties are specified as Time Series ID at environment creation time. The position and type of values must match Time Series ID properties specified on the environment and returned by Get Model Setting API. Cannot be null.",
+ "$ref": "#/definitions/TimeSeriesId"
+ },
+ "searchSpan": {
+ "description": "The range of time on which the query is executed. Cannot be null.",
+ "$ref": "#/definitions/DateTimeRange"
+ },
+ "filter": {
+ "description": "Top-level filter over the events that restricts the number of events being considered for computation. This filter is AND'ed with filter in each variable. Example: \"$event.Status.String='Good'\". Optional.",
+ "$ref": "#/definitions/Tsx"
+ },
+ "interval": {
+ "type": "string",
+ "format": "duration",
+ "description": "Interval size is specified in ISO-8601 duration format. All intervals are the same size. One month is always converted to 30 days, and one year is always 365 days. Examples: 1 minute is \"PT1M\", 1 millisecond is \"PT0.001S\". For more information, see https://www.w3.org/TR/xmlschema-2/#duration"
+ },
+ "projectedVariables": {
+ "description": "This allows the user to optionally select the variables that needs to be projected. When it is null or not set, all the variables from inlineVariables and model are returned. Can be null.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "inlineVariables": {
+ "description": "This allows the user the optionally define inline-variables apart from the ones already defined in the model. When the inline variable names have the same name as the model, the inline variable definition takes precedence. Can be null.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Variable"
+ }
+ }
+ },
+ "required": [
+ "timeSeriesId",
+ "searchSpan",
+ "interval"
+ ]
+ },
+ "TimeSeriesId": {
+ "description": "A single Time Series ID value that is an array of primitive values that uniquely identifies a time series instance (e.g. a single device). Note that a single Time Series ID can be composite if multiple properties are specified as Time Series ID at environment creation time. The position and type of values must match Time Series ID properties specified on the environment and returned by Get Model Setting API. Cannot be empty.",
+ "type": "array",
+ "items": {
+ "description": "A single Time Series ID value that is an array of primitive values that uniquely identifies a time series instance (e.g. a single device). Note that a single Time Series ID can be composite if multiple properties are specified as Time Series ID at environment creation time. The position and type of values must match Time Series ID properties specified on the environment and returned by Get Model Setting API. Cannot be empty."
+ },
+ "minItems": 1
+ },
+ "Tsx": {
+ "description": "Time series expression (TSX) written as a single string. Examples: \"$event.Status.String='Good'\", \"avg($event.Temperature)\". Refer to the documentation on how to write time series expressions.",
+ "type": "object",
+ "properties": {
+ "tsx": {
+ "description": "Time series expression (TSX) written as a single string. Examples: \"$event.Status.String='Good'\", \"avg($event.Temperature)\". Refer to the documentation on how to write time series expressions.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "tsx"
+ ]
+ },
+ "DateTimeRange": {
+ "description": "The range of time. Cannot be null or negative.",
+ "type": "object",
+ "properties": {
+ "from": {
+ "description": "Start timestamp of the time range. Start timestamp is inclusive when used in time series query requests. Events that have this timestamp are included.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "End timestamp of the time range. End timestamp is exclusive when used in time series query requests. Events that match this timestamp are excluded. Note that end timestamp is inclusive when returned by Get Availability (meaning that there is an event with this exact \"to\" timestamp).",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "NumericVariable": {
+ "description": "Numeric variable represents a single continuous numeric signal that can be reconstructed using interpolation.",
+ "x-ms-discriminator-value": "numeric",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Variable"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Value time series expression is used to represent the value of the signal that is going to be aggregated or interpolated. For example, temperature values from the event is represented like this: \"$event.Temperature.Double\".",
+ "$ref": "#/definitions/Tsx"
+ },
+ "aggregation": {
+ "description": "Aggregation time series expression when kind is \"numeric\" is used to represent the aggregation that needs to be performed on the $value expression. This requires $value to be specified and can only use $value inside the aggregate functions. For example, aggregation for calculating minimum of the $value is written as: \"min($value)\".",
+ "$ref": "#/definitions/Tsx"
+ }
+ }
+ }
+ ],
+ "required": [
+ "kind",
+ "value",
+ "aggregation"
+ ]
+ },
+ "AggregateVariable": {
+ "description": "Aggregate variable represents any aggregation calculation.",
+ "x-ms-discriminator-value": "aggregate",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Variable"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "aggregation": {
+ "description": "Aggregation time series expression when kind is \"aggregate\" is used to represent the aggregation that needs to be performed directly using event properties like \"$event.Temperature\". For example, aggregation for calculating range of temperature changes can be written as: \"max($event.Temperature)-min($event.Temperature)\".",
+ "$ref": "#/definitions/Tsx"
+ }
+ }
+ }
+ ],
+ "required": [
+ "kind",
+ "aggregation"
+ ]
+ },
+ "Variable": {
+ "description": "Variables are named calculations over values from the events. Time Series Insights variable definitions contain formula and computation rules. Variables are stored in the type definition in Time Series Model and can be provided inline via Query APIs to override the stored definition.",
+ "type": "object",
+ "discriminator": "kind",
+ "properties": {
+ "kind": {
+ "description": "Allowed \"kind\" values are - \"numeric\" or \"aggregate\". While \"numeric\" allows you to specify value of the reconstructed signal and the expression to aggregate them, the \"aggregate\" kind lets you directly aggregate on the event properties without specifying value.",
+ "type": "string"
+ },
+ "filter": {
+ "description": "Filter over the events that restricts the number of events being considered for computation. Example: \"$event.Status.String='Good'\". Optional.",
+ "$ref": "#/definitions/Tsx"
+ }
+ },
+ "required": [
+ "kind"
+ ]
+ },
+ "QueryResultPage": {
+ "description": "A single page of query results. If query has not finished yet, a page will have continuation token set. In this case, to get the next page of results, send the same request again with continuation token parameter. If query has completed, the continuation token is null. It is also possible to get an empty page with only continuation token set when no query results have been computed yet. If paging has completed (continuation token is null), then timestamps and properties may be empty if there is no data to return.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PagedResponse"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "timestamps": {
+ "description": "The timestamps of the values of the time series. If an aggregation over intervals is used, timestamps represent the start of corresponding intervals. If events are retrieved, timestamps are values of timestamp $ts property of events. Can be null if server was unable to fill the page in this request, or can be empty if there are no more objects when continuation token is null.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "properties": {
+ "description": "Collection of time series properties and values for each of the timestamps. Can be null if server was unable to fill the page in this request, or can be empty if there are no more objects when continuation token is null.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PropertyValues"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "PropertyValues": {
+ "description": "Values of a single property corresponding to the timestamps. May contain nulls. Type of values matches the type of property.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventProperty"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "values": {
+ "description": "Values of a single property corresponding to the timestamps. May contain nulls. Type of values matches the type of property.",
+ "type": "array",
+ "items": {}
+ }
+ }
+ }
+ ]
+ },
+ "GetInstancesPage": {
+ "description": "Partial list of time series instances returned in a single request.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PagedResponse"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "instances": {
+ "description": "Partial list of time series instances returned in a single request. Can be empty if server was unable to fill the page in this request, or there is no more objects when continuation token is null.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesInstance"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "TimeSeriesInstance": {
+ "description": "Time series instances are the time series themselves. In most cases, the deviceId or assetId is the unique identifier of the asset in the environment. Instances have descriptive information associated with them called instance fields. At a minimum, instance fields include hierarchy information. They can also include useful, descriptive data like the manufacturer, operator, or the last service date.",
+ "type": "object",
+ "properties": {
+ "timeSeriesId": {
+ "description": "Time Series ID that uniquely identifies the instance. It matches Time Series ID properties in an environment. Immutable, never null.",
+ "$ref": "#/definitions/TimeSeriesId"
+ },
+ "typeId": {
+ "description": "This represents the type that this instance belongs to. Never null.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "name": {
+ "description": "Optional name of the instance which is unique in an environment. Names acts as a mutable alias or display name of the time series instance. Mutable, may be null.",
+ "type": "string"
+ },
+ "description": {
+ "description": "This optional field contains description about the instance.",
+ "type": "string"
+ },
+ "hierarchyIds": {
+ "description": "Set of time series hierarchy IDs that the instance belong to. May be null.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "instanceFields": {
+ "description": "Set of key-value pairs that contain user-defined instance properties. May be null.",
+ "type": "object",
+ "additionalProperties": {}
+ }
+ },
+ "required": [
+ "timeSeriesId",
+ "typeId"
+ ]
+ },
+ "InstancesBatchRequest": {
+ "description": "Request to perform a single operation on a batch of instances. Exactly one of \"get\", \"put\", \"update\" or \"delete\" must be set.",
+ "type": "object",
+ "properties": {
+ "get": {
+ "description": "Time series IDs or names of time series instances to return.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesId"
+ }
+ },
+ "put": {
+ "description": "Time series instances to be created or updated.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesInstance"
+ }
+ },
+ "update": {
+ "description": "Time series instances to be updated onlRequest to perform a single operation on a batch of instances. y. If instance does not exist, an error is returned.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesInstance"
+ }
+ },
+ "delete": {
+ "description": "Time series IDs or names of time series instances to delete.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesId"
+ }
+ }
+ }
+ },
+ "InstancesRequestBatchGetOrDelete": {
+ "description": "Request to get or delete instances by time series IDs or time series names. Exactly one of \"timeSeriesIds\" or \"names\" must be set.",
+ "type": "object",
+ "properties": {
+ "timeSeriesIds": {
+ "description": "List of time series IDs of the time series instances to return or delete.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "names": {
+ "description": "List of names of the time series instances to return or delete.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "InstancesBatchResponse": {
+ "description": "Response of a single operation on a batch of instances. Only one of \"get\", \"put\", \"update\" or \"delete\" will be set based on the request.",
+ "type": "object",
+ "properties": {
+ "get": {
+ "description": "List of instance or error objects corresponding by position to the \"get\" array in the request. Instance object is set when operation is successful and error object is set when operation is unsuccessful.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceOrError"
+ }
+ },
+ "put": {
+ "description": "List of error objects corresponding by position to the \"put\" array in the request. Error object is set when operation is unsuccessful.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceOrError"
+ }
+ },
+ "update": {
+ "description": "List of error objects corresponding by position to the \"update\" array in the request. Instance object is set when operation is successful and error object is set when operation is unsuccessful.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceOrError"
+ }
+ },
+ "delete": {
+ "description": "List of error objects corresponding by position to the \"delete\" array in the request. Null means the instance has been deleted, or did not exist. Error object is set when operation is unsuccessful (e.g. when there are events associated with this time series instance).",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TsiErrorBody"
+ }
+ }
+ }
+ },
+ "InstanceOrError": {
+ "description": "Result of a batch operation on a particular time series instance. Instance object is set when operation is successful (except put operation) and error object is set when operation is unsuccessful.",
+ "type": "object",
+ "properties": {
+ "instance": {
+ "description": "Time series instance object - set when the operation is successful (except put operation).",
+ "readOnly": true,
+ "$ref": "#/definitions/TimeSeriesInstance"
+ },
+ "error": {
+ "description": "Error object - set when the operation is unsuccessful.",
+ "readOnly": true,
+ "$ref": "#/definitions/TsiErrorBody"
+ }
+ }
+ },
+ "GetTypesPage": {
+ "description": "Partial list of time series types returned in a single request.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PagedResponse"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "types": {
+ "description": "Partial list of time series types returned in a single request. Can be empty if server was unable to fill the page with more types in this request, or there is no more types when continuation token is null.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesType"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "TimeSeriesType": {
+ "description": "Time series type defines variables or formulas for doing computation on events associated with time series instances. Each time series instance is associated with exactly one type. A type can have one or more variables. For example, a time series instance might be of type Temperature Sensor, which consists of the variables avg temperature, min temperature, and max temperature.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique type identifier that is immutable. Can be null on create or update requests, and then server generates the ID. Not null on get and delete operations.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "name": {
+ "description": "User-given unique name for the type. Mutable, not null.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the type. May be null.",
+ "type": "string"
+ },
+ "variables": {
+ "description": "Different variables associated with the type. Not empty, not null.",
+ "additionalProperties": {
+ "$ref": "#/definitions/Variable"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "variables"
+ ]
+ },
+ "TypesBatchRequest": {
+ "description": "Request to perform a single operation on a batch of time series types. Exactly one of \"get\", \"put\" or \"delete\" must be set.",
+ "type": "object",
+ "properties": {
+ "get": {
+ "description": "Definition of what time series types to return.",
+ "$ref": "#/definitions/TypesRequestBatchGetOrDelete"
+ },
+ "put": {
+ "description": "Definition of what time series types to update or create.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesType"
+ }
+ },
+ "delete": {
+ "description": "Definition of what time series types to delete.",
+ "$ref": "#/definitions/TypesRequestBatchGetOrDelete"
+ }
+ }
+ },
+ "TypesRequestBatchGetOrDelete": {
+ "description": "Request to get or delete time series types by IDs or type names. Exactly one of \"typeIds\" or \"names\" must be set.",
+ "type": "object",
+ "properties": {
+ "typeIds": {
+ "description": "List of IDs of time series types to return or delete.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "names": {
+ "description": "List of names of time series types to return or delete.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TypesBatchResponse": {
+ "description": "Response of a single operation on a batch of time series types. Exactly one of \"get\", \"put\" or \"delete\" will be set.",
+ "type": "object",
+ "properties": {
+ "get": {
+ "description": "List of types or error objects corresponding by position to the \"get\" array in the request. Type object is set when operation is successful and error object is set when operation is unsuccessful.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesTypeOrError"
+ }
+ },
+ "put": {
+ "description": "List of types or error objects corresponding by position to the \"put\" array in the request. Type object is set when operation is successful and error object is set when operation is unsuccessful.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesTypeOrError"
+ }
+ },
+ "delete": {
+ "description": "List of error objects corresponding by position to the \"delete\" array in the request - null when the operation is successful.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/TsiErrorBody"
+ }
+ }
+ }
+ },
+ "TimeSeriesTypeOrError": {
+ "description": "Result of a batch operation on a particular time series type. Type object is set when operation is successful and error object is set when operation is unsuccessful.",
+ "type": "object",
+ "properties": {
+ "timeSeriesType": {
+ "description": "Time series type object - set when the operation is successful.",
+ "readOnly": true,
+ "$ref": "#/definitions/TimeSeriesType"
+ },
+ "error": {
+ "description": "Error object - set when the operation is unsuccessful.",
+ "readOnly": true,
+ "$ref": "#/definitions/TsiErrorBody"
+ }
+ }
+ },
+ "GetHierarchiesPage": {
+ "description": "Partial list of time series hierarchies returned in a single request.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/PagedResponse"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "hierarchies": {
+ "description": "Partial list of time series hierarchies returned in a single request. Can be empty if server was unable to fill the page in this request, or there is no more objects when continuation token is null.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesHierarchy"
+ }
+ }
+ }
+ }
+ ]
+ },
+ "TimeSeriesHierarchy": {
+ "description": "Time series hierarchy organizes time series instances into a tree.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique hierarchy identifier that is a immutable GUID. Can be null while creating hierarchy objects and then server generates the id, not null on get and delete operations.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "name": {
+ "description": "User-given unique name for the type. It is mutable and not null.",
+ "type": "string"
+ },
+ "source": {
+ "description": "Definition of how time series hierarchy tree levels are created.",
+ "type": "object",
+ "properties": {
+ "instanceFieldNames": {
+ "description": "List of instance field names that must be set in all time series instances that belong to this hierarchy. The order of the instance fields defines the levels in the hierarchy.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "required": [
+ "name",
+ "source"
+ ]
+ },
+ "HierarchiesBatchRequest": {
+ "description": "Request to perform a single operation on a batch of hierarchies. Exactly one of \"get\", \"put\" or \"delete\" must be set.",
+ "type": "object",
+ "properties": {
+ "get": {
+ "description": "\"get\" should be set while fetching specific hierarchies either by IDs or names.",
+ "$ref": "#/definitions/HierarchiesRequestBatchGetDelete"
+ },
+ "put": {
+ "description": "\"put\" should be set while creating or updating hierarchies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesHierarchy"
+ }
+ },
+ "delete": {
+ "description": "\"delete\" should be set while fetching specific hierarchies either by IDs or names.",
+ "$ref": "#/definitions/HierarchiesRequestBatchGetDelete"
+ }
+ }
+ },
+ "HierarchiesRequestBatchGetDelete": {
+ "description": "Request to get or delete multiple time series hierarchies. Exactly one of \"hierarchyIds\" or \"names\" must be set.",
+ "type": "object",
+ "properties": {
+ "hierarchyIds": {
+ "description": "List of hierarchy IDs.",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "names": {
+ "description": "List of hierarchy names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "HierarchiesBatchResponse": {
+ "description": "Response of a single operation on a batch of time series hierarchies. Only one of \"get\", \"put\" or \"delete\" will be set.",
+ "type": "object",
+ "properties": {
+ "get": {
+ "description": "List of hierarchy or error objects corresponding by position to the \"get\" array in the request. Hierarchy object is set when operation is successful and error object is set when operation is unsuccessful.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesHierarchyOrError"
+ }
+ },
+ "put": {
+ "description": "List of hierarchy or error object corresponding by position to the \"put\" array in the request. Hierarchy object is set when operation is successful and error object is set when operation is unsuccessful.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesHierarchyOrError"
+ }
+ },
+ "delete": {
+ "description": "List of error objects corresponding by position to the \"delete\" array in the request - null when the operation is successful.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TsiErrorBody"
+ }
+ }
+ }
+ },
+ "TimeSeriesHierarchyOrError": {
+ "description": "Result of a batch operation on a particular time series hierarchy. Hierarchy is set when operation is successful and error object is set when operation is unsuccessful.",
+ "type": "object",
+ "properties": {
+ "hierarchy": {
+ "description": "Time series hierarchy object - set when the operation is successful.",
+ "readOnly": true,
+ "$ref": "#/definitions/TimeSeriesHierarchy"
+ },
+ "error": {
+ "description": "Error object - set when the operation is unsuccessful.",
+ "readOnly": true,
+ "$ref": "#/definitions/TsiErrorBody"
+ }
+ }
+ },
+ "ModelSettingsResponse": {
+ "description": "Response containing full time series model settings which include model name, Time Series ID properties and default type ID.",
+ "type": "object",
+ "properties": {
+ "modelSettings": {
+ "description": "Model settings including model name, Time Series ID properties and default type ID.",
+ "readOnly": true,
+ "$ref": "#/definitions/ModelSettings"
+ }
+ }
+ },
+ "ModelSettings": {
+ "description": "Time series model settings including model name, Time Series ID properties and default type ID.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Time series model display name which is shown in the UX. Examples: \"Temperature Sensors\", \"MyDevices\".",
+ "readOnly": true,
+ "type": "string"
+ },
+ "timeSeriesIdProperties": {
+ "description": "Time series ID properties defined during environment creation.",
+ "readOnly": true,
+ "$ref": "#/definitions/TimeSeriesIdProperties"
+ },
+ "defaultTypeId": {
+ "description": "Default type ID of the model that new time series instances will automatically belong to.",
+ "readOnly": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ },
+ "TimeSeriesIdProperties": {
+ "description": "Time series ID properties defined during environment creation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSeriesIdProperty"
+ },
+ "minItems": 1
+ },
+ "TimeSeriesIdProperty": {
+ "description": "A definition of a single property that can be used in time series ID properties defined during environment creation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the property.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the property. Currently, only \"String\" is supported.",
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "String"
+ ],
+ "x-ms-enum": {
+ "name": "TimeSeriesIdPropertyTypes",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UpdateModelSettingsRequest": {
+ "description": "Request to update model settings. One of \"name\" or \"defaultTypeId\" must be set.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Model display name which is shown in the UX and mutable by the user. Initial value is \"DefaultModel\".",
+ "type": "string"
+ },
+ "defaultTypeId": {
+ "description": "Default type id of the model that new instances will automatically belong to.",
+ "type": "string",
+ "format": "uuid"
+ }
+ }
+ },
+ "InstancesSearchRequest": {
+ "description": "Request to search time series instances using a search string.",
+ "type": "object",
+ "properties": {
+ "searchString": {
+ "description": "Search string for which the instances are required. Must be present, but can be empty string.",
+ "type": "string"
+ }
+ }
+ },
+ "InstancesSearchResponsePage": {
+ "description": "Single page of time series instance search results.",
+ "type": "object",
+ "properties": {
+ "instances": {
+ "description": "List of top instances matching the query by relevance. May be empty or null.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceHit"
+ }
+ },
+ "instancesContinuationToken": {
+ "description": "If returned, this means that current results represent a partial result. Continuation token allows to get the next page of results. To get the next page of query results, send the same request with continuation token parameter in \"x-ms-continuation\" HTTP header.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "InstanceHit": {
+ "description": "Time series instance that is returned by instances search call. Returned instance matched the search string and contains highlighted text to be displayed to the user.",
+ "type": "object",
+ "properties": {
+ "timeSeriesId": {
+ "description": "Time series ID of the time series instance that matched the search request.",
+ "readOnly": true,
+ "$ref": "#/definitions/TimeSeriesId"
+ },
+ "highlights": {
+ "description": "Highlighted text of time series instance to be displayed to the user. Highlighting inserts and tags in the portions of text that matched the search string. Do not use any of the highlighted properties to do further API calls.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "timeSeriesIds": {
+ "description": "List of highlighted string values of Time Series ID for displaying. Cannot be used to lookup instance.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Highlighted time series type name that this instance belongs to.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "name": {
+ "description": "Highlighted name of time series instance. May be null.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "description": {
+ "description": "Highlighted description of time series instance. May be null.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "hierarchyIds": {
+ "description": "List of highlighted time series hierarchy IDs that time series instance belongs to. Cannot be used to lookup hierarchies. May be null.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "instanceFieldNames": {
+ "description": "List of highlighted time series instance field names. May be null.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "instanceFieldValues": {
+ "description": "List of highlighted time series instance field values. May be null.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "InstancesSuggestRequest": {
+ "description": "Request to get search string suggestions for time series instances search based on prefix text.",
+ "type": "object",
+ "properties": {
+ "searchString": {
+ "description": "Search string for which suggestions are required. Empty is allowed, but not null.",
+ "type": "string"
+ },
+ "take": {
+ "description": "Maximum number of suggestions expected in the result. Defaults to 10 when not set.",
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "searchString"
+ ]
+ },
+ "InstancesSuggestResponse": {
+ "description": "Response of getting suggestions for search for time series instances.",
+ "type": "object",
+ "properties": {
+ "suggestions": {
+ "description": "List of instance suggestions for searching time series models.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstancesSearchStringSuggestion"
+ }
+ }
+ }
+ },
+ "InstancesSearchStringSuggestion": {
+ "description": "Suggested search string to be used for further search for time series instances.",
+ "type": "object",
+ "properties": {
+ "searchString": {
+ "description": "Suggested search string. Can be used for further search for time series instances.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "highlightedSearchString": {
+ "description": "Highlighted suggested search string to be displayed to the user. Highlighting inserts and tags in the portions of text that matched the search string. Do not use highlighted search string to do further search calls.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "PagedResponse": {
+ "description": "Partial result that has continuation token to fetch the next partial result.",
+ "type": "object",
+ "properties": {
+ "continuationToken": {
+ "description": "If returned, this means that current results represent a partial result. Continuation token allows to get the next page of results. To get the next page of query results, send the same request with continuation token parameter in \"x-ms-continuation\" HTTP header.",
+ "readOnly": true,
+ "type": "string"
+ }
+ }
+ },
+ "EventProperty": {
+ "description": "Property of an event that is either stored or computed. Properties are identified by both name and type. Different events can have properties with same name, but different type.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the property.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the property.",
+ "$ref": "#/definitions/PropertyType"
+ }
+ }
+ },
+ "PropertyType": {
+ "description": "The type of the property that is either stored in events or computed by a calculation.",
+ "type": "string",
+ "enum": [
+ "Bool",
+ "DateTime",
+ "Double",
+ "String",
+ "TimeSpan"
+ ],
+ "x-ms-enum": {
+ "name": "PropertyTypes",
+ "modelAsString": true
+ }
+ },
+ "TsiError": {
+ "description": "Information about an API error.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/TsiErrorBody"
+ }
+ },
+ "x-ms-external": false
+ },
+ "TsiErrorBody": {
+ "description": "A particular API error with an error code and a message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Language-independent, human-readable string that defines a service-specific error code. This code serves as a more specific indicator for the HTTP error code specified in the response. Can be used to programmatically handle specific error cases.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "Human-readable, language-independent representation of the error. It is intended as an aid to developers and is not suitable for exposure to end users.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "target": {
+ "description": "Target of the particular error (for example, the name of the property in error). May be null.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "innerError": {
+ "description": "Contains more specific error that narrows down the cause. May be null.",
+ "readOnly": true,
+ "$ref": "#/definitions/TsiErrorBody"
+ },
+ "details": {
+ "description": "Contains additional error information. May be null.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TsiErrorDetails"
+ }
+ }
+ },
+ "additionalProperties": true,
+ "x-ms-external": false
+ },
+ "TsiErrorDetails": {
+ "description": "Additional error information.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Language-independent, human-readable string that defines a service-specific error code. This code serves as a more specific indicator for the HTTP error code specified in the response. Can be used to programmatically handle specific error cases.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "message": {
+ "description": "Human-readable, language-independent representation of the error. It is intended as an aid to developers and is not suitable for exposure to end users.",
+ "readOnly": true,
+ "type": "string"
+ }
+ },
+ "additionalProperties": true,
+ "x-ms-external": false
+ }
+ },
+ "parameters": {
+ "ApiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "default": "2018-11-01-preview",
+ "type": "string",
+ "description": "Version of the API to be used with the client request. Currently supported version is \"2018-11-01-preview\"."
+ },
+ "EnvironmentFqdn": {
+ "name": "environmentFqdn",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client",
+ "description": "Per environment FQDN, for example 10000000-0000-0000-0000-100000000109.env.timeseries.azure.com. You can obtain this domain name from the response of the Get Environments API, Azure portal, or Azure Resource Manager."
+ },
+ "ContinuationToken": {
+ "name": "x-ms-continuation",
+ "x-ms-client-name": "continuationToken",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Continuation token from previous page of results to retrieve the next page of the results in calls that support pagination. To get the first page results, specify null continuation token as parameter value. Returned continuation token is null if all results have been returned, and there is no next page of results."
+ },
+ "ClientRequestId": {
+ "name": "x-ms-client-request-id",
+ "x-ms-client-name": "clientRequestId",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Optional client request ID. Service records this value. Allows the service to trace operation across services, and allows the customer to contact support support regarding a particular request."
+ },
+ "ClientSessionId": {
+ "name": "x-ms-client-session-id",
+ "x-ms-client-name": "clientSessionId",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Optional client session ID. Service records this value. Allows the service to trace a group of related operations across services, and allows the customer to contact support support regarding a particular group of requests."
+ }
+ }
+}
diff --git a/specification/timeseriesinsights/data-plane/readme.md b/specification/timeseriesinsights/data-plane/readme.md
new file mode 100644
index 000000000000..20a88caf0445
--- /dev/null
+++ b/specification/timeseriesinsights/data-plane/readme.md
@@ -0,0 +1,72 @@
+
+# TimeSeriesInsights
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Azure Time Series Insights Data Plane API.
+
+---
+
+## Getting Started
+
+To build the SDK for Azure Time Series Insights Data Plane API, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for Azure Time Series Insights Data Plane API.
+
+``` yaml
+openapi-type: data-plane
+add-credentials: true
+license-header: MICROSOFT_MIT
+tag: package-2018-11-01-preview
+```
+
+### Tag: package-2018-11-01-preview
+
+These settings apply only when `--tag=package-2018-11-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-11-01-preview'
+input-file:
+- Microsoft.TimeSeriesInsights/preview/2018-11-01-preview/timeseriesinsights.json
+```
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: R2001
+ reason: Adding flattening does not improve the code - array of properties is not supported by flattening. See https://github.com/Azure/oav/issues/416
+```
+
+``` yaml
+directive:
+ - suppress: R3017
+ reason: GUIDs are required to enforce referential constraints and reduce number of updates.
+```
+
+---
+# Code Generation
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ sync-methods: none
+ azure-arm: false
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.TimeSeriesInsights
+ output-folder: $(csharp-sdks-folder)/TimeSeriesInsights/DataPlane.TimeSeriesInsights/Generated
+```