losant_rest 1.15.1 → 1.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/docs/_schemas.md +12170 -4718
  4. data/docs/application.md +3 -4
  5. data/docs/applicationDashboard.md +43 -0
  6. data/docs/applications.md +3 -2
  7. data/docs/devices.md +40 -0
  8. data/docs/flows.md +38 -0
  9. data/docs/instanceCustomNode.md +222 -0
  10. data/docs/instanceCustomNodes.md +91 -0
  11. data/lib/losant_rest/application.rb +1 -1
  12. data/lib/losant_rest/application_api_token.rb +1 -1
  13. data/lib/losant_rest/application_api_tokens.rb +1 -1
  14. data/lib/losant_rest/application_certificate.rb +1 -1
  15. data/lib/losant_rest/application_certificate_authorities.rb +1 -1
  16. data/lib/losant_rest/application_certificate_authority.rb +1 -1
  17. data/lib/losant_rest/application_certificates.rb +1 -1
  18. data/lib/losant_rest/application_dashboard.rb +50 -1
  19. data/lib/losant_rest/application_dashboards.rb +1 -1
  20. data/lib/losant_rest/application_key.rb +1 -1
  21. data/lib/losant_rest/application_keys.rb +1 -1
  22. data/lib/losant_rest/application_template.rb +1 -1
  23. data/lib/losant_rest/application_templates.rb +1 -1
  24. data/lib/losant_rest/applications.rb +1 -1
  25. data/lib/losant_rest/audit_log.rb +1 -1
  26. data/lib/losant_rest/audit_logs.rb +1 -1
  27. data/lib/losant_rest/auth.rb +1 -1
  28. data/lib/losant_rest/client.rb +11 -3
  29. data/lib/losant_rest/dashboard.rb +1 -1
  30. data/lib/losant_rest/dashboards.rb +1 -1
  31. data/lib/losant_rest/data.rb +1 -1
  32. data/lib/losant_rest/data_table.rb +1 -1
  33. data/lib/losant_rest/data_table_row.rb +1 -1
  34. data/lib/losant_rest/data_table_rows.rb +1 -1
  35. data/lib/losant_rest/data_tables.rb +1 -1
  36. data/lib/losant_rest/device.rb +1 -1
  37. data/lib/losant_rest/device_recipe.rb +1 -1
  38. data/lib/losant_rest/device_recipes.rb +1 -1
  39. data/lib/losant_rest/devices.rb +50 -1
  40. data/lib/losant_rest/edge_deployment.rb +1 -1
  41. data/lib/losant_rest/edge_deployments.rb +1 -1
  42. data/lib/losant_rest/embedded_deployment.rb +1 -1
  43. data/lib/losant_rest/embedded_deployments.rb +1 -1
  44. data/lib/losant_rest/error.rb +1 -1
  45. data/lib/losant_rest/event.rb +1 -1
  46. data/lib/losant_rest/events.rb +1 -1
  47. data/lib/losant_rest/experience.rb +1 -1
  48. data/lib/losant_rest/experience_domain.rb +1 -1
  49. data/lib/losant_rest/experience_domains.rb +1 -1
  50. data/lib/losant_rest/experience_endpoint.rb +1 -1
  51. data/lib/losant_rest/experience_endpoints.rb +1 -1
  52. data/lib/losant_rest/experience_group.rb +1 -1
  53. data/lib/losant_rest/experience_groups.rb +1 -1
  54. data/lib/losant_rest/experience_slug.rb +1 -1
  55. data/lib/losant_rest/experience_slugs.rb +1 -1
  56. data/lib/losant_rest/experience_user.rb +1 -1
  57. data/lib/losant_rest/experience_users.rb +1 -1
  58. data/lib/losant_rest/experience_version.rb +1 -1
  59. data/lib/losant_rest/experience_versions.rb +1 -1
  60. data/lib/losant_rest/experience_view.rb +1 -1
  61. data/lib/losant_rest/experience_views.rb +1 -1
  62. data/lib/losant_rest/file.rb +1 -1
  63. data/lib/losant_rest/files.rb +1 -1
  64. data/lib/losant_rest/flow.rb +1 -1
  65. data/lib/losant_rest/flow_version.rb +1 -1
  66. data/lib/losant_rest/flow_versions.rb +1 -1
  67. data/lib/losant_rest/flows.rb +45 -1
  68. data/lib/losant_rest/instance.rb +1 -1
  69. data/lib/losant_rest/instance_api_token.rb +1 -1
  70. data/lib/losant_rest/instance_api_tokens.rb +1 -1
  71. data/lib/losant_rest/instance_custom_node.rb +282 -0
  72. data/lib/losant_rest/instance_custom_nodes.rb +136 -0
  73. data/lib/losant_rest/instance_member.rb +1 -1
  74. data/lib/losant_rest/instance_members.rb +1 -1
  75. data/lib/losant_rest/instance_org.rb +1 -1
  76. data/lib/losant_rest/instance_org_invite.rb +1 -1
  77. data/lib/losant_rest/instance_org_invites.rb +1 -1
  78. data/lib/losant_rest/instance_org_member.rb +1 -1
  79. data/lib/losant_rest/instance_org_members.rb +1 -1
  80. data/lib/losant_rest/instance_orgs.rb +1 -1
  81. data/lib/losant_rest/instances.rb +1 -1
  82. data/lib/losant_rest/integration.rb +1 -1
  83. data/lib/losant_rest/integrations.rb +1 -1
  84. data/lib/losant_rest/me.rb +1 -1
  85. data/lib/losant_rest/notebook.rb +1 -1
  86. data/lib/losant_rest/notebooks.rb +1 -1
  87. data/lib/losant_rest/org.rb +1 -1
  88. data/lib/losant_rest/org_invites.rb +1 -1
  89. data/lib/losant_rest/orgs.rb +1 -1
  90. data/lib/losant_rest/user_api_token.rb +1 -1
  91. data/lib/losant_rest/user_api_tokens.rb +1 -1
  92. data/lib/losant_rest/utils.rb +1 -1
  93. data/lib/losant_rest/version.rb +2 -2
  94. data/lib/losant_rest/webhook.rb +1 -1
  95. data/lib/losant_rest/webhooks.rb +1 -1
  96. data/lib/losant_rest.rb +3 -1
  97. data/schemas/apiTokenPost.json +13 -1
  98. data/schemas/application.json +1 -1
  99. data/schemas/applicationApplyTemplatePatch.json +5 -0
  100. data/schemas/applicationClonePost.json +5 -0
  101. data/schemas/applicationCreationByTemplateResult.json +1 -1
  102. data/schemas/applicationDashboardPost.json +162 -3
  103. data/schemas/applicationExportPost.json +4 -0
  104. data/schemas/applicationImportOptions.json +43 -0
  105. data/schemas/applicationPatch.json +1 -1
  106. data/schemas/applicationPost.json +1 -1
  107. data/schemas/applications.json +1 -1
  108. data/schemas/dashboard.json +162 -3
  109. data/schemas/dashboardPatch.json +162 -3
  110. data/schemas/dashboardPost.json +162 -3
  111. data/schemas/dashboardSendReport.json +20 -3
  112. data/schemas/dashboards.json +162 -3
  113. data/schemas/deviceNamesResponse.json +36 -0
  114. data/schemas/experienceBootstrapOptions.json +1 -1
  115. data/schemas/experienceLinkedResources.json +485 -5
  116. data/schemas/experienceSlug.json +1 -1
  117. data/schemas/experienceSlugPatch.json +1 -1
  118. data/schemas/experienceSlugPost.json +1 -1
  119. data/schemas/experienceSlugs.json +1 -1
  120. data/schemas/experienceUser.json +2 -1
  121. data/schemas/experienceUsers.json +2 -1
  122. data/schemas/flow.json +173 -0
  123. data/schemas/flowPatch.json +174 -0
  124. data/schemas/flowPost.json +174 -0
  125. data/schemas/flowVersion.json +312 -5
  126. data/schemas/flowVersionPost.json +156 -0
  127. data/schemas/flowVersions.json +312 -5
  128. data/schemas/flows.json +173 -0
  129. data/schemas/flowsImportPost.json +339 -2
  130. data/schemas/flowsImportResult.json +485 -5
  131. data/schemas/githubLogin.json +13 -1
  132. data/schemas/instanceCustomNode.json +589 -0
  133. data/schemas/instanceCustomNodePatch.json +674 -0
  134. data/schemas/instanceCustomNodePost.json +679 -0
  135. data/schemas/instanceCustomNodes.json +634 -0
  136. data/schemas/instanceMember.json +2 -2
  137. data/schemas/instanceMembers.json +2 -2
  138. data/schemas/instanceOrg.json +8 -0
  139. data/schemas/instanceOrgMember.json +2 -2
  140. data/schemas/instanceOrgs.json +8 -0
  141. data/schemas/integration.json +30 -2
  142. data/schemas/integrationPatch.json +30 -2
  143. data/schemas/integrationPost.json +30 -2
  144. data/schemas/integrations.json +30 -2
  145. data/schemas/me.json +2 -2
  146. data/schemas/mePatch.json +0 -1
  147. data/schemas/org.json +2 -2
  148. data/schemas/orgs.json +2 -2
  149. data/schemas/paletteResponse.json +785 -0
  150. data/schemas/userCredentials.json +13 -1
  151. data/schemas/userPost.json +13 -2
  152. metadata +13 -2
