n8n 2.6.2 → 2.7.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 (278) hide show
  1. package/README.md +1 -1
  2. package/dist/active-executions.d.ts +7 -2
  3. package/dist/active-executions.js +17 -5
  4. package/dist/active-executions.js.map +1 -1
  5. package/dist/active-workflow-manager.d.ts +3 -2
  6. package/dist/active-workflow-manager.js +18 -3
  7. package/dist/active-workflow-manager.js.map +1 -1
  8. package/dist/auth/auth.service.d.ts +8 -5
  9. package/dist/auth/auth.service.js +45 -11
  10. package/dist/auth/auth.service.js.map +1 -1
  11. package/dist/build.tsbuildinfo +1 -1
  12. package/dist/commands/base-command.js +25 -11
  13. package/dist/commands/base-command.js.map +1 -1
  14. package/dist/commands/worker.js +1 -0
  15. package/dist/commands/worker.js.map +1 -1
  16. package/dist/config/index.d.ts +1 -0
  17. package/dist/config/index.js +5 -0
  18. package/dist/config/index.js.map +1 -1
  19. package/dist/config/schema.d.ts +5 -0
  20. package/dist/config/schema.js +5 -0
  21. package/dist/config/schema.js.map +1 -1
  22. package/dist/constants.d.ts +5 -5
  23. package/dist/constants.js.map +1 -1
  24. package/dist/controller.registry.js +1 -0
  25. package/dist/controller.registry.js.map +1 -1
  26. package/dist/controllers/ai.controller.d.ts +5 -2
  27. package/dist/controllers/ai.controller.js +22 -2
  28. package/dist/controllers/ai.controller.js.map +1 -1
  29. package/dist/controllers/dynamic-templates.controller.d.ts +11 -0
  30. package/dist/controllers/dynamic-templates.controller.js +41 -0
  31. package/dist/controllers/dynamic-templates.controller.js.map +1 -0
  32. package/dist/controllers/posthog.controller.d.ts +5 -16
  33. package/dist/controllers/posthog.controller.js +29 -125
  34. package/dist/controllers/posthog.controller.js.map +1 -1
  35. package/dist/controllers/users.controller.d.ts +1 -1
  36. package/dist/events/relays/telemetry.event-relay.js +37 -4
  37. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  38. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +7 -2
  39. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  40. package/dist/execution-lifecycle/save-execution-progress.d.ts +2 -2
  41. package/dist/execution-lifecycle/save-execution-progress.js +5 -20
  42. package/dist/execution-lifecycle/save-execution-progress.js.map +1 -1
  43. package/dist/executions/execution-data/types.d.ts +2 -1
  44. package/dist/executions/execution-persistence.d.ts +19 -0
  45. package/dist/executions/execution-persistence.js +75 -0
  46. package/dist/executions/execution-persistence.js.map +1 -0
  47. package/dist/executions/execution-recovery.service.js +1 -0
  48. package/dist/executions/execution-recovery.service.js.map +1 -1
  49. package/dist/executions/execution.service.d.ts +3 -1
  50. package/dist/executions/execution.service.js +10 -5
  51. package/dist/executions/execution.service.js.map +1 -1
  52. package/dist/executions/failed-run-factory.d.ts +3 -0
  53. package/dist/executions/failed-run-factory.js +10 -1
  54. package/dist/executions/failed-run-factory.js.map +1 -1
  55. package/dist/external-hooks.d.ts +1 -0
  56. package/dist/external-hooks.js +3 -0
  57. package/dist/external-hooks.js.map +1 -1
  58. package/dist/interfaces.d.ts +1 -1
  59. package/dist/modules/breaking-changes/rules/index.d.ts +1 -1
  60. package/dist/modules/breaking-changes/rules/v2/index.d.ts +1 -2
  61. package/dist/modules/breaking-changes/rules/v2/index.js +0 -2
  62. package/dist/modules/breaking-changes/rules/v2/index.js.map +1 -1
  63. package/dist/modules/chat-hub/chat-hub-agent.service.js +2 -1
  64. package/dist/modules/chat-hub/chat-hub-agent.service.js.map +1 -1
  65. package/dist/modules/chat-hub/chat-hub-execution.service.d.ts +48 -0
  66. package/dist/modules/chat-hub/chat-hub-execution.service.js +548 -0
  67. package/dist/modules/chat-hub/chat-hub-execution.service.js.map +1 -0
  68. package/dist/modules/chat-hub/chat-hub-extractor.js +2 -1
  69. package/dist/modules/chat-hub/chat-hub-extractor.js.map +1 -1
  70. package/dist/modules/chat-hub/chat-hub-title.service.d.ts +28 -0
  71. package/dist/modules/chat-hub/chat-hub-title.service.js +172 -0
  72. package/dist/modules/chat-hub/chat-hub-title.service.js.map +1 -0
  73. package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +19 -6
  74. package/dist/modules/chat-hub/chat-hub-workflow.service.js +158 -42
  75. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  76. package/dist/modules/chat-hub/chat-hub.attachment.service.js +1 -1
  77. package/dist/modules/chat-hub/chat-hub.attachment.service.js.map +1 -1
  78. package/dist/modules/chat-hub/chat-hub.controller.d.ts +6 -7
  79. package/dist/modules/chat-hub/chat-hub.controller.js +46 -113
  80. package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
  81. package/dist/modules/chat-hub/chat-hub.models.service.d.ts +3 -3
  82. package/dist/modules/chat-hub/chat-hub.models.service.js +4 -4
  83. package/dist/modules/chat-hub/chat-hub.models.service.js.map +1 -1
  84. package/dist/modules/chat-hub/chat-hub.service.d.ts +25 -57
  85. package/dist/modules/chat-hub/chat-hub.service.js +260 -907
  86. package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
  87. package/dist/modules/chat-hub/chat-hub.settings.controller.js +1 -0
  88. package/dist/modules/chat-hub/chat-hub.settings.controller.js.map +1 -1
  89. package/dist/modules/chat-hub/chat-message.repository.d.ts +15 -1
  90. package/dist/modules/chat-hub/chat-message.repository.js +28 -0
  91. package/dist/modules/chat-hub/chat-message.repository.js.map +1 -1
  92. package/dist/modules/chat-hub/chat-stream-state.service.d.ts +59 -0
  93. package/dist/modules/chat-hub/chat-stream-state.service.js +291 -0
  94. package/dist/modules/chat-hub/chat-stream-state.service.js.map +1 -0
  95. package/dist/modules/chat-hub/chat-stream.service.d.ts +97 -0
  96. package/dist/modules/chat-hub/chat-stream.service.js +429 -0
  97. package/dist/modules/chat-hub/chat-stream.service.js.map +1 -0
  98. package/dist/modules/chat-hub/stream-capturer.d.ts +3 -2
  99. package/dist/modules/chat-hub/stream-capturer.js +12 -6
  100. package/dist/modules/chat-hub/stream-capturer.js.map +1 -1
  101. package/dist/modules/community-packages/community-node.command.js +4 -1
  102. package/dist/modules/community-packages/community-node.command.js.map +1 -1
  103. package/dist/modules/community-packages/community-packages.controller.d.ts +3 -1
  104. package/dist/modules/community-packages/community-packages.controller.js +11 -5
  105. package/dist/modules/community-packages/community-packages.controller.js.map +1 -1
  106. package/dist/modules/community-packages/community-packages.service.d.ts +0 -3
  107. package/dist/modules/community-packages/community-packages.service.js +10 -42
  108. package/dist/modules/community-packages/community-packages.service.js.map +1 -1
  109. package/dist/modules/community-packages/npm-utils.d.ts +6 -0
  110. package/dist/modules/community-packages/npm-utils.js +47 -4
  111. package/dist/modules/community-packages/npm-utils.js.map +1 -1
  112. package/dist/modules/data-table/data-table-rows.repository.js +0 -19
  113. package/dist/modules/data-table/data-table-rows.repository.js.map +1 -1
  114. package/dist/modules/data-table/data-table.repository.js +0 -24
  115. package/dist/modules/data-table/data-table.repository.js.map +1 -1
  116. package/dist/modules/data-table/utils/sql-utils.js +3 -18
  117. package/dist/modules/data-table/utils/sql-utils.js.map +1 -1
  118. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.d.ts +9 -0
  119. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js +43 -0
  120. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/n8n-identifier.js.map +1 -0
  121. package/dist/modules/dynamic-credentials.ee/credential-resolvers/n8n-credential-resolver.d.ts +26 -0
  122. package/dist/modules/dynamic-credentials.ee/credential-resolvers/n8n-credential-resolver.js +78 -0
  123. package/dist/modules/dynamic-credentials.ee/credential-resolvers/n8n-credential-resolver.js.map +1 -0
  124. package/dist/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.d.ts +1 -1
  125. package/dist/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.js +2 -6
  126. package/dist/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.js.map +1 -1
  127. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.d.ts +3 -1
  128. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +17 -11
  129. package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
  130. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.d.ts +2 -1
  131. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js +3 -3
  132. package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js.map +1 -1
  133. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.d.ts +9 -0
  134. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.js +93 -0
  135. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.js.map +1 -0
  136. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.d.ts +3 -2
  137. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js +11 -2
  138. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential.service.js.map +1 -1
  139. package/dist/modules/dynamic-credentials.ee/utils.d.ts +1 -3
  140. package/dist/modules/dynamic-credentials.ee/utils.js +0 -16
  141. package/dist/modules/dynamic-credentials.ee/utils.js.map +1 -1
  142. package/dist/modules/dynamic-credentials.ee/workflow-status.controller.d.ts +3 -1
  143. package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js +8 -5
  144. package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js.map +1 -1
  145. package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.d.ts +16 -11
  146. package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.js +59 -35
  147. package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.js.map +1 -1
  148. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.d.ts +23 -0
  149. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js +113 -0
  150. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js.map +1 -0
  151. package/dist/modules/external-secrets.ee/secrets-providers.responses.ee.d.ts +6 -0
  152. package/dist/modules/external-secrets.ee/secrets-providers.responses.ee.js +3 -0
  153. package/dist/modules/external-secrets.ee/secrets-providers.responses.ee.js.map +1 -0
  154. package/dist/modules/insights/database/entities/insights-raw.d.ts +1 -1
  155. package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +2 -2
  156. package/dist/modules/insights/database/repositories/insights-by-period.repository.js +2 -18
  157. package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
  158. package/dist/modules/insights/insights.controller.js +2 -7
  159. package/dist/modules/insights/insights.controller.js.map +1 -1
  160. package/dist/modules/insights/insights.service.d.ts +2 -2
  161. package/dist/modules/mcp/mcp.controller.js +36 -3
  162. package/dist/modules/mcp/mcp.controller.js.map +1 -1
  163. package/dist/modules/mcp/mcp.module.js +1 -1
  164. package/dist/modules/mcp/mcp.module.js.map +1 -1
  165. package/dist/modules/mcp/mcp.service.d.ts +1 -2
  166. package/dist/modules/mcp/mcp.service.js +36 -3
  167. package/dist/modules/mcp/mcp.service.js.map +1 -1
  168. package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +9 -9
  169. package/dist/modules/mcp/tools/execute-workflow.tool.js +37 -4
  170. package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
  171. package/dist/modules/mcp/tools/schemas.d.ts +2 -2
  172. package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +12 -7
  173. package/dist/modules/source-control.ee/source-control-import.service.ee.js +164 -117
  174. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  175. package/dist/modules/source-control.ee/source-control-status.service.ee.d.ts +14 -66
  176. package/dist/modules/source-control.ee/source-control-status.service.ee.js +17 -1
  177. package/dist/modules/source-control.ee/source-control-status.service.ee.js.map +1 -1
  178. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +8 -84
  179. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +4 -42
  180. package/dist/modules/source-control.ee/source-control.service.ee.js +14 -5
  181. package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
  182. package/dist/modules/source-control.ee/types/import-result.d.ts +6 -4
  183. package/dist/modules/source-control.ee/types/source-control-get-status.d.ts +34 -0
  184. package/dist/modules/source-control.ee/types/source-control-get-status.js.map +1 -1
  185. package/dist/modules/source-control.ee/types/source-control-workflow-version-id.d.ts +1 -0
  186. package/dist/modules/sso-saml/saml.controller.ee.d.ts +1 -1
  187. package/dist/modules/workflow-index/workflow-index.service.d.ts +4 -1
  188. package/dist/modules/workflow-index/workflow-index.service.js +35 -11
  189. package/dist/modules/workflow-index/workflow-index.service.js.map +1 -1
  190. package/dist/permissions.ee/check-access.d.ts +2 -1
  191. package/dist/permissions.ee/check-access.js +51 -2
  192. package/dist/permissions.ee/check-access.js.map +1 -1
  193. package/dist/public-api/index.js +96 -54
  194. package/dist/public-api/index.js.map +1 -1
  195. package/dist/public-api/types.d.ts +46 -0
  196. package/dist/public-api/v1/handlers/audit/audit.handler.d.ts +1 -0
  197. package/dist/public-api/v1/handlers/credentials/credentials.handler.d.ts +6 -3
  198. package/dist/public-api/v1/handlers/credentials/credentials.service.js +0 -6
  199. package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
  200. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.d.ts +19 -0
  201. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js +169 -0
  202. package/dist/public-api/v1/handlers/data-tables/data-tables.handler.js.map +1 -0
  203. package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.d.ts +25 -0
  204. package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.js +184 -0
  205. package/dist/public-api/v1/handlers/data-tables/data-tables.rows.handler.js.map +1 -0
  206. package/dist/public-api/v1/handlers/executions/executions.handler.js +3 -1
  207. package/dist/public-api/v1/handlers/executions/executions.handler.js.map +1 -1
  208. package/dist/public-api/v1/handlers/projects/projects.handler.d.ts +7 -0
  209. package/dist/public-api/v1/handlers/source-control/source-control.handler.d.ts +1 -0
  210. package/dist/public-api/v1/handlers/tags/tags.handler.d.ts +8 -3
  211. package/dist/public-api/v1/handlers/users/users.handler.ee.d.ts +10 -3
  212. package/dist/public-api/v1/handlers/variables/variables.handler.d.ts +4 -0
  213. package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +18 -9
  214. package/dist/public-api/v1/openapi.yml +692 -0
  215. package/dist/public-api/v1/shared/middlewares/global.middleware.d.ts +4 -1
  216. package/dist/public-api/v1/shared/middlewares/global.middleware.js +3 -0
  217. package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
  218. package/dist/scaling/constants.d.ts +2 -2
  219. package/dist/scaling/constants.js +1 -0
  220. package/dist/scaling/constants.js.map +1 -1
  221. package/dist/scaling/job-processor.d.ts +3 -2
  222. package/dist/scaling/job-processor.js +34 -6
  223. package/dist/scaling/job-processor.js.map +1 -1
  224. package/dist/scaling/pubsub/pubsub.event-map.d.ts +40 -1
  225. package/dist/scaling/pubsub/pubsub.types.d.ts +4 -1
  226. package/dist/scaling/scaling.service.d.ts +3 -1
  227. package/dist/scaling/scaling.service.js +18 -0
  228. package/dist/scaling/scaling.service.js.map +1 -1
  229. package/dist/scaling/scaling.types.d.ts +21 -3
  230. package/dist/server.d.ts +1 -0
  231. package/dist/server.js +1 -0
  232. package/dist/server.js.map +1 -1
  233. package/dist/services/ai-usage.service.d.ts +9 -0
  234. package/dist/services/ai-usage.service.js +48 -0
  235. package/dist/services/ai-usage.service.js.map +1 -0
  236. package/dist/services/ai-workflow-builder.service.d.ts +1 -0
  237. package/dist/services/ai-workflow-builder.service.js +7 -0
  238. package/dist/services/ai-workflow-builder.service.js.map +1 -1
  239. package/dist/services/dynamic-templates.service.d.ts +11 -0
  240. package/dist/services/dynamic-templates.service.js +49 -0
  241. package/dist/services/dynamic-templates.service.js.map +1 -0
  242. package/dist/services/frontend.service.d.ts +3 -1
  243. package/dist/services/frontend.service.js +15 -3
  244. package/dist/services/frontend.service.js.map +1 -1
  245. package/dist/services/import.service.js +1 -1
  246. package/dist/services/import.service.js.map +1 -1
  247. package/dist/services/pruning/executions-pruning.service.d.ts +4 -3
  248. package/dist/services/pruning/executions-pruning.service.js +9 -9
  249. package/dist/services/pruning/executions-pruning.service.js.map +1 -1
  250. package/dist/services/redis-client.service.js +17 -1
  251. package/dist/services/redis-client.service.js.map +1 -1
  252. package/dist/telemetry/index.js +0 -8
  253. package/dist/telemetry/index.js.map +1 -1
  254. package/dist/utils/validate-database-type.js +0 -3
  255. package/dist/utils/validate-database-type.js.map +1 -1
  256. package/dist/utils.d.ts +1 -0
  257. package/dist/utils.js +11 -1
  258. package/dist/utils.js.map +1 -1
  259. package/dist/webhooks/webhook-helpers.js +11 -2
  260. package/dist/webhooks/webhook-helpers.js.map +1 -1
  261. package/dist/workflow-runner.d.ts +6 -2
  262. package/dist/workflow-runner.js +56 -18
  263. package/dist/workflow-runner.js.map +1 -1
  264. package/dist/workflows/workflow-execution.service.d.ts +4 -3
  265. package/dist/workflows/workflow-execution.service.js +5 -4
  266. package/dist/workflows/workflow-execution.service.js.map +1 -1
  267. package/dist/workflows/workflow-history/workflow-history.service.d.ts +5 -1
  268. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
  269. package/dist/workflows/workflow-static-data.service.d.ts +1 -3
  270. package/dist/workflows/workflow-static-data.service.js +2 -8
  271. package/dist/workflows/workflow-static-data.service.js.map +1 -1
  272. package/dist/workflows/workflow.service.ee.js +7 -5
  273. package/dist/workflows/workflow.service.ee.js.map +1 -1
  274. package/dist/workflows/workflows.controller.d.ts +4 -4
  275. package/package.json +25 -26
  276. package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.d.ts +0 -9
  277. package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.js +0 -57
  278. package/dist/modules/breaking-changes/rules/v2/removed-database-types.rule.js.map +0 -1
