mcp4openapi 0.2.8 → 0.3.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 (310) hide show
  1. package/README.md +143 -63
  2. package/dist/scripts/validate-profile.js +3 -3
  3. package/dist/scripts/validate-profile.js.map +1 -1
  4. package/dist/src/{oauth-provider.d.ts → auth/oauth-provider.d.ts} +7 -2
  5. package/dist/src/auth/oauth-provider.d.ts.map +1 -0
  6. package/dist/src/{oauth-provider.js → auth/oauth-provider.js} +30 -2
  7. package/dist/src/auth/oauth-provider.js.map +1 -0
  8. package/dist/src/core/cli-config.d.ts +9 -0
  9. package/dist/src/core/cli-config.d.ts.map +1 -0
  10. package/dist/src/core/cli-config.js +124 -0
  11. package/dist/src/core/cli-config.js.map +1 -0
  12. package/dist/src/{constants.d.ts → core/constants.d.ts} +1 -0
  13. package/dist/src/core/constants.d.ts.map +1 -0
  14. package/dist/src/{constants.js → core/constants.js} +1 -0
  15. package/dist/src/core/constants.js.map +1 -0
  16. package/dist/src/{errors.d.ts → core/errors.d.ts} +6 -0
  17. package/dist/src/core/errors.d.ts.map +1 -0
  18. package/dist/src/{errors.js → core/errors.js} +15 -6
  19. package/dist/src/core/errors.js.map +1 -0
  20. package/dist/src/core/filtering.d.ts +19 -0
  21. package/dist/src/core/filtering.d.ts.map +1 -0
  22. package/dist/src/core/filtering.js +292 -0
  23. package/dist/src/core/filtering.js.map +1 -0
  24. package/dist/src/core/index.d.ts +26 -0
  25. package/dist/src/core/index.d.ts.map +1 -0
  26. package/dist/src/core/index.js +275 -0
  27. package/dist/src/core/index.js.map +1 -0
  28. package/dist/src/core/lib.d.ts +8 -0
  29. package/dist/src/core/lib.d.ts.map +1 -0
  30. package/dist/src/core/lib.js +7 -0
  31. package/dist/src/core/lib.js.map +1 -0
  32. package/dist/src/{logger.d.ts → core/logger.d.ts} +6 -1
  33. package/dist/src/core/logger.d.ts.map +1 -0
  34. package/dist/src/{logger.js → core/logger.js} +30 -2
  35. package/dist/src/core/logger.js.map +1 -0
  36. package/dist/src/{metrics.d.ts → core/metrics.d.ts} +11 -0
  37. package/dist/src/core/metrics.d.ts.map +1 -0
  38. package/dist/src/{metrics.js → core/metrics.js} +61 -0
  39. package/dist/src/core/metrics.js.map +1 -0
  40. package/dist/src/core/naming-warnings.d.ts.map +1 -0
  41. package/dist/src/core/naming-warnings.js.map +1 -0
  42. package/dist/src/core/naming.d.ts.map +1 -0
  43. package/dist/src/core/naming.js.map +1 -0
  44. package/dist/src/generated-schemas.d.ts +245 -79
  45. package/dist/src/generated-schemas.d.ts.map +1 -1
  46. package/dist/src/generated-schemas.js +14 -2
  47. package/dist/src/generated-schemas.js.map +1 -1
  48. package/dist/src/index.d.ts +1 -6
  49. package/dist/src/index.d.ts.map +1 -1
  50. package/dist/src/index.js +1 -170
  51. package/dist/src/index.js.map +1 -1
  52. package/dist/src/lib.d.ts +1 -7
  53. package/dist/src/lib.d.ts.map +1 -1
  54. package/dist/src/lib.js +1 -6
  55. package/dist/src/lib.js.map +1 -1
  56. package/dist/src/mcp/mcp-server-manager.d.ts +20 -0
  57. package/dist/src/mcp/mcp-server-manager.d.ts.map +1 -0
  58. package/dist/src/mcp/mcp-server-manager.js +38 -0
  59. package/dist/src/mcp/mcp-server-manager.js.map +1 -0
  60. package/dist/src/{mcp-server.d.ts → mcp/mcp-server.d.ts} +31 -1
  61. package/dist/src/mcp/mcp-server.d.ts.map +1 -0
  62. package/dist/src/{mcp-server.js → mcp/mcp-server.js} +547 -146
  63. package/dist/src/mcp/mcp-server.js.map +1 -0
  64. package/dist/src/{openapi-parser.d.ts → openapi/openapi-parser.d.ts} +1 -1
  65. package/dist/src/openapi/openapi-parser.d.ts.map +1 -0
  66. package/dist/src/{openapi-parser.js → openapi/openapi-parser.js} +2 -2
  67. package/dist/src/openapi/openapi-parser.js.map +1 -0
  68. package/dist/src/{profile-loader.d.ts → profile/profile-loader.d.ts} +3 -2
  69. package/dist/src/profile/profile-loader.d.ts.map +1 -0
  70. package/dist/src/{profile-loader.js → profile/profile-loader.js} +17 -6
  71. package/dist/src/profile/profile-loader.js.map +1 -0
  72. package/dist/src/profile/profile-registry.d.ts +18 -0
  73. package/dist/src/profile/profile-registry.d.ts.map +1 -0
  74. package/dist/src/profile/profile-registry.js +26 -0
  75. package/dist/src/profile/profile-registry.js.map +1 -0
  76. package/dist/src/profile/profile-resolver.d.ts +25 -0
  77. package/dist/src/profile/profile-resolver.d.ts.map +1 -0
  78. package/dist/src/profile/profile-resolver.js +204 -0
  79. package/dist/src/profile/profile-resolver.js.map +1 -0
  80. package/dist/src/profile/startup-profile.d.ts +17 -0
  81. package/dist/src/profile/startup-profile.d.ts.map +1 -0
  82. package/dist/src/profile/startup-profile.js +30 -0
  83. package/dist/src/profile/startup-profile.js.map +1 -0
  84. package/dist/src/profile/startup-validation.d.ts +11 -0
  85. package/dist/src/profile/startup-validation.d.ts.map +1 -0
  86. package/dist/src/profile/startup-validation.js +21 -0
  87. package/dist/src/profile/startup-validation.js.map +1 -0
  88. package/dist/src/testing/dynamic-mock-server.d.ts +24 -0
  89. package/dist/src/testing/dynamic-mock-server.d.ts.map +1 -0
  90. package/dist/src/testing/dynamic-mock-server.js +138 -0
  91. package/dist/src/testing/dynamic-mock-server.js.map +1 -0
  92. package/dist/src/testing/request-assertions.d.ts +5 -0
  93. package/dist/src/testing/request-assertions.d.ts.map +1 -0
  94. package/dist/src/testing/request-assertions.js +165 -0
  95. package/dist/src/testing/request-assertions.js.map +1 -0
  96. package/dist/src/testing/template-utils.d.ts +10 -0
  97. package/dist/src/testing/template-utils.d.ts.map +1 -0
  98. package/dist/src/testing/template-utils.js +72 -0
  99. package/dist/src/testing/template-utils.js.map +1 -0
  100. package/dist/src/testing/test-http-utils.d.ts +1 -1
  101. package/dist/src/testing/test-http-utils.d.ts.map +1 -1
  102. package/dist/src/testing/test-http-utils.js +1 -1
  103. package/dist/src/testing/test-http-utils.js.map +1 -1
  104. package/dist/src/testing/test-loader.d.ts +6 -0
  105. package/dist/src/testing/test-loader.d.ts.map +1 -0
  106. package/dist/src/testing/test-loader.js +212 -0
  107. package/dist/src/testing/test-loader.js.map +1 -0
  108. package/dist/src/testing/test-schema.d.ts +1270 -0
  109. package/dist/src/testing/test-schema.d.ts.map +1 -0
  110. package/dist/src/testing/test-schema.js +76 -0
  111. package/dist/src/testing/test-schema.js.map +1 -0
  112. package/dist/src/tool-filter/compat.d.ts +49 -0
  113. package/dist/src/tool-filter/compat.d.ts.map +1 -0
  114. package/dist/src/tool-filter/compat.js +72 -0
  115. package/dist/src/tool-filter/compat.js.map +1 -0
  116. package/dist/src/tool-filter/config/env-config-parser.d.ts +38 -0
  117. package/dist/src/tool-filter/config/env-config-parser.d.ts.map +1 -0
  118. package/dist/src/tool-filter/config/env-config-parser.js +103 -0
  119. package/dist/src/tool-filter/config/env-config-parser.js.map +1 -0
  120. package/dist/src/tool-filter/config/header-config-parser.d.ts +37 -0
  121. package/dist/src/tool-filter/config/header-config-parser.d.ts.map +1 -0
  122. package/dist/src/tool-filter/config/header-config-parser.js +118 -0
  123. package/dist/src/tool-filter/config/header-config-parser.js.map +1 -0
  124. package/dist/src/tool-filter/errors.d.ts +18 -0
  125. package/dist/src/tool-filter/errors.d.ts.map +1 -0
  126. package/dist/src/tool-filter/errors.js +21 -0
  127. package/dist/src/tool-filter/errors.js.map +1 -0
  128. package/dist/src/tool-filter/filter/filter-engine.d.ts +45 -0
  129. package/dist/src/tool-filter/filter/filter-engine.d.ts.map +1 -0
  130. package/dist/src/tool-filter/filter/filter-engine.js +94 -0
  131. package/dist/src/tool-filter/filter/filter-engine.js.map +1 -0
  132. package/dist/src/tool-filter/filter/filter-rules.d.ts +44 -0
  133. package/dist/src/tool-filter/filter/filter-rules.d.ts.map +1 -0
  134. package/dist/src/tool-filter/filter/filter-rules.js +72 -0
  135. package/dist/src/tool-filter/filter/filter-rules.js.map +1 -0
  136. package/dist/src/tool-filter/filter/global-tool-filter.d.ts +40 -0
  137. package/dist/src/tool-filter/filter/global-tool-filter.d.ts.map +1 -0
  138. package/dist/src/tool-filter/filter/global-tool-filter.js +92 -0
  139. package/dist/src/tool-filter/filter/global-tool-filter.js.map +1 -0
  140. package/dist/src/tool-filter/filter/session-tool-filter.d.ts +29 -0
  141. package/dist/src/tool-filter/filter/session-tool-filter.d.ts.map +1 -0
  142. package/dist/src/tool-filter/filter/session-tool-filter.js +69 -0
  143. package/dist/src/tool-filter/filter/session-tool-filter.js.map +1 -0
  144. package/dist/src/tool-filter/index.d.ts +25 -0
  145. package/dist/src/tool-filter/index.d.ts.map +1 -0
  146. package/dist/src/tool-filter/index.js +30 -0
  147. package/dist/src/tool-filter/index.js.map +1 -0
  148. package/dist/src/tool-filter/integration/tool-filter-service.d.ts +44 -0
  149. package/dist/src/tool-filter/integration/tool-filter-service.d.ts.map +1 -0
  150. package/dist/src/tool-filter/integration/tool-filter-service.js +68 -0
  151. package/dist/src/tool-filter/integration/tool-filter-service.js.map +1 -0
  152. package/dist/src/tool-filter/operation/operation-classifier.d.ts +20 -0
  153. package/dist/src/tool-filter/operation/operation-classifier.d.ts.map +1 -0
  154. package/dist/src/tool-filter/operation/operation-classifier.js +26 -0
  155. package/dist/src/tool-filter/operation/operation-classifier.js.map +1 -0
  156. package/dist/src/tool-filter/operation/operation-detector.d.ts +30 -0
  157. package/dist/src/tool-filter/operation/operation-detector.d.ts.map +1 -0
  158. package/dist/src/tool-filter/operation/operation-detector.js +96 -0
  159. package/dist/src/tool-filter/operation/operation-detector.js.map +1 -0
  160. package/dist/src/tool-filter/operation/operation-resolver.d.ts +22 -0
  161. package/dist/src/tool-filter/operation/operation-resolver.d.ts.map +1 -0
  162. package/dist/src/tool-filter/operation/operation-resolver.js +32 -0
  163. package/dist/src/tool-filter/operation/operation-resolver.js.map +1 -0
  164. package/dist/src/tool-filter/regex/regex-compiler.d.ts +22 -0
  165. package/dist/src/tool-filter/regex/regex-compiler.d.ts.map +1 -0
  166. package/dist/src/tool-filter/regex/regex-compiler.js +56 -0
  167. package/dist/src/tool-filter/regex/regex-compiler.js.map +1 -0
  168. package/dist/src/tool-filter/regex/regex-validator.d.ts +24 -0
  169. package/dist/src/tool-filter/regex/regex-validator.d.ts.map +1 -0
  170. package/dist/src/tool-filter/regex/regex-validator.js +58 -0
  171. package/dist/src/tool-filter/regex/regex-validator.js.map +1 -0
  172. package/dist/src/tool-filter/types.d.ts +92 -0
  173. package/dist/src/tool-filter/types.d.ts.map +1 -0
  174. package/dist/src/tool-filter/types.js +5 -0
  175. package/dist/src/tool-filter/types.js.map +1 -0
  176. package/dist/src/tool-filter/utils.d.ts +11 -0
  177. package/dist/src/tool-filter/utils.d.ts.map +1 -0
  178. package/dist/src/tool-filter/utils.js +13 -0
  179. package/dist/src/tool-filter/utils.js.map +1 -0
  180. package/dist/src/{composite-executor.d.ts → tooling/composite-executor.d.ts} +3 -3
  181. package/dist/src/tooling/composite-executor.d.ts.map +1 -0
  182. package/dist/src/{composite-executor.js → tooling/composite-executor.js} +1 -1
  183. package/dist/src/tooling/composite-executor.js.map +1 -0
  184. package/dist/src/{dag-executor.d.ts → tooling/dag-executor.d.ts} +1 -1
  185. package/dist/src/tooling/dag-executor.d.ts.map +1 -0
  186. package/dist/src/tooling/dag-executor.js.map +1 -0
  187. package/dist/src/{proxy-executor.d.ts → tooling/proxy-executor.d.ts} +2 -2
  188. package/dist/src/tooling/proxy-executor.d.ts.map +1 -0
  189. package/dist/src/{proxy-executor.js → tooling/proxy-executor.js} +8 -1
  190. package/dist/src/tooling/proxy-executor.js.map +1 -0
  191. package/dist/src/{tool-generator.d.ts → tooling/tool-generator.d.ts} +4 -3
  192. package/dist/src/tooling/tool-generator.d.ts.map +1 -0
  193. package/dist/src/{tool-generator.js → tooling/tool-generator.js} +23 -7
  194. package/dist/src/tooling/tool-generator.js.map +1 -0
  195. package/dist/src/{http-client-factory.d.ts → transport/http-client-factory.d.ts} +4 -1
  196. package/dist/src/transport/http-client-factory.d.ts.map +1 -0
  197. package/dist/src/{http-client-factory.js → transport/http-client-factory.js} +13 -3
  198. package/dist/src/transport/http-client-factory.js.map +1 -0
  199. package/dist/src/transport/http-transport-config.d.ts +6 -0
  200. package/dist/src/transport/http-transport-config.d.ts.map +1 -0
  201. package/dist/src/transport/http-transport-config.js +62 -0
  202. package/dist/src/transport/http-transport-config.js.map +1 -0
  203. package/dist/src/{http-transport.d.ts → transport/http-transport.d.ts} +72 -14
  204. package/dist/src/transport/http-transport.d.ts.map +1 -0
  205. package/dist/src/{http-transport.js → transport/http-transport.js} +1166 -493
  206. package/dist/src/transport/http-transport.js.map +1 -0
  207. package/dist/src/{interceptors.d.ts → transport/interceptors.d.ts} +6 -2
  208. package/dist/src/transport/interceptors.d.ts.map +1 -0
  209. package/dist/src/{interceptors.js → transport/interceptors.js} +72 -41
  210. package/dist/src/transport/interceptors.js.map +1 -0
  211. package/dist/src/types/http-transport.d.ts +25 -0
  212. package/dist/src/types/http-transport.d.ts.map +1 -1
  213. package/dist/src/types/profile.d.ts +13 -1
  214. package/dist/src/types/profile.d.ts.map +1 -1
  215. package/dist/src/validation/argument-normalizer.d.ts +6 -0
  216. package/dist/src/validation/argument-normalizer.d.ts.map +1 -0
  217. package/dist/src/validation/argument-normalizer.js +70 -0
  218. package/dist/src/validation/argument-normalizer.js.map +1 -0
  219. package/dist/src/validation/jsonrpc-validator.d.ts.map +1 -0
  220. package/dist/src/validation/jsonrpc-validator.js.map +1 -0
  221. package/dist/src/{schema-validator.d.ts → validation/schema-validator.d.ts} +2 -2
  222. package/dist/src/validation/schema-validator.d.ts.map +1 -0
  223. package/dist/src/validation/schema-validator.js.map +1 -0
  224. package/dist/src/validation/validation-utils.d.ts.map +1 -0
  225. package/dist/src/validation/validation-utils.js.map +1 -0
  226. package/package.json +9 -3
  227. package/profile-schema.json +63 -3
  228. package/profiles/gitlab/developer-profile-oauth.json +1520 -0
  229. package/profiles/gitlab/developer-profile-oauth.test.json +3432 -0
  230. package/profiles/gitlab/openapi.yaml +6891 -0
  231. package/profiles/n8n/openapi.yaml +2441 -0
  232. package/profiles/n8n/profile-optimized.json +965 -0
  233. package/profiles/n8n/profile-optimized.test.json +1078 -0
  234. package/profiles/n8n/profile.json +1033 -0
  235. package/profiles/n8n/profile.test.json +983 -0
  236. package/profiles/n8n-nodes/openapi.yaml +24 -0
  237. package/profiles/n8n-nodes/profile-nodes.json +44 -0
  238. package/profiles/n8n-nodes/profile-nodes.test.json +91 -0
  239. package/profiles/semgrep/openapi.yaml +4706 -0
  240. package/profiles/semgrep/profile.json +692 -0
  241. package/profiles/semgrep/profile.test.json +471 -0
  242. package/profiles/youtrack/openapi.json +16976 -0
  243. package/profiles/youtrack/profile.json +608 -0
  244. package/profiles/youtrack/profile.test.json +1926 -0
  245. package/dist/src/composite-executor.d.ts.map +0 -1
  246. package/dist/src/composite-executor.js.map +0 -1
  247. package/dist/src/constants.d.ts.map +0 -1
  248. package/dist/src/constants.js.map +0 -1
  249. package/dist/src/dag-executor.d.ts.map +0 -1
  250. package/dist/src/dag-executor.js.map +0 -1
  251. package/dist/src/errors.d.ts.map +0 -1
  252. package/dist/src/errors.js.map +0 -1
  253. package/dist/src/http-client-factory.d.ts.map +0 -1
  254. package/dist/src/http-client-factory.js.map +0 -1
  255. package/dist/src/http-transport.d.ts.map +0 -1
  256. package/dist/src/http-transport.js.map +0 -1
  257. package/dist/src/interceptors.d.ts.map +0 -1
  258. package/dist/src/interceptors.js.map +0 -1
  259. package/dist/src/jsonrpc-validator.d.ts.map +0 -1
  260. package/dist/src/jsonrpc-validator.js.map +0 -1
  261. package/dist/src/logger.d.ts.map +0 -1
  262. package/dist/src/logger.js.map +0 -1
  263. package/dist/src/mcp-server.d.ts.map +0 -1
  264. package/dist/src/mcp-server.js.map +0 -1
  265. package/dist/src/metrics.d.ts.map +0 -1
  266. package/dist/src/metrics.js.map +0 -1
  267. package/dist/src/naming-warnings.d.ts.map +0 -1
  268. package/dist/src/naming-warnings.js.map +0 -1
  269. package/dist/src/naming.d.ts.map +0 -1
  270. package/dist/src/naming.js.map +0 -1
  271. package/dist/src/oauth-provider.d.ts.map +0 -1
  272. package/dist/src/oauth-provider.js.map +0 -1
  273. package/dist/src/openapi-parser.d.ts.map +0 -1
  274. package/dist/src/openapi-parser.js.map +0 -1
  275. package/dist/src/profile-loader.d.ts.map +0 -1
  276. package/dist/src/profile-loader.js.map +0 -1
  277. package/dist/src/proxy-executor.d.ts.map +0 -1
  278. package/dist/src/proxy-executor.js.map +0 -1
  279. package/dist/src/schema-validator.d.ts.map +0 -1
  280. package/dist/src/schema-validator.js.map +0 -1
  281. package/dist/src/testing/fixtures.d.ts +0 -684
  282. package/dist/src/testing/fixtures.d.ts.map +0 -1
  283. package/dist/src/testing/fixtures.js +0 -528
  284. package/dist/src/testing/fixtures.js.map +0 -1
  285. package/dist/src/testing/mock-gitlab-server.d.ts +0 -43
  286. package/dist/src/testing/mock-gitlab-server.d.ts.map +0 -1
  287. package/dist/src/testing/mock-gitlab-server.js +0 -1026
  288. package/dist/src/testing/mock-gitlab-server.js.map +0 -1
  289. package/dist/src/testing/mock-semgrep-server.d.ts +0 -32
  290. package/dist/src/testing/mock-semgrep-server.d.ts.map +0 -1
  291. package/dist/src/testing/mock-semgrep-server.js +0 -213
  292. package/dist/src/testing/mock-semgrep-server.js.map +0 -1
  293. package/dist/src/testing/mock-youtrack-server.d.ts +0 -11
  294. package/dist/src/testing/mock-youtrack-server.d.ts.map +0 -1
  295. package/dist/src/testing/mock-youtrack-server.js +0 -152
  296. package/dist/src/testing/mock-youtrack-server.js.map +0 -1
  297. package/dist/src/tool-generator.d.ts.map +0 -1
  298. package/dist/src/tool-generator.js.map +0 -1
  299. package/dist/src/validation-utils.d.ts.map +0 -1
  300. package/dist/src/validation-utils.js.map +0 -1
  301. /package/dist/src/{naming-warnings.d.ts → core/naming-warnings.d.ts} +0 -0
  302. /package/dist/src/{naming-warnings.js → core/naming-warnings.js} +0 -0
  303. /package/dist/src/{naming.d.ts → core/naming.d.ts} +0 -0
  304. /package/dist/src/{naming.js → core/naming.js} +0 -0
  305. /package/dist/src/{dag-executor.js → tooling/dag-executor.js} +0 -0
  306. /package/dist/src/{jsonrpc-validator.d.ts → validation/jsonrpc-validator.d.ts} +0 -0
  307. /package/dist/src/{jsonrpc-validator.js → validation/jsonrpc-validator.js} +0 -0
  308. /package/dist/src/{schema-validator.js → validation/schema-validator.js} +0 -0
  309. /package/dist/src/{validation-utils.d.ts → validation/validation-utils.d.ts} +0 -0
  310. /package/dist/src/{validation-utils.js → validation/validation-utils.js} +0 -0