data/schemas/flow.json CHANGED
@@ -31,11 +31,28 @@
31
31
  "type": "string",
32
32
  "maxLength": 32767
33
33
  },
34
+ "shortDescription": {
35
+ "type": "string",
36
+ "maxLength": 1024
37
+ },
34
38
  "iconData": {
35
39
  "type": "string",
36
40
  "maxLength": 32767,
37
41
  "pattern": "^data:image/(jpg|jpeg|png|svg\\+xml);base64,[0-9a-zA-Z+/=]*$"
38
42
  },
43
+ "docsUrl": {
44
+ "type": "string",
45
+ "maxLength": 1024
46
+ },
47
+ "category": {
48
+ "type": "string",
49
+ "enum": [
50
+ "data",
51
+ "experience",
52
+ "logic",
53
+ "output"
54
+ ]
55
+ },
39
56
  "enabled": {
40
57
  "type": "boolean"
41
58
  },
@@ -108,6 +125,7 @@
108
125
  "deviceIdsTagsDisconnect",
109
126
  "eeaInit",
110
127
  "flowError",
128
+ "azureEventHub",
111
129
  "googlePubSub",
112
130
  "meridian",
113
131
  "mqtt",
@@ -1775,6 +1793,161 @@
1775
1793
  ],
1776
1794
  "additionalProperties": false
