@transcend-io/cli 7.0.2 → 7.0.4

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 (214) hide show
  1. package/README.md +1816 -158
  2. package/dist/bin/bash-complete.cjs +1 -1
  3. package/dist/bin/cli.cjs +1 -1
  4. package/dist/bin/deprecated-command.cjs +2 -2
  5. package/dist/chunk-3ZKZCSGD.cjs +2847 -0
  6. package/dist/chunk-3ZKZCSGD.cjs.map +1 -0
  7. package/dist/{chunk-QXKWSBYR.cjs → chunk-6DWFLWWT.cjs} +2 -2
  8. package/dist/{chunk-QXKWSBYR.cjs.map → chunk-6DWFLWWT.cjs.map} +1 -1
  9. package/dist/chunk-6FGYCQAQ.cjs +2 -0
  10. package/dist/chunk-6FGYCQAQ.cjs.map +1 -0
  11. package/dist/chunk-BF5T3SGE.cjs +3 -0
  12. package/dist/chunk-BF5T3SGE.cjs.map +1 -0
  13. package/dist/chunk-E3CF3RKX.cjs +2 -0
  14. package/dist/chunk-E3CF3RKX.cjs.map +1 -0
  15. package/dist/chunk-EVZLUL56.cjs +75 -0
  16. package/dist/chunk-EVZLUL56.cjs.map +1 -0
  17. package/dist/{chunk-W5T3VHKD.cjs → chunk-FPXWBUHS.cjs} +2 -2
  18. package/dist/{chunk-W5T3VHKD.cjs.map → chunk-FPXWBUHS.cjs.map} +1 -1
  19. package/dist/chunk-G2T7YVBG.cjs +113 -0
  20. package/dist/chunk-G2T7YVBG.cjs.map +1 -0
  21. package/dist/{chunk-WAYG2MDL.cjs → chunk-IG65EYJY.cjs} +2 -2
  22. package/dist/{chunk-WAYG2MDL.cjs.map → chunk-IG65EYJY.cjs.map} +1 -1
  23. package/dist/chunk-L7YT5ETS.cjs +2 -0
  24. package/dist/{chunk-VFP6EKTE.cjs.map → chunk-L7YT5ETS.cjs.map} +1 -1
  25. package/dist/{chunk-U6G3J6VJ.cjs → chunk-R4IKDXM5.cjs} +2 -2
  26. package/dist/{chunk-U6G3J6VJ.cjs.map → chunk-R4IKDXM5.cjs.map} +1 -1
  27. package/dist/chunk-TS5EYI4O.cjs +12 -0
  28. package/dist/chunk-TS5EYI4O.cjs.map +1 -0
  29. package/dist/chunk-WIXQSFS6.cjs +2 -0
  30. package/dist/chunk-WIXQSFS6.cjs.map +1 -0
  31. package/dist/chunk-WKCTKYN4.cjs +2 -0
  32. package/dist/chunk-WKCTKYN4.cjs.map +1 -0
  33. package/dist/chunk-Y4BWTFTX.cjs +15 -0
  34. package/dist/chunk-Y4BWTFTX.cjs.map +1 -0
  35. package/dist/{chunk-XHS3FR6L.cjs → chunk-YA5UZ3YM.cjs} +2 -2
  36. package/dist/{chunk-XHS3FR6L.cjs.map → chunk-YA5UZ3YM.cjs.map} +1 -1
  37. package/dist/impl-24MFRX5R.cjs +2 -0
  38. package/dist/impl-24MFRX5R.cjs.map +1 -0
  39. package/dist/impl-2G6FOZLU.cjs +2 -0
  40. package/dist/impl-2G6FOZLU.cjs.map +1 -0
  41. package/dist/impl-4EDFESYC.cjs +2 -0
  42. package/dist/impl-4EDFESYC.cjs.map +1 -0
  43. package/dist/impl-5FO2QEHJ.cjs +2 -0
  44. package/dist/impl-5FO2QEHJ.cjs.map +1 -0
  45. package/dist/impl-6B7JDOM5.cjs +3 -0
  46. package/dist/impl-6B7JDOM5.cjs.map +1 -0
  47. package/dist/impl-AUOR6D3Q.cjs +2 -0
  48. package/dist/impl-AUOR6D3Q.cjs.map +1 -0
  49. package/dist/impl-B5HQXUMH.cjs +2 -0
  50. package/dist/impl-B5HQXUMH.cjs.map +1 -0
  51. package/dist/impl-BNFADMTO.cjs +2 -0
  52. package/dist/impl-BNFADMTO.cjs.map +1 -0
  53. package/dist/impl-BPWMOF4U.cjs +2 -0
  54. package/dist/impl-BPWMOF4U.cjs.map +1 -0
  55. package/dist/impl-CNCC36M6.cjs +9 -0
  56. package/dist/impl-CNCC36M6.cjs.map +1 -0
  57. package/dist/impl-DBDL4Z23.cjs +2 -0
  58. package/dist/impl-DBDL4Z23.cjs.map +1 -0
  59. package/dist/impl-FG47LALL.cjs +2 -0
  60. package/dist/impl-FG47LALL.cjs.map +1 -0
  61. package/dist/impl-GNB7TDFU.cjs +2 -0
  62. package/dist/impl-GNB7TDFU.cjs.map +1 -0
  63. package/dist/impl-HB3R7YDP.cjs +2 -0
  64. package/dist/impl-HB3R7YDP.cjs.map +1 -0
  65. package/dist/impl-ICI7EQKE.cjs +2 -0
  66. package/dist/impl-ICI7EQKE.cjs.map +1 -0
  67. package/dist/impl-KOMGU55G.cjs +2 -0
  68. package/dist/impl-KOMGU55G.cjs.map +1 -0
  69. package/dist/impl-KP27234L.cjs +2 -0
  70. package/dist/impl-KP27234L.cjs.map +1 -0
  71. package/dist/impl-KZ2L66Q3.cjs +2 -0
  72. package/dist/impl-KZ2L66Q3.cjs.map +1 -0
  73. package/dist/impl-L3M67IGI.cjs +7 -0
  74. package/dist/{impl-JH4KIP5U.cjs.map → impl-L3M67IGI.cjs.map} +1 -1
  75. package/dist/impl-LTOV5CHF.cjs +2 -0
  76. package/dist/impl-LTOV5CHF.cjs.map +1 -0
  77. package/dist/impl-MO6AOGQM.cjs +2 -0
  78. package/dist/impl-MO6AOGQM.cjs.map +1 -0
  79. package/dist/impl-MPGDZ2M2.cjs +12 -0
  80. package/dist/impl-MPGDZ2M2.cjs.map +1 -0
  81. package/dist/impl-N54C7NPT.cjs +2 -0
  82. package/dist/impl-N54C7NPT.cjs.map +1 -0
  83. package/dist/impl-N6ML5K5S.cjs +2 -0
  84. package/dist/impl-N6ML5K5S.cjs.map +1 -0
  85. package/dist/impl-NKLZ5RG4.cjs +2 -0
  86. package/dist/impl-NKLZ5RG4.cjs.map +1 -0
  87. package/dist/impl-NNOWJ4Q4.cjs +6 -0
  88. package/dist/impl-NNOWJ4Q4.cjs.map +1 -0
  89. package/dist/impl-OLEEHZUA.cjs +6 -0
  90. package/dist/impl-OLEEHZUA.cjs.map +1 -0
  91. package/dist/impl-Q6EQYFKN.cjs +4 -0
  92. package/dist/impl-Q6EQYFKN.cjs.map +1 -0
  93. package/dist/impl-QHTG36G3.cjs +2 -0
  94. package/dist/impl-QHTG36G3.cjs.map +1 -0
  95. package/dist/impl-QITUCVEV.cjs +2 -0
  96. package/dist/impl-QITUCVEV.cjs.map +1 -0
  97. package/dist/impl-R3KCARSP.cjs +2 -0
  98. package/dist/impl-R3KCARSP.cjs.map +1 -0
  99. package/dist/impl-RSHVCDLE.cjs +2 -0
  100. package/dist/impl-RSHVCDLE.cjs.map +1 -0
  101. package/dist/impl-SNLQCZOR.cjs +2 -0
  102. package/dist/impl-SNLQCZOR.cjs.map +1 -0
  103. package/dist/impl-TPVA6DLJ.cjs +2 -0
  104. package/dist/impl-TPVA6DLJ.cjs.map +1 -0
  105. package/dist/impl-TVNBHOR4.cjs +2 -0
  106. package/dist/impl-TVNBHOR4.cjs.map +1 -0
  107. package/dist/impl-TWLWQSZG.cjs +2 -0
  108. package/dist/impl-TWLWQSZG.cjs.map +1 -0
  109. package/dist/impl-UKOAB6ED.cjs +2 -0
  110. package/dist/impl-UKOAB6ED.cjs.map +1 -0
  111. package/dist/impl-ZKBMWGMK.cjs +2 -0
  112. package/dist/impl-ZKBMWGMK.cjs.map +1 -0
  113. package/dist/impl-ZTWLYZZO.cjs +2 -0
  114. package/dist/impl-ZTWLYZZO.cjs.map +1 -0
  115. package/dist/index.cjs +3 -3
  116. package/dist/index.cjs.map +1 -1
  117. package/dist/index.d.cts +39 -7
  118. package/package.json +2 -1
  119. package/dist/chunk-25UGE4YY.cjs +0 -12
  120. package/dist/chunk-25UGE4YY.cjs.map +0 -1
  121. package/dist/chunk-EG4L6YAJ.cjs +0 -2
  122. package/dist/chunk-EG4L6YAJ.cjs.map +0 -1
  123. package/dist/chunk-FPTEK7BG.cjs +0 -2
  124. package/dist/chunk-FPTEK7BG.cjs.map +0 -1
  125. package/dist/chunk-HAOVN3XO.cjs +0 -75
  126. package/dist/chunk-HAOVN3XO.cjs.map +0 -1
  127. package/dist/chunk-KWG56BUX.cjs +0 -2
  128. package/dist/chunk-KWG56BUX.cjs.map +0 -1
  129. package/dist/chunk-NOF6QHE4.cjs +0 -2843
  130. package/dist/chunk-NOF6QHE4.cjs.map +0 -1
  131. package/dist/chunk-QY37PK62.cjs +0 -94
  132. package/dist/chunk-QY37PK62.cjs.map +0 -1
  133. package/dist/chunk-SHV6R64J.cjs +0 -2
  134. package/dist/chunk-SHV6R64J.cjs.map +0 -1
  135. package/dist/chunk-VFP6EKTE.cjs +0 -2
  136. package/dist/chunk-XBHJO2OX.cjs +0 -3
  137. package/dist/chunk-XBHJO2OX.cjs.map +0 -1
  138. package/dist/impl-2DZFILID.cjs +0 -2
  139. package/dist/impl-2DZFILID.cjs.map +0 -1
  140. package/dist/impl-3CTVL4TA.cjs +0 -2
  141. package/dist/impl-3CTVL4TA.cjs.map +0 -1
  142. package/dist/impl-3IN6AV44.cjs +0 -9
  143. package/dist/impl-3IN6AV44.cjs.map +0 -1
  144. package/dist/impl-3PSE2WEI.cjs +0 -2
  145. package/dist/impl-3PSE2WEI.cjs.map +0 -1
  146. package/dist/impl-4XMTTFXK.cjs +0 -2
  147. package/dist/impl-4XMTTFXK.cjs.map +0 -1
  148. package/dist/impl-5L4G73JT.cjs +0 -2
  149. package/dist/impl-5L4G73JT.cjs.map +0 -1
  150. package/dist/impl-6NO74W36.cjs +0 -2
  151. package/dist/impl-6NO74W36.cjs.map +0 -1
  152. package/dist/impl-6TJRZGRQ.cjs +0 -2
  153. package/dist/impl-6TJRZGRQ.cjs.map +0 -1
  154. package/dist/impl-7FHT7P3V.cjs +0 -2
  155. package/dist/impl-7FHT7P3V.cjs.map +0 -1
  156. package/dist/impl-7KOXTJKC.cjs +0 -2
  157. package/dist/impl-7KOXTJKC.cjs.map +0 -1
  158. package/dist/impl-BESS7RG2.cjs +0 -2
  159. package/dist/impl-BESS7RG2.cjs.map +0 -1
  160. package/dist/impl-COCUOYKI.cjs +0 -2
  161. package/dist/impl-COCUOYKI.cjs.map +0 -1
  162. package/dist/impl-ELOMI7JW.cjs +0 -6
  163. package/dist/impl-ELOMI7JW.cjs.map +0 -1
  164. package/dist/impl-EUJEQGOT.cjs +0 -2
  165. package/dist/impl-EUJEQGOT.cjs.map +0 -1
  166. package/dist/impl-F3OOKCK6.cjs +0 -2
  167. package/dist/impl-F3OOKCK6.cjs.map +0 -1
  168. package/dist/impl-GH42XS6I.cjs +0 -2
  169. package/dist/impl-GH42XS6I.cjs.map +0 -1
  170. package/dist/impl-GSD2LS72.cjs +0 -2
  171. package/dist/impl-GSD2LS72.cjs.map +0 -1
  172. package/dist/impl-IIP3SXEB.cjs +0 -6
  173. package/dist/impl-IIP3SXEB.cjs.map +0 -1
  174. package/dist/impl-JD4LU2UP.cjs +0 -4
  175. package/dist/impl-JD4LU2UP.cjs.map +0 -1
  176. package/dist/impl-JH4KIP5U.cjs +0 -7
  177. package/dist/impl-JVXU24DF.cjs +0 -2
  178. package/dist/impl-JVXU24DF.cjs.map +0 -1
  179. package/dist/impl-KO4JL735.cjs +0 -2
  180. package/dist/impl-KO4JL735.cjs.map +0 -1
  181. package/dist/impl-L464FWQF.cjs +0 -2
  182. package/dist/impl-L464FWQF.cjs.map +0 -1
  183. package/dist/impl-LH2NCUFY.cjs +0 -2
  184. package/dist/impl-LH2NCUFY.cjs.map +0 -1
  185. package/dist/impl-LTL4WYPE.cjs +0 -2
  186. package/dist/impl-LTL4WYPE.cjs.map +0 -1
  187. package/dist/impl-MHML3KTM.cjs +0 -2
  188. package/dist/impl-MHML3KTM.cjs.map +0 -1
  189. package/dist/impl-NKUI2BXG.cjs +0 -2
  190. package/dist/impl-NKUI2BXG.cjs.map +0 -1
  191. package/dist/impl-NXTGH73U.cjs +0 -2
  192. package/dist/impl-NXTGH73U.cjs.map +0 -1
  193. package/dist/impl-OAPUUSOI.cjs +0 -2
  194. package/dist/impl-OAPUUSOI.cjs.map +0 -1
  195. package/dist/impl-OCJDYVIR.cjs +0 -2
  196. package/dist/impl-OCJDYVIR.cjs.map +0 -1
  197. package/dist/impl-PDWZ4O5W.cjs +0 -2
  198. package/dist/impl-PDWZ4O5W.cjs.map +0 -1
  199. package/dist/impl-Q2MH6BDT.cjs +0 -2
  200. package/dist/impl-Q2MH6BDT.cjs.map +0 -1
  201. package/dist/impl-QV42ZSX6.cjs +0 -6
  202. package/dist/impl-QV42ZSX6.cjs.map +0 -1
  203. package/dist/impl-TEQOCEBB.cjs +0 -2
  204. package/dist/impl-TEQOCEBB.cjs.map +0 -1
  205. package/dist/impl-TXQ4XVDC.cjs +0 -12
  206. package/dist/impl-TXQ4XVDC.cjs.map +0 -1
  207. package/dist/impl-U744VBLW.cjs +0 -2
  208. package/dist/impl-U744VBLW.cjs.map +0 -1
  209. package/dist/impl-VEGPS7VZ.cjs +0 -2
  210. package/dist/impl-VEGPS7VZ.cjs.map +0 -1
  211. package/dist/impl-XBEBGY37.cjs +0 -2
  212. package/dist/impl-XBEBGY37.cjs.map +0 -1
  213. package/dist/impl-Y3YSZDVF.cjs +0 -2
  214. package/dist/impl-Y3YSZDVF.cjs.map +0 -1
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
 
