@oomol-lab/open-connector 1.6.5 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. package/README.md +4 -0
  2. package/assets/open-connector/catalog/apps/airtable.json +134 -0
  3. package/assets/open-connector/catalog/apps/aisa.json +6985 -319
  4. package/assets/open-connector/catalog/apps/baizhi_mcp.json +135 -0
  5. package/assets/open-connector/catalog/apps/cal.json +24 -6
  6. package/assets/open-connector/catalog/apps/discordbot.json +2888 -248
  7. package/assets/open-connector/catalog/apps/drawio_mcp.json +192 -0
  8. package/assets/open-connector/catalog/apps/enormail.json +411 -0
  9. package/assets/open-connector/catalog/apps/feishu_app_bot.json +158 -0
  10. package/assets/open-connector/catalog/apps/firecrawl.json +176 -32
  11. package/assets/open-connector/catalog/apps/framejet.json +273 -0
  12. package/assets/open-connector/catalog/apps/futunn.json +2967 -0
  13. package/assets/open-connector/catalog/apps/github.json +275 -0
  14. package/assets/open-connector/catalog/apps/gitlab.json +125 -0
  15. package/assets/open-connector/catalog/apps/gmail.json +376 -0
  16. package/assets/open-connector/catalog/apps/google_analytics.json +4 -1
  17. package/assets/open-connector/catalog/apps/google_bigquery.json +4 -1
  18. package/assets/open-connector/catalog/apps/google_search_console.json +4 -1
  19. package/assets/open-connector/catalog/apps/googlecalendar.json +210 -1
  20. package/assets/open-connector/catalog/apps/googlechat.json +694 -7
  21. package/assets/open-connector/catalog/apps/googledocs.json +4 -1
  22. package/assets/open-connector/catalog/apps/googledrive.json +479 -0
  23. package/assets/open-connector/catalog/apps/googlesheets.json +148 -1
  24. package/assets/open-connector/catalog/apps/granola.json +23 -0
  25. package/assets/open-connector/catalog/apps/hithink_finance.json +6 -3
  26. package/assets/open-connector/catalog/apps/indexed.json +1115 -0
  27. package/assets/open-connector/catalog/apps/keepa.json +3534 -987
  28. package/assets/open-connector/catalog/apps/linear.json +133 -0
  29. package/assets/open-connector/catalog/apps/linear_mcp.json +510 -0
  30. package/assets/open-connector/catalog/apps/moneyforward_mcp.json +1432 -0
  31. package/assets/open-connector/catalog/apps/notion.json +588 -1
  32. package/assets/open-connector/catalog/apps/notion_mcp.json +490 -0
  33. package/assets/open-connector/catalog/apps/odoo.json +619 -0
  34. package/assets/open-connector/catalog/apps/one_drive.json +185 -0
  35. package/assets/open-connector/catalog/apps/outlook.json +212 -8
  36. package/assets/open-connector/catalog/apps/outlook_calendar.json +23 -2
  37. package/assets/open-connector/catalog/apps/postiz.json +334 -0
  38. package/assets/open-connector/catalog/apps/proworkflow.json +529 -0
  39. package/assets/open-connector/catalog/apps/sellersprite_mcp.json +2 -1
  40. package/assets/open-connector/catalog/apps/shopify.json +282 -0
  41. package/assets/open-connector/catalog/apps/slack.json +405 -0
  42. package/assets/open-connector/catalog/apps/slackbot.json +214 -0
  43. package/assets/open-connector/catalog/apps/spotify.json +46 -43
  44. package/assets/open-connector/catalog/apps/stripe.json +96 -0
  45. package/assets/open-connector/catalog/apps/telegram.json +138 -0
  46. package/assets/open-connector/catalog/apps/tencent_docs.json +3 -0
  47. package/assets/open-connector/catalog/apps/weixin_store.json +543 -2
  48. package/assets/open-connector/catalog/apps/wisburg.json +1528 -0
  49. package/assets/open-connector/catalog/apps/woocommerce.json +127 -0
  50. package/assets/open-connector/catalog/apps/youtube.json +4 -1
  51. package/assets/open-connector/catalog/apps/zendesk.json +152 -0
  52. package/assets/open-connector/catalog/apps/zerotier.json +3319 -0
  53. package/assets/open-connector/catalog/apps-index.json +1 -1
  54. package/assets/open-connector/migrations/0014_saas_project.sql +55 -0
  55. package/assets/open-connector/migrations/0015_saas_cleanup_runtime.sql +8 -0
  56. package/assets/open-connector/migrations/0016_trigger_policy.sql +1 -0
  57. package/assets/open-connector/migrations/0017_trigger_subscriptions.sql +17 -0
  58. package/assets/open-connector/migrations/postgresql/0014_saas_project.sql +55 -0
  59. package/assets/open-connector/migrations/postgresql/0015_saas_cleanup_runtime.sql +8 -0
  60. package/assets/open-connector/migrations/postgresql/0016_trigger_policy.sql +1 -0
  61. package/assets/open-connector/migrations/postgresql/0017_trigger_subscriptions.sql +17 -0
  62. package/package.json +2 -2
  63. package/src/connection-service.d.ts +40 -7
  64. package/src/connection-service.js +60 -18
  65. package/src/core/action-policy.d.ts +8 -1
  66. package/src/core/action-policy.js +51 -0
  67. package/src/core/cast.d.ts +13 -0
  68. package/src/core/cast.js +18 -1
  69. package/src/core/guarded-fetch.d.ts +11 -3
  70. package/src/core/guarded-fetch.js +19 -7
  71. package/src/core/provider-scenarios.js +67 -13
  72. package/src/core/remote-http.d.ts +33 -0
  73. package/src/core/remote-http.js +104 -0
  74. package/src/core/request.d.ts +1 -0
  75. package/src/core/request.js +11 -1
  76. package/src/core/types.d.ts +5 -1
  77. package/src/marketplace/marketplace-service.d.ts +0 -1
  78. package/src/marketplace/marketplace-service.js +80 -92
  79. package/src/mcp.js +26 -9
  80. package/src/oauth/oauth-client-config-service.d.ts +16 -1
  81. package/src/oauth/oauth-client-config-service.js +59 -3
  82. package/src/oauth/oauth-flow-service.d.ts +14 -1
  83. package/src/oauth/oauth-flow-service.js +14 -6
  84. package/src/providers/17track/runtime.js +1 -1
  85. package/src/providers/action-contracts.generated.d.ts +20 -6
  86. package/src/providers/aifinmarket/runtime.js +1 -1
  87. package/src/providers/airtable/executors.d.ts +3 -0
  88. package/src/providers/airtable/executors.js +2 -0
  89. package/src/providers/airtable/trigger-on-record-changed.d.ts +2 -0
  90. package/src/providers/airtable/trigger-on-record-changed.definition.d.ts +4 -0
  91. package/src/providers/airtable/trigger-on-record-changed.definition.js +54 -0
  92. package/src/providers/airtable/trigger-on-record-changed.js +235 -0
  93. package/src/providers/aisa/executors.js +912 -50
  94. package/src/providers/aliyun_ack/runtime.js +1 -1
  95. package/src/providers/aliyun_sls/runtime.js +1 -1
  96. package/src/providers/app_store_server/runtime-helpers.js +1 -1
  97. package/src/providers/baizhi_mcp/actions.d.ts +2 -0
  98. package/src/providers/baizhi_mcp/actions.js +40 -0
  99. package/src/providers/baizhi_mcp/executors.d.ts +3 -0
  100. package/src/providers/baizhi_mcp/executors.js +102 -0
  101. package/src/providers/bazhuayu/runtime.js +2 -2
  102. package/src/providers/bilibili/runtime.js +2 -4
  103. package/src/providers/bilibili/upload.js +9 -7
  104. package/src/providers/cal/actions.js +5 -1
  105. package/src/providers/cloudflare_browser_rendering/executors.js +1 -1
  106. package/src/providers/cloudflare_dns/executors.js +1 -1
  107. package/src/providers/{cloudflare-current-user.js → cloudflare_dns/runtime-user.js} +2 -2
  108. package/src/providers/cloudflare_dns/runtime.d.ts +1 -1
  109. package/src/providers/cloudflare_dns/runtime.js +1 -1
  110. package/src/providers/cloudflare_r2/executors.js +1 -1
  111. package/src/providers/cloudflare_r2/runtime.d.ts +1 -1
  112. package/src/providers/cloudflare_r2/runtime.js +1 -1
  113. package/src/providers/cloudflare_worker/executors.js +1 -1
  114. package/src/providers/cloudflare_worker/runtime.d.ts +1 -1
  115. package/src/providers/cloudflare_worker/runtime.js +1 -1
  116. package/src/providers/dingtalk_mcp/runtime.js +1 -1
  117. package/src/providers/discordbot/executors.d.ts +0 -9
  118. package/src/providers/discordbot/executors.js +9 -101
  119. package/src/providers/discordbot/runtime-guilds.d.ts +3 -0
  120. package/src/providers/discordbot/runtime-guilds.js +464 -0
  121. package/src/providers/discordbot/runtime.d.ts +42 -0
  122. package/src/providers/discordbot/runtime.js +124 -0
  123. package/src/providers/drawio_mcp/executors.d.ts +3 -0
  124. package/src/providers/drawio_mcp/executors.js +19 -0
  125. package/src/providers/drawio_mcp/runtime.d.ts +8 -0
  126. package/src/providers/drawio_mcp/runtime.js +175 -0
  127. package/src/providers/enormail/executors.d.ts +4 -0
  128. package/src/providers/enormail/executors.js +97 -0
  129. package/src/providers/fastmoss_mcp/executors.js +2 -2
  130. package/src/providers/feishu_app_bot/executors.d.ts +3 -0
  131. package/src/providers/feishu_app_bot/executors.js +2 -0
  132. package/src/providers/feishu_app_bot/trigger-config.d.ts +1 -0
  133. package/src/providers/feishu_app_bot/trigger-config.js +10 -0
  134. package/src/providers/feishu_app_bot/trigger-on-event.d.ts +2 -0
  135. package/src/providers/feishu_app_bot/trigger-on-event.definition.d.ts +4 -0
  136. package/src/providers/feishu_app_bot/trigger-on-event.definition.js +63 -0
  137. package/src/providers/feishu_app_bot/trigger-on-event.js +29 -0
  138. package/src/providers/feishu_app_bot/trigger-subscriptions.d.ts +5 -0
  139. package/src/providers/feishu_app_bot/trigger-subscriptions.js +70 -0
  140. package/src/providers/finchina/executors.js +1 -1
  141. package/src/providers/framejet/executors.d.ts +4 -0
  142. package/src/providers/framejet/executors.js +19 -0
  143. package/src/providers/framejet/runtime.d.ts +16 -0
  144. package/src/providers/framejet/runtime.js +148 -0
  145. package/src/providers/futunn/actions.d.ts +2 -0
  146. package/src/providers/futunn/actions.js +152 -0
  147. package/src/providers/futunn/actions.research.d.ts +2 -0
  148. package/src/providers/futunn/actions.research.js +423 -0
  149. package/src/providers/futunn/actions.trading.d.ts +2 -0
  150. package/src/providers/futunn/actions.trading.js +204 -0
  151. package/src/providers/futunn/executors.d.ts +3 -0
  152. package/src/providers/futunn/executors.js +24 -0
  153. package/src/providers/futunn/runtime-research.d.ts +3 -0
  154. package/src/providers/futunn/runtime-research.js +133 -0
  155. package/src/providers/futunn/runtime-trading.d.ts +3 -0
  156. package/src/providers/futunn/runtime-trading.js +39 -0
  157. package/src/providers/futunn/runtime.d.ts +2 -0
  158. package/src/providers/futunn/runtime.js +50 -0
  159. package/src/providers/futunn/transport.d.ts +11 -0
  160. package/src/providers/futunn/transport.js +76 -0
  161. package/src/providers/gildata/executors.js +1 -1
  162. package/src/providers/github/executors.d.ts +3 -0
  163. package/src/providers/github/executors.js +6 -0
  164. package/src/providers/github/trigger-on-repo-event.d.ts +2 -0
  165. package/src/providers/github/trigger-on-repo-event.definition.d.ts +4 -0
  166. package/src/providers/github/trigger-on-repo-event.definition.js +94 -0
  167. package/src/providers/github/trigger-on-repo-event.js +168 -0
  168. package/src/providers/github/trigger-watch-pull-request.d.ts +2 -0
  169. package/src/providers/github/trigger-watch-pull-request.definition.d.ts +4 -0
  170. package/src/providers/github/trigger-watch-pull-request.definition.js +49 -0
  171. package/src/providers/github/trigger-watch-pull-request.js +106 -0
  172. package/src/providers/gitlab/executors.d.ts +3 -0
  173. package/src/providers/gitlab/executors.js +2 -0
  174. package/src/providers/gitlab/trigger-on-project-event.d.ts +2 -0
  175. package/src/providers/gitlab/trigger-on-project-event.definition.d.ts +5 -0
  176. package/src/providers/gitlab/trigger-on-project-event.definition.js +63 -0
  177. package/src/providers/gitlab/trigger-on-project-event.js +186 -0
  178. package/src/providers/gmail/executors.d.ts +3 -0
  179. package/src/providers/gmail/executors.js +5 -3
  180. package/src/providers/gmail/message.d.ts +6 -8
  181. package/src/providers/gmail/message.js +4 -0
  182. package/src/providers/gmail/scopes.d.ts +32 -0
  183. package/src/providers/gmail/scopes.js +37 -0
  184. package/src/providers/gmail/trigger-on-message-received.d.ts +2 -0
  185. package/src/providers/gmail/trigger-on-message-received.definition.d.ts +4 -0
  186. package/src/providers/gmail/trigger-on-message-received.definition.js +74 -0
  187. package/src/providers/gmail/trigger-on-message-received.js +232 -0
  188. package/src/providers/google_analytics/executors.js +2 -2
  189. package/src/providers/google_analytics/scopes.js +6 -1
  190. package/src/providers/google_bigquery/executors.js +2 -2
  191. package/src/providers/google_bigquery/scopes.js +2 -0
  192. package/src/providers/google_search_console/executors.js +2 -2
  193. package/src/providers/google_search_console/scopes.js +2 -0
  194. package/src/providers/googleads/executors.js +1 -1
  195. package/src/providers/googleads/scopes.d.ts +1 -3
  196. package/src/providers/googleads/scopes.js +2 -4
  197. package/src/providers/googlecalendar/executors.d.ts +3 -0
  198. package/src/providers/googlecalendar/executors.js +3 -1
  199. package/src/providers/googlecalendar/runtime-shared.js +2 -2
  200. package/src/providers/googlecalendar/scopes.js +2 -0
  201. package/src/providers/googlecalendar/trigger-on-event-changed.d.ts +2 -0
  202. package/src/providers/googlecalendar/trigger-on-event-changed.definition.d.ts +4 -0
  203. package/src/providers/googlecalendar/trigger-on-event-changed.definition.js +74 -0
  204. package/src/providers/googlecalendar/trigger-on-event-changed.js +233 -0
  205. package/src/providers/googlechat/executors.d.ts +1 -3
  206. package/src/providers/googlechat/executors.js +219 -28
  207. package/src/providers/googlechat/members.d.ts +55 -0
  208. package/src/providers/googlechat/members.js +293 -0
  209. package/src/providers/googlechat/runtime.d.ts +16 -0
  210. package/src/providers/googlechat/runtime.js +25 -0
  211. package/src/providers/googlechat/scopes.d.ts +22 -3
  212. package/src/providers/googlechat/scopes.js +30 -7
  213. package/src/providers/googledocs/executors.js +1 -1
  214. package/src/providers/googledrive/executors.d.ts +3 -0
  215. package/src/providers/googledrive/executors.js +9 -2
  216. package/src/providers/{google-auth.d.ts → googledrive/runtime-auth.d.ts} +2 -2
  217. package/src/providers/{google-auth.js → googledrive/runtime-auth.js} +3 -3
  218. package/src/providers/googledrive/runtime-collaboration.js +1 -1
  219. package/src/providers/{google-runtime.d.ts → googledrive/runtime-request.d.ts} +1 -1
  220. package/src/providers/{google-runtime.js → googledrive/runtime-request.js} +2 -2
  221. package/src/providers/googledrive/trigger-changes.d.ts +12 -0
  222. package/src/providers/googledrive/trigger-changes.definition.d.ts +7 -0
  223. package/src/providers/googledrive/trigger-changes.definition.js +101 -0
  224. package/src/providers/googledrive/trigger-changes.js +452 -0
  225. package/src/providers/googledrive/trigger-on-file-change.d.ts +2 -0
  226. package/src/providers/googledrive/trigger-on-file-change.definition.d.ts +4 -0
  227. package/src/providers/googledrive/trigger-on-file-change.definition.js +77 -0
  228. package/src/providers/googledrive/trigger-on-file-change.js +258 -0
  229. package/src/providers/googleforms/executors.js +2 -2
  230. package/src/providers/googleforms/scopes.d.ts +0 -3
  231. package/src/providers/googleforms/scopes.js +2 -6
  232. package/src/providers/googlemeet/executors.js +2 -2
  233. package/src/providers/googlemeet/scopes.d.ts +0 -3
  234. package/src/providers/googlemeet/scopes.js +2 -6
  235. package/src/providers/googlesheets/executors.d.ts +3 -0
  236. package/src/providers/googlesheets/executors.js +3 -1
  237. package/src/providers/googlesheets/scopes.js +2 -0
  238. package/src/providers/googlesheets/trigger-on-row-added.d.ts +2 -0
  239. package/src/providers/googlesheets/trigger-on-row-added.definition.d.ts +4 -0
  240. package/src/providers/googlesheets/trigger-on-row-added.definition.js +54 -0
  241. package/src/providers/googlesheets/trigger-on-row-added.js +234 -0
  242. package/src/providers/googleslides/executors.js +2 -2
  243. package/src/providers/googleslides/scopes.d.ts +0 -3
  244. package/src/providers/googleslides/scopes.js +2 -6
  245. package/src/providers/googletasks/executors.js +2 -2
  246. package/src/providers/googletasks/scopes.d.ts +0 -3
  247. package/src/providers/googletasks/scopes.js +2 -6
  248. package/src/providers/granola/actions.js +2 -0
  249. package/src/providers/granola/runtime-mcp.js +2 -0
  250. package/src/providers/granola/runtime.js +2 -2
  251. package/src/providers/hithink_finance/runtime.js +1 -1
  252. package/src/providers/indexed/executors.d.ts +4 -0
  253. package/src/providers/indexed/executors.js +16 -0
  254. package/src/providers/indexed/runtime.d.ts +26 -0
  255. package/src/providers/indexed/runtime.js +129 -0
  256. package/src/providers/indiegogo/executors.js +1 -1
  257. package/src/providers/investoday_mcp/executors.js +2 -2
  258. package/src/providers/iyunbiao/runtime.js +2 -2
  259. package/src/providers/keepa/actions.d.ts +1 -1
  260. package/src/providers/keepa/actions.js +371 -149
  261. package/src/providers/keepa/deal-attributes.d.ts +1 -0
  262. package/src/providers/keepa/deal-attributes.js +26 -0
  263. package/src/providers/keepa/runtime.js +212 -18
  264. package/src/providers/kingdee/executors.js +1 -1
  265. package/src/providers/kingdee/runtime.js +2 -2
  266. package/src/providers/kuaidi100/runtime.js +1 -1
  267. package/src/providers/linear/executors.d.ts +3 -0
  268. package/src/providers/linear/executors.js +14 -9
  269. package/src/providers/linear/trigger-on-issue-changed.d.ts +2 -0
  270. package/src/providers/linear/trigger-on-issue-changed.definition.d.ts +5 -0
  271. package/src/providers/linear/trigger-on-issue-changed.definition.js +43 -0
  272. package/src/providers/linear/trigger-on-issue-changed.js +215 -0
  273. package/src/providers/linear_mcp/actions.d.ts +47 -0
  274. package/src/providers/linear_mcp/actions.js +102 -0
  275. package/src/providers/linear_mcp/endpoints.d.ts +3 -0
  276. package/src/providers/linear_mcp/endpoints.js +3 -0
  277. package/src/providers/linear_mcp/executors.d.ts +3 -0
  278. package/src/providers/linear_mcp/executors.js +9 -0
  279. package/src/providers/linear_mcp/runtime-mcp.d.ts +15 -0
  280. package/src/providers/linear_mcp/runtime-mcp.js +238 -0
  281. package/src/providers/lingxing_mcp/runtime.js +1 -1
  282. package/src/providers/mcdonalds_cn_mcp/runtime.js +1 -1
  283. package/src/providers/metabase/mcp-runtime.js +1 -1
  284. package/src/providers/moneyforward_mcp/executors.d.ts +3 -0
  285. package/src/providers/moneyforward_mcp/executors.js +11 -0
  286. package/src/providers/moneyforward_mcp/manifest.d.ts +31 -0
  287. package/src/providers/moneyforward_mcp/manifest.js +204 -0
  288. package/src/providers/moneyforward_mcp/runtime.d.ts +18 -0
  289. package/src/providers/moneyforward_mcp/runtime.js +296 -0
  290. package/src/providers/notion/executors.d.ts +3 -0
  291. package/src/providers/notion/executors.js +41 -3
  292. package/src/providers/notion/trigger-on-database-page-event.d.ts +2 -0
  293. package/src/providers/notion/trigger-on-database-page-event.definition.d.ts +4 -0
  294. package/src/providers/notion/trigger-on-database-page-event.definition.js +63 -0
  295. package/src/providers/notion/trigger-on-database-page-event.js +293 -0
  296. package/src/providers/notion_mcp/endpoints.d.ts +3 -0
  297. package/src/providers/notion_mcp/endpoints.js +3 -0
  298. package/src/providers/notion_mcp/executors.d.ts +3 -0
  299. package/src/providers/notion_mcp/executors.js +176 -0
  300. package/src/providers/notion_mcp/mcp-response.d.ts +86 -0
  301. package/src/providers/notion_mcp/mcp-response.js +314 -0
  302. package/src/providers/odoo/executors.d.ts +3 -0
  303. package/src/providers/odoo/executors.js +32 -0
  304. package/src/providers/odoo/runtime.d.ts +16 -0
  305. package/src/providers/odoo/runtime.js +140 -0
  306. package/src/providers/one_drive/executors.d.ts +3 -0
  307. package/src/providers/one_drive/executors.js +2 -0
  308. package/src/providers/one_drive/trigger-on-item-changed.d.ts +2 -0
  309. package/src/providers/one_drive/trigger-on-item-changed.definition.d.ts +4 -0
  310. package/src/providers/one_drive/trigger-on-item-changed.definition.js +63 -0
  311. package/src/providers/one_drive/trigger-on-item-changed.js +214 -0
  312. package/src/providers/outlook/executors.d.ts +3 -0
  313. package/src/providers/outlook/executors.js +29 -6
  314. package/src/providers/outlook/microsoft-graph.js +17 -6
  315. package/src/providers/outlook/trigger-on-message-received.d.ts +2 -0
  316. package/src/providers/outlook/trigger-on-message-received.definition.d.ts +4 -0
  317. package/src/providers/outlook/trigger-on-message-received.definition.js +93 -0
  318. package/src/providers/outlook/trigger-on-message-received.js +226 -0
  319. package/src/providers/outlook_calendar/executors.js +30 -7
  320. package/src/providers/patsnap_mcp/executors.js +2 -2
  321. package/src/providers/postiz/executors.d.ts +4 -0
  322. package/src/providers/postiz/executors.js +83 -0
  323. package/src/providers/provider-loader.d.ts +5 -0
  324. package/src/providers/provider-loader.js +4 -0
  325. package/src/providers/provider-runtime.d.ts +15 -0
  326. package/src/providers/provider-runtime.js +57 -4
  327. package/src/providers/proworkflow/executors.d.ts +4 -0
  328. package/src/providers/proworkflow/executors.js +135 -0
  329. package/src/providers/registry.generated.js +14 -0
  330. package/src/providers/scrape_creators/catalog.js +1 -1
  331. package/src/providers/scrape_creators/runtime.js +1 -1
  332. package/src/providers/sellersprite_mcp/executors.js +2 -2
  333. package/src/providers/sellersprite_mcp/official-actions.js +3 -2
  334. package/src/providers/sentry/runtime.js +6 -7
  335. package/src/providers/shopify/executors.d.ts +3 -0
  336. package/src/providers/shopify/executors.js +2 -0
  337. package/src/providers/shopify/trigger-on-shop-event.d.ts +2 -0
  338. package/src/providers/shopify/trigger-on-shop-event.definition.d.ts +4 -0
  339. package/src/providers/shopify/trigger-on-shop-event.definition.js +214 -0
  340. package/src/providers/shopify/trigger-on-shop-event.js +165 -0
  341. package/src/providers/slack/actions.js +52 -3
  342. package/src/providers/slack/executors.d.ts +3 -0
  343. package/src/providers/slack/executors.js +2 -0
  344. package/src/providers/slack/runtime.js +58 -21
  345. package/src/providers/slack/trigger-on-message-posted.d.ts +2 -0
  346. package/src/providers/slack/trigger-on-message-posted.definition.d.ts +4 -0
  347. package/src/providers/slack/trigger-on-message-posted.definition.js +80 -0
  348. package/src/providers/slack/trigger-on-message-posted.js +176 -0
  349. package/src/providers/slickdeals/runtime.js +1 -1
  350. package/src/providers/sorftime_mcp/executors.js +2 -2
  351. package/src/providers/spotify/runtime.js +15 -4
  352. package/src/providers/stripe/executors.d.ts +3 -0
  353. package/src/providers/stripe/executors.js +2 -0
  354. package/src/providers/stripe/trigger-on-event.d.ts +2 -0
  355. package/src/providers/stripe/trigger-on-event.definition.d.ts +4 -0
  356. package/src/providers/stripe/trigger-on-event.definition.js +43 -0
  357. package/src/providers/stripe/trigger-on-event.js +212 -0
  358. package/src/providers/telegram/executors.d.ts +3 -0
  359. package/src/providers/telegram/executors.js +2 -0
  360. package/src/providers/telegram/trigger-on-update.d.ts +2 -0
  361. package/src/providers/telegram/trigger-on-update.definition.d.ts +5 -0
  362. package/src/providers/telegram/trigger-on-update.definition.js +78 -0
  363. package/src/providers/telegram/trigger-on-update.js +141 -0
  364. package/src/providers/tikhub/bounded-response.d.ts +1 -1
  365. package/src/providers/tikhub/bounded-response.js +8 -34
  366. package/src/providers/tikhub/endpoint-catalog.js +1 -1
  367. package/src/providers/tikhub/runtime.js +2 -2
  368. package/src/providers/tongdaxin/executors.js +79 -15
  369. package/src/providers/uspto/executors.js +1 -1
  370. package/src/providers/waffo/executors.js +1 -1
  371. package/src/providers/waffo/runtime.js +1 -1
  372. package/src/providers/wecom_mcp/runtime.js +1 -1
  373. package/src/providers/weixin_store/access-token.d.ts +2 -1
  374. package/src/providers/weixin_store/access-token.js +15 -4
  375. package/src/providers/weixin_store/executors.js +97 -12
  376. package/src/providers/wisburg/executors.d.ts +4 -0
  377. package/src/providers/wisburg/executors.js +13 -0
  378. package/src/providers/wisburg/runtime.d.ts +12 -0
  379. package/src/providers/wisburg/runtime.js +133 -0
  380. package/src/providers/woocommerce/executors.d.ts +3 -0
  381. package/src/providers/woocommerce/executors.js +2 -0
  382. package/src/providers/woocommerce/trigger-on-store-event.d.ts +2 -0
  383. package/src/providers/woocommerce/trigger-on-store-event.definition.d.ts +4 -0
  384. package/src/providers/woocommerce/trigger-on-store-event.definition.js +55 -0
  385. package/src/providers/woocommerce/trigger-on-store-event.js +179 -0
  386. package/src/providers/xydc_mcp/executors.js +2 -2
  387. package/src/providers/youtube/executors.js +1 -1
  388. package/src/providers/youtube/runtime.js +1 -1
  389. package/src/providers/zendesk/executors.d.ts +3 -0
  390. package/src/providers/zendesk/executors.js +2 -0
  391. package/src/providers/zendesk/trigger-on-event.d.ts +2 -0
  392. package/src/providers/zendesk/trigger-on-event.definition.d.ts +5 -0
  393. package/src/providers/zendesk/trigger-on-event.definition.js +101 -0
  394. package/src/providers/zendesk/trigger-on-event.js +188 -0
  395. package/src/providers/zerotier/executors.d.ts +9 -0
  396. package/src/providers/zerotier/executors.js +629 -0
  397. package/src/providers/zerotier/runtime.d.ts +54 -0
  398. package/src/providers/zerotier/runtime.js +207 -0
  399. package/src/saas/saas-cleanup-service.d.ts +26 -0
  400. package/src/saas/saas-cleanup-service.js +124 -0
  401. package/src/saas/saas-client.d.ts +86 -0
  402. package/src/saas/saas-client.js +369 -0
  403. package/src/saas/saas-execution-service.d.ts +15 -0
  404. package/src/saas/saas-execution-service.js +21 -0
  405. package/src/saas/saas-oauth-service.d.ts +25 -0
  406. package/src/saas/saas-oauth-service.js +197 -0
  407. package/src/saas/saas-project-service.d.ts +61 -0
  408. package/src/saas/saas-project-service.js +211 -0
  409. package/src/server/actions/action-idempotency.d.ts +1 -0
  410. package/src/server/actions/action-idempotency.js +1 -0
  411. package/src/server/actions/action-runner.d.ts +7 -0
  412. package/src/server/actions/action-runner.js +43 -7
  413. package/src/server/actions/run-log-summary.js +9 -0
  414. package/src/server/api/auth.d.ts +1 -0
  415. package/src/server/api/auth.js +13 -2
  416. package/src/server/api/cache-policy.js +4 -1
  417. package/src/server/api/connection-input.d.ts +7 -1
  418. package/src/server/api/connection-input.js +7 -1
  419. package/src/server/api/connection-routes.d.ts +3 -1
  420. package/src/server/api/connection-routes.js +21 -3
  421. package/src/server/api/http-utils.d.ts +4 -3
  422. package/src/server/api/oauth-completion-page.d.ts +124 -0
  423. package/src/server/api/oauth-completion-page.js +113 -18
  424. package/src/server/api/openapi.js +123 -15
  425. package/src/server/api/policy-input.js +6 -0
  426. package/src/server/api/runtime-api.d.ts +18 -3
  427. package/src/server/api/runtime-api.js +36 -5
  428. package/src/server/api/saas-completion-page.d.ts +2 -0
  429. package/src/server/api/saas-completion-page.js +103 -0
  430. package/src/server/connect-app.d.ts +5 -0
  431. package/src/server/connect-app.js +50 -0
  432. package/src/server/connect-server.d.ts +12 -0
  433. package/src/server/connect-server.js +157 -15
  434. package/src/server/connector-runtime.d.ts +3 -1
  435. package/src/server/connector-runtime.js +5 -2
  436. package/src/server/files/transit-files.js +16 -7
  437. package/src/server/proxy/proxy-runner.d.ts +5 -1
  438. package/src/server/proxy/proxy-runner.js +72 -26
  439. package/src/server/storage/connection-request-store.d.ts +41 -1
  440. package/src/server/storage/connection-request-store.js +245 -20
  441. package/src/server/storage/connection-store.d.ts +16 -0
  442. package/src/server/storage/connection-store.js +119 -0
  443. package/src/server/storage/node-runtime-database.js +3 -3
  444. package/src/server/storage/{postgres-migrations.d.ts → postgres/migrations.d.ts} +2 -2
  445. package/src/server/storage/{postgres-migrations.js → postgres/migrations.js} +1 -1
  446. package/src/server/storage/postgres/runtime-store.d.ts +43 -0
  447. package/src/server/storage/{postgres-runtime-store.js → postgres/runtime-store.js} +59 -94
  448. package/src/server/storage/runtime-database.d.ts +4 -0
  449. package/src/server/storage/runtime-sql.d.ts +1 -1
  450. package/src/server/storage/runtime-sql.js +2 -1
  451. package/src/server/storage/runtime-store.d.ts +1 -0
  452. package/src/server/storage/runtime-token-service.d.ts +2 -0
  453. package/src/server/storage/runtime-token-service.js +3 -0
  454. package/src/server/storage/saas-project-store.d.ts +77 -0
  455. package/src/server/storage/saas-project-store.js +273 -0
  456. package/src/server/storage/{sqlite-runtime-store.d.ts → sqlite/runtime-store.d.ts} +21 -25
  457. package/src/server/storage/{sqlite-runtime-store.js → sqlite/runtime-store.js} +100 -115
  458. package/src/server/storage/trigger-store.d.ts +16 -0
  459. package/src/server/storage/trigger-store.js +96 -0
  460. package/src/triggers/common/config.d.ts +2 -0
  461. package/src/triggers/common/config.js +17 -0
  462. package/src/triggers/common/configOptions.d.ts +13 -0
  463. package/src/triggers/common/configOptions.js +1 -0
  464. package/src/triggers/common/encoding.d.ts +3 -0
  465. package/src/triggers/common/encoding.js +19 -0
  466. package/src/triggers/common/integration.d.ts +115 -0
  467. package/src/triggers/common/integration.js +31 -0
  468. package/src/triggers/common/json.d.ts +6 -0
  469. package/src/triggers/common/json.js +91 -0
  470. package/src/triggers/common/poll.d.ts +41 -0
  471. package/src/triggers/common/poll.js +15 -0
  472. package/src/triggers/common/proxy.d.ts +14 -0
  473. package/src/triggers/common/proxy.js +1 -0
  474. package/src/triggers/common/types.d.ts +42 -0
  475. package/src/triggers/common/types.js +1 -0
  476. package/src/triggers/maintenance.d.ts +40 -0
  477. package/src/triggers/maintenance.js +120 -0
  478. package/src/triggers/metadata.d.ts +8 -0
  479. package/src/triggers/metadata.js +1 -0
  480. package/src/triggers/request.d.ts +33 -0
  481. package/src/triggers/request.js +52 -0
  482. package/src/triggers/resources.d.ts +12 -0
  483. package/src/triggers/resources.js +121 -0
  484. package/src/triggers/signature.d.ts +4 -0
  485. package/src/triggers/signature.js +48 -0
  486. package/src/triggers/store.d.ts +29 -0
  487. package/src/triggers/store.js +1 -0
  488. package/src/triggers/subscriptions.d.ts +22 -0
  489. package/src/triggers/subscriptions.js +220 -0
  490. package/src/triggers/trigger-runner.d.ts +34 -0
  491. package/src/triggers/trigger-runner.js +169 -0
  492. package/src/providers/sentry/scopes.d.ts +0 -1
  493. package/src/providers/sentry/scopes.js +0 -7
  494. package/src/server/storage/postgres-runtime-store.d.ts +0 -39
  495. /package/src/providers/{cloudflare-current-user.d.ts → cloudflare_dns/runtime-user.d.ts} +0 -0
