@transcend-io/cli 8.0.0-alpha.1 → 8.0.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 (275) hide show
  1. package/README.md +1826 -161
  2. package/dist/bin/bash-complete.cjs +4 -0
  3. package/dist/bin/bash-complete.cjs.map +1 -0
  4. package/dist/bin/cli.cjs +3 -0
  5. package/dist/bin/cli.cjs.map +1 -0
  6. package/dist/bin/deprecated-command.cjs +7 -0
  7. package/dist/bin/deprecated-command.cjs.map +1 -0
  8. package/dist/chunk-3EZGFSMD.cjs +15 -0
  9. package/dist/chunk-3EZGFSMD.cjs.map +1 -0
  10. package/dist/chunk-3FEOMF7G.cjs +2 -0
  11. package/dist/chunk-3FEOMF7G.cjs.map +1 -0
  12. package/dist/chunk-6DMFIXMV.cjs +113 -0
  13. package/dist/chunk-6DMFIXMV.cjs.map +1 -0
  14. package/dist/chunk-6PCS4IRI.cjs +4 -0
  15. package/dist/chunk-6PCS4IRI.cjs.map +1 -0
  16. package/dist/chunk-7QV5QNGW.cjs +75 -0
  17. package/dist/chunk-7QV5QNGW.cjs.map +1 -0
  18. package/dist/chunk-AADFRD6P.cjs +2 -0
  19. package/dist/chunk-AADFRD6P.cjs.map +1 -0
  20. package/dist/chunk-ASFWHSOV.cjs +2 -0
  21. package/dist/chunk-ASFWHSOV.cjs.map +1 -0
  22. package/dist/chunk-FMX5SPCL.cjs +9 -0
  23. package/dist/chunk-FMX5SPCL.cjs.map +1 -0
  24. package/dist/chunk-GZ2U36SS.cjs +12 -0
  25. package/dist/chunk-GZ2U36SS.cjs.map +1 -0
  26. package/dist/chunk-IBTP5OXE.cjs +2 -0
  27. package/dist/chunk-IBTP5OXE.cjs.map +1 -0
  28. package/dist/chunk-KC7NDLN7.cjs +2 -0
  29. package/dist/chunk-KC7NDLN7.cjs.map +1 -0
  30. package/dist/chunk-LCDYXJN6.cjs +2 -0
  31. package/dist/chunk-LCDYXJN6.cjs.map +1 -0
  32. package/dist/chunk-MPI5VURJ.cjs +2920 -0
  33. package/dist/chunk-MPI5VURJ.cjs.map +1 -0
  34. package/dist/chunk-NKVC5Y53.cjs +2 -0
  35. package/dist/chunk-NKVC5Y53.cjs.map +1 -0
  36. package/dist/chunk-Q7I37FJV.cjs +2 -0
  37. package/dist/chunk-Q7I37FJV.cjs.map +1 -0
  38. package/dist/chunk-QEM6S2W7.cjs +2 -0
  39. package/dist/chunk-QEM6S2W7.cjs.map +1 -0
  40. package/dist/chunk-R7QYSUEN.cjs +2 -0
  41. package/dist/{chunk-CBAHSBSW.js.map → chunk-R7QYSUEN.cjs.map} +1 -1
  42. package/dist/chunk-SUCCU2FS.cjs +4 -0
  43. package/dist/chunk-SUCCU2FS.cjs.map +1 -0
  44. package/dist/chunk-T462ONFX.cjs +2 -0
  45. package/dist/chunk-T462ONFX.cjs.map +1 -0
  46. package/dist/chunk-TD7ADMVO.cjs +2 -0
  47. package/dist/chunk-TD7ADMVO.cjs.map +1 -0
  48. package/dist/chunk-V4X4IT3T.cjs +2 -0
  49. package/dist/chunk-V4X4IT3T.cjs.map +1 -0
  50. package/dist/chunk-VHQY7TSF.cjs +3 -0
  51. package/dist/chunk-VHQY7TSF.cjs.map +1 -0
  52. package/dist/chunk-WKCTKYN4.cjs +2 -0
  53. package/dist/chunk-WKCTKYN4.cjs.map +1 -0
  54. package/dist/chunk-ZUNVPK23.cjs +2 -0
  55. package/dist/chunk-ZUNVPK23.cjs.map +1 -0
  56. package/dist/chunk-ZVK4HIDF.cjs +6 -0
  57. package/dist/chunk-ZVK4HIDF.cjs.map +1 -0
  58. package/dist/impl-3MB7W3JD.cjs +2 -0
  59. package/dist/impl-3MB7W3JD.cjs.map +1 -0
  60. package/dist/impl-4EYSMS5J.cjs +2 -0
  61. package/dist/impl-4EYSMS5J.cjs.map +1 -0
  62. package/dist/impl-4QGHJNOF.cjs +2 -0
  63. package/dist/impl-4QGHJNOF.cjs.map +1 -0
  64. package/dist/impl-4TMKRPWO.cjs +2 -0
  65. package/dist/impl-4TMKRPWO.cjs.map +1 -0
  66. package/dist/impl-5OEUTJB7.cjs +2 -0
  67. package/dist/impl-5OEUTJB7.cjs.map +1 -0
  68. package/dist/impl-6CESPVNS.cjs +3 -0
  69. package/dist/impl-6CESPVNS.cjs.map +1 -0
  70. package/dist/impl-6OK7OVS6.cjs +2 -0
  71. package/dist/impl-6OK7OVS6.cjs.map +1 -0
  72. package/dist/impl-A6IYDZLA.cjs +2 -0
  73. package/dist/impl-A6IYDZLA.cjs.map +1 -0
  74. package/dist/impl-ALXI3TP7.cjs +2 -0
  75. package/dist/impl-ALXI3TP7.cjs.map +1 -0
  76. package/dist/impl-AMXKTPKE.cjs +2 -0
  77. package/dist/impl-AMXKTPKE.cjs.map +1 -0
  78. package/dist/impl-BEGQABL3.cjs +2 -0
  79. package/dist/impl-BEGQABL3.cjs.map +1 -0
  80. package/dist/impl-CT62BE2Y.cjs +2 -0
  81. package/dist/impl-CT62BE2Y.cjs.map +1 -0
  82. package/dist/impl-DCPTYADV.cjs +2 -0
  83. package/dist/impl-DCPTYADV.cjs.map +1 -0
  84. package/dist/impl-DHMLZZX7.cjs +2 -0
  85. package/dist/impl-DHMLZZX7.cjs.map +1 -0
  86. package/dist/impl-DJ3SW7AG.cjs +2 -0
  87. package/dist/impl-DJ3SW7AG.cjs.map +1 -0
  88. package/dist/impl-EE72U2AE.cjs +2 -0
  89. package/dist/impl-EE72U2AE.cjs.map +1 -0
  90. package/dist/impl-GSLBE3DP.cjs +2 -0
  91. package/dist/impl-GSLBE3DP.cjs.map +1 -0
  92. package/dist/impl-HFDUNV2A.cjs +2 -0
  93. package/dist/impl-HFDUNV2A.cjs.map +1 -0
  94. package/dist/impl-HV2SRHDV.cjs +2 -0
  95. package/dist/impl-HV2SRHDV.cjs.map +1 -0
  96. package/dist/impl-JTBEG5AM.cjs +2 -0
  97. package/dist/impl-JTBEG5AM.cjs.map +1 -0
  98. package/dist/impl-JYCFV5ST.cjs +2 -0
  99. package/dist/impl-JYCFV5ST.cjs.map +1 -0
  100. package/dist/impl-L7AJQDYS.cjs +2 -0
  101. package/dist/impl-L7AJQDYS.cjs.map +1 -0
  102. package/dist/impl-LJMBCW6Z.cjs +2 -0
  103. package/dist/impl-LJMBCW6Z.cjs.map +1 -0
  104. package/dist/impl-NCT2NJ62.cjs +2 -0
  105. package/dist/impl-NCT2NJ62.cjs.map +1 -0
  106. package/dist/impl-OEZVSI3U.cjs +2 -0
  107. package/dist/impl-OEZVSI3U.cjs.map +1 -0
  108. package/dist/impl-OZ7S4WDL.cjs +4 -0
  109. package/dist/impl-OZ7S4WDL.cjs.map +1 -0
  110. package/dist/impl-SCO4LJDB.cjs +2 -0
  111. package/dist/impl-SCO4LJDB.cjs.map +1 -0
  112. package/dist/impl-SLRQDZB4.cjs +2 -0
  113. package/dist/impl-SLRQDZB4.cjs.map +1 -0
  114. package/dist/impl-SQDB5BDK.cjs +9 -0
  115. package/dist/impl-SQDB5BDK.cjs.map +1 -0
  116. package/dist/impl-TI7DA67A.cjs +2 -0
  117. package/dist/impl-TI7DA67A.cjs.map +1 -0
  118. package/dist/impl-TVSTWXSI.cjs +2 -0
  119. package/dist/impl-TVSTWXSI.cjs.map +1 -0
  120. package/dist/impl-ULAYJG2T.cjs +6 -0
  121. package/dist/impl-ULAYJG2T.cjs.map +1 -0
  122. package/dist/impl-VVADV3UA.cjs +2 -0
  123. package/dist/impl-VVADV3UA.cjs.map +1 -0
  124. package/dist/impl-WBR473NQ.cjs +7 -0
  125. package/dist/impl-WBR473NQ.cjs.map +1 -0
  126. package/dist/impl-WKWQYPI4.cjs +6 -0
  127. package/dist/impl-WKWQYPI4.cjs.map +1 -0
  128. package/dist/impl-XTEZTAM2.cjs +2 -0
  129. package/dist/impl-XTEZTAM2.cjs.map +1 -0
  130. package/dist/impl-YLORLMRQ.cjs +2 -0
  131. package/dist/impl-YLORLMRQ.cjs.map +1 -0
  132. package/dist/impl-YVMYL724.cjs +12 -0
  133. package/dist/impl-YVMYL724.cjs.map +1 -0
  134. package/dist/impl-ZFJM6LMZ.cjs +2 -0
  135. package/dist/impl-ZFJM6LMZ.cjs.map +1 -0
  136. package/dist/index.cjs +5 -0
  137. package/dist/index.cjs.map +1 -0
  138. package/dist/{index.d.ts → index.d.cts} +33417 -6065
  139. package/package.json +54 -48
  140. package/dist/bin/bash-complete.js +0 -4
  141. package/dist/bin/bash-complete.js.map +0 -1
  142. package/dist/bin/cli.js +0 -3
  143. package/dist/bin/cli.js.map +0 -1
  144. package/dist/bin/deprecated-command.js +0 -7
  145. package/dist/bin/deprecated-command.js.map +0 -1
  146. package/dist/chunk-26T4RUOI.js +0 -12
  147. package/dist/chunk-26T4RUOI.js.map +0 -1
  148. package/dist/chunk-2LCGZ77N.js +0 -2
  149. package/dist/chunk-2LCGZ77N.js.map +0 -1
  150. package/dist/chunk-2V6ABZRI.js +0 -2
  151. package/dist/chunk-2V6ABZRI.js.map +0 -1
  152. package/dist/chunk-347UQP43.js +0 -2
  153. package/dist/chunk-347UQP43.js.map +0 -1
  154. package/dist/chunk-43JWXG77.js +0 -2
  155. package/dist/chunk-43JWXG77.js.map +0 -1
  156. package/dist/chunk-4GLITB3Y.js +0 -2
  157. package/dist/chunk-4GLITB3Y.js.map +0 -1
  158. package/dist/chunk-65I2PF73.js +0 -2
  159. package/dist/chunk-65I2PF73.js.map +0 -1
  160. package/dist/chunk-72U6ETHG.js +0 -2
  161. package/dist/chunk-72U6ETHG.js.map +0 -1
  162. package/dist/chunk-ARVEJERC.js +0 -2
  163. package/dist/chunk-ARVEJERC.js.map +0 -1
  164. package/dist/chunk-CBAHSBSW.js +0 -2
  165. package/dist/chunk-EZHASXA5.js +0 -2
  166. package/dist/chunk-EZHASXA5.js.map +0 -1
  167. package/dist/chunk-FHZRITAV.js +0 -2
  168. package/dist/chunk-FHZRITAV.js.map +0 -1
  169. package/dist/chunk-HJULYIHF.js +0 -3
  170. package/dist/chunk-HJULYIHF.js.map +0 -1
  171. package/dist/chunk-HOZXN2EM.js +0 -94
  172. package/dist/chunk-HOZXN2EM.js.map +0 -1
  173. package/dist/chunk-L5ULN3IT.js +0 -2
  174. package/dist/chunk-L5ULN3IT.js.map +0 -1
  175. package/dist/chunk-L7ZIX4SU.js +0 -2
  176. package/dist/chunk-L7ZIX4SU.js.map +0 -1
  177. package/dist/chunk-LAYHULHH.js +0 -2
  178. package/dist/chunk-LAYHULHH.js.map +0 -1
  179. package/dist/chunk-MA4JWWRO.js +0 -6
  180. package/dist/chunk-MA4JWWRO.js.map +0 -1
  181. package/dist/chunk-MK5T6DBK.js +0 -2831
  182. package/dist/chunk-MK5T6DBK.js.map +0 -1
  183. package/dist/chunk-N6JZHL5U.js +0 -2
  184. package/dist/chunk-N6JZHL5U.js.map +0 -1
  185. package/dist/chunk-NZZKRVAI.js +0 -4
  186. package/dist/chunk-NZZKRVAI.js.map +0 -1
  187. package/dist/chunk-OEB7WG3G.js +0 -4
  188. package/dist/chunk-OEB7WG3G.js.map +0 -1
  189. package/dist/chunk-SRLEEKKQ.js +0 -9
  190. package/dist/chunk-SRLEEKKQ.js.map +0 -1
  191. package/dist/chunk-WO5MQBXP.js +0 -75
  192. package/dist/chunk-WO5MQBXP.js.map +0 -1
  193. package/dist/impl-24IS3GIF.js +0 -2
  194. package/dist/impl-24IS3GIF.js.map +0 -1
  195. package/dist/impl-3YESYKVQ.js +0 -2
  196. package/dist/impl-3YESYKVQ.js.map +0 -1
  197. package/dist/impl-6MGNPY7O.js +0 -2
  198. package/dist/impl-6MGNPY7O.js.map +0 -1
  199. package/dist/impl-6SYXV3YI.js +0 -2
  200. package/dist/impl-6SYXV3YI.js.map +0 -1
  201. package/dist/impl-BVOF3W2V.js +0 -4
  202. package/dist/impl-BVOF3W2V.js.map +0 -1
  203. package/dist/impl-D4AEXEMN.js +0 -12
  204. package/dist/impl-D4AEXEMN.js.map +0 -1
  205. package/dist/impl-EAY4M3OY.js +0 -2
  206. package/dist/impl-EAY4M3OY.js.map +0 -1
  207. package/dist/impl-F4IQEKTF.js +0 -9
  208. package/dist/impl-F4IQEKTF.js.map +0 -1
  209. package/dist/impl-G4JGSVWD.js +0 -2
  210. package/dist/impl-G4JGSVWD.js.map +0 -1
  211. package/dist/impl-HFXHM3PH.js +0 -2
  212. package/dist/impl-HFXHM3PH.js.map +0 -1
  213. package/dist/impl-HMHOYOZZ.js +0 -2
  214. package/dist/impl-HMHOYOZZ.js.map +0 -1
  215. package/dist/impl-IU4EANSX.js +0 -7
  216. package/dist/impl-IU4EANSX.js.map +0 -1
  217. package/dist/impl-IWDHKBWZ.js +0 -2
  218. package/dist/impl-IWDHKBWZ.js.map +0 -1
  219. package/dist/impl-JFD2JMP6.js +0 -2
  220. package/dist/impl-JFD2JMP6.js.map +0 -1
  221. package/dist/impl-JH4VBMNT.js +0 -2
  222. package/dist/impl-JH4VBMNT.js.map +0 -1
  223. package/dist/impl-LSP4V37Z.js +0 -6
  224. package/dist/impl-LSP4V37Z.js.map +0 -1
  225. package/dist/impl-MIJFNSLS.js +0 -2
  226. package/dist/impl-MIJFNSLS.js.map +0 -1
  227. package/dist/impl-NL32KFH4.js +0 -2
  228. package/dist/impl-NL32KFH4.js.map +0 -1
  229. package/dist/impl-NLCPSIYZ.js +0 -2
  230. package/dist/impl-NLCPSIYZ.js.map +0 -1
  231. package/dist/impl-NXRQU2U5.js +0 -6
  232. package/dist/impl-NXRQU2U5.js.map +0 -1
  233. package/dist/impl-QEOVZIM5.js +0 -2
  234. package/dist/impl-QEOVZIM5.js.map +0 -1
  235. package/dist/impl-QRK4B3FD.js +0 -2
  236. package/dist/impl-QRK4B3FD.js.map +0 -1
  237. package/dist/impl-QZBKOJBQ.js +0 -2
  238. package/dist/impl-QZBKOJBQ.js.map +0 -1
  239. package/dist/impl-RFRQUKQY.js +0 -2
  240. package/dist/impl-RFRQUKQY.js.map +0 -1
  241. package/dist/impl-RIVVHWBR.js +0 -2
  242. package/dist/impl-RIVVHWBR.js.map +0 -1
  243. package/dist/impl-SJHU5PR7.js +0 -2
  244. package/dist/impl-SJHU5PR7.js.map +0 -1
  245. package/dist/impl-SYC5TORT.js +0 -2
  246. package/dist/impl-SYC5TORT.js.map +0 -1
  247. package/dist/impl-TP4QITXR.js +0 -2
  248. package/dist/impl-TP4QITXR.js.map +0 -1
  249. package/dist/impl-UOB7PV4W.js +0 -2
  250. package/dist/impl-UOB7PV4W.js.map +0 -1
  251. package/dist/impl-UUQ2BEZR.js +0 -2
  252. package/dist/impl-UUQ2BEZR.js.map +0 -1
  253. package/dist/impl-WH2I2JB7.js +0 -2
  254. package/dist/impl-WH2I2JB7.js.map +0 -1
  255. package/dist/impl-X6N6NFUV.js +0 -6
  256. package/dist/impl-X6N6NFUV.js.map +0 -1
  257. package/dist/impl-XF3OTAQZ.js +0 -2
  258. package/dist/impl-XF3OTAQZ.js.map +0 -1
  259. package/dist/impl-XH3KTZRN.js +0 -2
  260. package/dist/impl-XH3KTZRN.js.map +0 -1
  261. package/dist/impl-XQBTTRCU.js +0 -2
  262. package/dist/impl-XQBTTRCU.js.map +0 -1
  263. package/dist/impl-YA2HU57Y.js +0 -2
  264. package/dist/impl-YA2HU57Y.js.map +0 -1
  265. package/dist/impl-YEGS4G24.js +0 -2
  266. package/dist/impl-YEGS4G24.js.map +0 -1
  267. package/dist/impl-YNBHGQJK.js +0 -2
  268. package/dist/impl-YNBHGQJK.js.map +0 -1
  269. package/dist/impl-ZJL2YE7A.js +0 -2
  270. package/dist/impl-ZJL2YE7A.js.map +0 -1
  271. package/dist/index.js +0 -5
  272. package/dist/index.js.map +0 -1
  273. /package/dist/bin/{bash-complete.d.ts → bash-complete.d.cts} +0 -0
  274. /package/dist/bin/{cli.d.ts → cli.d.cts} +0 -0
  275. /package/dist/bin/{deprecated-command.d.ts → deprecated-command.d.cts} +0 -0
