@trycourier/courier 7.10.2 → 7.19.1

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 (423) hide show
  1. package/CHANGELOG.md +140 -0
  2. package/README.md +1 -0
  3. package/api-promise.d.mts +1 -0
  4. package/api-promise.d.mts.map +1 -1
  5. package/api-promise.d.ts +1 -0
  6. package/api-promise.d.ts.map +1 -1
  7. package/api-promise.mjs +1 -0
  8. package/api-promise.mjs.map +1 -1
  9. package/client.d.mts +10 -4
  10. package/client.d.mts.map +1 -1
  11. package/client.d.ts +10 -4
  12. package/client.d.ts.map +1 -1
  13. package/client.js +27 -2
  14. package/client.js.map +1 -1
  15. package/client.mjs +27 -2
  16. package/client.mjs.map +1 -1
  17. package/core/api-promise.d.mts.map +1 -1
  18. package/core/api-promise.d.ts.map +1 -1
  19. package/core/api-promise.mjs.map +1 -1
  20. package/core/error.mjs.map +1 -1
  21. package/core/resource.d.mts.map +1 -1
  22. package/core/resource.d.ts.map +1 -1
  23. package/core/uploads.d.mts.map +1 -1
  24. package/core/uploads.d.ts.map +1 -1
  25. package/core/uploads.mjs.map +1 -1
  26. package/error.d.mts +1 -0
  27. package/error.d.mts.map +1 -1
  28. package/error.d.ts +1 -0
  29. package/error.d.ts.map +1 -1
  30. package/error.mjs +1 -0
  31. package/error.mjs.map +1 -1
  32. package/index.d.mts.map +1 -1
  33. package/index.d.ts.map +1 -1
  34. package/index.mjs.map +1 -1
  35. package/internal/detect-platform.mjs.map +1 -1
  36. package/internal/headers.mjs.map +1 -1
  37. package/internal/parse.d.mts.map +1 -1
  38. package/internal/parse.d.ts.map +1 -1
  39. package/internal/parse.mjs.map +1 -1
  40. package/internal/qs/formats.d.mts.map +1 -1
  41. package/internal/qs/formats.d.ts.map +1 -1
  42. package/internal/qs/index.d.mts +2 -2
  43. package/internal/qs/index.d.mts.map +1 -1
  44. package/internal/qs/index.d.ts +2 -2
  45. package/internal/qs/index.d.ts.map +1 -1
  46. package/internal/qs/index.mjs.map +1 -1
  47. package/internal/qs/stringify.d.mts.map +1 -1
  48. package/internal/qs/stringify.d.ts.map +1 -1
  49. package/internal/qs/stringify.mjs.map +1 -1
  50. package/internal/qs/utils.d.mts.map +1 -1
  51. package/internal/qs/utils.d.ts.map +1 -1
  52. package/internal/qs/utils.mjs.map +1 -1
  53. package/internal/request-options.d.mts.map +1 -1
  54. package/internal/request-options.d.ts.map +1 -1
  55. package/internal/shims.d.mts +6 -0
  56. package/internal/shims.d.mts.map +1 -1
  57. package/internal/shims.d.ts +6 -0
  58. package/internal/shims.d.ts.map +1 -1
  59. package/internal/to-file.d.mts.map +1 -1
  60. package/internal/to-file.d.ts.map +1 -1
  61. package/internal/to-file.mjs.map +1 -1
  62. package/internal/types.d.mts +10 -10
  63. package/internal/types.d.mts.map +1 -1
  64. package/internal/types.d.ts +10 -10
  65. package/internal/types.d.ts.map +1 -1
  66. package/internal/uploads.d.mts.map +1 -1
  67. package/internal/uploads.d.ts.map +1 -1
  68. package/internal/uploads.mjs.map +1 -1
  69. package/internal/utils/base64.mjs.map +1 -1
  70. package/internal/utils/log.d.mts.map +1 -1
  71. package/internal/utils/log.d.ts.map +1 -1
  72. package/internal/utils/log.js +2 -0
  73. package/internal/utils/log.js.map +1 -1
  74. package/internal/utils/log.mjs +2 -0
  75. package/internal/utils/log.mjs.map +1 -1
  76. package/internal/utils/path.mjs.map +1 -1
  77. package/internal/utils/query.mjs.map +1 -1
  78. package/internal/utils/values.mjs.map +1 -1
  79. package/internal/utils.d.mts.map +1 -1
  80. package/internal/utils.d.ts.map +1 -1
  81. package/internal/utils.mjs.map +1 -1
  82. package/package.json +1 -1
  83. package/resource.d.mts +1 -0
  84. package/resource.d.mts.map +1 -1
  85. package/resource.d.ts +1 -0
  86. package/resource.d.ts.map +1 -1
  87. package/resource.mjs +1 -0
  88. package/resource.mjs.map +1 -1
  89. package/resources/audiences.d.mts +5 -2
  90. package/resources/audiences.d.mts.map +1 -1
  91. package/resources/audiences.d.ts +5 -2
  92. package/resources/audiences.d.ts.map +1 -1
  93. package/resources/audiences.mjs.map +1 -1
  94. package/resources/audit-events.d.mts.map +1 -1
  95. package/resources/audit-events.d.ts.map +1 -1
  96. package/resources/audit-events.mjs.map +1 -1
  97. package/resources/auth.d.mts.map +1 -1
  98. package/resources/auth.d.ts.map +1 -1
  99. package/resources/auth.mjs.map +1 -1
  100. package/resources/automations/automations.d.mts.map +1 -1
  101. package/resources/automations/automations.d.ts.map +1 -1
  102. package/resources/automations/automations.mjs.map +1 -1
  103. package/resources/automations/index.d.mts.map +1 -1
  104. package/resources/automations/index.d.ts.map +1 -1
  105. package/resources/automations/index.mjs.map +1 -1
  106. package/resources/automations/invoke.d.mts.map +1 -1
  107. package/resources/automations/invoke.d.ts.map +1 -1
  108. package/resources/automations/invoke.mjs.map +1 -1
  109. package/resources/automations.d.mts.map +1 -1
  110. package/resources/automations.d.ts.map +1 -1
  111. package/resources/automations.mjs.map +1 -1
  112. package/resources/brands.d.mts +35 -2
  113. package/resources/brands.d.mts.map +1 -1
  114. package/resources/brands.d.ts +35 -2
  115. package/resources/brands.d.ts.map +1 -1
  116. package/resources/brands.js +34 -1
  117. package/resources/brands.js.map +1 -1
  118. package/resources/brands.mjs +34 -1
  119. package/resources/brands.mjs.map +1 -1
  120. package/resources/bulk.d.mts.map +1 -1
  121. package/resources/bulk.d.ts.map +1 -1
  122. package/resources/bulk.mjs.map +1 -1
  123. package/resources/digests/digests.d.mts +94 -0
  124. package/resources/digests/digests.d.mts.map +1 -0
  125. package/resources/digests/digests.d.ts +94 -0
  126. package/resources/digests/digests.d.ts.map +1 -0
  127. package/resources/digests/digests.js +17 -0
  128. package/resources/digests/digests.js.map +1 -0
  129. package/resources/digests/digests.mjs +12 -0
  130. package/resources/digests/digests.mjs.map +1 -0
  131. package/resources/digests/index.d.mts +3 -0
  132. package/resources/digests/index.d.mts.map +1 -0
  133. package/resources/digests/index.d.ts +3 -0
  134. package/resources/digests/index.d.ts.map +1 -0
  135. package/resources/digests/index.js +9 -0
  136. package/resources/digests/index.js.map +1 -0
  137. package/resources/digests/index.mjs +4 -0
  138. package/resources/digests/index.mjs.map +1 -0
  139. package/resources/digests/schedules.d.mts +32 -0
  140. package/resources/digests/schedules.d.mts.map +1 -0
  141. package/resources/digests/schedules.d.ts +32 -0
  142. package/resources/digests/schedules.d.ts.map +1 -0
  143. package/resources/digests/schedules.js +29 -0
  144. package/resources/digests/schedules.js.map +1 -0
  145. package/resources/digests/schedules.mjs +25 -0
  146. package/resources/digests/schedules.mjs.map +1 -0
  147. package/resources/digests.d.mts +2 -0
  148. package/resources/digests.d.mts.map +1 -0
  149. package/resources/digests.d.ts +2 -0
  150. package/resources/digests.d.ts.map +1 -0
  151. package/resources/digests.js +6 -0
  152. package/resources/digests.js.map +1 -0
  153. package/resources/digests.mjs +3 -0
  154. package/resources/digests.mjs.map +1 -0
  155. package/resources/inbound.d.mts.map +1 -1
  156. package/resources/inbound.d.ts.map +1 -1
  157. package/resources/inbound.mjs.map +1 -1
  158. package/resources/index.d.mts +4 -2
  159. package/resources/index.d.mts.map +1 -1
  160. package/resources/index.d.ts +4 -2
  161. package/resources/index.d.ts.map +1 -1
  162. package/resources/index.js +6 -2
  163. package/resources/index.js.map +1 -1
  164. package/resources/index.mjs +3 -1
  165. package/resources/index.mjs.map +1 -1
  166. package/resources/journeys/index.d.mts +3 -0
  167. package/resources/journeys/index.d.mts.map +1 -0
  168. package/resources/journeys/index.d.ts +3 -0
  169. package/resources/journeys/index.d.ts.map +1 -0
  170. package/resources/journeys/index.js +9 -0
  171. package/resources/journeys/index.js.map +1 -0
  172. package/resources/journeys/index.mjs +4 -0
  173. package/resources/journeys/index.mjs.map +1 -0
  174. package/resources/journeys/journeys.d.mts +943 -0
  175. package/resources/journeys/journeys.d.mts.map +1 -0
  176. package/resources/journeys/journeys.d.ts +943 -0
  177. package/resources/journeys/journeys.d.ts.map +1 -0
  178. package/resources/journeys/journeys.js +166 -0
  179. package/resources/journeys/journeys.js.map +1 -0
  180. package/resources/journeys/journeys.mjs +161 -0
  181. package/resources/journeys/journeys.mjs.map +1 -0
  182. package/resources/journeys/templates.d.mts +338 -0
  183. package/resources/journeys/templates.d.mts.map +1 -0
  184. package/resources/journeys/templates.d.ts +338 -0
  185. package/resources/journeys/templates.d.ts.map +1 -0
  186. package/resources/journeys/templates.js +213 -0
  187. package/resources/journeys/templates.js.map +1 -0
  188. package/resources/journeys/templates.mjs +209 -0
  189. package/resources/journeys/templates.mjs.map +1 -0
  190. package/resources/journeys.d.mts +1 -142
  191. package/resources/journeys.d.mts.map +1 -1
  192. package/resources/journeys.d.ts +1 -142
  193. package/resources/journeys.d.ts.map +1 -1
  194. package/resources/journeys.js +2 -34
  195. package/resources/journeys.js.map +1 -1
  196. package/resources/journeys.mjs +1 -32
  197. package/resources/journeys.mjs.map +1 -1
  198. package/resources/lists/index.d.mts.map +1 -1
  199. package/resources/lists/index.d.ts.map +1 -1
  200. package/resources/lists/index.mjs.map +1 -1
  201. package/resources/lists/lists.d.mts.map +1 -1
  202. package/resources/lists/lists.d.ts.map +1 -1
  203. package/resources/lists/lists.mjs.map +1 -1
  204. package/resources/lists/subscriptions.d.mts.map +1 -1
  205. package/resources/lists/subscriptions.d.ts.map +1 -1
  206. package/resources/lists/subscriptions.mjs.map +1 -1
  207. package/resources/lists.d.mts.map +1 -1
  208. package/resources/lists.d.ts.map +1 -1
  209. package/resources/lists.mjs.map +1 -1
  210. package/resources/messages.d.mts +16 -1
  211. package/resources/messages.d.mts.map +1 -1
  212. package/resources/messages.d.ts +16 -1
  213. package/resources/messages.d.ts.map +1 -1
  214. package/resources/messages.js +10 -0
  215. package/resources/messages.js.map +1 -1
  216. package/resources/messages.mjs +10 -0
  217. package/resources/messages.mjs.map +1 -1
  218. package/resources/notifications/checks.d.mts +3 -3
  219. package/resources/notifications/checks.d.mts.map +1 -1
  220. package/resources/notifications/checks.d.ts +3 -3
  221. package/resources/notifications/checks.d.ts.map +1 -1
  222. package/resources/notifications/checks.js +3 -3
  223. package/resources/notifications/checks.mjs +3 -3
  224. package/resources/notifications/checks.mjs.map +1 -1
  225. package/resources/notifications/index.d.mts.map +1 -1
  226. package/resources/notifications/index.d.ts.map +1 -1
  227. package/resources/notifications/index.mjs.map +1 -1
  228. package/resources/notifications/notifications.d.mts.map +1 -1
  229. package/resources/notifications/notifications.d.ts.map +1 -1
  230. package/resources/notifications/notifications.mjs.map +1 -1
  231. package/resources/notifications.d.mts.map +1 -1
  232. package/resources/notifications.d.ts.map +1 -1
  233. package/resources/notifications.mjs.map +1 -1
  234. package/resources/profiles/index.d.mts.map +1 -1
  235. package/resources/profiles/index.d.ts.map +1 -1
  236. package/resources/profiles/index.mjs.map +1 -1
  237. package/resources/profiles/lists.d.mts.map +1 -1
  238. package/resources/profiles/lists.d.ts.map +1 -1
  239. package/resources/profiles/lists.mjs.map +1 -1
  240. package/resources/profiles/profiles.d.mts.map +1 -1
  241. package/resources/profiles/profiles.d.ts.map +1 -1
  242. package/resources/profiles/profiles.mjs.map +1 -1
  243. package/resources/profiles.d.mts.map +1 -1
  244. package/resources/profiles.d.ts.map +1 -1
  245. package/resources/profiles.mjs.map +1 -1
  246. package/resources/providers/catalog.d.mts.map +1 -1
  247. package/resources/providers/catalog.d.ts.map +1 -1
  248. package/resources/providers/catalog.mjs.map +1 -1
  249. package/resources/providers/index.d.mts.map +1 -1
  250. package/resources/providers/index.d.ts.map +1 -1
  251. package/resources/providers/index.mjs.map +1 -1
  252. package/resources/providers/providers.d.mts.map +1 -1
  253. package/resources/providers/providers.d.ts.map +1 -1
  254. package/resources/providers/providers.mjs.map +1 -1
  255. package/resources/providers.d.mts.map +1 -1
  256. package/resources/providers.d.ts.map +1 -1
  257. package/resources/providers.mjs.map +1 -1
  258. package/resources/requests.d.mts.map +1 -1
  259. package/resources/requests.d.ts.map +1 -1
  260. package/resources/requests.mjs.map +1 -1
  261. package/resources/routing-strategies.d.mts.map +1 -1
  262. package/resources/routing-strategies.d.ts.map +1 -1
  263. package/resources/routing-strategies.mjs.map +1 -1
  264. package/resources/send.d.mts.map +1 -1
  265. package/resources/send.d.ts.map +1 -1
  266. package/resources/send.mjs.map +1 -1
  267. package/resources/shared.d.mts +6 -0
  268. package/resources/shared.d.mts.map +1 -1
  269. package/resources/shared.d.ts +6 -0
  270. package/resources/shared.d.ts.map +1 -1
  271. package/resources/tenants/index.d.mts +1 -1
  272. package/resources/tenants/index.d.mts.map +1 -1
  273. package/resources/tenants/index.d.ts +1 -1
  274. package/resources/tenants/index.d.ts.map +1 -1
  275. package/resources/tenants/index.js.map +1 -1
  276. package/resources/tenants/index.mjs.map +1 -1
  277. package/resources/tenants/preferences/index.d.mts.map +1 -1
  278. package/resources/tenants/preferences/index.d.ts.map +1 -1
  279. package/resources/tenants/preferences/index.mjs.map +1 -1
  280. package/resources/tenants/preferences/items.d.mts.map +1 -1
  281. package/resources/tenants/preferences/items.d.ts.map +1 -1
  282. package/resources/tenants/preferences/items.mjs.map +1 -1
  283. package/resources/tenants/preferences/preferences.d.mts.map +1 -1
  284. package/resources/tenants/preferences/preferences.d.ts.map +1 -1
  285. package/resources/tenants/preferences/preferences.mjs.map +1 -1
  286. package/resources/tenants/preferences.d.mts.map +1 -1
  287. package/resources/tenants/preferences.d.ts.map +1 -1
  288. package/resources/tenants/preferences.mjs.map +1 -1
  289. package/resources/tenants/templates/index.d.mts +1 -1
  290. package/resources/tenants/templates/index.d.mts.map +1 -1
  291. package/resources/tenants/templates/index.d.ts +1 -1
  292. package/resources/tenants/templates/index.d.ts.map +1 -1
  293. package/resources/tenants/templates/index.js.map +1 -1
  294. package/resources/tenants/templates/index.mjs.map +1 -1
  295. package/resources/tenants/templates/templates.d.mts +23 -1
  296. package/resources/tenants/templates/templates.d.mts.map +1 -1
  297. package/resources/tenants/templates/templates.d.ts +23 -1
  298. package/resources/tenants/templates/templates.d.ts.map +1 -1
  299. package/resources/tenants/templates/templates.js +23 -0
  300. package/resources/tenants/templates/templates.js.map +1 -1
  301. package/resources/tenants/templates/templates.mjs +23 -0
  302. package/resources/tenants/templates/templates.mjs.map +1 -1
  303. package/resources/tenants/templates/versions.d.mts.map +1 -1
  304. package/resources/tenants/templates/versions.d.ts.map +1 -1
  305. package/resources/tenants/templates/versions.mjs.map +1 -1
  306. package/resources/tenants/templates.d.mts.map +1 -1
  307. package/resources/tenants/templates.d.ts.map +1 -1
  308. package/resources/tenants/templates.mjs.map +1 -1
  309. package/resources/tenants/tenants.d.mts +2 -2
  310. package/resources/tenants/tenants.d.mts.map +1 -1
  311. package/resources/tenants/tenants.d.ts +2 -2
  312. package/resources/tenants/tenants.d.ts.map +1 -1
  313. package/resources/tenants/tenants.js.map +1 -1
  314. package/resources/tenants/tenants.mjs.map +1 -1
  315. package/resources/tenants.d.mts.map +1 -1
  316. package/resources/tenants.d.ts.map +1 -1
  317. package/resources/tenants.mjs.map +1 -1
  318. package/resources/translations.d.mts.map +1 -1
  319. package/resources/translations.d.ts.map +1 -1
  320. package/resources/translations.mjs.map +1 -1
  321. package/resources/users/index.d.mts +1 -1
  322. package/resources/users/index.d.mts.map +1 -1
  323. package/resources/users/index.d.ts +1 -1
  324. package/resources/users/index.d.ts.map +1 -1
  325. package/resources/users/index.js.map +1 -1
  326. package/resources/users/index.mjs.map +1 -1
  327. package/resources/users/preferences.d.mts +211 -1
  328. package/resources/users/preferences.d.mts.map +1 -1
  329. package/resources/users/preferences.d.ts +211 -1
  330. package/resources/users/preferences.d.ts.map +1 -1
  331. package/resources/users/preferences.js +105 -0
  332. package/resources/users/preferences.js.map +1 -1
  333. package/resources/users/preferences.mjs +105 -0
  334. package/resources/users/preferences.mjs.map +1 -1
  335. package/resources/users/tenants.d.mts.map +1 -1
  336. package/resources/users/tenants.d.ts.map +1 -1
  337. package/resources/users/tenants.mjs.map +1 -1
  338. package/resources/users/tokens.d.mts.map +1 -1
  339. package/resources/users/tokens.d.ts.map +1 -1
  340. package/resources/users/tokens.mjs.map +1 -1
  341. package/resources/users/users.d.mts +2 -2
  342. package/resources/users/users.d.mts.map +1 -1
  343. package/resources/users/users.d.ts +2 -2
  344. package/resources/users/users.d.ts.map +1 -1
  345. package/resources/users/users.js.map +1 -1
  346. package/resources/users/users.mjs.map +1 -1
  347. package/resources/users.d.mts.map +1 -1
  348. package/resources/users.d.ts.map +1 -1
  349. package/resources/users.mjs.map +1 -1
  350. package/resources/workspace-preferences/index.d.mts +3 -0
  351. package/resources/workspace-preferences/index.d.mts.map +1 -0
  352. package/resources/workspace-preferences/index.d.ts +3 -0
  353. package/resources/workspace-preferences/index.d.ts.map +1 -0
  354. package/resources/workspace-preferences/index.js +9 -0
  355. package/resources/workspace-preferences/index.js.map +1 -0
  356. package/resources/workspace-preferences/index.mjs +4 -0
  357. package/resources/workspace-preferences/index.mjs.map +1 -0
  358. package/resources/workspace-preferences/topics.d.mts +168 -0
  359. package/resources/workspace-preferences/topics.d.mts.map +1 -0
  360. package/resources/workspace-preferences/topics.d.ts +168 -0
  361. package/resources/workspace-preferences/topics.d.ts.map +1 -0
  362. package/resources/workspace-preferences/topics.js +103 -0
  363. package/resources/workspace-preferences/topics.js.map +1 -0
  364. package/resources/workspace-preferences/topics.mjs +99 -0
  365. package/resources/workspace-preferences/topics.mjs.map +1 -0
  366. package/resources/workspace-preferences/workspace-preferences.d.mts +410 -0
  367. package/resources/workspace-preferences/workspace-preferences.d.mts.map +1 -0
  368. package/resources/workspace-preferences/workspace-preferences.d.ts +410 -0
  369. package/resources/workspace-preferences/workspace-preferences.d.ts.map +1 -0
  370. package/resources/workspace-preferences/workspace-preferences.js +104 -0
  371. package/resources/workspace-preferences/workspace-preferences.js.map +1 -0
  372. package/resources/workspace-preferences/workspace-preferences.mjs +99 -0
  373. package/resources/workspace-preferences/workspace-preferences.mjs.map +1 -0
  374. package/resources/workspace-preferences.d.mts +2 -0
  375. package/resources/workspace-preferences.d.mts.map +1 -0
  376. package/resources/workspace-preferences.d.ts +2 -0
  377. package/resources/workspace-preferences.d.ts.map +1 -0
  378. package/resources/workspace-preferences.js +6 -0
  379. package/resources/workspace-preferences.js.map +1 -0
  380. package/resources/workspace-preferences.mjs +3 -0
  381. package/resources/workspace-preferences.mjs.map +1 -0
  382. package/resources.d.mts.map +1 -1
  383. package/resources.d.ts.map +1 -1
  384. package/resources.mjs.map +1 -1
  385. package/src/client.ts +158 -10
  386. package/src/internal/types.ts +6 -8
  387. package/src/internal/utils/log.ts +2 -0
  388. package/src/resources/audiences.ts +5 -2
  389. package/src/resources/brands.ts +36 -3
  390. package/src/resources/digests/digests.ts +120 -0
  391. package/src/resources/digests/index.ts +9 -0
  392. package/src/resources/digests/schedules.ts +51 -0
  393. package/src/resources/digests.ts +3 -0
  394. package/src/resources/index.ts +62 -1
  395. package/src/resources/journeys/index.ts +62 -0
  396. package/src/resources/journeys/journeys.ts +1289 -0
  397. package/src/resources/journeys/templates.ts +486 -0
  398. package/src/resources/journeys.ts +1 -172
  399. package/src/resources/messages.ts +20 -0
  400. package/src/resources/notifications/checks.ts +3 -3
  401. package/src/resources/shared.ts +7 -0
  402. package/src/resources/tenants/index.ts +1 -0
  403. package/src/resources/tenants/templates/index.ts +1 -0
  404. package/src/resources/tenants/templates/templates.ts +32 -0
  405. package/src/resources/tenants/tenants.ts +2 -0
  406. package/src/resources/users/index.ts +6 -0
  407. package/src/resources/users/preferences.ts +269 -0
  408. package/src/resources/users/users.ts +12 -0
  409. package/src/resources/workspace-preferences/index.ts +25 -0
  410. package/src/resources/workspace-preferences/topics.ts +229 -0
  411. package/src/resources/workspace-preferences/workspace-preferences.ts +534 -0
  412. package/src/resources/workspace-preferences.ts +3 -0
  413. package/src/version.ts +1 -1
  414. package/uploads.d.mts +1 -0
  415. package/uploads.d.mts.map +1 -1
  416. package/uploads.d.ts +1 -0
  417. package/uploads.d.ts.map +1 -1
  418. package/uploads.mjs +1 -0
  419. package/uploads.mjs.map +1 -1
  420. package/version.d.mts +1 -1
  421. package/version.d.ts +1 -1
  422. package/version.js +1 -1
  423. package/version.mjs +1 -1