1777
1795
  },
1796
+ {
1797
+ "type": "object",
1798
+ "properties": {
1799
+ "key": {
1800
+ "type": "string",
1801
+ "maxLength": 1024
1802
+ },
1803
+ "type": {
1804
+ "type": "string",
1805
+ "enum": [
1806
+ "snmpTrap"
1807
+ ]
1808
+ },
1809
+ "config": {
1810
+ "type": "object",
1811
+ "properties": {
1812
+ "udpPort": {
1813
+ "type": "string",
1814
+ "maxLength": 5
1815
+ },
1816
+ "snmpTrapConfig": {
1817
+ "type": "object",
1818
+ "properties": {
1819
+ "community": {
1820
+ "type": "string",
1821
+ "maxLength": 1024
1822
+ },
1823
+ "user": {
1824
+ "type": "object",
1825
+ "properties": {
1826
+ "name": {
1827
+ "type": "string",
1828
+ "maxLength": 1024
1829
+ },
1830
+ "securityLevel": {
1831
+ "type": "string",
1832
+ "enum": [
1833
+ "none",
1834
+ "auth",
1835
+ "authAndEncrypt"
1836
+ ]
1837
+ },
1838
+ "authMethod": {
1839
+ "type": "string",
1840
+ "enum": [
1841
+ "sha",
1842
+ "md5"
1843
+ ]
1844
+ },
1845
+ "authKey": {
1846
+ "type": "string",
1847
+ "maxLength": 1024
1848
+ },
1849
+ "encryptionMethod": {
1850
+ "type": "string",
1851
+ "enum": [
1852
+ "aes",
1853
+ "des"
1854
+ ]
1855
+ },
1856
+ "encryptionKey": {
1857
+ "type": "string",
1858
+ "maxLength": 1024
1859
+ }
1860
+ },
1861
+ "required": [
1862
+ "name",
1863
+ "securityLevel"
1864
+ ],
1865
+ "additionalProperties": false
1866
+ }
1867
+ },
1868
+ "additionalProperties": false
1869
+ }
1870
+ },
1871
+ "required": [
1872
+ "udpPort",
1873
+ "snmpTrapConfig"
1874
+ ],
1875
+ "additionalProperties": false
1876
+ },
1877
+ "meta": {
1878
+ "type": "object",
1879
+ "properties": {
1880
+ "category": {
1881
+ "type": "string",
1882
+ "enum": [
1883
+ "trigger"
1884
+ ]
1885
+ },
1886
+ "name": {
1887
+ "type": "string",
1888
+ "enum": [
1889
+ "snmpTrap"
1890
+ ]
1891
+ },
1892
+ "label": {
1893
+ "type": "string",
1894
+ "minLength": 1,
1895
+ "maxLength": 255
1896
+ },
1897
+ "x": {
1898
+ "type": "number"
1899
+ },
1900
+ "y": {
1901
+ "type": "number"
1902
+ },
1903
+ "uiId": {
1904
+ "type": "string",
1905
+ "maxLength": 48
1906
+ },
1907
+ "description": {
1908
+ "type": "string",
1909
+ "maxLength": 32767
1910
+ },
1911
+ "icon": {
1912
+ "type": "string",
1913
+ "maxLength": 1024
1914
+ },
1915
+ "color": {
1916
+ "type": "string",
1917
+ "maxLength": 1024
1918
+ },
1919
+ "inputCount": {
1920
+ "type": "number"
1921
+ },
1922
+ "outputCount": {
1923
+ "type": "number"
1924
+ },
1925
+ "id": {
1926
+ "type": "string",
1927
+ "maxLength": 48
1928
+ }
1929
+ },
1930
+ "additionalProperties": false
1931
+ },
1932
+ "outputIds": {
1933
+ "type": "array",
1934
+ "items": {
1935
+ "type": "array",
1936
+ "items": {
1937
+ "type": "string",
1938
+ "maxLength": 48,
1939
+ "minLength": 1
1940
+ },
1941
+ "maxItems": 100
1942
+ },
1943
+ "maxItems": 100
1944
+ }
1945
+ },
1946
+ "required": [
1947
+ "type"
1948
+ ],
1949
+ "additionalProperties": false
1950
+ },
1778
1951
  {
1779
1952
  "type": "object",
1780
1953
  "properties": {
@@ -11,6 +11,10 @@
11
11
  "type": "string",
12
12
  "maxLength": 32767
13
13
  },
14
+ "shortDescription": {
15
+ "type": "string",
16
+ "maxLength": 1024
17
+ },
14
18
  "iconData": {
15
19
  "oneOf": [
16
20
  {
@@ -23,6 +27,20 @@
23
27
  }
24
28
  ]
25
29
  },
30
+ "docsUrl": {
31
+ "type": "string",
32
+ "maxLength": 1024
33
+ },
34
+ "category": {
35
+ "type": "string",
36
+ "enum": [
37
+ "data",
38
+ "experience",
39
+ "logic",
40
+ "output",
41
+ ""
42
+ ]
43
+ },
26
44
  "enabled": {
27
45
  "type": "boolean"
28
46
  },
@@ -88,6 +106,7 @@
88
106
  "deviceIdsTagsDisconnect",
89
107
  "eeaInit",
90
108
  "flowError",
109
+ "azureEventHub",
91
110
  "googlePubSub",
92
111
  "meridian",
93
112
  "mqtt",
@@ -1755,6 +1774,161 @@
1755
1774
  ],