@@ -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**
680
1878
 
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 |
1879
+ ```sh
1880
+ transcend consent update-consent-manager --auth="$TRANSCEND_API_KEY" --deploy
1881
+ ```
690
1882
 
691
- ### `transcend consent update-consent-manager`
1883
+ **Update just the TEST bundle**
692
1884
 
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
1885
+ ```sh
1886
+ transcend consent update-consent-manager --auth="$TRANSCEND_API_KEY" --bundleTypes=TEST
1887
+ ```
697
1888
 
698
- This command allows for updating Consent Manager to latest version. The Consent Manager bundle can also be deployed using this command.
1889
+ **Update just the PRODUCTION bundle**
699
1890
 
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
1891
+ ```sh
1892
+ transcend consent update-consent-manager --auth="$TRANSCEND_API_KEY" --bundleTypes=PRODUCTION
1893
+ ```
1894
+
1895
+ **Update multiple organizations at once**
1896
+
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,22 +2110,40 @@ 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`
@@ -908,132 +2216,140 @@ The API key permissions for this command vary based on the `resources` argument:
908
2216
  | assessmentTemplates | Assessment template configurations. | View Assessments | [Assessment -> Templates](https://app.transcend.io/assessments/form-templates) |
909
2217
  | 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
2218
 
911
- #### Usage
2219
+ #### Examples
2220
+
2221
+ **Write out file to ./transcend.yml**
912
2222
 
913
2223
  ```sh