@@ -0,0 +1,3319 @@
1
+ {
2
+ "service": "zerotier",
3
+ "displayName": "ZeroTier",
4
+ "description": "Manage ZeroTier virtual networks, members, organizations, service accounts, webhooks, and IAM through the ZeroTier Central v1 (Legacy) and v2 (New Central) APIs.",
5
+ "categories": [
6
+ "Developer Tools",
7
+ "Infrastructure"
8
+ ],
9
+ "authTypes": [
10
+ "custom_credential"
11
+ ],
12
+ "auth": [
13
+ {
14
+ "type": "custom_credential",
15
+ "label": "ZeroTier API Token",
16
+ "description": "Choose the API generation matching your token: v1 tokens come from Legacy Central (my.zerotier.com > Account > API Access Tokens), v2 service account API keys come from New Central (central.zerotier.com).",
17
+ "fields": [
18
+ {
19
+ "key": "apiVersion",
20
+ "label": "API Version",
21
+ "inputType": "text",
22
+ "required": true,
23
+ "secret": false,
24
+ "placeholder": "v2",
25
+ "description": "Which Central API to call: \"v1\" for Legacy Central (api.zerotier.com, Authorization: token) or \"v2\" for New Central (central.zerotier.com, Authorization: Bearer service account key)."
26
+ },
27
+ {
28
+ "key": "apiKey",
29
+ "label": "API Token",
30
+ "inputType": "password",
31
+ "required": true,
32
+ "secret": true,
33
+ "placeholder": "your_zerotier_token",
34
+ "description": "For v1: a personal API token created in Legacy Central under Account > API Access Tokens. For v2: a service account API key created in New Central under your organization > Service Accounts (the secret is shown only once)."
35
+ },
36
+ {
37
+ "key": "orgId",
38
+ "label": "Organization ID",
39
+ "inputType": "text",
40
+ "required": false,
41
+ "secret": false,
42
+ "placeholder": "c0341f5c-...",
43
+ "description": "New Central (v2) only: default organization for list_networks and list_network_groups (org-id filter) and for get_org. Other org-scoped actions take orgId explicitly. Leave empty for v1."
44
+ }
45
+ ]
46
+ }
47
+ ],
48
+ "homepageUrl": "https://www.zerotier.com",
49
+ "actions": [
50
+ {
51
+ "id": "zerotier.accept_invitation",
52
+ "service": "zerotier",
53
+ "name": "accept_invitation",
54
+ "description": "v1 only: accept an organization invitation.",
55
+ "operationType": "write",
56
+ "requiredScopes": [],
57
+ "providerPermissions": [],
58
+ "inputSchema": {
59
+ "type": "object",
60
+ "properties": {
61
+ "invitationId": {
62
+ "type": "string",
63
+ "minLength": 1,
64
+ "description": "The invitation ID."
65
+ }
66
+ },
67
+ "additionalProperties": false,
68
+ "required": [
69
+ "invitationId"
70
+ ],
71
+ "description": "Input for accepting an invitation."
72
+ },
73
+ "outputSchema": {
74
+ "type": "object",
75
+ "properties": {
76
+ "result": {
77
+ "description": "The ZeroTier API response payload for the requested resource."
78
+ }
79
+ },
80
+ "additionalProperties": false,
81
+ "required": [
82
+ "result"
83
+ ],
84
+ "description": "The accepted invitation."
85
+ }
86
+ },
87
+ {
88
+ "id": "zerotier.add_iam",
89
+ "service": "zerotier",
90
+ "name": "add_iam",
91
+ "description": "v2 only: add roles for a principal on an org, network group, or network.",
92
+ "operationType": "write",
93
+ "requiredScopes": [],
94
+ "providerPermissions": [],
95
+ "inputSchema": {
96
+ "type": "object",
97
+ "properties": {
98
+ "resourceType": {
99
+ "type": "string",
100
+ "enum": [
101
+ "org",
102
+ "network-group",
103
+ "network"
104
+ ],
105
+ "description": "The ZeroTier v2 resource kind the IAM assignment applies to."
106
+ },
107
+ "resourceId": {
108
+ "type": "string",
109
+ "minLength": 1,
110
+ "description": "The resource ID."
111
+ },
112
+ "principal": {
113
+ "type": "string",
114
+ "description": "Email address of the user or service account.",
115
+ "format": "email"
116
+ },
117
+ "roles": {
118
+ "type": "array",
119
+ "items": {
120
+ "type": "string",
121
+ "enum": [
122
+ "Owner",
123
+ "Admin",
124
+ "Editor",
125
+ "Viewer",
126
+ "NetworkGroupAdmin",
127
+ "NetworkGroupEditor",
128
+ "NetworkGroupViewer",
129
+ "NetworkAdmin",
130
+ "NetworkEditor",
131
+ "NetworkViewer"
132
+ ],
133
+ "description": "A ZeroTier v2 IAM role. Org roles (Owner, Admin, Editor, Viewer) apply to every child resource; NetworkGroup* and Network* roles apply at that level and below."
134
+ },
135
+ "description": "IAM roles to add.",
136
+ "minItems": 1,
137
+ "uniqueItems": true
138
+ }
139
+ },
140
+ "additionalProperties": false,
141
+ "required": [
142
+ "resourceType",
143
+ "resourceId",
144
+ "principal",
145
+ "roles"
146
+ ],
147
+ "description": "Input for adding IAM roles."
148
+ },
149
+ "outputSchema": {
150
+ "type": "object",
151
+ "properties": {
152
+ "ok": {
153
+ "type": "boolean",
154
+ "description": "Whether the ZeroTier API operation completed successfully."
155
+ },
156
+ "result": {
157
+ "description": "The ZeroTier API response payload when one was returned."
158
+ }
159
+ },
160
+ "additionalProperties": false,
161
+ "required": [
162
+ "ok",
163
+ "result"
164
+ ],
165
+ "description": "IAM update result."
166
+ }
167
+ },
168
+ {
169
+ "id": "zerotier.add_members",
170
+ "service": "zerotier",
171
+ "name": "add_members",
172
+ "description": "v2 only: add multiple members to a network in one call.",
173
+ "operationType": "write",
174
+ "requiredScopes": [],
175
+ "providerPermissions": [],
176
+ "inputSchema": {
177
+ "type": "object",
178
+ "properties": {
179
+ "networkId": {
180
+ "type": "string",
181
+ "minLength": 1,
182
+ "description": "The ZeroTier network ID (16-character hex string)."
183
+ },
184
+ "members": {
185
+ "type": "array",
186
+ "items": {
187
+ "type": "object",
188
+ "properties": {
189
+ "deviceId": {
190
+ "type": "string",
191
+ "minLength": 10,
192
+ "maxLength": 10,
193
+ "description": "The member device ID (10-character hex string).",
194
+ "pattern": "^[0-9a-fA-F]{10}$"
195
+ },
196
+ "name": {
197
+ "type": "string",
198
+ "description": "The display name to set."
199
+ },
200
+ "description": {
201
+ "type": "string",
202
+ "description": "The description to set (may be an empty string)."
203
+ },
204
+ "activeBridge": {
205
+ "type": "boolean",
206
+ "description": "Whether this device acts as an active bridge."
207
+ },
208
+ "noAutoAssignIps": {
209
+ "type": "boolean",
210
+ "description": "Disable automatic IP assignment."
211
+ },
212
+ "ipv4Assignments": {
213
+ "type": "array",
214
+ "items": {
215
+ "type": "string",
216
+ "minLength": 1
217
+ },
218
+ "description": "Static IPv4 assignments."
219
+ },
220
+ "ipv6Assignments": {
221
+ "type": "array",
222
+ "items": {
223
+ "type": "string",
224
+ "minLength": 1
225
+ },
226
+ "description": "Static IPv6 assignments."
227
+ }
228
+ },
229
+ "additionalProperties": false,
230
+ "required": [
231
+ "deviceId"
232
+ ],
233
+ "description": "One member to add."
234
+ },
235
+ "description": "Members to add."
236
+ }
237
+ },
238
+ "additionalProperties": false,
239
+ "required": [
240
+ "networkId",
241
+ "members"
242
+ ],
243
+ "description": "Input for adding members."
244
+ },
245
+ "outputSchema": {
246
+ "type": "object",
247
+ "properties": {
248
+ "items": {
249
+ "type": "array",
250
+ "items": {
251
+ "description": "One ZeroTier API resource."
252
+ },
253
+ "description": "The ZeroTier API resources returned for this request."
254
+ },
255
+ "stats": {
256
+ "description": "v2 only: aggregate statistics returned when stats was requested."
257
+ }
258
+ },
259
+ "additionalProperties": false,
260
+ "required": [
261
+ "items"
262
+ ],
263
+ "description": "The added members."
264
+ }
265
+ },
266
+ {
267
+ "id": "zerotier.add_user_token",
268
+ "service": "zerotier",
269
+ "name": "add_user_token",
270
+ "description": "v1 only: register an API token for a user. The caller supplies the token value (get_random_token generates one); it cannot be retrieved after it is set.",
271
+ "operationType": "write",
272
+ "requiredScopes": [],
273
+ "providerPermissions": [],
274
+ "inputSchema": {
275
+ "type": "object",
276
+ "properties": {
277
+ "userId": {
278
+ "type": "string",
279
+ "minLength": 1,
280
+ "description": "The user ID."
281
+ },
282
+ "tokenName": {
283
+ "type": "string",
284
+ "minLength": 1,
285
+ "description": "A name for the new token."
286
+ },
287
+ "token": {
288
+ "type": "string",
289
+ "minLength": 32,
290
+ "description": "The API token value to register, at least 32 characters."
291
+ }
292
+ },
293
+ "additionalProperties": false,
294
+ "required": [
295
+ "userId",
296
+ "tokenName",
297
+ "token"
298
+ ],
299
+ "description": "Input for creating a user API token."
300
+ },
301
+ "outputSchema": {
302
+ "type": "object",
303
+ "properties": {
304
+ "result": {
305
+ "description": "The ZeroTier API response payload for the requested resource."
306
+ }
307
+ },
308
+ "additionalProperties": false,
309
+ "required": [
310
+ "result"
311
+ ],
312
+ "description": "The created API token record."
313
+ }
314
+ },
315
+ {
316
+ "id": "zerotier.authorize_member",
317
+ "service": "zerotier",
318
+ "name": "authorize_member",
319
+ "description": "Authorize one member on a ZeroTier network.",
320
+ "operationType": "write",
321
+ "requiredScopes": [],
322
+ "providerPermissions": [],
323
+ "inputSchema": {
324
+ "type": "object",
325
+ "properties": {
326
+ "networkId": {
327
+ "type": "string",
328
+ "minLength": 1,
329
+ "description": "The ZeroTier network ID (16-character hex string)."
330
+ },
331
+ "memberId": {
332
+ "type": "string",
333
+ "minLength": 1,
334
+ "description": "The member device/node ID (10-character hex string)."
335
+ }
336
+ },
337
+ "additionalProperties": false,
338
+ "required": [
339
+ "networkId",
340
+ "memberId"
341
+ ],
342
+ "description": "Input for authorizing a network member."
343
+ },
344
+ "outputSchema": {
345
+ "type": "object",
346
+ "properties": {
347
+ "result": {
348
+ "description": "The ZeroTier API response payload for the requested resource."
349
+ }
350
+ },
351
+ "additionalProperties": false,
352
+ "required": [
353
+ "result"
354
+ ],
355
+ "description": "The authorized network member."
356
+ }
357
+ },
358
+ {
359
+ "id": "zerotier.authorize_members",
360
+ "service": "zerotier",
361
+ "name": "authorize_members",
362
+ "description": "v2 only: authorize multiple members on a network in one call.",
363
+ "operationType": "write",
364
+ "requiredScopes": [],
365
+ "providerPermissions": [],
366
+ "inputSchema": {
367
+ "type": "object",
368
+ "properties": {
369
+ "networkId": {
370
+ "type": "string",
371
+ "minLength": 1,
372
+ "description": "The ZeroTier network ID (16-character hex string)."
373
+ },
374
+ "deviceIds": {
375
+ "type": "array",
376
+ "items": {
377
+ "type": "string",
378
+ "minLength": 10,
379
+ "maxLength": 10,
380
+ "description": "The member device ID (10-character hex string).",
381
+ "pattern": "^[0-9a-fA-F]{10}$"
382
+ },
383
+ "description": "Member device IDs (10-character hex strings)."
384
+ }
385
+ },
386
+ "additionalProperties": false,
387
+ "required": [
388
+ "networkId",
389
+ "deviceIds"
390
+ ],
391
+ "description": "Input for authorizing members."
392
+ },
393
+ "outputSchema": {
394
+ "type": "object",
395
+ "properties": {
396
+ "ok": {
397
+ "type": "boolean",
398
+ "description": "Whether the ZeroTier API operation completed successfully."
399
+ },
400
+ "result": {
401
+ "description": "The ZeroTier API response payload when one was returned."
402
+ }
403
+ },
404
+ "additionalProperties": false,
405
+ "required": [
406
+ "ok",
407
+ "result"
408
+ ],
409
+ "description": "Authorization result."
410
+ }
411
+ },
412
+ {
413
+ "id": "zerotier.check_permissions",
414
+ "service": "zerotier",
415
+ "name": "check_permissions",
416
+ "description": "v2 only: check whether the authenticated principal holds permissions on resources.",
417
+ "operationType": "read",
418
+ "requiredScopes": [],
419
+ "providerPermissions": [],
420
+ "inputSchema": {
421
+ "type": "object",
422
+ "properties": {
423
+ "checks": {
424
+ "type": "array",
425
+ "items": {
426
+ "type": "object",
427
+ "properties": {
428
+ "permission": {
429
+ "type": "string",
430
+ "minLength": 1,
431
+ "description": "The permission name to check."
432
+ },
433
+ "resourceType": {
434
+ "type": "string",
435
+ "enum": [
436
+ "org",
437
+ "network_group",
438
+ "network"
439
+ ],
440
+ "description": "The type of resource to check permissions for."
441
+ },
442
+ "resourceId": {
443
+ "type": "string",
444
+ "minLength": 1,
445
+ "description": "The resource ID."
446
+ }
447
+ },
448
+ "additionalProperties": false,
449
+ "required": [
450
+ "permission",
451
+ "resourceType",
452
+ "resourceId"
453
+ ],
454
+ "description": "One permission check."
455
+ },
456
+ "description": "Permission checks to perform."
457
+ }
458
+ },
459
+ "additionalProperties": false,
460
+ "required": [
461
+ "checks"
462
+ ],
463
+ "description": "Input for checking permissions."
464
+ },
465
+ "outputSchema": {
466
+ "type": "object",
467
+ "properties": {
468
+ "items": {
469
+ "type": "array",
470
+ "items": {
471
+ "description": "One ZeroTier API resource."
472
+ },
473
+ "description": "The ZeroTier API resources returned for this request."
474
+ },
475
+ "stats": {
476
+ "description": "v2 only: aggregate statistics returned when stats was requested."
477
+ }
478
+ },
479
+ "additionalProperties": false,
480
+ "required": [
481
+ "items"
482
+ ],
483
+ "description": "The permission check results."
484
+ }
485
+ },
486
+ {
487
+ "id": "zerotier.create_api_key",
488
+ "service": "zerotier",
489
+ "name": "create_api_key",
490
+ "description": "v2 only: create an API key for a service account. The secret is returned only once.",
491
+ "operationType": "write",
492
+ "requiredScopes": [],
493
+ "providerPermissions": [],
494
+ "inputSchema": {
495
+ "type": "object",
496
+ "properties": {
497
+ "serviceAccountId": {
498
+ "type": "string",
499
+ "minLength": 1,
500
+ "description": "The service account ID."
501
+ },
502
+ "expires": {
503
+ "type": "string",
504
+ "description": "The key expiration time (RFC 3339).",
505
+ "format": "date-time"
506
+ },
507
+ "description": {
508
+ "type": "string",
509
+ "description": "The description to set (may be an empty string)."
510
+ }
511
+ },
512
+ "additionalProperties": false,
513
+ "required": [
514
+ "serviceAccountId",
515
+ "expires"
516
+ ],
517
+ "description": "Input for creating a service account API key."
518
+ },
519
+ "outputSchema": {
520
+ "type": "object",
521
+ "properties": {
522
+ "result": {
523
+ "description": "The ZeroTier API response payload for the requested resource."
524
+ }
525
+ },
526
+ "additionalProperties": false,
527
+ "required": [
528
+ "result"
529
+ ],
530
+ "description": "The created API key (secret shown once)."
531
+ }
532
+ },
533
+ {
534
+ "id": "zerotier.create_invitation",
535
+ "service": "zerotier",
536
+ "name": "create_invitation",
537
+ "description": "v1 only: send an organization invitation to an email address.",
538
+ "operationType": "write",
539
+ "requiredScopes": [],
540
+ "providerPermissions": [],
541
+ "inputSchema": {
542
+ "type": "object",
543
+ "properties": {
544
+ "email": {
545
+ "type": "string",
546
+ "description": "The email address to invite.",
547
+ "format": "email"
548
+ }
549
+ },
550
+ "additionalProperties": false,
551
+ "required": [
552
+ "email"
553
+ ],
554
+ "description": "Input for creating an organization invitation."
555
+ },
556
+ "outputSchema": {
557
+ "type": "object",
558
+ "properties": {
559
+ "result": {
560
+ "description": "The ZeroTier API response payload for the requested resource."
561
+ }
562
+ },
563
+ "additionalProperties": false,
564
+ "required": [
565
+ "result"
566
+ ],
567
+ "description": "The created invitation."
568
+ }
569
+ },
570
+ {
571
+ "id": "zerotier.create_network",
572
+ "service": "zerotier",
573
+ "name": "create_network",
574
+ "description": "Create a ZeroTier network. For v1 sends {config, description} and rejects networkGroupId; for v2 sends {name, description, config} and requires networkGroupId (the group the network is created under) and name.",
575
+ "operationType": "write",
576
+ "requiredScopes": [],
577
+ "providerPermissions": [],
578
+ "inputSchema": {
579
+ "type": "object",
580
+ "properties": {
581
+ "networkGroupId": {
582
+ "type": "string",
583
+ "description": "v2 only, required on v2 and rejected on v1: the network group ID to create the network under."
584
+ },
585
+ "name": {
586
+ "type": "string",
587
+ "description": "The network name (required for v2)."
588
+ },
589
+ "description": {
590
+ "type": "string",
591
+ "description": "The description to set (may be an empty string)."
592
+ },
593
+ "config": {
594
+ "type": "object",
595
+ "properties": {},
596
+ "additionalProperties": true,
597
+ "description": "Network configuration. v1 accepts name/private/enableBroadcast/mtu/multicastLimit/routes/ipAssignmentPools/v4AssignMode/v6AssignMode/dns; v2 accepts private/enableBroadcast/mtu/multicastLimit/routes/v4Subnet/v4IpAssignmentPools/v4AssignmentMode/v6Subnet/v6IpAssignmentPools/v6AssignmentMode/dns."
598
+ }
599
+ },
600
+ "additionalProperties": false,
601
+ "description": "Input for creating a ZeroTier network."
602
+ },
603
+ "outputSchema": {
604
+ "type": "object",
605
+ "properties": {
606
+ "result": {
607
+ "description": "The ZeroTier API response payload for the requested resource."
608
+ }
609
+ },
610
+ "additionalProperties": false,
611
+ "required": [
612
+ "result"
613
+ ],
614
+ "description": "The created ZeroTier network."
615
+ }
616
+ },
617
+ {
618
+ "id": "zerotier.create_network_group",
619
+ "service": "zerotier",
620
+ "name": "create_network_group",
621
+ "description": "v2 only: create a network group inside an organization.",
622
+ "operationType": "write",
623
+ "requiredScopes": [],
624
+ "providerPermissions": [],
625
+ "inputSchema": {
626
+ "type": "object",
627
+ "properties": {
628
+ "orgId": {
629
+ "type": "string",
630
+ "minLength": 1,
631
+ "description": "The ZeroTier organization ID."
632
+ },
633
+ "name": {
634
+ "type": "string",
635
+ "minLength": 1,
636
+ "description": "The group name."
637
+ },
638
+ "description": {
639
+ "type": "string",
640
+ "description": "The description to set (may be an empty string)."
641
+ }
642
+ },
643
+ "additionalProperties": false,
644
+ "required": [
645
+ "orgId",
646
+ "name"
647
+ ],
648
+ "description": "Input for creating a network group."
649
+ },
650
+ "outputSchema": {
651
+ "type": "object",
652
+ "properties": {
653
+ "result": {
654
+ "description": "The ZeroTier API response payload for the requested resource."
655
+ }
656
+ },
657
+ "additionalProperties": false,
658
+ "required": [
659
+ "result"
660
+ ],
661
+ "description": "The created network group."
662
+ }
663
+ },
664
+ {
665
+ "id": "zerotier.create_service_account",
666
+ "service": "zerotier",
667
+ "name": "create_service_account",
668
+ "description": "v2 only: create a service account in an organization.",
669
+ "operationType": "write",
670
+ "requiredScopes": [],
671
+ "providerPermissions": [],
672
+ "inputSchema": {
673
+ "type": "object",
674
+ "properties": {
675
+ "orgId": {
676
+ "type": "string",
677
+ "minLength": 1,
678
+ "description": "The ZeroTier organization ID."
679
+ },
680
+ "id": {
681
+ "type": "string",
682
+ "minLength": 1,
683
+ "description": "The service account ID."
684
+ },
685
+ "name": {
686
+ "type": "string",
687
+ "minLength": 1,
688
+ "description": "The service account name."
689
+ },
690
+ "description": {
691
+ "type": "string",
692
+ "description": "The description to set (may be an empty string)."
693
+ }
694
+ },
695
+ "additionalProperties": false,
696
+ "required": [
697
+ "orgId",
698
+ "id",
699
+ "name"
700
+ ],
701
+ "description": "Input for creating a service account."
702
+ },
703
+ "outputSchema": {
704
+ "type": "object",
705
+ "properties": {
706
+ "result": {
707
+ "description": "The ZeroTier API response payload for the requested resource."
708
+ }
709
+ },
710
+ "additionalProperties": false,
711
+ "required": [
712
+ "result"
713
+ ],
714
+ "description": "The created service account."
715
+ }
716
+ },
717
+ {
718
+ "id": "zerotier.create_webhook",
719
+ "service": "zerotier",
720
+ "name": "create_webhook",
721
+ "description": "v2 only: create a webhook for an organization.",
722
+ "operationType": "write",
723
+ "requiredScopes": [],
724
+ "providerPermissions": [],
725
+ "inputSchema": {
726
+ "type": "object",
727
+ "properties": {
728
+ "orgId": {
729
+ "type": "string",
730
+ "minLength": 1,
731
+ "description": "The ZeroTier organization ID."
732
+ },
733
+ "url": {
734
+ "type": "string",
735
+ "description": "The HTTPS endpoint URL that receives webhook events (FQDN only, no raw IPs or private ranges).",
736
+ "format": "uri"
737
+ },
738
+ "eventList": {
739
+ "type": "array",
740
+ "items": {
741
+ "type": "string",
742
+ "minLength": 1,
743
+ "description": "An event type."
744
+ },
745
+ "description": "ZeroTier event types to subscribe to.",
746
+ "minItems": 1
747
+ },
748
+ "description": {
749
+ "type": "string",
750
+ "maxLength": 255,
751
+ "description": "The webhook description (at most 255 characters)."
752
+ }
753
+ },
754
+ "additionalProperties": false,
755
+ "required": [
756
+ "orgId",
757
+ "url",
758
+ "eventList"
759
+ ],
760
+ "description": "Input for creating a webhook."
761
+ },
762
+ "outputSchema": {
763
+ "type": "object",
764
+ "properties": {
765
+ "result": {
766
+ "description": "The ZeroTier API response payload for the requested resource."
767
+ }
768
+ },
769
+ "additionalProperties": false,
770
+ "required": [
771
+ "result"
772
+ ],
773
+ "description": "The created webhook."
774
+ }
775
+ },
776
+ {
777
+ "id": "zerotier.deauthorize_member",
778
+ "service": "zerotier",
779
+ "name": "deauthorize_member",
780
+ "description": "Revoke authorization for one member on a ZeroTier network.",
781
+ "operationType": "destructive",
782
+ "requiredScopes": [],
783
+ "providerPermissions": [],
784
+ "inputSchema": {
785
+ "type": "object",
786
+ "properties": {
787
+ "networkId": {
788
+ "type": "string",
789
+ "minLength": 1,
790
+ "description": "The ZeroTier network ID (16-character hex string)."
791
+ },
792
+ "memberId": {
793
+ "type": "string",
794
+ "minLength": 1,
795
+ "description": "The member device/node ID (10-character hex string)."
796
+ }
797
+ },
798
+ "additionalProperties": false,
799
+ "required": [
800
+ "networkId",
801
+ "memberId"
802
+ ],
803
+ "description": "Input for de-authorizing a network member."
804
+ },
805
+ "outputSchema": {
806
+ "type": "object",
807
+ "properties": {
808
+ "result": {
809
+ "description": "The ZeroTier API response payload for the requested resource."
810
+ }
811
+ },
812
+ "additionalProperties": false,
813
+ "required": [
814
+ "result"
815
+ ],
816
+ "description": "The de-authorized network member."
817
+ }
818
+ },
819
+ {
820
+ "id": "zerotier.deauthorize_members",
821
+ "service": "zerotier",
822
+ "name": "deauthorize_members",
823
+ "description": "v2 only: de-authorize multiple members on a network in one call.",
824
+ "operationType": "destructive",
825
+ "requiredScopes": [],
826
+ "providerPermissions": [],
827
+ "inputSchema": {
828
+ "type": "object",
829
+ "properties": {
830
+ "networkId": {
831
+ "type": "string",
832
+ "minLength": 1,
833
+ "description": "The ZeroTier network ID (16-character hex string)."
834
+ },
835
+ "deviceIds": {
836
+ "type": "array",
837
+ "items": {
838
+ "type": "string",
839
+ "minLength": 10,
840
+ "maxLength": 10,
841
+ "description": "The member device ID (10-character hex string).",
842
+ "pattern": "^[0-9a-fA-F]{10}$"
843
+ },
844
+ "description": "Member device IDs (10-character hex strings)."
845
+ }
846
+ },
847
+ "additionalProperties": false,
848
+ "required": [
849
+ "networkId",
850
+ "deviceIds"
851
+ ],
852
+ "description": "Input for de-authorizing members."
853
+ },
854
+ "outputSchema": {
855
+ "type": "object",
856
+ "properties": {
857
+ "ok": {
858
+ "type": "boolean",
859
+ "description": "Whether the ZeroTier API operation completed successfully."
860
+ },
861
+ "result": {
862
+ "description": "The ZeroTier API response payload when one was returned."
863
+ }
864
+ },
865
+ "additionalProperties": false,
866
+ "required": [
867
+ "ok",
868
+ "result"
869
+ ],
870
+ "description": "De-authorization result."
871
+ }
872
+ },
873
+ {
874
+ "id": "zerotier.decline_invitation",
875
+ "service": "zerotier",
876
+ "name": "decline_invitation",
877
+ "description": "v1 only: decline or cancel an organization invitation.",
878
+ "operationType": "destructive",
879
+ "requiredScopes": [],
880
+ "providerPermissions": [],
881
+ "inputSchema": {
882
+ "type": "object",
883
+ "properties": {
884
+ "invitationId": {
885
+ "type": "string",
886
+ "minLength": 1,
887
+ "description": "The invitation ID."
888
+ }
889
+ },
890
+ "additionalProperties": false,
891
+ "required": [
892
+ "invitationId"
893
+ ],
894
+ "description": "Input for declining an invitation."
895
+ },
896
+ "outputSchema": {
897
+ "type": "object",
898
+ "properties": {
899
+ "ok": {
900
+ "type": "boolean",
901
+ "description": "Whether the ZeroTier API operation completed successfully."
902
+ },
903
+ "result": {
904
+ "description": "The ZeroTier API response payload when one was returned."
905
+ }
906
+ },
907
+ "additionalProperties": false,
908
+ "required": [
909
+ "ok",
910
+ "result"
911
+ ],
912
+ "description": "Decline result."
913
+ }
914
+ },
915
+ {
916
+ "id": "zerotier.delete_api_key",
917
+ "service": "zerotier",
918
+ "name": "delete_api_key",
919
+ "description": "v2 only: delete an API key.",
920
+ "operationType": "destructive",
921
+ "requiredScopes": [],
922
+ "providerPermissions": [],
923
+ "inputSchema": {
924
+ "type": "object",
925
+ "properties": {
926
+ "apiKeyId": {
927
+ "type": "string",
928
+ "minLength": 1,
929
+ "description": "The API key ID."
930
+ }
931
+ },
932
+ "additionalProperties": false,
933
+ "required": [
934
+ "apiKeyId"
935
+ ],
936
+ "description": "Input for deleting an API key."
937
+ },
938
+ "outputSchema": {
939
+ "type": "object",
940
+ "properties": {
941
+ "ok": {
942
+ "type": "boolean",
943
+ "description": "Whether the ZeroTier API operation completed successfully."
944
+ },
945
+ "result": {
946
+ "description": "The ZeroTier API response payload when one was returned."
947
+ }
948
+ },
949
+ "additionalProperties": false,
950
+ "required": [
951
+ "ok",
952
+ "result"
953
+ ],
954
+ "description": "Deletion result."
955
+ }
956
+ },
957
+ {
958
+ "id": "zerotier.delete_current_user",
959
+ "service": "zerotier",
960
+ "name": "delete_current_user",
961
+ "description": "v2 only: permanently delete the authenticated user account.",
962
+ "operationType": "destructive",
963
+ "requiredScopes": [],
964
+ "providerPermissions": [],
965
+ "inputSchema": {
966
+ "type": "object",
967
+ "properties": {},
968
+ "additionalProperties": false,
969
+ "description": "No input."
970
+ },
971
+ "outputSchema": {
972
+ "type": "object",
973
+ "properties": {
974
+ "ok": {
975
+ "type": "boolean",
976
+ "description": "Whether the ZeroTier API operation completed successfully."
977
+ },
978
+ "result": {
979
+ "description": "The ZeroTier API response payload when one was returned."
980
+ }
981
+ },
982
+ "additionalProperties": false,
983
+ "required": [
984
+ "ok",
985
+ "result"
986
+ ],
987
+ "description": "Deletion result."
988
+ }
989
+ },
990
+ {
991
+ "id": "zerotier.delete_member",
992
+ "service": "zerotier",
993
+ "name": "delete_member",
994
+ "description": "Remove a member from a ZeroTier network.",
995
+ "operationType": "destructive",
996
+ "requiredScopes": [],
997
+ "providerPermissions": [],
998
+ "inputSchema": {
999
+ "type": "object",
1000
+ "properties": {
1001
+ "networkId": {
1002
+ "type": "string",
1003
+ "minLength": 1,
1004
+ "description": "The ZeroTier network ID (16-character hex string)."
1005
+ },
1006
+ "memberId": {
1007
+ "type": "string",
1008
+ "minLength": 1,
1009
+ "description": "The member device/node ID (10-character hex string)."
1010
+ }
1011
+ },
1012
+ "additionalProperties": false,
1013
+ "required": [
1014
+ "networkId",
1015
+ "memberId"
1016
+ ],
1017
+ "description": "Input for deleting a network member."
1018
+ },
1019
+ "outputSchema": {
1020
+ "type": "object",
1021
+ "properties": {
1022
+ "ok": {
1023
+ "type": "boolean",
1024
+ "description": "Whether the ZeroTier API operation completed successfully."
1025
+ },
1026
+ "result": {
1027
+ "description": "The ZeroTier API response payload when one was returned."
1028
+ }
1029
+ },
1030
+ "additionalProperties": false,
1031
+ "required": [
1032
+ "ok",
1033
+ "result"
1034
+ ],
1035
+ "description": "Deletion result."
1036
+ }
1037
+ },
1038
+ {
1039
+ "id": "zerotier.delete_network",
1040
+ "service": "zerotier",
1041
+ "name": "delete_network",
1042
+ "description": "Permanently delete a ZeroTier network and all its members.",
1043
+ "operationType": "destructive",
1044
+ "requiredScopes": [],
1045
+ "providerPermissions": [],
1046
+ "inputSchema": {
1047
+ "type": "object",
1048
+ "properties": {
1049
+ "networkId": {
1050
+ "type": "string",
1051
+ "minLength": 1,
1052
+ "description": "The ZeroTier network ID (16-character hex string)."
1053
+ }
1054
+ },
1055
+ "additionalProperties": false,
1056
+ "required": [
1057
+ "networkId"
1058
+ ],
1059
+ "description": "Input for deleting a ZeroTier network."
1060
+ },
1061
+ "outputSchema": {
1062
+ "type": "object",
1063
+ "properties": {
1064
+ "ok": {
1065
+ "type": "boolean",
1066
+ "description": "Whether the ZeroTier API operation completed successfully."
1067
+ },
1068
+ "result": {
1069
+ "description": "The ZeroTier API response payload when one was returned."
1070
+ }
1071
+ },
1072
+ "additionalProperties": false,
1073
+ "required": [
1074
+ "ok",
1075
+ "result"
1076
+ ],
1077
+ "description": "Deletion result."
1078
+ }
1079
+ },
1080
+ {
1081
+ "id": "zerotier.delete_network_group",
1082
+ "service": "zerotier",
1083
+ "name": "delete_network_group",
1084
+ "description": "v2 only: permanently delete a network group. Upstream also deletes all networks in the group.",
1085
+ "operationType": "destructive",
1086
+ "requiredScopes": [],
1087
+ "providerPermissions": [],
1088
+ "inputSchema": {
1089
+ "type": "object",
1090
+ "properties": {
1091
+ "networkGroupId": {
1092
+ "type": "string",
1093
+ "minLength": 1,
1094
+ "description": "The network group ID."
1095
+ }
1096
+ },
1097
+ "additionalProperties": false,
1098
+ "required": [
1099
+ "networkGroupId"
1100
+ ],
1101
+ "description": "Input for deleting a network group."
1102
+ },
1103
+ "outputSchema": {
1104
+ "type": "object",
1105
+ "properties": {
1106
+ "ok": {
1107
+ "type": "boolean",
1108
+ "description": "Whether the ZeroTier API operation completed successfully."
1109
+ },
1110
+ "result": {
1111
+ "description": "The ZeroTier API response payload when one was returned."
1112
+ }
1113
+ },
1114
+ "additionalProperties": false,
1115
+ "required": [
1116
+ "ok",
1117
+ "result"
1118
+ ],
1119
+ "description": "Deletion result."
1120
+ }
1121
+ },
1122
+ {
1123
+ "id": "zerotier.delete_service_account",
1124
+ "service": "zerotier",
1125
+ "name": "delete_service_account",
1126
+ "description": "v2 only: permanently delete a service account and all of its API keys.",
1127
+ "operationType": "destructive",
1128
+ "requiredScopes": [],
1129
+ "providerPermissions": [],
1130
+ "inputSchema": {
1131
+ "type": "object",
1132
+ "properties": {
1133
+ "serviceAccountId": {
1134
+ "type": "string",
1135
+ "minLength": 1,
1136
+ "description": "The service account ID."
1137
+ }
1138
+ },
1139
+ "additionalProperties": false,
1140
+ "required": [
1141
+ "serviceAccountId"
1142
+ ],
1143
+ "description": "Input for deleting a service account."
1144
+ },
1145
+ "outputSchema": {
1146
+ "type": "object",
1147
+ "properties": {
1148
+ "ok": {
1149
+ "type": "boolean",
1150
+ "description": "Whether the ZeroTier API operation completed successfully."
1151
+ },
1152
+ "result": {
1153
+ "description": "The ZeroTier API response payload when one was returned."
1154
+ }
1155
+ },
1156
+ "additionalProperties": false,
1157
+ "required": [
1158
+ "ok",
1159
+ "result"
1160
+ ],
1161
+ "description": "Deletion result."
1162
+ }
1163
+ },
1164
+ {
1165
+ "id": "zerotier.delete_user",
1166
+ "service": "zerotier",
1167
+ "name": "delete_user",
1168
+ "description": "v1 only: permanently delete a ZeroTier user account by ID. Upstream also deletes every network the user owns; this cannot be undone.",
1169
+ "operationType": "destructive",
1170
+ "requiredScopes": [],
1171
+ "providerPermissions": [],
1172
+ "inputSchema": {
1173
+ "type": "object",
1174
+ "properties": {
1175
+ "userId": {
1176
+ "type": "string",
1177
+ "minLength": 1,
1178
+ "description": "The user ID."
1179
+ }
1180
+ },
1181
+ "additionalProperties": false,
1182
+ "required": [
1183
+ "userId"
1184
+ ],
1185
+ "description": "Input for deleting a user."
1186
+ },
1187
+ "outputSchema": {
1188
+ "type": "object",
1189
+ "properties": {
1190
+ "ok": {
1191
+ "type": "boolean",
1192
+ "description": "Whether the ZeroTier API operation completed successfully."
1193
+ },
1194
+ "result": {
1195
+ "description": "The ZeroTier API response payload when one was returned."
1196
+ }
1197
+ },
1198
+ "additionalProperties": false,
1199
+ "required": [
1200
+ "ok",
1201
+ "result"
1202
+ ],
1203
+ "description": "Deletion result."
1204
+ }
1205
+ },
1206
+ {
1207
+ "id": "zerotier.delete_user_token",
1208
+ "service": "zerotier",
1209
+ "name": "delete_user_token",
1210
+ "description": "v1 only: delete one of a user's API tokens by name.",
1211
+ "operationType": "destructive",
1212
+ "requiredScopes": [],
1213
+ "providerPermissions": [],
1214
+ "inputSchema": {
1215
+ "type": "object",
1216
+ "properties": {
1217
+ "userId": {
1218
+ "type": "string",
1219
+ "minLength": 1,
1220
+ "description": "The user ID."
1221
+ },
1222
+ "tokenName": {
1223
+ "type": "string",
1224
+ "minLength": 1,
1225
+ "description": "The token name to delete."
1226
+ }
1227
+ },
1228
+ "additionalProperties": false,
1229
+ "required": [
1230
+ "userId",
1231
+ "tokenName"
1232
+ ],
1233
+ "description": "Input for deleting a user API token."
1234
+ },
1235
+ "outputSchema": {
1236
+ "type": "object",
1237
+ "properties": {
1238
+ "ok": {
1239
+ "type": "boolean",
1240
+ "description": "Whether the ZeroTier API operation completed successfully."
1241
+ },
1242
+ "result": {
1243
+ "description": "The ZeroTier API response payload when one was returned."
1244
+ }
1245
+ },
1246
+ "additionalProperties": false,
1247
+ "required": [
1248
+ "ok",
1249
+ "result"
1250
+ ],
1251
+ "description": "Deletion result."
1252
+ }
1253
+ },
1254
+ {
1255
+ "id": "zerotier.delete_webhook",
1256
+ "service": "zerotier",
1257
+ "name": "delete_webhook",
1258
+ "description": "v2 only: delete a webhook.",
1259
+ "operationType": "destructive",
1260
+ "requiredScopes": [],
1261
+ "providerPermissions": [],
1262
+ "inputSchema": {
1263
+ "type": "object",
1264
+ "properties": {
1265
+ "webhookId": {
1266
+ "type": "string",
1267
+ "minLength": 1,
1268
+ "description": "The webhook ID."
1269
+ }
1270
+ },
1271
+ "additionalProperties": false,
1272
+ "required": [
1273
+ "webhookId"
1274
+ ],
1275
+ "description": "Input for deleting a webhook."
1276
+ },
1277
+ "outputSchema": {
1278
+ "type": "object",
1279
+ "properties": {
1280
+ "ok": {
1281
+ "type": "boolean",
1282
+ "description": "Whether the ZeroTier API operation completed successfully."
1283
+ },
1284
+ "result": {
1285
+ "description": "The ZeroTier API response payload when one was returned."
1286
+ }
1287
+ },
1288
+ "additionalProperties": false,
1289
+ "required": [
1290
+ "ok",
1291
+ "result"
1292
+ ],
1293
+ "description": "Deletion result."
1294
+ }
1295
+ },
1296
+ {
1297
+ "id": "zerotier.delete_webhook_secret",
1298
+ "service": "zerotier",
1299
+ "name": "delete_webhook_secret",
1300
+ "description": "v2 only: revoke an overlap (previous) webhook secret by ID before its grace window ends. The active primary secret cannot be deleted (upstream returns 400); rotate first.",
1301
+ "operationType": "destructive",
1302
+ "requiredScopes": [],
1303
+ "providerPermissions": [],
1304
+ "inputSchema": {
1305
+ "type": "object",
1306
+ "properties": {
1307
+ "webhookSecretId": {
1308
+ "type": "string",
1309
+ "minLength": 1,
1310
+ "description": "The webhook secret ID."
1311
+ }
1312
+ },
1313
+ "additionalProperties": false,
1314
+ "required": [
1315
+ "webhookSecretId"
1316
+ ],
1317
+ "description": "Input for deleting a webhook secret."
1318
+ },
1319
+ "outputSchema": {
1320
+ "type": "object",
1321
+ "properties": {
1322
+ "ok": {
1323
+ "type": "boolean",
1324
+ "description": "Whether the ZeroTier API operation completed successfully."
1325
+ },
1326
+ "result": {
1327
+ "description": "The ZeroTier API response payload when one was returned."
1328
+ }
1329
+ },
1330
+ "additionalProperties": false,
1331
+ "required": [
1332
+ "ok",
1333
+ "result"
1334
+ ],
1335
+ "description": "Deletion result."
1336
+ }
1337
+ },
1338
+ {
1339
+ "id": "zerotier.get_api_key",
1340
+ "service": "zerotier",
1341
+ "name": "get_api_key",
1342
+ "description": "v2 only: get one API key's metadata by ID.",
1343
+ "operationType": "read",
1344
+ "requiredScopes": [],
1345
+ "providerPermissions": [],
1346
+ "inputSchema": {
1347
+ "type": "object",
1348
+ "properties": {
1349
+ "apiKeyId": {
1350
+ "type": "string",
1351
+ "minLength": 1,
1352
+ "description": "The API key ID."
1353
+ }
1354
+ },
1355
+ "additionalProperties": false,
1356
+ "required": [
1357
+ "apiKeyId"
1358
+ ],
1359
+ "description": "Input for fetching an API key."
1360
+ },
1361
+ "outputSchema": {
1362
+ "type": "object",
1363
+ "properties": {
1364
+ "result": {
1365
+ "description": "The ZeroTier API response payload for the requested resource."
1366
+ }
1367
+ },
1368
+ "additionalProperties": false,
1369
+ "required": [
1370
+ "result"
1371
+ ],
1372
+ "description": "The API key object."
1373
+ }
1374
+ },
1375
+ {
1376
+ "id": "zerotier.get_flow_rules",
1377
+ "service": "zerotier",
1378
+ "name": "get_flow_rules",
1379
+ "description": "v2 only (beta): get a network's flow rules.",
1380
+ "operationType": "read",
1381
+ "requiredScopes": [],
1382
+ "providerPermissions": [],
1383
+ "inputSchema": {
1384
+ "type": "object",
1385
+ "properties": {
1386
+ "networkId": {
1387
+ "type": "string",
1388
+ "minLength": 1,
1389
+ "description": "The ZeroTier network ID (16-character hex string)."
1390
+ }
1391
+ },
1392
+ "additionalProperties": false,
1393
+ "required": [
1394
+ "networkId"
1395
+ ],
1396
+ "description": "Input for fetching flow rules."
1397
+ },
1398
+ "outputSchema": {
1399
+ "type": "object",
1400
+ "properties": {
1401
+ "result": {
1402
+ "description": "The ZeroTier API response payload for the requested resource."
1403
+ }
1404
+ },
1405
+ "additionalProperties": false,
1406
+ "required": [
1407
+ "result"
1408
+ ],
1409
+ "description": "The flow rules."
1410
+ }
1411
+ },
1412
+ {
1413
+ "id": "zerotier.get_iam",
1414
+ "service": "zerotier",
1415
+ "name": "get_iam",
1416
+ "description": "v2 only: list IAM role assignments on an org, network group, or network.",
1417
+ "operationType": "read",
1418
+ "requiredScopes": [],
1419
+ "providerPermissions": [],
1420
+ "inputSchema": {
1421
+ "type": "object",
1422
+ "properties": {
1423
+ "resourceType": {
1424
+ "type": "string",
1425
+ "enum": [
1426
+ "org",
1427
+ "network-group",
1428
+ "network"
1429
+ ],
1430
+ "description": "The ZeroTier v2 resource kind the IAM assignment applies to."
1431
+ },
1432
+ "resourceId": {
1433
+ "type": "string",
1434
+ "minLength": 1,
1435
+ "description": "The resource ID."
1436
+ }
1437
+ },
1438
+ "additionalProperties": false,
1439
+ "required": [
1440
+ "resourceType",
1441
+ "resourceId"
1442
+ ],
1443
+ "description": "Input for reading IAM assignments."
1444
+ },
1445
+ "outputSchema": {
1446
+ "type": "object",
1447
+ "properties": {
1448
+ "items": {
1449
+ "type": "array",
1450
+ "items": {
1451
+ "description": "One ZeroTier API resource."
1452
+ },
1453
+ "description": "The ZeroTier API resources returned for this request."
1454
+ },
1455
+ "stats": {
1456
+ "description": "v2 only: aggregate statistics returned when stats was requested."
1457
+ }
1458
+ },
1459
+ "additionalProperties": false,
1460
+ "required": [
1461
+ "items"
1462
+ ],
1463
+ "description": "The IAM assignments."
1464
+ }
1465
+ },
1466
+ {
1467
+ "id": "zerotier.get_invitation",
1468
+ "service": "zerotier",
1469
+ "name": "get_invitation",
1470
+ "description": "v1 only: get one organization invitation by ID.",
1471
+ "operationType": "read",
1472
+ "requiredScopes": [],
1473
+ "providerPermissions": [],
1474
+ "inputSchema": {
1475
+ "type": "object",
1476
+ "properties": {
1477
+ "invitationId": {
1478
+ "type": "string",
1479
+ "minLength": 1,
1480
+ "description": "The invitation ID."
1481
+ }
1482
+ },
1483
+ "additionalProperties": false,
1484
+ "required": [
1485
+ "invitationId"
1486
+ ],
1487
+ "description": "Input for fetching an invitation."
1488
+ },
1489
+ "outputSchema": {
1490
+ "type": "object",
1491
+ "properties": {
1492
+ "result": {
1493
+ "description": "The ZeroTier API response payload for the requested resource."
1494
+ }
1495
+ },
1496
+ "additionalProperties": false,
1497
+ "required": [
1498
+ "result"
1499
+ ],
1500
+ "description": "The invitation object."
1501
+ }
1502
+ },
1503
+ {
1504
+ "id": "zerotier.get_member",
1505
+ "service": "zerotier",
1506
+ "name": "get_member",
1507
+ "description": "Get one member of a ZeroTier network, including authorization and IP assignment state.",
1508
+ "operationType": "read",
1509
+ "requiredScopes": [],
1510
+ "providerPermissions": [],
1511
+ "inputSchema": {
1512
+ "type": "object",
1513
+ "properties": {
1514
+ "networkId": {
1515
+ "type": "string",
1516
+ "minLength": 1,
1517
+ "description": "The ZeroTier network ID (16-character hex string)."
1518
+ },
1519
+ "memberId": {
1520
+ "type": "string",
1521
+ "minLength": 1,
1522
+ "description": "The member device/node ID (10-character hex string)."
1523
+ }
1524
+ },
1525
+ "additionalProperties": false,
1526
+ "required": [
1527
+ "networkId",
1528
+ "memberId"
1529
+ ],
1530
+ "description": "Input for fetching one network member."
1531
+ },
1532
+ "outputSchema": {
1533
+ "type": "object",
1534
+ "properties": {
1535
+ "result": {
1536
+ "description": "The ZeroTier API response payload for the requested resource."
1537
+ }
1538
+ },
1539
+ "additionalProperties": false,
1540
+ "required": [
1541
+ "result"
1542
+ ],
1543
+ "description": "The network member object."
1544
+ }
1545
+ },
1546
+ {
1547
+ "id": "zerotier.get_network",
1548
+ "service": "zerotier",
1549
+ "name": "get_network",
1550
+ "description": "Get one ZeroTier network by ID, including its config (v1 responses also include member counts).",
1551
+ "operationType": "read",
1552
+ "requiredScopes": [],
1553
+ "providerPermissions": [],
1554
+ "inputSchema": {
1555
+ "type": "object",
1556
+ "properties": {
1557
+ "networkId": {
1558
+ "type": "string",
1559
+ "minLength": 1,
1560
+ "description": "The ZeroTier network ID (16-character hex string)."
1561
+ }
1562
+ },
1563
+ "additionalProperties": false,
1564
+ "required": [
1565
+ "networkId"
1566
+ ],
1567
+ "description": "Input for fetching one ZeroTier network."
1568
+ },
1569
+ "outputSchema": {
1570
+ "type": "object",
1571
+ "properties": {
1572
+ "result": {
1573
+ "description": "The ZeroTier API response payload for the requested resource."
1574
+ }
1575
+ },
1576
+ "additionalProperties": false,
1577
+ "required": [
1578
+ "result"
1579
+ ],
1580
+ "description": "The ZeroTier network object."
1581
+ }
1582
+ },
1583
+ {
1584
+ "id": "zerotier.get_network_group",
1585
+ "service": "zerotier",
1586
+ "name": "get_network_group",
1587
+ "description": "v2 only: get one network group by ID.",
1588
+ "operationType": "read",
1589
+ "requiredScopes": [],
1590
+ "providerPermissions": [],
1591
+ "inputSchema": {
1592
+ "type": "object",
1593
+ "properties": {
1594
+ "networkGroupId": {
1595
+ "type": "string",
1596
+ "minLength": 1,
1597
+ "description": "The network group ID."
1598
+ }
1599
+ },
1600
+ "additionalProperties": false,
1601
+ "required": [
1602
+ "networkGroupId"
1603
+ ],
1604
+ "description": "Input for fetching a network group."
1605
+ },
1606
+ "outputSchema": {
1607
+ "type": "object",
1608
+ "properties": {
1609
+ "result": {
1610
+ "description": "The ZeroTier API response payload for the requested resource."
1611
+ }
1612
+ },
1613
+ "additionalProperties": false,
1614
+ "required": [
1615
+ "result"
1616
+ ],
1617
+ "description": "The network group object."
1618
+ }
1619
+ },
1620
+ {
1621
+ "id": "zerotier.get_org",
1622
+ "service": "zerotier",
1623
+ "name": "get_org",
1624
+ "description": "Get a ZeroTier organization. For v1, returns the current user's org when orgId is omitted, or /org/{orgId}. For v2, uses orgId or falls back to the connection's orgId; one of them is required.",
1625
+ "operationType": "read",
1626
+ "requiredScopes": [],
1627
+ "providerPermissions": [],
1628
+ "inputSchema": {
1629
+ "type": "object",
1630
+ "properties": {
1631
+ "orgId": {
1632
+ "type": "string",
1633
+ "description": "The organization ID. v2 falls back to the connection's orgId when omitted; v1 does not."
1634
+ }
1635
+ },
1636
+ "additionalProperties": false,
1637
+ "description": "Input for fetching an organization."
1638
+ },
1639
+ "outputSchema": {
1640
+ "type": "object",
1641
+ "properties": {
1642
+ "result": {
1643
+ "description": "The ZeroTier API response payload for the requested resource."
1644
+ }
1645
+ },
1646
+ "additionalProperties": false,
1647
+ "required": [
1648
+ "result"
1649
+ ],
1650
+ "description": "The ZeroTier organization object."
1651
+ }
1652
+ },
1653
+ {
1654
+ "id": "zerotier.get_org_iam_tree",
1655
+ "service": "zerotier",
1656
+ "name": "get_org_iam_tree",
1657
+ "description": "v2 only: get the IAM tree of an organization (groups, networks, principals, roles).",
1658
+ "operationType": "read",
1659
+ "requiredScopes": [],
1660
+ "providerPermissions": [],
1661
+ "inputSchema": {
1662
+ "type": "object",
1663
+ "properties": {
1664
+ "orgId": {
1665
+ "type": "string",
1666
+ "minLength": 1,
1667
+ "description": "The ZeroTier organization ID."
1668
+ }
1669
+ },
1670
+ "additionalProperties": false,
1671
+ "required": [
1672
+ "orgId"
1673
+ ],
1674
+ "description": "Input for the org IAM tree."
1675
+ },
1676
+ "outputSchema": {
1677
+ "type": "object",
1678
+ "properties": {
1679
+ "result": {
1680
+ "description": "The ZeroTier API response payload for the requested resource."
1681
+ }
1682
+ },
1683
+ "additionalProperties": false,
1684
+ "required": [
1685
+ "result"
1686
+ ],
1687
+ "description": "The org IAM tree."
1688
+ }
1689
+ },
1690
+ {
1691
+ "id": "zerotier.get_org_subscription",
1692
+ "service": "zerotier",
1693
+ "name": "get_org_subscription",
1694
+ "description": "v2 only: get an organization's subscription plan and entitlements.",
1695
+ "operationType": "read",
1696
+ "requiredScopes": [],
1697
+ "providerPermissions": [],
1698
+ "inputSchema": {
1699
+ "type": "object",
1700
+ "properties": {
1701
+ "orgId": {
1702
+ "type": "string",
1703
+ "minLength": 1,
1704
+ "description": "The ZeroTier organization ID."
1705
+ }
1706
+ },
1707
+ "additionalProperties": false,
1708
+ "required": [
1709
+ "orgId"
1710
+ ],
1711
+ "description": "Input for fetching an org subscription."
1712
+ },
1713
+ "outputSchema": {
1714
+ "type": "object",
1715
+ "properties": {
1716
+ "result": {
1717
+ "description": "The ZeroTier API response payload for the requested resource."
1718
+ }
1719
+ },
1720
+ "additionalProperties": false,
1721
+ "required": [
1722
+ "result"
1723
+ ],
1724
+ "description": "The subscription object."
1725
+ }
1726
+ },
1727
+ {
1728
+ "id": "zerotier.get_random_token",
1729
+ "service": "zerotier",
1730
+ "name": "get_random_token",
1731
+ "description": "v1 only: get a server-generated random token value.",
1732
+ "operationType": "read",
1733
+ "requiredScopes": [],
1734
+ "providerPermissions": [],
1735
+ "inputSchema": {
1736
+ "type": "object",
1737
+ "properties": {},
1738
+ "additionalProperties": false,
1739
+ "description": "No input."
1740
+ },
1741
+ "outputSchema": {
1742
+ "type": "object",
1743
+ "properties": {
1744
+ "result": {
1745
+ "description": "The ZeroTier API response payload for the requested resource."
1746
+ }
1747
+ },
1748
+ "additionalProperties": false,
1749
+ "required": [
1750
+ "result"
1751
+ ],
1752
+ "description": "The random token object."
1753
+ }
1754
+ },
1755
+ {
1756
+ "id": "zerotier.get_service_account",
1757
+ "service": "zerotier",
1758
+ "name": "get_service_account",
1759
+ "description": "v2 only: get one service account by ID, including its API keys.",
1760
+ "operationType": "read",
1761
+ "requiredScopes": [],
1762
+ "providerPermissions": [],
1763
+ "inputSchema": {
1764
+ "type": "object",
1765
+ "properties": {
1766
+ "serviceAccountId": {
1767
+ "type": "string",
1768
+ "minLength": 1,
1769
+ "description": "The service account ID."
1770
+ }
1771
+ },
1772
+ "additionalProperties": false,
1773
+ "required": [
1774
+ "serviceAccountId"
1775
+ ],
1776
+ "description": "Input for fetching a service account."
1777
+ },
1778
+ "outputSchema": {
1779
+ "type": "object",
1780
+ "properties": {
1781
+ "result": {
1782
+ "description": "The ZeroTier API response payload for the requested resource."
1783
+ }
1784
+ },
1785
+ "additionalProperties": false,
1786
+ "required": [
1787
+ "result"
1788
+ ],
1789
+ "description": "The service account object."
1790
+ }
1791
+ },
1792
+ {
1793
+ "id": "zerotier.get_status",
1794
+ "service": "zerotier",
1795
+ "name": "get_status",
1796
+ "description": "v1 only: get ZeroTier Legacy Central status, including the authenticated user, version, and uptime.",
1797
+ "operationType": "read",
1798
+ "requiredScopes": [],
1799
+ "providerPermissions": [],
1800
+ "inputSchema": {
1801
+ "type": "object",
1802
+ "properties": {},
1803
+ "additionalProperties": false,
1804
+ "description": "No input."
1805
+ },
1806
+ "outputSchema": {
1807
+ "type": "object",
1808
+ "properties": {
1809
+ "result": {
1810
+ "description": "The ZeroTier API response payload for the requested resource."
1811
+ }
1812
+ },
1813
+ "additionalProperties": false,
1814
+ "required": [
1815
+ "result"
1816
+ ],
1817
+ "description": "The Central status object."
1818
+ }
1819
+ },
1820
+ {
1821
+ "id": "zerotier.get_user",
1822
+ "service": "zerotier",
1823
+ "name": "get_user",
1824
+ "description": "v1 only: get a ZeroTier user by ID.",
1825
+ "operationType": "read",
1826
+ "requiredScopes": [],
1827
+ "providerPermissions": [],
1828
+ "inputSchema": {
1829
+ "type": "object",
1830
+ "properties": {
1831
+ "userId": {
1832
+ "type": "string",
1833
+ "minLength": 1,
1834
+ "description": "The user ID."
1835
+ }
1836
+ },
1837
+ "additionalProperties": false,
1838
+ "required": [
1839
+ "userId"
1840
+ ],
1841
+ "description": "Input for fetching a user."
1842
+ },
1843
+ "outputSchema": {
1844
+ "type": "object",
1845
+ "properties": {
1846
+ "result": {
1847
+ "description": "The ZeroTier API response payload for the requested resource."
1848
+ }
1849
+ },
1850
+ "additionalProperties": false,
1851
+ "required": [
1852
+ "result"
1853
+ ],
1854
+ "description": "The user object."
1855
+ }
1856
+ },
1857
+ {
1858
+ "id": "zerotier.get_webhook",
1859
+ "service": "zerotier",
1860
+ "name": "get_webhook",
1861
+ "description": "v2 only: get one webhook by ID.",
1862
+ "operationType": "read",
1863
+ "requiredScopes": [],
1864
+ "providerPermissions": [],
1865
+ "inputSchema": {
1866
+ "type": "object",
1867
+ "properties": {
1868
+ "webhookId": {
1869
+ "type": "string",
1870
+ "minLength": 1,
1871
+ "description": "The webhook ID."
1872
+ }
1873
+ },
1874
+ "additionalProperties": false,
1875
+ "required": [
1876
+ "webhookId"
1877
+ ],
1878
+ "description": "Input for fetching a webhook."
1879
+ },
1880
+ "outputSchema": {
1881
+ "type": "object",
1882
+ "properties": {
1883
+ "result": {
1884
+ "description": "The ZeroTier API response payload for the requested resource."
1885
+ }
1886
+ },
1887
+ "additionalProperties": false,
1888
+ "required": [
1889
+ "result"
1890
+ ],
1891
+ "description": "The webhook object."
1892
+ }
1893
+ },
1894
+ {
1895
+ "id": "zerotier.invite_users",
1896
+ "service": "zerotier",
1897
+ "name": "invite_users",
1898
+ "description": "v2 only: invite email addresses to an organization.",
1899
+ "operationType": "write",
1900
+ "requiredScopes": [],
1901
+ "providerPermissions": [],
1902
+ "inputSchema": {
1903
+ "type": "object",
1904
+ "properties": {
1905
+ "orgId": {
1906
+ "type": "string",
1907
+ "minLength": 1,
1908
+ "description": "The ZeroTier organization ID."
1909
+ },
1910
+ "emails": {
1911
+ "type": "array",
1912
+ "items": {
1913
+ "type": "string",
1914
+ "description": "An email address.",
1915
+ "format": "email"
1916
+ },
1917
+ "description": "Email addresses to invite."
1918
+ }
1919
+ },
1920
+ "additionalProperties": false,
1921
+ "required": [
1922
+ "orgId",
1923
+ "emails"
1924
+ ],
1925
+ "description": "Input for inviting users to an org."
1926
+ },
1927
+ "outputSchema": {
1928
+ "type": "object",
1929
+ "properties": {
1930
+ "result": {
1931
+ "description": "The ZeroTier API response payload for the requested resource."
1932
+ }
1933
+ },
1934
+ "additionalProperties": false,
1935
+ "required": [
1936
+ "result"
1937
+ ],
1938
+ "description": "The invitation result."
1939
+ }
1940
+ },
1941
+ {
1942
+ "id": "zerotier.list_invitations",
1943
+ "service": "zerotier",
1944
+ "name": "list_invitations",
1945
+ "description": "v1 only: list organization invitations for the current user.",
1946
+ "operationType": "read",
1947
+ "requiredScopes": [],
1948
+ "providerPermissions": [],
1949
+ "inputSchema": {
1950
+ "type": "object",
1951
+ "properties": {},
1952
+ "additionalProperties": false,
1953
+ "description": "No input."
1954
+ },
1955
+ "outputSchema": {
1956
+ "type": "object",
1957
+ "properties": {
1958
+ "items": {
1959
+ "type": "array",
1960
+ "items": {
1961
+ "description": "One ZeroTier API resource."
1962
+ },
1963
+ "description": "The ZeroTier API resources returned for this request."
1964
+ },
1965
+ "stats": {
1966
+ "description": "v2 only: aggregate statistics returned when stats was requested."
1967
+ }
1968
+ },
1969
+ "additionalProperties": false,
1970
+ "required": [
1971
+ "items"
1972
+ ],
1973
+ "description": "The organization invitations."
1974
+ }
1975
+ },
1976
+ {
1977
+ "id": "zerotier.list_members",
1978
+ "service": "zerotier",
1979
+ "name": "list_members",
1980
+ "description": "List all members (devices) joined to a ZeroTier network.",
1981
+ "operationType": "read",
1982
+ "requiredScopes": [],
1983
+ "providerPermissions": [],
1984
+ "inputSchema": {
1985
+ "type": "object",
1986
+ "properties": {
1987
+ "networkId": {
1988
+ "type": "string",
1989
+ "minLength": 1,
1990
+ "description": "The ZeroTier network ID (16-character hex string)."
1991
+ }
1992
+ },
1993
+ "additionalProperties": false,
1994
+ "required": [
1995
+ "networkId"
1996
+ ],
1997
+ "description": "Input for listing network members."
1998
+ },
1999
+ "outputSchema": {
2000
+ "type": "object",
2001
+ "properties": {
2002
+ "items": {
2003
+ "type": "array",
2004
+ "items": {
2005
+ "description": "One ZeroTier API resource."
2006
+ },
2007
+ "description": "The ZeroTier API resources returned for this request."
2008
+ },
2009
+ "stats": {
2010
+ "description": "v2 only: aggregate statistics returned when stats was requested."
2011
+ }
2012
+ },
2013
+ "additionalProperties": false,
2014
+ "required": [
2015
+ "items"
2016
+ ],
2017
+ "description": "The list of network members."
2018
+ }
2019
+ },
2020
+ {
2021
+ "id": "zerotier.list_network_group_networks",
2022
+ "service": "zerotier",
2023
+ "name": "list_network_group_networks",
2024
+ "description": "v2 only: list networks inside one network group.",
2025
+ "operationType": "read",
2026
+ "requiredScopes": [],
2027
+ "providerPermissions": [],
2028
+ "inputSchema": {
2029
+ "type": "object",
2030
+ "properties": {
2031
+ "networkGroupId": {
2032
+ "type": "string",
2033
+ "minLength": 1,
2034
+ "description": "The network group ID."
2035
+ },
2036
+ "stats": {
2037
+ "type": "boolean",
2038
+ "description": "Include device statistics."
2039
+ },
2040
+ "permissionCheck": {
2041
+ "type": "array",
2042
+ "items": {
2043
+ "type": "string",
2044
+ "minLength": 1
2045
+ },
2046
+ "description": "Permission names to check on each network."
2047
+ }
2048
+ },
2049
+ "additionalProperties": false,
2050
+ "required": [
2051
+ "networkGroupId"
2052
+ ],
2053
+ "description": "Input for listing a network group's networks."
2054
+ },
2055
+ "outputSchema": {
2056
+ "type": "object",
2057
+ "properties": {
2058
+ "items": {
2059
+ "type": "array",
2060
+ "items": {
2061
+ "description": "One ZeroTier API resource."
2062
+ },
2063
+ "description": "The ZeroTier API resources returned for this request."
2064
+ },
2065
+ "stats": {
2066
+ "description": "v2 only: aggregate statistics returned when stats was requested."
2067
+ }
2068
+ },
2069
+ "additionalProperties": false,
2070
+ "required": [
2071
+ "items"
2072
+ ],
2073
+ "description": "The networks in the group."
2074
+ }
2075
+ },
2076
+ {
2077
+ "id": "zerotier.list_network_groups",
2078
+ "service": "zerotier",
2079
+ "name": "list_network_groups",
2080
+ "description": "v2 only: list network groups, optionally filtered by organization.",
2081
+ "operationType": "read",
2082
+ "requiredScopes": [],
2083
+ "providerPermissions": [],
2084
+ "inputSchema": {
2085
+ "type": "object",
2086
+ "properties": {
2087
+ "orgId": {
2088
+ "type": "string",
2089
+ "description": "Organization ID to filter by. Falls back to the connection's orgId when omitted."
2090
+ },
2091
+ "stats": {
2092
+ "type": "boolean",
2093
+ "description": "Include device and network statistics."
2094
+ },
2095
+ "permissionCheck": {
2096
+ "type": "array",
2097
+ "items": {
2098
+ "type": "string",
2099
+ "minLength": 1
2100
+ },
2101
+ "description": "Permission names to check on each group."
2102
+ }
2103
+ },
2104
+ "additionalProperties": false,
2105
+ "description": "Filters for listing network groups."
2106
+ },
2107
+ "outputSchema": {
2108
+ "type": "object",
2109
+ "properties": {
2110
+ "items": {
2111
+ "type": "array",
2112
+ "items": {
2113
+ "description": "One ZeroTier API resource."
2114
+ },
2115
+ "description": "The ZeroTier API resources returned for this request."
2116
+ },
2117
+ "stats": {
2118
+ "description": "v2 only: aggregate statistics returned when stats was requested."
2119
+ }
2120
+ },
2121
+ "additionalProperties": false,
2122
+ "required": [
2123
+ "items"
2124
+ ],
2125
+ "description": "The network groups."
2126
+ }
2127
+ },
2128
+ {
2129
+ "id": "zerotier.list_networks",
2130
+ "service": "zerotier",
2131
+ "name": "list_networks",
2132
+ "description": "List ZeroTier networks visible to the configured token. Works on both API versions; orgId, stats, and permissionCheck are v2 only and rejected on v1, which always lists every network the token can access.",
2133
+ "operationType": "read",
2134
+ "requiredScopes": [],
2135
+ "providerPermissions": [],
2136
+ "inputSchema": {
2137
+ "type": "object",
2138
+ "properties": {
2139
+ "orgId": {
2140
+ "type": "string",
2141
+ "description": "v2 only, rejected on v1: organization ID to filter by. Falls back to the connection's orgId field when omitted."
2142
+ },
2143
+ "stats": {
2144
+ "type": "boolean",
2145
+ "description": "v2 only, rejected on v1: include device statistics for each network."
2146
+ },
2147
+ "permissionCheck": {
2148
+ "type": "array",
2149
+ "items": {
2150
+ "type": "string",
2151
+ "minLength": 1
2152
+ },
2153
+ "description": "v2 only, rejected on v1: permission names to check for each network; results include a permissions map."
2154
+ }
2155
+ },
2156
+ "additionalProperties": false,
2157
+ "description": "Filters for listing ZeroTier networks."
2158
+ },
2159
+ "outputSchema": {
2160
+ "type": "object",
2161
+ "properties": {
2162
+ "items": {
2163
+ "type": "array",
2164
+ "items": {
2165
+ "description": "One ZeroTier API resource."
2166
+ },
2167
+ "description": "The ZeroTier API resources returned for this request."
2168
+ },
2169
+ "stats": {
2170
+ "description": "v2 only: aggregate statistics returned when stats was requested."
2171
+ }
2172
+ },
2173
+ "additionalProperties": false,
2174
+ "required": [
2175
+ "items"
2176
+ ],
2177
+ "description": "The list of ZeroTier networks."
2178
+ }
2179
+ },
2180
+ {
2181
+ "id": "zerotier.list_org_members",
2182
+ "service": "zerotier",
2183
+ "name": "list_org_members",
2184
+ "description": "v1 only: list user members of an organization.",
2185
+ "operationType": "read",
2186
+ "requiredScopes": [],
2187
+ "providerPermissions": [],
2188
+ "inputSchema": {
2189
+ "type": "object",
2190
+ "properties": {
2191
+ "orgId": {
2192
+ "type": "string",
2193
+ "minLength": 1,
2194
+ "description": "The ZeroTier organization ID."
2195
+ }
2196
+ },
2197
+ "additionalProperties": false,
2198
+ "required": [
2199
+ "orgId"
2200
+ ],
2201
+ "description": "Input for listing org members."
2202
+ },
2203
+ "outputSchema": {
2204
+ "type": "object",
2205
+ "properties": {
2206
+ "items": {
2207
+ "type": "array",
2208
+ "items": {
2209
+ "description": "One ZeroTier API resource."
2210
+ },
2211
+ "description": "The ZeroTier API resources returned for this request."
2212
+ },
2213
+ "stats": {
2214
+ "description": "v2 only: aggregate statistics returned when stats was requested."
2215
+ }
2216
+ },
2217
+ "additionalProperties": false,
2218
+ "required": [
2219
+ "items"
2220
+ ],
2221
+ "description": "The organization members."
2222
+ }
2223
+ },
2224
+ {
2225
+ "id": "zerotier.list_orgs",
2226
+ "service": "zerotier",
2227
+ "name": "list_orgs",
2228
+ "description": "v2 only: list organizations the service account can access.",
2229
+ "operationType": "read",
2230
+ "requiredScopes": [],
2231
+ "providerPermissions": [],
2232
+ "inputSchema": {
2233
+ "type": "object",
2234
+ "properties": {
2235
+ "permissionCheck": {
2236
+ "type": "array",
2237
+ "items": {
2238
+ "type": "string",
2239
+ "minLength": 1
2240
+ },
2241
+ "description": "Permission names to check on each organization."
2242
+ },
2243
+ "latest": {
2244
+ "type": "array",
2245
+ "items": {
2246
+ "type": "string",
2247
+ "minLength": 1
2248
+ },
2249
+ "description": "Limit to recently active orgs plus the listed org IDs."
2250
+ },
2251
+ "stats": {
2252
+ "type": "boolean",
2253
+ "description": "Include aggregate statistics."
2254
+ }
2255
+ },
2256
+ "additionalProperties": false,
2257
+ "description": "Filters for listing organizations."
2258
+ },
2259
+ "outputSchema": {
2260
+ "type": "object",
2261
+ "properties": {
2262
+ "items": {
2263
+ "type": "array",
2264
+ "items": {
2265
+ "description": "One ZeroTier API resource."
2266
+ },
2267
+ "description": "The ZeroTier API resources returned for this request."
2268
+ },
2269
+ "stats": {
2270
+ "description": "v2 only: aggregate statistics returned when stats was requested."
2271
+ }
2272
+ },
2273
+ "additionalProperties": false,
2274
+ "required": [
2275
+ "items"
2276
+ ],
2277
+ "description": "The organizations."
2278
+ }
2279
+ },
2280
+ {
2281
+ "id": "zerotier.list_service_accounts",
2282
+ "service": "zerotier",
2283
+ "name": "list_service_accounts",
2284
+ "description": "v2 only: list service accounts in an organization.",
2285
+ "operationType": "read",
2286
+ "requiredScopes": [],
2287
+ "providerPermissions": [],
2288
+ "inputSchema": {
2289
+ "type": "object",
2290
+ "properties": {
2291
+ "orgId": {
2292
+ "type": "string",
2293
+ "minLength": 1,
2294
+ "description": "The ZeroTier organization ID."
2295
+ }
2296
+ },
2297
+ "additionalProperties": false,
2298
+ "required": [
2299
+ "orgId"
2300
+ ],
2301
+ "description": "Input for listing service accounts."
2302
+ },
2303
+ "outputSchema": {
2304
+ "type": "object",
2305
+ "properties": {
2306
+ "items": {
2307
+ "type": "array",
2308
+ "items": {
2309
+ "description": "One ZeroTier API resource."
2310
+ },
2311
+ "description": "The ZeroTier API resources returned for this request."
2312
+ },
2313
+ "stats": {
2314
+ "description": "v2 only: aggregate statistics returned when stats was requested."
2315
+ }
2316
+ },
2317
+ "additionalProperties": false,
2318
+ "required": [
2319
+ "items"
2320
+ ],
2321
+ "description": "The service accounts."
2322
+ }
2323
+ },
2324
+ {
2325
+ "id": "zerotier.list_webhooks",
2326
+ "service": "zerotier",
2327
+ "name": "list_webhooks",
2328
+ "description": "v2 only: list webhooks in an organization.",
2329
+ "operationType": "read",
2330
+ "requiredScopes": [],
2331
+ "providerPermissions": [],
2332
+ "inputSchema": {
2333
+ "type": "object",
2334
+ "properties": {
2335
+ "orgId": {
2336
+ "type": "string",
2337
+ "minLength": 1,
2338
+ "description": "The ZeroTier organization ID."
2339
+ }
2340
+ },
2341
+ "additionalProperties": false,
2342
+ "required": [
2343
+ "orgId"
2344
+ ],
2345
+ "description": "Input for listing webhooks."
2346
+ },
2347
+ "outputSchema": {
2348
+ "type": "object",
2349
+ "properties": {
2350
+ "items": {
2351
+ "type": "array",
2352
+ "items": {
2353
+ "description": "One ZeroTier API resource."
2354
+ },
2355
+ "description": "The ZeroTier API resources returned for this request."
2356
+ },
2357
+ "stats": {
2358
+ "description": "v2 only: aggregate statistics returned when stats was requested."
2359
+ }
2360
+ },
2361
+ "additionalProperties": false,
2362
+ "required": [
2363
+ "items"
2364
+ ],
2365
+ "description": "The webhooks."
2366
+ }
2367
+ },
2368
+ {
2369
+ "id": "zerotier.reject_member",
2370
+ "service": "zerotier",
2371
+ "name": "reject_member",
2372
+ "description": "v2 only: reject one member on a network.",
2373
+ "operationType": "destructive",
2374
+ "requiredScopes": [],
2375
+ "providerPermissions": [],
2376
+ "inputSchema": {
2377
+ "type": "object",
2378
+ "properties": {
2379
+ "networkId": {
2380
+ "type": "string",
2381
+ "minLength": 1,
2382
+ "description": "The ZeroTier network ID (16-character hex string)."
2383
+ },
2384
+ "memberId": {
2385
+ "type": "string",
2386
+ "minLength": 1,
2387
+ "description": "The member device/node ID (10-character hex string)."
2388
+ }
2389
+ },
2390
+ "additionalProperties": false,
2391
+ "required": [
2392
+ "networkId",
2393
+ "memberId"
2394
+ ],
2395
+ "description": "Input for rejecting a member."
2396
+ },
2397
+ "outputSchema": {
2398
+ "type": "object",
2399
+ "properties": {
2400
+ "result": {
2401
+ "description": "The ZeroTier API response payload for the requested resource."
2402
+ }
2403
+ },
2404
+ "additionalProperties": false,
2405
+ "required": [
2406
+ "result"
2407
+ ],
2408
+ "description": "The rejected member."
2409
+ }
2410
+ },
2411
+ {
2412
+ "id": "zerotier.reject_members",
2413
+ "service": "zerotier",
2414
+ "name": "reject_members",
2415
+ "description": "v2 only: reject multiple members on a network in one call.",
2416
+ "operationType": "destructive",
2417
+ "requiredScopes": [],
2418
+ "providerPermissions": [],
2419
+ "inputSchema": {
2420
+ "type": "object",
2421
+ "properties": {
2422
+ "networkId": {
2423
+ "type": "string",
2424
+ "minLength": 1,
2425
+ "description": "The ZeroTier network ID (16-character hex string)."
2426
+ },
2427
+ "deviceIds": {
2428
+ "type": "array",
2429
+ "items": {
2430
+ "type": "string",
2431
+ "minLength": 10,
2432
+ "maxLength": 10,
2433
+ "description": "The member device ID (10-character hex string).",
2434
+ "pattern": "^[0-9a-fA-F]{10}$"
2435
+ },
2436
+ "description": "Member device IDs (10-character hex strings)."
2437
+ }
2438
+ },
2439
+ "additionalProperties": false,
2440
+ "required": [
2441
+ "networkId",
2442
+ "deviceIds"
2443
+ ],
2444
+ "description": "Input for rejecting members."
2445
+ },
2446
+ "outputSchema": {
2447
+ "type": "object",
2448
+ "properties": {
2449
+ "ok": {
2450
+ "type": "boolean",
2451
+ "description": "Whether the ZeroTier API operation completed successfully."
2452
+ },
2453
+ "result": {
2454
+ "description": "The ZeroTier API response payload when one was returned."
2455
+ }
2456
+ },
2457
+ "additionalProperties": false,
2458
+ "required": [
2459
+ "ok",
2460
+ "result"
2461
+ ],
2462
+ "description": "Rejection result."
2463
+ }
2464
+ },
2465
+ {
2466
+ "id": "zerotier.remove_iam",
2467
+ "service": "zerotier",
2468
+ "name": "remove_iam",
2469
+ "description": "v2 only: remove roles from a principal on an org, network group, or network.",
2470
+ "operationType": "destructive",
2471
+ "requiredScopes": [],
2472
+ "providerPermissions": [],
2473
+ "inputSchema": {
2474
+ "type": "object",
2475
+ "properties": {
2476
+ "resourceType": {
2477
+ "type": "string",
2478
+ "enum": [
2479
+ "org",
2480
+ "network-group",
2481
+ "network"
2482
+ ],
2483
+ "description": "The ZeroTier v2 resource kind the IAM assignment applies to."
2484
+ },
2485
+ "resourceId": {
2486
+ "type": "string",
2487
+ "minLength": 1,
2488
+ "description": "The resource ID."
2489
+ },
2490
+ "principal": {
2491
+ "type": "string",
2492
+ "description": "Email address of the user or service account.",
2493
+ "format": "email"
2494
+ },
2495
+ "roles": {
2496
+ "type": "array",
2497
+ "items": {
2498
+ "type": "string",
2499
+ "enum": [
2500
+ "Owner",
2501
+ "Admin",
2502
+ "Editor",
2503
+ "Viewer",
2504
+ "NetworkGroupAdmin",
2505
+ "NetworkGroupEditor",
2506
+ "NetworkGroupViewer",
2507
+ "NetworkAdmin",
2508
+ "NetworkEditor",
2509
+ "NetworkViewer"
2510
+ ],
2511
+ "description": "A ZeroTier v2 IAM role. Org roles (Owner, Admin, Editor, Viewer) apply to every child resource; NetworkGroup* and Network* roles apply at that level and below."
2512
+ },
2513
+ "description": "IAM roles to remove.",
2514
+ "minItems": 1,
2515
+ "uniqueItems": true
2516
+ }
2517
+ },
2518
+ "additionalProperties": false,
2519
+ "required": [
2520
+ "resourceType",
2521
+ "resourceId",
2522
+ "principal",
2523
+ "roles"
2524
+ ],
2525
+ "description": "Input for removing IAM roles."
2526
+ },
2527
+ "outputSchema": {
2528
+ "type": "object",
2529
+ "properties": {
2530
+ "ok": {
2531
+ "type": "boolean",
2532
+ "description": "Whether the ZeroTier API operation completed successfully."
2533
+ },
2534
+ "result": {
2535
+ "description": "The ZeroTier API response payload when one was returned."
2536
+ }
2537
+ },
2538
+ "additionalProperties": false,
2539
+ "required": [
2540
+ "ok",
2541
+ "result"
2542
+ ],
2543
+ "description": "IAM update result."
2544
+ }
2545
+ },
2546
+ {
2547
+ "id": "zerotier.remove_members",
2548
+ "service": "zerotier",
2549
+ "name": "remove_members",
2550
+ "description": "v2 only: remove multiple members from a network in one call.",
2551
+ "operationType": "destructive",
2552
+ "requiredScopes": [],
2553
+ "providerPermissions": [],
2554
+ "inputSchema": {
2555
+ "type": "object",
2556
+ "properties": {
2557
+ "networkId": {
2558
+ "type": "string",
2559
+ "minLength": 1,
2560
+ "description": "The ZeroTier network ID (16-character hex string)."
2561
+ },
2562
+ "deviceIds": {
2563
+ "type": "array",
2564
+ "items": {
2565
+ "type": "string",
2566
+ "minLength": 10,
2567
+ "maxLength": 10,
2568
+ "description": "The member device ID (10-character hex string).",
2569
+ "pattern": "^[0-9a-fA-F]{10}$"
2570
+ },
2571
+ "description": "Member device IDs (10-character hex strings)."
2572
+ }
2573
+ },
2574
+ "additionalProperties": false,
2575
+ "required": [
2576
+ "networkId",
2577
+ "deviceIds"
2578
+ ],
2579
+ "description": "Input for removing members."
2580
+ },
2581
+ "outputSchema": {
2582
+ "type": "object",
2583
+ "properties": {
2584
+ "ok": {
2585
+ "type": "boolean",
2586
+ "description": "Whether the ZeroTier API operation completed successfully."
2587
+ },
2588
+ "result": {
2589
+ "description": "The ZeroTier API response payload when one was returned."
2590
+ }
2591
+ },
2592
+ "additionalProperties": false,
2593
+ "required": [
2594
+ "ok",
2595
+ "result"
2596
+ ],
2597
+ "description": "Removal result."
2598
+ }
2599
+ },
2600
+ {
2601
+ "id": "zerotier.replace_iam",
2602
+ "service": "zerotier",
2603
+ "name": "replace_iam",
2604
+ "description": "v2 only: replace all IAM assignments on an org, network group, or network. Existing assignments missing from the list are removed, so an empty list strips every role.",
2605
+ "operationType": "destructive",
2606
+ "requiredScopes": [],
2607
+ "providerPermissions": [],
2608
+ "inputSchema": {
2609
+ "type": "object",
2610
+ "properties": {
2611
+ "resourceType": {
2612
+ "type": "string",
2613
+ "enum": [
2614
+ "org",
2615
+ "network-group",
2616
+ "network"
2617
+ ],
2618
+ "description": "The ZeroTier v2 resource kind the IAM assignment applies to."
2619
+ },
2620
+ "resourceId": {
2621
+ "type": "string",
2622
+ "minLength": 1,
2623
+ "description": "The resource ID."
2624
+ },
2625
+ "assignments": {
2626
+ "type": "array",
2627
+ "items": {
2628
+ "type": "object",
2629
+ "properties": {
2630
+ "principal": {
2631
+ "type": "string",
2632
+ "description": "Email address of the user or service account.",
2633
+ "format": "email"
2634
+ },
2635
+ "roles": {
2636
+ "type": "array",
2637
+ "items": {
2638
+ "type": "string",
2639
+ "enum": [
2640
+ "Owner",
2641
+ "Admin",
2642
+ "Editor",
2643
+ "Viewer",
2644
+ "NetworkGroupAdmin",
2645
+ "NetworkGroupEditor",
2646
+ "NetworkGroupViewer",
2647
+ "NetworkAdmin",
2648
+ "NetworkEditor",
2649
+ "NetworkViewer"
2650
+ ],
2651
+ "description": "A ZeroTier v2 IAM role. Org roles (Owner, Admin, Editor, Viewer) apply to every child resource; NetworkGroup* and Network* roles apply at that level and below."
2652
+ },
2653
+ "description": "One or more ZeroTier IAM roles.",
2654
+ "minItems": 1,
2655
+ "uniqueItems": true
2656
+ }
2657
+ },
2658
+ "additionalProperties": false,
2659
+ "required": [
2660
+ "principal",
2661
+ "roles"
2662
+ ],
2663
+ "description": "A principal-to-roles assignment."
2664
+ },
2665
+ "description": "The complete principal–roles assignment list."
2666
+ }
2667
+ },
2668
+ "additionalProperties": false,
2669
+ "required": [
2670
+ "resourceType",
2671
+ "resourceId",
2672
+ "assignments"
2673
+ ],
2674
+ "description": "Input for replacing IAM assignments."
2675
+ },
2676
+ "outputSchema": {
2677
+ "type": "object",
2678
+ "properties": {
2679
+ "ok": {
2680
+ "type": "boolean",
2681
+ "description": "Whether the ZeroTier API operation completed successfully."
2682
+ },
2683
+ "result": {
2684
+ "description": "The ZeroTier API response payload when one was returned."
2685
+ }
2686
+ },
2687
+ "additionalProperties": false,
2688
+ "required": [
2689
+ "ok",
2690
+ "result"
2691
+ ],
2692
+ "description": "IAM update result."
2693
+ }
2694
+ },
2695
+ {
2696
+ "id": "zerotier.rotate_webhook_secret",
2697
+ "service": "zerotier",
2698
+ "name": "rotate_webhook_secret",
2699
+ "description": "v2 only: rotate a webhook's signing secret.",
2700
+ "operationType": "destructive",
2701
+ "requiredScopes": [],
2702
+ "providerPermissions": [],
2703
+ "inputSchema": {
2704
+ "type": "object",
2705
+ "properties": {
2706
+ "webhookId": {
2707
+ "type": "string",
2708
+ "minLength": 1,
2709
+ "description": "The webhook ID."
2710
+ },
2711
+ "overlapHours": {
2712
+ "type": "integer",
2713
+ "minimum": 0,
2714
+ "maximum": 720,
2715
+ "description": "Hours the previous secret stays valid after rotation (0 = immediate cutover, at most 720, default 24)."
2716
+ }
2717
+ },
2718
+ "additionalProperties": false,
2719
+ "required": [
2720
+ "webhookId"
2721
+ ],
2722
+ "description": "Input for rotating a webhook secret."
2723
+ },
2724
+ "outputSchema": {
2725
+ "type": "object",
2726
+ "properties": {
2727
+ "result": {
2728
+ "description": "The ZeroTier API response payload for the requested resource."
2729
+ }
2730
+ },
2731
+ "additionalProperties": false,
2732
+ "required": [
2733
+ "result"
2734
+ ],
2735
+ "description": "The rotation result."
2736
+ }
2737
+ },
2738
+ {
2739
+ "id": "zerotier.search_principals",
2740
+ "service": "zerotier",
2741
+ "name": "search_principals",
2742
+ "description": "v2 only: search org users by email term.",
2743
+ "operationType": "read",
2744
+ "requiredScopes": [],
2745
+ "providerPermissions": [],
2746
+ "inputSchema": {
2747
+ "type": "object",
2748
+ "properties": {
2749
+ "orgId": {
2750
+ "type": "string",
2751
+ "minLength": 1,
2752
+ "description": "The ZeroTier organization ID."
2753
+ },
2754
+ "search": {
2755
+ "type": "string",
2756
+ "minLength": 1,
2757
+ "description": "Search term matched against principal email addresses."
2758
+ },
2759
+ "principalType": {
2760
+ "type": "array",
2761
+ "items": {
2762
+ "type": "string",
2763
+ "enum": [
2764
+ "user"
2765
+ ],
2766
+ "description": "A principal type."
2767
+ },
2768
+ "description": "Optional principal-type filters (upstream accepts only \"user\")."
2769
+ }
2770
+ },
2771
+ "additionalProperties": false,
2772
+ "required": [
2773
+ "orgId",
2774
+ "search"
2775
+ ],
2776
+ "description": "Input for searching principals."
2777
+ },
2778
+ "outputSchema": {
2779
+ "type": "object",
2780
+ "properties": {
2781
+ "items": {
2782
+ "type": "array",
2783
+ "items": {
2784
+ "description": "One ZeroTier API resource."
2785
+ },
2786
+ "description": "The ZeroTier API resources returned for this request."
2787
+ },
2788
+ "stats": {
2789
+ "description": "v2 only: aggregate statistics returned when stats was requested."
2790
+ }
2791
+ },
2792
+ "additionalProperties": false,
2793
+ "required": [
2794
+ "items"
2795
+ ],
2796
+ "description": "The matching principals."
2797
+ }
2798
+ },
2799
+ {
2800
+ "id": "zerotier.set_network_user_permissions",
2801
+ "service": "zerotier",
2802
+ "name": "set_network_user_permissions",
2803
+ "description": "v1 only: replace a user's permission set on a network. The call sets all four flags, so omitted flags are sent as false.",
2804
+ "operationType": "destructive",
2805
+ "requiredScopes": [],
2806
+ "providerPermissions": [],
2807
+ "inputSchema": {
2808
+ "type": "object",
2809
+ "properties": {
2810
+ "networkId": {
2811
+ "type": "string",
2812
+ "minLength": 1,
2813
+ "description": "The ZeroTier network ID (16-character hex string)."
2814
+ },
2815
+ "userId": {
2816
+ "type": "string",
2817
+ "minLength": 1,
2818
+ "description": "The user ID to set permissions for."
2819
+ },
2820
+ "read": {
2821
+ "type": "boolean",
2822
+ "description": "Read permission (r): view network settings. Omitted means false."
2823
+ },
2824
+ "authorize": {
2825
+ "type": "boolean",
2826
+ "description": "Authorize permission (a): authorize new members. Omitted means false."
2827
+ },
2828
+ "modify": {
2829
+ "type": "boolean",
2830
+ "description": "Modify permission (m): change network settings. Omitted means false."
2831
+ },
2832
+ "delete": {
2833
+ "type": "boolean",
2834
+ "description": "Delete permission (d): remove members. Omitted means false."
2835
+ }
2836
+ },
2837
+ "additionalProperties": false,
2838
+ "required": [
2839
+ "networkId",
2840
+ "userId"
2841
+ ],
2842
+ "description": "Input for setting network user permissions."
2843
+ },
2844
+ "outputSchema": {
2845
+ "type": "object",
2846
+ "properties": {
2847
+ "result": {
2848
+ "description": "The ZeroTier API response payload for the requested resource."
2849
+ }
2850
+ },
2851
+ "additionalProperties": false,
2852
+ "required": [
2853
+ "result"
2854
+ ],
2855
+ "description": "The applied permission set (NetworkUserPermissions)."
2856
+ }
2857
+ },
2858
+ {
2859
+ "id": "zerotier.update_api_key",
2860
+ "service": "zerotier",
2861
+ "name": "update_api_key",
2862
+ "description": "v2 only: update an API key's description.",
2863
+ "operationType": "write",
2864
+ "requiredScopes": [],
2865
+ "providerPermissions": [],
2866
+ "inputSchema": {
2867
+ "type": "object",
2868
+ "properties": {
2869
+ "apiKeyId": {
2870
+ "type": "string",
2871
+ "minLength": 1,
2872
+ "description": "The API key ID."
2873
+ },
2874
+ "description": {
2875
+ "type": "string",
2876
+ "description": "The description to set (may be an empty string)."
2877
+ }
2878
+ },
2879
+ "additionalProperties": false,
2880
+ "required": [
2881
+ "apiKeyId"
2882
+ ],
2883
+ "description": "Input for updating an API key."
2884
+ },
2885
+ "outputSchema": {
2886
+ "type": "object",
2887
+ "properties": {
2888
+ "result": {
2889
+ "description": "The ZeroTier API response payload for the requested resource."
2890
+ }
2891
+ },
2892
+ "additionalProperties": false,
2893
+ "required": [
2894
+ "result"
2895
+ ],
2896
+ "description": "The updated API key."
2897
+ }
2898
+ },
2899
+ {
2900
+ "id": "zerotier.update_current_user",
2901
+ "service": "zerotier",
2902
+ "name": "update_current_user",
2903
+ "description": "v2 only: update the authenticated user's profile.",
2904
+ "operationType": "write",
2905
+ "requiredScopes": [],
2906
+ "providerPermissions": [],
2907
+ "inputSchema": {
2908
+ "type": "object",
2909
+ "properties": {
2910
+ "firstName": {
2911
+ "type": "string",
2912
+ "description": "The first name to set."
2913
+ },
2914
+ "lastName": {
2915
+ "type": "string",
2916
+ "description": "The last name to set."
2917
+ }
2918
+ },
2919
+ "additionalProperties": false,
2920
+ "description": "Input for updating the current user."
2921
+ },
2922
+ "outputSchema": {
2923
+ "type": "object",
2924
+ "properties": {
2925
+ "result": {
2926
+ "description": "The ZeroTier API response payload for the requested resource."
2927
+ }
2928
+ },
2929
+ "additionalProperties": false,
2930
+ "required": [
2931
+ "result"
2932
+ ],
2933
+ "description": "The updated user."
2934
+ }
2935
+ },
2936
+ {
2937
+ "id": "zerotier.update_flow_rules",
2938
+ "service": "zerotier",
2939
+ "name": "update_flow_rules",
2940
+ "description": "v2 only (beta): update a network's flow rules (custom rule source or isolation config).",
2941
+ "operationType": "destructive",
2942
+ "requiredScopes": [],
2943
+ "providerPermissions": [],
2944
+ "inputSchema": {
2945
+ "type": "object",
2946
+ "properties": {
2947
+ "networkId": {
2948
+ "type": "string",
2949
+ "minLength": 1,
2950
+ "description": "The ZeroTier network ID (16-character hex string)."
2951
+ },
2952
+ "kind": {
2953
+ "type": "string",
2954
+ "enum": [
2955
+ "custom",
2956
+ "isolation"
2957
+ ],
2958
+ "description": "The flow rule kind."
2959
+ },
2960
+ "config": {
2961
+ "type": "object",
2962
+ "properties": {},
2963
+ "additionalProperties": true,
2964
+ "description": "The flow rule config. For custom rules: {source: '<rules source>'}. For isolation: {allowedServices, blockNonIP, enableServiceFilter, excludedDeviceIds}."
2965
+ }
2966
+ },
2967
+ "additionalProperties": false,
2968
+ "required": [
2969
+ "networkId",
2970
+ "kind"
2971
+ ],
2972
+ "description": "Input for updating flow rules."
2973
+ },
2974
+ "outputSchema": {
2975
+ "type": "object",
2976
+ "properties": {
2977
+ "result": {
2978
+ "description": "The ZeroTier API response payload for the requested resource."
2979
+ }
2980
+ },
2981
+ "additionalProperties": false,
2982
+ "required": [
2983
+ "result"
2984
+ ],
2985
+ "description": "The updated flow rules."
2986
+ }
2987
+ },
2988
+ {
2989
+ "id": "zerotier.update_member",
2990
+ "service": "zerotier",
2991
+ "name": "update_member",
2992
+ "description": "Update a network member. v1 fields: name, description, authorized, activeBridge, noAutoAssignIps, ipAssignments. v2 fields: name, description, activeBridge, noAutoAssignIps, ipv4Assignments, ipv6Assignments. Fields from the other API version are rejected; on v2 change authorization with authorize_member or deauthorize_member.",
2993
+ "operationType": "destructive",
2994
+ "requiredScopes": [],
2995
+ "providerPermissions": [],
2996
+ "inputSchema": {
2997
+ "type": "object",
2998
+ "properties": {
2999
+ "networkId": {
3000
+ "type": "string",
3001
+ "minLength": 1,
3002
+ "description": "The ZeroTier network ID (16-character hex string)."
3003
+ },
3004
+ "memberId": {
3005
+ "type": "string",
3006
+ "minLength": 1,
3007
+ "description": "The member device/node ID (10-character hex string)."
3008
+ },
3009
+ "name": {
3010
+ "type": "string",
3011
+ "description": "The display name to set."
3012
+ },
3013
+ "description": {
3014
+ "type": "string",
3015
+ "description": "The description to set (may be an empty string)."
3016
+ },
3017
+ "authorized": {
3018
+ "type": "boolean",
3019
+ "description": "v1 only: whether the member is authorized on the network."
3020
+ },
3021
+ "activeBridge": {
3022
+ "type": "boolean",
3023
+ "description": "Whether this device acts as an active bridge."
3024
+ },
3025
+ "noAutoAssignIps": {
3026
+ "type": "boolean",
3027
+ "description": "Disable automatic IP assignment for this member."
3028
+ },
3029
+ "ipAssignments": {
3030
+ "type": "array",
3031
+ "items": {
3032
+ "type": "string",
3033
+ "minLength": 1
3034
+ },
3035
+ "description": "v1 only: static IP assignments replacing the current list."
3036
+ },
3037
+ "ipv4Assignments": {
3038
+ "type": "array",
3039
+ "items": {
3040
+ "type": "string",
3041
+ "minLength": 1
3042
+ },
3043
+ "description": "v2 only: static IPv4 assignments."
3044
+ },
3045
+ "ipv6Assignments": {
3046
+ "type": "array",
3047
+ "items": {
3048
+ "type": "string",
3049
+ "minLength": 1
3050
+ },
3051
+ "description": "v2 only: static IPv6 assignments."
3052
+ }
3053
+ },
3054
+ "additionalProperties": false,
3055
+ "required": [
3056
+ "networkId",
3057
+ "memberId"
3058
+ ],
3059
+ "description": "Input for updating a network member."
3060
+ },
3061
+ "outputSchema": {
3062
+ "type": "object",
3063
+ "properties": {
3064
+ "result": {
3065
+ "description": "The ZeroTier API response payload for the requested resource."
3066
+ }
3067
+ },
3068
+ "additionalProperties": false,
3069
+ "required": [
3070
+ "result"
3071
+ ],
3072
+ "description": "The updated network member."
3073
+ }
3074
+ },
3075
+ {
3076
+ "id": "zerotier.update_network",
3077
+ "service": "zerotier",
3078
+ "name": "update_network",
3079
+ "description": "Update a ZeroTier network's name, description, and/or configuration fields.",
3080
+ "operationType": "destructive",
3081
+ "requiredScopes": [],
3082
+ "providerPermissions": [],
3083
+ "inputSchema": {
3084
+ "type": "object",
3085
+ "properties": {
3086
+ "networkId": {
3087
+ "type": "string",
3088
+ "minLength": 1,
3089
+ "description": "The ZeroTier network ID (16-character hex string)."
3090
+ },
3091
+ "name": {
3092
+ "type": "string",
3093
+ "description": "The display name to set."
3094
+ },
3095
+ "description": {
3096
+ "type": "string",
3097
+ "description": "The description to set (may be an empty string)."
3098
+ },
3099
+ "config": {
3100
+ "type": "object",
3101
+ "properties": {},
3102
+ "additionalProperties": true,
3103
+ "description": "Partial network configuration. v1 fields: name/private/enableBroadcast/mtu/multicastLimit/routes/ipAssignmentPools/v4AssignMode/v6AssignMode/dns; v2 fields: private/enableBroadcast/mtu/multicastLimit/routes/v4Subnet/v4IpAssignmentPools/v4AssignmentMode/v6Subnet/v6IpAssignmentPools/v6AssignmentMode/dns."
3104
+ }
3105
+ },
3106
+ "additionalProperties": false,
3107
+ "required": [
3108
+ "networkId"
3109
+ ],
3110
+ "description": "Input for updating a ZeroTier network."
3111
+ },
3112
+ "outputSchema": {
3113
+ "type": "object",
3114
+ "properties": {
3115
+ "result": {
3116
+ "description": "The ZeroTier API response payload for the requested resource."
3117
+ }
3118
+ },
3119
+ "additionalProperties": false,
3120
+ "required": [
3121
+ "result"
3122
+ ],
3123
+ "description": "The updated ZeroTier network."
3124
+ }
3125
+ },
3126
+ {
3127
+ "id": "zerotier.update_network_group",
3128
+ "service": "zerotier",
3129
+ "name": "update_network_group",
3130
+ "description": "v2 only: rename or re-describe a network group.",
3131
+ "operationType": "write",
3132
+ "requiredScopes": [],
3133
+ "providerPermissions": [],
3134
+ "inputSchema": {
3135
+ "type": "object",
3136
+ "properties": {
3137
+ "networkGroupId": {
3138
+ "type": "string",
3139
+ "minLength": 1,
3140
+ "description": "The network group ID."
3141
+ },
3142
+ "name": {
3143
+ "type": "string",
3144
+ "description": "The display name to set."
3145
+ },
3146
+ "description": {
3147
+ "type": "string",
3148
+ "description": "The description to set (may be an empty string)."
3149
+ }
3150
+ },
3151
+ "additionalProperties": false,
3152
+ "required": [
3153
+ "networkGroupId"
3154
+ ],
3155
+ "description": "Input for updating a network group."
3156
+ },
3157
+ "outputSchema": {
3158
+ "type": "object",
3159
+ "properties": {
3160
+ "result": {
3161
+ "description": "The ZeroTier API response payload for the requested resource."
3162
+ }
3163
+ },
3164
+ "additionalProperties": false,
3165
+ "required": [
3166
+ "result"
3167
+ ],
3168
+ "description": "The updated network group."
3169
+ }
3170
+ },
3171
+ {
3172
+ "id": "zerotier.update_service_account",
3173
+ "service": "zerotier",
3174
+ "name": "update_service_account",
3175
+ "description": "v2 only: update a service account's name or description.",
3176
+ "operationType": "write",
3177
+ "requiredScopes": [],
3178
+ "providerPermissions": [],
3179
+ "inputSchema": {
3180
+ "type": "object",
3181
+ "properties": {
3182
+ "serviceAccountId": {
3183
+ "type": "string",
3184
+ "minLength": 1,
3185
+ "description": "The service account ID."
3186
+ },
3187
+ "name": {
3188
+ "type": "string",
3189
+ "description": "The display name to set."
3190
+ },
3191
+ "description": {
3192
+ "type": "string",
3193
+ "description": "The description to set (may be an empty string)."
3194
+ }
3195
+ },
3196
+ "additionalProperties": false,
3197
+ "required": [
3198
+ "serviceAccountId"
3199
+ ],
3200
+ "description": "Input for updating a service account."
3201
+ },
3202
+ "outputSchema": {
3203
+ "type": "object",
3204
+ "properties": {
3205
+ "result": {
3206
+ "description": "The ZeroTier API response payload for the requested resource."
3207
+ }
3208
+ },
3209
+ "additionalProperties": false,
3210
+ "required": [
3211
+ "result"
3212
+ ],
3213
+ "description": "The updated service account."
3214
+ }
3215
+ },
3216
+ {
3217
+ "id": "zerotier.update_user",
3218
+ "service": "zerotier",
3219
+ "name": "update_user",
3220
+ "description": "v1 only: update a user's profile fields.",
3221
+ "operationType": "write",
3222
+ "requiredScopes": [],
3223
+ "providerPermissions": [],
3224
+ "inputSchema": {
3225
+ "type": "object",
3226
+ "properties": {
3227
+ "userId": {
3228
+ "type": "string",
3229
+ "minLength": 1,
3230
+ "description": "The user ID."
3231
+ },
3232
+ "displayName": {
3233
+ "type": "string",
3234
+ "description": "The display name to set."
3235
+ },
3236
+ "smsNumber": {
3237
+ "type": "string",
3238
+ "description": "The SMS number to set (deprecated by ZeroTier)."
3239
+ }
3240
+ },
3241
+ "additionalProperties": false,
3242
+ "required": [
3243
+ "userId"
3244
+ ],
3245
+ "description": "Input for updating a user."
3246
+ },
3247
+ "outputSchema": {
3248
+ "type": "object",
3249
+ "properties": {
3250
+ "result": {
3251
+ "description": "The ZeroTier API response payload for the requested resource."
3252
+ }
3253
+ },
3254
+ "additionalProperties": false,
3255
+ "required": [
3256
+ "result"
3257
+ ],
3258
+ "description": "The updated user."
3259
+ }
3260
+ },
3261
+ {
3262
+ "id": "zerotier.update_webhook",
3263
+ "service": "zerotier",
3264
+ "name": "update_webhook",
3265
+ "description": "v2 only: update a webhook's URL, event list, or description.",
3266
+ "operationType": "destructive",
3267
+ "requiredScopes": [],
3268
+ "providerPermissions": [],
3269
+ "inputSchema": {
3270
+ "type": "object",
3271
+ "properties": {
3272
+ "webhookId": {
3273
+ "type": "string",
3274
+ "minLength": 1,
3275
+ "description": "The webhook ID."
3276
+ },
3277
+ "url": {
3278
+ "type": "string",
3279
+ "description": "The HTTPS endpoint URL that receives webhook events.",
3280
+ "format": "uri"
3281
+ },
3282
+ "eventList": {
3283
+ "type": "array",
3284
+ "items": {
3285
+ "type": "string",
3286
+ "minLength": 1,
3287
+ "description": "An event type."
3288
+ },
3289
+ "description": "ZeroTier event types to subscribe to.",
3290
+ "minItems": 1
3291
+ },
3292
+ "description": {
3293
+ "type": "string",
3294
+ "maxLength": 255,
3295
+ "description": "The webhook description (at most 255 characters)."
3296
+ }
3297
+ },
3298
+ "additionalProperties": false,
3299
+ "required": [
3300
+ "webhookId"
3301
+ ],
3302
+ "description": "Input for updating a webhook."
3303
+ },
3304
+ "outputSchema": {
3305
+ "type": "object",
3306
+ "properties": {
3307
+ "result": {
3308
+ "description": "The ZeroTier API response payload for the requested resource."
3309
+ }
3310
+ },
3311
+ "additionalProperties": false,
3312
+ "required": [
3313
+ "result"
3314
+ ],
3315
+ "description": "The updated webhook."
3316
+ }
3317
+ }
3318
+ ]
3319
+ }