1756
1775
  "additionalProperties": false
1757
1776
  },
1777
+ {
1778
+ "type": "object",
1779
+ "properties": {
1780
+ "key": {
1781
+ "type": "string",
1782
+ "maxLength": 1024
1783
+ },
1784
+ "type": {
1785
+ "type": "string",
1786
+ "enum": [
1787
+ "snmpTrap"
1788
+ ]
1789
+ },
1790
+ "config": {
1791
+ "type": "object",
1792
+ "properties": {
1793
+ "udpPort": {
1794
+ "type": "string",
1795
+ "maxLength": 5
1796
+ },
1797
+ "snmpTrapConfig": {
1798
+ "type": "object",
1799
+ "properties": {
1800
+ "community": {
1801
+ "type": "string",
1802
+ "maxLength": 1024
1803
+ },
1804
+ "user": {
1805
+ "type": "object",
1806
+ "properties": {
1807
+ "name": {
1808
+ "type": "string",
1809
+ "maxLength": 1024
1810
+ },
1811
+ "securityLevel": {
1812
+ "type": "string",
1813
+ "enum": [
1814
+ "none",
1815
+ "auth",
1816
+ "authAndEncrypt"
1817
+ ]
1818
+ },
1819
+ "authMethod": {
1820
+ "type": "string",
1821
+ "enum": [
1822
+ "sha",
1823
+ "md5"
1824
+ ]
1825
+ },
1826
+ "authKey": {
1827
+ "type": "string",
1828
+ "maxLength": 1024
1829
+ },
1830
+ "encryptionMethod": {
1831
+ "type": "string",
1832
+ "enum": [
1833
+ "aes",
1834
+ "des"
1835
+ ]
1836
+ },
1837
+ "encryptionKey": {
1838
+ "type": "string",
1839
+ "maxLength": 1024
1840
+ }
1841
+ },
1842
+ "required": [
1843
+ "name",
1844
+ "securityLevel"
1845
+ ],
1846
+ "additionalProperties": false
1847
+ }
1848
+ },
1849
+ "additionalProperties": false
1850
+ }
1851
+ },
1852
+ "required": [
1853
+ "udpPort",
1854
+ "snmpTrapConfig"
1855
+ ],
1856
+ "additionalProperties": false
1857
+ },
1858
+ "meta": {
1859
+ "type": "object",
1860
+ "properties": {
1861
+ "category": {
1862
+ "type": "string",
1863
+ "enum": [
1864
+ "trigger"
1865
+ ]
1866
+ },
1867
+ "name": {
1868
+ "type": "string",
1869
+ "enum": [
1870
+ "snmpTrap"
1871
+ ]
1872
+ },
1873
+ "label": {
1874
+ "type": "string",
1875
+ "minLength": 1,
1876
+ "maxLength": 255
1877
+ },
1878
+ "x": {
1879
+ "type": "number"
1880
+ },
1881
+ "y": {
1882
+ "type": "number"
1883
+ },
1884
+ "uiId": {
1885
+ "type": "string",
1886
+ "maxLength": 48
1887
+ },
1888
+ "description": {
1889
+ "type": "string",
1890
+ "maxLength": 32767
1891
+ },
1892
+ "icon": {
1893
+ "type": "string",
1894
+ "maxLength": 1024
1895
+ },
1896
+ "color": {
1897
+ "type": "string",
1898
+ "maxLength": 1024
1899
+ },
1900
+ "inputCount": {
1901
+ "type": "number"
1902
+ },
1903
+ "outputCount": {
1904
+ "type": "number"
1905
+ },
1906
+ "id": {
1907
+ "type": "string",
1908
+ "maxLength": 48
1909
+ }
1910
+ },
1911
+ "additionalProperties": false
1912
+ },
1913
+ "outputIds": {
1914
+ "type": "array",
1915
+ "items": {
1916
+ "type": "array",
1917
+ "items": {
1918
+ "type": "string",
1919
+ "maxLength": 48,
1920
+ "minLength": 1
1921
+ },
1922
+ "maxItems": 100
1923
+ },
1924
+ "maxItems": 100
1925
+ }
1926
+ },
1927
+ "required": [
1928
+ "type"
1929
+ ],
1930
+ "additionalProperties": false
1931
+ },
1758
1932
  {
1759
1933
  "type": "object",
1760
1934
  "properties": {
@@ -11,6 +11,10 @@
11
11
  "type": "string",
12
12
  "maxLength": 32767
13
13
  },
14
+ "shortDescription": {
15
+ "type": "string",
16
+ "maxLength": 1024
17
+ },
14
18
  "iconData": {
15
19
  "oneOf": [
16
20
  {
@@ -23,6 +27,20 @@
23
27
  }
24
28
  ]
25
29
  },
30
+ "docsUrl": {
31
+ "type": "string",
32
+ "maxLength": 1024
33
+ },
34
+ "category": {
35
+ "type": "string",
36
+ "enum": [
37
+ "data",
38
+ "experience",
39
+ "logic",
40
+ "output",
41
+ ""
42
+ ]
43
+ },
26
44
  "enabled": {
27
45
  "type": "boolean"
28
46
  },
@@ -77,6 +95,7 @@
77
95
  "deviceIdsTagsDisconnect",
78
96
  "eeaInit",
79
97
  "flowError",
98
+ "azureEventHub",
80
99
  "googlePubSub",
81
100
  "meridian",
82
101
  "mqtt",
@@ -1744,6 +1763,161 @@
1744
1763
  ],