@@ -9,7 +9,7 @@ import { path } from '../../internal/utils/path';
9
9
 
10
10
  export class Checks extends APIResource {
11
11
  /**
12
- * Replace the checks for a notification template submission.
12
+ * Replace the submission checks for a notification template.
13
13
  *
14
14
  * @example
15
15
  * ```ts
@@ -38,7 +38,7 @@ export class Checks extends APIResource {
38
38
  }
39
39
 
40
40
  /**
41
- * Retrieve the checks for a notification template submission.
41
+ * Retrieve the submission checks for a notification template.
42
42
  *
43
43
  * @example
44
44
  * ```ts
@@ -58,7 +58,7 @@ export class Checks extends APIResource {
58
58
  }
59
59
 
60
60
  /**
61
- * Cancel a notification template submission.
61
+ * Cancel a submission for a notification template.
62
62
  *
63
63
  * @example
64
64
  * ```ts
@@ -33,6 +33,13 @@ export interface AudienceFilterConfig {
33
33
  * Array of filter rules (single conditions or nested groups)
34
34
  */
35
35
  filters: Array<FilterConfig>;
36
+
37
+ /**
38
+ * The logical operator (AND/OR) combining the rules in `filters`. Required when
39
+ * `filters` contains more than one rule. If omitted, the top-level `operator`
40
+ * field on the request is used instead.
41
+ */
42
+ operator?: 'AND' | 'OR';
36
43
  }