@@ -0,0 +1,2441 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: n8n Public API
4
+ description: n8n Public API
5
+ termsOfService: https://n8n.io/legal/#terms
6
+ contact:
7
+ email: hello@n8n.io
8
+ license:
9
+ name: Sustainable Use License
10
+ url: https://github.com/n8n-io/n8n/blob/master/LICENSE.md
11
+ version: 1.1.1
12
+ servers:
13
+ - url: /api/v1
14
+ security:
15
+ - ApiKeyAuth: []
16
+ tags:
17
+ - name: User
18
+ description: Operations about users
19
+ - name: Audit
20
+ description: Operations about security audit
21
+ - name: Execution
22
+ description: Operations about executions
23
+ - name: Workflow
24
+ description: Operations about workflows
25
+ - name: Credential
26
+ description: Operations about credentials
27
+ - name: Tags
28
+ description: Operations about tags
29
+ - name: SourceControl
30
+ description: Operations about source control
31
+ - name: Variables
32
+ description: Operations about variables
33
+ - name: Projects
34
+ description: Operations about projects
35
+ externalDocs:
36
+ description: n8n API documentation
37
+ url: https://docs.n8n.io/api/
38
+ paths:
39
+ /audit:
40
+ post:
41
+ x-eov-operation-id: generateAudit
42
+ x-eov-operation-handler: v1/handlers/audit/audit.handler
43
+ tags:
44
+ - Audit
45
+ summary: Generate an audit
46
+ description: Generate a security audit for your n8n instance.
47
+ requestBody:
48
+ required: false
49
+ content:
50
+ application/json:
51
+ schema:
52
+ type: object
53
+ properties:
54
+ additionalOptions:
55
+ type: object
56
+ properties:
57
+ daysAbandonedWorkflow:
58
+ type: integer
59
+ description: Days for a workflow to be considered abandoned if not executed
60
+ categories:
61
+ type: array
62
+ items:
63
+ type: string
64
+ enum:
65
+ - credentials
66
+ - database
67
+ - nodes
68
+ - filesystem
69
+ - instance
70
+ responses:
71
+ "200":
72
+ description: Operation successful.
73
+ content:
74
+ application/json:
75
+ schema:
76
+ $ref: "#/components/schemas/audit"
77
+ "401":
78
+ $ref: "#/components/responses/unauthorized"
79
+ "500":
80
+ description: Internal server error.
81
+ /credentials:
82
+ post:
83
+ x-eov-operation-id: createCredential
84
+ x-eov-operation-handler: v1/handlers/credentials/credentials.handler
85
+ tags:
86
+ - Credential
87
+ summary: Create a credential
88
+ description: Creates a credential that can be used by nodes of the specified type.
89
+ requestBody:
90
+ description: Credential to be created.
91
+ required: true
92
+ content:
93
+ application/json:
94
+ schema:
95
+ $ref: "#/components/schemas/credential"
96
+ responses:
97
+ "200":
98
+ description: Operation successful.
99
+ content:
100
+ application/json:
101
+ schema:
102
+ $ref: "#/components/schemas/create-credential-response"
103
+ "401":
104
+ $ref: "#/components/responses/unauthorized"
105
+ "415":
106
+ description: Unsupported media type.
107
+ /credentials/{id}:
108
+ patch:
109
+ x-eov-operation-id: updateCredential
110
+ x-eov-operation-handler: v1/handlers/credentials/credentials.handler
111
+ tags:
112
+ - Credential
113
+ summary: Update credential by ID
114
+ description: Updates an existing credential. You must be the owner of the credential.
115
+ operationId: updateCredential
116
+ parameters:
117
+ - name: id
118
+ in: path
119
+ description: The credential ID that needs to be updated
120
+ required: true
121
+ schema:
122
+ type: string
123
+ requestBody:
124
+ description: Credential data to update. All fields are optional.
125
+ required: true
126
+ content:
127
+ application/json:
128
+ schema:
129
+ $ref: "#/components/schemas/update-credential-request"
130
+ responses:
131
+ "200":
132
+ description: Operation successful.
133
+ content:
134
+ application/json:
135
+ schema:
136
+ $ref: "#/components/schemas/create-credential-response"
137
+ "400":
138
+ description: Bad request - invalid credential type or data.
139
+ "401":
140
+ $ref: "#/components/responses/unauthorized"
141
+ "404":
142
+ $ref: "#/components/responses/notFound"
143
+ delete:
144
+ x-eov-operation-id: deleteCredential
145
+ x-eov-operation-handler: v1/handlers/credentials/credentials.handler
146
+ tags:
147
+ - Credential
148
+ summary: Delete credential by ID
149
+ description: Deletes a credential from your instance. You must be the owner of
150
+ the credentials
151
+ operationId: deleteCredential
152
+ parameters:
153
+ - name: id
154
+ in: path
155
+ description: The credential ID that needs to be deleted
156
+ required: true
157
+ schema:
158
+ type: string
159
+ responses:
160
+ "200":
161
+ description: Operation successful.
162
+ content:
163
+ application/json:
164
+ schema:
165
+ $ref: "#/components/schemas/credential"
166
+ "401":
167
+ $ref: "#/components/responses/unauthorized"
168
+ "404":
169
+ $ref: "#/components/responses/notFound"
170
+ /credentials/schema/{credentialTypeName}:
171
+ get:
172
+ x-eov-operation-id: getCredentialType
173
+ x-eov-operation-handler: v1/handlers/credentials/credentials.handler
174
+ tags:
175
+ - Credential
176
+ summary: Show credential data schema
177
+ parameters:
178
+ - name: credentialTypeName
179
+ in: path
180
+ description: The credential type name that you want to get the schema for
181
+ required: true
182
+ schema:
183
+ type: string
184
+ responses:
185
+ "200":
186
+ description: Operation successful.
187
+ content:
188
+ application/json:
189
+ schema:
190
+ type: object
191
+ examples:
192
+ freshdeskApi:
193
+ value:
194
+ additionalProperties: false
195
+ type: object
196
+ properties:
197
+ apiKey:
198
+ type: string
199
+ domain:
200
+ type: string
201
+ required:
202
+ - apiKey
203
+ - domain
204
+ slackOAuth2Api:
205
+ value:
206
+ additionalProperties: false
207
+ type: object
208
+ properties:
209
+ clientId:
210
+ type: string
211
+ clientSecret:
212
+ type: string
213
+ required:
214
+ - clientId
215
+ - clientSecret
216
+ "401":
217
+ $ref: "#/components/responses/unauthorized"
218
+ "404":
219
+ $ref: "#/components/responses/notFound"
220
+ /credentials/{id}/transfer:
221
+ put:
222
+ x-eov-operation-id: transferCredential
223
+ x-eov-operation-handler: v1/handlers/credentials/credentials.handler
224
+ tags:
225
+ - Credential
226
+ summary: Transfer a credential to another project.
227
+ description: Transfer a credential to another project.
228
+ parameters:
229
+ - $ref: "#/components/parameters/credentialId"
230
+ requestBody:
231
+ description: Destination project for the credential transfer.
232
+ content:
233
+ application/json:
234
+ schema:
235
+ type: object
236
+ properties:
237
+ destinationProjectId:
238
+ type: string
239
+ description: The ID of the project to transfer the credential to.
240
+ required:
241
+ - destinationProjectId
242
+ required: true
243
+ responses:
244
+ "200":
245
+ description: Operation successful.
246
+ "400":
247
+ $ref: "#/components/responses/badRequest"
248
+ "401":
249
+ $ref: "#/components/responses/unauthorized"
250
+ "404":
251
+ $ref: "#/components/responses/notFound"
252
+ /executions:
253
+ get:
254
+ x-eov-operation-id: getExecutions
255
+ x-eov-operation-handler: v1/handlers/executions/executions.handler
256
+ tags:
257
+ - Execution
258
+ summary: Retrieve all executions
259
+ description: Retrieve all executions from your instance.
260
+ parameters:
261
+ - $ref: "#/components/parameters/includeData"
262
+ - name: status
263
+ in: query
264
+ description: Status to filter the executions by.
265
+ required: false
266
+ schema:
267
+ type: string
268
+ enum:
269
+ - canceled
270
+ - error
271
+ - running
272
+ - success
273
+ - waiting
274
+ - name: workflowId
275
+ in: query
276
+ description: Workflow to filter the executions by.
277
+ required: false
278
+ schema:
279
+ type: string
280
+ example: "1000"
281
+ - name: projectId
282
+ in: query
283
+ required: false
284
+ explode: false
285
+ allowReserved: true
286
+ schema:
287
+ type: string
288
+ example: VmwOO9HeTEj20kxM
289
+ - $ref: "#/components/parameters/limit"
290
+ - $ref: "#/components/parameters/cursor"
291
+ responses:
292
+ "200":
293
+ description: Operation successful.
294
+ content:
295
+ application/json:
296
+ schema:
297
+ $ref: "#/components/schemas/executionList"
298
+ "401":
299
+ $ref: "#/components/responses/unauthorized"
300
+ "404":
301
+ $ref: "#/components/responses/notFound"
302
+ /executions/{id}:
303
+ get:
304
+ x-eov-operation-id: getExecution
305
+ x-eov-operation-handler: v1/handlers/executions/executions.handler
306
+ tags:
307
+ - Execution
308
+ summary: Retrieve an execution
309
+ description: Retrieve an execution from your instance.
310
+ parameters:
311
+ - $ref: "#/components/parameters/executionId"
312
+ - $ref: "#/components/parameters/includeData"
313
+ responses:
314
+ "200":
315
+ description: Operation successful.
316
+ content:
317
+ application/json:
318
+ schema:
319
+ $ref: "#/components/schemas/execution"
320
+ "401":
321
+ $ref: "#/components/responses/unauthorized"
322
+ "404":
323
+ $ref: "#/components/responses/notFound"
324
+ delete:
325
+ x-eov-operation-id: deleteExecution
326
+ x-eov-operation-handler: v1/handlers/executions/executions.handler
327
+ tags:
328
+ - Execution
329
+ summary: Delete an execution
330
+ description: Deletes an execution from your instance.
331
+ parameters:
332
+ - $ref: "#/components/parameters/executionId"
333
+ responses:
334
+ "200":
335
+ description: Operation successful.
336
+ content:
337
+ application/json:
338
+ schema:
339
+ $ref: "#/components/schemas/execution"
340
+ "401":
341
+ $ref: "#/components/responses/unauthorized"
342
+ "404":
343
+ $ref: "#/components/responses/notFound"
344
+ /executions/{id}/retry:
345
+ post:
346
+ x-eov-operation-id: retryExecution
347
+ x-eov-operation-handler: v1/handlers/executions/executions.handler
348
+ tags:
349
+ - Execution
350
+ summary: Retry an execution
351
+ description: Retry an execution from your instance.
352
+ parameters:
353
+ - $ref: "#/components/parameters/executionId"
354
+ requestBody:
355
+ required: false
356
+ content:
357
+ application/json:
358
+ schema:
359
+ type: object
360
+ properties:
361
+ loadWorkflow:
362
+ type: boolean
363
+ description: Whether to load the currently saved workflow to execute instead of
364
+ the one saved at the time of the execution. If set to true,
365
+ it will retry with the latest version of the workflow.
366
+ responses:
367
+ "200":
368
+ description: Operation successful.
369
+ content:
370
+ application/json:
371
+ schema:
372
+ $ref: "#/components/schemas/execution"
373
+ "401":
374
+ $ref: "#/components/responses/unauthorized"
375
+ "404":
376
+ $ref: "#/components/responses/notFound"
377
+ "409":
378
+ $ref: "#/components/responses/conflict"
379
+ /tags:
380
+ post:
381
+ x-eov-operation-id: createTag
382
+ x-eov-operation-handler: v1/handlers/tags/tags.handler
383
+ tags:
384
+ - Tags
385
+ summary: Create a tag
386
+ description: Create a tag in your instance.
387
+ requestBody:
388
+ description: Created tag object.
389
+ content:
390
+ application/json:
391
+ schema:
392
+ $ref: "#/components/schemas/tag"
393
+ required: true
394
+ responses:
395
+ "201":
396
+ description: A tag object
397
+ content:
398
+ application/json:
399
+ schema:
400
+ $ref: "#/components/schemas/tag"
401
+ "400":
402
+ $ref: "#/components/responses/badRequest"
403
+ "401":
404
+ $ref: "#/components/responses/unauthorized"
405
+ "409":
406
+ $ref: "#/components/responses/conflict"
407
+ get:
408
+ x-eov-operation-id: getTags
409
+ x-eov-operation-handler: v1/handlers/tags/tags.handler
410
+ tags:
411
+ - Tags
412
+ summary: Retrieve all tags
413
+ description: Retrieve all tags from your instance.
414
+ parameters:
415
+ - $ref: "#/components/parameters/limit"
416
+ - $ref: "#/components/parameters/cursor"
417
+ responses:
418
+ "200":
419
+ description: Operation successful.
420
+ content:
421
+ application/json:
422
+ schema:
423
+ $ref: "#/components/schemas/tagList"
424
+ "401":
425
+ $ref: "#/components/responses/unauthorized"
426
+ /tags/{id}:
427
+ get:
428
+ x-eov-operation-id: getTag
429
+ x-eov-operation-handler: v1/handlers/tags/tags.handler
430
+ tags:
431
+ - Tags
432
+ summary: Retrieves a tag
433
+ description: Retrieves a tag.
434
+ parameters:
435
+ - $ref: "#/components/parameters/tagId"
436
+ responses:
437
+ "200":
438
+ description: Operation successful.
439
+ content:
440
+ application/json:
441
+ schema:
442
+ $ref: "#/components/schemas/tag"
443
+ "401":
444
+ $ref: "#/components/responses/unauthorized"
445
+ "404":
446
+ $ref: "#/components/responses/notFound"
447
+ delete:
448
+ x-eov-operation-id: deleteTag
449
+ x-eov-operation-handler: v1/handlers/tags/tags.handler
450
+ tags:
451
+ - Tags
452
+ summary: Delete a tag
453
+ description: Deletes a tag.
454
+ parameters:
455
+ - $ref: "#/components/parameters/tagId"
456
+ responses:
457
+ "200":
458
+ description: Operation successful.
459
+ content:
460
+ application/json:
461
+ schema:
462
+ $ref: "#/components/schemas/tag"
463
+ "401":
464
+ $ref: "#/components/responses/unauthorized"
465
+ "403":
466
+ $ref: "#/components/responses/forbidden"
467
+ "404":
468
+ $ref: "#/components/responses/notFound"
469
+ put:
470
+ x-eov-operation-id: updateTag
471
+ x-eov-operation-handler: v1/handlers/tags/tags.handler
472
+ tags:
473
+ - Tags
474
+ summary: Update a tag
475
+ description: Update a tag.
476
+ parameters:
477
+ - $ref: "#/components/parameters/tagId"
478
+ requestBody:
479
+ description: Updated tag object.
480
+ content:
481
+ application/json:
482
+ schema:
483
+ $ref: "#/components/schemas/tag"
484
+ required: true
485
+ responses:
486
+ "200":
487
+ description: Tag object
488
+ content:
489
+ application/json:
490
+ schema:
491
+ $ref: "#/components/schemas/tag"
492
+ "400":
493
+ $ref: "#/components/responses/badRequest"
494
+ "401":
495
+ $ref: "#/components/responses/unauthorized"
496
+ "404":
497
+ $ref: "#/components/responses/notFound"
498
+ "409":
499
+ $ref: "#/components/responses/conflict"
500
+ /workflows:
501
+ post:
502
+ x-eov-operation-id: createWorkflow
503
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
504
+ tags:
505
+ - Workflow
506
+ summary: Create a workflow
507
+ description: Create a workflow in your instance.
508
+ requestBody:
509
+ description: Created workflow object.
510
+ content:
511
+ application/json:
512
+ schema:
513
+ $ref: "#/components/schemas/workflow"
514
+ required: true
515
+ responses:
516
+ "200":
517
+ description: A workflow object
518
+ content:
519
+ application/json:
520
+ schema:
521
+ $ref: "#/components/schemas/workflow"
522
+ "400":
523
+ $ref: "#/components/responses/badRequest"
524
+ "401":
525
+ $ref: "#/components/responses/unauthorized"
526
+ get:
527
+ x-eov-operation-id: getWorkflows
528
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
529
+ tags:
530
+ - Workflow
531
+ summary: Retrieve all workflows
532
+ description: Retrieve all workflows from your instance.
533
+ parameters:
534
+ - name: active
535
+ in: query
536
+ schema:
537
+ type: boolean
538
+ example: true
539
+ - name: tags
540
+ in: query
541
+ required: false
542
+ explode: false
543
+ allowReserved: true
544
+ schema:
545
+ type: string
546
+ example: test,production
547
+ - name: name
548
+ in: query
549
+ required: false
550
+ explode: false
551
+ allowReserved: true
552
+ schema:
553
+ type: string
554
+ example: My Workflow
555
+ - name: projectId
556
+ in: query
557
+ required: false
558
+ explode: false
559
+ allowReserved: true
560
+ schema:
561
+ type: string
562
+ example: VmwOO9HeTEj20kxM
563
+ - name: excludePinnedData
564
+ in: query
565
+ required: false
566
+ description: Set this to avoid retrieving pinned data
567
+ schema:
568
+ type: boolean
569
+ example: true
570
+ - $ref: "#/components/parameters/limit"
571
+ - $ref: "#/components/parameters/cursor"
572
+ responses:
573
+ "200":
574
+ description: Operation successful.
575
+ content:
576
+ application/json:
577
+ schema:
578
+ $ref: "#/components/schemas/workflowList"
579
+ "401":
580
+ $ref: "#/components/responses/unauthorized"
581
+ /workflows/{id}:
582
+ get:
583
+ x-eov-operation-id: getWorkflow
584
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
585
+ tags:
586
+ - Workflow
587
+ summary: Retrieve a workflow
588
+ description: Retrieve a workflow.
589
+ parameters:
590
+ - name: excludePinnedData
591
+ in: query
592
+ required: false
593
+ description: Set this to avoid retrieving pinned data
594
+ schema:
595
+ type: boolean
596
+ example: true
597
+ - $ref: "#/components/parameters/workflowId"
598
+ responses:
599
+ "200":
600
+ description: Operation successful.
601
+ content:
602
+ application/json:
603
+ schema:
604
+ $ref: "#/components/schemas/workflow"
605
+ "401":
606
+ $ref: "#/components/responses/unauthorized"
607
+ "404":
608
+ $ref: "#/components/responses/notFound"
609
+ delete:
610
+ x-eov-operation-id: deleteWorkflow
611
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
612
+ tags:
613
+ - Workflow
614
+ summary: Delete a workflow
615
+ description: Delete a workflow.
616
+ parameters:
617
+ - $ref: "#/components/parameters/workflowId"
618
+ responses:
619
+ "200":
620
+ description: Operation successful.
621
+ content:
622
+ application/json:
623
+ schema:
624
+ $ref: "#/components/schemas/workflow"
625
+ "401":
626
+ $ref: "#/components/responses/unauthorized"
627
+ "404":
628
+ $ref: "#/components/responses/notFound"
629
+ put:
630
+ x-eov-operation-id: updateWorkflow
631
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
632
+ tags:
633
+ - Workflow
634
+ summary: Update a workflow
635
+ description: Update a workflow. If the workflow is published, the updated
636
+ version will be automatically re-published.
637
+ parameters:
638
+ - $ref: "#/components/parameters/workflowId"
639
+ requestBody:
640
+ description: Updated workflow object.
641
+ content:
642
+ application/json:
643
+ schema:
644
+ $ref: "#/components/schemas/workflow"
645
+ required: true
646
+ responses:
647
+ "200":
648
+ description: Workflow object
649
+ content:
650
+ application/json:
651
+ schema:
652
+ $ref: "#/components/schemas/workflow"
653
+ "400":
654
+ $ref: "#/components/responses/badRequest"
655
+ "401":
656
+ $ref: "#/components/responses/unauthorized"
657
+ "404":
658
+ $ref: "#/components/responses/notFound"
659
+ /workflows/{id}/{versionId}:
660
+ get:
661
+ x-eov-operation-id: getWorkflowVersion
662
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
663
+ tags:
664
+ - Workflow
665
+ summary: Retrieves a specific version of a workflow
666
+ description: Retrieves a specific version of a workflow from workflow history.
667
+ parameters:
668
+ - $ref: "#/components/parameters/workflowId"
669
+ - name: versionId
670
+ in: path
671
+ required: true
672
+ description: The version ID to retrieve
673
+ schema:
674
+ type: string
675
+ example: abc123-def456-ghi789
676
+ responses:
677
+ "200":
678
+ description: Operation successful.
679
+ content:
680
+ application/json:
681
+ schema:
682
+ $ref: "#/components/schemas/workflowVersion"
683
+ "401":
684
+ $ref: "#/components/responses/unauthorized"
685
+ "404":
686
+ $ref: "#/components/responses/notFound"
687
+ /workflows/{id}/activate:
688
+ post:
689
+ x-eov-operation-id: activateWorkflow
690
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
691
+ tags:
692
+ - Workflow
693
+ summary: Publish a workflow
694
+ description: Publish a workflow. In n8n v1, this action was termed activating a
695
+ workflow.
696
+ parameters:
697
+ - $ref: "#/components/parameters/workflowId"
698
+ requestBody:
699
+ description: Optional parameters to publish the workflow.
700
+ content:
701
+ application/json:
702
+ schema:
703
+ type: object
704
+ properties:
705
+ versionId:
706
+ type: string
707
+ description: The specific version ID to activate or publish. If not provided,
708
+ the latest version is used.
709
+ name:
710
+ type: string
711
+ description: Optional name for the workflow version during activation.
712
+ description:
713
+ type: string
714
+ description: Optional description for the workflow version during activation.
715
+ required: false
716
+ responses:
717
+ "200":
718
+ description: Workflow object
719
+ content:
720
+ application/json:
721
+ schema:
722
+ $ref: "#/components/schemas/workflow"
723
+ "400":
724
+ $ref: "#/components/responses/badRequest"
725
+ "401":
726
+ $ref: "#/components/responses/unauthorized"
727
+ "404":
728
+ $ref: "#/components/responses/notFound"
729
+ /workflows/{id}/deactivate:
730
+ post:
731
+ x-eov-operation-id: deactivateWorkflow
732
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
733
+ tags:
734
+ - Workflow
735
+ summary: Deactivate a workflow
736
+ description: Deactivate a workflow.
737
+ parameters:
738
+ - $ref: "#/components/parameters/workflowId"
739
+ responses:
740
+ "200":
741
+ description: Workflow object
742
+ content:
743
+ application/json:
744
+ schema:
745
+ $ref: "#/components/schemas/workflow"
746
+ "401":
747
+ $ref: "#/components/responses/unauthorized"
748
+ "404":
749
+ $ref: "#/components/responses/notFound"
750
+ /workflows/{id}/transfer:
751
+ put:
752
+ x-eov-operation-id: transferWorkflow
753
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
754
+ tags:
755
+ - Workflow
756
+ summary: Transfer a workflow to another project
757
+ description: Transfer a workflow to another project
758
+ parameters:
759
+ - $ref: "#/components/parameters/workflowId"
760
+ requestBody:
761
+ description: Destination project information for the workflow transfer.
762
+ content:
763
+ application/json:
764
+ schema:
765
+ type: object
766
+ properties:
767
+ destinationProjectId:
768
+ type: string
769
+ description: The ID of the project to transfer the workflow to.
770
+ required:
771
+ - destinationProjectId
772
+ required: true
773
+ responses:
774
+ "200":
775
+ description: Operation successful.
776
+ "400":
777
+ $ref: "#/components/responses/badRequest"
778
+ "401":
779
+ $ref: "#/components/responses/unauthorized"
780
+ "404":
781
+ $ref: "#/components/responses/notFound"
782
+ /workflows/{id}/tags:
783
+ get:
784
+ x-eov-operation-id: getWorkflowTags
785
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
786
+ tags:
787
+ - Workflow
788
+ summary: Get workflow tags
789
+ description: Get workflow tags.
790
+ parameters:
791
+ - $ref: "#/components/parameters/workflowId"
792
+ responses:
793
+ "200":
794
+ description: List of tags
795
+ content:
796
+ application/json:
797
+ schema:
798
+ $ref: "#/components/schemas/workflowTags"
799
+ "400":
800
+ $ref: "#/components/responses/badRequest"
801
+ "401":
802
+ $ref: "#/components/responses/unauthorized"
803
+ "404":
804
+ $ref: "#/components/responses/notFound"
805
+ put:
806
+ x-eov-operation-id: updateWorkflowTags
807
+ x-eov-operation-handler: v1/handlers/workflows/workflows.handler
808
+ tags:
809
+ - Workflow
810
+ summary: Update tags of a workflow
811
+ description: Update tags of a workflow.
812
+ parameters:
813
+ - $ref: "#/components/parameters/workflowId"
814
+ requestBody:
815
+ description: List of tags
816
+ content:
817
+ application/json:
818
+ schema:
819
+ $ref: "#/components/schemas/tagIds"
820
+ required: true
821
+ responses:
822
+ "200":
823
+ description: List of tags after add the tag
824
+ content:
825
+ application/json:
826
+ schema:
827
+ $ref: "#/components/schemas/workflowTags"
828
+ "400":
829
+ $ref: "#/components/responses/badRequest"
830
+ "401":
831
+ $ref: "#/components/responses/unauthorized"
832
+ "404":
833
+ $ref: "#/components/responses/notFound"
834
+ /users:
835
+ get:
836
+ x-eov-operation-id: getUsers
837
+ x-eov-operation-handler: v1/handlers/users/users.handler.ee
838
+ tags:
839
+ - User
840
+ summary: Retrieve all users
841
+ description: Retrieve all users from your instance. Only available for the
842
+ instance owner.
843
+ parameters:
844
+ - $ref: "#/components/parameters/limit"
845
+ - $ref: "#/components/parameters/cursor"
846
+ - $ref: "#/components/parameters/includeRole"
847
+ - name: projectId
848
+ in: query
849
+ required: false
850
+ explode: false
851
+ allowReserved: true
852
+ schema:
853
+ type: string
854
+ example: VmwOO9HeTEj20kxM
855
+ responses:
856
+ "200":
857
+ description: Operation successful.
858
+ content:
859
+ application/json:
860
+ schema:
861
+ $ref: "#/components/schemas/userList"
862
+ "401":
863
+ $ref: "#/components/responses/unauthorized"
864
+ post:
865
+ x-eov-operation-id: createUser
866
+ x-eov-operation-handler: v1/handlers/users/users.handler.ee
867
+ tags:
868
+ - User
869
+ summary: Create multiple users
870
+ description: Create one or more users.
871
+ requestBody:
872
+ description: Array of users to be created.
873
+ required: true
874
+ content:
875
+ application/json:
876
+ schema:
877
+ type: array
878
+ items:
879
+ type: object
880
+ properties:
881
+ email:
882
+ type: string
883
+ format: email
884
+ role:
885
+ type: string
886
+ example: global:member
887
+ required:
888
+ - email
889
+ responses:
890
+ "200":
891
+ description: Operation successful.
892
+ content:
893
+ application/json:
894
+ schema:
895
+ type: object
896
+ properties:
897
+ user:
898
+ type: object
899
+ properties:
900
+ id:
901
+ type: string
902
+ email:
903
+ type: string
904
+ inviteAcceptUrl:
905
+ type: string
906
+ emailSent:
907
+ type: boolean
908
+ error:
909
+ type: string
910
+ "401":
911
+ $ref: "#/components/responses/unauthorized"
912
+ "403":
913
+ $ref: "#/components/responses/forbidden"
914
+ /users/{id}:
915
+ get:
916
+ x-eov-operation-id: getUser
917
+ x-eov-operation-handler: v1/handlers/users/users.handler.ee
918
+ tags:
919
+ - User
920
+ summary: Get user by ID/Email
921
+ description: Retrieve a user from your instance. Only available for the instance
922
+ owner.
923
+ parameters:
924
+ - $ref: "#/components/parameters/userIdentifier"
925
+ - $ref: "#/components/parameters/includeRole"
926
+ responses:
927
+ "200":
928
+ description: Operation successful.
929
+ content:
930
+ application/json:
931
+ schema:
932
+ $ref: "#/components/schemas/user"
933
+ "401":
934
+ $ref: "#/components/responses/unauthorized"
935
+ delete:
936
+ x-eov-operation-id: deleteUser
937
+ x-eov-operation-handler: v1/handlers/users/users.handler.ee
938
+ tags:
939
+ - User
940
+ summary: Delete a user
941
+ description: Delete a user from your instance.
942
+ parameters:
943
+ - $ref: "#/components/parameters/userIdentifier"
944
+ responses:
945
+ "204":
946
+ description: Operation successful.
947
+ "401":
948
+ $ref: "#/components/responses/unauthorized"
949
+ "403":
950
+ $ref: "#/components/responses/forbidden"
951
+ "404":
952
+ $ref: "#/components/responses/notFound"
953
+ /users/{id}/role:
954
+ patch:
955
+ x-eov-operation-id: changeRole
956
+ x-eov-operation-handler: v1/handlers/users/users.handler.ee
957
+ tags:
958
+ - User
959
+ summary: Change a user's global role
960
+ description: Change a user's global role
961
+ parameters:
962
+ - $ref: "#/components/parameters/userIdentifier"
963
+ requestBody:
964
+ description: New role for the user
965
+ required: true
966
+ content:
967
+ application/json:
968
+ schema:
969
+ type: object
970
+ properties:
971
+ newRoleName:
972
+ type: string
973
+ example: global:member
974
+ required:
975
+ - newRoleName
976
+ responses:
977
+ "200":
978
+ description: Operation successful.
979
+ "401":
980
+ $ref: "#/components/responses/unauthorized"
981
+ "403":
982
+ $ref: "#/components/responses/forbidden"
983
+ "404":
984
+ $ref: "#/components/responses/notFound"
985
+ /source-control/pull:
986
+ post:
987
+ x-eov-operation-id: pull
988
+ x-eov-operation-handler: v1/handlers/source-control/source-control.handler
989
+ tags:
990
+ - SourceControl
991
+ summary: Pull changes from the remote repository
992
+ description: Requires the Source Control feature to be licensed and connected to
993
+ a repository.
994
+ requestBody:
995
+ description: Pull options
996
+ required: true
997
+ content:
998
+ application/json:
999
+ schema:
1000
+ $ref: "#/components/schemas/pull"
1001
+ responses:
1002
+ "200":
1003
+ description: Import result
1004
+ content:
1005
+ application/json:
1006
+ schema:
1007
+ $ref: "#/components/schemas/importResult"
1008
+ "400":
1009
+ $ref: "#/components/responses/badRequest"
1010
+ "409":
1011
+ $ref: "#/components/responses/conflict"
1012
+ /variables:
1013
+ post:
1014
+ x-eov-operation-id: createVariable
1015
+ x-eov-operation-handler: v1/handlers/variables/variables.handler
1016
+ tags:
1017
+ - Variables
1018
+ summary: Create a variable
1019
+ description: Create a variable in your instance.
1020
+ requestBody:
1021
+ description: Payload for variable to create.
1022
+ content:
1023
+ application/json:
1024
+ schema:
1025
+ $ref: "#/components/schemas/variable.create"
1026
+ required: true
1027
+ responses:
1028
+ "201":
1029
+ description: Operation successful.
1030
+ "400":
1031
+ $ref: "#/components/responses/badRequest"
1032
+ "401":
1033
+ $ref: "#/components/responses/unauthorized"
1034
+ get:
1035
+ x-eov-operation-id: getVariables
1036
+ x-eov-operation-handler: v1/handlers/variables/variables.handler
1037
+ tags:
1038
+ - Variables
1039
+ summary: Retrieve variables
1040
+ description: Retrieve variables from your instance.
1041
+ parameters:
1042
+ - $ref: "#/components/parameters/limit"
1043
+ - $ref: "#/components/parameters/cursor"
1044
+ - name: projectId
1045
+ in: query
1046
+ required: false
1047
+ explode: false
1048
+ allowReserved: true
1049
+ schema:
1050
+ type: string
1051
+ example: VmwOO9HeTEj20kxM
1052
+ - name: state
1053
+ in: query
1054
+ required: false
1055
+ schema:
1056
+ type: string
1057
+ enum:
1058
+ - empty
1059
+ responses:
1060
+ "200":
1061
+ description: Operation successful.
1062
+ content:
1063
+ application/json:
1064
+ schema:
1065
+ $ref: "#/components/schemas/variableList"
1066
+ "401":
1067
+ $ref: "#/components/responses/unauthorized"
1068
+ /variables/{id}:
1069
+ delete:
1070
+ x-eov-operation-id: deleteVariable
1071
+ x-eov-operation-handler: v1/handlers/variables/variables.handler
1072
+ tags:
1073
+ - Variables
1074
+ summary: Delete a variable
1075
+ description: Delete a variable from your instance.
1076
+ parameters:
1077
+ - $ref: "#/components/parameters/variableId"
1078
+ responses:
1079
+ "204":
1080
+ description: Operation successful.
1081
+ "401":
1082
+ $ref: "#/components/responses/unauthorized"
1083
+ "404":
1084
+ $ref: "#/components/responses/notFound"
1085
+ put:
1086
+ x-eov-operation-id: updateVariable
1087
+ x-eov-operation-handler: v1/handlers/variables/variables.handler
1088
+ tags:
1089
+ - Variables
1090
+ summary: Update a variable
1091
+ description: Update a variable from your instance.
1092
+ parameters:
1093
+ - $ref: "#/components/parameters/variableId"
1094
+ requestBody:
1095
+ description: Payload for variable to update.
1096
+ content:
1097
+ application/json:
1098
+ schema:
1099
+ $ref: "#/components/schemas/variable.create"
1100
+ required: true
1101
+ responses:
1102
+ "204":
1103
+ description: Operation successful.
1104
+ "400":
1105
+ $ref: "#/components/responses/badRequest"
1106
+ "401":
1107
+ $ref: "#/components/responses/unauthorized"
1108
+ "403":
1109
+ $ref: "#/components/responses/forbidden"
1110
+ "404":
1111
+ $ref: "#/components/responses/notFound"
1112
+ /projects:
1113
+ post:
1114
+ x-eov-operation-id: createProject
1115
+ x-eov-operation-handler: v1/handlers/projects/projects.handler
1116
+ tags:
1117
+ - Projects
1118
+ summary: Create a project
1119
+ description: Create a project on your instance.
1120
+ requestBody:
1121
+ description: Payload for project to create.
1122
+ content:
1123
+ application/json:
1124
+ schema:
1125
+ $ref: "#/components/schemas/project"
1126
+ required: true
1127
+ responses:
1128
+ "201":
1129
+ description: Operation successful.
1130
+ "400":
1131
+ $ref: "#/components/responses/badRequest"
1132
+ "401":
1133
+ $ref: "#/components/responses/unauthorized"
1134
+ get:
1135
+ x-eov-operation-id: getProjects
1136
+ x-eov-operation-handler: v1/handlers/projects/projects.handler
1137
+ tags:
1138
+ - Projects
1139
+ summary: Retrieve projects
1140
+ description: Retrieve projects from your instance.
1141
+ parameters:
1142
+ - $ref: "#/components/parameters/limit"
1143
+ - $ref: "#/components/parameters/cursor"
1144
+ responses:
1145
+ "200":
1146
+ description: Operation successful.
1147
+ content:
1148
+ application/json:
1149
+ schema:
1150
+ $ref: "#/components/schemas/projectList"
1151
+ "401":
1152
+ $ref: "#/components/responses/unauthorized"
1153
+ /projects/{projectId}:
1154
+ delete:
1155
+ x-eov-operation-id: deleteProject
1156
+ x-eov-operation-handler: v1/handlers/projects/projects.handler
1157
+ tags:
1158
+ - Projects
1159
+ summary: Delete a project
1160
+ description: Delete a project from your instance.
1161
+ parameters:
1162
+ - in: path
1163
+ name: projectId
1164
+ description: The ID of the project.
1165
+ required: true
1166
+ schema:
1167
+ type: string
1168
+ responses:
1169
+ "204":
1170
+ description: Operation successful.
1171
+ "401":
1172
+ $ref: "#/components/responses/unauthorized"
1173
+ "403":
1174
+ $ref: "#/components/responses/forbidden"
1175
+ "404":
1176
+ $ref: "#/components/responses/notFound"
1177
+ put:
1178
+ x-eov-operation-id: updateProject
1179
+ x-eov-operation-handler: v1/handlers/projects/projects.handler
1180
+ tags:
1181
+ - Projects
1182
+ summary: Update a project
1183
+ description: Update a project on your instance.
1184
+ parameters:
1185
+ - in: path
1186
+ name: projectId
1187
+ description: The ID of the project.
1188
+ required: true
1189
+ schema:
1190
+ type: string
1191
+ requestBody:
1192
+ description: Updated project object.
1193
+ content:
1194
+ application/json:
1195
+ schema:
1196
+ $ref: "#/components/schemas/project"
1197
+ required: true
1198
+ responses:
1199
+ "204":
1200
+ description: Operation successful.
1201
+ "400":
1202
+ $ref: "#/components/responses/badRequest"
1203
+ "401":
1204
+ $ref: "#/components/responses/unauthorized"
1205
+ "403":
1206
+ $ref: "#/components/responses/forbidden"
1207
+ "404":
1208
+ $ref: "#/components/responses/notFound"
1209
+ /projects/{projectId}/users:
1210
+ post:
1211
+ x-eov-operation-id: addUsersToProject
1212
+ x-eov-operation-handler: v1/handlers/projects/projects.handler
1213
+ tags:
1214
+ - Projects
1215
+ summary: Add one or more users to a project
1216
+ description: Add one or more users to a project on your instance.
1217
+ parameters:
1218
+ - name: projectId
1219
+ in: path
1220
+ description: The ID of the project.
1221
+ required: true
1222
+ schema:
1223
+ type: string
1224
+ requestBody:
1225
+ description: Payload containing an array of one or more users to add to the project.
1226
+ content:
1227
+ application/json:
1228
+ schema:
1229
+ type: object
1230
+ properties:
1231
+ relations:
1232
+ type: array
1233
+ description: A list of userIds and roles to add to the project.
1234
+ items:
1235
+ type: object
1236
+ properties:
1237
+ userId:
1238
+ type: string
1239
+ description: The unique identifier of the user.
1240
+ example: 91765f0d-3b29-45df-adb9-35b23937eb92
1241
+ role:
1242
+ type: string
1243
+ description: The role assigned to the user in the project.
1244
+ example: project:viewer
1245
+ required:
1246
+ - userId
1247
+ - role
1248
+ required:
1249
+ - relations
1250
+ responses:
1251
+ "201":
1252
+ description: Operation successful.
1253
+ "401":
1254
+ $ref: "#/components/responses/unauthorized"
1255
+ "403":
1256
+ $ref: "#/components/responses/forbidden"
1257
+ "404":
1258
+ $ref: "#/components/responses/notFound"
1259
+ /projects/{projectId}/users/{userId}:
1260
+ delete:
1261
+ x-eov-operation-id: deleteUserFromProject
1262
+ x-eov-operation-handler: v1/handlers/projects/projects.handler
1263
+ tags:
1264
+ - Projects
1265
+ summary: Delete a user from a project
1266
+ description: Delete a user from a project on your instance.
1267
+ parameters:
1268
+ - name: projectId
1269
+ in: path
1270
+ description: The ID of the project.
1271
+ required: true
1272
+ schema:
1273
+ type: string
1274
+ - name: userId
1275
+ in: path
1276
+ description: The ID of the user.
1277
+ required: true
1278
+ schema:
1279
+ type: string
1280
+ responses:
1281
+ "204":
1282
+ description: Operation successful.
1283
+ "401":
1284
+ $ref: "#/components/responses/unauthorized"
1285
+ "403":
1286
+ $ref: "#/components/responses/forbidden"
1287
+ "404":
1288
+ $ref: "#/components/responses/notFound"
1289
+ patch:
1290
+ x-eov-operation-id: changeUserRoleInProject
1291
+ x-eov-operation-handler: v1/handlers/projects/projects.handler
1292
+ tags:
1293
+ - Projects
1294
+ summary: Change a user's role in a project
1295
+ description: Change a user's role in a project.
1296
+ parameters:
1297
+ - name: projectId
1298
+ in: path
1299
+ description: The ID of the project.
1300
+ required: true
1301
+ schema:
1302
+ type: string
1303
+ - name: userId
1304
+ in: path
1305
+ description: The ID of the user.
1306
+ required: true
1307
+ schema:
1308
+ type: string
1309
+ requestBody:
1310
+ description: Payload containing the new role to assign to the project user.
1311
+ content:
1312
+ application/json:
1313
+ schema:
1314
+ type: object
1315
+ properties:
1316
+ role:
1317
+ type: string
1318
+ description: The role assigned to the user in the project.
1319
+ example: project:viewer
1320
+ required:
1321
+ - role
1322
+ responses:
1323
+ "204":
1324
+ description: Operation successful.
1325
+ "401":
1326
+ $ref: "#/components/responses/unauthorized"
1327
+ "403":
1328
+ $ref: "#/components/responses/forbidden"
1329
+ "404":
1330
+ $ref: "#/components/responses/notFound"
1331
+ components:
1332
+ schemas:
1333
+ audit:
1334
+ type: object
1335
+ properties:
1336
+ Credentials Risk Report:
1337
+ type: object
1338
+ example:
1339
+ risk: credentials
1340
+ sections:
1341
+ - title: Credentials not used in any workflow
1342
+ description: These credentials are not used in any workflow. Keeping unused
1343
+ credentials in your instance is an unneeded security risk.
1344
+ recommendation: Consider deleting these credentials if you no longer need them.
1345
+ location:
1346
+ - kind: credential
1347
+ id: "1"
1348
+ name: My Test Account
1349
+ Database Risk Report:
1350
+ type: object
1351
+ example:
1352
+ risk: database
1353
+ sections:
1354
+ - title: Expressions in "Execute Query" fields in SQL nodes
1355
+ description: This SQL node has an expression in the "Query" field of an "Execute
1356
+ Query" operation. Building a SQL query with an expression may
1357
+ lead to a SQL injection attack.
1358
+ recommendation: Consider using the "Query Parameters" field to pass parameters
1359
+ to the query
1360
+ or validating the input of the expression in the "Query" field.: null
1361
+ location:
1362
+ - kind: node
1363
+ workflowId: "1"
1364
+ workflowName: My Workflow
1365
+ nodeId: 51eb5852-ce0b-4806-b4ff-e41322a4041a
1366
+ nodeName: MySQL
1367
+ nodeType: n8n-nodes-base.mySql
1368
+ Filesystem Risk Report:
1369
+ type: object
1370
+ example:
1371
+ risk: filesystem
1372
+ sections:
1373
+ - title: Nodes that interact with the filesystem
1374
+ description: This node reads from and writes to any accessible file in the host
1375
+ filesystem. Sensitive file content may be manipulated through
1376
+ a node operation.
1377
+ recommendation: Consider protecting any sensitive files in the host filesystem
1378
+ or refactoring the workflow so that it does not require host filesystem interaction.: null
1379
+ location:
1380
+ - kind: node
1381
+ workflowId: "1"
1382
+ workflowName: My Workflow
1383
+ nodeId: 51eb5852-ce0b-4806-b4ff-e41322a4041a
1384
+ nodeName: Ready Binary file
1385
+ nodeType: n8n-nodes-base.readBinaryFile
1386
+ Nodes Risk Report:
1387
+ type: object
1388
+ example:
1389
+ risk: nodes
1390
+ sections:
1391
+ - title: Community nodes
1392
+ description: This node is sourced from the community. Community nodes are not
1393
+ vetted by the n8n team and have full access to the host
1394
+ system.
1395
+ recommendation: Consider reviewing the source code in any community nodes
1396
+ installed in this n8n instance
1397
+ and uninstalling any community nodes no longer used.: null
1398
+ location:
1399
+ - kind: community
1400
+ nodeType: n8n-nodes-test.test
1401
+ packageUrl: https://www.npmjs.com/package/n8n-nodes-test
1402
+ Instance Risk Report:
1403
+ type: object
1404
+ example:
1405
+ risk: execution
1406
+ sections:
1407
+ - title: Unprotected webhooks in instance
1408
+ description: These webhook nodes have the "Authentication" field set to "None"
1409
+ and are not directly connected to a node to validate the
1410
+ payload. Every unprotected webhook allows your workflow to be
1411
+ called by any third party who knows the webhook URL.
1412
+ recommendation: Consider setting the "Authentication" field to an option other
1413
+ than "None"
1414
+ or validating the payload with one of the following nodes.: null
1415
+ location:
1416
+ - kind: community
1417
+ nodeType: n8n-nodes-test.test
1418
+ packageUrl: https://www.npmjs.com/package/n8n-nodes-test
1419
+ credential:
1420
+ required:
1421
+ - name
1422
+ - type
1423
+ - data
1424
+ type: object
1425
+ properties:
1426
+ id:
1427
+ type: string
1428
+ readOnly: true
1429
+ example: R2DjclaysHbqn778
1430
+ name:
1431
+ type: string
1432
+ example: Joe's Github Credentials
1433
+ type:
1434
+ type: string
1435
+ example: githubApi
1436
+ data:
1437
+ type: object
1438
+ writeOnly: true
1439
+ example:
1440
+ accessToken: ada612vad6fa5df4adf5a5dsf4389adsf76da7s
1441
+ isResolvable:
1442
+ type: boolean
1443
+ example: false
1444
+ description: Whether this credential has resolvable fields
1445
+ createdAt:
1446
+ type: string
1447
+ format: date-time
1448
+ readOnly: true
1449
+ example: 2022-04-29T11:02:29.842Z
1450
+ updatedAt:
1451
+ type: string
1452
+ format: date-time
1453
+ readOnly: true
1454
+ example: 2022-04-29T11:02:29.842Z
1455
+ create-credential-response:
1456
+ required:
1457
+ - id
1458
+ - name
1459
+ - type
1460
+ - createdAt
1461
+ - updatedAt
1462
+ type: object
1463
+ properties:
1464
+ id:
1465
+ type: string
1466
+ readOnly: true
1467
+ example: vHxaz5UaCghVYl9C
1468
+ name:
1469
+ type: string
1470
+ example: John's Github account
1471
+ type:
1472
+ type: string
1473
+ example: githubApi
1474
+ createdAt:
1475
+ type: string
1476
+ format: date-time
1477
+ readOnly: true
1478
+ example: 2022-04-29T11:02:29.842Z
1479
+ updatedAt:
1480
+ type: string
1481
+ format: date-time
1482
+ readOnly: true
1483
+ example: 2022-04-29T11:02:29.842Z
1484
+ update-credential-request:
1485
+ type: object
1486
+ properties:
1487
+ name:
1488
+ type: string
1489
+ example: Updated Credential Name
1490
+ description: The name of the credential
1491
+ type:
1492
+ type: string
1493
+ example: githubApi
1494
+ description: The credential type. If changing type, data must also be provided.
1495
+ data:
1496
+ type: object
1497
+ writeOnly: true
1498
+ example:
1499
+ accessToken: new_token_value
1500
+ description: The credential data. Required when changing credential type.
1501
+ isGlobal:
1502
+ type: boolean
1503
+ example: false
1504
+ description: Whether this credential is available globally
1505
+ isResolvable:
1506
+ type: boolean
1507
+ example: false
1508
+ description: Whether this credential has resolvable fields
1509
+ isPartialData:
1510
+ type: boolean
1511
+ example: false
1512
+ default: false
1513
+ description: If true, unredacts and merges existing credential data with the
1514
+ provided data. If false, replaces the entire data object.
1515
+ execution:
1516
+ type: object
1517
+ properties:
1518
+ id:
1519
+ type: number
1520
+ example: 1000
1521
+ data:
1522
+ type: object
1523
+ finished:
1524
+ type: boolean
1525
+ example: true
1526
+ mode:
1527
+ type: string
1528
+ enum:
1529
+ - cli
1530
+ - error
1531
+ - integrated
1532
+ - internal
1533
+ - manual
1534
+ - retry
1535
+ - trigger
1536
+ - webhook
1537
+ - evaluation
1538
+ - chat
1539
+ retryOf:
1540
+ type: number
1541
+ nullable: true
1542
+ retrySuccessId:
1543
+ type: number
1544
+ nullable: true
1545
+ example: "2"
1546
+ startedAt:
1547
+ type: string
1548
+ format: date-time
1549
+ stoppedAt:
1550
+ type: string
1551
+ format: date-time
1552
+ nullable: true
1553
+ description: The time at which the execution stopped. Will only be null for
1554
+ executions that still have the status 'running'.
1555
+ workflowId:
1556
+ type: number
1557
+ example: "1000"
1558
+ waitTill:
1559
+ type: string
1560
+ nullable: true
1561
+ format: date-time
1562
+ customData:
1563
+ type: object
1564
+ status:
1565
+ type: string
1566
+ enum:
1567
+ - canceled
1568
+ - crashed
1569
+ - error
1570
+ - new
1571
+ - running
1572
+ - success
1573
+ - unknown
1574
+ - waiting
1575
+ executionList:
1576
+ type: object
1577
+ properties:
1578
+ data:
1579
+ type: array
1580
+ items:
1581
+ $ref: "#/components/schemas/execution"
1582
+ nextCursor:
1583
+ type: string
1584
+ description: Paginate through executions by setting the cursor parameter to a
1585
+ nextCursor attribute returned by a previous request. Default value
1586
+ fetches the first "page" of the collection.
1587
+ nullable: true
1588
+ example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
1589
+ tag:
1590
+ type: object
1591
+ additionalProperties: false
1592
+ required:
1593
+ - name
1594
+ properties:
1595
+ id:
1596
+ type: string
1597
+ readOnly: true
1598
+ example: 2tUt1wbLX592XDdX
1599
+ name:
1600
+ type: string
1601
+ example: Production
1602
+ createdAt:
1603
+ type: string
1604
+ format: date-time
1605
+ readOnly: true
1606
+ updatedAt:
1607
+ type: string
1608
+ format: date-time
1609
+ readOnly: true
1610
+ tagList:
1611
+ type: object
1612
+ properties:
1613
+ data:
1614
+ type: array
1615
+ items:
1616
+ $ref: "#/components/schemas/tag"
1617
+ nextCursor:
1618
+ type: string
1619
+ description: Paginate through tags by setting the cursor parameter to a
1620
+ nextCursor attribute returned by a previous request. Default value
1621
+ fetches the first "page" of the collection.
1622
+ nullable: true
1623
+ example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
1624
+ node:
1625
+ type: object
1626
+ additionalProperties: false
1627
+ properties:
1628
+ id:
1629
+ type: string
1630
+ example: 0f5532f9-36ba-4bef-86c7-30d607400b15
1631
+ name:
1632
+ type: string
1633
+ example: Jira
1634
+ webhookId:
1635
+ type: string
1636
+ disabled:
1637
+ type: boolean
1638
+ notesInFlow:
1639
+ type: boolean
1640
+ notes:
1641
+ type: string
1642
+ type:
1643
+ type: string
1644
+ example: n8n-nodes-base.jira
1645
+ typeVersion:
1646
+ type: number
1647
+ example: 1
1648
+ executeOnce:
1649
+ type: boolean
1650
+ example: false
1651
+ alwaysOutputData:
1652
+ type: boolean
1653
+ example: false
1654
+ retryOnFail:
1655
+ type: boolean
1656
+ example: false
1657
+ maxTries:
1658
+ type: number
1659
+ waitBetweenTries:
1660
+ type: number
1661
+ continueOnFail:
1662
+ type: boolean
1663
+ example: false
1664
+ description: use onError instead
1665
+ deprecated: true
1666
+ onError:
1667
+ type: string
1668
+ example: stopWorkflow
1669
+ position:
1670
+ type: array
1671
+ items:
1672
+ type: number
1673
+ example:
1674
+ - -100
1675
+ - 80
1676
+ parameters:
1677
+ type: object
1678
+ additionalProperties: true
1679
+ example:
1680
+ additionalProperties: {}
1681
+ credentials:
1682
+ type: object
1683
+ example:
1684
+ jiraSoftwareCloudApi:
1685
+ id: "35"
1686
+ name: jiraApi
1687
+ createdAt:
1688
+ type: string
1689
+ format: date-time
1690
+ readOnly: true
1691
+ updatedAt:
1692
+ type: string
1693
+ format: date-time
1694
+ readOnly: true
1695
+ workflowSettings:
1696
+ type: object
1697
+ additionalProperties: false
1698
+ properties:
1699
+ saveExecutionProgress:
1700
+ type: boolean
1701
+ saveManualExecutions:
1702
+ type: boolean
1703
+ saveDataErrorExecution:
1704
+ type: string
1705
+ enum:
1706
+ - all
1707
+ - none
1708
+ saveDataSuccessExecution:
1709
+ type: string
1710
+ enum:
1711
+ - all
1712
+ - none
1713
+ executionTimeout:
1714
+ type: number
1715
+ example: 3600
1716
+ maxLength: 3600
1717
+ errorWorkflow:
1718
+ type: string
1719
+ example: VzqKEW0ShTXA5vPj
1720
+ description: The ID of the workflow that contains the error trigger node.
1721
+ timezone:
1722
+ type: string
1723
+ example: America/New_York
1724
+ executionOrder:
1725
+ type: string
1726
+ example: v1
1727
+ callerPolicy:
1728
+ type: string
1729
+ enum:
1730
+ - any
1731
+ - none
1732
+ - workflowsFromAList
1733
+ - workflowsFromSameOwner
1734
+ default: workflowsFromSameOwner
1735
+ description: >
1736
+ Controls which workflows are allowed to call this workflow using the
1737
+ Execute Workflow node.
1738
+
1739
+
1740
+ Available options:
1741
+
1742
+ - `any`: Any workflow can call this workflow (no restrictions)
1743
+
1744
+ - `none`: No other workflows can call this workflow (completely
1745
+ blocked)
1746
+
1747
+ - `workflowsFromSameOwner` (default): Only workflows owned by the
1748
+ same project can call this workflow
1749
+ * For personal projects: Only workflows created by the same user
1750
+ * For team projects: Only workflows within the same team project
1751
+ - `workflowsFromAList`: Only specific workflows listed in the
1752
+ `callerIds` field can call this workflow
1753
+ * Requires the `callerIds` field to specify which workflow IDs are allowed
1754
+ * See `callerIds` field documentation for usage
1755
+ example: workflowsFromSameOwner
1756
+ callerIds:
1757
+ type: string
1758
+ description: Comma-separated list of workflow IDs allowed to call this workflow
1759
+ (only used with workflowsFromAList policy)
1760
+ example: 14, 18, 23
1761
+ timeSavedPerExecution:
1762
+ type: number
1763
+ description: Estimated time saved per execution in minutes
1764
+ availableInMCP:
1765
+ type: boolean
1766
+ default: false
1767
+ description: >
1768
+ Controls whether this workflow is accessible via the Model Context
1769
+ Protocol (MCP).
1770
+
1771
+
1772
+ When enabled, this workflow can be called by MCP clients (AI
1773
+ assistants and other tools
1774
+
1775
+ that support MCP). This allows external AI tools to discover and
1776
+ execute this workflow
1777
+
1778
+ as part of their capabilities.
1779
+
1780
+
1781
+ Requirements for enabling MCP access:
1782
+
1783
+ - The workflow must be active (not deactivated)
1784
+
1785
+ - The workflow must contain at least one active Webhook node
1786
+
1787
+ - Only webhook-triggered workflows can be exposed via MCP
1788
+
1789
+
1790
+ Security note: When a workflow is available in MCP, it can be
1791
+ discovered and executed
1792
+
1793
+ by any MCP client that has the appropriate API credentials for your
1794
+ n8n instance.
1795
+ example: false
1796
+ sharedWorkflow:
1797
+ type: object
1798
+ additionalProperties: false
1799
+ properties:
1800
+ role:
1801
+ type: string
1802
+ example: workflow:owner
1803
+ workflowId:
1804
+ type: string
1805
+ example: 2tUt1wbLX592XDdX
1806
+ projectId:
1807
+ type: string
1808
+ example: 2tUt1wbLX592XDdX
1809
+ project:
1810
+ type: object
1811
+ properties:
1812
+ id:
1813
+ type: string
1814
+ readOnly: true
1815
+ name:
1816
+ type: string
1817
+ type:
1818
+ type: string
1819
+ readOnly: true
1820
+ createdAt:
1821
+ type: string
1822
+ format: date-time
1823
+ readOnly: true
1824
+ updatedAt:
1825
+ type: string
1826
+ format: date-time
1827
+ readOnly: true
1828
+ activeVersion:
1829
+ type: object
1830
+ readOnly: true
1831
+ nullable: true
1832
+ additionalProperties: false
1833
+ properties:
1834
+ versionId:
1835
+ type: string
1836
+ readOnly: true
1837
+ description: Unique identifier for this workflow version
1838
+ example: 7c6b9e3f-8d4a-4b2c-9f1e-6a5d3b8c7e4f
1839
+ workflowId:
1840
+ type: string
1841
+ readOnly: true
1842
+ description: The workflow this version belongs to
1843
+ example: 2tUt1wbLX592XDdX
1844
+ nodes:
1845
+ type: array
1846
+ readOnly: true
1847
+ items:
1848
+ $ref: "#/components/schemas/node"
1849
+ connections:
1850
+ type: object
1851
+ readOnly: true
1852
+ example:
1853
+ Jira:
1854
+ main:
1855
+ - - node: Jira
1856
+ type: main
1857
+ index: 0
1858
+ authors:
1859
+ type: string
1860
+ readOnly: true
1861
+ description: Comma-separated list of author IDs who contributed to this version
1862
+ example: 1,2,3
1863
+ createdAt:
1864
+ type: string
1865
+ format: date-time
1866
+ readOnly: true
1867
+ updatedAt:
1868
+ type: string
1869
+ format: date-time
1870
+ readOnly: true
1871
+ workflow:
1872
+ type: object
1873
+ additionalProperties: false
1874
+ required:
1875
+ - name
1876
+ - nodes
1877
+ - connections
1878
+ - settings
1879
+ properties:
1880
+ id:
1881
+ type: string
1882
+ readOnly: true
1883
+ example: 2tUt1wbLX592XDdX
1884
+ name:
1885
+ type: string
1886
+ example: Workflow 1
1887
+ active:
1888
+ type: boolean
1889
+ readOnly: true
1890
+ createdAt:
1891
+ type: string
1892
+ format: date-time
1893
+ readOnly: true
1894
+ updatedAt:
1895
+ type: string
1896
+ format: date-time
1897
+ readOnly: true
1898
+ nodes:
1899
+ type: array
1900
+ items:
1901
+ $ref: "#/components/schemas/node"
1902
+ connections:
1903
+ type: object
1904
+ example:
1905
+ Jira:
1906
+ main:
1907
+ - - node: Jira
1908
+ type: main
1909
+ index: 0
1910
+ settings:
1911
+ $ref: "#/components/schemas/workflowSettings"
1912
+ staticData:
1913
+ example:
1914
+ lastId: 1
1915
+ anyOf:
1916
+ - type: string
1917
+ format: jsonString
1918
+ nullable: true
1919
+ - type: object
1920
+ nullable: true
1921
+ tags:
1922
+ type: array
1923
+ items:
1924
+ $ref: "#/components/schemas/tag"
1925
+ readOnly: true
1926
+ shared:
1927
+ type: array
1928
+ items:
1929
+ $ref: "#/components/schemas/sharedWorkflow"
1930
+ activeVersion:
1931
+ $ref: "#/components/schemas/activeVersion"
1932
+ workflowList:
1933
+ type: object
1934
+ properties:
1935
+ data:
1936
+ type: array
1937
+ items:
1938
+ $ref: "#/components/schemas/workflow"
1939
+ nextCursor:
1940
+ type: string
1941
+ description: Paginate through workflows by setting the cursor parameter to a
1942
+ nextCursor attribute returned by a previous request. Default value
1943
+ fetches the first "page" of the collection.
1944
+ nullable: true
1945
+ example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
1946
+ workflowVersion:
1947
+ type: object
1948
+ additionalProperties: false
1949
+ required:
1950
+ - versionId
1951
+ - workflowId
1952
+ - nodes
1953
+ - connections
1954
+ - authors
1955
+ properties:
1956
+ versionId:
1957
+ type: string
1958
+ readOnly: true
1959
+ description: The version ID of this workflow snapshot
1960
+ example: abc123-def456
1961
+ workflowId:
1962
+ type: string
1963
+ readOnly: true
1964
+ description: The workflow ID this version belongs to
1965
+ example: 2tUt1wbLX592XDdX
1966
+ nodes:
1967
+ type: array
1968
+ items:
1969
+ $ref: "#/components/schemas/node"
1970
+ description: Nodes as they were in this version
1971
+ readOnly: true
1972
+ connections:
1973
+ type: object
1974
+ example:
1975
+ Jira:
1976
+ main:
1977
+ - - node: Jira
1978
+ type: main
1979
+ index: 0
1980
+ description: Connections as they were in this version
1981
+ readOnly: true
1982
+ authors:
1983
+ type: string
1984
+ readOnly: true
1985
+ description: Authors who created this version
1986
+ example: John Doe
1987
+ name:
1988
+ type: string
1989
+ nullable: true
1990
+ description: Workflow name at this version
1991
+ example: Workflow 1
1992
+ description:
1993
+ type: string
1994
+ nullable: true
1995
+ description: Workflow description at this version
1996
+ createdAt:
1997
+ type: string
1998
+ format: date-time
1999
+ readOnly: true
2000
+ description: When this version was created
2001
+ updatedAt:
2002
+ type: string
2003
+ format: date-time
2004
+ readOnly: true
2005
+ description: When this version was last updated
2006
+ workflowTags:
2007
+ type: array
2008
+ items:
2009
+ $ref: "#/components/schemas/tag"
2010
+ tagIds:
2011
+ type: array
2012
+ items:
2013
+ type: object
2014
+ additionalProperties: false
2015
+ required:
2016
+ - id
2017
+ properties:
2018
+ id:
2019
+ type: string
2020
+ example: 2tUt1wbLX592XDdX
2021
+ user:
2022
+ required:
2023
+ - email
2024
+ type: object
2025
+ properties:
2026
+ id:
2027
+ type: string
2028
+ readOnly: true
2029
+ example: 123e4567-e89b-12d3-a456-426614174000
2030
+ email:
2031
+ type: string
2032
+ format: email
2033
+ example: john.doe@company.com
2034
+ firstName:
2035
+ maxLength: 32
2036
+ type: string
2037
+ description: User's first name
2038
+ readOnly: true
2039
+ example: john
2040
+ lastName:
2041
+ maxLength: 32
2042
+ type: string
2043
+ description: User's last name
2044
+ readOnly: true
2045
+ example: Doe
2046
+ isPending:
2047
+ type: boolean
2048
+ description: Whether the user finished setting up their account in response to
2049
+ the invitation (true) or not (false).
2050
+ readOnly: true
2051
+ createdAt:
2052
+ type: string
2053
+ description: Time the user was created.
2054
+ format: date-time
2055
+ readOnly: true
2056
+ updatedAt:
2057
+ type: string
2058
+ description: Last time the user was updated.
2059
+ format: date-time
2060
+ readOnly: true
2061
+ role:
2062
+ type: string
2063
+ example: global:owner
2064
+ readOnly: true
2065
+ userList:
2066
+ type: object
2067
+ properties:
2068
+ data:
2069
+ type: array
2070
+ items:
2071
+ $ref: "#/components/schemas/user"
2072
+ nextCursor:
2073
+ type: string
2074
+ description: Paginate through users by setting the cursor parameter to a
2075
+ nextCursor attribute returned by a previous request. Default value
2076
+ fetches the first "page" of the collection.
2077
+ nullable: true
2078
+ example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
2079
+ pull:
2080
+ type: object
2081
+ properties:
2082
+ force:
2083
+ type: boolean
2084
+ example: true
2085
+ variables:
2086
+ type: object
2087
+ example:
2088
+ foo: bar
2089
+ importResult:
2090
+ type: object
2091
+ additionalProperties: true
2092
+ properties:
2093
+ variables:
2094
+ type: object
2095
+ properties:
2096
+ added:
2097
+ type: array
2098
+ items:
2099
+ type: string
2100
+ changed:
2101
+ type: array
2102
+ items:
2103
+ type: string
2104
+ credentials:
2105
+ type: array
2106
+ items:
2107
+ type: object
2108
+ properties:
2109
+ id:
2110
+ type: string
2111
+ name:
2112
+ type: string
2113
+ type:
2114
+ type: string
2115
+ workflows:
2116
+ type: array
2117
+ items:
2118
+ type: object
2119
+ properties:
2120
+ id:
2121
+ type: string
2122
+ name:
2123
+ type: string
2124
+ tags:
2125
+ type: object
2126
+ properties:
2127
+ tags:
2128
+ type: array
2129
+ items:
2130
+ type: object
2131
+ properties:
2132
+ id:
2133
+ type: string
2134
+ name:
2135
+ type: string
2136
+ mappings:
2137
+ type: array
2138
+ items:
2139
+ type: object
2140
+ properties:
2141
+ workflowId:
2142
+ type: string
2143
+ tagId:
2144
+ type: string
2145
+ project:
2146
+ type: object
2147
+ additionalProperties: false
2148
+ required:
2149
+ - name
2150
+ properties:
2151
+ id:
2152
+ type: string
2153
+ readOnly: true
2154
+ name:
2155
+ type: string
2156
+ type:
2157
+ type: string
2158
+ readOnly: true
2159
+ variable:
2160
+ type: object
2161
+ additionalProperties: false
2162
+ required:
2163
+ - key
2164
+ - value
2165
+ properties:
2166
+ id:
2167
+ type: string
2168
+ readOnly: true
2169
+ key:
2170
+ type: string
2171
+ value:
2172
+ type: string
2173
+ example: test
2174
+ type:
2175
+ type: string
2176
+ readOnly: true
2177
+ project:
2178
+ $ref: "#/components/schemas/project"
2179
+ variableList:
2180
+ type: object
2181
+ properties:
2182
+ data:
2183
+ type: array
2184
+ items:
2185
+ $ref: "#/components/schemas/variable"
2186
+ nextCursor:
2187
+ type: string
2188
+ description: Paginate through variables by setting the cursor parameter to a
2189
+ nextCursor attribute returned by a previous request. Default value
2190
+ fetches the first "page" of the collection.
2191
+ nullable: true
2192
+ example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
2193
+ variable.create:
2194
+ type: object
2195
+ additionalProperties: false
2196
+ required:
2197
+ - key
2198
+ - value
2199
+ properties:
2200
+ id:
2201
+ type: string
2202
+ readOnly: true
2203
+ key:
2204
+ type: string
2205
+ value:
2206
+ type: string
2207
+ example: test
2208
+ type:
2209
+ type: string
2210
+ readOnly: true
2211
+ projectId:
2212
+ type: string
2213
+ example: VmwOO9HeTEj20kxM
2214
+ nullable: true
2215
+ projectList:
2216
+ type: object
2217
+ properties:
2218
+ data:
2219
+ type: array
2220
+ items:
2221
+ $ref: "#/components/schemas/project"
2222
+ nextCursor:
2223
+ type: string
2224
+ description: Paginate through projects by setting the cursor parameter to a
2225
+ nextCursor attribute returned by a previous request. Default value
2226
+ fetches the first "page" of the collection.
2227
+ nullable: true
2228
+ example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
2229
+ error:
2230
+ required:
2231
+ - message
2232
+ type: object
2233
+ properties:
2234
+ code:
2235
+ type: string
2236
+ message:
2237
+ type: string
2238
+ description:
2239
+ type: string
2240
+ role:
2241
+ readOnly: true
2242
+ type: object
2243
+ properties:
2244
+ id:
2245
+ type: number
2246
+ readOnly: true
2247
+ example: 1
2248
+ name:
2249
+ type: string
2250
+ example: owner
2251
+ readOnly: true
2252
+ scope:
2253
+ type: string
2254
+ readOnly: true
2255
+ example: global
2256
+ createdAt:
2257
+ type: string
2258
+ description: Time the role was created.
2259
+ format: date-time
2260
+ readOnly: true
2261
+ updatedAt:
2262
+ type: string
2263
+ description: Last time the role was updated.
2264
+ format: date-time
2265
+ readOnly: true
2266
+ credentialType:
2267
+ type: object
2268
+ properties:
2269
+ displayName:
2270
+ type: string
2271
+ readOnly: true
2272
+ example: Email
2273
+ name:
2274
+ type: string
2275
+ readOnly: true
2276
+ example: email
2277
+ type:
2278
+ type: string
2279
+ readOnly: true
2280
+ example: string
2281
+ default:
2282
+ type: string
2283
+ readOnly: true
2284
+ example: string
2285
+ Error:
2286
+ $ref: "#/components/schemas/error"
2287
+ Role:
2288
+ $ref: "#/components/schemas/role"
2289
+ Execution:
2290
+ $ref: "#/components/schemas/execution"
2291
+ Node:
2292
+ $ref: "#/components/schemas/node"
2293
+ Tag:
2294
+ $ref: "#/components/schemas/tag"
2295
+ Workflow:
2296
+ $ref: "#/components/schemas/workflow"
2297
+ WorkflowSettings:
2298
+ $ref: "#/components/schemas/workflowSettings"
2299
+ ExecutionList:
2300
+ $ref: "#/components/schemas/executionList"
2301
+ WorkflowList:
2302
+ $ref: "#/components/schemas/workflowList"
2303
+ Credential:
2304
+ $ref: "#/components/schemas/credential"
2305
+ CredentialType:
2306
+ $ref: "#/components/schemas/credentialType"
2307
+ Audit:
2308
+ $ref: "#/components/schemas/audit"
2309
+ Pull:
2310
+ $ref: "#/components/schemas/pull"
2311
+ ImportResult:
2312
+ $ref: "#/components/schemas/importResult"
2313
+ UserList:
2314
+ $ref: "#/components/schemas/userList"
2315
+ User:
2316
+ $ref: "#/components/schemas/user"
2317
+ responses:
2318
+ unauthorized:
2319
+ description: Unauthorized
2320
+ notFound:
2321
+ description: The specified resource was not found.
2322
+ badRequest:
2323
+ description: The request is invalid or provides malformed data.
2324
+ conflict:
2325
+ description: Conflict
2326
+ forbidden:
2327
+ description: Forbidden
2328
+ NotFound:
2329
+ $ref: "#/components/responses/notFound"
2330
+ Unauthorized:
2331
+ $ref: "#/components/responses/unauthorized"
2332
+ BadRequest:
2333
+ $ref: "#/components/responses/badRequest"
2334
+ Conflict:
2335
+ $ref: "#/components/responses/conflict"
2336
+ Forbidden:
2337
+ $ref: "#/components/responses/forbidden"
2338
+ parameters:
2339
+ credentialId:
2340
+ name: id
2341
+ in: path
2342
+ description: The ID of the credential.
2343
+ required: true
2344
+ schema:
2345
+ type: string
2346
+ includeData:
2347
+ name: includeData
2348
+ in: query
2349
+ description: Whether or not to include the execution's detailed data.
2350
+ required: false
2351
+ schema:
2352
+ type: boolean
2353
+ limit:
2354
+ name: limit
2355
+ in: query
2356
+ description: The maximum number of items to return.
2357
+ required: false
2358
+ schema:
2359
+ type: number
2360
+ example: 100
2361
+ default: 100
2362
+ maximum: 250
2363
+ cursor:
2364
+ name: cursor
2365
+ in: query
2366
+ description: Paginate by setting the cursor parameter to the nextCursor
2367
+ attribute returned by the previous request's response. Default value
2368
+ fetches the first "page" of the collection. See pagination for more
2369
+ detail.
2370
+ required: false
2371
+ style: form
2372
+ schema:
2373
+ type: string
2374
+ executionId:
2375
+ name: id
2376
+ in: path
2377
+ description: The ID of the execution.
2378
+ required: true
2379
+ schema:
2380
+ type: number
2381
+ tagId:
2382
+ name: id
2383
+ in: path
2384
+ description: The ID of the tag.
2385
+ required: true
2386
+ schema:
2387
+ type: string
2388
+ workflowId:
2389
+ name: id
2390
+ in: path
2391
+ description: The ID of the workflow.
2392
+ required: true
2393
+ schema:
2394
+ type: string
2395
+ includeRole:
2396
+ name: includeRole
2397
+ in: query
2398
+ description: Whether to include the user's role or not.
2399
+ required: false
2400
+ schema:
2401
+ type: boolean
2402
+ example: true
2403
+ default: false
2404
+ userIdentifier:
2405
+ name: id
2406
+ in: path
2407
+ description: The ID or email of the user.
2408
+ required: true
2409
+ schema:
2410
+ type: string
2411
+ format: identifier
2412
+ variableId:
2413
+ name: id
2414
+ in: path
2415
+ description: The ID of the variable.
2416
+ required: true
2417
+ schema:
2418
+ type: string
2419
+ Cursor:
2420
+ $ref: "#/components/parameters/cursor"
2421
+ Limit:
2422
+ $ref: "#/components/parameters/limit"
2423
+ ExecutionId:
2424
+ $ref: "#/components/parameters/executionId"
2425
+ WorkflowId:
2426
+ $ref: "#/components/parameters/workflowId"
2427
+ TagId:
2428
+ $ref: "#/components/parameters/tagId"
2429
+ IncludeData:
2430
+ $ref: "#/components/parameters/includeData"
2431
+ UserIdentifier:
2432
+ $ref: "#/components/parameters/userIdentifier"
2433
+ IncludeRole:
2434
+ $ref: "#/components/parameters/includeRole"
2435
+ VariableId:
2436
+ $ref: "#/components/parameters/variableId"
2437
+ securitySchemes:
2438
+ ApiKeyAuth:
2439
+ type: apiKey
2440
+ in: header
2441
+ name: X-N8N-API-KEY