914
- # Writes out file to ./transcend.yml
915
- transcend inventory pull --auth=$TRANSCEND_API_KEY
2224
+ transcend inventory pull --auth="$TRANSCEND_API_KEY"
916
2225
  ```
917
2226
 
918
- An alternative file destination can be specified:
2227
+ **Write out file to custom location**
919
2228
 
920
2229
  ```sh
921
- # Writes out file to ./custom/location.yml
922
- transcend inventory pull --auth=$TRANSCEND_API_KEY --file=./custom/location.yml
2230
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --file=./custom/location.yml
923
2231
  ```
924
2232
 
925
- Or a specific data silo(s) can be pulled in:
2233
+ **Pull specific data silo by ID**
926
2234
 
927
2235
  ```sh
928
- transcend inventory pull --auth=$TRANSCEND_API_KEY ---dataSiloIds=710fec3c-7bcc-4c9e-baff-bf39f9bec43e
2236
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --dataSiloIds=710fec3c-7bcc-4c9e-baff-bf39f9bec43e
929
2237
  ```
930
2238
 
931
- Or a specific types of data silo(s) can be pulled in:
2239
+ **Pull specific types of data silos**
932
2240
 
933
2241
  ```sh
934
- transcend inventory pull --auth=$TRANSCEND_API_KEY --integrationNames=salesforce,snowflake
2242
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --integrationNames=salesforce,snowflake
935
2243
  ```
936
2244
 
937
- Specifying the resource types to pull in (the following resources are the default resources):
2245
+ **Pull specific resource types**
938
2246
 
939
2247
  ```sh