package/README.md CHANGED
@@ -11,51 +11,86 @@
11
11
  - [transcend.yml](#transcendyml)
12
12
  - [Usage](#usage)
13
13
  - [`transcend request approve`](#transcend-request-approve)
14
+ - [Examples](#examples)
14
15
  - [`transcend request upload`](#transcend-request-upload)
16
+ - [Examples](#examples-1)
15
17
  - [`transcend request download-files`](#transcend-request-download-files)
18
+ - [Examples](#examples-2)
16
19
  - [`transcend request cancel`](#transcend-request-cancel)
20
+ - [Examples](#examples-3)
17
21
  - [`transcend request restart`](#transcend-request-restart)
22
+ - [Examples](#examples-4)
18
23
  - [`transcend request notify-additional-time`](#transcend-request-notify-additional-time)
24
+ - [Examples](#examples-5)
19
25
  - [`transcend request mark-silent`](#transcend-request-mark-silent)
26
+ - [Examples](#examples-6)
20
27
  - [`transcend request enricher-restart`](#transcend-request-enricher-restart)
28
+ - [Examples](#examples-7)
21
29
  - [`transcend request reject-unverified-identifiers`](#transcend-request-reject-unverified-identifiers)
30
+ - [Examples](#examples-8)
22
31
  - [`transcend request export`](#transcend-request-export)
32
+ - [Examples](#examples-9)
23
33
  - [`transcend request skip-preflight-jobs`](#transcend-request-skip-preflight-jobs)
34
+ - [Examples](#examples-10)
24
35
  - [`transcend request system mark-request-data-silos-completed`](#transcend-request-system-mark-request-data-silos-completed)
36
+ - [Examples](#examples-11)
25
37
  - [`transcend request system retry-request-data-silos`](#transcend-request-system-retry-request-data-silos)
38
+ - [Examples](#examples-12)
26
39
  - [`transcend request system skip-request-data-silos`](#transcend-request-system-skip-request-data-silos)
40
+ - [Examples](#examples-13)
27
41
  - [`transcend request preflight pull-identifiers`](#transcend-request-preflight-pull-identifiers)
42
+ - [Examples](#examples-14)
28
43
  - [`transcend request preflight push-identifiers`](#transcend-request-preflight-push-identifiers)
44
+ - [Examples](#examples-15)
29
45
  - [`transcend request cron pull-identifiers`](#transcend-request-cron-pull-identifiers)
46
+ - [Examples](#examples-16)
30
47
  - [`transcend request cron mark-identifiers-completed`](#transcend-request-cron-mark-identifiers-completed)
48
+ - [Examples](#examples-17)
31
49
  - [`transcend consent build-xdi-sync-endpoint`](#transcend-consent-build-xdi-sync-endpoint)
50
+ - [Examples](#examples-18)
32
51
  - [`transcend consent pull-consent-metrics`](#transcend-consent-pull-consent-metrics)
52
+ - [Examples](#examples-19)
33
53
  - [`transcend consent pull-consent-preferences`](#transcend-consent-pull-consent-preferences)
54
+ - [Examples](#examples-20)
34
55
  - [`transcend consent update-consent-manager`](#transcend-consent-update-consent-manager)
56
+ - [Examples](#examples-21)
35
57
  - [`transcend consent upload-consent-preferences`](#transcend-consent-upload-consent-preferences)
58
+ - [Examples](#examples-22)
36
59
  - [`transcend consent upload-cookies-from-csv`](#transcend-consent-upload-cookies-from-csv)
60
+ - [Examples](#examples-23)
37
61
  - [`transcend consent upload-data-flows-from-csv`](#transcend-consent-upload-data-flows-from-csv)
62
+ - [Examples](#examples-24)
38
63
  - [`transcend consent upload-preferences`](#transcend-consent-upload-preferences)
64
+ - [Examples](#examples-25)
39
65
  - [`transcend inventory pull`](#transcend-inventory-pull)
40
66
  - [Scopes](#scopes)
41
- - [Usage](#usage-1)
67
+ - [Examples](#examples-26)
42
68
  - [`transcend inventory push`](#transcend-inventory-push)
43
69
  - [Scopes](#scopes-1)
44
- - [Usage](#usage-2)
70
+ - [Examples](#examples-27)
45
71
  - [CI Integration](#ci-integration)
46
72
  - [Dynamic Variables](#dynamic-variables)
47
73
  - [`transcend inventory scan-packages`](#transcend-inventory-scan-packages)
74
+ - [Examples](#examples-28)
48
75
  - [`transcend inventory discover-silos`](#transcend-inventory-discover-silos)
49
- - [Usage](#usage-3)
76
+ - [Examples](#examples-29)
50
77
  - [`transcend inventory pull-datapoints`](#transcend-inventory-pull-datapoints)
78
+ - [Examples](#examples-30)
51
79
  - [`transcend inventory pull-unstructured-discovery-files`](#transcend-inventory-pull-unstructured-discovery-files)
80
+ - [Examples](#examples-31)
52
81
  - [`transcend inventory derive-data-silos-from-data-flows`](#transcend-inventory-derive-data-silos-from-data-flows)
82
+ - [Examples](#examples-32)
53
83
  - [`transcend inventory derive-data-silos-from-data-flows-cross-instance`](#transcend-inventory-derive-data-silos-from-data-flows-cross-instance)
84
+ - [Examples](#examples-33)
54
85
  - [`transcend inventory consent-manager-service-json-to-yml`](#transcend-inventory-consent-manager-service-json-to-yml)
86
+ - [Examples](#examples-34)
55
87
  - [`transcend inventory consent-managers-to-business-entities`](#transcend-inventory-consent-managers-to-business-entities)
88
+ - [Examples](#examples-35)
56
89
  - [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys)
57
- - [Usage](#usage-4)
90
+ - [Examples](#examples-36)
58
91
  - [`transcend migration sync-ot`](#transcend-migration-sync-ot)
92
+ - [Authentication](#authentication)
93
+ - [Examples](#examples-37)
59
94
  - [Prompt Manager](#prompt-manager)
60
95
  - [Proxy usage](#proxy-usage)
61
96
 
@@ -81,7 +116,7 @@ transcend --help
81
116
  You can also run the CLI using npx:
82
117
 
83
118
  ```sh
84
- npx @transcend-io/cli -- transcend --help
119
+ npx -p @transcend-io/cli -- transcend --help
85
120
  ```
86
121
 
87
122
  Note
@@ -212,6 +247,51 @@ FLAGS
212
247
  -h --help Print help information and exit
213
248
  ```
214
249
 
250
+ #### Examples
251
+
252
+ **Bulk approve all SALE_OPT_OUT and ERASURE requests**
253
+
254
+ ```sh
255
+ transcend request approve --auth="$TRANSCEND_API_KEY" --actions=SALE_OPT_OUT,ERASURE
256
+ ```
257
+
258
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
259
+
260
+ ```sh
261
+ transcend request approve --auth="$TRANSCEND_API_KEY" --actions=ERASURE --transcendUrl=https://api.us.transcend.io
262
+ ```
263
+
264
+ **Approve all Erasure requests that came through the API**
265
+
266
+ ```sh
267
+ transcend request approve --auth="$TRANSCEND_API_KEY" --actions=ERASURE --origins=API
268
+ ```
269
+
270
+ **Approve all requests, but mark any request made before 05/03/2023 as silent mode to prevent emailing those requests**
271
+
272
+ ```sh
273
+ transcend request approve \
274
+ --auth="$TRANSCEND_API_KEY" \
275
+ --actions=SALE_OPT_OUT \
276
+ --silentModeBefore=2024-05-03T00:00:00.000Z
277
+ ```
278
+
279
+ **Increase the concurrency (defaults to 50)**
280
+
281
+ ```sh
282
+ transcend request approve --auth="$TRANSCEND_API_KEY" --actions=ERASURE --concurrency=100
283
+ ```
284
+
285
+ **Approve ERASURE requests created within a specific time frame**
286
+
287
+ ```sh
288
+ transcend request approve \
289
+ --auth="$TRANSCEND_API_KEY" \
290
+ --actions=SALE_OPT_OUT \
291
+ --createdAtBefore=2024-05-03T00:00:00.000Z \
292
+ --createdAtAfter=2024-04-03T00:00:00.000Z
293
+ ```
294
+
215
295
  ### `transcend request upload`
216
296
 
217
297
  ```txt
@@ -245,6 +325,107 @@ FLAGS
245
325
  -h --help Print help information and exit
246
326
  ```
247
327
 
328
+ See a demo of the interactive mapping processbelow (_note: the command is slightly different from the one shown in the video, but the arguments are the same._)
329
+
330
+ https://user-images.githubusercontent.com/10264973/205477183-d4762087-668c-43f1-a84c-0fce0ec3e132.mov
331
+
332
+ #### Examples
333
+
334
+ **Upload requests from a CSV file**
335
+
336
+ ```sh
337
+ transcend request upload --auth="$TRANSCEND_API_KEY" --file=/Users/transcend/Desktop/test.csv
338
+ ```
339
+
340
+ **For self-hosted sombras that use an internal key**
341
+
342
+ ```sh
343
+ transcend request upload \
344
+ --auth="$TRANSCEND_API_KEY" \
345
+ --sombraAuth="$SOMBRA_INTERNAL_KEY" \
346
+ --file=/Users/transcend/Desktop/test.csv
347
+ ```
348
+
349
+ **Run without being prompted to filter requests**
350
+
351
+ ```sh
352
+ transcend request upload --auth="$TRANSCEND_API_KEY" --file=/Users/transcend/Desktop/test.csv --skipFilterStep
353
+ ```
354
+
355
+ **Perform a dry run to see what will be uploaded, without calling the Transcend API**
356
+
357
+ ```sh
358
+ transcend request upload --auth="$TRANSCEND_API_KEY" --file=/Users/transcend/Desktop/test.csv --dryRun
359
+ ```
360
+
361
+ **Mark the uploaded requests as test requests**
362
+
363
+ ```sh
364
+ transcend request upload --auth="$TRANSCEND_API_KEY" --file=/Users/transcend/Desktop/test.csv --isTest
365
+ ```
366
+
367
+ **Send email communications to the users throughout the request lifecycle**
368
+
369
+ ```sh
370
+ transcend request upload --auth="$TRANSCEND_API_KEY" --file=/Users/transcend/Desktop/test.csv --isSilent=false
371
+ ```
372
+
373
+ **Upload requests without sending initial email receipt, but still send later emails**
374
+
375
+ ```sh
376
+ transcend request upload --auth="$TRANSCEND_API_KEY" --file=/Users/transcend/Desktop/test.csv --skipSendingReceipt
377
+ ```
378
+
379
+ **Increase the concurrency (defaults to 50)**
380
+
381
+ ```sh
382
+ transcend request upload --auth="$TRANSCEND_API_KEY" --file=/Users/transcend/Desktop/test.csv --concurrency=100
383
+ ```
384
+
385
+ **Specify default country code for phone numbers**
386
+
387
+ ```sh
388
+ transcend request upload \
389
+ --auth="$TRANSCEND_API_KEY" \
390
+ --file=/Users/transcend/Desktop/test.csv \
391
+ --defaultPhoneCountryCode=44
392
+ ```
393
+
394
+ **Include debug logs - warning, this logs out personal data**
395
+
396
+ ```sh
397
+ transcend request upload --auth="$TRANSCEND_API_KEY" --file=/Users/transcend/Desktop/test.csv --debug
398
+ ```
399
+
400
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
401
+
402
+ ```sh
403
+ transcend request upload \
404
+ --auth="$TRANSCEND_API_KEY" \
405
+ --sombraAuth="$SOMBRA_INTERNAL_KEY" \
406
+ --file=/Users/transcend/Desktop/test.csv \
407
+ --transcendUrl=https://api.us.transcend.io
408
+ ```
409
+
410
+ **Send email verification to user before request continues**
411
+
412
+ ```sh
413
+ transcend request upload \
414
+ --auth="$TRANSCEND_API_KEY" \
415
+ --file=/Users/transcend/Desktop/test.csv \
416
+ --isSilent=false \
417
+ --emailIsVerified=false
418
+ ```
419
+
420
+ **Tag all uploaded requests with custom fields (formerly known as "attributes")**
421
+
422
+ ```sh
423
+ transcend request upload \
424
+ --auth="$TRANSCEND_API_KEY" \
425
+ --file=/Users/transcend/Desktop/test.csv \
426
+ --attributes=Tags:transcend-cli;my-customer-tag,Customer:acme-corp
427
+ ```
428
+
248
429
  ### `transcend request download-files`
249
430
 
250
431
  ```txt
@@ -268,6 +449,65 @@ FLAGS
268
449
  -h --help Print help information and exit
269
450
  ```
270
451
 
452
+ Download the files associated with a Data Subject Access Request (DSAR) from [DSR Automation -> Incoming Requests](https://app.transcend.io/privacy-requests/incoming-requests) tab.
453
+
454
+ <img width="213" alt="Screenshot 2025-06-03 at 3 32 00 PM" src="https://github.com/user-attachments/assets/9e5c3047-5092-454e-9d05-c68509ea3f77" />
455
+
456
+ #### Examples
457
+
458
+ **Download all requests in status=APPROVING or status=DOWNLOADABLE**
459
+
460
+ ```sh
461
+ transcend request download-files --auth="$TRANSCEND_API_KEY"
462
+ ```
463
+
464
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
465
+
466
+ ```sh
467
+ transcend request download-files --auth="$TRANSCEND_API_KEY" --transcendUrl=https://api.us.transcend.io
468
+ ```
469
+
470
+ **Write files to a specific folder on disk**
471
+
472
+ ```sh
473
+ transcend request download-files --auth="$TRANSCEND_API_KEY" --folderPath=./my-folder
474
+ ```
475
+
476
+ **Auto approve after download**
477
+
478
+ ```sh
479
+ transcend request download-files --auth="$TRANSCEND_API_KEY" --approveAfterDownload
480
+ ```
481
+
482
+ **Download requests in APPROVING state only**
483
+
484
+ ```sh
485
+ transcend request download-files --auth="$TRANSCEND_API_KEY" --statuses=APPROVING
486
+ ```
487
+
488
+ **Increase the concurrency (defaults to 10)**
489
+
490
+ ```sh
491
+ transcend request download-files --auth="$TRANSCEND_API_KEY" --concurrency=100
492
+ ```
493
+
494
+ **Download requests in a timeframe**
495
+
496
+ ```sh
497
+ transcend request download-files \
498
+ --auth="$TRANSCEND_API_KEY" \
499
+ --createdAtBefore=2024-05-03T00:00:00.000Z \
500
+ --createdAtAfter=2024-04-03T00:00:00.000Z
501
+ ```
502
+
503
+ **Download specific requests**
504
+
505
+ ```sh
506
+ transcend request download-files \
507
+ --auth="$TRANSCEND_API_KEY" \
508
+ --requestIds=b8c2ce13-9e40-4104-af79-23c68f2a87ba,d5eedc52-0f85-4034-bc01-14951acad5aa
509
+ ```
510
+
271
511
  ### `transcend request cancel`
272
512
 
273
513
  ```txt
@@ -291,6 +531,67 @@ FLAGS
291
531
  -h --help Print help information and exit
292
532
  ```
293
533
 
534
+ #### Examples
535
+
536
+ **Bulk cancel all open SALE_OPT_OUT and ERASURE requests**
537
+
538
+ ```sh
539
+ transcend request cancel --auth="$TRANSCEND_API_KEY" --actions=SALE_OPT_OUT,ERASURE
540
+ ```
541
+
542
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
543
+
544
+ ```sh
545
+ transcend request cancel --auth="$TRANSCEND_API_KEY" --actions=ERASURE --transcendUrl=https://api.us.transcend.io
546
+ ```
547
+
548
+ **Bulk cancel all Erasure (request.type=ERASURE) requests that are in an enriching state (request.status=ENRICHING)**
549
+
550
+ ```sh
551
+ transcend request cancel --auth="$TRANSCEND_API_KEY" --actions=ERASURE --statuses=ENRICHING
552
+ ```
553
+
554
+ **Send a specific email template to the request that are being canceled**
555
+
556
+ ```sh
557
+ transcend request cancel --auth="$TRANSCEND_API_KEY" --actions=ERASURE --cancellationTitle="Custom Email Template"
558
+ ```
559
+
560
+ **Cancel all open SALE_OPT_OUT, but mark any request made before 05/03/2023 as silent mode to prevent emailing those requests**
561
+
562
+ ```sh
563
+ transcend request cancel \
564
+ --auth="$TRANSCEND_API_KEY" \
565
+ --actions=SALE_OPT_OUT \
566
+ --silentModeBefore=2024-05-03T00:00:00.000Z
567
+ ```
568
+
569
+ **Cancel all open SALE_OPT_OUT, within a specific time frame**
570
+
571
+ ```sh
572
+ transcend request cancel \
573
+ --auth="$TRANSCEND_API_KEY" \
574
+ --actions=SALE_OPT_OUT \
575
+ --createdAtBefore=2024-05-03T00:00:00.000Z \
576
+ --createdAtAfter=2024-04-03T00:00:00.000Z
577
+ ```
578
+
579
+ **Increase the concurrency (defaults to 50)**
580
+
581
+ ```sh
582
+ transcend request cancel --auth="$TRANSCEND_API_KEY" --actions=ERASURE --concurrency=500
583
+ ```
584
+
585
+ **Bulk cancel requests by ID**
586
+
587
+ ```sh
588
+ transcend request cancel \
589
+ --auth="$TRANSCEND_API_KEY" \
590
+ --actions=ACCESS,ERASURE,SALE_OPT_OUT,CONTACT_OPT_OUT \
591
+ --statuses=ENRICHING,COMPILING,APPROVING,WAITING,REQUEST_MADE,ON_HOLD,DELAYED,SECONDARY \
592
+ --requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
593
+ ```
594
+
294
595
  ### `transcend request restart`
295
596
 
296
597
  ```txt
@@ -320,6 +621,126 @@ FLAGS
320
621
  -h --help Print help information and exit
321
622
  ```
322
623
 
624
+ #### Examples
625
+
626
+ **Restart requests with specific statuses and actions**
627
+
628
+ ```sh
629
+ transcend request restart --auth="$TRANSCEND_API_KEY" --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE
630
+ ```
631
+
632
+ **For self-hosted sombras that use an internal key**
633
+
634
+ ```sh
635
+ transcend request restart \
636
+ --auth="$TRANSCEND_API_KEY" \
637
+ --sombraAuth="$SOMBRA_INTERNAL_KEY" \
638
+ --statuses=COMPILING,ENRICHING \
639
+ --actions=ACCESS,ERASURE
640
+ ```
641
+
642
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
643
+
644
+ ```sh
645
+ transcend request restart \
646
+ --auth="$TRANSCEND_API_KEY" \
647
+ --sombraAuth="$SOMBRA_INTERNAL_KEY" \
648
+ --statuses=COMPILING,ENRICHING \
649
+ --actions=ACCESS,ERASURE \
650
+ --transcendUrl=https://api.us.transcend.io
651
+ ```
652
+
653
+ **Increase the concurrency (defaults to 15)**
654
+
655
+ ```sh
656
+ transcend request restart \
657
+ --auth="$TRANSCEND_API_KEY" \
658
+ --statuses=COMPILING,ENRICHING \
659
+ --actions=ACCESS,ERASURE \
660
+ --concurrency=100
661
+ ```
662
+
663
+ **Re-verify emails**
664
+
665
+ ```sh
666
+ transcend request restart \
667
+ --auth="$TRANSCEND_API_KEY" \
668
+ --statuses=COMPILING,ENRICHING \
669
+ --actions=ACCESS,ERASURE \
670
+ --emailIsVerified=false
671
+ ```
672
+
673
+ **Restart specific requests by ID**
674
+
675
+ ```sh
676
+ transcend request restart \
677
+ --auth="$TRANSCEND_API_KEY" \
678
+ --statuses=COMPILING,ENRICHING \
679
+ --actions=ACCESS,ERASURE \
680
+ --requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
681
+ ```
682
+
683
+ **Restart requests that were submitted before a specific date**
684
+
685
+ ```sh
686
+ transcend request restart \
687
+ --auth="$TRANSCEND_API_KEY" \
688
+ --statuses=COMPILING,ENRICHING \
689
+ --actions=ACCESS,ERASURE \
690
+ --createdAt=2024-05-11T00:00:00.000Z
691
+ ```
692
+
693
+ **Restart requests and place everything in silent mode submitted before a certain date**
694
+
695
+ ```sh
696
+ transcend request restart \
697
+ --auth="$TRANSCEND_API_KEY" \
698
+ --statuses=COMPILING,ENRICHING \
699
+ --actions=ACCESS,ERASURE \
700
+ --silentModeBefore=2024-12-05T00:00:00.000Z
701
+ ```
702
+
703
+ **Restart requests within a specific timeframe**
704
+
705
+ ```sh
706
+ transcend request restart \
707
+ --auth="$TRANSCEND_API_KEY" \
708
+ --statuses=COMPILING,ENRICHING \
709
+ --actions=ACCESS,ERASURE \
710
+ --createdAtBefore=2024-04-05T00:00:00.000Z \
711
+ --createdAtAfter=2024-02-21T00:00:00.000Z
712
+ ```
713
+
714
+ **Send email receipts to the restarted requests**
715
+
716
+ ```sh
717
+ transcend request restart \
718
+ --auth="$TRANSCEND_API_KEY" \
719
+ --statuses=COMPILING,ENRICHING \
720
+ --actions=ACCESS,ERASURE \
721
+ --sendEmailReceipt
722
+ ```
723
+
724
+ **Copy over all enriched identifiers from the initial request**
725
+
726
+ ```sh
727
+ transcend request restart \
728
+ --auth="$TRANSCEND_API_KEY" \
729
+ --statuses=COMPILING,ENRICHING \
730
+ --actions=ACCESS,ERASURE \
731
+ --copyIdentifiers
732
+ ```
733
+
734
+ **Skip queued state of request and go straight to compiling**
735
+
736
+ ```sh
737
+ transcend request restart \
738
+ --auth="$TRANSCEND_API_KEY" \
739
+ --statuses=COMPILING,ENRICHING \
740
+ --actions=ACCESS,ERASURE \
741
+ --skipWaitingPeriod
742
+ ```
743
+
323
744
  ### `transcend request notify-additional-time`
324
745
 
325
746
  ```txt
@@ -343,6 +764,86 @@ FLAGS
343
764
  -h --help Print help information and exit
344
765
  ```
345
766
 
767
+ #### Examples
768
+
769
+ **Notify all request types that were made before 01/01/2024**
770
+
771
+ ```sh
772
+ transcend request notify-additional-time --auth="$TRANSCEND_API_KEY" --createdAtBefore=2024-01-01T00:00:00.000Z
773
+ ```
774
+
775
+ **Notify all request types that were made during a date range**
776
+
777
+ ```sh
778
+ transcend request notify-additional-time \
779
+ --auth="$TRANSCEND_API_KEY" \
780
+ --createdAtBefore=2024-01-01T00:00:00.000Z \
781
+ --createdAtAfter=2024-12-15T00:00:00.000Z
782
+ ```
783
+
784
+ **Notify certain request types**
785
+
786
+ ```sh
787
+ transcend request notify-additional-time \
788
+ --auth="$TRANSCEND_API_KEY" \
789
+ --createdAtBefore=2024-01-01T00:00:00.000Z \
790
+ --actions=SALE_OPT_OUT,ERASURE
791
+ ```
792
+
793
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
794
+
795
+ ```sh
796
+ transcend request notify-additional-time \
797
+ --auth="$TRANSCEND_API_KEY" \
798
+ --createdAtBefore=2024-01-01T00:00:00.000Z \
799
+ --transcendUrl=https://api.us.transcend.io
800
+ ```
801
+
802
+ **Bulk notify requests by ID**
803
+
804
+ ```sh
805
+ transcend request notify-additional-time \
806
+ --auth="$TRANSCEND_API_KEY" \
807
+ --createdAtBefore=2024-01-01T00:00:00.000Z \
808
+ --requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
809
+ ```
810
+
811
+ **Only notify requests that are expiring in the next 3 days or less**
812
+
813
+ ```sh
814
+ transcend request notify-additional-time \
815
+ --auth="$TRANSCEND_API_KEY" \
816
+ --createdAtBefore=2024-01-01T00:00:00.000Z \
817
+ --daysLeft=3
818
+ ```
819
+
820
+ **Change number of days to extend request by**
821
+
822
+ ```sh
823
+ transcend request notify-additional-time \
824
+ --auth="$TRANSCEND_API_KEY" \
825
+ --createdAtBefore=2024-01-01T00:00:00.000Z \
826
+ --days=30
827
+ ```
828
+
829
+ **Send a specific email template to the request that instead of the default**
830
+
831
+ ```sh
832
+ transcend request notify-additional-time \
833
+ --auth="$TRANSCEND_API_KEY" \
834
+ --createdAtBefore=2024-01-01T00:00:00.000Z \
835
+ --emailTemplate="Custom Email Template"
836
+ ```
837
+
838
+ **Increase the concurrency (defaults to 50)**
839
+
840
+ ```sh
841
+ transcend request notify-additional-time \
842
+ --auth="$TRANSCEND_API_KEY" \
843
+ --createdAtBefore=2024-01-01T00:00:00.000Z \
844
+ --concurrency=500
845
+ ```
846
+
346
847
  ### `transcend request mark-silent`
347
848
 
348
849
  ```txt
@@ -364,6 +865,55 @@ FLAGS
364
865
  -h --help Print help information and exit
365
866
  ```
366
867
 
868
+ #### Examples
869
+
870
+ **Bulk mark silent all open SALE_OPT_OUT and ERASURE requests**
871
+
872
+ ```sh
873
+ transcend request mark-silent --auth="$TRANSCEND_API_KEY" --actions=SALE_OPT_OUT,ERASURE
874
+ ```
875
+
876
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
877
+
878
+ ```sh
879
+ transcend request mark-silent \
880
+ --auth="$TRANSCEND_API_KEY" \
881
+ --actions=ERASURE \
882
+ --transcendUrl=https://api.us.transcend.io
883
+ ```
884
+
885
+ **Bulk mark as silent all Erasure (request.type=ERASURE) requests that are in an enriching state (request.status=ENRICHING)**
886
+
887
+ ```sh
888
+ transcend request mark-silent --auth="$TRANSCEND_API_KEY" --actions=ERASURE --statuses=ENRICHING
889
+ ```
890
+
891
+ **Bulk mark as silent requests by ID**
892
+
893
+ ```sh
894
+ transcend request mark-silent \
895
+ --auth="$TRANSCEND_API_KEY" \
896
+ --actions=ACCESS,ERASURE,SALE_OPT_OUT,CONTACT_OPT_OUT \
897
+ --statuses=ENRICHING,COMPILING,APPROVING,WAITING,REQUEST_MADE,ON_HOLD,DELAYED,SECONDARY \
898
+ --requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
899
+ ```
900
+
901
+ **Mark sale opt out requests as silent within a certain date range**
902
+
903
+ ```sh
904
+ transcend request mark-silent \
905
+ --auth="$TRANSCEND_API_KEY" \
906
+ --actions=SALE_OPT_OUT \
907
+ --createdAtBefore=2024-05-03T00:00:00.000Z \
908
+ --createdAtAfter=2024-04-03T00:00:00.000Z
909
+ ```
910
+
911
+ **Increase the concurrency (defaults to 50)**
912
+
913
+ ```sh
914
+ transcend request mark-silent --auth="$TRANSCEND_API_KEY" --actions=ERASURE --concurrency=500
915
+ ```
916
+
367
917
  ### `transcend request enricher-restart`
368
918
 
369
919
  ```txt
@@ -389,6 +939,60 @@ FLAGS
389
939
  -h --help Print help information and exit
390
940
  ```
391
941
 
942
+ #### Examples
943
+
944
+ **Restart a particular enricher across a series of DSRs**
945
+
946
+ ```sh
947
+ transcend request enricher-restart --auth="$TRANSCEND_API_KEY" --enricherId=3be5e898-fea9-4614-84de-88cd5265c557
948
+ ```
949
+
950
+ **Restart specific request types**
951
+
952
+ ```sh
953
+ transcend request enricher-restart \
954
+ --auth="$TRANSCEND_API_KEY" \
955
+ --enricherId=3be5e898-fea9-4614-84de-88cd5265c557 \
956
+ --actions=ACCESS,ERASURE
957
+ ```
958
+
959
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
960
+
961
+ ```sh
962
+ transcend request enricher-restart \
963
+ --auth="$TRANSCEND_API_KEY" \
964
+ --enricherId=3be5e898-fea9-4614-84de-88cd5265c557 \
965
+ --transcendUrl=https://api.us.transcend.io
966
+ ```
967
+
968
+ **Increase the concurrency (defaults to 15)**
969
+
970
+ ```sh
971
+ transcend request enricher-restart \
972
+ --auth="$TRANSCEND_API_KEY" \
973
+ --enricherId=3be5e898-fea9-4614-84de-88cd5265c557 \
974
+ --concurrency=100
975
+ ```
976
+
977
+ **Restart requests within a specific timeframe**
978
+
979
+ ```sh
980
+ transcend request enricher-restart \
981
+ --auth="$TRANSCEND_API_KEY" \
982
+ --enricherId=3be5e898-fea9-4614-84de-88cd5265c557 \
983
+ --createdAtBefore=2024-04-05T00:00:00.000Z \
984
+ --createdAtAfter=2024-02-21T00:00:00.000Z
985
+ ```
986
+
987
+ **Restart requests that are in an error state**
988
+
989
+ ```sh
990
+ transcend request enricher-restart \
991
+ --auth="$TRANSCEND_API_KEY" \
992
+ --enricherId=3be5e898-fea9-4614-84de-88cd5265c557 \
993
+ --requestEnricherStatuses=ERROR
994
+ ```
995
+
392
996
  ### `transcend request reject-unverified-identifiers`
393
997
 
394
998
  ```txt
@@ -406,6 +1010,32 @@ FLAGS
406
1010
  -h --help Print help information and exit
407
1011
  ```
408
1012
 
1013
+ #### Examples
1014
+
1015
+ **Bulk clear out any request identifiers that are unverified**
1016
+
1017
+ ```sh
1018
+ transcend request reject-unverified-identifiers --auth="$TRANSCEND_API_KEY" --identifierNames=phone
1019
+ ```
1020
+
1021
+ **Restart specific request types**
1022
+
1023
+ ```sh
1024
+ transcend request reject-unverified-identifiers \
1025
+ --auth="$TRANSCEND_API_KEY" \
1026
+ --identifierNames=phone \
1027
+ --actions=ACCESS,ERASURE
1028
+ ```
1029
+
1030
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1031
+
1032
+ ```sh
1033
+ transcend request reject-unverified-identifiers \
1034
+ --auth="$TRANSCEND_API_KEY" \
1035
+ --identifierNames=phone \
1036
+ --transcendUrl=https://api.us.transcend.io
1037
+ ```
1038
+
409
1039
  ### `transcend request export`
410
1040
 
411
1041
  ```txt
@@ -430,6 +1060,59 @@ FLAGS
430
1060
  -h --help Print help information and exit
431
1061
  ```
432
1062
 
1063
+ #### Examples
1064
+
1065
+ **Pull all requests**
1066
+
1067
+ ```sh
1068
+ transcend request export --auth="$TRANSCEND_API_KEY"
1069
+ ```
1070
+
1071
+ **Filter for specific actions and statuses**
1072
+
1073
+ ```sh
1074
+ transcend request export --auth="$TRANSCEND_API_KEY" --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE
1075
+ ```
1076
+
1077
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1078
+
1079
+ ```sh
1080
+ transcend request export --auth="$TRANSCEND_API_KEY" --transcendUrl=https://api.us.transcend.io
1081
+ ```
1082
+
1083
+ **With Sombra authentication**
1084
+
1085
+ ```sh
1086
+ transcend request export --auth="$TRANSCEND_API_KEY" --sombraAuth="$SOMBRA_INTERNAL_KEY"
1087
+ ```
1088
+
1089
+ **Increase the concurrency (defaults to 100)**
1090
+
1091
+ ```sh
1092
+ transcend request export --auth="$TRANSCEND_API_KEY" --concurrency=500
1093
+ ```
1094
+
1095
+ **Filter for production requests only**
1096
+
1097
+ ```sh
1098
+ transcend request export --auth="$TRANSCEND_API_KEY" --showTests=false
1099
+ ```
1100
+
1101
+ **Filter for requests within a date range**
1102
+
1103
+ ```sh
1104
+ transcend request export \
1105
+ --auth="$TRANSCEND_API_KEY" \
1106
+ --createdAtBefore=2024-04-05T00:00:00.000Z \
1107
+ --createdAtAfter=2024-02-21T00:00:00.000Z
1108
+ ```
1109
+
1110
+ **Write to a specific file location**
1111
+
1112
+ ```sh
1113
+ transcend request export --auth="$TRANSCEND_API_KEY" --file=./path/to/file.csv
1114
+ ```
1115
+
433
1116
  ### `transcend request skip-preflight-jobs`
434
1117
 
435
1118
  ```txt
@@ -446,6 +1129,23 @@ FLAGS
446
1129
  -h --help Print help information and exit
447
1130
  ```
448
1131
 
1132
+ #### Examples
1133
+
1134
+ **Bulk skipping preflight checks**
1135
+
1136
+ ```sh
1137
+ transcend request skip-preflight-jobs --auth="$TRANSCEND_API_KEY" --enricherIds=70810f2e-cf90-43f6-9776-901a5950599f
1138
+ ```
1139
+
1140
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1141
+
1142
+ ```sh
1143
+ transcend request skip-preflight-jobs \
1144
+ --auth="$TRANSCEND_API_KEY" \
1145
+ --enricherIds=70810f2e-cf90-43f6-9776-901a5950599f,db1e64ba-cea6-43ff-ad27-5dc8122e5224 \
1146
+ --transcendUrl=https://api.us.transcend.io
1147
+ ```
1148
+
449
1149
  ### `transcend request system mark-request-data-silos-completed`
450
1150
 
451
1151
  ```txt
@@ -464,6 +1164,34 @@ FLAGS
464
1164
  -h --help Print help information and exit
465
1165
  ```
466
1166
 
1167
+ #### Examples
1168
+
1169
+ **Mark all associated privacy request jobs as completed**
1170
+
1171
+ ```sh
1172
+ transcend request system mark-request-data-silos-completed \
1173
+ --auth="$TRANSCEND_API_KEY" \
1174
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f
1175
+ ```
1176
+
1177
+ **Pull to a specific file location**
1178
+
1179
+ ```sh
1180
+ transcend request system mark-request-data-silos-completed \
1181
+ --auth="$TRANSCEND_API_KEY" \
1182
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1183
+ --file=/Users/transcend/Desktop/test.csv
1184
+ ```
1185
+
1186
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1187
+
1188
+ ```sh
1189
+ transcend request system mark-request-data-silos-completed \
1190
+ --auth="$TRANSCEND_API_KEY" \
1191
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1192
+ --transcendUrl=https://api.us.transcend.io
1193
+ ```
1194
+
467
1195
  ### `transcend request system retry-request-data-silos`
468
1196
 
469
1197
  ```txt
@@ -481,6 +1209,27 @@ FLAGS
481
1209
  -h --help Print help information and exit
482
1210
  ```
483
1211
 
1212
+ #### Examples
1213
+
1214
+ **Bulk restarting a set of data silos jobs for open privacy requests**
1215
+
1216
+ ```sh
1217
+ transcend request system retry-request-data-silos \
1218
+ --auth="$TRANSCEND_API_KEY" \
1219
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1220
+ --actions=ACCESS
1221
+ ```
1222
+
1223
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1224
+
1225
+ ```sh
1226
+ transcend request system retry-request-data-silos \
1227
+ --auth="$TRANSCEND_API_KEY" \
1228
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1229
+ --actions=ACCESS \
1230
+ --transcendUrl=https://api.us.transcend.io
1231
+ ```
1232
+
484
1233
  ### `transcend request system skip-request-data-silos`
485
1234
 
486
1235
  ```txt
@@ -499,6 +1248,43 @@ FLAGS
499
1248
  -h --help Print help information and exit
500
1249
  ```
501
1250
 
1251
+ #### Examples
1252
+
1253
+ **Bulk skipping all open privacy request jobs for a particular data silo**
1254
+
1255
+ ```sh
1256
+ transcend request system skip-request-data-silos \
1257
+ --auth="$TRANSCEND_API_KEY" \
1258
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f
1259
+ ```
1260
+
1261
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1262
+
1263
+ ```sh
1264
+ transcend request system skip-request-data-silos \
1265
+ --auth="$TRANSCEND_API_KEY" \
1266
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1267
+ --transcendUrl=https://api.us.transcend.io
1268
+ ```
1269
+
1270
+ **Only mark as completed requests in "removing data" phase**
1271
+
1272
+ ```sh
1273
+ transcend request system skip-request-data-silos \
1274
+ --auth="$TRANSCEND_API_KEY" \
1275
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1276
+ --statuses=SECONDARY
1277
+ ```
1278
+
1279
+ **Set to status "RESOLVED" instead of status "SKIPPED"**
1280
+
1281
+ ```sh
1282
+ transcend request system skip-request-data-silos \
1283
+ --auth="$TRANSCEND_API_KEY" \
1284
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1285
+ --status=RESOLVED
1286
+ ```
1287
+
502
1288
  ### `transcend request preflight pull-identifiers`
503
1289
 
504
1290
  ```txt
@@ -511,9 +1297,13 @@ This command pulls down the set of privacy requests that are currently pending m
511
1297
  This is useful for the following workflow:
512
1298
 
513
1299
  1. Pull identifiers to CSV:
1300
+
514
1301
  transcend request preflight pull-identifiers --file=./enrichment-requests.csv
1302
+
515
1303
  2. Fill out the CSV with additional identifiers
516
- 3. Push updated back to Transcend
1304
+
1305
+ 3. Push updated back to Transcend:
1306
+
517
1307
  transcend request preflight push-identifiers --file=./enrichment-requests.csv
518
1308
 
519
1309
  FLAGS
@@ -526,6 +1316,44 @@ FLAGS
526
1316
  -h --help Print help information and exit
527
1317
  ```
528
1318
 
1319
+ #### Examples
1320
+
1321
+ **Pull down the set of privacy requests that are currently pending manual enrichment**
1322
+
1323
+ ```sh
1324
+ transcend request preflight pull-identifiers --auth="$TRANSCEND_API_KEY"
1325
+ ```
1326
+
1327
+ **Pull to a specific file location**
1328
+
1329
+ ```sh
1330
+ transcend request preflight pull-identifiers --auth="$TRANSCEND_API_KEY" --file=/Users/transcend/Desktop/test.csv
1331
+ ```
1332
+
1333
+ **For specific types of requests**
1334
+
1335
+ ```sh
1336
+ transcend request preflight pull-identifiers --auth="$TRANSCEND_API_KEY" --actions=ACCESS,ERASURE
1337
+ ```
1338
+
1339
+ **For US hosted infrastructure**
1340
+
1341
+ ```sh
1342
+ transcend request preflight pull-identifiers --auth="$TRANSCEND_API_KEY" --transcendUrl=https://api.us.transcend.io
1343
+ ```
1344
+
1345
+ **With Sombra authentication**
1346
+
1347
+ ```sh
1348
+ transcend request preflight pull-identifiers --auth="$TRANSCEND_API_KEY" --sombraAuth="$SOMBRA_INTERNAL_KEY"
1349
+ ```
1350
+
1351
+ **With specific concurrency**
1352
+
1353
+ ```sh
1354
+ transcend request preflight pull-identifiers --auth="$TRANSCEND_API_KEY" --concurrency=200
1355
+ ```
1356
+
529
1357
  ### `transcend request preflight push-identifiers`
530
1358
 
531
1359
  ```txt
@@ -538,9 +1366,13 @@ This command push up a set of identifiers for a set of requests pending manual e
538
1366
  This is useful for the following workflow:
539
1367
 
540
1368
  1. Pull identifiers to CSV:
1369
+
541
1370
  transcend request preflight pull-identifiers --file=./enrichment-requests.csv
1371
+
542
1372
  2. Fill out the CSV with additional identifiers
543
- 3. Push updated back to Transcend
1373
+
1374
+ 3. Push updated back to Transcend:
1375
+
544
1376
  transcend request preflight push-identifiers --file=./enrichment-requests.csv
545
1377
 
546
1378
  FLAGS
@@ -554,6 +1386,61 @@ FLAGS
554
1386
  -h --help Print help information and exit
555
1387
  ```
556
1388
 
1389
+ #### Examples
1390
+
1391
+ **Push up a set of identifiers for a set of requests pending manual enrichment**
1392
+
1393
+ ```sh
1394
+ transcend request preflight push-identifiers \
1395
+ --auth="$TRANSCEND_API_KEY" \
1396
+ --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf
1397
+ ```
1398
+
1399
+ **Pull to a specific file location**
1400
+
1401
+ ```sh
1402
+ transcend request preflight push-identifiers \
1403
+ --auth="$TRANSCEND_API_KEY" \
1404
+ --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf \
1405
+ --file=/Users/transcend/Desktop/test.csv
1406
+ ```
1407
+
1408
+ **For US hosted infrastructure**
1409
+
1410
+ ```sh
1411
+ transcend request preflight push-identifiers \
1412
+ --auth="$TRANSCEND_API_KEY" \
1413
+ --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf \
1414
+ --transcendUrl=https://api.us.transcend.io
1415
+ ```
1416
+
1417
+ **With Sombra authentication**
1418
+
1419
+ ```sh
1420
+ transcend request preflight push-identifiers \
1421
+ --auth="$TRANSCEND_API_KEY" \
1422
+ --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf \
1423
+ --sombraAuth="$SOMBRA_INTERNAL_KEY"
1424
+ ```
1425
+
1426
+ **With specific concurrency**
1427
+
1428
+ ```sh
1429
+ transcend request preflight push-identifiers \
1430
+ --auth="$TRANSCEND_API_KEY" \
1431
+ --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf \
1432
+ --concurrency=200
1433
+ ```
1434
+
1435
+ **When enriching requests, mark all requests as silent mode before processing**
1436
+
1437
+ ```sh
1438
+ transcend request preflight push-identifiers \
1439
+ --auth="$TRANSCEND_API_KEY" \
1440
+ --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf \
1441
+ --markSilent
1442
+ ```
1443
+
557
1444
  ### `transcend request cron pull-identifiers`
558
1445
 
559
1446
  ```txt
@@ -580,6 +1467,68 @@ FLAGS
580
1467
  -h --help Print help information and exit
581
1468
  ```
582
1469
 
1470
+ #### Examples
1471
+
1472
+ **Pull outstanding identifiers for a data silo**
1473
+
1474
+ ```sh
1475
+ transcend request cron pull-identifiers \
1476
+ --auth="$TRANSCEND_API_KEY" \
1477
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1478
+ --actions=ERASURE
1479
+ ```
1480
+
1481
+ **Pull to a specific file location**
1482
+
1483
+ ```sh
1484
+ transcend request cron pull-identifiers \
1485
+ --auth="$TRANSCEND_API_KEY" \
1486
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1487
+ --actions=ERASURE \
1488
+ --file=/Users/transcend/Desktop/test.csv
1489
+ ```
1490
+
1491
+ **For self-hosted sombras that use an internal key**
1492
+
1493
+ ```sh
1494
+ transcend request cron pull-identifiers \
1495
+ --auth="$TRANSCEND_API_KEY" \
1496
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1497
+ --actions=ERASURE \
1498
+ --sombraAuth="$SOMBRA_INTERNAL_KEY"
1499
+ ```
1500
+
1501
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1502
+
1503
+ ```sh
1504
+ transcend request cron pull-identifiers \
1505
+ --auth="$TRANSCEND_API_KEY" \
1506
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1507
+ --actions=ERASURE \
1508
+ --transcendUrl=https://api.us.transcend.io
1509
+ ```
1510
+
1511
+ **Specifying the page limit, defaults to 100**
1512
+
1513
+ ```sh
1514
+ transcend request cron pull-identifiers \
1515
+ --auth="$TRANSCEND_API_KEY" \
1516
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1517
+ --actions=ERASURE \
1518
+ --pageLimit=300 \
1519
+ --chunkSize=6000
1520
+ ```
1521
+
1522
+ **Specifying the chunk size for large datasets to avoid file size limits (defaults to 100,000 rows per file)**
1523
+
1524
+ ```sh
1525
+ transcend request cron pull-identifiers \
1526
+ --auth="$TRANSCEND_API_KEY" \
1527
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1528
+ --actions=ERASURE \
1529
+ --chunkSize=50000
1530
+ ```
1531
+
583
1532
  ### `transcend request cron mark-identifiers-completed`
584
1533
 
585
1534
  ```txt
@@ -591,10 +1540,21 @@ This command takes the output of "transcend request cron pull-identifiers" and n
591
1540
  This is used in the workflow like:
592
1541
 
593
1542
  1. Pull identifiers to CSV:
594
- transcend request cron pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE --file=./outstanding-requests.csv
1543
+
1544
+ transcend request cron pull-identifiers \
1545
+ --auth="$TRANSCEND_API_KEY" \
1546
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1547
+ --actions=ERASURE \
1548
+ --file=./outstanding-requests.csv
1549
+
595
1550
  2. Run your process to operate on that CSV of requests.
1551
+
596
1552
  3. Notify Transcend of completion
597
- transcend request cron mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --file=./outstanding-requests.csv
1553
+
1554
+ transcend request cron mark-identifiers-completed \
1555
+ --auth="$TRANSCEND_API_KEY" \
1556
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1557
+ --file=./outstanding-requests.csv
598
1558
 
599
1559
  Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.
600
1560
 
@@ -607,6 +1567,43 @@ FLAGS
607
1567
  -h --help Print help information and exit
608
1568
  ```
609
1569
 
1570
+ #### Examples
1571
+
1572
+ **Mark identifiers as completed**
1573
+
1574
+ ```sh
1575
+ transcend request cron mark-identifiers-completed \
1576
+ --auth="$TRANSCEND_API_KEY" \
1577
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f
1578
+ ```
1579
+
1580
+ **Pull to a specific file location**
1581
+
1582
+ ```sh
1583
+ transcend request cron mark-identifiers-completed \
1584
+ --auth="$TRANSCEND_API_KEY" \
1585
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1586
+ --file=/Users/transcend/Desktop/test.csv
1587
+ ```
1588
+
1589
+ **For self-hosted sombras that use an internal key**
1590
+
1591
+ ```sh
1592
+ transcend request cron mark-identifiers-completed \
1593
+ --auth="$TRANSCEND_API_KEY" \
1594
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1595
+ --sombraAuth="$SOMBRA_INTERNAL_KEY"
1596
+ ```
1597
+
1598
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1599
+
1600
+ ```sh
1601
+ transcend request cron mark-identifiers-completed \
1602
+ --auth="$TRANSCEND_API_KEY" \
1603
+ --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
1604
+ --transcendUrl=https://api.us.transcend.io
1605
+ ```
1606
+
610
1607
  ### `transcend consent build-xdi-sync-endpoint`
611
1608
 
612
1609
  ```txt
@@ -627,6 +1624,79 @@ FLAGS
627
1624
  -h --help Print help information and exit
628
1625
  ```
629
1626
 
1627
+ #### Examples
1628
+
1629
+ **Build XDI sync endpoint**
1630
+
1631
+ ```sh
1632
+ transcend consent build-xdi-sync-endpoint --auth="$TRANSCEND_API_KEY" --xdiLocation=https://cdn.your-site.com/xdi.js
1633
+ ```
1634
+
1635
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1636
+
1637
+ ```sh
1638
+ transcend consent build-xdi-sync-endpoint \
1639
+ --auth="$TRANSCEND_API_KEY" \
1640
+ --xdiLocation=https://cdn.your-site.com/xdi.js \
1641
+ --transcendUrl=https://api.us.transcend.io
1642
+ ```
1643
+
1644
+ **Pull to specific file location**
1645
+
1646
+ ```sh
1647
+ transcend consent build-xdi-sync-endpoint \
1648
+ --auth="$TRANSCEND_API_KEY" \
1649
+ --xdiLocation=https://cdn.your-site.com/xdi.js \
1650
+ --file=./my-folder/sync-endpoint.html
1651
+ ```
1652
+
1653
+ **Don't filter out regular expressions**
1654
+
1655
+ ```sh
1656
+ transcend consent build-xdi-sync-endpoint \
1657
+ --auth="$TRANSCEND_API_KEY" \
1658
+ --xdiLocation=https://cdn.your-site.com/xdi.js \
1659
+ --removeIpAddresses=false
1660
+ ```
1661
+
1662
+ **Filter out certain domains that should not be included in the sync endpoint definition**
1663
+
1664
+ ```sh
1665
+ transcend consent build-xdi-sync-endpoint \
1666
+ --auth="$TRANSCEND_API_KEY" \
1667
+ --xdiLocation=https://cdn.your-site.com/xdi.js \
1668
+ --domainBlockList=ignored.com,localhost
1669
+ ```
1670
+
1671
+ **Override XDI allowed commands**
1672
+
1673
+ ```sh
1674
+ transcend consent build-xdi-sync-endpoint \
1675
+ --auth="$TRANSCEND_API_KEY" \
1676
+ --xdiLocation=https://cdn.your-site.com/xdi.js \
1677
+ --xdiAllowedCommands=ExtractIdentifiers:Simple
1678
+ ```
1679
+
1680
+ **Configuring across multiple Transcend Instances**
1681
+
1682
+ ```sh
1683
+ # Pull down API keys across all Transcend instances
1684
+ transcend admin generate-api-keys \
1685
+ --email="$TRANSCEND_EMAIL" \
1686
+ --password="$TRANSCEND_PASSWORD" \
1687
+ --transcendUrl=https://api.us.transcend.io \
1688
+ --scopes="View Consent Manager" \
1689
+ --apiKeyTitle="[cli][$TRANSCEND_EMAIL] XDI Endpoint Construction" \
1690
+ --file=./api-keys.json \
1691
+ --parentOrganizationId=1821d872-6114-406e-90c3-73b4d5e246cf
1692
+
1693
+ # Path list of API keys as authentication
1694
+ transcend consent build-xdi-sync-endpoint \
1695
+ --auth=./api-keys.json \
1696
+ --xdiLocation=https://cdn.your-site.com/xdi.js \
1697
+ --transcendUrl=https://api.us.transcend.io
1698
+ ```
1699
+
630
1700
  ### `transcend consent pull-consent-metrics`
631
1701
 
632
1702
  ```txt
@@ -654,6 +1724,48 @@ FLAGS
654
1724
  -h --help Print help information and exit
655
1725
  ```
656
1726
 
1727
+ #### Examples
1728
+
1729
+ **Pull consent manager metrics for a Transcend account**
1730
+
1731
+ ```sh
1732
+ transcend consent pull-consent-metrics --auth="$TRANSCEND_API_KEY" --start=2024-01-01T00:00:00.000Z
1733
+ ```
1734
+
1735
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1736
+
1737
+ ```sh
1738
+ transcend consent pull-consent-metrics \
1739
+ --auth="$TRANSCEND_API_KEY" \
1740
+ --start=2024-01-01T00:00:00.000Z \
1741
+ --transcendUrl=https://api.us.transcend.io
1742
+ ```
1743
+
1744
+ **Pull start and end date explicitly**
1745
+
1746
+ ```sh
1747
+ transcend consent pull-consent-metrics \
1748
+ --auth="$TRANSCEND_API_KEY" \
1749
+ --start=2024-01-01T00:00:00.000Z \
1750
+ --end=2024-03-01T00:00:00.000Z
1751
+ ```
1752
+
1753
+ **Save to an explicit folder**
1754
+
1755
+ ```sh
1756
+ transcend consent pull-consent-metrics \
1757
+ --auth="$TRANSCEND_API_KEY" \
1758
+ --start=2024-01-01T00:00:00.000Z \
1759
+ --end=2024-03-01T00:00:00.000Z \
1760
+ --folder=./my-folder/
1761
+ ```
1762
+
1763
+ **Bin data hourly vs daily**
1764
+
1765
+ ```sh
1766
+ transcend consent pull-consent-metrics --auth="$TRANSCEND_API_KEY" --start=2024-01-01T00:00:00.000Z --bin=1h
1767
+ ```
1768
+
657
1769
  ### `transcend consent pull-consent-preferences`
658
1770
 
659
1771
  ```txt
@@ -676,33 +1788,120 @@ FLAGS
676
1788
  -h --help Print help information and exit
677
1789
  ```
678
1790
 
679
- Each row in the CSV will include:
1791
+ #### Examples
1792
+
1793
+ **Fetch all consent preferences from partition key**
1794
+
1795
+ ```sh
1796
+ transcend consent pull-consent-preferences \
1797
+ --auth="$TRANSCEND_API_KEY" \
1798
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
1799
+ ```
1800
+
1801
+ **Fetch all consent preferences from partition key and save to ./consent.csv**
1802
+
1803
+ ```sh
1804
+ transcend consent pull-consent-preferences \
1805
+ --auth="$TRANSCEND_API_KEY" \
1806
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 \
1807
+ --file=./consent.csv
1808
+ ```
1809
+
1810
+ **Filter on consent updates before a date**
1811
+
1812
+ ```sh
1813
+ transcend consent pull-consent-preferences \
1814
+ --auth="$TRANSCEND_API_KEY" \
1815
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 \
1816
+ --timestampBefore=2024-04-03T00:00:00.000Z
1817
+ ```
1818
+
1819
+ **Filter on consent updates after a date**
1820
+
1821
+ ```sh
1822
+ transcend consent pull-consent-preferences \
1823
+ --auth="$TRANSCEND_API_KEY" \
1824
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 \
1825
+ --timestampAfter=2024-04-03T00:00:00.000Z
1826
+ ```
1827
+
1828
+ **For self-hosted sombras that use an internal key**
1829
+
1830
+ ```sh
1831
+ transcend consent pull-consent-preferences \
1832
+ --auth="$TRANSCEND_API_KEY" \
1833
+ --sombraAuth="$SOMBRA_INTERNAL_KEY" \
1834
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
1835
+ ```
1836
+
1837
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1838
+
1839
+ ```sh
1840
+ transcend consent pull-consent-preferences \
1841
+ --auth="$TRANSCEND_API_KEY" \
1842
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 \
1843
+ --transcendUrl=https://api.us.transcend.io
1844
+ ```
1845
+
1846
+ ### `transcend consent update-consent-manager`
1847
+
1848
+ ```txt
1849
+ USAGE
1850
+ transcend consent update-consent-manager (--auth value) (--bundleTypes PRODUCTION|TEST) [--deploy] [--transcendUrl value]
1851
+ transcend consent update-consent-manager --help
1852
+
1853
+ This command allows for updating Consent Manager to latest version. The Consent Manager bundle can also be deployed using this command.
1854
+
1855
+ FLAGS
1856
+ --auth The Transcend API key. Requires scopes: "Manage Consent Manager Developer Settings"
1857
+ --bundleTypes The bundle types to deploy. Defaults to PRODUCTION,TEST. [PRODUCTION|TEST, separator = ,]
1858
+ [--deploy] When true, deploy the Consent Manager after updating the version [default = false]
1859
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1860
+ -h --help Print help information and exit
1861
+ ```
1862
+
1863
+ #### Examples
1864
+
1865
+ **Update Consent Manager to latest version**
1866
+
1867
+ ```sh
1868
+ transcend consent update-consent-manager --auth="$TRANSCEND_API_KEY"
1869
+ ```
1870
+
1871
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1872
+
1873
+ ```sh
1874
+ transcend consent update-consent-manager --auth="$TRANSCEND_API_KEY" --transcendUrl=https://api.us.transcend.io
1875
+ ```
1876
+
1877
+ **Update version and deploy bundles**
1878
+
1879
+ ```sh
1880
+ transcend consent update-consent-manager --auth="$TRANSCEND_API_KEY" --deploy
1881
+ ```
1882
+
1883
+ **Update just the TEST bundle**
680
1884
 
681
- | Argument | Description | Type | Default | Required |
682
- | -------------- | --------------------------------------------------------------------------------------------------------- | ------------------------- | ------- | -------- |
683
- | userId | Unique ID identifying the user that the preferences ar efor | string | N/A | true |
684
- | timestamp | Timestamp for when consent was collected for that user | string - timestamp | N/A | true |
685
- | purposes | JSON map from consent purpose name -> boolean indicating whether user has opted in or out of that purpose | {[k in string]: boolean } | {} | true |
686
- | airgapVersion | Version of airgap where consent was collected | string | N/A | false |
687
- | [purpose name] | Each consent purpose from `purposes` is also included in a column | boolean | N/A | false |
688
- | tcf | IAB TCF string | string - TCF | N/A | false |
689
- | gpp | IAB GPP string | string - GPP | N/A | false |
1885
+ ```sh
1886
+ transcend consent update-consent-manager --auth="$TRANSCEND_API_KEY" --bundleTypes=TEST
1887
+ ```
690
1888
 
691
- ### `transcend consent update-consent-manager`
1889
+ **Update just the PRODUCTION bundle**
692
1890
 
693
- ```txt
694
- USAGE
695
- transcend consent update-consent-manager (--auth value) (--bundleTypes PRODUCTION|TEST) [--deploy] [--transcendUrl value]
696
- transcend consent update-consent-manager --help
1891
+ ```sh
1892
+ transcend consent update-consent-manager --auth="$TRANSCEND_API_KEY" --bundleTypes=PRODUCTION
1893
+ ```
697
1894
 
698
- This command allows for updating Consent Manager to latest version. The Consent Manager bundle can also be deployed using this command.
1895
+ **Update multiple organizations at once**
699
1896
 
700
- FLAGS
701
- --auth The Transcend API key. Requires scopes: "Manage Consent Manager Developer Settings"
702
- --bundleTypes The bundle types to deploy. Defaults to PRODUCTION,TEST. [PRODUCTION|TEST, separator = ,]
703
- [--deploy] When true, deploy the Consent Manager after updating the version [default = false]
704
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
705
- -h --help Print help information and exit
1897
+ ```sh
1898
+ transcend admin generate-api-keys \
1899
+ --email=test@transcend.io \
1900
+ --password="$TRANSCEND_PASSWORD" \
1901
+ --scopes="Manage Consent Manager" \
1902
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
1903
+ --file=./transcend-api-keys.json
1904
+ transcend consent update-consent-manager --auth=./transcend-api-keys.json --deploy
706
1905
  ```
707
1906
 
708
1907
  ### `transcend consent upload-consent-preferences`
@@ -724,19 +1923,36 @@ FLAGS
724
1923
  -h --help Print help information and exit
725
1924
  ```
726
1925
 
727
- Each row in the CSV must include:
1926
+ #### Examples
1927
+
1928
+ **Upload consent preferences to partition key**
1929
+
1930
+ ```sh
1931
+ transcend consent upload-consent-preferences \
1932
+ --base64EncryptionKey="$TRANSCEND_CONSENT_ENCRYPTION_KEY" \
1933
+ --base64SigningKey="$TRANSCEND_CONSENT_SIGNING_KEY" \
1934
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
1935
+ ```
1936
+
1937
+ **Upload consent preferences to partition key from file**
728
1938
 
729
- | Argument | Description | Type | Default | Required |
730
- | --------- | --------------------------------------------------------------------------------------------------------- | ------------------------- | ------- | -------- |
731
- | userId | Unique ID identifying the user that the preferences ar efor | string | N/A | true |
732
- | timestamp | Timestamp for when consent was collected for that user | string - timestamp | N/A | true |
733
- | purposes | JSON map from consent purpose name -> boolean indicating whether user has opted in or out of that purpose | {[k in string]: boolean } | {} | false |
734
- | confirmed | Whether consent preferences have been explicitly confirmed or inferred | boolean | true | false |
735
- | updated | Has the consent been updated (including no-change confirmation) since default resolution | boolean | N/A | false |
736
- | prompted | Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js) | boolean | N/A | false |
737
- | gpp | IAB GPP string | string - GPP | N/A | false |
1939
+ ```sh
1940
+ transcend consent upload-consent-preferences \
1941
+ --base64EncryptionKey="$TRANSCEND_CONSENT_ENCRYPTION_KEY" \
1942
+ --base64SigningKey="$TRANSCEND_CONSENT_SIGNING_KEY" \
1943
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 \
1944
+ --file=./consent.csv
1945
+ ```
738
1946
 
739
- An sample CSV can be found [here](./examples/preference-upload.csv).
1947
+ **Upload consent preferences to partition key and set concurrency**
1948
+
1949
+ ```sh
1950
+ transcend consent upload-consent-preferences \
1951
+ --base64EncryptionKey="$TRANSCEND_CONSENT_ENCRYPTION_KEY" \
1952
+ --base64SigningKey="$TRANSCEND_CONSENT_SIGNING_KEY" \
1953
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 \
1954
+ --concurrency=200
1955
+ ```
740
1956
 
741
1957
  ### `transcend consent upload-cookies-from-csv`
742
1958
 
@@ -761,6 +1977,38 @@ FLAGS
761
1977
  -h --help Print help information and exit
762
1978
  ```
763
1979
 
1980
+ #### Examples
1981
+
1982
+ **Upload the file of cookies in ./cookies.csv into the "Approved" tab**
1983
+
1984
+ ```sh
1985
+ transcend consent upload-cookies-from-csv --auth="$TRANSCEND_API_KEY" --trackerStatus=LIVE
1986
+ ```
1987
+
1988
+ **Upload the file of cookies in ./cookies.csv into the "Triage" tab**
1989
+
1990
+ ```sh
1991
+ transcend consent upload-cookies-from-csv --auth="$TRANSCEND_API_KEY" --trackerStatus=NEEDS_REVIEW
1992
+ ```
1993
+
1994
+ **Specifying the CSV file to read from**
1995
+
1996
+ ```sh
1997
+ transcend consent upload-cookies-from-csv \
1998
+ --auth="$TRANSCEND_API_KEY" \
1999
+ --trackerStatus=LIVE \
2000
+ --file=./custom/my-cookies.csv
2001
+ ```
2002
+
2003
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
2004
+
2005
+ ```sh
2006
+ transcend consent upload-cookies-from-csv \
2007
+ --auth="$TRANSCEND_API_KEY" \
2008
+ --trackerStatus=LIVE \
2009
+ --transcendUrl=https://api.us.transcend.io
2010
+ ```
2011
+
764
2012
  ### `transcend consent upload-data-flows-from-csv`
765
2013
 
766
2014
  ```txt
@@ -785,11 +2033,53 @@ FLAGS
785
2033
  -h --help Print help information and exit
786
2034
  ```
787
2035
 
2036
+ To get a CSV of data flows, you can download the data flows from the Admin Dashboard under [Consent Management -> Data Flows](https://app.transcend.io/consent-manager/data-flows). You can download data flows from both the "Triage" and "Approved" tabs.
2037
+
2038
+ <img width="4320" height="3071" alt="export-data-flows" src="https://github.com/user-attachments/assets/cfd9ea75-dd4a-42a6-98b7-2a54f565d783" />
2039
+
2040
+ #### Examples
2041
+
2042
+ **Upload the file of data flows in ./data-flows.csv into the "Approved" tab**
2043
+
2044
+ ```sh
2045
+ transcend consent upload-data-flows-from-csv --auth="$TRANSCEND_API_KEY" --trackerStatus=LIVE
2046
+ ```
2047
+
2048
+ **Upload the file of data flows in ./data-flows.csv into the "Triage" tab**
2049
+
2050
+ ```sh
2051
+ transcend consent upload-data-flows-from-csv --auth="$TRANSCEND_API_KEY" --trackerStatus=NEEDS_REVIEW
2052
+ ```
2053
+
2054
+ **Specifying the CSV file to read from**
2055
+
2056
+ ```sh
2057
+ transcend consent upload-data-flows-from-csv \
2058
+ --auth="$TRANSCEND_API_KEY" \
2059
+ --trackerStatus=LIVE \
2060
+ --file=./custom/my-data-flows.csv
2061
+ ```
2062
+
2063
+ **Have Transcend automatically fill in the service names by looking up the data flow host in Transcend's database**
2064
+
2065
+ ```sh
2066
+ transcend consent upload-data-flows-from-csv --auth="$TRANSCEND_API_KEY" --trackerStatus=LIVE --classifyService
2067
+ ```
2068
+
2069
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
2070
+
2071
+ ```sh
2072
+ transcend consent upload-data-flows-from-csv \
2073
+ --auth="$TRANSCEND_API_KEY" \
2074
+ --trackerStatus=LIVE \
2075
+ --transcendUrl=https://api.us.transcend.io
2076
+ ```
2077
+
788
2078
  ### `transcend consent upload-preferences`
789
2079
 
790
2080
  ```txt
791
2081
  USAGE
792
- transcend consent upload-preferences (--auth value) (--partition value) [--sombraAuth value] [--consentUrl value] [--file value] [--directory value] [--dryRun] [--skipExistingRecordCheck] [--receiptFileDir value] [--skipWorkflowTriggers] [--forceTriggerWorkflows] [--skipConflictUpdates] [--isSilent] [--attributes value] [--receiptFilepath value] [--concurrency value]
2082
+ transcend consent upload-preferences (--auth value) (--partition value) [--sombraAuth value] [--transcendUrl value] [--file value] [--directory value] [--dryRun] [--skipExistingRecordCheck] [--receiptFileDir value] [--skipWorkflowTriggers] [--forceTriggerWorkflows] [--skipConflictUpdates] [--isSilent] [--attributes value] [--receiptFilepath value] [--concurrency value]
793
2083
  transcend consent upload-preferences --help
794
2084
 
795
2085
  Upload preference management data to your Preference Store.
@@ -802,7 +2092,7 @@ FLAGS
802
2092
  --auth The Transcend API key. Requires scopes: "Modify User Stored Preferences", "View Managed Consent Database Admin API", "View Preference Store Settings"
803
2093
  --partition The partition key to download consent preferences to
804
2094
  [--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
805
- [--consentUrl] URL of the Transcend consent backend. Use https://consent.us.transcend.io for US hosting [default = https://consent.transcend.io]
2095
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
806
2096
  [--file] Path to the CSV file to load preferences from
807
2097
  [--directory] Path to the directory of CSV files to load preferences from
808
2098
  [--dryRun] Whether to do a dry run only - will write results to receiptFilepath without updating Transcend [default = false]
@@ -820,29 +2110,47 @@ FLAGS
820
2110
 
821
2111
  A sample CSV can be found [here](./examples/cli-upload-preferences-example.csv). In this example, `Sales` and `Marketing` are two custom Purposes, and `SalesCommunications` and `MarketingCommunications` are Preference Topics. During the interactive CLI prompt, you can map these columns to the slugs stored in Transcend!
822
2112
 
823
- Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726`:
2113
+ #### Examples
2114
+
2115
+ **Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726`**
824
2116
 
825
2117
  ```sh
826
- transcend consent upload-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
2118
+ transcend consent upload-preferences \
2119
+ --auth="$TRANSCEND_API_KEY" \
2120
+ --file=./preferences.csv \
2121
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
827
2122
  ```
828
2123
 
829
- Upload consent preferences with additional options:
2124
+ **Upload consent preferences with additional options**
830
2125
 
831
2126
  ```sh
832
- transcend consent upload-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --file=./preferences.csv --dryRun=true --skipWorkflowTriggers=true --skipConflictUpdates=true --isSilent=false --attributes="Tags:transcend-cli,Source:transcend-cli" --receiptFilepath=./preference-management-upload-receipts.json
2127
+ transcend consent upload-preferences \
2128
+ --auth="$TRANSCEND_API_KEY" \
2129
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 \
2130
+ --file=./preferences.csv \
2131
+ --dryRun \
2132
+ --skipWorkflowTriggers \
2133
+ --skipConflictUpdates \
2134
+ --isSilent=false \
2135
+ --attributes=Tags:transcend-cli,Source:transcend-cli \
2136
+ --receiptFilepath=./preference-management-upload-receipts.json
833
2137
  ```
834
2138
 
835
- Specifying the backend URL, needed for US hosted backend infrastructure:
2139
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
836
2140
 
837
2141
  ```sh
838
- transcend consent upload-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --consentUrl=https://consent.us.transcend.io
2142
+ transcend consent upload-preferences \
2143
+ --auth="$TRANSCEND_API_KEY" \
2144
+ --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 \
2145
+ --file=./preferences.csv \
2146
+ --transcendUrl=https://api.us.transcend.io
839
2147
  ```
840
2148
 
841
2149
  ### `transcend inventory pull`
842
2150
 
843
2151
  ```txt
844
2152
  USAGE
845
- transcend inventory pull (--auth value) [--resources all|apiKeys|customFields|templates|dataSilos|enrichers|dataFlows|businessEntities|actions|dataSubjects|identifiers|cookies|consentManager|partitions|prompts|promptPartials|promptGroups|agents|agentFunctions|agentFiles|vendors|dataCategories|processingPurposes|actionItems|actionItemCollections|teams|privacyCenters|policies|messages|assessments|assessmentTemplates|purposes] [--file value] [--transcendUrl value] [--dataSiloIds value]... [--integrationNames value]... [--trackerStatuses LIVE|NEEDS_REVIEW] [--pageSize value] [--skipDatapoints] [--skipSubDatapoints] [--includeGuessedCategories] [--debug]
2153
+ transcend inventory pull (--auth value) [--resources all|apiKeys|customFields|templates|dataSilos|enrichers|dataFlows|businessEntities|processingActivities|actions|dataSubjects|identifiers|cookies|consentManager|partitions|prompts|promptPartials|promptGroups|agents|agentFunctions|agentFiles|vendors|dataCategories|processingPurposes|actionItems|actionItemCollections|teams|privacyCenters|policies|messages|assessments|assessmentTemplates|purposes] [--file value] [--transcendUrl value] [--dataSiloIds value]... [--integrationNames value]... [--trackerStatuses LIVE|NEEDS_REVIEW] [--pageSize value] [--skipDatapoints] [--skipSubDatapoints] [--includeGuessedCategories] [--debug]
846
2154
  transcend inventory pull --help
847
2155
 
848
2156
  Generates a transcend.yml by pulling the configuration from your Transcend instance.
@@ -856,7 +2164,7 @@ This command can be helpful if you are looking to:
856
2164
 
857
2165
  FLAGS
858
2166
  --auth The Transcend API key. The scopes required will vary depending on the operation performed. If in doubt, the Full Admin scope will always work.
859
- [--resources] The different resource types to pull in. Defaults to dataSilos,enrichers,templates,apiKeys. [all|apiKeys|customFields|templates|dataSilos|enrichers|dataFlows|businessEntities|actions|dataSubjects|identifiers|cookies|consentManager|partitions|prompts|promptPartials|promptGroups|agents|agentFunctions|agentFiles|vendors|dataCategories|processingPurposes|actionItems|actionItemCollections|teams|privacyCenters|policies|messages|assessments|assessmentTemplates|purposes, separator = ,]
2167
+ [--resources] The different resource types to pull in. Defaults to dataSilos,enrichers,templates,apiKeys. [all|apiKeys|customFields|templates|dataSilos|enrichers|dataFlows|businessEntities|processingActivities|actions|dataSubjects|identifiers|cookies|consentManager|partitions|prompts|promptPartials|promptGroups|agents|agentFunctions|agentFiles|vendors|dataCategories|processingPurposes|actionItems|actionItemCollections|teams|privacyCenters|policies|messages|assessments|assessmentTemplates|purposes, separator = ,]
860
2168
  [--file] Path to the YAML file to pull into [default = ./transcend.yml]
861
2169
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
862
2170
  [--dataSiloIds]... The UUIDs of the data silos that should be pulled into the YAML file [separator = ,]
@@ -883,6 +2191,7 @@ The API key permissions for this command vary based on the `resources` argument:
883
2191
  | enrichers | The Privacy Request enricher configurations. | View Identity Verification Settings | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
884
2192
  | dataFlows | Consent Manager Data Flow definitions. | View Data Flows | [Consent Management -> Data Flows](https://app.transcend.io/consent-manager/data-flows/approved) |
885
2193
  | businessEntities | The business entities in the data inventory. | View Data Inventory | [Data Inventory -> Business Entities](https://app.transcend.io/data-map/data-inventory/business-entities) |
2194
+ | processingActivities | The processing activities in the data inventory. | View Data Inventory | [Data Inventory -> Processing Activities](https://app.transcend.io/data-map/data-inventory/processing-activities) |
886
2195
  | actions | The Privacy Request action settings. | View Data Subject Request Settings | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
887
2196
  | dataSubjects | The Privacy Request data subject settings. | View Data Subject Request Settings | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
888
2197
  | identifiers | The Privacy Request identifier configurations. | View Identity Verification Settings | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
@@ -908,132 +2217,146 @@ The API key permissions for this command vary based on the `resources` argument:
908
2217
  | assessmentTemplates | Assessment template configurations. | View Assessments | [Assessment -> Templates](https://app.transcend.io/assessments/form-templates) |
909
2218
  | purposes | Consent purposes and related preference management topics. | View Consent Manager, View Preference Store Settings | [Consent Management -> Regional Experiences -> Purposes](https://app.transcend.io/consent-manager/regional-experiences/purposes) |
910
2219
 
911
- #### Usage
2220
+ #### Examples
2221
+
2222
+ **Write out file to ./transcend.yml**
2223
+
2224
+ ```sh
2225
+ transcend inventory pull --auth="$TRANSCEND_API_KEY"
2226
+ ```
2227
+
2228
+ **Write out file to custom location**
912
2229
 
913
2230
  ```sh
914
- # Writes out file to ./transcend.yml
915
- transcend inventory pull --auth=$TRANSCEND_API_KEY
2231
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --file=./custom/location.yml
916
2232
  ```
917
2233
 
918
- An alternative file destination can be specified:
2234
+ **Pull specific data silo by ID**
919
2235
 
920
2236
  ```sh
921
- # Writes out file to ./custom/location.yml
922
- transcend inventory pull --auth=$TRANSCEND_API_KEY --file=./custom/location.yml
2237
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --dataSiloIds=710fec3c-7bcc-4c9e-baff-bf39f9bec43e
923
2238
  ```
924
2239
 
925
- Or a specific data silo(s) can be pulled in:
2240
+ **Pull specific types of data silos**
926
2241
 
927
2242
  ```sh
928
- transcend inventory pull --auth=$TRANSCEND_API_KEY ---dataSiloIds=710fec3c-7bcc-4c9e-baff-bf39f9bec43e
2243
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --integrationNames=salesforce,snowflake
929
2244
  ```
930
2245
 
931
- Or a specific types of data silo(s) can be pulled in:
2246
+ **Pull specific resource types**
932
2247
 
933
2248
  ```sh
934
- transcend inventory pull --auth=$TRANSCEND_API_KEY --integrationNames=salesforce,snowflake
2249
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=apiKeys,templates,dataSilos,enrichers
935
2250
  ```
936
2251
 
937
- Specifying the resource types to pull in (the following resources are the default resources):
2252
+ **Pull data flows and cookies with specific tracker statuses (see [this example](./examples/data-flows-cookies.yml))**
938
2253
 
939
2254
  ```sh
940
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=apiKeys,templates,dataSilos,enrichers
2255
+ transcend inventory pull \
2256
+ --auth="$TRANSCEND_API_KEY" \
2257
+ --resources=dataFlows,cookies \
2258
+ --trackerStatuses=NEEDS_REVIEW,LIVE
941
2259
  ```
942
2260
 
943
- Pull in data flow and cookie resources, filtering for specific tracker statuses (see [this example](./examples/data-flows-cookies.yml)):
2261
+ **Pull data silos without datapoint information**
944
2262
 
945
2263
  ```sh
946
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataFlows,cookies --trackerStatuses=NEEDS_REVIEW,LIVE
2264
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=dataSilos --skipDatapoints
947
2265
  ```
948
2266
 
949
- Pull in data silos without any datapoint/table information
2267
+ **Pull data silos without subdatapoint information**
950
2268
 
951
2269
  ```sh
952
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --skipDatapoints=true
2270
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=dataSilos --skipSubDatapoints
953
2271
  ```
954
2272
 
955
- Pull in data silos and datapoints without any subdatapoint/column information
2273
+ **Pull data silos with guessed categories**
956
2274
 
957
2275
  ```sh
958
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --skipSubDatapoints=true
2276
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=dataSilos --includeGuessedCategories
959
2277
  ```
960
2278
 
961
- Pull in data silos and datapoints with guessed data categories instead of just approved data categories
2279
+ **Pull custom field definitions only (see [this example](./examples/attributes.yml))**
962
2280
 
963
2281
  ```sh
964
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --includeGuessedCategories=true
2282
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=customFields
965
2283
  ```
966
2284
 
967
- Pull in attribute definitions only (see [this example](./examples/attributes.yml)):
2285
+ **Pull business entities only (see [this example](./examples/business-entities.yml))**
968
2286
 
969
2287
  ```sh
970
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=attributes
2288
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=businessEntities
971
2289
  ```
972
2290
 
973
- Pull in business entities only (see [this example](./examples/business-entities.yml)):
2291
+ **Pull processing activities only (see [this example](./examples/processing-activities.yml))**
974
2292
 
975
2293
  ```sh
976
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=businessEntities
2294
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=processingActivities
977
2295
  ```
978
2296
 
979
- Pull in enrichers and identifiers (see [this example](./examples/enrichers.yml)):
2297
+ **Pull enrichers and identifiers (see [this example](./examples/enrichers.yml))**
980
2298
 
981
2299
  ```sh
982
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=enrichers,identifiers
2300
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=enrichers,identifiers
983
2301
  ```
984
2302
 
985
- Pull in onboarding action items (see [this example](./examples/action-items.yml)):
2303
+ **Pull onboarding action items (see [this example](./examples/action-items.yml))**
986
2304
 
987
2305
  ```sh
988
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=actionItems,actionItemCollections
2306
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=actionItems,actionItemCollections
989
2307
  ```
990
2308
 
991
- Pull in consent manager domain list (see [this example](./examples/consent-manager-domains.yml)):
2309
+ **Pull consent manager domain list (see [this example](./examples/consent-manager-domains.yml))**
992
2310
 
993
2311
  ```sh
994
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=consentManager
2312
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=consentManager
995
2313
  ```
996
2314
 
997
- Pull in identifier configurations (see [this example](./examples/identifiers.yml)):
2315
+ **Pull identifier configurations (see [this example](./examples/identifiers.yml))**
998
2316
 
999
2317
  ```sh
1000
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=identifiers
2318
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=identifiers
1001
2319
  ```
1002
2320
 
1003
- Pull in request actions configurations (see [this example](./examples/actions.yml)):
2321
+ **Pull request actions configurations (see [this example](./examples/actions.yml))**
1004
2322
 
1005
2323
  ```sh
1006
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=actions
2324
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=actions
1007
2325
  ```
1008
2326
 
1009
- Pull in consent manager purposes and preference management topics (see [this example](./examples/purposes.yml)):
2327
+ **Pull consent manager purposes and preference management topics (see [this example](./examples/purposes.yml))**
1010
2328
 
1011
2329
  ```sh
1012
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=purposes
2330
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=purposes
1013
2331
  ```
1014
2332
 
1015
- Pull in data subject configurations (see [this example](./examples/data-subjects.yml)):
2333
+ **Pull data subject configurations (see [this example](./examples/data-subjects.yml))**
1016
2334
 
1017
2335
  ```sh
1018
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSubjects
2336
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=dataSubjects
1019
2337
  ```
1020
2338
 
1021
- Pull in assessments and assessment templates.
2339
+ **Pull assessments and assessment templates**
1022
2340
 
1023
2341
  ```sh
1024
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=assessments,assessmentTemplates
2342
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=assessments,assessmentTemplates
1025
2343
  ```
1026
2344
 
1027
- Pull everything:
2345
+ **Pull everything**
1028
2346
 
1029
2347
  ```sh
1030
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=all
2348
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=all
1031
2349
  ```
1032
2350
 
1033
- Pull in configuration files across multiple instances
2351
+ **Pull configuration files across multiple instances**
1034
2352
 
1035
2353
  ```sh
1036
- transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD --scopes="View Consent Manager" --apiKeyTitle="CLI Usage Cross Instance Sync" --file=./transcend-api-keys.json
2354
+ transcend admin generate-api-keys \
2355
+ --email=test@transcend.io \
2356
+ --password="$TRANSCEND_PASSWORD" \
2357
+ --scopes="View Consent Manager" \
2358
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
2359
+ --file=./transcend-api-keys.json
1037
2360
  transcend inventory pull --auth=./transcend-api-keys.json --resources=consentManager --file=./transcend/
1038
2361
  ```
1039
2362
 
@@ -1064,51 +2387,81 @@ FLAGS
1064
2387
 
1065
2388
  The scopes for `transcend inventory push` are the same as the scopes for [`transcend inventory pull`](#transcend-inventory-pull).
1066
2389
 
1067
- #### Usage
2390
+ #### Examples
2391
+
2392
+ **Looks for file at ./transcend.yml**
2393
+
2394
+ ```sh
2395
+ transcend inventory push --auth="$TRANSCEND_API_KEY"
2396
+ ```
2397
+
2398
+ **Looks for file at custom location ./custom/location.yml**
1068
2399
 
1069
2400
  ```sh
1070
- # Looks for file at ./transcend.yml
1071
- transcend inventory push --auth=$TRANSCEND_API_KEY
2401
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --file=./custom/location.yml
1072
2402
  ```
1073
2403
 
1074
- An alternative file destination can be specified:
2404
+ **Apply service classifier to all data flows**
1075
2405
 
1076
2406
  ```sh
1077
- # Looks for file at custom location ./custom/location.yml
1078
- transcend inventory push --auth=$TRANSCEND_API_KEY --file=./custom/location.yml
2407
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --classifyService
1079
2408
  ```
1080
2409
 
1081
- Push a single .yml file configuration into multiple Transcend instances. This uses the output of [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys).
2410
+ **Push up attributes, deleting any attributes that are not specified in the transcend.yml file**
1082
2411
 
1083
2412
  ```sh
1084
- transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1085
- --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" --file=./transcend-api-keys.json
1086
- transcend inventory pull --auth=$TRANSCEND_API_KEY
2413
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --deleteExtraAttributeValues
2414
+ ```
2415
+
2416
+ **Use dynamic variables to fill out parameters in YAML files (see [./examples/multi-instance.yml](./examples/multi-instance.yml))**
2417
+
2418
+ ```sh
2419
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --variables=domain:acme.com,stage:staging
2420
+ ```
2421
+
2422
+ **Push a single .yml file configuration into multiple Transcend instances**
2423
+
2424
+ This uses the output of [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys).
2425
+
2426
+ ```sh
2427
+ transcend admin generate-api-keys \
2428
+ --email=test@transcend.io \
2429
+ --password="$TRANSCEND_PASSWORD" \
2430
+ --scopes="View Email Templates,View Data Map" \
2431
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
2432
+ --file=./transcend-api-keys.json
2433
+ transcend inventory pull --auth="$TRANSCEND_API_KEY"
1087
2434
  transcend inventory push --auth=./transcend-api-keys.json
1088
2435
  ```
1089
2436
 
1090
- Push multiple .yml file configurations into multiple Transcend instances. This uses the output of [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys).
2437
+ **Push multiple .yml file configurations into multiple Transcend instances**
2438
+
2439
+ This uses the output of [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys).
1091
2440
 
1092
2441
  ```sh
1093
- transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1094
- --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" --file=./transcend-api-keys.json
2442
+ transcend admin generate-api-keys \
2443
+ --email=test@transcend.io \
2444
+ --password="$TRANSCEND_PASSWORD" \
2445
+ --scopes="View Email Templates,View Data Map" \
2446
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
2447
+ --file=./transcend-api-keys.json
1095
2448
  transcend inventory pull --auth=./transcend-api-keys.json --file=./transcend/
1096
2449
  # <edit .yml files in folder in between these steps>
1097
2450
  transcend inventory push --auth=./transcend-api-keys.json --file=./transcend/
1098
2451
  ```
1099
2452
 
1100
- Apply service classifier to all data flows.
2453
+ **Apply service classifier to all data flows**
1101
2454
 
1102
2455
  ```sh
1103
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataFlows
1104
- transcend inventory push --auth=$TRANSCEND_API_KEY --resources=dataFlows --classifyService=true
2456
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=dataFlows
2457
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --classifyService
1105
2458
  ```
1106
2459
 
1107
- Push up attributes, deleting any attributes that are not specified in the transcend.yml file
2460
+ **Push up attributes, deleting any attributes that are not specified in the transcend.yml file**
1108
2461
 
1109
2462
  ```sh
1110
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=attributes
1111
- transcend inventory push --auth=$TRANSCEND_API_KEY --resources=attributes --deleteExtraAttributeValues=true
2463
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=customFields
2464
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --deleteExtraAttributeValues
1112
2465
  ```
1113
2466
 
1114
2467
  Some things to note about this sync process:
@@ -1167,10 +2520,6 @@ If you are using this CLI to sync your Data Map between multiple Transcend insta
1167
2520
 
1168
2521
  The `transcend inventory push` command takes in a parameter `variables`. This is a CSV of `key:value` pairs.
1169
2522
 
1170
- ```sh
1171
- transcend inventory push --auth=$TRANSCEND_API_KEY --variables=domain:acme.com,stage:staging
1172
- ```
1173
-
1174
2523
  This command could fill out multiple parameters in a YAML file like [./examples/multi-instance.yml](./examples/multi-instance.yml), copied below:
1175
2524
 
1176
2525
  ```yml
@@ -1237,6 +2586,32 @@ FLAGS
1237
2586
  -h --help Print help information and exit
1238
2587
  ```
1239
2588
 
2589
+ #### Examples
2590
+
2591
+ **Scan the current directory**
2592
+
2593
+ ```sh
2594
+ transcend inventory scan-packages --auth="$TRANSCEND_API_KEY"
2595
+ ```
2596
+
2597
+ **Scan a specific directory**
2598
+
2599
+ ```sh
2600
+ transcend inventory scan-packages --auth="$TRANSCEND_API_KEY" --scanPath=./examples/
2601
+ ```
2602
+
2603
+ **Ignore certain folders**
2604
+
2605
+ ```sh
2606
+ transcend inventory scan-packages --auth="$TRANSCEND_API_KEY" --ignoreDirs=./test,./build
2607
+ ```
2608
+
2609
+ **Specify the name of the repository**
2610
+
2611
+ ```sh
2612
+ transcend inventory scan-packages --auth="$TRANSCEND_API_KEY" --repositoryName=transcend-io/test
2613
+ ```
2614
+
1240
2615
  ### `transcend inventory discover-silos`
1241
2616
 
1242
2617
  ```txt
@@ -1258,21 +2633,29 @@ FLAGS
1258
2633
  -h --help Print help information and exit
1259
2634
  ```
1260
2635
 
1261
- #### Usage
2636
+ #### Examples
1262
2637
 
1263
- Scan a JavaScript package.json:
2638
+ **Scan a JavaScript package.json**
1264
2639
 
1265
2640
  ```sh
1266
- transcend inventory discover-silos --scanPath=./myJavascriptProject --auth=$TRANSCEND_API_KEY ---dataSiloId=445ee241-5f2a-477b-9948-2a3682a43d0e
2641
+ transcend inventory discover-silos \
2642
+ --scanPath=./myJavascriptProject \
2643
+ --auth="$TRANSCEND_API_KEY" \
2644
+ --dataSiloId=445ee241-5f2a-477b-9948-2a3682a43d0e
1267
2645
  ```
1268
2646
 
1269
- Here are some examples of a [Podfile](./examples/code-scanning/test-cocoa-pods/Podfile) and [Gradle file](./examples/code-scanning/test-gradle/build.gradle). These are scanned like:
2647
+ **Scan multiple file types (Podfile, Gradle, etc.) in examples directory**
1270
2648
 
1271
2649
  ```sh
1272
- transcend inventory discover-silos --scanPath=./examples/ --auth=$TRANSCEND_API_KEY ---dataSiloId=b6776589-0b7d-466f-8aad-4378ffd3a321
2650
+ transcend inventory discover-silos \
2651
+ --scanPath=./examples/ \
2652
+ --auth="$TRANSCEND_API_KEY" \
2653
+ --dataSiloId=b6776589-0b7d-466f-8aad-4378ffd3a321
1273
2654
  ```
1274
2655
 
1275
- This call will look for all the package.json files that in the scan path `./myJavascriptProject`, parse each of the dependencies into their individual package names, and send it to our Transcend backend for classification. These classifications can then be viewed [here](https://app.transcend.io/data-map/data-inventory/silo-discovery/triage). The process is the same for scanning requirements.txt, podfiles and build.gradle files.
2656
+ This call will look for all the package.json files in the scan path `./myJavascriptProject`, parse each of the dependencies into their individual package names, and send it to our Transcend backend for classification. These classifications can then be viewed [here](https://app.transcend.io/data-map/data-inventory/silo-discovery/triage). The process is the same for scanning requirements.txt, podfiles and build.gradle files.
2657
+
2658
+ Here are some examples of a [Podfile](./examples/code-scanning/test-cocoa-pods/Podfile) and [Gradle file](./examples/code-scanning/test-gradle/build.gradle).
1276
2659
 
1277
2660
  ### `transcend inventory pull-datapoints`
1278
2661
 
@@ -1295,6 +2678,68 @@ FLAGS
1295
2678
  -h --help Print help information and exit
1296
2679
  ```
1297
2680
 
2681
+ #### Examples
2682
+
2683
+ **All arguments**
2684
+
2685
+ ```sh
2686
+ transcend inventory pull-datapoints \
2687
+ --auth="$TRANSCEND_API_KEY" \
2688
+ --file=./datapoints.csv \
2689
+ --includeGuessedCategories \
2690
+ --parentCategories=CONTACT,ID,LOCATION \
2691
+ --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1 \
2692
+ --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
2693
+ ```
2694
+
2695
+ **Pull datapoints for specific data silos**
2696
+
2697
+ ```sh
2698
+ transcend inventory pull-datapoints \
2699
+ --auth="$TRANSCEND_API_KEY" \
2700
+ --file=./datapoints.csv \
2701
+ --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
2702
+ ```
2703
+
2704
+ **Include attributes in the output**
2705
+
2706
+ ```sh
2707
+ transcend inventory pull-datapoints --auth="$TRANSCEND_API_KEY" --file=./datapoints.csv --includeAttributes
2708
+ ```
2709
+
2710
+ **Include guessed categories in the output**
2711
+
2712
+ ```sh
2713
+ transcend inventory pull-datapoints --auth="$TRANSCEND_API_KEY" --file=./datapoints.csv --includeGuessedCategories
2714
+ ```
2715
+
2716
+ **Filter by parent categories**
2717
+
2718
+ ```sh
2719
+ transcend inventory pull-datapoints \
2720
+ --auth="$TRANSCEND_API_KEY" \
2721
+ --file=./datapoints.csv \
2722
+ --parentCategories=ID,LOCATION
2723
+ ```
2724
+
2725
+ **Filter by subcategories**
2726
+
2727
+ ```sh
2728
+ transcend inventory pull-datapoints \
2729
+ --auth="$TRANSCEND_API_KEY" \
2730
+ --file=./datapoints.csv \
2731
+ --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1
2732
+ ```
2733
+
2734
+ **Specify the backend URL, needed for US hosted backend infrastructure**
2735
+
2736
+ ```sh
2737
+ transcend inventory pull-datapoints \
2738
+ --auth="$TRANSCEND_API_KEY" \
2739
+ --file=./datapoints.csv \
2740
+ --transcendUrl=https://api.us.transcend.io
2741
+ ```
2742
+
1298
2743
  ### `transcend inventory pull-unstructured-discovery-files`
1299
2744
 
1300
2745
  ```txt
@@ -1315,6 +2760,59 @@ FLAGS
1315
2760
  -h --help Print help information and exit
1316
2761
  ```
1317
2762
 
2763
+ #### Examples
2764
+
2765
+ **All arguments**
2766
+
2767
+ ```sh
2768
+ transcend inventory pull-unstructured-discovery-files \
2769
+ --auth="$TRANSCEND_API_KEY" \
2770
+ --file=./unstructured-discovery-files.csv \
2771
+ --transcendUrl=https://api.us.transcend.io \
2772
+ --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429 \
2773
+ --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1 \
2774
+ --status=VALIDATED,MANUALLY_ADDED,CORRECTED \
2775
+ --includeEncryptedSnippets
2776
+ ```
2777
+
2778
+ **Specify the backend URL, needed for US hosted backend infrastructure**
2779
+
2780
+ ```sh
2781
+ transcend inventory pull-unstructured-discovery-files \
2782
+ --auth="$TRANSCEND_API_KEY" \
2783
+ --transcendUrl=https://api.us.transcend.io
2784
+ ```
2785
+
2786
+ **Pull entries for specific data silos**
2787
+
2788
+ ```sh
2789
+ transcend inventory pull-unstructured-discovery-files \
2790
+ --auth="$TRANSCEND_API_KEY" \
2791
+ --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
2792
+ ```
2793
+
2794
+ **Filter by data categories**
2795
+
2796
+ ```sh
2797
+ transcend inventory pull-unstructured-discovery-files \
2798
+ --auth="$TRANSCEND_API_KEY" \
2799
+ --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1
2800
+ ```
2801
+
2802
+ **Filter by classification status (exclude unconfirmed recommendations)**
2803
+
2804
+ ```sh
2805
+ transcend inventory pull-unstructured-discovery-files \
2806
+ --auth="$TRANSCEND_API_KEY" \
2807
+ --status=VALIDATED,MANUALLY_ADDED,CORRECTED
2808
+ ```
2809
+
2810
+ **Filter by classification status (include rejected recommendations)**
2811
+
2812
+ ```sh
2813
+ transcend inventory pull-unstructured-discovery-files --auth="$TRANSCEND_API_KEY" --status=REJECTED
2814
+ ```
2815
+
1318
2816
  ### `transcend inventory derive-data-silos-from-data-flows`
1319
2817
 
1320
2818
  ```txt
@@ -1333,6 +2831,37 @@ FLAGS
1333
2831
  -h --help Print help information and exit
1334
2832
  ```
1335
2833
 
2834
+ #### Examples
2835
+
2836
+ **Convert data flow configurations in folder to data silo configurations in folder**
2837
+
2838
+ ```sh
2839
+ transcend inventory derive-data-silos-from-data-flows \
2840
+ --auth="$TRANSCEND_API_KEY" \
2841
+ --dataFlowsYmlFolder=./working/data-flows/ \
2842
+ --dataSilosYmlFolder=./working/data-silos/
2843
+ ```
2844
+
2845
+ **Use with US backend**
2846
+
2847
+ ```sh
2848
+ transcend inventory derive-data-silos-from-data-flows \
2849
+ --auth="$TRANSCEND_API_KEY" \
2850
+ --dataFlowsYmlFolder=./working/data-flows/ \
2851
+ --dataSilosYmlFolder=./working/data-silos/ \
2852
+ --transcendUrl=https://api.us.transcend.io
2853
+ ```
2854
+
2855
+ **Skip a set of yml files**
2856
+
2857
+ ```sh
2858
+ transcend inventory derive-data-silos-from-data-flows \
2859
+ --auth="$TRANSCEND_API_KEY" \
2860
+ --dataFlowsYmlFolder=./working/data-flows/ \
2861
+ --dataSilosYmlFolder=./working/data-silos/ \
2862
+ --ignoreYmls=Skip.yml,Other.yml
2863
+ ```
2864
+
1336
2865
  ### `transcend inventory derive-data-silos-from-data-flows-cross-instance`
1337
2866
 
1338
2867
  ```txt
@@ -1351,6 +2880,43 @@ FLAGS
1351
2880
  -h --help Print help information and exit
1352
2881
  ```
1353
2882
 
2883
+ #### Examples
2884
+
2885
+ **Convert data flow configurations in folder to data silo configurations in file**
2886
+
2887
+ ```sh
2888
+ transcend inventory derive-data-silos-from-data-flows-cross-instance \
2889
+ --auth="$TRANSCEND_API_KEY" \
2890
+ --dataFlowsYmlFolder=./working/data-flows/
2891
+ ```
2892
+
2893
+ **Use with US backend**
2894
+
2895
+ ```sh
2896
+ transcend inventory derive-data-silos-from-data-flows-cross-instance \
2897
+ --auth="$TRANSCEND_API_KEY" \
2898
+ --dataFlowsYmlFolder=./working/data-flows/ \
2899
+ --transcendUrl=https://api.us.transcend.io
2900
+ ```
2901
+
2902
+ **Skip a set of yml files**
2903
+
2904
+ ```sh
2905
+ transcend inventory derive-data-silos-from-data-flows-cross-instance \
2906
+ --auth="$TRANSCEND_API_KEY" \
2907
+ --dataFlowsYmlFolder=./working/data-flows/ \
2908
+ --ignoreYmls=Skip.yml,Other.yml
2909
+ ```
2910
+
2911
+ **Convert data flow configurations in folder to data silo configurations in file**
2912
+
2913
+ ```sh
2914
+ transcend inventory derive-data-silos-from-data-flows-cross-instance \
2915
+ --auth="$TRANSCEND_API_KEY" \
2916
+ --dataFlowsYmlFolder=./working/data-flows/ \
2917
+ --output=./output.yml
2918
+ ```
2919
+
1354
2920
  ### `transcend inventory consent-manager-service-json-to-yml`
1355
2921
 
1356
2922
  ```txt
@@ -1360,11 +2926,16 @@ USAGE
1360
2926
 
1361
2927
  Import the services from an airgap.js file into a Transcend instance.
1362
2928
 
1363
- Step 1) Run `await airgap.getMetadata()` on a site with airgap
1364
- Step 2) Right click on the printed object, and click `Copy object`
1365
- Step 3) Place output of file in a file named `services.json`
1366
- Step 4) Run `transcend consent consent-manager-service-json-to-yml --file=./services.json --output=./transcend.yml`
1367
- Step 5) Run `transcend inventory push --auth=$TRANSCEND_API_KEY --file=./transcend.yml --classifyService=true`
2929
+ 1. Run `await airgap.getMetadata()` on a site with airgap
2930
+ 2. Right click on the printed object, and click `Copy object`
2931
+ 3. Place output of file in a file named `services.json`
2932
+ 4. Run:
2933
+
2934
+ transcend inventory consent-manager-service-json-to-yml --file=./services.json --output=./transcend.yml
2935
+
2936
+ 5. Run:
2937
+
2938
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --file=./transcend.yml --classifyService
1368
2939
 
1369
2940
  FLAGS
1370
2941
  [--file] Path to the services.json file, output of await airgap.getMetadata() [default = ./services.json]
@@ -1372,6 +2943,20 @@ FLAGS
1372
2943
  -h --help Print help information and exit
1373
2944
  ```
1374
2945
 
2946
+ #### Examples
2947
+
2948
+ **Convert data flow configurations in folder to yml in ./transcend.yml**
2949
+
2950
+ ```sh
2951
+ transcend inventory consent-manager-service-json-to-yml
2952
+ ```
2953
+
2954
+ **With file locations**
2955
+
2956
+ ```sh
2957
+ transcend inventory consent-manager-service-json-to-yml --file=./folder/services.json --output=./folder/transcend.yml
2958
+ ```
2959
+
1375
2960
  ### `transcend inventory consent-managers-to-business-entities`
1376
2961
 
1377
2962
  ```txt
@@ -1387,11 +2972,27 @@ FLAGS
1387
2972
  -h --help Print help information and exit
1388
2973
  ```
1389
2974
 
2975
+ #### Examples
2976
+
2977
+ **Combine files in folder to file ./combined-business-entities.yml**
2978
+
2979
+ ```sh
2980
+ transcend inventory consent-managers-to-business-entities --consentManagerYmlFolder=./working/consent-managers/
2981
+ ```
2982
+
2983
+ **Specify custom output file**
2984
+
2985
+ ```sh
2986
+ transcend inventory consent-managers-to-business-entities \
2987
+ --consentManagerYmlFolder=./working/consent-managers/ \
2988
+ --output=./custom.yml
2989
+ ```
2990
+
1390
2991
  ### `transcend admin generate-api-keys`
1391
2992
 
1392
2993
  ```txt
1393
2994
  USAGE
1394
- transcend admin generate-api-keys (--email value) (--password value) (--apiKeyTitle value) (--file value) (--scopes value)... [--deleteExistingApiKey] [--createNewApiKey] [--parentOrganizationId value] [--transcendUrl value]
2995
+ transcend admin generate-api-keys (--email value) (--password value) (--apiKeyTitle value) (--file value) (--scopes View Only|Full Admin|Rotate Hosted Sombra keys|Manage Global Attributes|Manage Access Controls|Manage Billing|Manage SSO|Manage API Keys|Manage Organization Information|Manage Email Domains|Manage Data Sub Categories|View Customer Data in Privacy Requests|View Customer Data in Data Mapping|View API Keys|View Audit Events|View SSO|View Scopes|View All Action Items|Manage All Action Items|View Employees|View Email Domains|View Global Attributes|View Legal Hold|Manage Legal Holds|Manage Request Security|Manage Request Compilation|Manage Assigned Privacy Requests|Submit New Data Subject Request|Manage Data Subject Request Settings|Manage Email Templates|Manage Request Identity Verification|Publish Privacy Center|Manage Data Map|Manage Privacy Center Layout|Manage Policies|View Policies|Manage Internationalization Messages|View Internationalization Messages|Request Approval and Communication|View Data Subject Request Settings|View the Request Compilation|View Identity Verification Settings|View Incoming Requests|View Assigned Privacy Requests|View Privacy Center Layout|View Email Templates|Connect Data Silos|Manage Data Inventory|Manage Assigned Data Inventory|Manage Assigned Integrations|View Data Map|View Assigned Integrations|View Assigned Data Inventory|View Data Inventory|Manage Consent Manager|Manage Consent Manager Developer Settings|Manage Consent Manager Display Settings|Deploy Test Consent Manager|Deploy Consent Manager|Manage Assigned Consent Manager|Manage Data Flows|View Data Flows|View Assigned Consent Manager|View Consent Manager|View Assessments|Manage Assessments|View Assigned Assessments|Manage Assigned Assessments|View Pathfinder|Manage Pathfinder|View Contract Scanning|Manage Contract Scanning|View Prompts|Manage Prompts|View Prompt Runs|Manage Prompt Runs|View Code Scanning|Manage Code Scanning|Execute Prompt|View Auditor Runs|Manage Auditor Runs and Schedules|Execute Auditor|Approve Prompts|Manage Action Item Collections|View Managed Consent Database Admin API|Modify User Stored Preferences|Manage Preference Store Settings|View Preference Store Settings|LLM Log Transfer|Manage Workflows|View Data Sub Categories) [--deleteExistingApiKey] [--createNewApiKey] [--parentOrganizationId value] [--transcendUrl value]
1395
2996
  transcend admin generate-api-keys --help
1396
2997
 
1397
2998
  This command allows for creating API keys across multiple Transcend instances. This is useful for customers that are managing many Transcend instances and need to regularly create, cycle or delete API keys across all of their instances.
@@ -1405,7 +3006,7 @@ FLAGS
1405
3006
  --password The password for your account login
1406
3007
  --apiKeyTitle The title of the API key being generated or destroyed
1407
3008
  --file The file where API keys should be written to
1408
- --scopes... The list of scopes that should be given to the API key [separator = ,]
3009
+ --scopes The list of scopes that should be given to the API key [View Only|Full Admin|Rotate Hosted Sombra keys|Manage Global Attributes|Manage Access Controls|Manage Billing|Manage SSO|Manage API Keys|Manage Organization Information|Manage Email Domains|Manage Data Sub Categories|View Customer Data in Privacy Requests|View Customer Data in Data Mapping|View API Keys|View Audit Events|View SSO|View Scopes|View All Action Items|Manage All Action Items|View Employees|View Email Domains|View Global Attributes|View Legal Hold|Manage Legal Holds|Manage Request Security|Manage Request Compilation|Manage Assigned Privacy Requests|Submit New Data Subject Request|Manage Data Subject Request Settings|Manage Email Templates|Manage Request Identity Verification|Publish Privacy Center|Manage Data Map|Manage Privacy Center Layout|Manage Policies|View Policies|Manage Internationalization Messages|View Internationalization Messages|Request Approval and Communication|View Data Subject Request Settings|View the Request Compilation|View Identity Verification Settings|View Incoming Requests|View Assigned Privacy Requests|View Privacy Center Layout|View Email Templates|Connect Data Silos|Manage Data Inventory|Manage Assigned Data Inventory|Manage Assigned Integrations|View Data Map|View Assigned Integrations|View Assigned Data Inventory|View Data Inventory|Manage Consent Manager|Manage Consent Manager Developer Settings|Manage Consent Manager Display Settings|Deploy Test Consent Manager|Deploy Consent Manager|Manage Assigned Consent Manager|Manage Data Flows|View Data Flows|View Assigned Consent Manager|View Consent Manager|View Assessments|Manage Assessments|View Assigned Assessments|Manage Assigned Assessments|View Pathfinder|Manage Pathfinder|View Contract Scanning|Manage Contract Scanning|View Prompts|Manage Prompts|View Prompt Runs|Manage Prompt Runs|View Code Scanning|Manage Code Scanning|Execute Prompt|View Auditor Runs|Manage Auditor Runs and Schedules|Execute Auditor|Approve Prompts|Manage Action Item Collections|View Managed Consent Database Admin API|Modify User Stored Preferences|Manage Preference Store Settings|View Preference Store Settings|LLM Log Transfer|Manage Workflows|View Data Sub Categories, separator = ,]
1409
3010
  [--deleteExistingApiKey/--noDeleteExistingApiKey] When true, if an API key exists with the specified apiKeyTitle, the existing API key is deleted [default = true]
1410
3011
  [--createNewApiKey/--noCreateNewApiKey] When true, new API keys will be created. Set to false if you simply want to delete all API keys with a title [default = true]
1411
3012
  [--parentOrganizationId] Filter for only a specific organization by ID, returning all child accounts associated with that organization
@@ -1413,54 +3014,80 @@ FLAGS
1413
3014
  -h --help Print help information and exit
1414
3015
  ```
1415
3016
 
1416
- #### Usage
3017
+ #### Examples
3018
+
3019
+ **Generate API keys for cross-instance usage**
1417
3020
 
1418
3021
  ```sh
1419
- transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1420
- --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json
3022
+ transcend admin generate-api-keys \
3023
+ --email=test@transcend.io \
3024
+ --password="$TRANSCEND_PASSWORD" \
3025
+ --scopes="View Email Templates,View Data Map" \
3026
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
3027
+ --file=./working/auth.json
1421
3028
  ```
1422
3029
 
1423
- Specifying the backend URL, needed for US hosted backend infrastructure.
3030
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1424
3031
 
1425
3032
  ```sh
1426
- transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1427
- --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
1428
- --transcendUrl=https://api.us.transcend.io
3033
+ transcend admin generate-api-keys \
3034
+ --email=test@transcend.io \
3035
+ --password="$TRANSCEND_PASSWORD" \
3036
+ --scopes="View Email Templates,View Data Map" \
3037
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
3038
+ --file=./working/auth.json \
3039
+ --transcendUrl=https://api.us.transcend.io
1429
3040
  ```
1430
3041
 
1431
- Filter for only a specific organization by ID, returning all child accounts associated with that organization. Can use the following GQL query on the [EU GraphQL Playground](https://api.us.transcend.io/graphql) or [US GraphQL Playground](https://api.us.transcend.io/graphql).
3042
+ **Filter for only a specific organization by ID, returning all child accounts associated with that organization**
1432
3043
 
1433
- ```gql
1434
- query {
1435
- user {
1436
- organization {
1437
- id
1438
- parentOrganizationId
1439
- }
1440
- }
1441
- }
3044
+ ```sh
3045
+ transcend admin generate-api-keys \
3046
+ --email=test@transcend.io \
3047
+ --password="$TRANSCEND_PASSWORD" \
3048
+ --scopes="View Email Templates,View Data Map" \
3049
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
3050
+ --file=./working/auth.json \
3051
+ --parentOrganizationId=7098bb38-070d-4f26-8fa4-1b61b9cdef77
1442
3052
  ```
1443
3053
 
3054
+ **Delete all API keys with a certain title**
3055
+
1444
3056
  ```sh
1445
- transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1446
- --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
1447
- --parentOrganizationId=7098bb38-070d-4f26-8fa4-1b61b9cdef77
3057
+ transcend admin generate-api-keys \
3058
+ --email=test@transcend.io \
3059
+ --password="$TRANSCEND_PASSWORD" \
3060
+ --scopes="View Email Templates,View Data Map" \
3061
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
3062
+ --file=./working/auth.json \
3063
+ --createNewApiKey=false
1448
3064
  ```
1449
3065
 
1450
- Delete all API keys with a certain title.
3066
+ **Throw error if an API key already exists with that title, default behavior is to delete the existing API key and create a new one with that same title**
1451
3067
 
1452
3068
  ```sh
1453
- transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1454
- --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
1455
- --createNewApiKey=false
3069
+ transcend admin generate-api-keys \
3070
+ --email=test@transcend.io \
3071
+ --password="$TRANSCEND_PASSWORD" \
3072
+ --scopes="View Email Templates,View Data Map" \
3073
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
3074
+ --file=./working/auth.json \
3075
+ --deleteExistingApiKey=false
1456
3076
  ```
1457
3077
 
1458
- Throw error if an API key already exists with that title, default behavior is to delete the existing API key and create a new one with that same title.
3078
+ **Find your organization ID**
1459
3079
 
1460
- ```sh
1461
- transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1462
- --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
1463
- --deleteExistingApiKey=false
3080
+ You can use the following GQL query on the [EU GraphQL Playground](https://api.us.transcend.io/graphql) or [US GraphQL Playground](https://api.us.transcend.io/graphql) to get your organization IDs and their parent/child relationships.
3081
+
3082
+ ```gql
3083
+ query {
3084
+ user {
3085
+ organization {
3086
+ id
3087
+ parentOrganizationId
3088
+ }
3089
+ }
3090
+ }
1464
3091
  ```
1465
3092
 
1466
3093
  ### `transcend migration sync-ot`
@@ -1492,6 +3119,44 @@ FLAGS
1492
3119
  -h --help Print help information and exit
1493
3120
  ```
1494
3121
 
3122
+ #### Authentication
3123
+
3124
+ In order to use this command, you will need to generate a OneTrust OAuth Token with scope for accessing the following endpoints:
3125
+
3126
+ - [GET /v2/assessments](https://developer.onetrust.com/onetrust/reference/getallassessmentbasicdetailsusingget)
3127
+ - [GET /v2/assessments/{assessmentId}/export](https://developer.onetrust.com/onetrust/reference/exportassessmentusingget)
3128
+ - [GET /risks/{riskId}](https://developer.onetrust.com/onetrust/reference/getriskusingget)
3129
+ - [GET /v2/Users/{userId}](https://developer.onetrust.com/onetrust/reference/getuserusingget)
3130
+
3131
+ To learn how to generate the token, see the [OAuth 2.0 Scopes](https://developer.onetrust.com/onetrust/reference/oauth-20-scopes) and [Generate Access Token](https://developer.onetrust.com/onetrust/reference/getoauthtoken) pages.
3132
+
3133
+ #### Examples
3134
+
3135
+ **Syncs all assessments from the OneTrust instance to Transcend**
3136
+
3137
+ ```sh
3138
+ transcend migration sync-ot \
3139
+ --hostname=trial.onetrust.com \
3140
+ --oneTrustAuth="$ONE_TRUST_OAUTH_TOKEN" \
3141
+ --transcendAuth="$TRANSCEND_API_KEY"
3142
+ ```
3143
+
3144
+ **Set dryRun to true and sync the resource to disk (writes out file to ./oneTrustAssessments.json)**
3145
+
3146
+ ```sh
3147
+ transcend migration sync-ot \
3148
+ --hostname=trial.onetrust.com \
3149
+ --oneTrustAuth="$ONE_TRUST_OAUTH_TOKEN" \
3150
+ --dryRun \
3151
+ --file=./oneTrustAssessments.json
3152
+ ```
3153
+
3154
+ **Sync to Transcend by reading from file instead of OneTrust**
3155
+
3156
+ ```sh
3157
+ transcend migration sync-ot --source=file --file=./oneTrustAssessments.json --transcendAuth="$TRANSCEND_API_KEY"
3158
+ ```
3159
+
1495
3160
  <!-- COMMANDS_END -->
1496
3161
 
1497
3162
  ## Prompt Manager