37
44
 
38
45
  /**
@@ -6,6 +6,7 @@ export {
6
6
  type TemplateListResponse,
7
7
  type TemplateRetrieveParams,
8
8
  type TemplateListParams,
9
+ type TemplateDeleteParams,
9
10
  type TemplatePublishParams,
10
11
  type TemplateReplaceParams,
11
12
  } from './templates/index';
@@ -5,6 +5,7 @@ export {
5
5
  type TemplateListResponse,
6
6
  type TemplateRetrieveParams,
7
7
  type TemplateListParams,
8
+ type TemplateDeleteParams,
8
9
  type TemplatePublishParams,
9
10
  type TemplateReplaceParams,
10
11
  } from './templates';
@@ -6,6 +6,7 @@ import * as TenantsAPI from '../tenants';
6
6
  import * as VersionsAPI from './versions';
7
7
  import { VersionRetrieveParams, Versions } from './versions';
8
8
  import { APIPromise } from '../../../core/api-promise';
9
+ import { buildHeaders } from '../../../internal/headers';
9
10
  import { RequestOptions } from '../../../internal/request-options';
10
11
  import { path } from '../../../internal/utils/path';
11
12
 
@@ -50,6 +51,29 @@ export class Templates extends APIResource {
50
51
  return this._client.get(path`/tenants/${tenantID}/templates`, { query, ...options });
51
52
  }
52
53
 
54
+ /**
55
+ * Deletes the tenant's notification template with the given `template_id`.
56
+ *
57
+ * Returns **204 No Content** with an empty body on success.
58
+ *
59
+ * Returns **404** if there is no template with this ID for the tenant, including a
60
+ * second `DELETE` after a successful removal.
61
+ *
62
+ * @example
63
+ * ```ts
64
+ * await client.tenants.templates.delete('template_id', {
65
+ * tenant_id: 'tenant_id',
66
+ * });
67
+ * ```
68
+ */
69
+ delete(templateID: string, params: TemplateDeleteParams, options?: RequestOptions): APIPromise<void> {
70
+ const { tenant_id } = params;
71
+ return this._client.delete(path`/tenants/${tenant_id}/templates/${templateID}`, {
72
+ ...options,
73
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
74
+ });
75
+ }
76
+
53
77
  /**
54
78
  * Publishes a specific version of a notification template for a tenant.
55
79
  *
@@ -174,6 +198,13 @@ export interface TemplateListParams {
174
198
  limit?: number | null;
175
199
  }
176
200
 
201
+ export interface TemplateDeleteParams {
202
+ /**
203
+ * Id of the tenant that owns the template.
204
+ */
205
+ tenant_id: string;
206
+ }
207
+
177
208
  export interface TemplatePublishParams {
178
209
  /**
179
210
  * Path param: Id of the tenant that owns the template.
@@ -214,6 +245,7 @@ export declare namespace Templates {
214
245
  type TemplateListResponse as TemplateListResponse,
215
246
  type TemplateRetrieveParams as TemplateRetrieveParams,
216
247
  type TemplateListParams as TemplateListParams,
248
+ type TemplateDeleteParams as TemplateDeleteParams,
217
249
  type TemplatePublishParams as TemplatePublishParams,
218
250
  type TemplateReplaceParams as TemplateReplaceParams,
219
251
  };
@@ -7,6 +7,7 @@ import * as PreferencesAPI from './preferences/preferences';
7
7
  import { Preferences } from './preferences/preferences';
8
8
  import * as TemplatesAPI from './templates/templates';
9
9
  import {
10
+ TemplateDeleteParams,
10
11
  TemplateListParams,
11
12
  TemplateListResponse,
12
13
  TemplatePublishParams,
@@ -463,6 +464,7 @@ export declare namespace Tenants {
463
464
  type TemplateListResponse as TemplateListResponse,
464
465
  type TemplateRetrieveParams as TemplateRetrieveParams,
465
466
  type TemplateListParams as TemplateListParams,
467
+ type TemplateDeleteParams as TemplateDeleteParams,
466
468
  type TemplatePublishParams as TemplatePublishParams,
467
469
  type TemplateReplaceParams as TemplateReplaceParams,
468
470
  };
@@ -2,11 +2,17 @@
2
2
 
3
3
  export {
4
4
  Preferences,
5
+ type BulkPreferenceTopic,
5
6
  type TopicPreference,
6
7
  type PreferenceRetrieveResponse,
8
+ type PreferenceBulkReplaceResponse,
9
+ type PreferenceBulkUpdateResponse,
7
10
  type PreferenceRetrieveTopicResponse,
8
11
  type PreferenceUpdateOrCreateTopicResponse,
9
12
  type PreferenceRetrieveParams,
13
+ type PreferenceBulkReplaceParams,
14
+ type PreferenceBulkUpdateParams,
15
+ type PreferenceDeleteTopicParams,
10
16
  type PreferenceRetrieveTopicParams,
11
17
  type PreferenceUpdateOrCreateTopicParams,
12
18
  } from './preferences';
@@ -3,6 +3,7 @@
3
3
  import { APIResource } from '../../core/resource';
4
4
  import * as Shared from '../shared';
5
5
  import { APIPromise } from '../../core/api-promise';
6
+ import { buildHeaders } from '../../internal/headers';
6
7
  import { RequestOptions } from '../../internal/request-options';
7
8
  import { path } from '../../internal/utils/path';
8
9
 
@@ -25,6 +26,125 @@ export class Preferences extends APIResource {
25
26
  return this._client.get(path`/users/${userID}/preferences`, { query, ...options });
26
27
  }
27
28
 
29
+ /**
30
+ * Replace a user's complete set of preference overrides in a single request. The
31
+ * topics in the request body become the recipient's entire set of overrides:
32
+ * listed topics are created or updated, and every existing override that is not
33
+ * included in the body is reset to its topic default. Submitting an empty `topics`
34
+ * array is a valid clear-all that resets every existing override.
35
+ *
36
+ * This operation is validation-atomic (all-or-nothing): structural validation
37
+ * fails fast with a single `400`, and if any topic is semantically invalid (an
38
+ * unknown topic, a `REQUIRED` topic that cannot be opted out, or a custom routing
39
+ * request that is not available on the workspace's plan) the request returns a
40
+ * single `400` aggregating every failure in `errors` and writes nothing. On
41
+ * success it returns `200` with `items` (the complete resulting override set) and
42
+ * `deleted` (the ids of the overrides that were reset to default).
43
+ *
44
+ * Every `topic_id` in the response — in `items`, `deleted`, and any `errors` — is
45
+ * returned in Courier's canonical topic id form, regardless of the form supplied
46
+ * in the request.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const response = await client.users.preferences.bulkReplace(
51
+ * 'user_id',
52
+ * {
53
+ * topics: [
54
+ * {
55
+ * topic_id: '74Q4QGFBEX481DP6JRPMV751H4XT',
56
+ * status: 'OPTED_IN',
57
+ * has_custom_routing: true,
58
+ * custom_routing: ['inbox', 'email'],
59
+ * },
60
+ * ],
61
+ * },
62
+ * );
63
+ * ```
64
+ */
65
+ bulkReplace(
66
+ userID: string,
67
+ params: PreferenceBulkReplaceParams,
68
+ options?: RequestOptions,
69
+ ): APIPromise<PreferenceBulkReplaceResponse> {
70
+ const { tenant_id, ...body } = params;
71
+ return this._client.put(path`/users/${userID}/preferences`, { query: { tenant_id }, body, ...options });
72
+ }
73
+
74
+ /**
75
+ * Additively create or update a user's preferences for one or more subscription
76
+ * topics in a single request. Only the topics included in the request body are
77
+ * created or updated; any existing overrides for topics not listed are left
78
+ * untouched.
79
+ *
80
+ * Structural validation of the request body fails fast with a single `400`. Beyond
81
+ * that, each topic is processed independently (partial-success, not
82
+ * all-or-nothing): valid topics are written and returned in `items`, while topics
83
+ * that cannot be applied are collected in `errors` with a per-topic `reason` (for
84
+ * example an unknown topic, a `REQUIRED` topic that cannot be opted out, a custom
85
+ * routing request that is not available on the workspace's plan, or a write
86
+ * failure). The request therefore returns `200` with both lists whenever the body
87
+ * is structurally valid.
88
+ *
89
+ * Every `topic_id` in the response — in both `items` and `errors` — is returned in
90
+ * Courier's canonical topic id form, regardless of the form supplied in the
91
+ * request.
92
+ *
93
+ * @example
94
+ * ```ts
95
+ * const response = await client.users.preferences.bulkUpdate(
96
+ * 'user_id',
97
+ * {
98
+ * topics: [
99
+ * {
100
+ * topic_id: '74Q4QGFBEX481DP6JRPMV751H4XT',
101
+ * status: 'OPTED_IN',
102
+ * has_custom_routing: true,
103
+ * custom_routing: ['inbox', 'email'],
104
+ * },
105
+ * {
106
+ * topic_id: '5Q4QGFBEX481DP6JRPMV751H4YU',
107
+ * status: 'OPTED_OUT',
108
+ * },
109
+ * ],
110
+ * },
111
+ * );
112
+ * ```
113
+ */
114
+ bulkUpdate(
115
+ userID: string,
116
+ params: PreferenceBulkUpdateParams,
117
+ options?: RequestOptions,
118
+ ): APIPromise<PreferenceBulkUpdateResponse> {
119
+ const { tenant_id, ...body } = params;
120
+ return this._client.post(path`/users/${userID}/preferences`, { query: { tenant_id }, body, ...options });
121
+ }
122
+
123
+ /**
124
+ * Remove a user's preferences for a specific subscription topic, resetting the
125
+ * topic to its effective default. This operation is idempotent: deleting a
126
+ * preference that does not exist succeeds with no error.
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * await client.users.preferences.deleteTopic('topic_id', {
131
+ * user_id: 'user_id',
132
+ * });
133
+ * ```
134
+ */
135
+ deleteTopic(
136
+ topicID: string,
137
+ params: PreferenceDeleteTopicParams,
138
+ options?: RequestOptions,
139
+ ): APIPromise<void> {
140
+ const { user_id, tenant_id } = params;
141
+ return this._client.delete(path`/users/${user_id}/preferences/${topicID}`, {
142
+ query: { tenant_id },
143
+ ...options,
144
+ headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
145
+ });
146
+ }
147
+
28
148
  /**
29
149
  * Fetch user preferences for a specific subscription topic.
30
150
  *
@@ -78,6 +198,23 @@ export class Preferences extends APIResource {
78
198
  }
79
199
  }
80
200
 
201
+ /**
202
+ * A single topic override echoed in a bulk preference response.
203
+ */
204
+ export interface BulkPreferenceTopic {
205
+ custom_routing: Array<Shared.ChannelClassification>;
206
+
207
+ has_custom_routing: boolean;
208
+
209
+ /**
210
+ * The applied subscription status. Echoes the requested value, so it is always
211
+ * OPTED_IN or OPTED_OUT.
212
+ */
213
+ status: 'OPTED_IN' | 'OPTED_OUT';
214
+
215
+ topic_id: string;
216
+ }
217
+
81
218
  export interface TopicPreference {
82
219
  default_status: Shared.PreferenceStatus;
83
220
 
@@ -107,6 +244,44 @@ export interface PreferenceRetrieveResponse {
107
244
  paging: Shared.Paging;
108
245
  }
109
246
 
247
+ export interface PreferenceBulkReplaceResponse {
248
+ /**
249
+ * The ids of the overrides that were reset to their topic default.
250
+ */
251
+ deleted: Array<string>;
252
+
253
+ /**
254
+ * The complete resulting set of topic overrides for the user.
255
+ */
256
+ items: Array<BulkPreferenceTopic>;
257
+ }
258
+
259
+ export interface PreferenceBulkUpdateResponse {
260
+ /**
261
+ * The topics that could not be applied, each with a reason.
262
+ */
263
+ errors: Array<PreferenceBulkUpdateResponse.Error>;
264
+
265
+ /**
266
+ * The topics that were successfully created or updated.
267
+ */
268
+ items: Array<BulkPreferenceTopic>;
269
+ }
270
+
271
+ export namespace PreferenceBulkUpdateResponse {
272
+ /**
273
+ * A single topic that could not be applied in a bulk preference request.
274
+ */
275
+ export interface Error {
276
+ /**
277
+ * A human-readable explanation of why the topic could not be applied.
278
+ */
279
+ reason: string;
280
+
281
+ topic_id: string;
282
+ }
283
+ }
284
+
110
285
  export interface PreferenceRetrieveTopicResponse {
111
286
  topic: TopicPreference;
112
287
  }
@@ -122,6 +297,94 @@ export interface PreferenceRetrieveParams {
122
297
  tenant_id?: string | null;
123
298
  }
124
299
 
300
+ export interface PreferenceBulkReplaceParams {
301
+ /**
302
+ * Body param: The complete set of topic overrides for the user. Up to 50 topics
303
+ * may be provided. Any existing override not listed here is reset to its topic
304
+ * default; an empty array resets every existing override.
305
+ */
306
+ topics: Array<PreferenceBulkReplaceParams.Topic>;
307
+
308
+ /**
309
+ * Query param: Replace the preferences of a user for this specific tenant context.
310
+ */
311
+ tenant_id?: string | null;
312
+ }
313
+
314
+ export namespace PreferenceBulkReplaceParams {
315
+ export interface Topic {
316
+ /**
317
+ * The subscription status to apply for this topic.
318
+ */
319
+ status: 'OPTED_IN' | 'OPTED_OUT';
320
+
321
+ /**
322
+ * A unique identifier associated with a subscription topic.
323
+ */
324
+ topic_id: string;
325
+
326
+ /**
327
+ * The channels a user has chosen to receive notifications through for this topic.
328
+ */
329
+ custom_routing?: Array<Shared.ChannelClassification>;
330
+
331
+ /**
332
+ * Whether the recipient has chosen specific delivery channels for this topic.
333
+ */
334
+ has_custom_routing?: boolean;
335
+ }
336
+ }
337
+
338
+ export interface PreferenceBulkUpdateParams {
339
+ /**
340
+ * Body param: The topics to create or update. Between 1 and 50 topics may be
341
+ * provided in a single request.
342
+ */
343
+ topics: Array<PreferenceBulkUpdateParams.Topic>;
344
+
345
+ /**
346
+ * Query param: Update the preferences of a user for this specific tenant context.
347
+ */
348
+ tenant_id?: string | null;
349
+ }
350
+
351
+ export namespace PreferenceBulkUpdateParams {
352
+ export interface Topic {
353
+ /**
354
+ * The subscription status to apply for this topic.
355
+ */
356
+ status: 'OPTED_IN' | 'OPTED_OUT';
357
+
358
+ /**
359
+ * A unique identifier associated with a subscription topic.
360
+ */
361
+ topic_id: string;
362
+
363
+ /**
364
+ * The channels a user has chosen to receive notifications through for this topic.
365
+ */
366
+ custom_routing?: Array<Shared.ChannelClassification>;
367
+
368
+ /**
369
+ * Whether the recipient has chosen specific delivery channels for this topic.
370
+ */
371
+ has_custom_routing?: boolean;
372
+ }
373
+ }
374
+
375
+ export interface PreferenceDeleteTopicParams {
376
+ /**
377
+ * Path param: A unique identifier associated with the user whose preferences you
378
+ * wish to delete.
379
+ */
380
+ user_id: string;
381
+
382
+ /**
383
+ * Query param: Delete the preferences of a user for this specific tenant context.
384
+ */
385
+ tenant_id?: string | null;
386
+ }
387
+
125
388
  export interface PreferenceRetrieveTopicParams {
126
389
  /**
127
390
  * Path param: A unique identifier associated with the user whose preferences you
@@ -168,11 +431,17 @@ export namespace PreferenceUpdateOrCreateTopicParams {
168
431
 
169
432
  export declare namespace Preferences {
170
433
  export {
434
+ type BulkPreferenceTopic as BulkPreferenceTopic,
171
435
  type TopicPreference as TopicPreference,
172
436
  type PreferenceRetrieveResponse as PreferenceRetrieveResponse,
437
+ type PreferenceBulkReplaceResponse as PreferenceBulkReplaceResponse,
438
+ type PreferenceBulkUpdateResponse as PreferenceBulkUpdateResponse,
173
439
  type PreferenceRetrieveTopicResponse as PreferenceRetrieveTopicResponse,
174
440
  type PreferenceUpdateOrCreateTopicResponse as PreferenceUpdateOrCreateTopicResponse,
175
441
  type PreferenceRetrieveParams as PreferenceRetrieveParams,
442
+ type PreferenceBulkReplaceParams as PreferenceBulkReplaceParams,
443
+ type PreferenceBulkUpdateParams as PreferenceBulkUpdateParams,
444
+ type PreferenceDeleteTopicParams as PreferenceDeleteTopicParams,
176
445
  type PreferenceRetrieveTopicParams as PreferenceRetrieveTopicParams,
177
446
  type PreferenceUpdateOrCreateTopicParams as PreferenceUpdateOrCreateTopicParams,
178
447
  };
@@ -3,6 +3,12 @@
3
3
  import { APIResource } from '../../core/resource';
4
4
  import * as PreferencesAPI from './preferences';
5
5
  import {
6
+ BulkPreferenceTopic,
7
+ PreferenceBulkReplaceParams,
8
+ PreferenceBulkReplaceResponse,
9
+ PreferenceBulkUpdateParams,
10
+ PreferenceBulkUpdateResponse,
11
+ PreferenceDeleteTopicParams,
6
12
  PreferenceRetrieveParams,
7
13
  PreferenceRetrieveResponse,
8
14
  PreferenceRetrieveTopicParams,
@@ -46,11 +52,17 @@ Users.Tokens = Tokens;
46
52
  export declare namespace Users {
47
53
  export {
48
54
  Preferences as Preferences,
55
+ type BulkPreferenceTopic as BulkPreferenceTopic,
49
56
  type TopicPreference as TopicPreference,
50
57
  type PreferenceRetrieveResponse as PreferenceRetrieveResponse,
58
+ type PreferenceBulkReplaceResponse as PreferenceBulkReplaceResponse,
59
+ type PreferenceBulkUpdateResponse as PreferenceBulkUpdateResponse,
51
60
  type PreferenceRetrieveTopicResponse as PreferenceRetrieveTopicResponse,
52
61
  type PreferenceUpdateOrCreateTopicResponse as PreferenceUpdateOrCreateTopicResponse,
53
62
  type PreferenceRetrieveParams as PreferenceRetrieveParams,
63
+ type PreferenceBulkReplaceParams as PreferenceBulkReplaceParams,
64
+ type PreferenceBulkUpdateParams as PreferenceBulkUpdateParams,
65
+ type PreferenceDeleteTopicParams as PreferenceDeleteTopicParams,
54
66
  type PreferenceRetrieveTopicParams as PreferenceRetrieveTopicParams,
55
67
  type PreferenceUpdateOrCreateTopicParams as PreferenceUpdateOrCreateTopicParams,
56
68
  };
@@ -0,0 +1,25 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export {
4
+ Topics,
5
+ type TopicCreateParams,
6
+ type TopicRetrieveParams,
7
+ type TopicArchiveParams,
8
+ type TopicReplaceParams,
9
+ } from './topics';
10
+ export {
11
+ WorkspacePreferences,
12
+ type PublishPreferencesRequest,
13
+ type PublishPreferencesResponse,
14
+ type WorkspacePreferenceCreateRequest,
15
+ type WorkspacePreferenceGetResponse,
16
+ type WorkspacePreferenceListResponse,
17
+ type WorkspacePreferenceReplaceRequest,
18
+ type WorkspacePreferenceTopicCreateRequest,
19
+ type WorkspacePreferenceTopicGetResponse,
20
+ type WorkspacePreferenceTopicListResponse,
21
+ type WorkspacePreferenceTopicReplaceRequest,
22
+ type WorkspacePreferenceCreateParams,
23
+ type WorkspacePreferencePublishParams,
24
+ type WorkspacePreferenceReplaceParams,
25
+ } from './workspace-preferences';