940
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=apiKeys,templates,dataSilos,enrichers
2248
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=apiKeys,templates,dataSilos,enrichers
941
2249
  ```
942
2250
 
943
- Pull in data flow and cookie resources, filtering for specific tracker statuses (see [this example](./examples/data-flows-cookies.yml)):
2251
+ **Pull data flows and cookies with specific tracker statuses (see [this example](./examples/data-flows-cookies.yml))**
944
2252
 
945
2253
  ```sh
946
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataFlows,cookies --trackerStatuses=NEEDS_REVIEW,LIVE
2254
+ transcend inventory pull \
2255
+ --auth="$TRANSCEND_API_KEY" \
2256
+ --resources=dataFlows,cookies \
2257
+ --trackerStatuses=NEEDS_REVIEW,LIVE
947
2258
  ```
948
2259
 
949
- Pull in data silos without any datapoint/table information
2260
+ **Pull data silos without datapoint information**
950
2261
 
951
2262
  ```sh
952
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --skipDatapoints=true
2263
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=dataSilos --skipDatapoints
953
2264
  ```
954
2265
 
955
- Pull in data silos and datapoints without any subdatapoint/column information
2266
+ **Pull data silos without subdatapoint information**
956
2267
 
957
2268
  ```sh
958
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --skipSubDatapoints=true
2269
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=dataSilos --skipSubDatapoints
959
2270
  ```
960
2271
 
961
- Pull in data silos and datapoints with guessed data categories instead of just approved data categories
2272
+ **Pull data silos with guessed categories**
962
2273
 
963
2274
  ```sh
964
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --includeGuessedCategories=true
2275
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=dataSilos --includeGuessedCategories
965
2276
  ```
966
2277
 
967
- Pull in attribute definitions only (see [this example](./examples/attributes.yml)):
2278
+ **Pull custom field definitions only (see [this example](./examples/attributes.yml))**
968
2279
 
969
2280
  ```sh
970
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=attributes
2281
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=customFields
971
2282
  ```
972
2283
 
973
- Pull in business entities only (see [this example](./examples/business-entities.yml)):
2284
+ **Pull business entities only (see [this example](./examples/business-entities.yml))**
974
2285
 
975
2286
  ```sh
976
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=businessEntities
2287
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=businessEntities
977
2288
  ```
978
2289
 
979
- Pull in enrichers and identifiers (see [this example](./examples/enrichers.yml)):
2290
+ **Pull enrichers and identifiers (see [this example](./examples/enrichers.yml))**
980
2291
 
981
2292
  ```sh
982
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=enrichers,identifiers
2293
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=enrichers,identifiers
983
2294
  ```
984
2295
 
985
- Pull in onboarding action items (see [this example](./examples/action-items.yml)):
2296
+ **Pull onboarding action items (see [this example](./examples/action-items.yml))**
986
2297
 
987
2298
  ```sh
988
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=actionItems,actionItemCollections
2299
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=actionItems,actionItemCollections
989
2300
  ```
990
2301
 
991
- Pull in consent manager domain list (see [this example](./examples/consent-manager-domains.yml)):
2302
+ **Pull consent manager domain list (see [this example](./examples/consent-manager-domains.yml))**
992
2303
 
993
2304
  ```sh
994
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=consentManager
2305
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=consentManager
995
2306
  ```
996
2307
 
997
- Pull in identifier configurations (see [this example](./examples/identifiers.yml)):
2308
+ **Pull identifier configurations (see [this example](./examples/identifiers.yml))**
998
2309
 
999
2310
  ```sh
1000
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=identifiers
2311
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=identifiers
1001
2312
  ```
1002
2313
 
1003
- Pull in request actions configurations (see [this example](./examples/actions.yml)):
2314
+ **Pull request actions configurations (see [this example](./examples/actions.yml))**
1004
2315
 
1005
2316
  ```sh
1006
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=actions
2317
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=actions
1007
2318
  ```
1008
2319
 
1009
- Pull in consent manager purposes and preference management topics (see [this example](./examples/purposes.yml)):
2320
+ **Pull consent manager purposes and preference management topics (see [this example](./examples/purposes.yml))**
1010
2321
 
1011
2322
  ```sh
1012
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=purposes
2323
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=purposes
1013
2324
  ```
1014
2325
 
1015
- Pull in data subject configurations (see [this example](./examples/data-subjects.yml)):
2326
+ **Pull data subject configurations (see [this example](./examples/data-subjects.yml))**
1016
2327
 
1017
2328
  ```sh
1018
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSubjects
2329
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=dataSubjects
1019
2330
  ```
1020
2331
 
1021
- Pull in assessments and assessment templates.
2332
+ **Pull assessments and assessment templates**
1022
2333
 
1023
2334
  ```sh
1024
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=assessments,assessmentTemplates
2335
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=assessments,assessmentTemplates
1025
2336
  ```
1026
2337
 
1027
- Pull everything:
2338
+ **Pull everything**
1028
2339
 
1029
2340
  ```sh
1030
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=all
2341
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=all
1031
2342
  ```
1032
2343
 
1033
- Pull in configuration files across multiple instances
2344
+ **Pull configuration files across multiple instances**
1034
2345
 
1035
2346
  ```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
2347
+ transcend admin generate-api-keys \
2348
+ --email=test@transcend.io \
2349
+ --password="$TRANSCEND_PASSWORD" \
2350
+ --scopes="View Consent Manager" \
2351
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
2352
+ --file=./transcend-api-keys.json
1037
2353
  transcend inventory pull --auth=./transcend-api-keys.json --resources=consentManager --file=./transcend/
1038
2354
  ```
1039
2355
 
@@ -1064,51 +2380,81 @@ FLAGS
1064
2380
 
1065
2381
  The scopes for `transcend inventory push` are the same as the scopes for [`transcend inventory pull`](#transcend-inventory-pull).
1066
2382
 
1067
- #### Usage
2383
+ #### Examples
2384
+
2385
+ **Looks for file at ./transcend.yml**
2386
+
2387
+ ```sh
2388
+ transcend inventory push --auth="$TRANSCEND_API_KEY"
2389
+ ```
2390
+
2391
+ **Looks for file at custom location ./custom/location.yml**
1068
2392
 
1069
2393
  ```sh
1070
- # Looks for file at ./transcend.yml
1071
- transcend inventory push --auth=$TRANSCEND_API_KEY
2394
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --file=./custom/location.yml
1072
2395
  ```
1073
2396
 
1074
- An alternative file destination can be specified:
2397
+ **Apply service classifier to all data flows**
1075
2398
 
1076
2399
  ```sh
1077
- # Looks for file at custom location ./custom/location.yml
1078
- transcend inventory push --auth=$TRANSCEND_API_KEY --file=./custom/location.yml
2400
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --classifyService
1079
2401
  ```
1080
2402
 
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).
2403
+ **Push up attributes, deleting any attributes that are not specified in the transcend.yml file**
1082
2404
 
1083
2405
  ```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
2406
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --deleteExtraAttributeValues
2407
+ ```
2408
+
2409
+ **Use dynamic variables to fill out parameters in YAML files (see [./examples/multi-instance.yml](./examples/multi-instance.yml))**
2410
+
2411
+ ```sh
2412
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --variables=domain:acme.com,stage:staging
2413
+ ```
2414
+
2415
+ **Push a single .yml file configuration into multiple Transcend instances**
2416
+
2417
+ This uses the output of [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys).
2418
+
2419
+ ```sh
2420
+ transcend admin generate-api-keys \
2421
+ --email=test@transcend.io \
2422
+ --password="$TRANSCEND_PASSWORD" \
2423
+ --scopes="View Email Templates,View Data Map" \
2424
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
2425
+ --file=./transcend-api-keys.json
2426
+ transcend inventory pull --auth="$TRANSCEND_API_KEY"
1087
2427
  transcend inventory push --auth=./transcend-api-keys.json
1088
2428
  ```
1089
2429
 
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).
2430
+ **Push multiple .yml file configurations into multiple Transcend instances**
2431
+
2432
+ This uses the output of [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys).
1091
2433
 
1092
2434
  ```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
2435
+ transcend admin generate-api-keys \
2436
+ --email=test@transcend.io \
2437
+ --password="$TRANSCEND_PASSWORD" \
2438
+ --scopes="View Email Templates,View Data Map" \
2439
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
2440
+ --file=./transcend-api-keys.json
1095
2441
  transcend inventory pull --auth=./transcend-api-keys.json --file=./transcend/
1096
2442
  # <edit .yml files in folder in between these steps>
1097
2443
  transcend inventory push --auth=./transcend-api-keys.json --file=./transcend/
1098
2444
  ```
1099
2445
 
1100
- Apply service classifier to all data flows.
2446
+ **Apply service classifier to all data flows**
1101
2447
 
1102
2448
  ```sh
1103
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataFlows
1104
- transcend inventory push --auth=$TRANSCEND_API_KEY --resources=dataFlows --classifyService=true
2449
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=dataFlows
2450
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --classifyService
1105
2451
  ```
1106
2452
 
1107
- Push up attributes, deleting any attributes that are not specified in the transcend.yml file
2453
+ **Push up attributes, deleting any attributes that are not specified in the transcend.yml file**
1108
2454
 
1109
2455
  ```sh
1110
- transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=attributes
1111
- transcend inventory push --auth=$TRANSCEND_API_KEY --resources=attributes --deleteExtraAttributeValues=true
2456
+ transcend inventory pull --auth="$TRANSCEND_API_KEY" --resources=customFields
2457
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --deleteExtraAttributeValues
1112
2458
  ```
1113
2459
 
1114
2460
  Some things to note about this sync process:
@@ -1167,10 +2513,6 @@ If you are using this CLI to sync your Data Map between multiple Transcend insta
1167
2513
 
1168
2514
  The `transcend inventory push` command takes in a parameter `variables`. This is a CSV of `key:value` pairs.
1169
2515
 
1170
- ```sh
1171
- transcend inventory push --auth=$TRANSCEND_API_KEY --variables=domain:acme.com,stage:staging
1172
- ```
1173
-
1174
2516
  This command could fill out multiple parameters in a YAML file like [./examples/multi-instance.yml](./examples/multi-instance.yml), copied below:
1175
2517
 
1176
2518
  ```yml
@@ -1237,6 +2579,32 @@ FLAGS
1237
2579
  -h --help Print help information and exit
1238
2580
  ```
1239
2581
 
2582
+ #### Examples
2583
+
2584
+ **Scan the current directory**
2585
+
2586
+ ```sh
2587
+ transcend inventory scan-packages --auth="$TRANSCEND_API_KEY"
2588
+ ```
2589
+
2590
+ **Scan a specific directory**
2591
+
2592
+ ```sh
2593
+ transcend inventory scan-packages --auth="$TRANSCEND_API_KEY" --scanPath=./examples/
2594
+ ```
2595
+
2596
+ **Ignore certain folders**
2597
+
2598
+ ```sh
2599
+ transcend inventory scan-packages --auth="$TRANSCEND_API_KEY" --ignoreDirs=./test,./build
2600
+ ```
2601
+
2602
+ **Specify the name of the repository**
2603
+
2604
+ ```sh
2605
+ transcend inventory scan-packages --auth="$TRANSCEND_API_KEY" --repositoryName=transcend-io/test
2606
+ ```
2607
+
1240
2608
  ### `transcend inventory discover-silos`
1241
2609
 
1242
2610
  ```txt
@@ -1258,21 +2626,29 @@ FLAGS
1258
2626
  -h --help Print help information and exit
1259
2627
  ```
1260
2628
 
1261
- #### Usage
2629
+ #### Examples
1262
2630
 
1263
- Scan a JavaScript package.json:
2631
+ **Scan a JavaScript package.json**
1264
2632
 
1265
2633
  ```sh
1266
- transcend inventory discover-silos --scanPath=./myJavascriptProject --auth=$TRANSCEND_API_KEY ---dataSiloId=445ee241-5f2a-477b-9948-2a3682a43d0e
2634
+ transcend inventory discover-silos \
2635
+ --scanPath=./myJavascriptProject \
2636
+ --auth="$TRANSCEND_API_KEY" \
2637
+ --dataSiloId=445ee241-5f2a-477b-9948-2a3682a43d0e
1267
2638
  ```
1268
2639
 
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:
2640
+ **Scan multiple file types (Podfile, Gradle, etc.) in examples directory**
1270
2641
 
1271
2642
  ```sh
1272
- transcend inventory discover-silos --scanPath=./examples/ --auth=$TRANSCEND_API_KEY ---dataSiloId=b6776589-0b7d-466f-8aad-4378ffd3a321
2643
+ transcend inventory discover-silos \
2644
+ --scanPath=./examples/ \
2645
+ --auth="$TRANSCEND_API_KEY" \
2646
+ --dataSiloId=b6776589-0b7d-466f-8aad-4378ffd3a321
1273
2647
  ```
1274
2648
 
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.
2649
+ 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.
2650
+
2651
+ 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
2652
 
1277
2653
  ### `transcend inventory pull-datapoints`
1278
2654
 
@@ -1295,6 +2671,68 @@ FLAGS
1295
2671
  -h --help Print help information and exit
1296
2672
  ```
1297
2673
 
2674
+ #### Examples
2675
+
2676
+ **All arguments**
2677
+
2678
+ ```sh
2679
+ transcend inventory pull-datapoints \
2680
+ --auth="$TRANSCEND_API_KEY" \
2681
+ --file=./datapoints.csv \
2682
+ --includeGuessedCategories \
2683
+ --parentCategories=CONTACT,ID,LOCATION \
2684
+ --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1 \
2685
+ --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
2686
+ ```
2687
+
2688
+ **Pull datapoints for specific data silos**
2689
+
2690
+ ```sh
2691
+ transcend inventory pull-datapoints \
2692
+ --auth="$TRANSCEND_API_KEY" \
2693
+ --file=./datapoints.csv \
2694
+ --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
2695
+ ```
2696
+
2697
+ **Include attributes in the output**
2698
+
2699
+ ```sh
2700
+ transcend inventory pull-datapoints --auth="$TRANSCEND_API_KEY" --file=./datapoints.csv --includeAttributes
2701
+ ```
2702
+
2703
+ **Include guessed categories in the output**
2704
+
2705
+ ```sh
2706
+ transcend inventory pull-datapoints --auth="$TRANSCEND_API_KEY" --file=./datapoints.csv --includeGuessedCategories
2707
+ ```
2708
+
2709
+ **Filter by parent categories**
2710
+
2711
+ ```sh
2712
+ transcend inventory pull-datapoints \
2713
+ --auth="$TRANSCEND_API_KEY" \
2714
+ --file=./datapoints.csv \
2715
+ --parentCategories=ID,LOCATION
2716
+ ```
2717
+
2718
+ **Filter by subcategories**
2719
+
2720
+ ```sh
2721
+ transcend inventory pull-datapoints \
2722
+ --auth="$TRANSCEND_API_KEY" \
2723
+ --file=./datapoints.csv \
2724
+ --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1
2725
+ ```
2726
+
2727
+ **Specify the backend URL, needed for US hosted backend infrastructure**
2728
+
2729
+ ```sh
2730
+ transcend inventory pull-datapoints \
2731
+ --auth="$TRANSCEND_API_KEY" \
2732
+ --file=./datapoints.csv \
2733
+ --transcendUrl=https://api.us.transcend.io
2734
+ ```
2735
+
1298
2736
  ### `transcend inventory pull-unstructured-discovery-files`
1299
2737
 
1300
2738
  ```txt
@@ -1315,6 +2753,59 @@ FLAGS
1315
2753
  -h --help Print help information and exit
1316
2754
  ```
1317
2755
 
2756
+ #### Examples
2757
+
2758
+ **All arguments**
2759
+
2760
+ ```sh
2761
+ transcend inventory pull-unstructured-discovery-files \
2762
+ --auth="$TRANSCEND_API_KEY" \
2763
+ --file=./unstructured-discovery-files.csv \
2764
+ --transcendUrl=https://api.us.transcend.io \
2765
+ --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429 \
2766
+ --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1 \
2767
+ --status=VALIDATED,MANUALLY_ADDED,CORRECTED \
2768
+ --includeEncryptedSnippets
2769
+ ```
2770
+
2771
+ **Specify the backend URL, needed for US hosted backend infrastructure**
2772
+
2773
+ ```sh
2774
+ transcend inventory pull-unstructured-discovery-files \
2775
+ --auth="$TRANSCEND_API_KEY" \
2776
+ --transcendUrl=https://api.us.transcend.io
2777
+ ```
2778
+
2779
+ **Pull entries for specific data silos**
2780
+
2781
+ ```sh
2782
+ transcend inventory pull-unstructured-discovery-files \
2783
+ --auth="$TRANSCEND_API_KEY" \
2784
+ --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
2785
+ ```
2786
+
2787
+ **Filter by data categories**
2788
+
2789
+ ```sh
2790
+ transcend inventory pull-unstructured-discovery-files \
2791
+ --auth="$TRANSCEND_API_KEY" \
2792
+ --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1
2793
+ ```
2794
+
2795
+ **Filter by classification status (exclude unconfirmed recommendations)**
2796
+
2797
+ ```sh
2798
+ transcend inventory pull-unstructured-discovery-files \
2799
+ --auth="$TRANSCEND_API_KEY" \
2800
+ --status=VALIDATED,MANUALLY_ADDED,CORRECTED
2801
+ ```
2802
+
2803
+ **Filter by classification status (include rejected recommendations)**
2804
+
2805
+ ```sh
2806
+ transcend inventory pull-unstructured-discovery-files --auth="$TRANSCEND_API_KEY" --status=REJECTED
2807
+ ```
2808
+
1318
2809
  ### `transcend inventory derive-data-silos-from-data-flows`
1319
2810
 
1320
2811
  ```txt
@@ -1333,6 +2824,37 @@ FLAGS
1333
2824
  -h --help Print help information and exit
1334
2825
  ```
1335
2826
 
2827
+ #### Examples
2828
+
2829
+ **Convert data flow configurations in folder to data silo configurations in folder**
2830
+
2831
+ ```sh
2832
+ transcend inventory derive-data-silos-from-data-flows \
2833
+ --auth="$TRANSCEND_API_KEY" \
2834
+ --dataFlowsYmlFolder=./working/data-flows/ \
2835
+ --dataSilosYmlFolder=./working/data-silos/
2836
+ ```
2837
+
2838
+ **Use with US backend**
2839
+
2840
+ ```sh
2841
+ transcend inventory derive-data-silos-from-data-flows \
2842
+ --auth="$TRANSCEND_API_KEY" \
2843
+ --dataFlowsYmlFolder=./working/data-flows/ \
2844
+ --dataSilosYmlFolder=./working/data-silos/ \
2845
+ --transcendUrl=https://api.us.transcend.io
2846
+ ```
2847
+
2848
+ **Skip a set of yml files**
2849
+
2850
+ ```sh
2851
+ transcend inventory derive-data-silos-from-data-flows \
2852
+ --auth="$TRANSCEND_API_KEY" \
2853
+ --dataFlowsYmlFolder=./working/data-flows/ \
2854
+ --dataSilosYmlFolder=./working/data-silos/ \
2855
+ --ignoreYmls=Skip.yml,Other.yml
2856
+ ```
2857
+
1336
2858
  ### `transcend inventory derive-data-silos-from-data-flows-cross-instance`
1337
2859
 
1338
2860
  ```txt
@@ -1351,6 +2873,43 @@ FLAGS
1351
2873
  -h --help Print help information and exit
1352
2874
  ```
1353
2875
 
2876
+ #### Examples
2877
+
2878
+ **Convert data flow configurations in folder to data silo configurations in file**
2879
+
2880
+ ```sh
2881
+ transcend inventory derive-data-silos-from-data-flows-cross-instance \
2882
+ --auth="$TRANSCEND_API_KEY" \
2883
+ --dataFlowsYmlFolder=./working/data-flows/
2884
+ ```
2885
+
2886
+ **Use with US backend**
2887
+
2888
+ ```sh
2889
+ transcend inventory derive-data-silos-from-data-flows-cross-instance \
2890
+ --auth="$TRANSCEND_API_KEY" \
2891
+ --dataFlowsYmlFolder=./working/data-flows/ \
2892
+ --transcendUrl=https://api.us.transcend.io
2893
+ ```
2894
+
2895
+ **Skip a set of yml files**
2896
+
2897
+ ```sh
2898
+ transcend inventory derive-data-silos-from-data-flows-cross-instance \
2899
+ --auth="$TRANSCEND_API_KEY" \
2900
+ --dataFlowsYmlFolder=./working/data-flows/ \
2901
+ --ignoreYmls=Skip.yml,Other.yml
2902
+ ```
2903
+
2904
+ **Convert data flow configurations in folder to data silo configurations in file**
2905
+
2906
+ ```sh
2907
+ transcend inventory derive-data-silos-from-data-flows-cross-instance \
2908
+ --auth="$TRANSCEND_API_KEY" \
2909
+ --dataFlowsYmlFolder=./working/data-flows/ \
2910
+ --output=./output.yml
2911
+ ```
2912
+
1354
2913
  ### `transcend inventory consent-manager-service-json-to-yml`
1355
2914
 
1356
2915
  ```txt
@@ -1360,11 +2919,16 @@ USAGE
1360
2919
 
1361
2920
  Import the services from an airgap.js file into a Transcend instance.
1362
2921
 
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`
2922
+ 1. Run `await airgap.getMetadata()` on a site with airgap
2923
+ 2. Right click on the printed object, and click `Copy object`
2924
+ 3. Place output of file in a file named `services.json`
2925
+ 4. Run:
2926
+
2927
+ transcend inventory consent-manager-service-json-to-yml --file=./services.json --output=./transcend.yml
2928
+
2929
+ 5. Run:
2930
+
2931
+ transcend inventory push --auth="$TRANSCEND_API_KEY" --file=./transcend.yml --classifyService
1368
2932
 
1369
2933
  FLAGS
1370
2934
  [--file] Path to the services.json file, output of await airgap.getMetadata() [default = ./services.json]
@@ -1372,6 +2936,20 @@ FLAGS
1372
2936
  -h --help Print help information and exit
1373
2937
  ```
1374
2938
 
2939
+ #### Examples
2940
+
2941
+ **Convert data flow configurations in folder to yml in ./transcend.yml**
2942
+
2943
+ ```sh
2944
+ transcend inventory consent-manager-service-json-to-yml
2945
+ ```
2946
+
2947
+ **With file locations**
2948
+
2949
+ ```sh
2950
+ transcend inventory consent-manager-service-json-to-yml --file=./folder/services.json --output=./folder/transcend.yml
2951
+ ```
2952
+
1375
2953
  ### `transcend inventory consent-managers-to-business-entities`
1376
2954
 
1377
2955
  ```txt
@@ -1387,11 +2965,27 @@ FLAGS
1387
2965
  -h --help Print help information and exit
1388
2966
  ```
1389
2967
 
2968
+ #### Examples
2969
+
2970
+ **Combine files in folder to file ./combined-business-entities.yml**
2971
+
2972
+ ```sh
2973
+ transcend inventory consent-managers-to-business-entities --consentManagerYmlFolder=./working/consent-managers/
2974
+ ```
2975
+
2976
+ **Specify custom output file**
2977
+
2978
+ ```sh
2979
+ transcend inventory consent-managers-to-business-entities \
2980
+ --consentManagerYmlFolder=./working/consent-managers/ \
2981
+ --output=./custom.yml
2982
+ ```
2983
+
1390
2984
  ### `transcend admin generate-api-keys`
1391
2985
 
1392
2986
  ```txt
1393
2987
  USAGE
1394
- transcend admin generate-api-keys (--email value) (--password value) (--apiKeyTitle value) (--file value) (--scopes value)... [--deleteExistingApiKey] [--createNewApiKey] [--parentOrganizationId value] [--transcendUrl value]
2988
+ 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|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|Approve 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) [--deleteExistingApiKey] [--createNewApiKey] [--parentOrganizationId value] [--transcendUrl value]
1395
2989
  transcend admin generate-api-keys --help
1396
2990
 
1397
2991
  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 +2999,7 @@ FLAGS
1405
2999
  --password The password for your account login
1406
3000
  --apiKeyTitle The title of the API key being generated or destroyed
1407
3001
  --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 = ,]
3002
+ --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|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|Approve 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, separator = ,]
1409
3003
  [--deleteExistingApiKey/--noDeleteExistingApiKey] When true, if an API key exists with the specified apiKeyTitle, the existing API key is deleted [default = true]
1410
3004
  [--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
3005
  [--parentOrganizationId] Filter for only a specific organization by ID, returning all child accounts associated with that organization
@@ -1413,54 +3007,80 @@ FLAGS
1413
3007
  -h --help Print help information and exit
1414
3008
  ```
1415
3009
 
1416
- #### Usage
3010
+ #### Examples
3011
+
3012
+ **Generate API keys for cross-instance usage**
1417
3013
 
1418
3014
  ```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
3015
+ transcend admin generate-api-keys \
3016
+ --email=test@transcend.io \
3017
+ --password="$TRANSCEND_PASSWORD" \
3018
+ --scopes="View Email Templates,View Data Map" \
3019
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
3020
+ --file=./working/auth.json
1421
3021
  ```
1422
3022
 
1423
- Specifying the backend URL, needed for US hosted backend infrastructure.
3023
+ **Specifying the backend URL, needed for US hosted backend infrastructure**
1424
3024
 
1425
3025
  ```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
3026
+ transcend admin generate-api-keys \
3027
+ --email=test@transcend.io \
3028
+ --password="$TRANSCEND_PASSWORD" \
3029
+ --scopes="View Email Templates,View Data Map" \
3030
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
3031
+ --file=./working/auth.json \
3032
+ --transcendUrl=https://api.us.transcend.io
1429
3033
  ```
1430
3034
 
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).
3035
+ **Filter for only a specific organization by ID, returning all child accounts associated with that organization**
1432
3036
 
1433
- ```gql
1434
- query {
1435
- user {
1436
- organization {
1437
- id
1438
- parentOrganizationId
1439
- }
1440
- }
1441
- }
3037
+ ```sh
3038
+ transcend admin generate-api-keys \
3039
+ --email=test@transcend.io \
3040
+ --password="$TRANSCEND_PASSWORD" \
3041
+ --scopes="View Email Templates,View Data Map" \
3042
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
3043
+ --file=./working/auth.json \
3044
+ --parentOrganizationId=7098bb38-070d-4f26-8fa4-1b61b9cdef77
1442
3045
  ```
1443
3046
 
3047
+ **Delete all API keys with a certain title**
3048
+
1444
3049
  ```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
3050
+ transcend admin generate-api-keys \
3051
+ --email=test@transcend.io \
3052
+ --password="$TRANSCEND_PASSWORD" \
3053
+ --scopes="View Email Templates,View Data Map" \
3054
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
3055
+ --file=./working/auth.json \
3056
+ --createNewApiKey=false
1448
3057
  ```
1449
3058
 
1450
- Delete all API keys with a certain title.
3059
+ **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
3060
 
1452
3061
  ```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
3062
+ transcend admin generate-api-keys \
3063
+ --email=test@transcend.io \
3064
+ --password="$TRANSCEND_PASSWORD" \
3065
+ --scopes="View Email Templates,View Data Map" \
3066
+ --apiKeyTitle="CLI Usage Cross Instance Sync" \
3067
+ --file=./working/auth.json \
3068
+ --deleteExistingApiKey=false
1456
3069
  ```
1457
3070
 
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.
3071
+ **Find your organization ID**
1459
3072
 
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
3073
+ 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.
3074
+
3075
+ ```gql
3076
+ query {
3077
+ user {
3078
+ organization {
3079
+ id
3080
+ parentOrganizationId
3081
+ }
3082
+ }
3083
+ }
1464
3084
  ```
1465
3085
 
1466
3086
  ### `transcend migration sync-ot`
@@ -1492,6 +3112,44 @@ FLAGS
1492
3112
  -h --help Print help information and exit
1493
3113
  ```
1494
3114
 
3115
+ #### Authentication
3116
+
3117
+ In order to use this command, you will need to generate a OneTrust OAuth Token with scope for accessing the following endpoints:
3118
+
3119
+ - [GET /v2/assessments](https://developer.onetrust.com/onetrust/reference/getallassessmentbasicdetailsusingget)
3120
+ - [GET /v2/assessments/{assessmentId}/export](https://developer.onetrust.com/onetrust/reference/exportassessmentusingget)
3121
+ - [GET /risks/{riskId}](https://developer.onetrust.com/onetrust/reference/getriskusingget)
3122
+ - [GET /v2/Users/{userId}](https://developer.onetrust.com/onetrust/reference/getuserusingget)
3123
+
3124
+ 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.
3125
+
3126
+ #### Examples
3127
+
3128
+ **Syncs all assessments from the OneTrust instance to Transcend**
3129
+
3130
+ ```sh
3131
+ transcend migration sync-ot \
3132
+ --hostname=trial.onetrust.com \
3133
+ --oneTrustAuth="$ONE_TRUST_OAUTH_TOKEN" \
3134
+ --transcendAuth="$TRANSCEND_API_KEY"
3135
+ ```
3136
+
3137
+ **Set dryRun to true and sync the resource to disk (writes out file to ./oneTrustAssessments.json)**
3138
+
3139
+ ```sh
3140
+ transcend migration sync-ot \
3141
+ --hostname=trial.onetrust.com \
3142
+ --oneTrustAuth="$ONE_TRUST_OAUTH_TOKEN" \
3143
+ --dryRun \
3144
+ --file=./oneTrustAssessments.json
3145
+ ```
3146
+
3147
+ **Sync to Transcend by reading from file instead of OneTrust**
3148
+
3149
+ ```sh
3150
+ transcend migration sync-ot --source=file --file=./oneTrustAssessments.json --transcendAuth="$TRANSCEND_API_KEY"
3151
+ ```
3152
+
1495
3153
  <!-- COMMANDS_END -->
1496
3154
 
1497
3155
  ## Prompt Manager