1745
1764
  "additionalProperties": false
1746
1765
  },
1766
+ {
1767
+ "type": "object",
1768
+ "properties": {
1769
+ "key": {
1770
+ "type": "string",
1771
+ "maxLength": 1024
1772
+ },
1773
+ "type": {
1774
+ "type": "string",
1775
+ "enum": [
1776
+ "snmpTrap"
1777
+ ]
1778
+ },
1779
+ "config": {
1780
+ "type": "object",
1781
+ "properties": {
1782
+ "udpPort": {
1783
+ "type": "string",
1784
+ "maxLength": 5
1785
+ },
1786
+ "snmpTrapConfig": {
1787
+ "type": "object",
1788
+ "properties": {
1789
+ "community": {
1790
+ "type": "string",
1791
+ "maxLength": 1024
1792
+ },
1793
+ "user": {
1794
+ "type": "object",
1795
+ "properties": {
1796
+ "name": {
1797
+ "type": "string",
1798
+ "maxLength": 1024
1799
+ },
1800
+ "securityLevel": {
1801
+ "type": "string",
1802
+ "enum": [
1803
+ "none",
1804
+ "auth",
1805
+ "authAndEncrypt"
1806
+ ]
1807
+ },
1808
+ "authMethod": {
1809
+ "type": "string",
1810
+ "enum": [
1811
+ "sha",
1812
+ "md5"
1813
+ ]
1814
+ },
1815
+ "authKey": {
1816
+ "type": "string",
1817
+ "maxLength": 1024
1818
+ },
1819
+ "encryptionMethod": {
1820
+ "type": "string",
1821
+ "enum": [
1822
+ "aes",
1823
+ "des"
1824
+ ]
1825
+ },
1826
+ "encryptionKey": {
1827
+ "type": "string",
1828
+ "maxLength": 1024
1829
+ }
1830
+ },
1831
+ "required": [
1832
+ "name",
1833
+ "securityLevel"
1834
+ ],
1835
+ "additionalProperties": false
1836
+ }
1837
+ },
1838
+ "additionalProperties": false
1839
+ }
1840
+ },
1841
+ "required": [
1842
+ "udpPort",
1843
+ "snmpTrapConfig"
1844
+ ],
1845
+ "additionalProperties": false
1846
+ },
1847
+ "meta": {
1848
+ "type": "object",
1849
+ "properties": {
1850
+ "category": {
1851
+ "type": "string",
1852
+ "enum": [
1853
+ "trigger"
1854
+ ]
1855
+ },
1856
+ "name": {
1857
+ "type": "string",
1858
+ "enum": [
1859
+ "snmpTrap"
1860
+ ]
1861
+ },
1862
+ "label": {
1863
+ "type": "string",
1864
+ "minLength": 1,
1865
+ "maxLength": 255
1866
+ },
1867
+ "x": {
1868
+ "type": "number"
1869
+ },
1870
+ "y": {
1871
+ "type": "number"
1872
+ },
1873
+ "uiId": {
1874
+ "type": "string",
1875
+ "maxLength": 48
1876
+ },
1877
+ "description": {
1878
+ "type": "string",
1879
+ "maxLength": 32767
1880
+ },
1881
+ "icon": {
1882
+ "type": "string",
1883
+ "maxLength": 1024
1884
+ },
1885
+ "color": {
1886
+ "type": "string",
1887
+ "maxLength": 1024
1888
+ },
1889
+ "inputCount": {
1890
+ "type": "number"
1891
+ },
1892
+ "outputCount": {
1893
+ "type": "number"
1894
+ },
1895
+ "id": {
1896
+ "type": "string",
1897
+ "maxLength": 48
1898
+ }
1899
+ },
1900
+ "additionalProperties": false
1901
+ },
1902
+ "outputIds": {
1903
+ "type": "array",
1904
+ "items": {
1905
+ "type": "array",
1906
+ "items": {
1907
+ "type": "string",
1908
+ "maxLength": 48,
1909
+ "minLength": 1
1910
+ },
1911
+ "maxItems": 100
1912
+ },
1913
+ "maxItems": 100
1914
+ }
1915
+ },
1916
+ "required": [
1917
+ "type"
1918
+ ],
1919
+ "additionalProperties": false
1920
+ },
1747
1921
  {
1748
1922
  "type": "object",
1749
1923
  "properties": {