@@ -30,6 +30,8 @@ tags:
30
30
  description: Operations about source control
31
31
  - name: Variables
32
32
  description: Operations about variables
33
+ - name: DataTable
34
+ description: Operations about data tables and their rows
33
35
  - name: Projects
34
36
  description: Operations about projects
35
37
  externalDocs:
@@ -1100,6 +1102,411 @@ paths:
1100
1102
  $ref: '#/components/responses/forbidden'
1101
1103
  '404':
1102
1104
  $ref: '#/components/responses/notFound'
1105
+ /data-tables:
1106
+ get:
1107
+ x-eov-operation-id: listDataTables
1108
+ x-eov-operation-handler: v1/handlers/data-tables/data-tables.handler
1109
+ tags:
1110
+ - DataTable
1111
+ summary: List all data tables
1112
+ description: Retrieve a list of all data tables with optional filtering, sorting, and pagination.
1113
+ operationId: list-data-tables
1114
+ parameters:
1115
+ - $ref: '#/components/parameters/limit'
1116
+ - $ref: '#/components/parameters/cursor'
1117
+ - name: filter
1118
+ in: query
1119
+ description: JSON string of filter conditions
1120
+ schema:
1121
+ type: string
1122
+ format: jsonString
1123
+ example: '{"name":"my-table"}'
1124
+ - name: sortBy
1125
+ in: query
1126
+ description: 'Sort format: field:asc or field:desc'
1127
+ schema:
1128
+ type: string
1129
+ example: name:asc
1130
+ responses:
1131
+ '200':
1132
+ description: Successfully retrieved data tables
1133
+ content:
1134
+ application/json:
1135
+ schema:
1136
+ $ref: '#/components/schemas/dataTableList'
1137
+ '400':
1138
+ $ref: '#/components/responses/badRequest'
1139
+ '401':
1140
+ $ref: '#/components/responses/unauthorized'
1141
+ security:
1142
+ - ApiKeyAuth: []
1143
+ post:
1144
+ x-eov-operation-id: createDataTable
1145
+ x-eov-operation-handler: v1/handlers/data-tables/data-tables.handler
1146
+ tags:
1147
+ - DataTable
1148
+ summary: Create a new data table
1149
+ description: Create a new data table in your workspace.
1150
+ operationId: create-data-table
1151
+ requestBody:
1152
+ required: true
1153
+ content:
1154
+ application/json:
1155
+ schema:
1156
+ $ref: '#/components/schemas/createDataTableRequest'
1157
+ example:
1158
+ name: customers
1159
+ columns:
1160
+ - name: email
1161
+ type: string
1162
+ - name: status
1163
+ type: string
1164
+ - name: age
1165
+ type: number
1166
+ responses:
1167
+ '201':
1168
+ description: Data table created successfully
1169
+ content:
1170
+ application/json:
1171
+ schema:
1172
+ $ref: '#/components/schemas/dataTable'
1173
+ '400':
1174
+ $ref: '#/components/responses/badRequest'
1175
+ '401':
1176
+ $ref: '#/components/responses/unauthorized'
1177
+ '409':
1178
+ $ref: '#/components/responses/conflict'
1179
+ security:
1180
+ - ApiKeyAuth: []
1181
+ /data-tables/{dataTableId}:
1182
+ get:
1183
+ x-eov-operation-id: getDataTable
1184
+ x-eov-operation-handler: v1/handlers/data-tables/data-tables.handler
1185
+ tags:
1186
+ - DataTable
1187
+ summary: Get a data table
1188
+ description: Retrieve a specific data table by ID.
1189
+ operationId: get-data-table
1190
+ parameters:
1191
+ - $ref: '#/components/parameters/dataTableId'
1192
+ responses:
1193
+ '200':
1194
+ description: Successfully retrieved data table
1195
+ content:
1196
+ application/json:
1197
+ schema:
1198
+ $ref: '#/components/schemas/dataTable'
1199
+ '401':
1200
+ $ref: '#/components/responses/unauthorized'
1201
+ '404':
1202
+ $ref: '#/components/responses/notFound'
1203
+ security:
1204
+ - ApiKeyAuth: []
1205
+ patch:
1206
+ x-eov-operation-id: updateDataTable
1207
+ x-eov-operation-handler: v1/handlers/data-tables/data-tables.handler
1208
+ tags:
1209
+ - DataTable
1210
+ summary: Update a data table
1211
+ description: Update a data table's name.
1212
+ operationId: update-data-table
1213
+ parameters:
1214
+ - $ref: '#/components/parameters/dataTableId'
1215
+ requestBody:
1216
+ required: true
1217
+ content:
1218
+ application/json:
1219
+ schema:
1220
+ $ref: '#/components/schemas/updateDataTableRequest'
1221
+ example:
1222
+ name: updated-customers
1223
+ responses:
1224
+ '200':
1225
+ description: Data table updated successfully
1226
+ content:
1227
+ application/json:
1228
+ schema:
1229
+ $ref: '#/components/schemas/dataTable'
1230
+ '400':
1231
+ $ref: '#/components/responses/badRequest'
1232
+ '401':
1233
+ $ref: '#/components/responses/unauthorized'
1234
+ '404':
1235
+ $ref: '#/components/responses/notFound'
1236
+ '409':
1237
+ $ref: '#/components/responses/conflict'
1238
+ security:
1239
+ - ApiKeyAuth: []
1240
+ delete:
1241
+ x-eov-operation-id: deleteDataTable
1242
+ x-eov-operation-handler: v1/handlers/data-tables/data-tables.handler
1243
+ tags:
1244
+ - DataTable
1245
+ summary: Delete a data table
1246
+ description: Delete a data table. This will also delete all rows in the table.
1247
+ operationId: delete-data-table
1248
+ parameters:
1249
+ - $ref: '#/components/parameters/dataTableId'
1250
+ responses:
1251
+ '204':
1252
+ description: Data table deleted successfully
1253
+ '401':
1254
+ $ref: '#/components/responses/unauthorized'
1255
+ '404':
1256
+ $ref: '#/components/responses/notFound'
1257
+ security:
1258
+ - ApiKeyAuth: []
1259
+ /data-tables/{dataTableId}/rows:
1260
+ get:
1261
+ x-eov-operation-id: getDataTableRows
1262
+ x-eov-operation-handler: v1/handlers/data-tables/data-tables.rows.handler
1263
+ tags:
1264
+ - DataTable
1265
+ summary: Retrieve rows from a data table
1266
+ description: Query and retrieve rows from a data table with optional filtering, sorting, and pagination.
1267
+ operationId: get-data-table-rows
1268
+ parameters:
1269
+ - $ref: '#/components/parameters/dataTableId'
1270
+ - $ref: '#/components/parameters/limit'
1271
+ - $ref: '#/components/parameters/cursor'
1272
+ - name: filter
1273
+ in: query
1274
+ description: JSON string of filter conditions
1275
+ schema:
1276
+ type: string
1277
+ format: jsonString
1278
+ example: '{"type":"and","filters":[{"columnName":"status","condition":"eq","value":"active"}]}'
1279
+ - name: sortBy
1280
+ in: query
1281
+ description: 'Sort format: columnName:asc or columnName:desc'
1282
+ schema:
1283
+ type: string
1284
+ example: createdAt:desc
1285
+ - name: search
1286
+ in: query
1287
+ description: Search text across all string columns
1288
+ schema:
1289
+ type: string
1290
+ responses:
1291
+ '200':
1292
+ description: Successfully retrieved rows
1293
+ content:
1294
+ application/json:
1295
+ schema:
1296
+ $ref: '#/components/schemas/dataTableRowList'
1297
+ '400':
1298
+ $ref: '#/components/responses/badRequest'
1299
+ '401':
1300
+ $ref: '#/components/responses/unauthorized'
1301
+ '404':
1302
+ $ref: '#/components/responses/notFound'
1303
+ security:
1304
+ - ApiKeyAuth: []
1305
+ post:
1306
+ x-eov-operation-id: insertDataTableRows
1307
+ x-eov-operation-handler: v1/handlers/data-tables/data-tables.rows.handler
1308
+ tags:
1309
+ - DataTable
1310
+ summary: Insert rows into a data table
1311
+ description: Insert one or more rows into a data table.
1312
+ operationId: insert-data-table-rows
1313
+ parameters:
1314
+ - $ref: '#/components/parameters/dataTableId'
1315
+ requestBody:
1316
+ required: true
1317
+ content:
1318
+ application/json:
1319
+ schema:
1320
+ $ref: '#/components/schemas/insertRowsRequest'
1321
+ example:
1322
+ data:
1323
+ - name: John Doe
1324
+ email: john@example.com
1325
+ age: 30
1326
+ - name: Jane Smith
1327
+ email: jane@example.com
1328
+ age: 25
1329
+ returnType: all
1330
+ responses:
1331
+ '200':
1332
+ description: Rows inserted successfully
1333
+ content:
1334
+ application/json:
1335
+ schema:
1336
+ oneOf:
1337
+ - type: object
1338
+ properties:
1339
+ count:
1340
+ type: integer
1341
+ description: Number of rows inserted (when returnType is 'count')
1342
+ - type: array
1343
+ items:
1344
+ type: integer
1345
+ description: Array of inserted row IDs (when returnType is 'id')
1346
+ - type: array
1347
+ items:
1348
+ $ref: '#/components/schemas/dataTableRow'
1349
+ description: Array of inserted rows (when returnType is 'all')
1350
+ '400':
1351
+ $ref: '#/components/responses/badRequest'
1352
+ '401':
1353
+ $ref: '#/components/responses/unauthorized'
1354
+ '404':
1355
+ $ref: '#/components/responses/notFound'
1356
+ security:
1357
+ - ApiKeyAuth: []
1358
+ /data-tables/{dataTableId}/rows/update:
1359
+ patch:
1360
+ x-eov-operation-id: updateDataTableRows
1361
+ x-eov-operation-handler: v1/handlers/data-tables/data-tables.rows.handler
1362
+ tags:
1363
+ - DataTable
1364
+ summary: Update rows in a data table
1365
+ description: Update rows matching filter conditions in a data table.
1366
+ operationId: update-data-table-rows
1367
+ parameters:
1368
+ - $ref: '#/components/parameters/dataTableId'
1369
+ requestBody:
1370
+ required: true
1371
+ content:
1372
+ application/json:
1373
+ schema:
1374
+ $ref: '#/components/schemas/updateRowsRequest'
1375
+ example:
1376
+ filter:
1377
+ type: and
1378
+ filters:
1379
+ - columnName: status
1380
+ condition: eq
1381
+ value: pending
1382
+ data:
1383
+ status: completed
1384
+ updatedBy: admin
1385
+ returnData: false
1386
+ dryRun: false
1387
+ responses:
1388
+ '200':
1389
+ description: Rows updated successfully
1390
+ content:
1391
+ application/json:
1392
+ schema:
1393
+ oneOf:
1394
+ - type: boolean
1395
+ description: True when returnData is false
1396
+ - type: array
1397
+ items:
1398
+ $ref: '#/components/schemas/dataTableRow'
1399
+ description: Updated rows when returnData is true
1400
+ '400':
1401
+ $ref: '#/components/responses/badRequest'
1402
+ '401':
1403
+ $ref: '#/components/responses/unauthorized'
1404
+ '404':
1405
+ $ref: '#/components/responses/notFound'
1406
+ security:
1407
+ - ApiKeyAuth: []
1408
+ /data-tables/{dataTableId}/rows/upsert:
1409
+ post:
1410
+ x-eov-operation-id: upsertDataTableRow
1411
+ x-eov-operation-handler: v1/handlers/data-tables/data-tables.rows.handler
1412
+ tags:
1413
+ - DataTable
1414
+ summary: Upsert a row in a data table
1415
+ description: Update an existing row or insert a new one if no row matches the filter conditions.
1416
+ operationId: upsert-data-table-row
1417
+ parameters:
1418
+ - $ref: '#/components/parameters/dataTableId'
1419
+ requestBody:
1420
+ required: true
1421
+ content:
1422
+ application/json:
1423
+ schema:
1424
+ $ref: '#/components/schemas/upsertRowRequest'
1425
+ example:
1426
+ filter:
1427
+ type: and
1428
+ filters:
1429
+ - columnName: email
1430
+ condition: eq
1431
+ value: user@example.com
1432
+ data:
1433
+ email: user@example.com
1434
+ name: Updated Name
1435
+ status: active
1436
+ returnData: true
1437
+ dryRun: false
1438
+ responses:
1439
+ '200':
1440
+ description: Row upserted successfully
1441
+ content:
1442
+ application/json:
1443
+ schema:
1444
+ oneOf:
1445
+ - type: boolean
1446
+ description: True when returnData is false
1447
+ - allOf:
1448
+ - $ref: '#/components/schemas/dataTableRow'
1449
+ description: Upserted row when returnData is true
1450
+ '400':
1451
+ $ref: '#/components/responses/badRequest'
1452
+ '401':
1453
+ $ref: '#/components/responses/unauthorized'
1454
+ '404':
1455
+ $ref: '#/components/responses/notFound'
1456
+ security:
1457
+ - ApiKeyAuth: []
1458
+ /data-tables/{dataTableId}/rows/delete:
1459
+ delete:
1460
+ x-eov-operation-id: deleteDataTableRows
1461
+ x-eov-operation-handler: v1/handlers/data-tables/data-tables.rows.handler
1462
+ tags:
1463
+ - DataTable
1464
+ summary: Delete rows from a data table
1465
+ description: Delete rows matching filter conditions from a data table. Filter is required to prevent accidental deletion of all data.
1466
+ operationId: delete-data-table-rows
1467
+ parameters:
1468
+ - $ref: '#/components/parameters/dataTableId'
1469
+ - name: filter
1470
+ in: query
1471
+ required: true
1472
+ description: JSON string of filter conditions. Required to prevent accidental deletion of all data.
1473
+ schema:
1474
+ type: string
1475
+ format: jsonString
1476
+ example: '{"type":"and","filters":[{"columnName":"status","condition":"eq","value":"archived"}]}'
1477
+ - name: returnData
1478
+ in: query
1479
+ description: If true, return the deleted rows; if false, return true on success
1480
+ schema:
1481
+ type: boolean
1482
+ default: false
1483
+ - name: dryRun
1484
+ in: query
1485
+ description: If true, preview which rows would be deleted without actually deleting them
1486
+ schema:
1487
+ type: boolean
1488
+ default: false
1489
+ responses:
1490
+ '200':
1491
+ description: Rows deleted successfully
1492
+ content:
1493
+ application/json:
1494
+ schema:
1495
+ oneOf:
1496
+ - type: boolean
1497
+ description: True when returnData is false
1498
+ - type: array
1499
+ items:
1500
+ $ref: '#/components/schemas/dataTableRow'
1501
+ description: Deleted rows when returnData is true
1502
+ '400':
1503
+ $ref: '#/components/responses/badRequest'
1504
+ '401':
1505
+ $ref: '#/components/responses/unauthorized'
1506
+ '404':
1507
+ $ref: '#/components/responses/notFound'
1508
+ security:
1509
+ - ApiKeyAuth: []
1103
1510
  /projects:
1104
1511
  post:
1105
1512
  x-eov-operation-id: createProject
@@ -2026,6 +2433,19 @@ components:
2026
2433
  force:
2027
2434
  type: boolean
2028
2435
  example: true
2436
+ autoPublish:
2437
+ type: string
2438
+ enum:
2439
+ - none
2440
+ - all
2441
+ - published
2442
+ default: none
2443
+ description: |
2444
+ Controls automatic workflow publishing after import:
2445
+ - `none`: Keep workflows in their local published state (default)
2446
+ - `all`: Publish all imported workflows
2447
+ - `published`: Publish only workflows that were published locally before import
2448
+ example: published
2029
2449
  variables:
2030
2450
  type: object
2031
2451
  example:
@@ -2154,6 +2574,270 @@ components:
2154
2574
  type: string
2155
2575
  example: VmwOO9HeTEj20kxM
2156
2576
  nullable: true
2577
+ dataTable:
2578
+ type: object
2579
+ properties:
2580
+ id:
2581
+ type: string
2582
+ description: Unique identifier for the data table
2583
+ name:
2584
+ type: string
2585
+ description: Name of the data table
2586
+ columns:
2587
+ type: array
2588
+ description: Column definitions
2589
+ items:
2590
+ type: object
2591
+ properties:
2592
+ id:
2593
+ type: string
2594
+ description: Column ID
2595
+ name:
2596
+ type: string
2597
+ description: Column name
2598
+ type:
2599
+ type: string
2600
+ enum:
2601
+ - string
2602
+ - number
2603
+ - boolean
2604
+ - date
2605
+ description: Column data type
2606
+ index:
2607
+ type: integer
2608
+ description: Column position
2609
+ projectId:
2610
+ type: string
2611
+ description: ID of the project this table belongs to
2612
+ createdAt:
2613
+ type: string
2614
+ format: date-time
2615
+ description: Timestamp when the table was created
2616
+ updatedAt:
2617
+ type: string
2618
+ format: date-time
2619
+ description: Timestamp when the table was last updated
2620
+ required:
2621
+ - id
2622
+ - name
2623
+ - columns
2624
+ - projectId
2625
+ - createdAt
2626
+ - updatedAt
2627
+ dataTableList:
2628
+ type: object
2629
+ properties:
2630
+ data:
2631
+ type: array
2632
+ items:
2633
+ $ref: '#/components/schemas/dataTable'
2634
+ nextCursor:
2635
+ type: string
2636
+ description: Paginate through data tables by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first "page" of the collection.
2637
+ nullable: true
2638
+ example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
2639
+ createDataTableRequest:
2640
+ type: object
2641
+ properties:
2642
+ name:
2643
+ type: string
2644
+ description: Name of the data table
2645
+ minLength: 1
2646
+ maxLength: 128
2647
+ columns:
2648
+ type: array
2649
+ description: Column definitions for the table
2650
+ items:
2651
+ type: object
2652
+ properties:
2653
+ name:
2654
+ type: string
2655
+ description: Column name
2656
+ minLength: 1
2657
+ type:
2658
+ type: string
2659
+ enum:
2660
+ - string
2661
+ - number
2662
+ - boolean
2663
+ - date
2664
+ - json
2665
+ description: Column data type
2666
+ required:
2667
+ - name
2668
+ - type
2669
+ required:
2670
+ - name
2671
+ - columns
2672
+ updateDataTableRequest:
2673
+ type: object
2674
+ properties:
2675
+ name:
2676
+ type: string
2677
+ description: New name for the data table
2678
+ minLength: 1
2679
+ maxLength: 128
2680
+ required:
2681
+ - name
2682
+ dataTableRow:
2683
+ type: object
2684
+ properties:
2685
+ id:
2686
+ type: integer
2687
+ description: The row ID (auto-generated)
2688
+ createdAt:
2689
+ type: string
2690
+ format: date-time
2691
+ description: The date and time the row was created
2692
+ updatedAt:
2693
+ type: string
2694
+ format: date-time
2695
+ description: The date and time the row was last updated
2696
+ additionalProperties: true
2697
+ description: A data table row with system columns (id, createdAt, updatedAt) and user-defined columns
2698
+ dataTableRowList:
2699
+ type: object
2700
+ properties:
2701
+ data:
2702
+ type: array
2703
+ items:
2704
+ $ref: '#/components/schemas/dataTableRow'
2705
+ nextCursor:
2706
+ type: string
2707
+ description: Paginate through rows by setting the cursor parameter to a nextCursor attribute returned by a previous request. Default value fetches the first "page" of the collection.
2708
+ nullable: true
2709
+ example: MTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDA
2710
+ insertRowsRequest:
2711
+ type: object
2712
+ properties:
2713
+ data:
2714
+ type: array
2715
+ items:
2716
+ type: object
2717
+ additionalProperties: true
2718
+ description: Array of rows to insert. Each row is an object with column names as keys.
2719
+ minItems: 1
2720
+ returnType:
2721
+ type: string
2722
+ enum:
2723
+ - count
2724
+ - id
2725
+ - all
2726
+ default: count
2727
+ description: |
2728
+ - count: Return only the number of rows inserted
2729
+ - id: Return an array of inserted row IDs
2730
+ - all: Return the full row data for all inserted rows
2731
+ required:
2732
+ - data
2733
+ updateRowsRequest:
2734
+ type: object
2735
+ properties:
2736
+ filter:
2737
+ type: object
2738
+ properties:
2739
+ type:
2740
+ type: string
2741
+ enum:
2742
+ - and
2743
+ - or
2744
+ default: and
2745
+ filters:
2746
+ type: array
2747
+ minItems: 1
2748
+ items:
2749
+ type: object
2750
+ properties:
2751
+ columnName:
2752
+ type: string
2753
+ condition:
2754
+ type: string
2755
+ enum:
2756
+ - eq
2757
+ - neq
2758
+ - like
2759
+ - ilike
2760
+ - gt
2761
+ - gte
2762
+ - lt
2763
+ - lte
2764
+ value: {}
2765
+ required:
2766
+ - columnName
2767
+ - condition
2768
+ - value
2769
+ required:
2770
+ - filters
2771
+ description: Filter conditions to match rows for update
2772
+ data:
2773
+ type: object
2774
+ additionalProperties: true
2775
+ description: Column values to update
2776
+ returnData:
2777
+ type: boolean
2778
+ default: false
2779
+ description: If true, return the updated rows; if false, return true on success
2780
+ dryRun:
2781
+ type: boolean
2782
+ default: false
2783
+ description: If true, preview changes without persisting them
2784
+ required:
2785
+ - filter
2786
+ - data
2787
+ upsertRowRequest:
2788
+ type: object
2789
+ properties:
2790
+ filter:
2791
+ type: object
2792
+ properties:
2793
+ type:
2794
+ type: string
2795
+ enum:
2796
+ - and
2797
+ - or
2798
+ default: and
2799
+ filters:
2800
+ type: array
2801
+ minItems: 1
2802
+ items:
2803
+ type: object
2804
+ properties:
2805
+ columnName:
2806
+ type: string
2807
+ condition:
2808
+ type: string
2809
+ enum:
2810
+ - eq
2811
+ - neq
2812
+ - like
2813
+ - ilike
2814
+ - gt
2815
+ - gte
2816
+ - lt
2817
+ - lte
2818
+ value: {}
2819
+ required:
2820
+ - columnName
2821
+ - condition
2822
+ - value
2823
+ required:
2824
+ - filters
2825
+ description: Filter conditions to match existing row. If no row matches, a new row is inserted.
2826
+ data:
2827
+ type: object
2828
+ additionalProperties: true
2829
+ description: Column values for the row
2830
+ returnData:
2831
+ type: boolean
2832
+ default: false
2833
+ description: If true, return the upserted row; if false, return true on success
2834
+ dryRun:
2835
+ type: boolean
2836
+ default: false
2837
+ description: If true, preview changes without persisting them
2838
+ required:
2839
+ - filter
2840
+ - data
2157
2841
  projectList:
2158
2842
  type: object
2159
2843
  properties:
@@ -2353,6 +3037,14 @@ components:
2353
3037
  required: true
2354
3038
  schema:
2355
3039
  type: string
3040
+ dataTableId:
3041
+ name: dataTableId
3042
+ in: path
3043
+ description: The ID of the data table
3044
+ required: true
3045
+ schema:
3046
+ type: string
3047
+ format: nanoid
2356
3048
  Cursor:
2357
3049
  $ref: '#/components/parameters/cursor'
2358
3050
  Limit: