@novu/api 1.6.1-rc.0 → 1.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 (266) hide show
  1. package/README.md +14 -17
  2. package/bin/mcp-server.js +389 -236
  3. package/bin/mcp-server.js.map +62 -58
  4. package/docs/sdks/groups/README.md +23 -23
  5. package/docs/sdks/master/README.md +4 -4
  6. package/docs/sdks/preferences/README.md +136 -2
  7. package/docs/sdks/translations/README.md +11 -11
  8. package/examples/package-lock.json +1 -1
  9. package/funcs/translationsCreate.d.ts +2 -2
  10. package/funcs/translationsCreate.js +2 -2
  11. package/funcs/translationsDelete.d.ts +1 -1
  12. package/funcs/translationsDelete.js +1 -1
  13. package/funcs/translationsGroupsDelete.d.ts +1 -1
  14. package/funcs/translationsGroupsDelete.js +1 -1
  15. package/funcs/translationsGroupsRetrieve.d.ts +2 -2
  16. package/funcs/translationsGroupsRetrieve.js +2 -2
  17. package/funcs/translationsMasterImport.d.ts +1 -1
  18. package/funcs/translationsMasterImport.js +1 -1
  19. package/funcs/translationsMasterRetrieve.d.ts +2 -2
  20. package/funcs/translationsMasterRetrieve.js +2 -2
  21. package/funcs/translationsMasterUpload.d.ts +1 -1
  22. package/funcs/translationsMasterUpload.js +1 -1
  23. package/funcs/translationsRetrieve.d.ts +2 -2
  24. package/funcs/translationsRetrieve.js +2 -2
  25. package/funcs/translationsUpload.d.ts +1 -1
  26. package/funcs/translationsUpload.js +1 -1
  27. package/jsr.json +1 -1
  28. package/lib/config.d.ts +3 -3
  29. package/lib/config.js +3 -3
  30. package/lib/config.js.map +1 -1
  31. package/lib/url.js +1 -1
  32. package/lib/url.js.map +1 -1
  33. package/mcp-server/mcp-server.js +1 -1
  34. package/mcp-server/mcp-server.js.map +1 -1
  35. package/mcp-server/server.js +1 -1
  36. package/mcp-server/server.js.map +1 -1
  37. package/mcp-server/tools/translationsCreate.js +2 -2
  38. package/mcp-server/tools/translationsCreate.js.map +1 -1
  39. package/mcp-server/tools/translationsDelete.js +1 -1
  40. package/mcp-server/tools/translationsGroupsDelete.js +1 -1
  41. package/mcp-server/tools/translationsGroupsRetrieve.js +2 -2
  42. package/mcp-server/tools/translationsGroupsRetrieve.js.map +1 -1
  43. package/mcp-server/tools/translationsMasterImport.js +1 -1
  44. package/mcp-server/tools/translationsMasterImport.js.map +1 -1
  45. package/mcp-server/tools/translationsMasterRetrieve.js +2 -2
  46. package/mcp-server/tools/translationsMasterRetrieve.js.map +1 -1
  47. package/mcp-server/tools/translationsMasterUpload.js +1 -1
  48. package/mcp-server/tools/translationsMasterUpload.js.map +1 -1
  49. package/mcp-server/tools/translationsRetrieve.js +2 -2
  50. package/mcp-server/tools/translationsRetrieve.js.map +1 -1
  51. package/mcp-server/tools/translationsUpload.js +1 -1
  52. package/models/components/activitynotificationjobresponsedto.d.ts +8 -0
  53. package/models/components/activitynotificationjobresponsedto.d.ts.map +1 -1
  54. package/models/components/activitynotificationjobresponsedto.js +3 -0
  55. package/models/components/activitynotificationjobresponsedto.js.map +1 -1
  56. package/models/components/activitynotificationresponsedto.d.ts +23 -78
  57. package/models/components/activitynotificationresponsedto.d.ts.map +1 -1
  58. package/models/components/activitynotificationresponsedto.js +9 -78
  59. package/models/components/activitynotificationresponsedto.js.map +1 -1
  60. package/models/components/chatstepresponsedto.d.ts +2 -26
  61. package/models/components/chatstepresponsedto.d.ts.map +1 -1
  62. package/models/components/chatstepresponsedto.js +3 -26
  63. package/models/components/chatstepresponsedto.js.map +1 -1
  64. package/models/components/constraintvalidation.d.ts +4 -4
  65. package/models/components/constraintvalidation.d.ts.map +1 -1
  66. package/models/components/constraintvalidation.js +4 -4
  67. package/models/components/constraintvalidation.js.map +1 -1
  68. package/models/components/createworkflowdto.d.ts +9 -0
  69. package/models/components/createworkflowdto.d.ts.map +1 -1
  70. package/models/components/createworkflowdto.js +13 -0
  71. package/models/components/createworkflowdto.js.map +1 -1
  72. package/models/components/customstepresponsedto.d.ts +2 -26
  73. package/models/components/customstepresponsedto.d.ts.map +1 -1
  74. package/models/components/customstepresponsedto.js +3 -26
  75. package/models/components/customstepresponsedto.js.map +1 -1
  76. package/models/components/delaystepresponsedto.d.ts +2 -26
  77. package/models/components/delaystepresponsedto.d.ts.map +1 -1
  78. package/models/components/delaystepresponsedto.js +3 -26
  79. package/models/components/delaystepresponsedto.js.map +1 -1
  80. package/models/components/digeststepresponsedto.d.ts +2 -26
  81. package/models/components/digeststepresponsedto.d.ts.map +1 -1
  82. package/models/components/digeststepresponsedto.js +3 -26
  83. package/models/components/digeststepresponsedto.js.map +1 -1
  84. package/models/components/emailstepresponsedto.d.ts +2 -26
  85. package/models/components/emailstepresponsedto.d.ts.map +1 -1
  86. package/models/components/emailstepresponsedto.js +3 -26
  87. package/models/components/emailstepresponsedto.js.map +1 -1
  88. package/models/components/inappstepresponsedto.d.ts +2 -26
  89. package/models/components/inappstepresponsedto.d.ts.map +1 -1
  90. package/models/components/inappstepresponsedto.js +3 -26
  91. package/models/components/inappstepresponsedto.js.map +1 -1
  92. package/models/components/index.d.ts +4 -0
  93. package/models/components/index.d.ts.map +1 -1
  94. package/models/components/index.js +4 -0
  95. package/models/components/index.js.map +1 -1
  96. package/models/components/layoutresponsedto.d.ts +4 -52
  97. package/models/components/layoutresponsedto.d.ts.map +1 -1
  98. package/models/components/layoutresponsedto.js +5 -52
  99. package/models/components/layoutresponsedto.js.map +1 -1
  100. package/models/components/listsubscribersresponsedto.d.ts +10 -0
  101. package/models/components/listsubscribersresponsedto.d.ts.map +1 -1
  102. package/models/components/listsubscribersresponsedto.js +4 -0
  103. package/models/components/listsubscribersresponsedto.js.map +1 -1
  104. package/models/components/listtopicsresponsedto.d.ts +10 -0
  105. package/models/components/listtopicsresponsedto.d.ts.map +1 -1
  106. package/models/components/listtopicsresponsedto.js +4 -0
  107. package/models/components/listtopicsresponsedto.js.map +1 -1
  108. package/models/components/listtopicsubscriptionsresponsedto.d.ts +10 -0
  109. package/models/components/listtopicsubscriptionsresponsedto.d.ts.map +1 -1
  110. package/models/components/listtopicsubscriptionsresponsedto.js +4 -0
  111. package/models/components/listtopicsubscriptionsresponsedto.js.map +1 -1
  112. package/models/components/patchsubscriberpreferencesdto.d.ts +8 -2
  113. package/models/components/patchsubscriberpreferencesdto.d.ts.map +1 -1
  114. package/models/components/patchsubscriberpreferencesdto.js +5 -2
  115. package/models/components/patchsubscriberpreferencesdto.js.map +1 -1
  116. package/models/components/payloadvalidationerrordto.d.ts +4 -4
  117. package/models/components/payloadvalidationerrordto.d.ts.map +1 -1
  118. package/models/components/payloadvalidationerrordto.js +4 -4
  119. package/models/components/payloadvalidationerrordto.js.map +1 -1
  120. package/models/components/pushstepresponsedto.d.ts +2 -26
  121. package/models/components/pushstepresponsedto.d.ts.map +1 -1
  122. package/models/components/pushstepresponsedto.js +3 -26
  123. package/models/components/pushstepresponsedto.js.map +1 -1
  124. package/models/components/smsstepresponsedto.d.ts +2 -26
  125. package/models/components/smsstepresponsedto.d.ts.map +1 -1
  126. package/models/components/smsstepresponsedto.js +3 -26
  127. package/models/components/smsstepresponsedto.js.map +1 -1
  128. package/models/components/steplistresponsedto.d.ts +2 -26
  129. package/models/components/steplistresponsedto.d.ts.map +1 -1
  130. package/models/components/steplistresponsedto.js +3 -26
  131. package/models/components/steplistresponsedto.js.map +1 -1
  132. package/models/components/stepresponsedto.d.ts +2 -26
  133. package/models/components/stepresponsedto.d.ts.map +1 -1
  134. package/models/components/stepresponsedto.js +3 -26
  135. package/models/components/stepresponsedto.js.map +1 -1
  136. package/models/components/steptypeenum.d.ts +3 -0
  137. package/models/components/steptypeenum.d.ts.map +1 -1
  138. package/models/components/steptypeenum.js +1 -0
  139. package/models/components/steptypeenum.js.map +1 -1
  140. package/models/components/throttlecontroldto.d.ts +132 -0
  141. package/models/components/throttlecontroldto.d.ts.map +1 -0
  142. package/models/components/throttlecontroldto.js +126 -0
  143. package/models/components/throttlecontroldto.js.map +1 -0
  144. package/models/components/throttlecontrolsmetadataresponsedto.d.ts +48 -0
  145. package/models/components/throttlecontrolsmetadataresponsedto.d.ts.map +1 -0
  146. package/models/components/throttlecontrolsmetadataresponsedto.js +75 -0
  147. package/models/components/throttlecontrolsmetadataresponsedto.js.map +1 -0
  148. package/models/components/throttlestepresponsedto.d.ts +230 -0
  149. package/models/components/throttlestepresponsedto.d.ts.map +1 -0
  150. package/models/components/throttlestepresponsedto.js +196 -0
  151. package/models/components/throttlestepresponsedto.js.map +1 -0
  152. package/models/components/throttlestepupsertdto.d.ts +81 -0
  153. package/models/components/throttlestepupsertdto.d.ts.map +1 -0
  154. package/models/components/throttlestepupsertdto.js +111 -0
  155. package/models/components/throttlestepupsertdto.js.map +1 -0
  156. package/models/components/triggereventrequestdto.d.ts +4 -4
  157. package/models/components/triggereventrequestdto.d.ts.map +1 -1
  158. package/models/components/triggereventrequestdto.js +4 -4
  159. package/models/components/triggereventrequestdto.js.map +1 -1
  160. package/models/components/triggereventtoallrequestdto.d.ts +4 -4
  161. package/models/components/triggereventtoallrequestdto.d.ts.map +1 -1
  162. package/models/components/triggereventtoallrequestdto.js +4 -4
  163. package/models/components/triggereventtoallrequestdto.js.map +1 -1
  164. package/models/components/uicomponentenum.d.ts +21 -0
  165. package/models/components/uicomponentenum.d.ts.map +1 -1
  166. package/models/components/uicomponentenum.js +7 -0
  167. package/models/components/uicomponentenum.js.map +1 -1
  168. package/models/components/uischemagroupenum.d.ts +3 -0
  169. package/models/components/uischemagroupenum.d.ts.map +1 -1
  170. package/models/components/uischemagroupenum.js +1 -0
  171. package/models/components/uischemagroupenum.js.map +1 -1
  172. package/models/components/workflowlistresponsedto.d.ts +4 -52
  173. package/models/components/workflowlistresponsedto.d.ts.map +1 -1
  174. package/models/components/workflowlistresponsedto.js +5 -51
  175. package/models/components/workflowlistresponsedto.js.map +1 -1
  176. package/models/components/workflowresponsedto.d.ts +15 -78
  177. package/models/components/workflowresponsedto.d.ts.map +1 -1
  178. package/models/components/workflowresponsedto.js +20 -78
  179. package/models/components/workflowresponsedto.js.map +1 -1
  180. package/models/errors/errordto.d.ts +4 -4
  181. package/models/errors/errordto.d.ts.map +1 -1
  182. package/models/errors/errordto.js +4 -4
  183. package/models/errors/errordto.js.map +1 -1
  184. package/models/errors/index.d.ts +1 -0
  185. package/models/errors/index.d.ts.map +1 -1
  186. package/models/errors/index.js +1 -0
  187. package/models/errors/index.js.map +1 -1
  188. package/models/errors/payloadvalidationexceptiondto.d.ts +4 -4
  189. package/models/errors/payloadvalidationexceptiondto.d.ts.map +1 -1
  190. package/models/errors/payloadvalidationexceptiondto.js +4 -4
  191. package/models/errors/payloadvalidationexceptiondto.js.map +1 -1
  192. package/models/errors/validationerrordto.d.ts +4 -4
  193. package/models/errors/validationerrordto.d.ts.map +1 -1
  194. package/models/errors/validationerrordto.js +4 -4
  195. package/models/errors/validationerrordto.js.map +1 -1
  196. package/models/operations/translationcontrolleruploadtranslationfiles.d.ts +1 -1
  197. package/package.json +1 -1
  198. package/sdk/groups.d.ts +3 -3
  199. package/sdk/groups.js +3 -3
  200. package/sdk/master.d.ts +4 -4
  201. package/sdk/master.js +4 -4
  202. package/sdk/translations.d.ts +6 -6
  203. package/sdk/translations.js +6 -6
  204. package/sources/json-development.json +335 -37
  205. package/src/funcs/translationsCreate.ts +2 -2
  206. package/src/funcs/translationsDelete.ts +1 -1
  207. package/src/funcs/translationsGroupsDelete.ts +1 -1
  208. package/src/funcs/translationsGroupsRetrieve.ts +2 -2
  209. package/src/funcs/translationsMasterImport.ts +1 -1
  210. package/src/funcs/translationsMasterRetrieve.ts +2 -2
  211. package/src/funcs/translationsMasterUpload.ts +1 -1
  212. package/src/funcs/translationsRetrieve.ts +2 -2
  213. package/src/funcs/translationsUpload.ts +1 -1
  214. package/src/lib/config.ts +3 -3
  215. package/src/lib/url.ts +1 -1
  216. package/src/mcp-server/mcp-server.ts +1 -1
  217. package/src/mcp-server/server.ts +1 -1
  218. package/src/mcp-server/tools/translationsCreate.ts +2 -2
  219. package/src/mcp-server/tools/translationsDelete.ts +1 -1
  220. package/src/mcp-server/tools/translationsGroupsDelete.ts +1 -1
  221. package/src/mcp-server/tools/translationsGroupsRetrieve.ts +2 -2
  222. package/src/mcp-server/tools/translationsMasterImport.ts +1 -1
  223. package/src/mcp-server/tools/translationsMasterRetrieve.ts +2 -2
  224. package/src/mcp-server/tools/translationsMasterUpload.ts +1 -1
  225. package/src/mcp-server/tools/translationsRetrieve.ts +2 -2
  226. package/src/mcp-server/tools/translationsUpload.ts +1 -1
  227. package/src/models/components/activitynotificationjobresponsedto.ts +8 -0
  228. package/src/models/components/activitynotificationresponsedto.ts +19 -178
  229. package/src/models/components/chatstepresponsedto.ts +4 -57
  230. package/src/models/components/constraintvalidation.ts +8 -8
  231. package/src/models/components/createworkflowdto.ts +30 -0
  232. package/src/models/components/customstepresponsedto.ts +4 -57
  233. package/src/models/components/delaystepresponsedto.ts +4 -57
  234. package/src/models/components/digeststepresponsedto.ts +4 -57
  235. package/src/models/components/emailstepresponsedto.ts +4 -57
  236. package/src/models/components/inappstepresponsedto.ts +4 -57
  237. package/src/models/components/index.ts +4 -0
  238. package/src/models/components/layoutresponsedto.ts +8 -100
  239. package/src/models/components/listsubscribersresponsedto.ts +14 -0
  240. package/src/models/components/listtopicsresponsedto.ts +14 -0
  241. package/src/models/components/listtopicsubscriptionsresponsedto.ts +14 -0
  242. package/src/models/components/patchsubscriberpreferencesdto.ts +17 -4
  243. package/src/models/components/payloadvalidationerrordto.ts +8 -8
  244. package/src/models/components/pushstepresponsedto.ts +4 -57
  245. package/src/models/components/smsstepresponsedto.ts +4 -57
  246. package/src/models/components/steplistresponsedto.ts +4 -57
  247. package/src/models/components/stepresponsedto.ts +4 -57
  248. package/src/models/components/steptypeenum.ts +1 -0
  249. package/src/models/components/throttlecontroldto.ts +179 -0
  250. package/src/models/components/throttlecontrolsmetadataresponsedto.ts +100 -0
  251. package/src/models/components/throttlestepresponsedto.ts +381 -0
  252. package/src/models/components/throttlestepupsertdto.ts +176 -0
  253. package/src/models/components/triggereventrequestdto.ts +8 -8
  254. package/src/models/components/triggereventtoallrequestdto.ts +9 -9
  255. package/src/models/components/uicomponentenum.ts +7 -0
  256. package/src/models/components/uischemagroupenum.ts +1 -0
  257. package/src/models/components/workflowlistresponsedto.ts +8 -141
  258. package/src/models/components/workflowresponsedto.ts +44 -194
  259. package/src/models/errors/errordto.ts +8 -8
  260. package/src/models/errors/index.ts +1 -0
  261. package/src/models/errors/payloadvalidationexceptiondto.ts +8 -8
  262. package/src/models/errors/validationerrordto.ts +8 -8
  263. package/src/models/operations/translationcontrolleruploadtranslationfiles.ts +1 -1
  264. package/src/sdk/groups.ts +3 -3
  265. package/src/sdk/master.ts +4 -4
  266. package/src/sdk/translations.ts +6 -6
@@ -13080,8 +13080,8 @@
13080
13080
  "post": {
13081
13081
  "operationId": "TranslationController_createTranslationEndpoint",
13082
13082
  "x-speakeasy-name-override": "create",
13083
- "summary": "Create or update translation",
13084
- "description": "Create or update a translation for a specific workflow and locale",
13083
+ "summary": "Create a translation",
13084
+ "description": "Create a translation for a specific workflow and locale, if the translation already exists, it will be updated",
13085
13085
  "parameters": [
13086
13086
  {
13087
13087
  "name": "idempotency-key",
@@ -13133,7 +13133,7 @@
13133
13133
  "operationId": "TranslationController_deleteTranslationGroupEndpoint",
13134
13134
  "x-speakeasy-name-override": "delete",
13135
13135
  "x-speakeasy-group": "Translations.Groups",
13136
- "summary": "Delete translation group",
13136
+ "summary": "Delete a translation group",
13137
13137
  "description": "Delete an entire translation group and all its translations",
13138
13138
  "parameters": [
13139
13139
  {
@@ -13141,6 +13141,7 @@
13141
13141
  "required": true,
13142
13142
  "in": "path",
13143
13143
  "description": "Resource type",
13144
+ "example": "workflow",
13144
13145
  "schema": {
13145
13146
  "enum": [
13146
13147
  "workflow"
@@ -13153,6 +13154,7 @@
13153
13154
  "required": true,
13154
13155
  "in": "path",
13155
13156
  "description": "Resource ID",
13157
+ "example": "welcome-email",
13156
13158
  "schema": {
13157
13159
  "type": "string"
13158
13160
  }
@@ -13192,8 +13194,8 @@
13192
13194
  "get": {
13193
13195
  "operationId": "TranslationController_getSingleTranslation",
13194
13196
  "x-speakeasy-name-override": "retrieve",
13195
- "summary": "Get single translation",
13196
- "description": "Get a specific translation by resource type, resource ID and locale",
13197
+ "summary": "Retrieve a translation",
13198
+ "description": "Retrieve a specific translation by resource type, resource ID and locale",
13197
13199
  "parameters": [
13198
13200
  {
13199
13201
  "name": "resourceType",
@@ -13212,6 +13214,7 @@
13212
13214
  "required": true,
13213
13215
  "in": "path",
13214
13216
  "description": "Resource ID",
13217
+ "example": "welcome-email",
13215
13218
  "schema": {
13216
13219
  "type": "string"
13217
13220
  }
@@ -13221,6 +13224,7 @@
13221
13224
  "required": true,
13222
13225
  "in": "path",
13223
13226
  "description": "Locale code",
13227
+ "example": "en_US",
13224
13228
  "schema": {
13225
13229
  "type": "string"
13226
13230
  }
@@ -13265,7 +13269,7 @@
13265
13269
  "delete": {
13266
13270
  "operationId": "TranslationController_deleteTranslationEndpoint",
13267
13271
  "x-speakeasy-name-override": "delete",
13268
- "summary": "Delete translation",
13272
+ "summary": "Delete a translation",
13269
13273
  "description": "Delete a specific translation by resource type, resource ID and locale",
13270
13274
  "parameters": [
13271
13275
  {
@@ -13334,14 +13338,15 @@
13334
13338
  "operationId": "TranslationController_getTranslationGroupEndpoint",
13335
13339
  "x-speakeasy-name-override": "retrieve",
13336
13340
  "x-speakeasy-group": "Translations.Groups",
13337
- "summary": "Get translation group",
13338
- "description": "Retrieves a single translation group by resourceId and resourceType",
13341
+ "summary": "Retrieve a translation group",
13342
+ "description": "Retrieves a single translation group by resource type (workflow) and resource ID (workflowId)",
13339
13343
  "parameters": [
13340
13344
  {
13341
13345
  "name": "resourceType",
13342
13346
  "required": true,
13343
13347
  "in": "path",
13344
13348
  "description": "Resource type",
13349
+ "example": "workflow",
13345
13350
  "schema": {
13346
13351
  "enum": [
13347
13352
  "workflow"
@@ -13354,6 +13359,7 @@
13354
13359
  "required": true,
13355
13360
  "in": "path",
13356
13361
  "description": "Resource ID",
13362
+ "example": "welcome-email",
13357
13363
  "schema": {
13358
13364
  "type": "string"
13359
13365
  }
@@ -13401,8 +13407,8 @@
13401
13407
  "operationId": "TranslationController_getMasterJsonEndpoint",
13402
13408
  "x-speakeasy-name-override": "retrieve",
13403
13409
  "x-speakeasy-group": "Translations.master",
13404
- "summary": "Get master translations JSON",
13405
- "description": "Get all translations for a locale in master JSON format organized by namespace and resource",
13410
+ "summary": "Retrieve master translations JSON",
13411
+ "description": "Retrieve all translations for a locale in master JSON format organized by resourceId (workflowId)",
13406
13412
  "parameters": [
13407
13413
  {
13408
13414
  "name": "locale",
@@ -13453,7 +13459,7 @@
13453
13459
  "x-speakeasy-name-override": "import",
13454
13460
  "x-speakeasy-group": "Translations.Master",
13455
13461
  "summary": "Import master translations JSON",
13456
- "description": "Import translations from master JSON format for a specific locale",
13462
+ "description": "Import translations for multiple workflows from master JSON format for a specific locale",
13457
13463
  "parameters": [
13458
13464
  {
13459
13465
  "name": "idempotency-key",
@@ -13506,7 +13512,7 @@
13506
13512
  "x-speakeasy-name-override": "upload",
13507
13513
  "x-speakeasy-group": "Translations.Master",
13508
13514
  "summary": "Upload master translations JSON file",
13509
- "description": "Upload a master JSON file containing translations. Locale is automatically detected from filename (e.g., en_US.json)",
13515
+ "description": "Upload a master JSON file containing translations for multiple workflows. Locale is automatically detected from filename (e.g., en_US.json)",
13510
13516
  "parameters": [
13511
13517
  {
13512
13518
  "name": "idempotency-key",
@@ -13548,7 +13554,7 @@
13548
13554
  "operationId": "TranslationController_uploadTranslationFiles",
13549
13555
  "x-speakeasy-name-override": "upload",
13550
13556
  "summary": "Upload translation files",
13551
- "description": "Upload one or more JSON translation files for a specific workflow. The file name must be the locale, e.g. en_US.json",
13557
+ "description": "Upload one or more JSON translation files for a specific workflow. Files name must match the locale, e.g. en_US.json",
13552
13558
  "parameters": [
13553
13559
  {
13554
13560
  "name": "idempotency-key",
@@ -13562,7 +13568,7 @@
13562
13568
  ],
13563
13569
  "requestBody": {
13564
13570
  "required": true,
13565
- "description": "Translation upload details",
13571
+ "description": "Translation files upload body details",
13566
13572
  "content": {
13567
13573
  "multipart/form-data": {
13568
13574
  "schema": {
@@ -34158,6 +34164,7 @@
34158
34164
  "digest",
34159
34165
  "trigger",
34160
34166
  "delay",
34167
+ "throttle",
34161
34168
  "custom"
34162
34169
  ]
34163
34170
  },
@@ -34768,6 +34775,7 @@
34768
34775
  "digest",
34769
34776
  "trigger",
34770
34777
  "delay",
34778
+ "throttle",
34771
34779
  "custom"
34772
34780
  ],
34773
34781
  "type": "string",
@@ -34819,6 +34827,10 @@
34819
34827
  "updatedAt": {
34820
34828
  "type": "string",
34821
34829
  "description": "Updated time of the notification"
34830
+ },
34831
+ "scheduleExtensionsCount": {
34832
+ "type": "number",
34833
+ "description": "The number of times the digest/delay job has been extended to align with the subscribers schedule"
34822
34834
  }
34823
34835
  },
34824
34836
  "required": [
@@ -34917,7 +34929,8 @@
34917
34929
  },
34918
34930
  "payload": {
34919
34931
  "type": "object",
34920
- "description": "Payload of the notification"
34932
+ "description": "Payload of the notification",
34933
+ "additionalProperties": true
34921
34934
  },
34922
34935
  "tags": {
34923
34936
  "description": "Tags associated with the notification",
@@ -34928,11 +34941,13 @@
34928
34941
  },
34929
34942
  "controls": {
34930
34943
  "type": "object",
34931
- "description": "Controls associated with the notification"
34944
+ "description": "Controls associated with the notification",
34945
+ "additionalProperties": true
34932
34946
  },
34933
34947
  "to": {
34934
34948
  "type": "object",
34935
- "description": "To field for subscriber definition"
34949
+ "description": "To field for subscriber definition",
34950
+ "additionalProperties": true
34936
34951
  },
34937
34952
  "topics": {
34938
34953
  "description": "Topics of the notification",
@@ -34947,6 +34962,13 @@
34947
34962
  "critical": {
34948
34963
  "type": "boolean",
34949
34964
  "description": "Criticality of the notification"
34965
+ },
34966
+ "contextKeys": {
34967
+ "description": "Contexts (keys) in which the notification was sent",
34968
+ "type": "array",
34969
+ "items": {
34970
+ "type": "string"
34971
+ }
34950
34972
  }
34951
34973
  },
34952
34974
  "required": [
@@ -35477,6 +35499,10 @@
35477
35499
  "$ref": "#/components/schemas/DigestMetadataDto"
35478
35500
  }
35479
35501
  ]
35502
+ },
35503
+ "scheduleExtensionsCount": {
35504
+ "type": "number",
35505
+ "description": "The number of times the digest/delay job has been extended to align with the subscribers schedule"
35480
35506
  }
35481
35507
  },
35482
35508
  "required": [
@@ -37682,12 +37708,22 @@
37682
37708
  "type": "string",
37683
37709
  "description": "The cursor for the previous page of results, or null if this is the first page.",
37684
37710
  "nullable": true
37711
+ },
37712
+ "totalCount": {
37713
+ "type": "number",
37714
+ "description": "The total count of items (up to 50,000)"
37715
+ },
37716
+ "totalCountCapped": {
37717
+ "type": "boolean",
37718
+ "description": "Whether there are more than 50,000 results available"
37685
37719
  }
37686
37720
  },
37687
37721
  "required": [
37688
37722
  "data",
37689
37723
  "next",
37690
- "previous"
37724
+ "previous",
37725
+ "totalCount",
37726
+ "totalCountCapped"
37691
37727
  ]
37692
37728
  },
37693
37729
  "PatchSubscriberRequestDto": {
@@ -38324,11 +38360,16 @@
38324
38360
  "workflowId": {
38325
38361
  "type": "string",
38326
38362
  "description": "Workflow internal _id, identifier or slug. If provided, update workflow specific preferences, otherwise update global preferences"
38363
+ },
38364
+ "schedule": {
38365
+ "description": "Subscriber schedule",
38366
+ "allOf": [
38367
+ {
38368
+ "$ref": "#/components/schemas/ScheduleDto"
38369
+ }
38370
+ ]
38327
38371
  }
38328
- },
38329
- "required": [
38330
- "channels"
38331
- ]
38372
+ }
38332
38373
  },
38333
38374
  "TopicResponseDto": {
38334
38375
  "type": "object",
@@ -38463,12 +38504,22 @@
38463
38504
  "type": "string",
38464
38505
  "description": "The cursor for the previous page of results, or null if this is the first page.",
38465
38506
  "nullable": true
38507
+ },
38508
+ "totalCount": {
38509
+ "type": "number",
38510
+ "description": "The total count of items (up to 50,000)"
38511
+ },
38512
+ "totalCountCapped": {
38513
+ "type": "boolean",
38514
+ "description": "Whether there are more than 50,000 results available"
38466
38515
  }
38467
38516
  },
38468
38517
  "required": [
38469
38518
  "data",
38470
38519
  "next",
38471
- "previous"
38520
+ "previous",
38521
+ "totalCount",
38522
+ "totalCountCapped"
38472
38523
  ]
38473
38524
  },
38474
38525
  "UserResponseDto": {
@@ -38484,7 +38535,7 @@
38484
38535
  "nullable": true
38485
38536
  },
38486
38537
  "lastName": {
38487
- "type": "object",
38538
+ "type": "string",
38488
38539
  "nullable": true,
38489
38540
  "description": "User last name"
38490
38541
  },
@@ -38531,6 +38582,13 @@
38531
38582
  "DELAY_TYPE",
38532
38583
  "DELAY_AMOUNT",
38533
38584
  "DELAY_UNIT",
38585
+ "THROTTLE_TYPE",
38586
+ "THROTTLE_WINDOW",
38587
+ "THROTTLE_UNIT",
38588
+ "THROTTLE_DYNAMIC_KEY",
38589
+ "THROTTLE_THRESHOLD",
38590
+ "THROTTLE_KEY",
38591
+ "EXTEND_TO_SCHEDULE",
38534
38592
  "SMS_BODY",
38535
38593
  "CHAT_BODY",
38536
38594
  "PUSH_BODY",
@@ -38605,6 +38663,7 @@
38605
38663
  "EMAIL",
38606
38664
  "DIGEST",
38607
38665
  "DELAY",
38666
+ "THROTTLE",
38608
38667
  "SMS",
38609
38668
  "CHAT",
38610
38669
  "PUSH",
@@ -38702,7 +38761,7 @@
38702
38761
  "description": "Unique identifier for the layout"
38703
38762
  },
38704
38763
  "slug": {
38705
- "type": "object",
38764
+ "type": "string",
38706
38765
  "description": "Slug of the layout"
38707
38766
  },
38708
38767
  "name": {
@@ -39172,12 +39231,22 @@
39172
39231
  "type": "string",
39173
39232
  "description": "The cursor for the previous page of results, or null if this is the first page.",
39174
39233
  "nullable": true
39234
+ },
39235
+ "totalCount": {
39236
+ "type": "number",
39237
+ "description": "The total count of items (up to 50,000)"
39238
+ },
39239
+ "totalCountCapped": {
39240
+ "type": "boolean",
39241
+ "description": "Whether there are more than 50,000 results available"
39175
39242
  }
39176
39243
  },
39177
39244
  "required": [
39178
39245
  "data",
39179
39246
  "next",
39180
- "previous"
39247
+ "previous",
39248
+ "totalCount",
39249
+ "totalCountCapped"
39181
39250
  ]
39182
39251
  },
39183
39252
  "CreateUpdateTopicRequestDto": {
@@ -39631,7 +39700,7 @@
39631
39700
  "description": "Name of the step"
39632
39701
  },
39633
39702
  "slug": {
39634
- "type": "object",
39703
+ "type": "string",
39635
39704
  "description": "Slug of the step"
39636
39705
  },
39637
39706
  "type": {
@@ -39809,7 +39878,7 @@
39809
39878
  "description": "Name of the step"
39810
39879
  },
39811
39880
  "slug": {
39812
- "type": "object",
39881
+ "type": "string",
39813
39882
  "description": "Slug of the step"
39814
39883
  },
39815
39884
  "type": {
@@ -39957,7 +40026,7 @@
39957
40026
  "description": "Name of the step"
39958
40027
  },
39959
40028
  "slug": {
39960
- "type": "object",
40029
+ "type": "string",
39961
40030
  "description": "Slug of the step"
39962
40031
  },
39963
40032
  "type": {
@@ -40109,7 +40178,7 @@
40109
40178
  "description": "Name of the step"
40110
40179
  },
40111
40180
  "slug": {
40112
- "type": "object",
40181
+ "type": "string",
40113
40182
  "description": "Slug of the step"
40114
40183
  },
40115
40184
  "type": {
@@ -40257,7 +40326,7 @@
40257
40326
  "description": "Name of the step"
40258
40327
  },
40259
40328
  "slug": {
40260
- "type": "object",
40329
+ "type": "string",
40261
40330
  "description": "Slug of the step"
40262
40331
  },
40263
40332
  "type": {
@@ -40431,7 +40500,7 @@
40431
40500
  "description": "Name of the step"
40432
40501
  },
40433
40502
  "slug": {
40434
- "type": "object",
40503
+ "type": "string",
40435
40504
  "description": "Slug of the step"
40436
40505
  },
40437
40506
  "type": {
@@ -40643,7 +40712,191 @@
40643
40712
  "description": "Name of the step"
40644
40713
  },
40645
40714
  "slug": {
40715
+ "type": "string",
40716
+ "description": "Slug of the step"
40717
+ },
40718
+ "type": {
40719
+ "$ref": "#/components/schemas/StepTypeEnum"
40720
+ },
40721
+ "origin": {
40722
+ "$ref": "#/components/schemas/ResourceOriginEnum"
40723
+ },
40724
+ "workflowId": {
40725
+ "type": "string",
40726
+ "description": "Workflow identifier"
40727
+ },
40728
+ "workflowDatabaseId": {
40729
+ "type": "string",
40730
+ "description": "Workflow database identifier"
40731
+ },
40732
+ "issues": {
40733
+ "description": "Issues associated with the step",
40734
+ "allOf": [
40735
+ {
40736
+ "$ref": "#/components/schemas/StepIssuesDto"
40737
+ }
40738
+ ]
40739
+ }
40740
+ },
40741
+ "required": [
40742
+ "controls",
40743
+ "variables",
40744
+ "stepId",
40745
+ "_id",
40746
+ "name",
40747
+ "slug",
40748
+ "type",
40749
+ "origin",
40750
+ "workflowId",
40751
+ "workflowDatabaseId"
40752
+ ]
40753
+ },
40754
+ "ThrottleControlDto": {
40755
+ "type": "object",
40756
+ "properties": {
40757
+ "skip": {
40646
40758
  "type": "object",
40759
+ "description": "JSONLogic filter conditions for conditionally skipping the step execution. Supports complex logical operations with AND, OR, and comparison operators. See https://jsonlogic.com/ for full typing reference.",
40760
+ "example": {
40761
+ "and": [
40762
+ {
40763
+ "==": [
40764
+ {
40765
+ "var": "payload.tier"
40766
+ },
40767
+ "pro"
40768
+ ]
40769
+ },
40770
+ {
40771
+ "==": [
40772
+ {
40773
+ "var": "subscriber.data.role"
40774
+ },
40775
+ "admin"
40776
+ ]
40777
+ },
40778
+ {
40779
+ "\u003e": [
40780
+ {
40781
+ "var": "payload.amount"
40782
+ },
40783
+ "4"
40784
+ ]
40785
+ }
40786
+ ]
40787
+ },
40788
+ "additionalProperties": true
40789
+ },
40790
+ "type": {
40791
+ "type": "string",
40792
+ "description": "The type of throttle window.",
40793
+ "enum": [
40794
+ "fixed",
40795
+ "dynamic"
40796
+ ],
40797
+ "default": "fixed"
40798
+ },
40799
+ "amount": {
40800
+ "type": "number",
40801
+ "minimum": 1,
40802
+ "description": "The amount of time for the throttle window (required for fixed type)."
40803
+ },
40804
+ "unit": {
40805
+ "type": "string",
40806
+ "enum": [
40807
+ "minutes",
40808
+ "hours",
40809
+ "days"
40810
+ ],
40811
+ "description": "The unit of time for the throttle window (required for fixed type)."
40812
+ },
40813
+ "dynamicKey": {
40814
+ "type": "string",
40815
+ "minLength": 1,
40816
+ "description": "Key path to retrieve dynamic window value (required for dynamic type).",
40817
+ "example": "payload.timestamp"
40818
+ },
40819
+ "threshold": {
40820
+ "type": "number",
40821
+ "minimum": 1,
40822
+ "maximum": 100,
40823
+ "description": "The maximum number of executions allowed within the window. Defaults to 1.",
40824
+ "default": 1
40825
+ },
40826
+ "throttleKey": {
40827
+ "type": "string",
40828
+ "description": "Optional key for grouping throttle rules. If not provided, defaults to workflow and subscriber combination."
40829
+ }
40830
+ }
40831
+ },
40832
+ "ThrottleControlsMetadataResponseDto": {
40833
+ "type": "object",
40834
+ "properties": {
40835
+ "dataSchema": {
40836
+ "type": "object",
40837
+ "description": "JSON Schema for data",
40838
+ "additionalProperties": true
40839
+ },
40840
+ "uiSchema": {
40841
+ "description": "UI Schema for rendering",
40842
+ "allOf": [
40843
+ {
40844
+ "$ref": "#/components/schemas/UiSchema"
40845
+ }
40846
+ ]
40847
+ },
40848
+ "values": {
40849
+ "description": "Control values specific to Throttle",
40850
+ "allOf": [
40851
+ {
40852
+ "$ref": "#/components/schemas/ThrottleControlDto"
40853
+ }
40854
+ ]
40855
+ }
40856
+ },
40857
+ "required": [
40858
+ "values"
40859
+ ]
40860
+ },
40861
+ "ThrottleStepResponseDto": {
40862
+ "type": "object",
40863
+ "properties": {
40864
+ "controls": {
40865
+ "description": "Controls metadata for the throttle step",
40866
+ "allOf": [
40867
+ {
40868
+ "$ref": "#/components/schemas/ThrottleControlsMetadataResponseDto"
40869
+ }
40870
+ ]
40871
+ },
40872
+ "controlValues": {
40873
+ "description": "Control values for the throttle step",
40874
+ "additionalProperties": true,
40875
+ "allOf": [
40876
+ {
40877
+ "$ref": "#/components/schemas/ThrottleControlDto"
40878
+ }
40879
+ ]
40880
+ },
40881
+ "variables": {
40882
+ "type": "object",
40883
+ "description": "JSON Schema for variables, follows the JSON Schema standard",
40884
+ "additionalProperties": true
40885
+ },
40886
+ "stepId": {
40887
+ "type": "string",
40888
+ "description": "Unique identifier of the step"
40889
+ },
40890
+ "_id": {
40891
+ "type": "string",
40892
+ "description": "Database identifier of the step"
40893
+ },
40894
+ "name": {
40895
+ "type": "string",
40896
+ "description": "Name of the step"
40897
+ },
40898
+ "slug": {
40899
+ "type": "string",
40647
40900
  "description": "Slug of the step"
40648
40901
  },
40649
40902
  "type": {
@@ -40759,7 +41012,7 @@
40759
41012
  "description": "Name of the step"
40760
41013
  },
40761
41014
  "slug": {
40762
- "type": "object",
41015
+ "type": "string",
40763
41016
  "description": "Slug of the step"
40764
41017
  },
40765
41018
  "type": {
@@ -40989,7 +41242,7 @@
40989
41242
  "description": "Name of the step"
40990
41243
  },
40991
41244
  "slug": {
40992
- "type": "object",
41245
+ "type": "string",
40993
41246
  "description": "Slug of the step"
40994
41247
  },
40995
41248
  "type": {
@@ -41178,7 +41431,7 @@
41178
41431
  "description": "Workflow identifier"
41179
41432
  },
41180
41433
  "slug": {
41181
- "type": "object",
41434
+ "type": "string",
41182
41435
  "description": "Slug of the workflow"
41183
41436
  },
41184
41437
  "updatedAt": {
@@ -41240,6 +41493,9 @@
41240
41493
  },
41241
41494
  {
41242
41495
  "$ref": "#/components/schemas/CustomStepResponseDto"
41496
+ },
41497
+ {
41498
+ "$ref": "#/components/schemas/ThrottleStepResponseDto"
41243
41499
  }
41244
41500
  ],
41245
41501
  "discriminator": {
@@ -41252,7 +41508,8 @@
41252
41508
  "chat": "#/components/schemas/ChatStepResponseDto",
41253
41509
  "delay": "#/components/schemas/DelayStepResponseDto",
41254
41510
  "digest": "#/components/schemas/DigestStepResponseDto",
41255
- "custom": "#/components/schemas/CustomStepResponseDto"
41511
+ "custom": "#/components/schemas/CustomStepResponseDto",
41512
+ "throttle": "#/components/schemas/ThrottleStepResponseDto"
41256
41513
  }
41257
41514
  }
41258
41515
  }
@@ -41531,6 +41788,38 @@
41531
41788
  "type"
41532
41789
  ]
41533
41790
  },
41791
+ "ThrottleStepUpsertDto": {
41792
+ "type": "object",
41793
+ "properties": {
41794
+ "_id": {
41795
+ "type": "string",
41796
+ "description": "Unique identifier of the step"
41797
+ },
41798
+ "name": {
41799
+ "type": "string",
41800
+ "description": "Name of the step"
41801
+ },
41802
+ "type": {
41803
+ "$ref": "#/components/schemas/StepTypeEnum"
41804
+ },
41805
+ "controlValues": {
41806
+ "description": "Control values for the Throttle step.",
41807
+ "oneOf": [
41808
+ {
41809
+ "$ref": "#/components/schemas/ThrottleControlDto"
41810
+ },
41811
+ {
41812
+ "type": "object",
41813
+ "additionalProperties": true
41814
+ }
41815
+ ]
41816
+ }
41817
+ },
41818
+ "required": [
41819
+ "name",
41820
+ "type"
41821
+ ]
41822
+ },
41534
41823
  "CustomStepUpsertDto": {
41535
41824
  "type": "object",
41536
41825
  "properties": {
@@ -41672,6 +41961,9 @@
41672
41961
  {
41673
41962
  "$ref": "#/components/schemas/DigestStepUpsertDto"
41674
41963
  },
41964
+ {
41965
+ "$ref": "#/components/schemas/ThrottleStepUpsertDto"
41966
+ },
41675
41967
  {
41676
41968
  "$ref": "#/components/schemas/CustomStepUpsertDto"
41677
41969
  }
@@ -41686,6 +41978,7 @@
41686
41978
  "chat": "#/components/schemas/ChatStepUpsertDto",
41687
41979
  "delay": "#/components/schemas/DelayStepUpsertDto",
41688
41980
  "digest": "#/components/schemas/DigestStepUpsertDto",
41981
+ "throttle": "#/components/schemas/ThrottleStepUpsertDto",
41689
41982
  "custom": "#/components/schemas/CustomStepUpsertDto"
41690
41983
  }
41691
41984
  }
@@ -41837,7 +42130,7 @@
41837
42130
  "type": "object",
41838
42131
  "properties": {
41839
42132
  "slug": {
41840
- "type": "object",
42133
+ "type": "string",
41841
42134
  "description": "Slug of the step"
41842
42135
  },
41843
42136
  "type": {
@@ -42211,6 +42504,11 @@
42211
42504
  "type": "object",
42212
42505
  "description": "Steps data",
42213
42506
  "additionalProperties": true
42507
+ },
42508
+ "context": {
42509
+ "type": "object",
42510
+ "description": "Context data for the preview",
42511
+ "additionalProperties": true
42214
42512
  }
42215
42513
  }
42216
42514
  },