@transcend-io/cli 7.0.0-alpha.5 → 7.0.0-alpha.7

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 (75) hide show
  1. package/README.md +534 -2880
  2. package/dist/bin/bash-complete.js +1 -1
  3. package/dist/bin/cli.js +1 -1
  4. package/dist/bin/deprecated-command.js +2 -2
  5. package/dist/{chunk-ILAP7QZC.js → chunk-4HZHZ32O.js} +1 -1
  6. package/dist/chunk-5TDUSKDZ.js +1 -0
  7. package/dist/{chunk-6RCR5ICJ.js → chunk-AYMLP7SL.js} +1 -1
  8. package/dist/chunk-DLIWRRVR.js +89 -0
  9. package/dist/{chunk-WTUT47OZ.js → chunk-F5KKB33H.js} +1 -1
  10. package/dist/chunk-IQZKONXI.js +8 -0
  11. package/dist/{chunk-CS6MRI6K.js → chunk-LE6MXFBT.js} +145 -145
  12. package/dist/{chunk-VQCJGKAI.js → chunk-MLF3XCRS.js} +1 -1
  13. package/dist/{chunk-PGK2CKUL.js → chunk-NYDK4VPA.js} +1 -1
  14. package/dist/{chunk-ENFEJNL6.js → chunk-PNOEWENG.js} +1 -1
  15. package/dist/{chunk-IKR6UVU4.js → chunk-QAPBYN24.js} +1 -1
  16. package/dist/{chunk-ZU3IU5OT.js → chunk-QXOUJ7DT.js} +1 -1
  17. package/dist/chunk-RBOBI6B6.js +5 -0
  18. package/dist/{chunk-XIARI2AK.js → chunk-T4AGEIE3.js} +1 -1
  19. package/dist/{impl-EFPJLZZR.js → impl-22YTZZ5H.js} +1 -1
  20. package/dist/{impl-HTUHEZIA.js → impl-46IFTUCW.js} +1 -1
  21. package/dist/impl-4WQTM3GN.js +1 -0
  22. package/dist/{impl-KQWYFNW6.js → impl-52S3Z4ZE.js} +1 -1
  23. package/dist/{impl-Q6KORRPH.js → impl-6J4LHKU5.js} +1 -1
  24. package/dist/{impl-U7CNU3TK.js → impl-75FHAT4R.js} +1 -1
  25. package/dist/{impl-H7IPYWZN.js → impl-7C43442T.js} +1 -1
  26. package/dist/{impl-QTDYR7UU.js → impl-7W6EBZXZ.js} +1 -1
  27. package/dist/impl-CLLZCY76.js +1 -0
  28. package/dist/{impl-XRSPZZNB.js → impl-GSXYV2XR.js} +1 -1
  29. package/dist/impl-ICGIPWVJ.js +1 -0
  30. package/dist/{impl-WOGVE6TG.js → impl-IDWP2NIG.js} +1 -1
  31. package/dist/{impl-ARGVBVLO.js → impl-ISWFGOUS.js} +1 -1
  32. package/dist/{impl-SNMVE4PF.js → impl-JRA6GN3V.js} +1 -1
  33. package/dist/{impl-DTTZJZP6.js → impl-K2ZB3AKB.js} +1 -1
  34. package/dist/{impl-MDSL64U2.js → impl-KQ2R65SG.js} +1 -1
  35. package/dist/{impl-J2IFOOJA.js → impl-LNLKIPIP.js} +1 -1
  36. package/dist/{impl-2YCE2D74.js → impl-MFDS7DPF.js} +1 -1
  37. package/dist/{impl-7XM7ZTU2.js → impl-NVBTQCSL.js} +1 -1
  38. package/dist/impl-PS2DUGWP.js +5 -0
  39. package/dist/{impl-VMJNP54F.js → impl-Q65ZCWEQ.js} +1 -1
  40. package/dist/impl-QR3ARAMQ.js +1 -0
  41. package/dist/{impl-3XRYCJFT.js → impl-QTDGR3SU.js} +1 -1
  42. package/dist/{impl-57NMZUTX.js → impl-QYJFDBIV.js} +1 -1
  43. package/dist/impl-TLUPGHWG.js +1 -0
  44. package/dist/impl-ULVQLOA5.js +1 -0
  45. package/dist/{impl-2JGCSM5O.js → impl-URMADXQA.js} +1 -1
  46. package/dist/impl-UV5ERXN5.js +1 -0
  47. package/dist/{impl-XWLNP7GV.js → impl-UYCGE2TQ.js} +1 -1
  48. package/dist/impl-VT26YO3N.js +1 -0
  49. package/dist/{impl-S5DCAN3C.js → impl-W454HAAT.js} +1 -1
  50. package/dist/impl-YBSUR2MT.js +1 -0
  51. package/dist/{impl-YGOTUBUV.js → impl-YJ2FK37I.js} +1 -1
  52. package/dist/impl-YT7F6KTN.js +1 -0
  53. package/dist/{impl-3PQTSYDH.js → impl-ZBWVSFDE.js} +1 -1
  54. package/dist/impl-ZEEUCWKF.js +1 -0
  55. package/dist/impl-ZXDLJ2TY.js +8 -0
  56. package/dist/index.js +2 -2
  57. package/package.json +3 -1
  58. package/dist/chunk-4AH7KIGL.js +0 -5
  59. package/dist/chunk-KV3K4JMM.js +0 -1
  60. package/dist/chunk-QYTCLNZ7.js +0 -48
  61. package/dist/chunk-TAH6ELB3.js +0 -3
  62. package/dist/impl-6ODC2EKH.js +0 -1
  63. package/dist/impl-7CNLLLYG.js +0 -1
  64. package/dist/impl-AUECLWIQ.js +0 -1
  65. package/dist/impl-FETIWTDE.js +0 -1
  66. package/dist/impl-GHND2SIW.js +0 -1
  67. package/dist/impl-GUPQO6QP.js +0 -1
  68. package/dist/impl-JG2FKNHG.js +0 -5
  69. package/dist/impl-M3H7IS5R.js +0 -1
  70. package/dist/impl-MX7XDUTI.js +0 -1
  71. package/dist/impl-SK7Y2LHH.js +0 -8
  72. package/dist/impl-TB3T5L3R.js +0 -1
  73. package/dist/impl-V2TQGX3T.js +0 -1
  74. package/dist/impl-W2HOHRDF.js +0 -1
  75. /package/dist/{impl-AQRJP63X.js → impl-NYB4YSNU.js} +0 -0
package/README.md CHANGED
@@ -1,168 +1,57 @@
1
1
  <!-- START doctoc generated TOC please keep comment here to allow auto update -->
2
2
  <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3
3
 
4
- ## Table of Contents
5
-
6
4
  - [Changelog](#changelog)
7
5
  - [Overview](#overview)
8
6
  - [Installation](#installation)
9
7
  - [transcend.yml](#transcendyml)
10
8
  - [Usage](#usage)
11
- - [tr-pull](#tr-pull)
12
- - [Authentication](#authentication)
13
- - [Arguments](#arguments)
9
+ - [`transcend request approve`](#transcend-request-approve)
10
+ - [`transcend request upload`](#transcend-request-upload)
11
+ - [`transcend request download-files`](#transcend-request-download-files)
12
+ - [`transcend request cancel`](#transcend-request-cancel)
13
+ - [`transcend request restart`](#transcend-request-restart)
14
+ - [`transcend request notify-additional-time`](#transcend-request-notify-additional-time)
15
+ - [`transcend request mark-silent`](#transcend-request-mark-silent)
16
+ - [`transcend request enricher-restart`](#transcend-request-enricher-restart)
17
+ - [`transcend request reject-unverified-identifiers`](#transcend-request-reject-unverified-identifiers)
18
+ - [`transcend request export`](#transcend-request-export)
19
+ - [`transcend request skip-preflight-jobs`](#transcend-request-skip-preflight-jobs)
20
+ - [`transcend request system mark-request-data-silos-completed`](#transcend-request-system-mark-request-data-silos-completed)
21
+ - [`transcend request system retry-request-data-silos`](#transcend-request-system-retry-request-data-silos)
22
+ - [`transcend request system skip-request-data-silos`](#transcend-request-system-skip-request-data-silos)
23
+ - [`transcend request preflight pull-identifiers`](#transcend-request-preflight-pull-identifiers)
24
+ - [`transcend request preflight push-identifiers`](#transcend-request-preflight-push-identifiers)
25
+ - [`transcend request cron pull-identifiers`](#transcend-request-cron-pull-identifiers)
26
+ - [`transcend request cron mark-identifiers-completed`](#transcend-request-cron-mark-identifiers-completed)
27
+ - [`transcend consent build-xdi-sync-endpoint`](#transcend-consent-build-xdi-sync-endpoint)
28
+ - [`transcend consent pull-consent-metrics`](#transcend-consent-pull-consent-metrics)
29
+ - [`transcend consent pull-consent-preferences`](#transcend-consent-pull-consent-preferences)
30
+ - [`transcend consent update-consent-manager`](#transcend-consent-update-consent-manager)
31
+ - [`transcend consent upload-consent-preferences`](#transcend-consent-upload-consent-preferences)
32
+ - [`transcend consent upload-cookies-from-csv`](#transcend-consent-upload-cookies-from-csv)
33
+ - [`transcend consent upload-data-flows-from-csv`](#transcend-consent-upload-data-flows-from-csv)
34
+ - [`transcend consent upload-preferences`](#transcend-consent-upload-preferences)
35
+ - [`transcend consent consent-manager-service-json-to-yml`](#transcend-consent-consent-manager-service-json-to-yml)
36
+ - [`transcend consent consent-managers-to-business-entities`](#transcend-consent-consent-managers-to-business-entities)
37
+ - [`transcend inventory pull`](#transcend-inventory-pull)
38
+ - [Scopes](#scopes)
14
39
  - [Usage](#usage-1)
15
- - [tr-sync-ot](#tr-sync-ot)
16
- - [Authentication](#authentication-1)
17
- - [Arguments](#arguments-1)
40
+ - [`transcend inventory push`](#transcend-inventory-push)
41
+ - [Scopes](#scopes-1)
18
42
  - [Usage](#usage-2)
19
- - [tr-push](#tr-push)
20
- - [Authentication](#authentication-2)
21
- - [Arguments](#arguments-2)
22
- - [Usage](#usage-3)
23
43
  - [CI Integration](#ci-integration)
24
44
  - [Dynamic Variables](#dynamic-variables)
25
- - [tr-scan-packages](#tr-scan-packages)
26
- - [Authentication](#authentication-3)
27
- - [Arguments](#arguments-3)
45
+ - [`transcend inventory scan-packages`](#transcend-inventory-scan-packages)
46
+ - [`transcend inventory discover-silos`](#transcend-inventory-discover-silos)
47
+ - [Usage](#usage-3)
48
+ - [`transcend inventory pull-datapoints`](#transcend-inventory-pull-datapoints)
49
+ - [`transcend inventory pull-unstructured-discovery-files`](#transcend-inventory-pull-unstructured-discovery-files)
50
+ - [`transcend inventory derive-data-silos-from-data-flows`](#transcend-inventory-derive-data-silos-from-data-flows)
51
+ - [`transcend inventory derive-data-silos-from-data-flows-cross-instance`](#transcend-inventory-derive-data-silos-from-data-flows-cross-instance)
52
+ - [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys)
28
53
  - [Usage](#usage-4)
29
- - [tr-discover-silos](#tr-discover-silos)
30
- - [Authentication](#authentication-4)
31
- - [Arguments](#arguments-4)
32
- - [Usage](#usage-5)
33
- - [tr-request-approve](#tr-request-approve)
34
- - [Authentication](#authentication-5)
35
- - [Arguments](#arguments-5)
36
- - [Usage](#usage-6)
37
- - [tr-request-download-files](#tr-request-download-files)
38
- - [Authentication](#authentication-6)
39
- - [Arguments](#arguments-6)
40
- - [Usage](#usage-7)
41
- - [tr-request-cancel](#tr-request-cancel)
42
- - [Authentication](#authentication-7)
43
- - [Arguments](#arguments-7)
44
- - [Usage](#usage-8)
45
- - [tr-request-notify-additional-time](#tr-request-notify-additional-time)
46
- - [Authentication](#authentication-8)
47
- - [Arguments](#arguments-8)
48
- - [Usage](#usage-9)
49
- - [tr-request-mark-silent](#tr-request-mark-silent)
50
- - [Authentication](#authentication-9)
51
- - [Arguments](#arguments-9)
52
- - [Usage](#usage-10)
53
- - [tr-request-upload](#tr-request-upload)
54
- - [Authentication](#authentication-10)
55
- - [Arguments](#arguments-10)
56
- - [Usage](#usage-11)
57
- - [tr-request-restart](#tr-request-restart)
58
- - [Authentication](#authentication-11)
59
- - [Arguments](#arguments-11)
60
- - [Usage](#usage-12)
61
- - [tr-request-enricher-restart](#tr-request-enricher-restart)
62
- - [Authentication](#authentication-12)
63
- - [Arguments](#arguments-12)
64
- - [Usage](#usage-13)
65
- - [tr-request-reject-unverified-identifiers](#tr-request-reject-unverified-identifiers)
66
- - [Authentication](#authentication-13)
67
- - [Arguments](#arguments-13)
68
- - [Usage](#usage-14)
69
- - [tr-request-export](#tr-request-export)
70
- - [Authentication](#authentication-14)
71
- - [Arguments](#arguments-14)
72
- - [Usage](#usage-15)
73
- - [tr-cron-pull-identifiers](#tr-cron-pull-identifiers)
74
- - [Authentication](#authentication-15)
75
- - [Arguments](#arguments-15)
76
- - [Usage](#usage-16)
77
- - [tr-cron-mark-identifiers-completed](#tr-cron-mark-identifiers-completed)
78
- - [Authentication](#authentication-16)
79
- - [Arguments](#arguments-16)
80
- - [Usage](#usage-17)
81
- - [tr-manual-enrichment-pull-identifiers](#tr-manual-enrichment-pull-identifiers)
82
- - [Authentication](#authentication-17)
83
- - [Arguments](#arguments-17)
84
- - [Usage](#usage-18)
85
- - [tr-manual-enrichment-push-identifiers](#tr-manual-enrichment-push-identifiers)
86
- - [Authentication](#authentication-18)
87
- - [Arguments](#arguments-18)
88
- - [Usage](#usage-19)
89
- - [tr-mark-request-data-silos-completed](#tr-mark-request-data-silos-completed)
90
- - [Authentication](#authentication-19)
91
- - [Arguments](#arguments-19)
92
- - [Usage](#usage-20)
93
- - [tr-skip-request-data-silos](#tr-skip-request-data-silos)
94
- - [Authentication](#authentication-20)
95
- - [Arguments](#arguments-20)
96
- - [Usage](#usage-21)
97
- - [tr-skip-preflight-jobs](#tr-skip-preflight-jobs)
98
- - [Authentication](#authentication-21)
99
- - [Arguments](#arguments-21)
100
- - [Usage](#usage-22)
101
- - [tr-retry-request-data-silos](#tr-retry-request-data-silos)
102
- - [Authentication](#authentication-22)
103
- - [Arguments](#arguments-22)
104
- - [Usage](#usage-23)
105
- - [tr-update-consent-manager](#tr-update-consent-manager)
106
- - [Authentication](#authentication-23)
107
- - [Arguments](#arguments-23)
108
- - [Usage](#usage-24)
109
- - [tr-consent-managers-to-business-entities](#tr-consent-managers-to-business-entities)
110
- - [Authentication](#authentication-24)
111
- - [Arguments](#arguments-24)
112
- - [Usage](#usage-25)
113
- - [tr-consent-manager-service-json-to-yml](#tr-consent-manager-service-json-to-yml)
114
- - [Authentication](#authentication-25)
115
- - [Arguments](#arguments-25)
116
- - [Usage](#usage-26)
117
- - [tr-derive-data-silos-from-data-flows](#tr-derive-data-silos-from-data-flows)
118
- - [Authentication](#authentication-26)
119
- - [Arguments](#arguments-26)
120
- - [Usage](#usage-27)
121
- - [tr-derive-data-silos-from-data-flows-cross-instance](#tr-derive-data-silos-from-data-flows-cross-instance)
122
- - [Authentication](#authentication-27)
123
- - [Arguments](#arguments-27)
124
- - [Usage](#usage-28)
125
- - [tr-pull-consent-metrics](#tr-pull-consent-metrics)
126
- - [Authentication](#authentication-28)
127
- - [Arguments](#arguments-28)
128
- - [Usage](#usage-29)
129
- - [tr-pull-datapoints](#tr-pull-datapoints)
130
- - [Authentication](#authentication-29)
131
- - [Arguments](#arguments-29)
132
- - [Usage](#usage-30)
133
- - [tr-pull-pull-unstructured-discovery-files](#tr-pull-pull-unstructured-discovery-files)
134
- - [Authentication](#authentication-30)
135
- - [Arguments](#arguments-30)
136
- - [Usage](#usage-31)
137
- - [tr-upload-preferences](#tr-upload-preferences)
138
- - [Authentication](#authentication-31)
139
- - [Authentication](#authentication-32)
140
- - [Arguments](#arguments-31)
141
- - [Usage](#usage-32)
142
- - [tr-upload-consent-preferences](#tr-upload-consent-preferences)
143
- - [Authentication](#authentication-33)
144
- - [Arguments](#arguments-32)
145
- - [Usage](#usage-33)
146
- - [tr-pull-consent-preferences](#tr-pull-consent-preferences)
147
- - [Authentication](#authentication-34)
148
- - [Arguments](#arguments-33)
149
- - [Usage](#usage-34)
150
- - [tr-upload-data-flows-from-csv](#tr-upload-data-flows-from-csv)
151
- - [Authentication](#authentication-35)
152
- - [Arguments](#arguments-34)
153
- - [Usage](#usage-35)
154
- - [tr-upload-cookies-from-csv](#tr-upload-cookies-from-csv)
155
- - [Authentication](#authentication-36)
156
- - [Arguments](#arguments-35)
157
- - [Usage](#usage-36)
158
- - [tr-generate-api-keys](#tr-generate-api-keys)
159
- - [Authentication](#authentication-37)
160
- - [Arguments](#arguments-36)
161
- - [Usage](#usage-37)
162
- - [tr-build-xdi-sync-endpoint](#tr-build-xdi-sync-endpoint)
163
- - [Authentication](#authentication-38)
164
- - [Arguments](#arguments-37)
165
- - [Usage](#usage-38)
54
+ - [`transcend migration sync-ot`](#transcend-migration-sync-ot)
166
55
  - [Prompt Manager](#prompt-manager)
167
56
  - [Proxy usage](#proxy-usage)
168
57
 
@@ -170,112 +59,30 @@
170
59
 
171
60
  ## Changelog
172
61
 
173
- To stay up to date on breaking changes to the cli between major version updates, please refer to [CHANGELOG.md](CHANGELOG.md).
62
+ To stay up to date on breaking changes to the CLI between major version updates, please refer to [CHANGELOG.md](CHANGELOG.md).
174
63
 
175
64
  ## Overview
176
65
 
177
- A command line interface that allows you to define your Data Map in code and sync that configuration back to https://app.transcend.io.
66
+ A command line interface that allows you to programatically interact with the Transcend.
178
67
 
179
68
  ## Installation
180
69
 
181
- This package is distributed through npm and github package registries and assumes an installation of [npm and node](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).
182
-
183
- If your codebase is typescript or javascript based, you can add this package as a dev dependency:
70
+ This package is distributed through npm, and assumes an installation of [npm and Node](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).
184
71
 
185
72
  ```sh
186
- # install locally with yarn
187
- yarn add -D @transcend-io/cli
188
-
189
- # cli commands available within package
190
- yarn tr-pull --auth=$TRANSCEND_API_KEY
191
- yarn tr-sync-ot --auth=$ONE_TRUST_OAUTH_TOKEN --hostname=$ONE_TRUST_HOSTNAME --file=$ONE_TRUST_OUTPUT_FILE
192
- yarn tr-push --auth=$TRANSCEND_API_KEY
193
- yarn tr-scan-packages --auth=$TRANSCEND_API_KEY
194
- yarn tr-discover-silos --auth=$TRANSCEND_API_KEY
195
- yarn tr-request-approve --auth=$TRANSCEND_API_KEY
196
- yarn tr-request-cancel --auth=$TRANSCEND_API_KEY
197
- yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY
198
- yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY
199
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY
200
- yarn tr-request-export --auth=$TRANSCEND_API_KEY
201
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY
202
- yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY
203
- yarn tr-request-reject-unverified-identifiers --auth-$TRANSCEND_API_KEY
204
- yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY
205
- yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY
206
- yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY
207
- yarn tr-mark-request-data-silos-completed --auth=$TRANSCEND_API_KEY
208
- yarn tr-skip-request-data-silos --auth=$TRANSCEND_API_KEY
209
- yarn tr-retry-request-data-silos --auth=$TRANSCEND_API_KEY
210
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY
211
- yarn tr-consent-managers-to-business-entities
212
- yarn tr-consent-manager-service-json-to-yml
213
- yarn tr-derive-data-silos-from-data-flows --auth=$TRANSCEND_API_KEY
214
- yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY
215
- yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY
216
- yarn tr-upload-consent-preferences --auth=$TRANSCEND_API_KEY
217
- yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY
218
- yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY
219
- yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY
220
- yarn tr-generate-api-keys --auth=$TRANSCEND_API_KEY
221
- yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY
222
- ```
223
-
224
- or
73
+ npm install --global @transcend-io/cli
74
+ transcend --help
75
+ ```
225
76
 
226
- ```sh
227
- # install locally with npm
228
- npm i -D @transcend-io/cli
229
-
230
- # cli commands available within package
231
- tr-pull --auth=$TRANSCEND_API_KEY
232
- tr-sync-ot --auth=$ONE_TRUST_OAUTH_TOKEN --hostname=$ONE_TRUST_HOSTNAME --file=$ONE_TRUST_OUTPUT_FILE
233
- tr-push --auth=$TRANSCEND_API_KEY
234
- tr-scan-packages --auth=$TRANSCEND_API_KEY
235
- tr-discover-silos --auth=$TRANSCEND_API_KEY
236
- tr-request-approve --auth=$TRANSCEND_API_KEY
237
- tr-request-cancel --auth=$TRANSCEND_API_KEY
238
- tr-request-mark-silent --auth=$TRANSCEND_API_KEY
239
- tr-request-mark-silent --auth=$TRANSCEND_API_KEY
240
- tr-request-upload --auth=$TRANSCEND_API_KEY
241
- tr-request-export --auth=$TRANSCEND_API_KEY
242
- tr-request-restart --auth=$TRANSCEND_API_KEY
243
- tr-request-enricher-restart --auth=$TRANSCEND_API_KEY
244
- tr-request-reject-unverified-identifiers --auth=$TRANSCEND_API_KEY
245
- tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY
246
- tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY
247
- tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY
248
- tr-mark-request-data-silos-completed --auth=$TRANSCEND_API_KEY
249
- tr-skip-request-data-silos --auth=$TRANSCEND_API_KEY
250
- tr-retry-request-data-silos --auth=$TRANSCEND_API_KEY
251
- tr-update-consent-manager --auth=$TRANSCEND_API_KEY
252
- tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY
253
- tr-upload-consent-preferences --auth=$TRANSCEND_API_KEY
254
- tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY
255
- tr-consent-managers-to-business-entities
256
- tr-consent-manager-service-json-to-yml
257
- tr-derive-data-silos-from-data-flows --auth=$TRANSCEND_API_KEY
258
- tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY
259
- tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY
260
- tr-generate-api-keys --auth=$TRANSCEND_API_KEY
261
- tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY
262
-
263
- ```
264
-
265
- alternatively, you can install the cli globally on your machine:
77
+ You can also run the CLI using npx:
266
78
 
267
79
  ```sh
268
- # install locally with npm
269
- npm i -g @transcend-io/cli
270
-
271
- # cli commands available everywhere on machine
272
- tr-pull --auth=$TRANSCEND_API_KEY
273
- ...
80
+ npx @transcend-io/cli -- transcend --help
274
81
  ```
275
82
 
276
83
  Note
277
84
 
278
- _The cli-commands default to using the EU Transcend backend. To use these commands with the US backend, you will need to use the flag --transcendUrl=https://api.us.transcend.io. You can also set the environment variable `TRANSCEND_API_URL=https://api.us.transcend.io`_
85
+ _The CLI commands which interact with Transcend's API will default to using Transcend's EU backend. To use these commands with the US backend, you will need to add the flag --transcendUrl=https://api.us.transcend.io. You can also set the environment variable `TRANSCEND_API_URL=https://api.us.transcend.io`_
279
86
 
280
87
  ## transcend.yml
281
88
 
@@ -379,9 +186,10 @@ data-silos:
379
186
  ## Usage
380
187
 
381
188
  <!-- COMMANDS_START -->
382
- ## transcend request approve
383
189
 
384
- ```bash
190
+ ### `transcend request approve`
191
+
192
+ ```txt
385
193
  USAGE
386
194
  transcend request approve (--auth value) (--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD) [--origins PRIVACY_CENTER|ADMIN_DASHBOARD|API|SHOPIFY] [--silentModeBefore value] [--createdAtBefore value] [--createdAtAfter value] [--transcendUrl value] [--concurrency value]
387
195
  transcend request approve --help
@@ -399,17 +207,19 @@ FLAGS
399
207
  [--concurrency] The concurrency to use when uploading requests in parallel [default = 50]
400
208
  -h --help Print help information and exit
401
209
  ```
402
- ## transcend request upload
403
210
 
404
- ```bash
211
+ ### `transcend request upload`
212
+
213
+ ```txt
405
214
  USAGE
406
215
  transcend request upload (--auth value) [--file value] [--transcendUrl value] [--cacheFilepath value] [--requestReceiptFolder value] [--sombraAuth value] [--concurrency value] [--attributes value] [--isTest] [--isSilent] [--skipSendingReceipt] [--emailIsVerified] [--skipFilterStep] [--dryRun] [--debug] [--defaultPhoneCountryCode value]
407
216
  transcend request upload --help
408
217
 
409
- If you need to upload a set of requests from a CSV, you can run this command.
410
- This command uses inquirer to prompt the user to map the shape of the CSV to the shape of the Transcend API. There is no requirement for the shape of the incoming CSV, as the script will handle the mapping process.
218
+ Upload a set of requests from a CSV.
219
+
220
+ This command prompts you to map the shape of the CSV to the shape of the Transcend API. There is no requirement for the shape of the incoming CSV, as the script will handle the mapping process.
411
221
 
412
- The script will also produce a JSON cache file, that allows for the mappings to be preserved between runs.
222
+ The script will also produce a JSON cache file that allows for the mappings to be preserved between runs.
413
223
 
414
224
  FLAGS
415
225
  --auth The Transcend API key. Requires scopes: "Submit New Data Subject Request", "View Identity Verification Settings", "View Global Attributes"
@@ -430,9 +240,10 @@ FLAGS
430
240
  [--defaultPhoneCountryCode] When uploading phone numbers, if the phone number is missing a country code, assume this country code [default = 1]
431
241
  -h --help Print help information and exit
432
242
  ```
433
- ## transcend request download-files
434
243
 
435
- ```bash
244
+ ### `transcend request download-files`
245
+
246
+ ```txt
436
247
  USAGE
437
248
  transcend request download-files (--auth value) [--sombraAuth value] [--concurrency value] [--requestIds value]... [--statuses REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED] [--folderPath value] [--createdAtBefore value] [--createdAtAfter value] [--approveAfterDownload] [--transcendUrl value]
438
249
  transcend request download-files --help
@@ -452,9 +263,10 @@ FLAGS
452
263
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
453
264
  -h --help Print help information and exit
454
265
  ```
455
- ## transcend request cancel
456
266
 
457
- ```bash
267
+ ### `transcend request cancel`
268
+
269
+ ```txt
458
270
  USAGE
459
271
  transcend request cancel (--auth value) (--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD) [--statuses REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED] [--requestIds value]... [--silentModeBefore value] [--createdAtBefore value] [--createdAtAfter value] [--cancellationTitle value] [--transcendUrl value] [--concurrency value]
460
272
  transcend request cancel --help
@@ -474,9 +286,10 @@ FLAGS
474
286
  [--concurrency] The concurrency to use when uploading requests in parallel [default = 50]
475
287
  -h --help Print help information and exit
476
288
  ```
477
- ## transcend request restart
478
289
 
479
- ```bash
290
+ ### `transcend request restart`
291
+
292
+ ```txt
480
293
  USAGE
481
294
  transcend request restart (--auth value) (--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD) (--statuses REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED) [--transcendUrl value] [--requestReceiptFolder value] [--sombraAuth value] [--concurrency value] [--requestIds value]... [--emailIsVerified] [--createdAt value] [--silentModeBefore value] [--createdAtBefore value] [--createdAtAfter value] [--sendEmailReceipt] [--copyIdentifiers] [--skipWaitingPeriod]
482
295
  transcend request restart --help
@@ -502,9 +315,10 @@ FLAGS
502
315
  [--skipWaitingPeriod] Skip queued state of request and go straight to compiling [default = false]
503
316
  -h --help Print help information and exit
504
317
  ```
505
- ## transcend request notify-additional-time
506
318
 
507
- ```bash
319
+ ### `transcend request notify-additional-time`
320
+
321
+ ```txt
508
322
  USAGE
509
323
  transcend request notify-additional-time (--auth value) (--createdAtBefore value) [--createdAtAfter value] [--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD] [--daysLeft value] [--days value] [--requestIds value]... [--emailTemplate value] [--transcendUrl value] [--concurrency value]
510
324
  transcend request notify-additional-time --help
@@ -524,9 +338,10 @@ FLAGS
524
338
  [--concurrency] The concurrency to use when uploading requests in parallel [default = 50]
525
339
  -h --help Print help information and exit
526
340
  ```
527
- ## transcend request mark-silent
528
341
 
529
- ```bash
342
+ ### `transcend request mark-silent`
343
+
344
+ ```txt
530
345
  USAGE
531
346
  transcend request mark-silent (--auth value) (--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD) [--statuses REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED] [--requestIds value]... [--createdAtBefore value] [--createdAtAfter value] [--transcendUrl value] [--concurrency value]
532
347
  transcend request mark-silent --help
@@ -544,9 +359,10 @@ FLAGS
544
359
  [--concurrency] The concurrency to use when uploading requests in parallel [default = 50]
545
360
  -h --help Print help information and exit
546
361
  ```
547
- ## transcend request enricher-restart
548
362
 
549
- ```bash
363
+ ### `transcend request enricher-restart`
364
+
365
+ ```txt
550
366
  USAGE
551
367
  transcend request enricher-restart (--auth value) (--enricherId value) [--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD] [--requestEnricherStatuses QUEUED|WAITING|SKIPPED|ERROR|RESOLVED|ACTION_REQUIRED|REMOTE_PROCESSING|WAITING_ON_DEPENDENCIES|POLLING] [--transcendUrl value] [--concurrency value] [--requestIds value]... [--createdAtBefore value] [--createdAtAfter value]
552
368
  transcend request enricher-restart --help
@@ -568,9 +384,10 @@ FLAGS
568
384
  [--createdAtAfter] Restart requests that were submitted after this time
569
385
  -h --help Print help information and exit
570
386
  ```
571
- ## transcend request reject-unverified-identifiers
572
387
 
573
- ```bash
388
+ ### `transcend request reject-unverified-identifiers`
389
+
390
+ ```txt
574
391
  USAGE
575
392
  transcend request reject-unverified-identifiers (--auth value) (--identifierNames value)... [--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD] [--transcendUrl value]
576
393
  transcend request reject-unverified-identifiers --help
@@ -584,9 +401,10 @@ FLAGS
584
401
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
585
402
  -h --help Print help information and exit
586
403
  ```
587
- ## transcend request export
588
404
 
589
- ```bash
405
+ ### `transcend request export`
406
+
407
+ ```txt
590
408
  USAGE
591
409
  transcend request export (--auth value) [--sombraAuth value] [--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD] [--statuses REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED] [--transcendUrl value] [--file value] [--concurrency value] [--createdAtBefore value] [--createdAtAfter value] [--showTests] [--pageLimit value]
592
410
  transcend request export --help
@@ -607,9 +425,10 @@ FLAGS
607
425
  [--pageLimit] The page limit to use when pulling in pages of requests [default = 100]
608
426
  -h --help Print help information and exit
609
427
  ```
610
- ## transcend request skip-preflight-jobs
611
428
 
612
- ```bash
429
+ ### `transcend request skip-preflight-jobs`
430
+
431
+ ```txt
613
432
  USAGE
614
433
  transcend request skip-preflight-jobs (--auth value) (--enricherIds value)... [--transcendUrl value]
615
434
  transcend request skip-preflight-jobs --help
@@ -622,9 +441,10 @@ FLAGS
622
441
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
623
442
  -h --help Print help information and exit
624
443
  ```
625
- ## transcend request system mark-request-data-silos-completed
626
444
 
627
- ```bash
445
+ ### `transcend request system mark-request-data-silos-completed`
446
+
447
+ ```txt
628
448
  USAGE
629
449
  transcend request system mark-request-data-silos-completed (--auth value) (--dataSiloId value) [--file value] [--transcendUrl value]
630
450
  transcend request system mark-request-data-silos-completed --help
@@ -635,13 +455,14 @@ This command is useful with the "Bulk Response" UI. The CSV is expected to have
635
455
  FLAGS
636
456
  --auth The Transcend API key. Requires scopes: "Manage Request Compilation"
637
457
  --dataSiloId The ID of the data silo to pull in
638
- [--file] Path to the CSV file where identifiers will be written to [default = ./request-identifiers.csv]
639
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
458
+ [--file] Path to the CSV file where identifiers will be written to. The CSV is expected to have 1 column named "Request Id". [default = ./request-identifiers.csv]
459
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
640
460
  -h --help Print help information and exit
641
461
  ```
642
- ## transcend request system retry-request-data-silos
643
462
 
644
- ```bash
463
+ ### `transcend request system retry-request-data-silos`
464
+
465
+ ```txt
645
466
  USAGE
646
467
  transcend request system retry-request-data-silos (--auth value) (--dataSiloId value) (--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD) [--transcendUrl value]
647
468
  transcend request system retry-request-data-silos --help
@@ -655,9 +476,10 @@ FLAGS
655
476
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
656
477
  -h --help Print help information and exit
657
478
  ```
658
- ## transcend request system skip-request-data-silos
659
479
 
660
- ```bash
480
+ ### `transcend request system skip-request-data-silos`
481
+
482
+ ```txt
661
483
  USAGE
662
484
  transcend request system skip-request-data-silos (--auth value) (--dataSiloId value) [--transcendUrl value] (--statuses REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED) [--status SKIPPED|RESOLVED]
663
485
  transcend request system skip-request-data-silos --help
@@ -672,9 +494,10 @@ FLAGS
672
494
  [--status] The status to set the request data silo job to [SKIPPED|RESOLVED, default = SKIPPED]
673
495
  -h --help Print help information and exit
674
496
  ```
675
- ## transcend request preflight pull-identifiers
676
497
 
677
- ```bash
498
+ ### `transcend request preflight pull-identifiers`
499
+
500
+ ```txt
678
501
  USAGE
679
502
  transcend request preflight pull-identifiers (--auth value) [--sombraAuth value] [--transcendUrl value] [--file value] [--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD] [--concurrency value]
680
503
  transcend request preflight pull-identifiers --help
@@ -698,9 +521,10 @@ FLAGS
698
521
  [--concurrency] The concurrency to use when uploading requests in parallel [default = 100]
699
522
  -h --help Print help information and exit
700
523
  ```
701
- ## transcend request preflight push-identifiers
702
524
 
703
- ```bash
525
+ ### `transcend request preflight push-identifiers`
526
+
527
+ ```txt
704
528
  USAGE
705
529
  transcend request preflight push-identifiers (--auth value) (--enricherId value) [--sombraAuth value] [--transcendUrl value] [--file value] [--markSilent] [--concurrency value]
706
530
  transcend request preflight push-identifiers --help
@@ -725,9 +549,10 @@ FLAGS
725
549
  [--concurrency] The concurrency to use when uploading requests in parallel [default = 100]
726
550
  -h --help Print help information and exit
727
551
  ```
728
- ## transcend request cron pull-identifiers
729
552
 
730
- ```bash
553
+ ### `transcend request cron pull-identifiers`
554
+
555
+ ```txt
731
556
  USAGE
732
557
  transcend request cron pull-identifiers (--auth value) (--dataSiloId value) (--actions AUTOMATED_DECISION_MAKING_OPT_OUT|USE_OF_SENSITIVE_INFORMATION_OPT_OUT|CONTACT_OPT_OUT|SALE_OPT_OUT|TRACKING_OPT_OUT|CUSTOM_OPT_OUT|AUTOMATED_DECISION_MAKING_OPT_IN|USE_OF_SENSITIVE_INFORMATION_OPT_IN|SALE_OPT_IN|TRACKING_OPT_IN|CONTACT_OPT_IN|CUSTOM_OPT_IN|ACCESS|ERASURE|RECTIFICATION|RESTRICTION|BUSINESS_PURPOSE|PLACE_ON_LEGAL_HOLD|REMOVE_FROM_LEGAL_HOLD) [--file value] [--transcendUrl value] [--sombraAuth value] [--pageLimit value] [--skipRequestCount] [--chunkSize value]
733
558
  transcend request cron pull-identifiers --help
@@ -750,9 +575,10 @@ FLAGS
750
575
  [--chunkSize] Maximum number of rows per CSV file. For large datasets, the output will be automatically split into multiple files to avoid file system size limits. Each file will contain at most this many rows [default = 100000]
751
576
  -h --help Print help information and exit
752
577
  ```
753
- ## transcend request cron mark-identifiers-completed
754
578
 
755
- ```bash
579
+ ### `transcend request cron mark-identifiers-completed`
580
+
581
+ ```txt
756
582
  USAGE
757
583
  transcend request cron mark-identifiers-completed (--auth value) (--dataSiloId value) [--file value] [--transcendUrl value] [--sombraAuth value]
758
584
  transcend request cron mark-identifiers-completed --help
@@ -776,9 +602,10 @@ FLAGS
776
602
  [--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
777
603
  -h --help Print help information and exit
778
604
  ```
779
- ## transcend consent build-xdi-sync-endpoint
780
605
 
781
- ```bash
606
+ ### `transcend consent build-xdi-sync-endpoint`
607
+
608
+ ```txt
782
609
  USAGE
783
610
  transcend consent build-xdi-sync-endpoint (--auth value) (--xdiLocation value) [--file value] [--removeIpAddresses] [--domainBlockList value] [--xdiAllowedCommands value] [--transcendUrl value]
784
611
  transcend consent build-xdi-sync-endpoint --help
@@ -795,15 +622,24 @@ FLAGS
795
622
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
796
623
  -h --help Print help information and exit
797
624
  ```
798
- ## transcend consent pull-consent-metrics
799
625
 
800
- ```bash
626
+ ### `transcend consent pull-consent-metrics`
627
+
628
+ ```txt
801
629
  USAGE
802
630
  transcend consent pull-consent-metrics (--auth value) (--start value) [--end value] [--folder value] [--bin value] [--transcendUrl value]
803
631
  transcend consent pull-consent-metrics --help
804
632
 
805
633
  This command allows for pulling consent manager metrics for a Transcend account, or a set of Transcend accounts.
806
634
 
635
+ By default, the consent metrics will be written to a folder named `consent-metrics` within the directory where you run the command. You can override the location that these CSVs are written to using the flag `--folder=./my-folder/`. This folder will contain a set of CSV files:
636
+
637
+ - `CONSENT_CHANGES_TIMESERIES_optIn.csv` -> this is a feed containing the number of explicit opt in events that happen - these are calls to `airgap.setConsent(event, { SaleOfInfo: true });`
638
+ - `CONSENT_CHANGES_TIMESERIES_optOut.csv` -> this is a feed containing the number of explicit opt out events that happen - these are calls to `airgap.setConsent(event, { SaleOfInfo: false });`
639
+ - `CONSENT_SESSIONS_BY_REGIME_Default.csv` -> this contains the number of sessions detected for the bin period
640
+ - `PRIVACY_SIGNAL_TIMESERIES_DNT.csv` -> the number of DNT signals detected.
641
+ - `PRIVACY_SIGNAL_TIMESERIES_GPC.csv` -> the number of GPC signals detected.
642
+
807
643
  FLAGS
808
644
  --auth The Transcend API key. Requires scopes: "View Consent Manager"
809
645
  --start The start date to pull metrics from
@@ -813,9 +649,10 @@ FLAGS
813
649
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
814
650
  -h --help Print help information and exit
815
651
  ```
816
- ## transcend consent pull-consent-preferences
817
652
 
818
- ```bash
653
+ ### `transcend consent pull-consent-preferences`
654
+
655
+ ```txt
819
656
  USAGE
820
657
  transcend consent pull-consent-preferences (--auth value) (--partition value) [--sombraAuth value] [--file value] [--transcendUrl value] [--timestampBefore value] [--timestampAfter value] [--identifiers value]... [--concurrency value]
821
658
  transcend consent pull-consent-preferences --help
@@ -834,14 +671,27 @@ FLAGS
834
671
  [--concurrency] The concurrency to use when downloading consents in parallel [default = 100]
835
672
  -h --help Print help information and exit
836
673
  ```
837
- ## transcend consent update-consent-manager
838
674
 
839
- ```bash
675
+ Each row in the CSV will include:
676
+
677
+ | Argument | Description | Type | Default | Required |
678
+ | -------------- | --------------------------------------------------------------------------------------------------------- | ------------------------- | ------- | -------- |
679
+ | userId | Unique ID identifying the user that the preferences ar efor | string | N/A | true |
680
+ | timestamp | Timestamp for when consent was collected for that user | string - timestamp | N/A | true |
681
+ | purposes | JSON map from consent purpose name -> boolean indicating whether user has opted in or out of that purpose | {[k in string]: boolean } | {} | true |
682
+ | airgapVersion | Version of airgap where consent was collected | string | N/A | false |
683
+ | [purpose name] | Each consent purpose from `purposes` is also included in a column | boolean | N/A | false |
684
+ | tcf | IAB TCF string | string - TCF | N/A | false |
685
+ | gpp | IAB GPP string | string - GPP | N/A | false |
686
+
687
+ ### `transcend consent update-consent-manager`
688
+
689
+ ```txt
840
690
  USAGE
841
691
  transcend consent update-consent-manager (--auth value) (--bundleTypes PRODUCTION|TEST) [--deploy] [--transcendUrl value]
842
692
  transcend consent update-consent-manager --help
843
693
 
844
- This command allows for updating Consent Manager to latest version. The consent manager bundle can also be deployed using this command.
694
+ This command allows for updating Consent Manager to latest version. The Consent Manager bundle can also be deployed using this command.
845
695
 
846
696
  FLAGS
847
697
  --auth The Transcend API key. Requires scopes: "Manage Consent Manager Developer Settings"
@@ -850,9 +700,10 @@ FLAGS
850
700
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
851
701
  -h --help Print help information and exit
852
702
  ```
853
- ## transcend consent upload-consent-preferences
854
703
 
855
- ```bash
704
+ ### `transcend consent upload-consent-preferences`
705
+
706
+ ```txt
856
707
  USAGE
857
708
  transcend consent upload-consent-preferences (--base64EncryptionKey value) (--base64SigningKey value) (--partition value) [--file value] [--consentUrl value] [--concurrency value]
858
709
  transcend consent upload-consent-preferences --help
@@ -868,14 +719,35 @@ FLAGS
868
719
  [--concurrency] The concurrency to use when uploading requests in parallel [default = 100]
869
720
  -h --help Print help information and exit
870
721
  ```
871
- ## transcend consent upload-cookies-from-csv
872
722
 
873
- ```bash
723
+ Each row in the CSV must include:
724
+
725
+ | Argument | Description | Type | Default | Required |
726
+ | --------- | --------------------------------------------------------------------------------------------------------- | ------------------------- | ------- | -------- |
727
+ | userId | Unique ID identifying the user that the preferences ar efor | string | N/A | true |
728
+ | timestamp | Timestamp for when consent was collected for that user | string - timestamp | N/A | true |
729
+ | purposes | JSON map from consent purpose name -> boolean indicating whether user has opted in or out of that purpose | {[k in string]: boolean } | {} | false |
730
+ | confirmed | Whether consent preferences have been explicitly confirmed or inferred | boolean | true | false |
731
+ | updated | Has the consent been updated (including no-change confirmation) since default resolution | boolean | N/A | false |
732
+ | prompted | Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js) | boolean | N/A | false |
733
+ | gpp | IAB GPP string | string - GPP | N/A | false |
734
+
735
+ An sample CSV can be found [here](./examples/preference-upload.csv).
736
+
737
+ ### `transcend consent upload-cookies-from-csv`
738
+
739
+ ```txt
874
740
  USAGE
875
741
  transcend consent upload-cookies-from-csv (--auth value) (--trackerStatus LIVE|NEEDS_REVIEW) [--file value] [--transcendUrl value]
876
742
  transcend consent upload-cookies-from-csv --help
877
743
 
878
- This command allows for uploading cookies from CSV.
744
+ Upload cookies from CSV. This command allows for uploading of cookies from CSV.
745
+
746
+ Step 1) Download the CSV of cookies that you want to edit from the Admin Dashboard under [Consent Management -> Cookies](https://app.transcend.io/consent-manager/cookies). You can download cookies from both the "Triage" and "Approved" tabs.
747
+
748
+ Step 2) You can edit the contents of the CSV file as needed. You may adjust the "Purpose" column, adjust the "Notes" column, add "Owners" and "Teams" or even add custom columns with additional metadata.
749
+
750
+ Step 3) Upload the modified CSV file back into the dashboard with this command.
879
751
 
880
752
  FLAGS
881
753
  --auth The Transcend API key. Requires scopes: "Manage Data Flows"
@@ -884,14 +756,21 @@ FLAGS
884
756
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
885
757
  -h --help Print help information and exit
886
758
  ```
887
- ## transcend consent upload-data-flows-from-csv
888
759
 
889
- ```bash
760
+ ### `transcend consent upload-data-flows-from-csv`
761
+
762
+ ```txt
890
763
  USAGE
891
764
  transcend consent upload-data-flows-from-csv (--auth value) (--trackerStatus LIVE|NEEDS_REVIEW) [--file value] [--classifyService] [--transcendUrl value]
892
765
  transcend consent upload-data-flows-from-csv --help
893
766
 
894
- This command allows for uploading of data flows from CSV.
767
+ Upload data flows from CSV. This command allows for uploading of data flows from CSV.
768
+
769
+ Step 1) Download the CSV of data flows that you want to edit 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.
770
+
771
+ Step 2) You can edit the contents of the CSV file as needed. You may adjust the "Purpose" column, adjust the "Notes" column, add "Owners" and "Teams" or even add custom columns with additional metadata.
772
+
773
+ Step 3) Upload the modified CSV file back into the dashboard with this command.
895
774
 
896
775
  FLAGS
897
776
  --auth The Transcend API key. Requires scopes: "Manage Data Flows"
@@ -901,14 +780,19 @@ FLAGS
901
780
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
902
781
  -h --help Print help information and exit
903
782
  ```
904
- ## transcend consent upload-preferences
905
783
 
906
- ```bash
784
+ ### `transcend consent upload-preferences`
785
+
786
+ ```txt
907
787
  USAGE
908
788
  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]
909
789
  transcend consent upload-preferences --help
910
790
 
911
- This command allows for updating of preference management data to your Transcend Preference Store.
791
+ Upload preference management data to your Preference Store.
792
+
793
+ This command prompts you to map the shape of the CSV to the shape of the Transcend API. There is no requirement for the shape of the incoming CSV, as the script will handle the mapping process.
794
+
795
+ The script will also produce a JSON cache file that allows for the mappings to be preserved between runs.
912
796
 
913
797
  FLAGS
914
798
  --auth The Transcend API key. Requires scopes: "Modify User Stored Preferences", "View Managed Consent Database Admin API", "View Preference Store Settings"
@@ -929,23 +813,51 @@ FLAGS
929
813
  [--concurrency] The concurrency to use when uploading in parallel [default = 10]
930
814
  -h --help Print help information and exit
931
815
  ```
932
- ## transcend consent consent-manager-service-json-to-yml
933
816
 
934
- ```bash
817
+ 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!
818
+
819
+ Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726`:
820
+
821
+ ```sh
822
+ transcend consent upload-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
823
+ ```
824
+
825
+ Upload consent preferences with additional options:
826
+
827
+ ```sh
828
+ 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
829
+ ```
830
+
831
+ Specifying the backend URL, needed for US hosted backend infrastructure:
832
+
833
+ ```sh
834
+ transcend consent upload-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --consentUrl=https://consent.us.transcend.io
835
+ ```
836
+
837
+ ### `transcend consent consent-manager-service-json-to-yml`
838
+
839
+ ```txt
935
840
  USAGE
936
841
  transcend consent consent-manager-service-json-to-yml [--file value] [--output value]
937
842
  transcend consent consent-manager-service-json-to-yml --help
938
843
 
939
844
  Import the services from an airgap.js file into a Transcend instance.
940
845
 
846
+ Step 1) Run `await airgap.getMetadata()` on a site with airgap
847
+ Step 2) Right click on the printed object, and click `Copy object`
848
+ Step 3) Place output of file in a file named `services.json`
849
+ Step 4) Run `transcend consent consent-manager-service-json-to-yml --file=./services.json --output=./transcend.yml`
850
+ Step 5) Run `transcend inventory push --auth=$TRANSCEND_API_KEY --file=./transcend.yml --classifyService=true`
851
+
941
852
  FLAGS
942
853
  [--file] Path to the services.json file, output of await airgap.getMetadata() [default = ./services.json]
943
854
  [--output] Path to the output transcend.yml to write to [default = ./transcend.yml]
944
855
  -h --help Print help information and exit
945
856
  ```
946
- ## transcend consent consent-managers-to-business-entities
947
857
 
948
- ```bash
858
+ ### `transcend consent consent-managers-to-business-entities`
859
+
860
+ ```txt
949
861
  USAGE
950
862
  transcend consent consent-managers-to-business-entities (--consentManagerYmlFolder value) [--output value]
951
863
  transcend consent consent-managers-to-business-entities --help
@@ -957,20 +869,26 @@ FLAGS
957
869
  [--output] Path to the output transcend.yml with business entity configuration [default = ./combined-business-entities.yml]
958
870
  -h --help Print help information and exit
959
871
  ```
960
- ## transcend inventory pull
961
872
 
962
- ```bash
873
+ ### `transcend inventory pull`
874
+
875
+ ```txt
963
876
  USAGE
964
- transcend inventory pull (--auth value) [--resources apiKeys|customFields|templates|dataSilos|enrichers|dataFlows|businessEntities|actions|dataSubjects|identifiers|cookies|consentManager|partitions|prompts|promptPartials|promptGroups|agents|agentFunctions|agentFiles|vendors|dataCategories|processingPurposes|actionItems|actionItemCollections|teams|privacyCenters|policies|messages|assessments|assessmentTemplates|purposes] [--file value] [--transcendUrl value] [--dataSiloIds value]... [--integrationNames value]... [--trackerStatuses LIVE|NEEDS_REVIEW] [--pageSize value] [--skipDatapoints] [--skipSubDatapoints] [--includeGuessedCategories] [--debug]
877
+ transcend inventory pull (--auth value) [--resources all|apiKeys|customFields|templates|dataSilos|enrichers|dataFlows|businessEntities|actions|dataSubjects|identifiers|cookies|consentManager|partitions|prompts|promptPartials|promptGroups|agents|agentFunctions|agentFiles|vendors|dataCategories|processingPurposes|actionItems|actionItemCollections|teams|privacyCenters|policies|messages|assessments|assessmentTemplates|purposes] [--file value] [--transcendUrl value] [--dataSiloIds value]... [--integrationNames value]... [--trackerStatuses LIVE|NEEDS_REVIEW] [--pageSize value] [--skipDatapoints] [--skipSubDatapoints] [--includeGuessedCategories] [--debug]
965
878
  transcend inventory pull --help
966
879
 
967
- Generate's a transcend.yml by pulling the configuration from your connected services view.
880
+ Generates a transcend.yml by pulling the configuration from your Transcend instance.
968
881
 
969
- The API key needs various scopes depending on the resources being pulled.
882
+ The API key needs various scopes depending on the resources being pulled (see the CLI's README for more details).
883
+
884
+ This command can be helpful if you are looking to:
885
+
886
+ - Copy your data into another instance
887
+ - Generate a transcend.yml file as a starting point to maintain parts of your data inventory in code.
970
888
 
971
889
  FLAGS
972
890
  --auth The Transcend API key. The scopes required will vary depending on the operation performed. If in doubt, the Full Admin scope will always work.
973
- [--resources] The different resource types to pull in. Defaults to dataSilos,enrichers,templates,apiKeys. [apiKeys|customFields|templates|dataSilos|enrichers|dataFlows|businessEntities|actions|dataSubjects|identifiers|cookies|consentManager|partitions|prompts|promptPartials|promptGroups|agents|agentFunctions|agentFiles|vendors|dataCategories|processingPurposes|actionItems|actionItemCollections|teams|privacyCenters|policies|messages|assessments|assessmentTemplates|purposes, separator = ,]
891
+ [--resources] The different resource types to pull in. Defaults to dataSilos,enrichers,templates,apiKeys. [all|apiKeys|customFields|templates|dataSilos|enrichers|dataFlows|businessEntities|actions|dataSubjects|identifiers|cookies|consentManager|partitions|prompts|promptPartials|promptGroups|agents|agentFunctions|agentFiles|vendors|dataCategories|processingPurposes|actionItems|actionItemCollections|teams|privacyCenters|policies|messages|assessments|assessmentTemplates|purposes, separator = ,]
974
892
  [--file] Path to the YAML file to pull into [default = ./transcend.yml]
975
893
  [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
976
894
  [--dataSiloIds]... The UUIDs of the data silos that should be pulled into the YAML file [separator = ,]
@@ -983,584 +901,262 @@ FLAGS
983
901
  [--debug] Set to true to include debug logs while pulling the configuration [default = false]
984
902
  -h --help Print help information and exit
985
903
  ```
986
- ## transcend inventory push
987
904
 
988
- ```bash
989
- USAGE
990
- transcend inventory push (--auth value) [--file value] [--transcendUrl value] [--pageSize value] [--variables value] [--publishToPrivacyCenter] [--classifyService] [--deleteExtraAttributeValues]
991
- transcend inventory push --help
905
+ #### Scopes
906
+
907
+ The API key permissions for this command vary based on the `resources` argument:
908
+
909
+ | Resource | Description | Scopes | Link |
910
+ | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
911
+ | apiKeys | API Key definitions assigned to Data Silos. API keys cannot be created through the CLI, but you can map API key usage to Data Silos. | View API Keys | [Developer Tools -> API keys](https://app.transcend.io/infrastructure/api-keys) |
912
+ | customFields | Custom field definitions that define extra metadata for each table in the Admin Dashboard. | View Global Attributes | [Custom Fields](https://app.transcend.io/infrastructure/attributes) |
913
+ | templates | Email templates. Only template titles can be created and mapped to other resources. | View Email Templates | [DSR Automation -> Email Templates](https://app.transcend.io/privacy-requests/email-templates) |
914
+ | dataSilos | The Data Silo/Integration definitions. | View Data Map, View Data Subject Request Settings | [Data Inventory -> Data Silos](https://app.transcend.io/data-map/data-inventory/) and [Infrastucture -> Integrations](https://app.transcend.io/infrastructure/integrationsdata-silos) |
915
+ | enrichers | The Privacy Request enricher configurations. | View Identity Verification Settings | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
916
+ | dataFlows | Consent Manager Data Flow definitions. | View Data Flows | [Consent Management -> Data Flows](https://app.transcend.io/consent-manager/data-flows/approved) |
917
+ | businessEntities | The business entities in the data inventory. | View Data Inventory | [Data Inventory -> Business Entities](https://app.transcend.io/data-map/data-inventory/business-entities) |
918
+ | actions | The Privacy Request action settings. | View Data Subject Request Settings | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
919
+ | dataSubjects | The Privacy Request data subject settings. | View Data Subject Request Settings | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
920
+ | identifiers | The Privacy Request identifier configurations. | View Identity Verification Settings | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
921
+ | cookies | Consent Manager Cookie definitions. | View Data Flows | [Consent Management -> Cookies](https://app.transcend.io/consent-manager/cookies/approved) |
922
+ | consentManager | Consent Manager general settings, including domain list. | View Consent Manager | [Consent Management -> Developer Settings](https://app.transcend.io/consent-manager/developer-settings) |
923
+ | partitions | The partitions in the account (often representative of separate data controllers). | View Consent Manager | [Consent Management -> Developer Settings -> Advanced Settings](https://app.transcend.io/consent-manager/developer-settings/advanced-settings) |
924
+ | prompts | The Transcend AI prompts | View Prompts | [Prompt Manager -> Browse](https://app.transcend.io/prompts/browse) |
925
+ | promptPartials | The Transcend AI prompt partials | View Prompts | [Prompt Manager -> Partials](https://app.transcend.io/prompts/partialss) |
926
+ | promptGroups | The Transcend AI prompt groups | View Prompts | [Prompt Manager -> Groups](https://app.transcend.io/prompts/groups) |
927
+ | agents | The agents in the prompt manager. | View Prompts | [Prompt Manager -> Agents](https://app.transcend.io/prompts/agents) |
928
+ | agentFunctions | The agent functions in the prompt manager. | View Prompts | [Prompt Manager -> Agent Functions](https://app.transcend.io/prompts/agent-functions) |
929
+ | agentFiles | The agent files in the prompt manager. | View Prompts | [Prompt Manager -> Agent Files](https://app.transcend.io/prompts/agent-files) |
930
+ | vendors | The vendors in the data inventory. | View Data Inventory | [Data Inventory -> Vendors](https://app.transcend.io/data-map/data-inventory/vendors) |
931
+ | dataCategories | The data categories in the data inventory. | View Data Inventory | [Data Inventory -> Data Categories](https://app.transcend.io/data-map/data-inventory/data-categories) |
932
+ | processingPurposes | The processing purposes in the data inventory. | View Data Inventory | [Data Inventory -> Processing Purposes](https://app.transcend.io/data-map/data-inventory/purposes) |
933
+ | actionItems | Onboarding related action items | View All Action Items | [Action Items](https://app.transcend.io/action-items/all) |
934
+ | actionItemCollections | Onboarding related action item group names | View All Action Items | [Action Items](https://app.transcend.io/action-items/all) |
935
+ | teams | Team definitions of users and scope groupings | View Scopes | [Administration -> Teams](https://app.transcend.io/admin/teams) |
936
+ | privacyCenters | The privacy center configurations. | View Privacy Center Layout | [Privacy Center](https://app.transcend.io/privacy-center/general-settings) |
937
+ | policies | The privacy center policies. | View Policies | [Privacy Center -> Policies](https://app.transcend.io/privacy-center/policies) |
938
+ | messages | Message definitions used across consent, privacy center, email templates and more. | View Internationalization Messages | [Privacy Center -> Messages](https://app.transcend.io/privacy-center/messages-internationalization), [Consent Management -> Display Settings -> Messages](https://app.transcend.io/consent-manager/display-settings/messages) |
939
+ | assessments | Assessment responses. | View Assessments | [Assessments -> Assessments](https://app.transcend.io/assessments/groups) |
940
+ | assessmentTemplates | Assessment template configurations. | View Assessments | [Assessment -> Templates](https://app.transcend.io/assessments/form-templates) |
941
+ | 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) |
992
942
 
993
- Given a transcend.yml file, sync the contents up to your connected services view.
943
+ #### Usage
994
944
 
995
- FLAGS
996
- --auth The Transcend API key. The scopes required will vary depending on the operation performed. If in doubt, the Full Admin scope will always work.
997
- [--file] Path to the YAML file to push from [default = ./transcend.yml]
998
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
999
- [--pageSize] The page size to use when paginating over the API [default = 50]
1000
- [--variables] The variables to template into the YAML file when pushing configuration. Comma-separated list of key:value pairs. [default = ""]
1001
- [--publishToPrivacyCenter] When true, publish the configuration to the Privacy Center [default = false]
1002
- [--classifyService] When true, automatically assign the service for a data flow based on the domain that is specified [default = false]
1003
- [--deleteExtraAttributeValues] When true and syncing attributes, delete any extra attributes instead of just upserting [default = false]
1004
- -h --help Print help information and exit
945
+ ```sh
946
+ # Writes out file to ./transcend.yml
947
+ transcend inventory pull --auth=$TRANSCEND_API_KEY
1005
948
  ```
1006
- ## transcend inventory scan-packages
1007
-
1008
- ```bash
1009
- USAGE
1010
- transcend inventory scan-packages (--auth value) [--scanPath value] [--ignoreDirs value]... [--repositoryName value] [--transcendUrl value]
1011
- transcend inventory scan-packages --help
1012
949
 
1013
- Transcend can scan your codebase to inventory your code packages and dependencies.
950
+ An alternative file destination can be specified:
1014
951
 
1015
- FLAGS
1016
- --auth The Transcend API key. Requires scopes: "Manage Code Scanning"
1017
- [--scanPath] File path in the project to scan [default = ./]
1018
- [--ignoreDirs]... List of directories to ignore in scan [separator = ,]
1019
- [--repositoryName] Name of the git repository that the package should be tied to
1020
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1021
- -h --help Print help information and exit
952
+ ```sh
953
+ # Writes out file to ./custom/location.yml
954
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --file=./custom/location.yml
1022
955
  ```
1023
- ## transcend inventory discover-silos
1024
-
1025
- ```bash
1026
- USAGE
1027
- transcend inventory discover-silos (--scanPath value) (--dataSiloId value) (--auth value) [--fileGlobs value] [--ignoreDirs value] [--transcendUrl value]
1028
- transcend inventory discover-silos --help
1029
956
 
1030
- Transcend can help scan dependency management files to help detect new data silos where you may be storing user personal data.
957
+ Or a specific data silo(s) can be pulled in:
1031
958
 
1032
- FLAGS
1033
- --scanPath File path in the project to scan
1034
- --dataSiloId The UUID of the corresponding data silo
1035
- --auth The Transcend API key. This key must be associated with the data silo(s) being operated on. Requires scopes: "Manage Assigned Data Inventory"
1036
- [--fileGlobs] You can pass a glob syntax pattern(s) to specify additional file paths to scan. Comma-separated list of globs. [default = ""]
1037
- [--ignoreDirs] Comma-separated list of directories to ignore. [default = ""]
1038
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1039
- -h --help Print help information and exit
959
+ ```sh
960
+ transcend inventory pull --auth=$TRANSCEND_API_KEY ---dataSiloIds=710fec3c-7bcc-4c9e-baff-bf39f9bec43e
1040
961
  ```
1041
- ## transcend inventory pull-datapoints
1042
962
 
1043
- ```bash
1044
- USAGE
1045
- transcend inventory pull-datapoints (--auth value) [--file value] [--transcendUrl value] [--dataSiloIds value]... [--includeAttributes] [--includeGuessedCategories] [--parentCategories FINANCIAL|HEALTH|CONTACT|LOCATION|DEMOGRAPHIC|ID|ONLINE_ACTIVITY|USER_PROFILE|SOCIAL_MEDIA|CONNECTION|TRACKING|DEVICE|SURVEY|OTHER|UNSPECIFIED|NOT_PERSONAL_DATA|INTEGRATION_IDENTIFIER] [--subCategories value]...
1046
- transcend inventory pull-datapoints --help
963
+ Or a specific types of data silo(s) can be pulled in:
1047
964
 
1048
- This command allows for pulling your Data Inventory -> Datapoints into a CSV.
965
+ ```sh
966
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --integrationNames=salesforce,snowflake
967
+ ```
1049
968
 
1050
- FLAGS
1051
- --auth The Transcend API key. Requires scopes: "View Data Inventory"
1052
- [--file] The file to save datapoints to [default = ./datapoints.csv]
1053
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1054
- [--dataSiloIds]... List of data silo IDs to filter by [separator = ,]
1055
- [--includeAttributes] Whether to include attributes in the output [default = false]
1056
- [--includeGuessedCategories] Whether to include guessed categories in the output [default = false]
1057
- [--parentCategories] List of parent categories to filter by [FINANCIAL|HEALTH|CONTACT|LOCATION|DEMOGRAPHIC|ID|ONLINE_ACTIVITY|USER_PROFILE|SOCIAL_MEDIA|CONNECTION|TRACKING|DEVICE|SURVEY|OTHER|UNSPECIFIED|NOT_PERSONAL_DATA|INTEGRATION_IDENTIFIER, separator = ,]
1058
- [--subCategories]... List of subcategories to filter by [separator = ,]
1059
- -h --help Print help information and exit
969
+ Specifying the resource types to pull in (the following resources are the default resources):
970
+
971
+ ```sh
972
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=apiKeys,templates,dataSilos,enrichers
1060
973
  ```
1061
- ## transcend inventory pull-unstructured-discovery-files
1062
974
 
1063
- ```bash
1064
- USAGE
1065
- transcend inventory pull-unstructured-discovery-files (--auth value) [--file value] [--transcendUrl value] [--dataSiloIds value]... [--subCategories value]... [--status MANUALLY_ADDED|CORRECTED|VALIDATED|CLASSIFIED|REJECTED] [--includeEncryptedSnippets]
1066
- transcend inventory pull-unstructured-discovery-files --help
975
+ Pull in data flow and cookie resources, filtering for specific tracker statuses (see [this example](./examples/data-flows-cookies.yml)):
1067
976
 
1068
- This command allows for pulling Unstructured Discovery into a CSV.
977
+ ```sh
978
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataFlows,cookies --trackerStatuses=NEEDS_REVIEW,LIVE
979
+ ```
1069
980
 
1070
- FLAGS
1071
- --auth The Transcend API key. Requires scopes: "View Data Inventory"
1072
- [--file] The file to save datapoints to [default = ./unstructured-discovery-files.csv]
1073
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1074
- [--dataSiloIds]... List of data silo IDs to filter by [separator = ,]
1075
- [--subCategories]... List of data categories to filter by [separator = ,]
1076
- [--status] List of classification statuses to filter by [MANUALLY_ADDED|CORRECTED|VALIDATED|CLASSIFIED|REJECTED, separator = ,]
1077
- [--includeEncryptedSnippets] Whether to include encrypted snippets of the entries classified [default = false]
1078
- -h --help Print help information and exit
981
+ Pull in data silos without any datapoint/table information
982
+
983
+ ```sh
984
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --skipDatapoints=true
1079
985
  ```
1080
- ## transcend inventory derive-data-silos-from-data-flows
1081
986
 
1082
- ```bash
1083
- USAGE
1084
- transcend inventory derive-data-silos-from-data-flows (--auth value) (--dataFlowsYmlFolder value) (--dataSilosYmlFolder value) [--ignoreYmls value]... [--transcendUrl value]
1085
- transcend inventory derive-data-silos-from-data-flows --help
987
+ Pull in data silos and datapoints without any subdatapoint/column information
1086
988
 
1087
- Given a folder of data flow transcend.yml configurations, convert those configurations to set of data silo transcend.yml configurations.
989
+ ```sh
990
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --skipSubDatapoints=true
991
+ ```
1088
992
 
1089
- FLAGS
1090
- --auth The Transcend API key. No scopes are required for this command.
1091
- --dataFlowsYmlFolder The folder that contains data flow yml files
1092
- --dataSilosYmlFolder The folder that contains data silo yml files
1093
- [--ignoreYmls]... The set of yml files that should be skipped when uploading [separator = ,]
1094
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1095
- -h --help Print help information and exit
993
+ Pull in data silos and datapoints with guessed data categories instead of just approved data categories
994
+
995
+ ```sh
996
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --includeGuessedCategories=true
1096
997
  ```
1097
- ## transcend inventory derive-data-silos-from-data-flows-cross-instance
1098
998
 
1099
- ```bash
1100
- USAGE
1101
- transcend inventory derive-data-silos-from-data-flows-cross-instance (--auth value) (--dataFlowsYmlFolder value) [--output value] [--ignoreYmls value]... [--transcendUrl value]
1102
- transcend inventory derive-data-silos-from-data-flows-cross-instance --help
999
+ Pull in attribute definitions only (see [this example](./examples/attributes.yml)):
1103
1000
 
1104
- Given a folder of data flow transcend.yml configurations, convert those configurations to a single transcend.yml configurations of all related data silos.
1001
+ ```sh
1002
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=attributes
1003
+ ```
1105
1004
 
1106
- FLAGS
1107
- --auth The Transcend API key. No scopes are required for this command.
1108
- --dataFlowsYmlFolder The folder that contains data flow yml files
1109
- [--output] The output transcend.yml file containing the data silo configurations [default = ./transcend.yml]
1110
- [--ignoreYmls]... The set of yml files that should be skipped when uploading [separator = ,]
1111
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1112
- -h --help Print help information and exit
1005
+ Pull in business entities only (see [this example](./examples/business-entities.yml)):
1006
+
1007
+ ```sh
1008
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=businessEntities
1113
1009
  ```
1114
- ## transcend admin generate-api-keys
1115
1010
 
1116
- ```bash
1117
- USAGE
1118
- transcend admin generate-api-keys (--email value) (--password value) (--apiKeyTitle value) (--file value) (--scopes value)... [--deleteExistingApiKey] [--createNewApiKey] [--parentOrganizationId value] [--transcendUrl value]
1119
- transcend admin generate-api-keys --help
1011
+ Pull in enrichers and identifiers (see [this example](./examples/enrichers.yml)):
1120
1012
 
1121
- 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.
1013
+ ```sh
1014
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=enrichers,identifiers
1015
+ ```
1122
1016
 
1123
- Unlike the other commands that rely on API key authentication, this command relies upon username/password authentication. This command will spit out the API keys into a JSON file, and that JSON file can be used in subsequent cli commands.
1017
+ Pull in onboarding action items (see [this example](./examples/action-items.yml)):
1124
1018
 
1125
- Authentication requires your email and password for the Transcend account. This command will only generate API keys for Transcend instances where you have the permission to "Manage API Keys".
1019
+ ```sh
1020
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=actionItems,actionItemCollections
1021
+ ```
1126
1022
 
1127
- FLAGS
1128
- --email The email address that you use to log into Transcend
1129
- --password The password for your account login
1130
- --apiKeyTitle The title of the API key being generated or destroyed
1131
- --file The file where API keys should be written to
1132
- --scopes... The list of scopes that should be given to the API key [separator = ,]
1133
- [--deleteExistingApiKey/--noDeleteExistingApiKey] When true, if an API key exists with the specified apiKeyTitle, the existing API key is deleted [default = true]
1134
- [--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]
1135
- [--parentOrganizationId] Filter for only a specific organization by ID, returning all child accounts associated with that organization
1136
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1137
- -h --help Print help information and exit
1023
+ Pull in consent manager domain list (see [this example](./examples/consent-manager-domains.yml)):
1024
+
1025
+ ```sh
1026
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=consentManager
1138
1027
  ```
1139
- ## transcend migration sync-ot
1140
1028
 
1141
- ```bash
1142
- USAGE
1143
- transcend migration sync-ot [--hostname value] [--oneTrustAuth value] [--source oneTrust|file] [--transcendAuth value] [--transcendUrl value] [--file value] [--resource assessments] [--dryRun] [--debug]
1144
- transcend migration sync-ot --help
1029
+ Pull in identifier configurations (see [this example](./examples/identifiers.yml)):
1145
1030
 
1146
- Pulls resources from a OneTrust and syncs them to a Transcend instance. For now, it only supports retrieving OneTrust Assessments.
1031
+ ```sh
1032
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=identifiers
1033
+ ```
1147
1034
 
1148
- This command can be helpful if you are looking to:
1149
- - Pull resources from your OneTrust account.
1150
- - Migrate your resources from your OneTrust account to Transcend.
1035
+ Pull in request actions configurations (see [this example](./examples/actions.yml)):
1151
1036
 
1152
- OneTrust authentication requires an OAuth Token with scope for accessing the assessment endpoints.
1153
- If syncing the resources to Transcend, you will also need to generate an API key on the Transcend Admin Dashboard.
1154
-
1155
- FLAGS
1156
- [--hostname] The domain of the OneTrust environment from which to pull the resource
1157
- [--oneTrustAuth] The OAuth access token with the scopes necessary to access the OneTrust Public APIs
1158
- [--source] Whether to read the assessments from OneTrust or from a file [oneTrust|file, default = oneTrust]
1159
- [--transcendAuth] The Transcend API key. Requires scopes: "Manage Assessments"
1160
- [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1161
- [--file] Path to the file to pull the resource into. Must be a json file!
1162
- [--resource] The resource to pull from OneTrust. For now, only assessments is supported [assessments, default = assessments]
1163
- [--dryRun] Whether to export the resource to a file rather than sync to Transcend [default = false]
1164
- [--debug] Whether to print detailed logs in case of error [default = false]
1165
- -h --help Print help information and exit
1166
- ```
1167
- <!-- COMMANDS_END -->
1168
-
1169
- ### tr-pull
1170
-
1171
- Generate's a transcend.yml by pulling the configuration from your connected services view (https://app.transcend.io/privacy-requests/connected-services).
1172
-
1173
- This command can be helpful if you are looking to:
1174
-
1175
- - Copy parts of your Data Map from one Transcend instance into another instance
1176
- - Generate a transcend.yml file as a starting point to maintain parts of your Data Map in code
1177
-
1178
- #### Authentication
1179
-
1180
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
1181
-
1182
- The API key permissions for this command vary based on the value to the `resources` argument. See the table below to understand the necessary permissions for the resources you are attempting to pull.
1183
-
1184
- | Key | Description | Scope | Is Default | Link |
1185
- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1186
- | apiKeys | API Key definitions assigned to Data Silos. API keys cannot be created through the cli, but you can map API key usage to Data Silos. | View API Keys | true | [Developer Tools -> API keys](https://app.transcend.io/infrastructure/api-keys) |
1187
- | actionItems | Onboarding related action items | Read only | false | [Action Items](https://app.transcend.io/action-items/all) |
1188
- | actionItemCollections | Onboarding related action item group names | Read only | false | [Action Items](https://app.transcend.io/action-items/all) |
1189
- | templates | Email templates. Only template titles can be created and mapped to other resources. | View Email Templates | true | [DSR Automation -> Email Templates](https://app.transcend.io/privacy-requests/email-templates) |
1190
- | dataSilos | The Data Silo/Integration definitions. | View Data Map,View Data Subject Request Settings | true | [Data Inventory -> Data Silos](https://app.transcend.io/data-map/data-inventory/) and [Infrastucture -> Integrations](https://app.transcend.io/infrastructure/integrationsdata-silos) |
1191
- | enrichers | The Privacy Request enricher configurations. | View Identity Verification Settings | true | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
1192
- | teams | Team definitions of users and scope groupings | View Scopes | false | [Administration -> Teams](https://app.transcend.io/admin/teams) |
1193
- | businessEntities | The business entities in the data inventory. | View Data Inventory | false | [Data Inventory -> Business Entities](https://app.transcend.io/data-map/data-inventory/business-entities) |
1194
- | identifiers | The Privacy Request identifier configurations. | View Identity Verification Settings | false | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
1195
- | actions | The Privacy Request action settings. | View Data Subject Request Settings | false | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
1196
- | dataSubjects | The Privacy Request data subject settings. | View Data Subject Request Settings | false | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
1197
- | vendors | The vendors in the data inventory. | View Data Inventory | false | [Data Inventory -> Vendors](https://app.transcend.io/data-map/data-inventory/vendors) |
1198
- | dataCategories | The data categories in the data inventory. | View Data Inventory | false | [Data Inventory -> Data Categories](https://app.transcend.io/data-map/data-inventory/data-categories) |
1199
- | processingPurposes | The processing purposes in the data inventory. | View Data Inventory | false | [Data Inventory -> Processing Purposes](https://app.transcend.io/data-map/data-inventory/purposes) |
1200
- | customFields | Custom field definitions that define extra metadata for each table in the Admin Dashboard. | View Global Attributes | false | [Custom Fields](https://app.transcend.io/infrastructure/attributes) |
1201
- | dataFlows | Consent Manager Data Flow definitions. | View Data Flows | false | [Consent Management -> Data Flows](https://app.transcend.io/consent-manager/data-flows/approved) |
1202
- | cookies | Consent Manager Cookie definitions. | View Data Flows | false | [Consent Management -> Cookies](https://app.transcend.io/consent-manager/cookies/approved) |
1203
- | consentManager | Consent Manager general settings, including domain list. | View Consent Manager | false | [Consent Management -> Developer Settings](https://app.transcend.io/consent-manager/developer-settings) |
1204
- | purposes | Consent purposes and related preference management topics. | View Consent Manager,View Preference Store Settings | false | [Consent Management -> Regional Experiences -> Purposes](https://app.transcend.io/consent-manager/regional-experiences/purposes) |
1205
- | partitions | The partitions in the account (often representative of separate data controllers). | View Consent Manager | false | [Consent Management -> Developer Settings -> Advanced Settings](https://app.transcend.io/consent-manager/developer-settings/advanced-settings) |
1206
- | prompts | The Transcend AI prompts | View Prompts | false | [Prompt Manager -> Browse](https://app.transcend.io/prompts/browse) |
1207
- | promptPartials | The Transcend AI prompt partials | View Prompts | false | [Prompt Manager -> Partials](https://app.transcend.io/prompts/partialss) |
1208
- | promptGroups | The Transcend AI prompt groups | View Prompts | false | [Prompt Manager -> Groups](https://app.transcend.io/prompts/groups) |
1209
- | agents | The agents in the prompt manager. | View Prompts | false | [Prompt Manager -> Agents](https://app.transcend.io/prompts/agents) |
1210
- | agentFunctions | The agent functions in the prompt manager. | View Prompts | false | [Prompt Manager -> Agent Functions](https://app.transcend.io/prompts/agent-functions) |
1211
- | agentFiles | The agent files in the prompt manager. | View Prompts | false | [Prompt Manager -> Agent Files](https://app.transcend.io/prompts/agent-files) |
1212
- | privacyCenters | The privacy center configurations. | View Privacy Center | false | [Privacy Center](https://app.transcend.io/privacy-center/general-settings) |
1213
- | policies | The privacy center policies. | View Policies | false | [Privacy Center -> Policies](https://app.transcend.io/privacy-center/policies) |
1214
- | messages | Message definitions used across consent, privacy center, email templates and more. | View Internationalization Messages | false | [Privacy Center -> Messages](https://app.transcend.io/privacy-center/messages-internationalization), [Consent Management -> Display Settings -> Messages](https://app.transcend.io/consent-manager/display-settings/messages) |
1215
- | assessments | Assessment responses. | View Assessments | false | [Assessments -> Assessments](https://app.transcend.io/assessments/groups) |
1216
- | assessmentTemplates | Assessment template configurations. | View Assessments | false | [Assessment -> Templates](https://app.transcend.io/assessments/form-templates) |
1217
-
1218
- _Note: The scopes for tr-push are comprehensive of the scopes for tr-pull_
1219
-
1220
- #### Arguments
1221
-
1222
- | Argument | Description | Type | Default | Required |
1223
- | ------------------------ | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------- | -------- |
1224
- | auth | The Transcend API key with the scopes necessary for the command. | string (API key or path to tr-generate-api-keys JSON output) | N/A | true |
1225
- | resources | The different resource types to pull in (see table above for breakdown of each resource) | string | apiKeys,templates,dataSilos,enrichers | false |
1226
- | file | Path to the YAML file to pull into | string - file-path | ./transcend.yml | false |
1227
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
1228
- | dataSiloIds | The UUIDs of the data silos that should be pulled into the YAML file. | list(string - UUID) | N/A | false |
1229
- | integrationNames | The types of integrations to pull down | string[] | N/A | false |
1230
- | trackerStatuses | The statuses of consent manager trackers to pull down. (Triage, Approved or both) | ConsentTrackerStatus[] | LIVE,NEEDS_REVIEW | false |
1231
- | pageSize | The page size to use when paginating over the API | number | 50 | false |
1232
- | skipDatapoints | When true, skip pulling in datapoints alongside data silo resource | boolean | false | false |
1233
- | skipSubDatapoints | When true, skip pulling in subDatapoints alongside data silo resource | boolean | false | false |
1234
- | includeGuessedCategories | When true, included guessed data categories that came from the content classifier | boolean | false | false |
1235
- | debug | Set to true to include debug logs while pulling the configuration | boolean | false | false |
1236
-
1237
- #### Usage
1238
-
1239
- ```sh
1240
- # Writes out file to ./transcend.yml
1241
- tr-pull --auth=$TRANSCEND_API_KEY
1242
- ```
1243
-
1244
- An alternative file destination can be specified:
1245
-
1246
- ```sh
1247
- # Writes out file to ./custom/location.yml
1248
- tr-pull --auth=$TRANSCEND_API_KEY --file=./custom/location.yml
1249
- ```
1250
-
1251
- Or a specific data silo(s) can be pulled in:
1252
-
1253
- ```sh
1254
- tr-pull --auth=$TRANSCEND_API_KEY ---dataSiloIds=710fec3c-7bcc-4c9e-baff-bf39f9bec43e
1255
- ```
1256
-
1257
- Or a specific types of data silo(s) can be pulled in:
1258
-
1259
- ```sh
1260
- tr-pull --auth=$TRANSCEND_API_KEY --integrationNames=salesforce,snowflake
1261
- ```
1262
-
1263
- Specifying the resource types to pull in (the following resources are the default resources):
1264
-
1265
- ```sh
1266
- tr-pull --auth=$TRANSCEND_API_KEY --resources=apiKeys,templates,dataSilos,enrichers
1267
- ```
1268
-
1269
- Pull in data flow and cookie resources, filtering for specific tracker statuses (see [this example](./examples/data-flows-cookies.yml)):
1270
-
1271
- ```sh
1272
- tr-pull --auth=$TRANSCEND_API_KEY --resources=dataFlows,cookies --trackerStatuses=NEEDS_REVIEW,LIVE
1273
- ```
1274
-
1275
- Pull in data silos without any datapoint/table information
1276
-
1277
- ```sh
1278
- tr-pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --skipDatapoints=true
1279
- ```
1280
-
1281
- Pull in data silos and datapoints without any subdatapoint/column information
1282
-
1283
- ```sh
1284
- tr-pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --skipSubDatapoints=true
1285
- ```
1286
-
1287
- Pull in data silos and datapoints with guessed data categories instead of just approved data categories
1288
-
1289
- ```sh
1290
- tr-pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --includeGuessedCategories=true
1291
- ```
1292
-
1293
- Pull in attribute definitions only (see [this example](./examples/attributes.yml)):
1294
-
1295
- ```sh
1296
- tr-pull --auth=$TRANSCEND_API_KEY --resources=attributes
1297
- ```
1298
-
1299
- Pull in business entities only (see [this example](./examples/business-entities.yml)):
1300
-
1301
- ```sh
1302
- tr-pull --auth=$TRANSCEND_API_KEY --resources=businessEntities
1303
- ```
1304
-
1305
- Pull in enrichers and identifiers (see [this example](./examples/enrichers.yml)):
1306
-
1307
- ```sh
1308
- tr-pull --auth=$TRANSCEND_API_KEY --resources=enrichers,identifiers
1309
- ```
1310
-
1311
- Pull in onboarding action items (see [this example](./examples/action-items.yml)):
1312
-
1313
- ```sh
1314
- tr-pull --auth=$TRANSCEND_API_KEY --resources=actionItems,actionItemCollections
1315
- ```
1316
-
1317
- Pull in consent manager domain list (see [this example](./examples/consent-manager-domains.yml)):
1318
-
1319
- ```sh
1320
- tr-pull --auth=$TRANSCEND_API_KEY --resources=consentManager
1321
- ```
1322
-
1323
- Pull in identifier configurations (see [this example](./examples/identifiers.yml)):
1324
-
1325
- ```sh
1326
- tr-pull --auth=$TRANSCEND_API_KEY --resources=identifiers
1327
- ```
1328
-
1329
- Pull in request actions configurations (see [this example](./examples/actions.yml)):
1330
-
1331
- ```sh
1332
- tr-pull --auth=$TRANSCEND_API_KEY --resources=actions
1333
- ```
1037
+ ```sh
1038
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=actions
1039
+ ```
1334
1040
 
1335
1041
  Pull in consent manager purposes and preference management topics (see [this example](./examples/purposes.yml)):
1336
1042
 
1337
1043
  ```sh
1338
- tr-pull --auth=$TRANSCEND_API_KEY --resources=purposes
1339
- ```
1340
-
1341
- Pull in request data subject configurations (see [this example](./examples/data-subjects.yml)):
1342
-
1343
- ```sh
1344
- tr-pull --auth=$TRANSCEND_API_KEY --resources=dataSubjects
1044
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=purposes
1345
1045
  ```
1346
1046
 
1347
- Pull in prompts, prompt templates, prompt partials and prompt groups (see [this example](./examples/prompts.yml)):
1047
+ Pull in data subject configurations (see [this example](./examples/data-subjects.yml)):
1348
1048
 
1349
1049
  ```sh
1350
- tr-pull --auth=$TRANSCEND_API_KEY --resources=prompts,promptPartials,promptGroups
1050
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSubjects
1351
1051
  ```
1352
1052
 
1353
1053
  Pull in assessments and assessment templates.
1354
1054
 
1355
1055
  ```sh
1356
- tr-pull --auth=$TRANSCEND_API_KEY --resources=assessments,assessmentTemplates
1056
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=assessments,assessmentTemplates
1357
1057
  ```
1358
1058
 
1359
1059
  Pull everything:
1360
1060
 
1361
1061
  ```sh
1362
- tr-pull --auth=$TRANSCEND_API_KEY --resources=all
1363
- ```
1364
-
1365
- Or with a specific page size (max 100)
1366
-
1367
- ```sh
1368
- tr-pull --auth=$TRANSCEND_API_KEY --integrationNames=salesforce,snowflake --pageSize=30
1369
- ```
1370
-
1371
- Or with debug logs
1372
-
1373
- ```sh
1374
- tr-pull --auth=$TRANSCEND_API_KEY --integrationNames=salesforce,snowflake --debug=true
1062
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=all
1375
1063
  ```
1376
1064
 
1377
1065
  Pull in configuration files across multiple instances
1378
1066
 
1379
1067
  ```sh
1380
- tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1381
- --scopes="View Consent Manager" --apiKeyTitle="CLI Usage Cross Instance Sync" --file=./transcend-api-keys.json
1382
- tr-pull --auth=./transcend-api-keys.json --resources=consentManager --file=./transcend/
1068
+ 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
1069
+ transcend inventory pull --auth=./transcend-api-keys.json --resources=consentManager --file=./transcend/
1383
1070
  ```
1384
1071
 
1385
1072
  Note: This command will overwrite the existing transcend.yml file that you have locally.
1386
1073
 
1387
- ### tr-sync-ot
1388
-
1389
- Pulls resources from a OneTrust and syncs them to a Transcend instance. For now, it only supports retrieving OneTrust Assessments. It sends a request to the [Get List of Assessments](https://developer.onetrust.com/onetrust/reference/getallassessmentbasicdetailsusingget) endpoint to fetch a list of all Assessments in your account. Then, it queries the [Get Assessment](https://developer.onetrust.com/onetrust/reference/exportassessmentusingget), [Get Risk](https://developer.onetrust.com/onetrust/reference/getriskusingget), and [Get User](https://developer.onetrust.com/onetrust/reference/getuserbyid) endpoints to enrich these assessments with more details such as respondents, approvers, assessment questions and responses, and assessment risks. Finally, it syncs the enriched resources to disk in the specified file and format.
1390
-
1391
- This command can be helpful if you are looking to:
1392
-
1393
- - Pull resources from your OneTrust account.
1394
- - Migrate your resources from your OneTrust account to Transcend.
1395
-
1396
- #### Authentication
1397
-
1398
- In order to use this command, you will need to generate a OneTrust OAuth Token with scope for accessing the following endpoints:
1399
-
1400
- - [GET /v2/assessments](https://developer.onetrust.com/onetrust/reference/getallassessmentbasicdetailsusingget)
1401
- - [GET /v2/assessments/{assessmentId}/export](https://developer.onetrust.com/onetrust/reference/exportassessmentusingget)
1402
- - [GET /risks/{riskId}](https://developer.onetrust.com/onetrust/reference/getriskusingget)
1403
- - [GET /v2/Users/{userId}](https://developer.onetrust.com/onetrust/reference/getuserusingget)
1404
-
1405
- 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.
1406
-
1407
- If syncing the resources to Transcend, you will also need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
1408
-
1409
- The API key needs the following scopes when pushing the various resource types:
1410
-
1411
- | Resource | Scope |
1412
- | ----------- | ------------------ |
1413
- | assessments | Manage Assessments |
1414
-
1415
- #### Arguments
1416
-
1417
- | Argument | Description | Type | Default | Required |
1418
- | ------------- | ------------------------------------------------------------------------------------------------- | ------------ | ------------------------ | -------- |
1419
- | hostname | The domain of the OneTrust environment from which to pull the resource (e.g. trial.onetrust.com). | string | N/A | false |
1420
- | oneTrustAuth | The OAuth access token with the scopes necessary to access the OneTrust Public APIs. | string | N/A | false |
1421
- | source | Whether to read the assessments from OneTrust or from a file | string | oneTrust | false |
1422
- | transcendAuth | The Transcend API Key to with the scopes necessary to access Transcend's Public APIs. | string | N/A | false |
1423
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
1424
- | file | Path to the file to pull the resource into. Must be a json file! | string | N/A | false |
1425
- | resource | The resource to pull from OneTrust. For now, only assessments is supported. | string | assessments | false |
1426
- | dryRun | Whether to export the resource to a file rather than sync to Transcend. | boolean | false | false |
1427
- | debug | Whether to print detailed logs in case of error. | boolean | false | false |
1074
+ ### `transcend inventory push`
1428
1075
 
1429
- #### Usage
1430
-
1431
- ```sh
1432
- # Syncs all assessments from the OneTrust instance to Transcend
1433
- tr-sync-ot --hostname=trial.onetrust.com --oneTrustAuth=$ONE_TRUST_OAUTH_TOKEN --transcendAuth=$TRANSCEND_API_KEY
1434
- ```
1076
+ ```txt
1077
+ USAGE
1078
+ transcend inventory push (--auth value) [--file value] [--transcendUrl value] [--pageSize value] [--variables value] [--publishToPrivacyCenter] [--classifyService] [--deleteExtraAttributeValues]
1079
+ transcend inventory push --help
1435
1080
 
1436
- Alternatively, you can set dryRun to true and sync the resource to disk:
1081
+ Given a transcend.yml file, sync the contents up to your Transcend instance.
1437
1082
 
1438
- ```sh
1439
- # Writes out file to ./oneTrustAssessments.json
1440
- tr-sync-ot --hostname=trial.onetrust.com --oneTrustAuth=$ONE_TRUST_OAUTH_TOKEN --dryRun=true --file=./oneTrustAssessments.json
1083
+ FLAGS
1084
+ --auth The Transcend API key. The scopes required will vary depending on the operation performed. If in doubt, the Full Admin scope will always work.
1085
+ [--file] Path to the YAML file to push from [default = ./transcend.yml]
1086
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1087
+ [--pageSize] The page size to use when paginating over the API [default = 50]
1088
+ [--variables] The variables to template into the YAML file when pushing configuration. Comma-separated list of key:value pairs. [default = ""]
1089
+ [--publishToPrivacyCenter] When true, publish the configuration to the Privacy Center [default = false]
1090
+ [--classifyService] When true, automatically assign the service for a data flow based on the domain that is specified [default = false]
1091
+ [--deleteExtraAttributeValues] When true and syncing attributes, delete any extra attributes instead of just upserting [default = false]
1092
+ -h --help Print help information and exit
1441
1093
  ```
1442
1094
 
1443
- Once you save the assessments into disk, you can sync them to Transcend by reading from the file instead:
1095
+ #### Scopes
1444
1096
 
1445
- ```sh
1446
- # Syncs to Transcend by reading from file ./oneTrustAssessments.json
1447
- tr-sync-ot --source=file --file=./oneTrustAssessments.json --transcendAuth=$TRANSCEND_API_KEY
1448
- ```
1449
-
1450
- ### tr-push
1451
-
1452
- Given a transcend.yml file, sync the contents up to your connected services view (https://app.transcend.io/privacy-requests/connected-services).
1453
-
1454
- #### Authentication
1455
-
1456
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
1457
-
1458
- The API key needs the following scopes when pushing the various resource types:
1459
-
1460
- | Key | Description | Scope | Is Default | Link |
1461
- | --------------------- | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1462
- | apiKeys | API Key definitions. API keys cannot be created through the cli, but you can map API key usage to Data Silos. | View API Keys | true | [Developer Tools -> API keys](https://app.transcend.io/infrastructure/api-keys) |
1463
- | actionItems | Onboarding related action items | Manage Action Item Collections | false | [Action Items](https://app.transcend.io/action-items/all) |
1464
- | actionItemCollections | Onboarding related action item group names | Manage All Action Items | false | [Action Items](https://app.transcend.io/action-items/all) |
1465
- | templates | Email templates. Only template titles can be created and mapped to other resources. | Manage Email Templates | true | [DSR Automation -> Email Templates](https://app.transcend.io/privacy-requests/email-templates) |
1466
- | dataSilos | The Data Silo/Integration definitions. | Manage Data Map,Connect Data Silos | true | [Data Inventory -> Data Silos](https://app.transcend.io/data-map/data-inventory/) and [Infrastucture -> Integrations](https://app.transcend.io/infrastructure/integrationsdata-silos) |
1467
- | enrichers | The Privacy Request enricher configurations. | Manage Request Identity Verification | true | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
1468
- | teams | The team definitions containing scopes and users | Manage Access Control | false | [Administration -> Teams](https://app.transcend.io/admin/teams) |
1469
- | businessEntities | The business entities in the data inventory. | Manage Data Inventory | false | [Data Inventory -> Business Entities](https://app.transcend.io/data-map/data-inventory/business-entities) |
1470
- | identifiers | The Privacy Request identifier configurations. | Manage Request Identity Verification | false | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
1471
- | actions | The Privacy Request action settings. | Manage Data Subject Request Settings | false | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
1472
- | dataSubjects | The Privacy Request data subject settings. | Manage Data Subject Request Settings | false | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
1473
- | vendors | The vendors in the data inventory. | Manage Data Inventory | false | [Data Inventory -> Vendors](https://app.transcend.io/data-map/data-inventory/vendors) |
1474
- | dataCategories | The data categories in the data inventory. | Manage Data Inventory | false | [Data Inventory -> Data Categories](https://app.transcend.io/data-map/data-inventory/data-categories) |
1475
- | processingPurposes | The processing purposes in the data inventory. | Manage Data Inventory | false | [Data Inventory -> Processing Purposes](https://app.transcend.io/data-map/data-inventory/purposes) |
1476
- | attributes | Attribute definitions that define extra metadata for each table in the Admin Dashboard. | Manage Global Attributes | false | [Infrastructure -> Attributes](https://app.transcend.io/infrastructure/attributes) |
1477
- | dataFlows | Consent Manager Data Flow definitions. | Manage Data Flows | false | [Consent Management -> Data Flows](https://app.transcend.io/consent-manager/data-flows/approved) |
1478
- | cookies | Consent Manager Cookie definitions. | Manage Data Flows | false | [Consent Management -> Cookies](https://app.transcend.io/consent-manager/cookies/approved) |
1479
- | consentManager | Consent Manager general settings, including domain list. | Manage Consent Manager Developer Settings | false | [Consent Management -> Developer Settings](https://app.transcend.io/consent-manager/developer-settings) |
1480
- | partitions | The partitions in the account (often representative of separate data controllers). | Manage Consent Manager Developer Settings | false | [Consent Management -> Developer Settings -> Advanced Settings](https://app.transcend.io/consent-manager/developer-settings/advanced-settings) |
1481
- | prompts | The Transcend AI prompts | View Prompts | false | [Prompt Manager -> Browse](https://app.transcend.io/prompts/browse) |
1482
- | promptPartials | The Transcend AI prompt partials | Manage Prompts | false | [Prompt Manager -> Partials](https://app.transcend.io/prompts/partialss) |
1483
- | promptGroups | The Transcend AI prompt groups | Manage Prompts | false | [Prompt Manager -> Groups](https://app.transcend.io/prompts/groups) |
1484
- | agents | The agents in the prompt manager. | Manage Prompts | false | [Prompt Manager -> Agents](https://app.transcend.io/prompts/agents) |
1485
- | agentFunctions | The agent functions in the prompt manager. | Manage Prompts | false | [Prompt Manager -> Agent Functions](https://app.transcend.io/prompts/agent-functions) |
1486
- | agentFiles | The agent files in the prompt manager. | Manage Prompts | false | [Prompt Manager -> Agent Files](https://app.transcend.io/prompts/agent-files) |
1487
- | privacyCenters | The privacy center configurations. | Manage Privacy Center | false | [Privacy Center](https://app.transcend.io/privacy-center/general-settings) |
1488
- | policies | The privacy center policies. | Manage Policies | false | [Privacy Center -> Policies](https://app.transcend.io/privacy-center/policies) |
1489
- | messages | Message definitions used across consent, privacy center, email templates and more. | Manage Internationalization Messages | false | [Privacy Center -> Messages](https://app.transcend.io/privacy-center/messages-internationalization), [Consent Management -> Display Settings -> Messages](https://app.transcend.io/consent-manager/display-settings/messages) |
1490
-
1491
- #### Arguments
1492
-
1493
- | Argument | Description | Type | Default | Required |
1494
- | -------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------ | -------- |
1495
- | auth | The Transcend API key with the scopes necessary for the command. | string (API key or path to tr-generate-api-keys JSON output) | N/A | true |
1496
- | file | Path to the YAML file to push from | string - file-path | ./transcend.yml | false |
1497
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
1498
- | pageSize | The page size to use when paginating over the API | number | 50 | false |
1499
- | variables | The variables to template into the YAML file when pushing configuration. e.g. domain:acme.com,stage:staging | string | N/A | false |
1500
- | classifyService | When true, automatically assign the service for a data flow based on the domain that is specified | boolean | false | false |
1501
- | deleteExtraAttributeValues | When true and syncing attributes, delete any extra attributes instead of just upserting | boolean | false | false |
1097
+ The scopes for `transcend inventory push` are the same as the scopes for [`transcend inventory pull`](#transcend-inventory-pull).
1502
1098
 
1503
1099
  #### Usage
1504
1100
 
1505
1101
  ```sh
1506
1102
  # Looks for file at ./transcend.yml
1507
- tr-push --auth=$TRANSCEND_API_KEY
1103
+ transcend inventory push --auth=$TRANSCEND_API_KEY
1508
1104
  ```
1509
1105
 
1510
1106
  An alternative file destination can be specified:
1511
1107
 
1512
1108
  ```sh
1513
1109
  # Looks for file at custom location ./custom/location.yml
1514
- tr-push --auth=$TRANSCEND_API_KEY --file=./custom/location.yml
1110
+ transcend inventory push --auth=$TRANSCEND_API_KEY --file=./custom/location.yml
1515
1111
  ```
1516
1112
 
1517
- Push a single yml file configuration into multiple Transcend instances. This uses the output of [tr-generate-api-keys](#tr-generate-api-keys).
1113
+ 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).
1518
1114
 
1519
1115
  ```sh
1520
- tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1116
+ transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1521
1117
  --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" --file=./transcend-api-keys.json
1522
- tr-pull --auth=$TRANSCEND_API_KEY
1523
- tr-push --auth=./transcend-api-keys.json
1118
+ transcend inventory pull --auth=$TRANSCEND_API_KEY
1119
+ transcend inventory push --auth=./transcend-api-keys.json
1524
1120
  ```
1525
1121
 
1526
- Push multiple yml file configurations into multiple Transcend instances. This uses the output of [tr-generate-api-keys](#tr-generate-api-keys).
1122
+ Push multiple .yml file configurations into multiple Transcend instances. This uses the output of [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys).
1527
1123
 
1528
1124
  ```sh
1529
- tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1125
+ transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1530
1126
  --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" --file=./transcend-api-keys.json
1531
- tr-pull --auth=./transcend-api-keys.json --file=./transcend/
1532
- # <edit yml files in folder in between these steps>
1533
- tr-push --auth=./transcend-api-keys.json --file=./transcend/
1127
+ transcend inventory pull --auth=./transcend-api-keys.json --file=./transcend/
1128
+ # <edit .yml files in folder in between these steps>
1129
+ transcend inventory push --auth=./transcend-api-keys.json --file=./transcend/
1534
1130
  ```
1535
1131
 
1536
1132
  Apply service classifier to all data flows.
1537
1133
 
1538
1134
  ```sh
1539
- tr-pull --auth=$TRANSCEND_API_KEY --resources=dataFlows
1540
- tr-push --auth=$TRANSCEND_API_KEY --resources=dataFlows --classifyService=true
1135
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataFlows
1136
+ transcend inventory push --auth=$TRANSCEND_API_KEY --resources=dataFlows --classifyService=true
1541
1137
  ```
1542
1138
 
1543
1139
  Push up attributes, deleting any attributes that are not specified in the transcend.yml file
1544
1140
 
1545
1141
  ```sh
1546
- tr-pull --auth=$TRANSCEND_API_KEY --resources=attributes
1547
- tr-push --auth=$TRANSCEND_API_KEY --resources=attributes --deleteExtraAttributeValues=true
1142
+ transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=attributes
1143
+ transcend inventory push --auth=$TRANSCEND_API_KEY --resources=attributes --deleteExtraAttributeValues=true
1548
1144
  ```
1549
1145
 
1550
1146
  Some things to note about this sync process:
1551
1147
 
1552
- 1. Any field that is defined in your .yml file will be synced up to app.transcend.io. If any change was made on the admin dashboard, it will be overwritten.
1553
- 2. If you omit a field from the YAML file, this field will not be synced. This gives you the ability to define as much or as little configuration in your transcend.yml file as you would like, and let the remainder of fields be labeled through the Admin Dashboard
1554
- 3. If you define new data subjects, identifiers, data silos or datapoints that were not previously defined on the Admin Dashboard, the cli will create these new resources automatically.
1555
- 4. Currently, this cli does not handle deleting or renaming of resources. If you need to delete or rename a data silo, identifier, enricher or API key, you should make the change on the Admin Dashboard.
1556
- 5. The only resources that this cli will not auto generate are:
1148
+ 1. Any field that is defined in your .yml file will be synced up to app.transcend.io. If any change was made on the Admin Dashboard, it will be overwritten.
1149
+ 2. If you omit a field from the .yml file, this field will not be synced. This gives you the ability to define as much or as little configuration in your transcend.yml file as you would like, and let the remainder of fields be labeled through the Admin Dashboard
1150
+ 3. If you define new data subjects, identifiers, data silos or datapoints that were not previously defined on the Admin Dashboard, the CLI will create these new resources automatically.
1151
+ 4. Currently, this CLI does not handle deleting or renaming of resources. If you need to delete or rename a data silo, identifier, enricher or API key, you should make the change on the Admin Dashboard.
1152
+ 5. The only resources that this CLI will not auto-generate are:
1557
1153
 
1558
1154
  - a) Data silo owners: If you assign an email address to a data silo, you must first make sure that user is invited into your Transcend instance (https://app.transcend.io/admin/users).
1559
- - b) API keys: This cli will not create new API keys. You will need to first create the new API keys on the Admin Dashboard (https://app.transcend.io/infrastructure/api-keys). You can then list out the titles of the API keys that you generated in your transcend.yml file, after which the cli is capable of updating that API key to be able to respond to different data silos in your Data Map
1155
+ - b) API keys: This CLI will not create new API keys. You will need to first create the new API keys on the Admin Dashboard (https://app.transcend.io/infrastructure/api-keys). You can then list out the titles of the API keys that you generated in your transcend.yml file, after which the CLI is capable of updating that API key to be able to respond to different data silos in your Data Map
1560
1156
 
1561
1157
  #### CI Integration
1562
1158
 
1563
- Once you have a workflow for creating your transcend.yml file, you will want to integrate your `tr-push` command on your CI.
1159
+ Once you have a workflow for creating your transcend.yml file, you will want to integrate your `transcend inventory push` command on your CI.
1564
1160
 
1565
1161
  Below is an example of how to set this up using a Github action:
1566
1162
 
@@ -1584,8 +1180,8 @@ jobs:
1584
1180
  with:
1585
1181
  node-version: '16'
1586
1182
 
1587
- - name: Install Transcend cli
1588
- run: npm i -D @transcend-io/cli
1183
+ - name: Install Transcend CLI
1184
+ run: npm install --global @transcend-io/cli
1589
1185
 
1590
1186
  # If you have a script that generates your transcend.yml file from
1591
1187
  # an ORM or infrastructure configuration, add that step here
@@ -1594,17 +1190,17 @@ jobs:
1594
1190
  # run: ./scripts/generate_transcend_yml.py
1595
1191
 
1596
1192
  - name: Push Transcend config
1597
- run: npx tr-push --auth=${{ secrets.TRANSCEND_API_KEY }}
1193
+ run: transcend inventory push --auth=${{ secrets.TRANSCEND_API_KEY }}
1598
1194
  ```
1599
1195
 
1600
1196
  #### Dynamic Variables
1601
1197
 
1602
- If you are using this cli to sync your Data Map between multiple Transcend instances, you may find the need to make minor modifications to your configurations between environments. The most notable difference would be the domain where your webhook URLs are hosted on.
1198
+ If you are using this CLI to sync your Data Map between multiple Transcend instances, you may find the need to make minor modifications to your configurations between environments. The most notable difference would be the domain where your webhook URLs are hosted on.
1603
1199
 
1604
- The `tr-push` command takes in a parameter `variables`. This is a CSV of `key:value` pairs.
1200
+ The `transcend inventory push` command takes in a parameter `variables`. This is a CSV of `key:value` pairs.
1605
1201
 
1606
1202
  ```sh
1607
- tr-push --auth=$TRANSCEND_API_KEY --variables=domain:acme.com,stage:staging
1203
+ transcend inventory push --auth=$TRANSCEND_API_KEY --variables=domain:acme.com,stage:staging
1608
1204
  ```
1609
1205
 
1610
1206
  This command could fill out multiple parameters in a YAML file like [./examples/multi-instance.yml](./examples/multi-instance.yml), copied below:
@@ -1639,9 +1235,14 @@ data-silos:
1639
1235
  api-key-title: Webhook Key
1640
1236
  ```
1641
1237
 
1642
- ### tr-scan-packages
1238
+ ### `transcend inventory scan-packages`
1239
+
1240
+ ```txt
1241
+ USAGE
1242
+ transcend inventory scan-packages (--auth value) [--scanPath value] [--ignoreDirs value]... [--repositoryName value] [--transcendUrl value]
1243
+ transcend inventory scan-packages --help
1643
1244
 
1644
- Transcend can scan your codebase to inventory your code packages and dependencies. Currently we support scanning for discovering packages and dependencies for the following frameworks:
1245
+ Transcend scans packages and dependencies for the following frameworks:
1645
1246
 
1646
1247
  - package.json
1647
1248
  - requirements.txt & setup.py
@@ -1652,2081 +1253,173 @@ Transcend can scan your codebase to inventory your code packages and dependencie
1652
1253
  - Gemfile & .gemspec
1653
1254
  - composer.json
1654
1255
 
1655
- The command will scan the folder you point at to look for any of these files. Once found, the build file will be parsed in search of dependencies. Those code packages and dependencies will be uploaded to [Transcend](https://app.transcend.io/code-scanning/code-packages). The only information shared with Transcend includes:
1256
+ This command will scan the folder you point at to look for any of these files. Once found, the build file will be parsed in search of dependencies. Those code packages and dependencies will be uploaded to Transcend. The information uploaded to Transcend is:
1656
1257
 
1657
1258
  - repository name
1658
1259
  - package names
1659
1260
  - dependency names and versions
1660
1261
  - package descriptions
1661
1262
 
1662
- #### Authentication
1263
+ FLAGS
1264
+ --auth The Transcend API key. Requires scopes: "Manage Code Scanning"
1265
+ [--scanPath] File path in the project to scan [default = ./]
1266
+ [--ignoreDirs]... List of directories to ignore in scan [separator = ,]
1267
+ [--repositoryName] Name of the git repository that the package should be tied to
1268
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1269
+ -h --help Print help information and exit
1270
+ ```
1663
1271
 
1664
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
1272
+ ### `transcend inventory discover-silos`
1665
1273
 
1666
- The API key needs the following scopes:
1274
+ ```txt
1275
+ USAGE
1276
+ transcend inventory discover-silos (--scanPath value) (--dataSiloId value) (--auth value) [--fileGlobs value] [--ignoreDirs value] [--transcendUrl value]
1277
+ transcend inventory discover-silos --help
1667
1278
 
1668
- - Manage Code Scanning
1279
+ We support scanning for new data silos in JavaScript, Python, Gradle, and CocoaPods projects.
1669
1280
 
1670
- #### Arguments
1281
+ To get started, add a data silo for the corresponding project type with the "silo discovery" plugin enabled. For example, if you want to scan a JavaScript project, add a package.json data silo. Then, specify the data silo ID in the "--dataSiloId" parameter.
1671
1282
 
1672
- | Argument | Description | Type | Default | Required |
1673
- | ------------ | ----------------------------------------------------------------------------- | ------------ | --------------------------------------------------------- | -------- |
1674
- | auth | Transcend API key. | string | N/A | true |
1675
- | scanPath | File path in the project to scan. | string | ./ | false |
1676
- | ignoreDirs | List of directories to ignore in scan | string[] | [] | false |
1677
- | packageName | Name of the git repository that the package should be tied to | string | $(`cd ${scanPath} && git config --get remote.origin.url`) | false |
1678
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
1283
+ FLAGS
1284
+ --scanPath File path in the project to scan
1285
+ --dataSiloId The UUID of the corresponding data silo
1286
+ --auth The Transcend API key. This key must be associated with the data silo(s) being operated on. Requires scopes: "Manage Assigned Data Inventory"
1287
+ [--fileGlobs] You can pass a glob syntax pattern(s) to specify additional file paths to scan. Comma-separated list of globs. [default = ""]
1288
+ [--ignoreDirs] Comma-separated list of directories to ignore. [default = ""]
1289
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1290
+ -h --help Print help information and exit
1291
+ ```
1679
1292
 
1680
1293
  #### Usage
1681
1294
 
1682
- Scan the current directory
1295
+ Scan a JavaScript package.json:
1683
1296
 
1684
1297
  ```sh
1685
- yarn tr-scan-packages --auth=$TRANSCEND_API_KEY
1298
+ transcend inventory discover-silos --scanPath=./myJavascriptProject --auth=$TRANSCEND_API_KEY ---dataSiloId=445ee241-5f2a-477b-9948-2a3682a43d0e
1686
1299
  ```
1687
1300
 
1688
- Scan a specific directory
1301
+ 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:
1689
1302
 
1690
1303
  ```sh
1691
- yarn tr-scan-packages --auth=$TRANSCEND_API_KEY --scanPath=./examples/
1304
+ transcend inventory discover-silos --scanPath=./examples/ --auth=$TRANSCEND_API_KEY ---dataSiloId=b6776589-0b7d-466f-8aad-4378ffd3a321
1692
1305
  ```
1693
1306
 
1694
- Ignore certain folders
1307
+ 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.
1695
1308
 
1696
- ```sh
1697
- yarn tr-scan-packages --auth=$TRANSCEND_API_KEY --ignoreDirs=./test,./build
1698
- ```
1309
+ ### `transcend inventory pull-datapoints`
1310
+
1311
+ ```txt
1312
+ USAGE
1313
+ transcend inventory pull-datapoints (--auth value) [--file value] [--transcendUrl value] [--dataSiloIds value]... [--includeAttributes] [--includeGuessedCategories] [--parentCategories FINANCIAL|HEALTH|CONTACT|LOCATION|DEMOGRAPHIC|ID|ONLINE_ACTIVITY|USER_PROFILE|SOCIAL_MEDIA|CONNECTION|TRACKING|DEVICE|SURVEY|OTHER|UNSPECIFIED|NOT_PERSONAL_DATA|INTEGRATION_IDENTIFIER] [--subCategories value]...
1314
+ transcend inventory pull-datapoints --help
1699
1315
 
1700
- Specify the name of the repository
1316
+ Export the datapoints from your Data Inventory into a CSV.
1701
1317
 
1702
- ```sh
1703
- yarn tr-scan-packages --auth=$TRANSCEND_API_KEY --repositoryName="transcend-io/test"
1318
+ FLAGS
1319
+ --auth The Transcend API key. Requires scopes: "View Data Inventory"
1320
+ [--file] The file to save datapoints to [default = ./datapoints.csv]
1321
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1322
+ [--dataSiloIds]... List of data silo IDs to filter by [separator = ,]
1323
+ [--includeAttributes] Whether to include attributes in the output [default = false]
1324
+ [--includeGuessedCategories] Whether to include guessed categories in the output [default = false]
1325
+ [--parentCategories] List of parent categories to filter by [FINANCIAL|HEALTH|CONTACT|LOCATION|DEMOGRAPHIC|ID|ONLINE_ACTIVITY|USER_PROFILE|SOCIAL_MEDIA|CONNECTION|TRACKING|DEVICE|SURVEY|OTHER|UNSPECIFIED|NOT_PERSONAL_DATA|INTEGRATION_IDENTIFIER, separator = ,]
1326
+ [--subCategories]... List of subcategories to filter by [separator = ,]
1327
+ -h --help Print help information and exit
1704
1328
  ```
1705
1329
 
1706
- ### tr-discover-silos
1330
+ ### `transcend inventory pull-unstructured-discovery-files`
1707
1331
 
1708
- Transcend can help scan dependency management files to help detect new data silos where you may be storing user personal data. Currently we support scanning for new data silos in Javascript, Python, Gradle, and CocoaPods projects.
1332
+ ```txt
1333
+ USAGE
1334
+ transcend inventory pull-unstructured-discovery-files (--auth value) [--file value] [--transcendUrl value] [--dataSiloIds value]... [--subCategories value]... [--status MANUALLY_ADDED|CORRECTED|VALIDATED|CLASSIFIED|REJECTED] [--includeEncryptedSnippets]
1335
+ transcend inventory pull-unstructured-discovery-files --help
1709
1336
 
1710
- To get started, you'll need to add a data silo for the corresponding project type with "silo discovery" plugin enabled. For example, if you want to scan a JavaScript project, add a JavaScript package.json data silo. You can do this in the Transcend admin-dashboard (or via this CLI tooling).
1337
+ This command allows for pulling Unstructured Discovery into a CSV.
1711
1338
 
1712
- #### Authentication
1339
+ FLAGS
1340
+ --auth The Transcend API key. Requires scopes: "View Data Inventory"
1341
+ [--file] The file to save datapoints to [default = ./unstructured-discovery-files.csv]
1342
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1343
+ [--dataSiloIds]... List of data silo IDs to filter by [separator = ,]
1344
+ [--subCategories]... List of data categories to filter by [separator = ,]
1345
+ [--status] List of classification statuses to filter by [MANUALLY_ADDED|CORRECTED|VALIDATED|CLASSIFIED|REJECTED, separator = ,]
1346
+ [--includeEncryptedSnippets] Whether to include encrypted snippets of the entries classified [default = false]
1347
+ -h --help Print help information and exit
1348
+ ```
1713
1349
 
1714
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
1350
+ ### `transcend inventory derive-data-silos-from-data-flows`
1715
1351
 
1716
- The API key needs the following scopes:
1352
+ ```txt
1353
+ USAGE
1354
+ transcend inventory derive-data-silos-from-data-flows (--auth value) (--dataFlowsYmlFolder value) (--dataSilosYmlFolder value) [--ignoreYmls value]... [--transcendUrl value]
1355
+ transcend inventory derive-data-silos-from-data-flows --help
1717
1356
 
1718
- - Manage Assigned Data Inventory
1719
- - [Data Silo for Scanner]
1357
+ Given a folder of data flow transcend.yml configurations, convert those configurations to set of data silo transcend.yml configurations.
1720
1358
 
1721
- #### Arguments
1359
+ FLAGS
1360
+ --auth The Transcend API key. No scopes are required for this command.
1361
+ --dataFlowsYmlFolder The folder that contains data flow yml files
1362
+ --dataSilosYmlFolder The folder that contains data silo yml files
1363
+ [--ignoreYmls]... The set of yml files that should be skipped when uploading [separator = ,]
1364
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1365
+ -h --help Print help information and exit
1366
+ ```
1722
1367
 
1723
- | Argument | Description | Type | Default | Required |
1724
- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------- | -------- |
1725
- | scanPath | File path in the project to scan. | string | N/A | true |
1726
- | dataSiloID | The UUID of the corresponding data silo. | string | N/A | true |
1727
- | auth | Transcend API key. | string | N/A | true |
1728
- | fileGlobs | You can pass a [glob syntax pattern(s)](https://github.com/mrmlnc/fast-glob) to specify additional file paths to scan in addition to the default (ex: package.json). | string | N/A | false |
1368
+ ### `transcend inventory derive-data-silos-from-data-flows-cross-instance`
1729
1369
 
1730
- #### Usage
1370
+ ```txt
1371
+ USAGE
1372
+ transcend inventory derive-data-silos-from-data-flows-cross-instance (--auth value) (--dataFlowsYmlFolder value) [--output value] [--ignoreYmls value]... [--transcendUrl value]
1373
+ transcend inventory derive-data-silos-from-data-flows-cross-instance --help
1731
1374
 
1732
- Then, you'll need to grab that `dataSiloId` and a Transcend API key and pass it to the CLI. Using JavaScript package.json as an example:
1375
+ Given a folder of data flow transcend.yml configurations, convert those configurations to a single transcend.yml configurations of all related data silos.
1733
1376
 
1734
- ```sh
1735
- # Scan a javascript project (package.json files) to look for new data silos
1736
- yarn tr-discover-silos --scanPath=./myJavascriptProject --auth={{api_key}} ---dataSiloId=abcdefg
1377
+ FLAGS
1378
+ --auth The Transcend API key. No scopes are required for this command.
1379
+ --dataFlowsYmlFolder The folder that contains data flow yml files
1380
+ [--output] The output transcend.yml file containing the data silo configurations [default = ./transcend.yml]
1381
+ [--ignoreYmls]... The set of yml files that should be skipped when uploading [separator = ,]
1382
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1383
+ -h --help Print help information and exit
1737
1384
  ```
1738
1385
 
1739
- Here are some examples of a [Podfile](./examples/Podfile) and [gradle file](./examples/build.gradle). These are scanned like:
1386
+ ### `transcend admin generate-api-keys`
1740
1387
 
1741
- ```sh
1742
- yarn tr-discover-silos --scanPath=./examples/ --auth=$TRANSCEND_API_KEY ---dataSiloId=b6776589-0b7d-466f-8aad-4378ffd3a321
1743
- ```
1388
+ ```txt
1389
+ USAGE
1390
+ transcend admin generate-api-keys (--email value) (--password value) (--apiKeyTitle value) (--file value) (--scopes value)... [--deleteExistingApiKey] [--createNewApiKey] [--parentOrganizationId value] [--transcendUrl value]
1391
+ transcend admin generate-api-keys --help
1744
1392
 
1745
- 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.
1393
+ 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.
1746
1394
 
1747
- You can include additional arguments as well:
1395
+ Unlike the other commands that rely on API key authentication, this command relies upon username/password authentication. This command will spit out the API keys into a JSON file, and that JSON file can be used in subsequent cli commands.
1748
1396
 
1749
- ### tr-request-approve
1397
+ Authentication requires your email and password for the Transcend account. This command will only generate API keys for Transcend instances where you have the permission to "Manage API Keys".
1750
1398
 
1751
- Bulk approve a set of privacy requests from the [DSR Automation -> Incoming Requests](https://app.transcend.io/privacy-requests/incoming-requests) tab.
1399
+ FLAGS
1400
+ --email The email address that you use to log into Transcend
1401
+ --password The password for your account login
1402
+ --apiKeyTitle The title of the API key being generated or destroyed
1403
+ --file The file where API keys should be written to
1404
+ --scopes... The list of scopes that should be given to the API key [separator = ,]
1405
+ [--deleteExistingApiKey/--noDeleteExistingApiKey] When true, if an API key exists with the specified apiKeyTitle, the existing API key is deleted [default = true]
1406
+ [--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]
1407
+ [--parentOrganizationId] Filter for only a specific organization by ID, returning all child accounts associated with that organization
1408
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1409
+ -h --help Print help information and exit
1410
+ ```
1752
1411
 
1753
- #### Authentication
1412
+ #### Usage
1754
1413
 
1755
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
1756
-
1757
- The API key needs the following scopes:
1758
-
1759
- - Request Approval and Communication
1760
- - View Incoming Requests
1761
- - Manage Request Compilation
1762
-
1763
- #### Arguments
1764
-
1765
- | Argument | Description | Type | Default | Required |
1766
- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------- | ------------------------ | -------- |
1767
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
1768
- | actions | The [request actions](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to approve. | RequestAction[] | N/A | true |
1769
- | origins | The [request origins](https://github.com/transcend-io/privacy-types/blob/main/src/request.ts) to approve. | RequestOrigin[] | N/A | false |
1770
- | silentModeBefore | Any requests made before this date should be marked as silent mode | Date | N/A | false |
1771
- | createdAtBefore | Approve requests that were submitted before this time | Date | N/A | false |
1772
- | createdAtAfter | Approve requests that were submitted after this time | Date | N/A | false |
1773
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
1774
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 50 | false |
1775
-
1776
- #### Usage
1777
-
1778
- Bulk approve all SALE_OPT_OUT and ERASURE requests
1779
-
1780
- ```sh
1781
- yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT,ERASURE
1782
- ```
1783
-
1784
- Specifying the backend URL, needed for US hosted backend infrastructure.
1785
-
1786
- ```sh
1787
- yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=ERASURE --transcendUrl=https://api.us.transcend.io
1788
- ```
1789
-
1790
- Approve all Erasure requests that came through the API
1791
-
1792
- ```sh
1793
- yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=ERASURE --origins=API
1794
- ```
1795
-
1796
- Approve all requests, but mark any request made before 05/03/2023 as silent mode to prevent emailing those requests. When not provided, the existing silent mode state of that request will be used to determine if emails are sent.
1797
-
1798
- ```sh
1799
- yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT --silentModeBefore=05/03/2023
1800
- ```
1801
-
1802
- Increase the concurrency (defaults to 50)
1803
-
1804
- ```sh
1805
- yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=ERASURE --concurrency=100
1806
- ```
1807
-
1808
- Approve ERASURE requests created within a specific time frame
1809
-
1810
- ```sh
1811
- yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT --createdAtBefore=05/03/2023 --createdAtAfter=04/03/2023
1812
- ```
1813
-
1814
- ### tr-request-download-files
1815
-
1816
- 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.
1817
-
1818
- <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" />
1819
-
1820
- #### Authentication
1821
-
1822
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
1823
-
1824
- The API key needs the following scopes:
1825
-
1826
- - View the Request Compilation
1827
- - View Incoming Requests
1828
- - Request Approval and Communication
1829
-
1830
- #### Arguments
1831
-
1832
- | Argument | Description | Type | Default | Required |
1833
- | -------------------- | -------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
1834
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
1835
- | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
1836
- | concurrency | The concurrency to use when downloading requests in parallel. | number | 10 | false |
1837
- | requestIds | Specify the specific request IDs to download | string[] | [] | false |
1838
- | statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to download. | RequestStatus[] | APPROVING,DOWNLOADABLE | false |
1839
- | folderPath | The folder to download files to | string | ./dsr-files | false |
1840
- | createdAtBefore | Download requests that were submitted before this time | Date | N/A | false |
1841
- | createdAtAfter | Download requests that were submitted after this time | Date | N/A | false |
1842
- | approveAfterDownload | If the request is in status=APPROVING, approve the request after its downloaded | boolean | false | false |
1843
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
1844
-
1845
- #### Usage
1846
-
1847
- Download all requests in status=APPROVING or status=DOWNLOADABLE
1848
-
1849
- ```sh
1850
- yarn tr-request-download-files --auth=$TRANSCEND_API_KEY
1851
- ```
1852
-
1853
- Specifying the backend URL, needed for US hosted backend infrastructure.
1854
-
1855
- ```sh
1856
- yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
1857
- ```
1858
-
1859
- Write files to a specific folder on disk
1860
-
1861
- ```sh
1862
- yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --folderPath=./my-folder
1863
- ```
1864
-
1865
- Auto approve after download
1866
-
1867
- ```sh
1868
- yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --approveAfterDownload=true
1869
- ```
1870
-
1871
- Download requests in APPROVING state only
1872
-
1873
- ```sh
1874
- yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --statues=APPROVING
1875
- ```
1876
-
1877
- Increase the concurrency (defaults to 50)
1878
-
1879
- ```sh
1880
- yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --concurrency=100
1881
- ```
1882
-
1883
- Approve requests in a timeframe
1884
-
1885
- ```sh
1886
- yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --createdAtBefore=05/03/2023 --createdAtAfter=04/03/2023
1887
- ```
1888
-
1889
- Approve specific requests
1890
-
1891
- ```sh
1892
- yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --requestIds=b8c2ce13-9e40-4104-af79-23c68f2a87ba,d5eedc52-0f85-4034-bc01-14951acad5aa
1893
- ```
1894
-
1895
- ### tr-request-cancel
1896
-
1897
- Bulk cancel a set of privacy requests from the [DSR Automation -> Incoming Requests](https://app.transcend.io/privacy-requests/incoming-requests) tab.
1898
-
1899
- #### Authentication
1900
-
1901
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
1902
-
1903
- The API key needs the following scopes:
1904
-
1905
- - Request Approval and Communication
1906
- - View Incoming Requests
1907
-
1908
- #### Arguments
1909
-
1910
- | Argument | Description | Type | Default | Required |
1911
- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ---------------------------------------------------------------------------------------- | -------- |
1912
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
1913
- | actions | The [request actions](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to cancel. | RequestAction[] | N/A | true |
1914
- | statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to cancel. | RequestStatus[] | REQUEST_MADE,WAITING,ENRICHING,COMPILING,DELAYED,APPROVING,SECONDARY,SECONDARY_APPROVING | false |
1915
- | requestIds | Specify the specific request IDs to cancel | string[] | [] | false |
1916
- | silentModeBefore | Any requests made before this date should be marked as silent mode for canceling to skip email sending | Date | N/A | false |
1917
- | createdAtBefore | Cancel requests that were submitted before this time | Date | N/A | false |
1918
- | createdAtAfter | Cancel requests that were submitted after this time | Date | N/A | false |
1919
- | cancellationTitle | The title of the [email template](https://app.transcend.io/privacy-requests/email-templates) that should be sent to the requests upon cancelation. Any request in silent mode will not be emailed. | string | Request Canceled | false |
1920
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
1921
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 50 | false |
1922
-
1923
- #### Usage
1924
-
1925
- Bulk cancel all open SALE_OPT_OUT and ERASURE requests.
1926
-
1927
- ```sh
1928
- yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT,ERASURE
1929
- ```
1930
-
1931
- Specifying the backend URL, needed for US hosted backend infrastructure.
1932
-
1933
- ```sh
1934
- yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=ERASURE --transcendUrl=https://api.us.transcend.io
1935
- ```
1936
-
1937
- Bulk cancel all Erasure (request.type=ERASURE) requests that are in an enriching state (request.status=ENRICHING)
1938
-
1939
- ```sh
1940
- yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=ERASURE --statuses=ENRICHING
1941
- ```
1942
-
1943
- Bulk cancel requests by ID
1944
-
1945
- ```sh
1946
- yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=ACCESS,ERASURE,SALE_OPT_OUT,CONTACT_OPT_OUT --statuses=ENRICHING,COMPILING,APPROVING,WAITING,REQUEST_MADE,ON_HOLD,DELAYED,SECONDARY \
1947
- --requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
1948
- ```
1949
-
1950
- Send a specific email template to the request that are being canceled. When not provided, the default cancellation template is used ("Request Canceled").
1951
-
1952
- ```sh
1953
- yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=ERASURE --cancellationTitle="Custom Email Template"
1954
- ```
1955
-
1956
- Cancel all open SALE_OPT_OUT, but mark any request made before 05/03/2023 as silent mode to prevent emailing those requests. When not provided, the existing silent mode state of that request will be used to determine if emails are sent.
1957
-
1958
- ```sh
1959
- yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT --silentModeBefore=05/03/2023
1960
- ```
1961
-
1962
- Cancel all open SALE_OPT_OUT, within a specific time frame
1963
-
1964
- ```sh
1965
- yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT --createdAtBefore=05/03/2023 --createdAtAfter=04/03/2023
1966
- ```
1967
-
1968
- Increase the concurrency (defaults to 50)
1969
-
1970
- ```sh
1971
- yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=ERASURE --concurrency=500
1972
- ```
1973
-
1974
- ### tr-request-notify-additional-time
1975
-
1976
- Bulk notify a set of privacy requests from the [DSR Automation -> Incoming Requests](https://app.transcend.io/privacy-requests/incoming-requests) tab that more time is needed to complete the request. Note any request in silent mode will not be emailed.
1977
-
1978
- #### Authentication
1979
-
1980
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
1981
-
1982
- The API key needs the following scopes:
1983
-
1984
- - Request Approval and Communication
1985
- - View Incoming Requests
1986
-
1987
- #### Arguments
1988
-
1989
- | Argument | Description | Type | Default | Required |
1990
- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
1991
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
1992
- | createdAtBefore | Notify requests that are open but submitted before this time | Date | N/A | true |
1993
- | createdAtAfter | Notify requests that are open but submitted after this time. | Date | now() | false |
1994
- | actions | The [request actions](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to notify. | RequestAction[] | RequestAction[] | false |
1995
- | daysLeft | Only notify requests that have less than this number of days until they are considered expired. This allows for re-running the command without notifying the same users multiple times | number | 10 | false |
1996
- | days | The number of days to adjust the expiration of the request to | number | 45 | false |
1997
- | requestIds | Specify the specific request IDs to notify | string[] | [] | false |
1998
- | emailTemplate | The title of the [email template](https://app.transcend.io/privacy-requests/email-templates) that should be sent to the requests. | string | Additional Time Needed | false |
1999
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2000
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 50 | false |
2001
-
2002
- #### Usage
2003
-
2004
- Notify all request types that were made before 01/01/2024
2005
-
2006
- ```sh
2007
- yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024
2008
- ```
2009
-
2010
- Notify all request types that were made during a date range
2011
-
2012
- ```sh
2013
- yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --createdAtAfter=12/15/2023
2014
- ```
2015
-
2016
- Notify certain request types
2017
-
2018
- ```sh
2019
- yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --actions=SALE_OPT_OUT,ERASURE
2020
- ```
2021
-
2022
- Specifying the backend URL, needed for US hosted backend infrastructure.
2023
-
2024
- ```sh
2025
- yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --transcendUrl=https://api.us.transcend.io
2026
- ```
2027
-
2028
- Bulk notify requests by ID
2029
-
2030
- ```sh
2031
- yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 \
2032
- --requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
2033
- ```
2034
-
2035
- Only notify requests that are expiring in the next 3 days or less
2036
-
2037
- ```sh
2038
- yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --daysLeft=3
2039
- ```
2040
-
2041
- Change number of days to extend request by
2042
-
2043
- ```sh
2044
- yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --days=30
2045
- ```
2046
-
2047
- Send a specific email template to the request that instead of the default
2048
-
2049
- ```sh
2050
- yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --emailTemplate="Custom Email Template"
2051
- ```
2052
-
2053
- Increase the concurrency (defaults to 50)
2054
-
2055
- ```sh
2056
- yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --concurrency=500
2057
- ```
2058
-
2059
- ### tr-request-mark-silent
2060
-
2061
- Bulk update a set of privacy requests from the [DSR Automation -> Incoming Requests](https://app.transcend.io/privacy-requests/incoming-requests) tab to be in silent mode.
2062
-
2063
- #### Authentication
2064
-
2065
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2066
-
2067
- The API key needs the following scopes:
2068
-
2069
- - Manage Request Compilation
2070
-
2071
- #### Arguments
2072
-
2073
- | Argument | Description | Type | Default | Required |
2074
- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ---------------------------------------------------------------------------------------- | -------- |
2075
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2076
- | actions | The [request actions](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to mark silent. | RequestAction[] | N/A | true |
2077
- | statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to mark silent. | RequestStatus[] | REQUEST_MADE,WAITING.ENRICHING,COMPILING,DELAYED,APPROVING,SECONDARY,SECONDARY_APPROVING | false |
2078
- | requestIds | Specify the specific request IDs to mark silent | string[] | [] | false |
2079
- | createdAtBefore | Mark silent requests that were submitted before this time | Date | N/A | false |
2080
- | createdAtAfter | Mark silent requests that were submitted after this time | Date | N/A | false |
2081
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2082
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 50 | false |
2083
-
2084
- #### Usage
2085
-
2086
- Bulk mark silent all open SALE_OPT_OUT and ERASURE requests.
2087
-
2088
- ```sh
2089
- yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT,ERASURE
2090
- ```
2091
-
2092
- Specifying the backend URL, needed for US hosted backend infrastructure.
2093
-
2094
- ```sh
2095
- yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=ERASURE --transcendUrl=https://api.us.transcend.io
2096
- ```
2097
-
2098
- Bulk mark as silent all Erasure (request.type=ERASURE) requests that are in an enriching state (request.status=ENRICHING)
2099
-
2100
- ```sh
2101
- yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=ERASURE --statuses=ENRICHING
2102
- ```
2103
-
2104
- Bulk mark as silent requests by ID
2105
-
2106
- ```sh
2107
- yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=ACCESS,ERASURE,SALE_OPT_OUT,CONTACT_OPT_OUT --statuses=ENRICHING,COMPILING,APPROVING,WAITING,REQUEST_MADE,ON_HOLD,DELAYED,SECONDARY \
2108
- --requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
2109
- ```
2110
-
2111
- Mark sale opt out requests as silent within a certain date range
2112
-
2113
- ```sh
2114
- yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT --createdAtBefore=05/03/2023 --createdAtAfter=04/03/2023
2115
- ```
2116
-
2117
- Increase the concurrency (defaults to 50)
2118
-
2119
- ```sh
2120
- yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=ERASURE --concurrency=500
2121
- ```
2122
-
2123
- ### tr-request-upload
2124
-
2125
- If you need to upload a set of requests from a CSV, you can run this command.
2126
- This command uses [inquirer](https://github.com/SBoudrias/Inquirer.js/) to prompt the user to
2127
- map the shape of the CSV to the shape of the Transcend API. There is no requirement for the
2128
- shape of the incoming CSV, as the script will handle the mapping process.
2129
-
2130
- The script will also produce a JSON cache file, that allows for the mappings to be preserved between runs.
2131
- This can be useful if you have the same CSV shape that needs to be imported multiple times.
2132
- Once the mapping process is done once, it does not need to be done again.
2133
-
2134
- Additionally, the JSON cache file will store the result of any privacy requests that fail to be uploaded.
2135
- This allows for the script to continue uploading requests even if some requests error out. The script
2136
- user can then inspect the errors, and decide whether it is necessary to re-run those requests.
2137
-
2138
- https://user-images.githubusercontent.com/10264973/205477183-d4762087-668c-43f1-a84c-0fce0ec3e132.mov
2139
-
2140
- #### Authentication
2141
-
2142
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2143
-
2144
- The API key needs the following scopes:
2145
-
2146
- - Submit New Data Subject Request
2147
- - View Identity Verification Settings
2148
- - View Global Attributes
2149
-
2150
- #### Arguments
2151
-
2152
- | Argument | Description | Type | Default | Required |
2153
- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------ | --------------------------------------- | -------- |
2154
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2155
- | file | Path to the CSV file of requests to tupload. | string - file-path | ./requests.csv | false |
2156
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2157
- | cacheFilepath | The path to the JSON file encoding the metadata used to map the CSV shape to Transcend API. | string | ./transcend-privacy-requests-cache.json | false |
2158
- | requestReceiptFolder | The path to the folder where receipts of each upload are stored. This allows for debugging of errors. | string | ./privacy-request-upload-receipts | false |
2159
- | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
2160
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 50 | false |
2161
- | attributes | Tag all of the requests with the following attributes. Format: key1:value1;value2,key2:value3;value4 | string | Tags:transcend-cli | false |
2162
- | isTest | Flag whether the requests being uploaded are test requests or regular requests. | boolean | false | false |
2163
- | isSilent | Flag whether the requests being uploaded should be submitted in silent mode. | boolean | true | false |
2164
- | skipSendingReceipt | Flag whether to skip sending of the receipt email | boolean | false | false |
2165
- | emailIsVerified | Indicate whether the email address being uploaded is pre-verified. Set to false to send a verification email. | boolean | true | false |
2166
- | skipFilterStep | When true, skip the interactive step to filter down the CSV. | boolean | false | false |
2167
- | dryRun | When true, perform a dry run of the upload instead of calling the API to submit the requests. | boolean | false | false |
2168
- | debug | Debug logging. | boolean | false | false |
2169
- | defaultPhoneCountryCode | When uploading phone numbers, if the phone number is missing a country code, assume this country code. Defaults to USA. | string | 1 | false |
2170
-
2171
- #### Usage
2172
-
2173
- ```sh
2174
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv
2175
- ```
2176
-
2177
- For self-hosted sombras that use an internal key:
2178
-
2179
- ```sh
2180
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY --file=/Users/transcend/Desktop/test.csv
2181
- ```
2182
-
2183
- Specifying the backend URL, needed for US hosted backend infrastructure.
2184
-
2185
- ```sh
2186
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY --file=/Users/transcend/Desktop/test.csv \
2187
- --transcendUrl=https://api.us.transcend.io
2188
- ```
2189
-
2190
- Run without being prompted to filter requests
2191
-
2192
- ```sh
2193
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --skipFilterStep=true
2194
- ```
2195
-
2196
- Perform a dry run to see what will be uploaded, without calling the Transcend API to upload the request
2197
-
2198
- ```sh
2199
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --dryRun=true
2200
- ```
2201
-
2202
- Mark the uploaded requests as test requests
2203
-
2204
- ```sh
2205
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --isTest=true
2206
- ```
2207
-
2208
- Send email communications to the users throughout the request lifecycle.
2209
-
2210
- ```sh
2211
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --isSilent=false
2212
- ```
2213
-
2214
- Upload requests without sending initial email receipt, but still send later emails
2215
-
2216
- ```sh
2217
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --skipSendingReceipt=true
2218
- ```
2219
-
2220
- Send email verification to user before request continues.
2221
-
2222
- ```sh
2223
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv \
2224
- --isSilent=false --emailIsVerified=false
2225
- ```
2226
-
2227
- Increase the concurrency (defaults to 50)
2228
-
2229
- ```sh
2230
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --concurrency=100
2231
- ```
2232
-
2233
- Tag all uploaded requests with an attribute
2234
-
2235
- ```sh
2236
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv \
2237
- --attributes=Tags:transcend-cli;my-customer-tag,Customer:acme-corp
2238
- ```
2239
-
2240
- Specify default country code for phone numbers
2241
-
2242
- ```sh
2243
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --defaultPhoneCountryCode=44
2244
- ```
2245
-
2246
- Include debug logs - warning, this logs out personal data.
2247
-
2248
- ```sh
2249
- yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --debug=true
2250
- ```
2251
-
2252
- ### tr-request-restart
2253
-
2254
- Bulk update a set of privacy requests based on a set of request filters.
2255
-
2256
- #### Authentication
2257
-
2258
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2259
-
2260
- The API key needs the following scopes:
2261
-
2262
- - Submit New Data Subject Request
2263
- - View the Request Compilation
2264
-
2265
- #### Arguments
2266
-
2267
- | Argument | Description | Type | Default | Required |
2268
- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------- | -------- |
2269
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2270
- | actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | true |
2271
- | statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to restart. | RequestStatus[] | N/A | true |
2272
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2273
- | requestReceiptFolder | The path to the folder where receipts of each upload are stored. This allows for debugging of errors. | string | ./privacy-request-upload-receipts | false |
2274
- | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. Only required when `copyIdentifiers` flag used. | string | N/A | false |
2275
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 15 | false |
2276
- | requestIds | Specify the specific request IDs to restart | string[] | [] | false |
2277
- | emailIsVerified | Indicate whether the primary email address is verified. Set to false to send a verification email. | boolean | true | false |
2278
- | createdAt | Restart requests that were submitted before a specific date. | Date | Date.now() | false |
2279
- | silentModeBefore | Requests older than this date should be marked as silent mode | Date | N/A | false |
2280
- | createdAtBefore | Restart requests that were submitted before this time | Date | N/A | false |
2281
- | createdAtAfter | Restart requests that were submitted after this time | Date | N/A | false |
2282
- | sendEmailReceipt | Send email receipts to the restarted requests | boolean | false | false |
2283
- | copyIdentifiers | Copy over all enriched identifiers from the initial request. Leave false to restart from scratch with initial identifiers only. | boolean | false | false |
2284
- | skipWaitingPeriod | Skip queued state of request and go straight to compiling | boolean | false | false |
2285
-
2286
- #### Usage
2287
-
2288
- ```sh
2289
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE
2290
- ```
2291
-
2292
- For self-hosted sombras that use an internal key:
2293
-
2294
- ```sh
2295
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE
2296
- ```
2297
-
2298
- Specifying the backend URL, needed for US hosted backend infrastructure.
2299
-
2300
- ```sh
2301
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE \
2302
- --transcendUrl=https://api.us.transcend.io
2303
- ```
2304
-
2305
- Increase the concurrency (defaults to 20)
2306
-
2307
- ```sh
2308
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --concurrency=100
2309
- ```
2310
-
2311
- Re-verify emails
2312
-
2313
- ```sh
2314
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --emailIsVerified=false
2315
- ```
2316
-
2317
- Restart specific requests by ID
2318
-
2319
- ```sh
2320
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
2321
- ```
2322
-
2323
- Restart requests that were submitted before a specific date.
2324
-
2325
- ```sh
2326
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --createdAt=2022-05-11T00:46
2327
- ```
2328
-
2329
- Restart requests and place everything in silent mode submitted before a certain date
2330
-
2331
- ```sh
2332
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --silentModeBefore=2022-12-05T00:46
2333
- ```
2334
-
2335
- Restart requests within a specific timeframe
2336
-
2337
- ```sh
2338
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE ---createdAtBefore="04/05/2023" --createdAtAfter="02/21/2023"
2339
- ```
2340
-
2341
- Send email receipts to the restarted requests
2342
-
2343
- ```sh
2344
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --sendEmailReceipt=true
2345
- ```
2346
-
2347
- Copy over all enriched identifiers from the initial request. Leave false to restart from scratch with initial identifiers only
2348
-
2349
- ```sh
2350
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --copyIdentifiers=true
2351
- ```
2352
-
2353
- Skip queued state of request and go straight to compiling
2354
-
2355
- ```sh
2356
- yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --skipWaitingPeriod=true
2357
- ```
2358
-
2359
- ### tr-request-enricher-restart
2360
-
2361
- Bulk restart a particular enricher across a series of DSRs.
2362
-
2363
- #### Authentication
2364
-
2365
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2366
-
2367
- The API key needs the following scopes:
2368
-
2369
- - Manage Request Compilation
2370
-
2371
- #### Arguments
2372
-
2373
- | Argument | Description | Type | Default | Required |
2374
- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ------------------------ | -------- |
2375
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2376
- | enricherId | The ID of the enricher to restart | string | N/A | true |
2377
- | actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | false |
2378
- | requestEnricherStatuses | The [request enricher statuses](https://github.com/transcend-io/privacy-types/blob/main/src/request.ts#L157) to restart. | RequestEnricherStatus[] | N/A | false |
2379
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2380
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 15 | false |
2381
- | requestIds | Specify the specific request IDs to restart | string[] | [] | false |
2382
- | createdAtBefore | Restart requests that were submitted before this time | Date | N/A | false |
2383
- | createdAtAfter | Restart requests that were submitted after this time | Date | N/A | false |
2384
-
2385
- #### Usage
2386
-
2387
- ```sh
2388
- yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY --enricherId=3be5e898-fea9-4614-84de-88cd5265c557
2389
- ```
2390
-
2391
- Restart specific request types
2392
-
2393
- ```sh
2394
- yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY ---enricherId=3be5e898-fea9-4614-84de-88cd5265c557 --actions=ACCESS,ERASURE
2395
- ```
2396
-
2397
- Specifying the backend URL, needed for US hosted backend infrastructure.
2398
-
2399
- ```sh
2400
- yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY ---enricherId=3be5e898-fea9-4614-84de-88cd5265c557 --transcendUrl=https://api.us.transcend.io
2401
- ```
2402
-
2403
- Increase the concurrency (defaults to 20)
2404
-
2405
- ```sh
2406
- yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY ---enricherId=3be5e898-fea9-4614-84de-88cd5265c557 --concurrency=100
2407
- ```
2408
-
2409
- Restart requests within a specific timeframe
2410
-
2411
- ```sh
2412
- yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY --enricherId=3be5e898-fea9-4614-84de-88cd5265c557 ---createdAtBefore="04/05/2023" --createdAtAfter="02/21/2023"
2413
- ```
2414
-
2415
- Restart requests that are in an error state
2416
-
2417
- ```sh
2418
- yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY --enricherId=3be5e898-fea9-4614-84de-88cd5265c557 ---requestEnricherStatuses=ERROR
2419
- ```
2420
-
2421
- ### tr-request-reject-unverified-identifiers
2422
-
2423
- Bulk clear out any request identifiers that are unverified
2424
-
2425
- #### Authentication
2426
-
2427
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2428
-
2429
- The API key needs the following scopes:
2430
-
2431
- - Manage Request Compilation
2432
-
2433
- #### Arguments
2434
-
2435
- | Argument | Description | Type | Default | Required |
2436
- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
2437
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2438
- | identifierNames | The names of identifiers to clear out | string[] | N/A | true |
2439
- | actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | false |
2440
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2441
-
2442
- #### Usage
2443
-
2444
- ```sh
2445
- yarn tr-request-reject-unverified-identifiers --auth=$TRANSCEND_API_KEY --identifierNames=phone
2446
- ```
2447
-
2448
- Restart specific request types
2449
-
2450
- ```sh
2451
- yarn tr-request-reject-unverified-identifiers --auth=$TRANSCEND_API_KEY --identifierNames=phone --actions=ACCESS,ERASURE
2452
- ```
2453
-
2454
- Specifying the backend URL, needed for US hosted backend infrastructure.
2455
-
2456
- ```sh
2457
- yarn tr-request-reject-unverified-identifiers --auth=$TRANSCEND_API_KEY --identifierNames=phone --transcendUrl=https://api.us.transcend.io
2458
- ```
2459
-
2460
- ### tr-request-export
2461
-
2462
- Export privacy requests and request identifiers to a CSV file.
2463
-
2464
- #### Authentication
2465
-
2466
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2467
-
2468
- The API key needs the following scopes:
2469
-
2470
- - View Incoming Requests
2471
- - View the Request Compilation
2472
-
2473
- #### Arguments
2474
-
2475
- | Argument | Description | Type | Default | Required |
2476
- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------------------------------ | -------- |
2477
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2478
- | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
2479
- | actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | false |
2480
- | statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to restart. | RequestStatus[] | N/A | false |
2481
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2482
- | file | Path to the CSV file where identifiers will be written to. | string - file-path | ./transcend-request-export.csv | false |
2483
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 100 | false |
2484
- | createdAtBefore | Pull requests that were submitted before this time | Date | N/A | false |
2485
- | createdAtAfter | Pull requests that were submitted after this time | Date | N/A | false |
2486
- | showTests | Filter for test requests or production requests - when not provided, pulls both | boolean | N/A | false |
2487
-
2488
- #### Usage
2489
-
2490
- Pull all requests:
2491
-
2492
- ```sh
2493
- yarn tr-request-export --auth=$TRANSCEND_API_KEY
2494
- ```
2495
-
2496
- Filter for specific actions and statuses:
2497
-
2498
- ```sh
2499
- yarn tr-request-export --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE
2500
- ```
2501
-
2502
- Specifying the backend URL, needed for US hosted backend infrastructure.
2503
-
2504
- ```sh
2505
- yarn tr-request-export --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
2506
- ```
2507
-
2508
- With Sombra authentication
2509
-
2510
- ```sh
2511
- yarn tr-request-export --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY
2512
- ```
2513
-
2514
- Increase the concurrency (defaults to 100)
2515
-
2516
- ```sh
2517
- yarn tr-request-export --auth=$TRANSCEND_API_KEY --concurrency=500
2518
- ```
2519
-
2520
- Filter for production requests only
2521
-
2522
- ```sh
2523
- yarn tr-request-export --auth=$TRANSCEND_API_KEY --showTests=false
2524
- ```
2525
-
2526
- Filter for requests within a date range
2527
-
2528
- ```sh
2529
- yarn tr-request-export --auth=$TRANSCEND_API_KEY --createdAtBefore="04/05/2023" --createdAtAfter="02/21/2023"
2530
- ```
2531
-
2532
- Write to a specific file location
2533
-
2534
- ```sh
2535
- yarn tr-request-export --auth=$TRANSCEND_API_KEY --file=./path/to/file.csv
2536
- ```
2537
-
2538
- ### tr-cron-pull-identifiers
2539
-
2540
- If you are using the cron job integration, you can run this command to pull the outstanding identifiers
2541
- for the data silo to a CSV.
2542
-
2543
- For large datasets, the output will be automatically split into multiple CSV files to avoid file system size limits.
2544
- Use the `--chunkSize` parameter to control the maximum number of rows per file.
2545
-
2546
- Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.
2547
-
2548
- https://user-images.githubusercontent.com/10264973/205483055-f4050645-bdf5-4ea2-8464-3183abd63074.mov
2549
-
2550
- #### Authentication
2551
-
2552
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2553
-
2554
- The API key must be associated to the ID of the integration/data silo that is being operated on.
2555
-
2556
- #### Arguments
2557
-
2558
- | Argument | Description | Type | Default | Required |
2559
- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ | ------------------------ | -------- |
2560
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2561
- | dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
2562
- | actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | true |
2563
- | file | Path to the CSV file where identifiers will be written to. | string - file-path | ./cron-identifiers.csv | false |
2564
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2565
- | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
2566
- | pageLimit | The page limit to use when pulling in pages of identifiers. | number | 100 | false |
2567
- | skipRequestCount | Whether to skip the count of all outstanding requests. This is required to render the progress bar, but can take a long time to run if you have a large number of outstanding requests to process. In that case, we recommend setting skipRequestCount=true so that you can still proceed with fetching the identifiers. | boolean | false | false |
2568
- | chunkSize | Maximum number of rows per CSV file. For large datasets, the output will be automatically split into multiple files to avoid file system size limits. Each file will contain at most this many rows. | number | 100000 | false |
2569
-
2570
- #### Usage
2571
-
2572
- ```sh
2573
- yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE
2574
- ```
2575
-
2576
- Pull to a specific file location
2577
-
2578
- ```sh
2579
- yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
2580
- --file=/Users/transcend/Desktop/test.csv
2581
- ```
2582
-
2583
- For self-hosted sombras that use an internal key:
2584
-
2585
- ```sh
2586
- yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
2587
- --sombraAuth=$SOMBRA_INTERNAL_KEY
2588
- ```
2589
-
2590
- Specifying the backend URL, needed for US hosted backend infrastructure.
2591
-
2592
- ```sh
2593
- yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
2594
- --transcendUrl=https://api.us.transcend.io
2595
- ```
2596
-
2597
- Specifying the page limit, defaults to 100.
2598
-
2599
- ```sh
2600
- yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
2601
- --pageLimit=300
2602
- ```
2603
-
2604
- Specifying the chunk size for large datasets to avoid file size limits (defaults to 100,000 rows per file).
2605
-
2606
- ```sh
2607
- yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
2608
- --chunkSize=50000
2609
- ```
2610
-
2611
- **Note:** For large datasets exceeding the chunk size, multiple CSV files will be created automatically:
2612
-
2613
- - `filename_part01_of_05.csv` (50,000 rows)
2614
- - `filename_part02_of_05.csv` (50,000 rows)
2615
- - ... and so on
2616
-
2617
- ### tr-cron-mark-identifiers-completed
2618
-
2619
- This command takes the output of `tr-cron-pull-identifiers` and notifies Transcend that all of the requests in the CSV have been processed.
2620
- This is used in the workflow like:
2621
-
2622
- 1. Pull identifiers to CSV:
2623
- `yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE --file=./outstanding-requests.csv`
2624
- 2. Run your process to operate on that CSV of requests.
2625
- 3. Notify Transcend of completion
2626
- `yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --file=./outstanding-requests.csv`
2627
-
2628
- Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.
2629
-
2630
- #### Authentication
2631
-
2632
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2633
-
2634
- The API key must be associated to the ID of the integration/data silo that is being operated on.
2635
-
2636
- #### Arguments
2637
-
2638
- | Argument | Description | Type | Default | Required |
2639
- | ------------ | ------------------------------------------------------------------------------------ | ------------------ | ------------------------ | -------- |
2640
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2641
- | dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
2642
- | file | Path to the CSV file where identifiers will be written to. | string - file-path | ./cron-identifiers.csv | false |
2643
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2644
- | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
2645
-
2646
- #### Usage
2647
-
2648
- ```sh
2649
- yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f
2650
- ```
2651
-
2652
- Pull to a specific file location
2653
-
2654
- ```sh
2655
- yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
2656
- --file=/Users/transcend/Desktop/test.csv
2657
- ```
2658
-
2659
- For self-hosted sombras that use an internal key:
2660
-
2661
- ```sh
2662
- yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
2663
- --sombraAuth=$SOMBRA_INTERNAL_KEY
2664
- ```
2665
-
2666
- Specifying the backend URL, needed for US hosted backend infrastructure.
2667
-
2668
- ```sh
2669
- yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
2670
- --transcendUrl=https://api.us.transcend.io
2671
- ```
2672
-
2673
- ### tr-manual-enrichment-pull-identifiers
2674
-
2675
- This command pulls down the set of privacy requests that are currently pending manual enrichment.
2676
-
2677
- This is useful for the following workflow:
2678
-
2679
- 1. Pull identifiers to CSV:
2680
- `yarn tr-manual-enrichment-pull-identifiers --file=./enrichment-requests.csv`
2681
- 2. Fill out the CSV with additional identifiers
2682
- 3. Push updated back to Transcend
2683
- `yarn tr-manual-enrichment-push-identifiers --file=./enrichment-requests.csv`
2684
-
2685
- #### Authentication
2686
-
2687
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2688
-
2689
- The API key must have the following scopes:
2690
-
2691
- - View Incoming Requests
2692
- - View the Request Compilation
2693
-
2694
- #### Arguments
2695
-
2696
- | Argument | Description | Type | Default | Required |
2697
- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ | ----------------------------------- | -------- |
2698
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2699
- | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
2700
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2701
- | file | Path to the CSV file where requests will be written to. | string - file-path | ./manual-enrichment-identifiers.csv | false |
2702
- | actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to pull for. | RequestAction[] | N/A | false |
2703
-
2704
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 100 | false |
2705
-
2706
- #### Usage
2707
-
2708
- ```sh
2709
- yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY
2710
- ```
2711
-
2712
- Pull to a specific file location
2713
-
2714
- ```sh
2715
- yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv
2716
- ```
2717
-
2718
- For specific types of requests
2719
-
2720
- ```sh
2721
- yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY --actions=ACCESS,ERASURE
2722
- ```
2723
-
2724
- For US hosted infrastructure
2725
-
2726
- ```sh
2727
- yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
2728
- ```
2729
-
2730
- With Sombra authentication
2731
-
2732
- ```sh
2733
- yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY
2734
- ```
2735
-
2736
- With specific concurrency
2737
-
2738
- ```sh
2739
- yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY --concurrency=200
2740
- ```
2741
-
2742
- ### tr-manual-enrichment-push-identifiers
2743
-
2744
- This command push up a set of identifiers for a set of requests pending manual enrichment.
2745
-
2746
- This is useful for the following workflow:
2747
-
2748
- 1. Pull identifiers to CSV:
2749
- `yarn tr-manual-enrichment-pull-identifiers --file=./enrichment-requests.csv`
2750
- 2. Fill out the CSV with additional identifiers
2751
- 3. Push updated back to Transcend
2752
- `yarn tr-manual-enrichment-push-identifiers --file=./enrichment-requests.csv`
2753
-
2754
- #### Authentication
2755
-
2756
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2757
-
2758
- The API key must have the following scopes:
2759
-
2760
- - "Manage Request Identity Verification"
2761
- - "Manage Request Compilation" (only when specifying `silentModeBefore`)
2762
-
2763
- #### Arguments
2764
-
2765
- | Argument | Description | Type | Default | Required |
2766
- | ---------------- | ------------------------------------------------------------------------------------ | ------------------ | ----------------------------------- | -------- |
2767
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2768
- | enricherId | The ID of the Request Enricher to upload to | string - UUID | N/A | true |
2769
- | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
2770
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2771
- | file | Path to the CSV file where requests will be written to. | string - file-path | ./manual-enrichment-identifiers.csv | false |
2772
- | silentModeBefore | When true, set requests into silent mode before enriching | boolean | false | false |
2773
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 100 | false |
2774
-
2775
- #### Usage
2776
-
2777
- ```sh
2778
- yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf
2779
- ```
2780
-
2781
- Pull to a specific file location
2782
-
2783
- ```sh
2784
- yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf --file=/Users/transcend/Desktop/test.csv
2785
- ```
2786
-
2787
- For US hosted infrastructure
2788
-
2789
- ```sh
2790
- yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf --transcendUrl=https://api.us.transcend.io
2791
- ```
2792
-
2793
- With Sombra authentication
2794
-
2795
- ```sh
2796
- yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf --sombraAuth=$SOMBRA_INTERNAL_KEY
2797
- ```
2798
-
2799
- With specific concurrency
2800
-
2801
- ```sh
2802
- yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf --concurrency=200
2803
- ```
2804
-
2805
- When enriching requests, mark all requests as silent mode before processing
2806
-
2807
- ```sh
2808
- yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf --silentModeBefore=true
2809
- ```
2810
-
2811
- ### tr-mark-request-data-silos-completed
2812
-
2813
- This command takes in a CSV of Request IDs as well as a Data Silo ID and marks all associated privacy request jobs as completed.
2814
- This command is useful with the "Bulk Response" UI. The CSV is expected to have 1 column named "Request Id".
2815
-
2816
- #### Authentication
2817
-
2818
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2819
-
2820
- The API key must have the following scopes:
2821
-
2822
- - "Manage Request Compilation"
2823
-
2824
- #### Arguments
2825
-
2826
- | Argument | Description | Type | Default | Required |
2827
- | ------------ | ----------------------------------------------------------------------------- | ------------------ | ------------------------- | -------- |
2828
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2829
- | dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
2830
- | file | Path to the CSV file where identifiers will be written to. | string - file-path | ./request-identifiers.csv | false |
2831
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2832
-
2833
- #### Usage
2834
-
2835
- ```sh
2836
- yarn tr-mark-request-data-silos-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f
2837
- ```
2838
-
2839
- Pull to a specific file location
2840
-
2841
- ```sh
2842
- yarn tr-mark-request-data-silos-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
2843
- --file=/Users/transcend/Desktop/test.csv
2844
- ```
2845
-
2846
- Specifying the backend URL, needed for US hosted backend infrastructure.
2847
-
2848
- ```sh
2849
- yarn tr-mark-request-data-silos-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
2850
- --transcendUrl=https://api.us.transcend.io
2851
- ```
2852
-
2853
- ### tr-skip-request-data-silos
2854
-
2855
- This command allows for bulk skipping all open privacy request jobs for a particular data silo. This command is useful if you want to disable a data silo and then clear out any active privacy requests that are still queued up for that data silo.
2856
-
2857
- #### Authentication
2858
-
2859
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2860
-
2861
- The API key must have the following scopes:
2862
-
2863
- - "Manage Request Compilation"
2864
-
2865
- #### Arguments
2866
-
2867
- | Argument | Description | Type | Default | Required |
2868
- | ------------ | --------------------------------------------------------------------------------------------------------------------------- | ------------------- | ------------------------ | -------- |
2869
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2870
- | dataSiloId | The ID of the data silo to skip privacy request jobs for. | string - UUID | N/A | true |
2871
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2872
- | statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to mark as completed for. | RequestStatus[] | COMPILING,SECONDARY | false |
2873
- | status | The status to set the request data silo job to | SKIPPED or RESOLVED | SKIPPED | false |
2874
-
2875
- #### Usage
2876
-
2877
- ```sh
2878
- yarn tr-skip-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f
2879
- ```
2880
-
2881
- Specifying the backend URL, needed for US hosted backend infrastructure.
2882
-
2883
- ```sh
2884
- yarn tr-skip-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
2885
- --transcendUrl=https://api.us.transcend.io
2886
- ```
2887
-
2888
- Only mark as completed requests in "removing data" phase
2889
-
2890
- ```sh
2891
- yarn tr-skip-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --statuses=SECONDARY
2892
- ```
2893
-
2894
- Set to status "RESOLVED" instead of status "SKIPPED"
2895
-
2896
- ```sh
2897
- yarn tr-skip-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --status=RESOLVED
2898
- ```
2899
-
2900
- ### tr-skip-preflight-jobs
2901
-
2902
- This command allows for bulk skipping preflight checks.
2903
-
2904
- #### Authentication
2905
-
2906
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2907
-
2908
- The API key must have the following scopes:
2909
-
2910
- - "Manage Request Compilation"
2911
-
2912
- #### Arguments
2913
-
2914
- | Argument | Description | Type | Default | Required |
2915
- | ------------ | ----------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
2916
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2917
- | enricherIds | The ID of the enrichers to skip privacy request jobs for. | string[] - UUID | N/A | true |
2918
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2919
-
2920
- #### Usage
2921
-
2922
- ```sh
2923
- yarn tr-skip-preflight-jobs --auth=$TRANSCEND_API_KEY --enricherIds=70810f2e-cf90-43f6-9776-901a5950599f
2924
- ```
2925
-
2926
- Specifying the backend URL, needed for US hosted backend infrastructure.
2927
-
2928
- ```sh
2929
- yarn tr-skip-preflight-jobs --auth=$TRANSCEND_API_KEY --enricherIds=70810f2e-cf90-43f6-9776-901a5950599f,db1e64ba-cea6-43ff-ad27-5dc8122e5224 \
2930
- --transcendUrl=https://api.us.transcend.io
2931
- ```
2932
-
2933
- ### tr-retry-request-data-silos
2934
-
2935
- This command allows for bulk restarting a set of data silos jobs for open privacy requests. This is equivalent to clicking the "Wipe and Retry" button for a particular data silo across a set of privacy requests.
2936
-
2937
- #### Authentication
2938
-
2939
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2940
-
2941
- The API key must have the following scopes:
2942
-
2943
- - "Manage Request Compilation"
2944
-
2945
- #### Arguments
2946
-
2947
- | Argument | Description | Type | Default | Required |
2948
- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
2949
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2950
- | dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
2951
- | actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | true |
2952
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2953
-
2954
- #### Usage
2955
-
2956
- ```sh
2957
- yarn tr-retry-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ACCESS
2958
- ```
2959
-
2960
- Specifying the backend URL, needed for US hosted backend infrastructure.
2961
-
2962
- ```sh
2963
- yarn tr-retry-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ACCESS \
2964
- --transcendUrl=https://api.us.transcend.io
2965
- ```
2966
-
2967
- ### tr-update-consent-manager
2968
-
2969
- This command allows for updating Consent Manager to latest version. The consent manager bundle can also be deployed using this commannd.
2970
-
2971
- #### Authentication
2972
-
2973
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
2974
-
2975
- The API key must have the following scopes:
2976
-
2977
- - "Manage Consent Manager Developer Settings"
2978
-
2979
- #### Arguments
2980
-
2981
- | Argument | Description | Type | Default | Required |
2982
- | ------------ | ----------------------------------------------------------------------------- | ------------ | ------------------------ | -------- |
2983
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
2984
- | bundleTypes | The bundle types to deploy | BundleType[] | PRODUCTION,TEST | false |
2985
- | deploy | When true, deploy the Consent Manager after updating the version | boolean | false | false |
2986
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
2987
-
2988
- #### Usage
2989
-
2990
- ```sh
2991
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY
2992
- ```
2993
-
2994
- Specifying the backend URL, needed for US hosted backend infrastructure.
2995
-
2996
- ```sh
2997
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
2998
- ```
2999
-
3000
- Update version and deploy bundles.
3001
-
3002
- ```sh
3003
- yarn tr-update-consent-manager -auth=$TRANSCEND_API_KEY --deploy=true
3004
- ```
3005
-
3006
- Update just the TEST bundle
3007
-
3008
- ```sh
3009
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --bundleTypes=TEST
3010
- ```
3011
-
3012
- Update just the PRODUCTION bundle
3013
-
3014
- ```sh
3015
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --bundleTypes=PRODUCTION
3016
- ```
3017
-
3018
- Update multiple organizations at once
3019
-
3020
- ```sh
3021
- yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --bundleTypes=PRODUCTION
3022
-
3023
- tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD --scopes="Manage Consent Manager" --apiKeyTitle="CLI Usage Cross Instance Sync" --file=./transcend-api-keys.json
3024
- yarn tr-update-consent-manager --auth=./transcend-api-keys.json --deploy=true
3025
- ```
3026
-
3027
- ### tr-consent-managers-to-business-entities
3028
-
3029
- This command allows for converting a folder or Consent Manager `transcend.yml` files into a single `transcend.yml` file where each consent manager configuration is a Business Entity in the data inventory.
3030
-
3031
- #### Authentication
3032
-
3033
- No authentication is required to run this command. It reads and writes files from local disk.
3034
-
3035
- #### Arguments
3036
-
3037
- | Argument | Description | Type | Default | Required |
3038
- | ----------------------- | ---------------------------------------------------------------------- | -------------------- | -------------------------------- | -------- |
3039
- | consentManagerYmlFolder | Path to the folder of Consent Manager `transcend.yml` files to combine | string - folder-path | N/A | true |
3040
- | output | Path to the output `transcend.yml` with business entity configuration | string - file-path | ./combined-business-entities.yml | false |
3041
-
3042
- #### Usage
3043
-
3044
- Combine files in folder `./working/consent-managers/` to file `./combined-business-entities.yml`
3045
-
3046
- ```sh
3047
- yarn tr-consent-managers-to-business-entities --consentManagerYmlFolder=./working/consent-managers/
3048
- ```
3049
-
3050
- Specify custom output file
3051
-
3052
- ```sh
3053
- yarn tr-consent-managers-to-business-entities --consentManagerYmlFolder=./working/consent-managers/ --output=./custom.yml
3054
- ```
3055
-
3056
- ### tr-consent-manager-service-json-to-yml
3057
-
3058
- Import the services from an airgap.js file into a Transcend instance.
3059
-
3060
- Step 1) Run `await airgap.getMetadata()` on a site with airgap
3061
- Step 2) Right click on the printed object, and click `Copy object`
3062
- Step 3) Place output of file in a file named `services.json`
3063
- Step 4) Run `yarn tr-consent-manager-service-json-to-yml --file=./services.json --output=./transcend.yml`
3064
- Step 5) Run `yarn tr-push --auth=$TRANSCEND_API_KEY --file=./transcend.yml --classifyService=true`
3065
-
3066
- #### Authentication
3067
-
3068
- No authentication is required to run this command. It reads and writes files from local disk.
3069
-
3070
- #### Arguments
3071
-
3072
- | Argument | Description | Type | Default | Required |
3073
- | -------- | ------------------------------------------------------------------------ | ------------------ | --------------- | -------- |
3074
- | file | Path to the `services.json` file, output of `await airgap.getMetadata()` | string - file-path | ./services.json | false |
3075
- | output | Path to the output `transcend.yml` to write to | string - file-path | ./transcend.yml | false |
3076
-
3077
- #### Usage
3078
-
3079
- Convert data flow configurations in folder `./services.json` to yml in `./transcend.yml`
3080
-
3081
- ```sh
3082
- yarn tr-consent-manager-service-json-to-yml
3083
- ```
3084
-
3085
- With file locations
3086
-
3087
- ```sh
3088
- yarn tr-consent-manager-service-json-to-yml --file=./folder/services.json --output./folder/transcend.yml
3089
- ```
3090
-
3091
- ### tr-derive-data-silos-from-data-flows
3092
-
3093
- Given a folder of data flow `transcend.yml` configurations, convert those configurations to set of data silo `transcend.yml` configurations.
3094
-
3095
- #### Authentication
3096
-
3097
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
3098
-
3099
- The API does not need any scopes, any API key will work.
3100
-
3101
- #### Arguments
3102
-
3103
- | Argument | Description | Type | Default | Required |
3104
- | ------------------ | ----------------------------------------------------------------------------- | -------------------- | ------------------------ | -------- |
3105
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
3106
- | dataFlowsYmlFolder | The folder that contains data flow yml files | string - folder-path | N/A | true |
3107
- | dataSilosYmlFolder | The folder that contains data silo yml files | string - folder-path | N/A | true |
3108
- | ignoreYmls | The set of yml files that should be skipped when uploading | string[] | [] | false |
3109
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
3110
-
3111
- #### Usage
3112
-
3113
- Convert data flow configurations in folder `./working/data-flows/` to data silo configurations in folder `./working/data-silos/`
3114
-
3115
- ```sh
3116
- yarn tr-derive-data-silos-from-data-flows --auth=$TRANSCEND_API_KEY \
3117
- --dataFlowsYmlFolder=./working/data-flows/ \
3118
- --dataSilosYmlFolder=./working/data-silos/
3119
- ```
3120
-
3121
- Use with US backend
3122
-
3123
- ```sh
3124
- yarn tr-derive-data-silos-from-data-flows --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io \
3125
- --dataFlowsYmlFolder=./working/data-flows/ \
3126
- --dataSilosYmlFolder=./working/data-silos/
3127
- ```
3128
-
3129
- Skip a set of yml files
3130
-
3131
- ```sh
3132
- yarn tr-derive-data-silos-from-data-flows --auth=$TRANSCEND_API_KEY --ignoreYmls="Skip.yml,Other.yml" \
3133
- --dataFlowsYmlFolder=./working/data-flows/ \
3134
- --dataSilosYmlFolder=./working/data-silos/
3135
- ```
3136
-
3137
- ### tr-derive-data-silos-from-data-flows-cross-instance
3138
-
3139
- Given a folder of data flow `transcend.yml` configurations, convert those configurations to a single `transcend.yml` configurations of all related data silos.
3140
-
3141
- #### Authentication
3142
-
3143
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
3144
-
3145
- The API does not need any scopes, any API key will work.
3146
-
3147
- #### Arguments
3148
-
3149
- | Argument | Description | Type | Default | Required |
3150
- | ------------------ | ----------------------------------------------------------------------------- | -------------------- | ------------------------ | -------- |
3151
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
3152
- | dataFlowsYmlFolder | The folder that contains data flow yml files | string - folder-path | N/A | true |
3153
- | output | The output transcend.yml file containing the data silo configurations | string - file-path | ./transcend.yml | false |
3154
- | ignoreYmls | The set of yml files that should be skipped when uploading | string[] | [] | false |
3155
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
3156
-
3157
- #### Usage
3158
-
3159
- Convert data flow configurations in folder `./working/data-flows/` to data silo configurations in file `./transcend.yml`
3160
-
3161
- ```sh
3162
- yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=./working/data-flows/
3163
- ```
3164
-
3165
- Use with US backend
3166
-
3167
- ```sh
3168
- yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=./working/data-flows/ \
3169
- --transcendUrl=https://api.us.transcend.io
3170
- ```
3171
-
3172
- Skip a set of yml files
3173
-
3174
- ```sh
3175
- yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=./working/data-flows/ --ignoreYmls="Skip.yml,Other.yml"
3176
- ```
3177
-
3178
- Convert data flow configurations in folder `./working/data-flows/` to data silo configurations in file `./output.yml`
3179
-
3180
- ```sh
3181
- yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=./working/data-flows/ --output=./output.yml
3182
- ```
3183
-
3184
- ### tr-pull-consent-metrics
3185
-
3186
- This command allows for pulling consent manager metrics for a Transcend account, or a set of Transcend accounts.
3187
-
3188
- By default, the consent metrics will be written to a folder named `consent-metrics` within the directory where you run the command. You can override the location that these CSVs are written to using the flag “--folder=./my-folder/”. This folder will contain a set of CSV files:
3189
-
3190
- - CONSENT_CHANGES_TIMESERIES_optIn.csv -> this is a feed containing the number of explicit opt in events that happen - these are calls to airgap.setConsent(event, { SaleOfInfo: true })
3191
- - CONSENT_CHANGES_TIMESERIES_optOut.csv -> this is a feed containing the number of explicit opt out events that happen - these are calls to airgap.setConsent(event, { SaleOfInfo: false })
3192
- - CONSENT_SESSIONS_BY_REGIME_Default.csv -> this contains the number of sessions detected for the bin period
3193
- - PRIVACY_SIGNAL_TIMESERIES_DNT.csv -> the number of DNT signals detected (note you chose not to honor the the DNT signal so this file can be ignored)
3194
- - PRIVACY_SIGNAL_TIMESERIES_GPC.csv -> the number of GPC signals detected. When the GPC signal is detected, this results in a user being opted out. This is counted [per session](https://docs.transcend.io/docs/consent/reference/telemetry#faq).
3195
-
3196
- #### Authentication
3197
-
3198
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
3199
-
3200
- The API key must have the following scopes:
3201
-
3202
- - "View Consent Manager"
3203
-
3204
- #### Arguments
3205
-
3206
- | Argument | Description | Type | Default | Required |
3207
- | ------------ | ----------------------------------------------------------------------------- | ----------------------- | ------------------------ | -------- |
3208
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
3209
- | start | The start date to pull metrics from. | string - date | N/A | true |
3210
- | end | The end date to pull metrics until. | string - date | now() | true |
3211
- | folder | The folder to save metrics to | string - path | ./consent-metrics/ | false |
3212
- | bin | The bin metric when pulling data (1h or 1d) | ConsentManagerMetricBin | 1d | false |
3213
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
3214
-
3215
- #### Usage
3216
-
3217
- ```sh
3218
- yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY --start=01/01/2023
3219
- ```
3220
-
3221
- Specifying the backend URL, needed for US hosted backend infrastructure.
3222
-
3223
- ```sh
3224
- yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY --start=01/01/2023 --transcendUrl=https://api.us.transcend.io
3225
- ```
3226
-
3227
- Pull start and end date explicitly
3228
-
3229
- ```sh
3230
- yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY --start=01/01/2023 --end=03/01/2023
3231
- ```
3232
-
3233
- Save to an explicit folder
3234
-
3235
- ```sh
3236
- yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY --start=01/01/2023 --end=03/01/2023 --folder=./my-folder/
3237
- ```
3238
-
3239
- Bin data hourly vs daily
3240
-
3241
- ```sh
3242
- yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY --start=01/01/2023 --bin=1h
3243
- ```
3244
-
3245
- ### tr-pull-datapoints
3246
-
3247
- This command allows for pulling your Data Inventory -> Datapoints into a CSV.
3248
-
3249
- #### Authentication
3250
-
3251
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
3252
-
3253
- The API key must have the following scopes:
3254
-
3255
- - "View Data Inventory"
3256
-
3257
- #### Arguments
3258
-
3259
- | Argument | Description | Type | Default | Required |
3260
- | ------------------------ | ----------------------------------------------------------------------------- | ------------- | ------------------------ | -------- |
3261
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
3262
- | file | The file to save datapoints to | string - path | ./datapoints.csv | false |
3263
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
3264
- | dataSiloIds | Comma-separated list of data silo IDs to filter by | string | N/A | false |
3265
- | includeAttributes | Whether to include attributes in the output | boolean | false | false |
3266
- | includeGuessedCategories | Whether to include guessed categories in the output | boolean | false | false |
3267
- | parentCategories | Comma-separated list of parent categories to filter by | string | N/A | false |
3268
- | subCategories | Comma-separated list of subcategories to filter by | string | N/A | false |
3269
-
3270
- #### Usage
3271
-
3272
- All arguments
3273
-
3274
- ```sh
3275
- yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --includeGuessedCategories=true --parentCategories=CONTACT,ID,LOCATION --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1 --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
3276
- ```
3277
-
3278
- Pull datapoints for specific data silos:
3279
-
3280
- ```sh
3281
- yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
3282
- ```
3283
-
3284
- Include attributes in the output:
3285
-
3286
- ```sh
3287
- yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --includeAttributes=true
3288
- ```
3289
-
3290
- Include guessed categories in the output:
3291
-
3292
- ```sh
3293
- yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --includeGuessedCategories=true
3294
- ```
3295
-
3296
- Filter by parent categories:
3297
-
3298
- ```sh
3299
- yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --parentCategories=ID,LOCATION
3300
- ```
3301
-
3302
- Filter by subcategories:
3303
-
3304
- ```sh
3305
- yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1
3306
- ```
3307
-
3308
- Specify the backend URL, needed for US hosted backend infrastructure:
3309
-
3310
- ```sh
3311
- yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --transcendUrl=https://api.us.transcend.io
3312
- ```
3313
-
3314
- ### tr-pull-pull-unstructured-discovery-files
3315
-
3316
- This command allows for pulling Unstructured Discovery into a CSV.
3317
-
3318
- #### Authentication
3319
-
3320
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
3321
-
3322
- The API key must have the following scopes:
3323
-
3324
- - "View Data Inventory"
3325
-
3326
- #### Arguments
3327
-
3328
- | Argument | Description | Type | Default | Required |
3329
- | ------------------------ | ---------------------------------------------------------------------------------------------------- | ------------- | ---------------------------------- | -------- |
3330
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
3331
- | file | The file to save datapoints to | string - path | ./unstructured-discovery-files.csv | false |
3332
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
3333
- | dataSiloIds | Comma-separated list of data silo IDs to filter by | string | N/A | false |
3334
- | subCategories | Comma-separated list of data categories to filter by | string | N/A | false |
3335
- | status | Comma-separated list of classification statuses to filter by (CLASSIFIED, VALIDATED, REJECTED, etc.) | string | (excludes REJECTED) | false |
3336
- | includeEncryptedSnippets | Whether to include encrypted snippets of the entries classified | boolean | false | false |
3337
-
3338
- #### Usage
3339
-
3340
- All arguments
3341
-
3342
- ```sh
3343
- yarn tr-pull-unstructured-discovery-files --auth=$TRANSCEND_API_KEY --file=./unstructured-discovery-files.csv --transcendUrl=https://api.us.transcend.io --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429 --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1 --status=VALIDATED,MANUALLY_ADDED,CORRECTED --includeEncryptedSnippets=true
3344
- ```
3345
-
3346
- Specify the backend URL, needed for US hosted backend infrastructure:
3347
-
3348
- ```sh
3349
- yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
3350
- ```
3351
-
3352
- Pull entries for specific data silos:
3353
-
3354
- ```sh
3355
- yarn tr-pull-unstructured-discovery-files --auth=$TRANSCEND_API_KEY --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
3356
- ```
3357
-
3358
- Filter by data categories:
3359
-
3360
- ```sh
3361
- yarn tr-pull-unstructured-discovery-files --auth=$TRANSCEND_API_KEY --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1
3362
- ```
3363
-
3364
- Filter by classification status (exclude unconfirmed recommendations):
3365
-
3366
- ```sh
3367
- yarn tr-pull-unstructured-discovery-files --auth=$TRANSCEND_API_KEY --status=VALIDATED,MANUALLY_ADDED,CORRECTED
3368
- ```
3369
-
3370
- Filter by classification status (include rejected recommendations):
3371
-
3372
- ```sh
3373
- yarn tr-pull-unstructured-discovery-files --auth=$TRANSCEND_API_KEY --status=REJECTED
3374
- ```
3375
-
3376
- ### tr-upload-preferences
3377
-
3378
- This command allows for updating of preference management data to your Transcend Preference Store.
3379
-
3380
- This command uses [inquirer](https://github.com/SBoudrias/Inquirer.js/) to prompt the user to
3381
- map the shape of the CSV to the shape of the Transcend API. There is no requirement for the
3382
- shape of the incoming CSV, as the script will handle the mapping process.
3383
-
3384
- The script will also produce a JSON cache file, that allows for the mappings to be preserved between runs.
3385
- This can be useful if you have the same CSV shape that needs to be imported multiple times.
3386
- Once the mapping process is done once, it does not need to be done again.
3387
-
3388
- Additionally, the JSON cache file will store the result of any preferences that fail to be uploaded so that the
3389
- script can be run multiple times if an issue happens.
3390
-
3391
- #### Authentication
3392
-
3393
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
3394
-
3395
- The API key needs the following scopes:
3396
-
3397
- - Modify User Stored Preferences
3398
- - View Managed Consent Database Admin API
3399
- - View Preference Store Settings
3400
-
3401
- #### Authentication
3402
-
3403
- In order to use this cli, you will first need to follow [this guide](https://docs.transcend.io/docs/consent/reference/managed-consent-database#authenticate-a-user's-consent) in order
3404
-
3405
- #### Arguments
3406
-
3407
- | Argument | Description | Type | Default | Required |
3408
- | ----------------------- | ------------------------------------------------------------------------------------------------- | ----------------------- | -------------------------------------------- | -------- |
3409
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
3410
- | partition | The partition key to download consent preferences to | string | N/A | true |
3411
- | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
3412
- | transcendUrl | URL of the Transcend backend. Use https://consent.us.transcend.io for US hosting. | string - URL | https://consent.transcend.io | false |
3413
- | file | Path to the CSV file to load preferences from | string - file-path | N/A | true |
3414
- | directory | Path to the directory of CSV files to load preferences from | string - directory-path | N/A | true |
3415
- | csv | false |
3416
- | dryRun | Whether to do a dry run only - will write results ti receiptFilepath without updating Transcend | boolean | false | false |
3417
- | skipExistingRecordCheck | Whether to skip the check for existing records. SHOULD ONLY BE USED FOR INITIAL UPLOAD | boolean | false | false |
3418
- | receiptFileDir | Directory path where the response receipts should be saved | string - directory-path | ./receipts' | false |
3419
- | skipWorkflowTriggers | Whether to skip workflow triggers when uploading to preference store | boolean | false | false |
3420
- | forceTriggerWorkflows | Whether to force trigger workflows for existing consent records | boolean | false | false |
3421
- | skipConflictUpdates | Whether to skip uploading of any records where the preference store and file have a hard conflict | boolean | false | false |
3422
- | isSilent | Whether to skip sending emails in workflows | boolean | true | false |
3423
- | attributes | Attributes to add to any DSR request if created | string | Tags:transcend-cli,Source:transcend-cli | false |
3424
- | receiptFilepath | Store resulting, continuing where left off | string - file-path | ./preference-management-upload-receipts.json | false |
3425
-
3426
- #### Usage
3427
-
3428
- 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!
3429
-
3430
- Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726`
3431
-
3432
- ```sh
3433
- yarn tr-upload-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
3434
- ```
3435
-
3436
- Upload consent preferences with additional options
3437
-
3438
- ```sh
3439
- yarn tr-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
3440
- ```
3441
-
3442
- Specifying the backend URL, needed for US hosted backend infrastructure.
3443
-
3444
- ```sh
3445
- yarn tr-upload-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --transcendUrl=https://consent.us.transcend.io
3446
- ```
3447
-
3448
- ### tr-upload-consent-preferences
3449
-
3450
- This command allows for updating of consent preferences to the [Managed Consent Database](https://docs.transcend.io/docs/consent/reference/managed-consent-database).
3451
-
3452
- Each row in the CSV must include:
3453
-
3454
- | Argument | Description | Type | Default | Required |
3455
- | --------- | --------------------------------------------------------------------------------------------------------- | ------------------------- | ------- | -------- |
3456
- | userId | Unique ID identifying the user that the preferences ar efor | string | N/A | true |
3457
- | timestamp | Timestamp for when consent was collected for that user | string - timestamp | N/A | true |
3458
- | purposes | JSON map from consent purpose name -> boolean indicating whether user has opted in or out of that purpose | {[k in string]: boolean } | {} | false |
3459
- | confirmed | Whether consent preferences have been explicitly confirmed or inferred | boolean | true | false |
3460
- | updated | Has the consent been updated (including no-change confirmation) since default resolution | boolean | N/A | false |
3461
- | prompted | Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js) | boolean | N/A | false |
3462
- | gpp | IAB GPP string | string - GPP | N/A | false |
3463
-
3464
- An sample CSV can be found [here](./examples/preference-upload.csv).
3465
-
3466
- #### Authentication
3467
-
3468
- In order to use this cli, you will first need to follow [this guide](https://docs.transcend.io/docs/consent/reference/managed-consent-database#authenticate-a-user's-consent) in order
3469
- to grab your encryption and signing keys.
3470
-
3471
- #### Arguments
3472
-
3473
- | Argument | Description | Type | Default | Required |
3474
- | ------------------- | --------------------------------------------------------------------------------- | ------------- | ---------------------------- | -------- |
3475
- | base64EncryptionKey | The encyption key used to encrypt the userId | string | N/A | true |
3476
- | base64SigningKey | The signing key used to prove authentication of consent request | string | N/A | true |
3477
- | partition | The partition key to download consent preferences to | string | N/A | true |
3478
- | file | The file to pull consent preferences from | string - path | ./preferences.csv | false |
3479
- | transcendUrl | URL of the Transcend backend. Use https://consent.us.transcend.io for US hosting. | string - URL | https://consent.transcend.io | false |
3480
- | concurrency | The concurrency to use when uploading requests in parallel. | number | 100 | false |
3481
-
3482
- #### Usage
3483
-
3484
- Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726`
3485
-
3486
- ```sh
3487
- yarn tr-upload-consent-preferences --base64EncryptionKey=$TRANSCEND_CONSENT_ENCRYPTION_KEY --base64SigningKey=$TRANSCEND_CONSENT_SIGNING_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
3488
- ```
3489
-
3490
- Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726` from file `./consent.csv`
3491
-
3492
- ```sh
3493
- yarn tr-upload-consent-preferences --base64EncryptionKey=$TRANSCEND_CONSENT_ENCRYPTION_KEY --base64SigningKey=$TRANSCEND_CONSENT_SIGNING_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --file=./consent.csv
3494
- ```
3495
-
3496
- Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726` and set concurrency
3497
-
3498
- ```sh
3499
- yarn tr-upload-consent-preferences --base64EncryptionKey=$TRANSCEND_CONSENT_ENCRYPTION_KEY --base64SigningKey=$TRANSCEND_CONSENT_SIGNING_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --concurrency=200
3500
- ```
3501
-
3502
- ### tr-pull-consent-preferences
3503
-
3504
- This command allows for pull of consent preferences from the [Managed Consent Database](https://docs.transcend.io/docs/api-reference/POST/v1/consent-preferences).
3505
-
3506
- Each row in the CSV will include:
3507
-
3508
- | Argument | Description | Type | Default | Required |
3509
- | -------------- | --------------------------------------------------------------------------------------------------------- | ------------------------- | ------- | -------- |
3510
- | userId | Unique ID identifying the user that the preferences ar efor | string | N/A | true |
3511
- | timestamp | Timestamp for when consent was collected for that user | string - timestamp | N/A | true |
3512
- | purposes | JSON map from consent purpose name -> boolean indicating whether user has opted in or out of that purpose | {[k in string]: boolean } | {} | true |
3513
- | airgapVersion | Version of airgap where consent was collected | string | N/A | false |
3514
- | [purpose name] | Each consent purpose from `purposes` is also included in a column | boolean | N/A | false |
3515
- | tcf | IAB TCF string | string - TCF | N/A | false |
3516
- | gpp | IAB GPP string | string - GPP | N/A | false |
3517
-
3518
- #### Authentication
3519
-
3520
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
3521
-
3522
- The API key must have the following scopes:
3523
-
3524
- - "View Managed Consent Database Admin API"
3525
-
3526
- #### Arguments
3527
-
3528
- | Argument | Description | Type | Default | Required |
3529
- | --------------- | ------------------------------------------------------------------------------------ | ------------------ | ------------------------ | -------- |
3530
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
3531
- | partition | The partition key to download consent preferences to | string | N/A | true |
3532
- | sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
3533
- | file | Path to the CSV file to save preferences to | string - file-path | ./preferences.csv | false |
3534
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
3535
- | timestampBefore | Filter for consents updated this time | Date | N/A | false |
3536
- | timestampAfter | Filter for consents updated after this time | Date | N/A | false |
3537
- | identifiers | Filter for specific identifiers | string[] | N/A | false |
3538
- | concurrency | The concurrency to use when downloading consents in parallel. | number | 100 | false |
3539
-
3540
- #### Usage
3541
-
3542
- Fetch all consent preferences from partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726`
3543
-
3544
- ```sh
3545
- yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
3546
- ```
3547
-
3548
- Fetch all consent preferences from partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726` and save to ./consent.csv
3549
-
3550
- ```sh
3551
- yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --file=./consent.csv
3552
- ```
3553
-
3554
- Filter on consent updates before a date
3555
-
3556
- ```sh
3557
- yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --timestampBefore=04/03/2023
3558
- ```
3559
-
3560
- Filter on consent updates after a date
3561
-
3562
- ```sh
3563
- yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --timestampAfter=04/03/2023
3564
- ```
3565
-
3566
- For self-hosted sombras that use an internal key:
3567
-
3568
- ```sh
3569
- yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
3570
- ```
3571
-
3572
- Specifying the backend URL, needed for US hosted backend infrastructure.
3573
-
3574
- ```sh
3575
- yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --transcendUrl=https://api.us.transcend.io
3576
- ```
3577
-
3578
- ### tr-upload-data-flows-from-csv
3579
-
3580
- This command allows for uploading of data flows from CSV.
3581
-
3582
- Step 1) Download the CSV of data flows that you want to edit 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.
3583
-
3584
- <img width="1464" alt="Screenshot 2023-06-22 at 6 05 36 PM" src="https://github.com/transcend-io/cli/assets/10264973/c4b65b31-2cf3-49c9-b543-041567c7aff8">
3585
-
3586
- Step 2) You can edit the contents of the CSV file as needed. You may adjust the "Purpose" column, adjust the "Notes" column, add "Owners" and "Teams" or even add custom columns with additional metadata.
3587
-
3588
- Step 3) Upload the modified CSV file back into the dashboard with the command `yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --file=./approved-flows.csv --trackerStatus=LIVE`
3589
-
3590
- #### Authentication
3591
-
3592
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
3593
-
3594
- The API key must have the following scopes:
3595
-
3596
- - "Manage Data Flows"
3597
-
3598
- #### Arguments
3599
-
3600
- | Argument | Description | Type | Default | Required |
3601
- | --------------- | ---------------------------------------------------------------------------------------------------------- | -------------------- | ------------------------ | -------- |
3602
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
3603
- | trackerStatus | Whether or not to upload the data flows into the "Approved" tab (LIVE) or the "Triage" tab (NEEDS_REVIEW). | ConsentTrackerStatus | N/A | true |
3604
- | file | Path to the CSV file to upload | string - file-path | ./data-flows.csv | false |
3605
- | classifyService | When true, automatically assign the service for a data flow based on the domain that is specified | boolean | false | false |
3606
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
3607
-
3608
- Note: You `trackerStatus` can be specified on a per data flow basis by adding a column named "Status" to the CSV. The values should be of type `ConsentTrackerStatus` - which is `LIVE` or `NEEDS_REVIEW`.
3609
-
3610
- #### Usage
3611
-
3612
- Upload the file of data flows in `./data-flows.csv` into the ["Approved" tab](https://app.transcend.io/consent-manager/data-flows/approved).
3613
-
3614
- ```sh
3615
- yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE
3616
- ```
3617
-
3618
- Upload the file of data flows in `./data-flows.csv` into the ["Triage" tab](https://app.transcend.io/consent-manager/data-flows).
3619
-
3620
- ```sh
3621
- yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=NEEDS_REVIEW
3622
- ```
3623
-
3624
- Specifying the CSV file to read from:
3625
-
3626
- ```sh
3627
- yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE --file=./custom/my-data-flows.csv
3628
- ```
3629
-
3630
- Have Transcend automatically fill in the service names by looking up the data flow host in Transcend's database.
3631
-
3632
- ```sh
3633
- yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE --classifyService=true
3634
- ```
3635
-
3636
- Specifying the backend URL, needed for US hosted backend infrastructure.
3637
-
3638
- ```sh
3639
- yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
3640
- ```
3641
-
3642
- ### tr-upload-cookies-from-csv
3643
-
3644
- This command allows for uploading cookies from CSV
3645
-
3646
- Step 1) Download the CSV of cookies that you want to edit from the Admin Dashboard under [Consent Management -> Cookies](https://app.transcend.io/consent-manager/cookies). You can download cookies from both the "Triage" and "Approved" tabs.
3647
-
3648
- Step 2) You can edit the contents of the CSV file as needed. You may adjust the "Purpose" column, adjust the "Notes" column, add "Owners" and "Teams" or even add custom columns with additional metadata.
3649
-
3650
- Step 3) Upload the modified CSV file back into the dashboard with the command `yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY --file=./approved-flows.csv --trackerStatus=LIVE`
3651
-
3652
- #### Authentication
3653
-
3654
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys).
3655
-
3656
- The API key must have the following scopes:
3657
-
3658
- - "Manage Cookies"
3659
-
3660
- #### Arguments
3661
-
3662
- | Argument | Description | Type | Default | Required |
3663
- | ------------- | ------------------------------------------------------------------------------------------------------- | -------------------- | ------------------------ | -------- |
3664
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
3665
- | trackerStatus | Whether or not to upload the cookies into the "Approved" tab (LIVE) or the "Triage" tab (NEEDS_REVIEW). | ConsentTrackerStatus | N/A | true |
3666
- | file | Path to the CSV file to upload | string - file-path | ./cookies.csv | false |
3667
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
3668
-
3669
- Note: You `trackerStatus` can be specified on a per cookie basis by adding a column named "Status" to the CSV. The values should be of type `ConsentTrackerStatus` - which is `LIVE` or `NEEDS_REVIEW`.
3670
-
3671
- #### Usage
3672
-
3673
- Upload the file of cookies in `./cookies.csv` into the ["Approved" tab](https://app.transcend.io/consent-manager/cookies/approved).
3674
-
3675
- ```sh
3676
- yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE
3677
- ```
3678
-
3679
- Upload the file of cookies in `./cookies.csv` into the ["Triage" tab](https://app.transcend.io/consent-manager/cookies).
3680
-
3681
- ```sh
3682
- yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=NEEDS_REVIEW
3683
- ```
3684
-
3685
- Specifying the CSV file to read from:
3686
-
3687
- ```sh
3688
- yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE --file=./custom/my-cookies.csv
3689
- ```
3690
-
3691
- Specifying the backend URL, needed for US hosted backend infrastructure.
3692
-
3693
- ```sh
3694
- yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
3695
- ```
3696
-
3697
- ### tr-generate-api-keys
3698
-
3699
- 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. Unlike the other commands that rely on API key authentication, this command relies upon username/password authentication. This command will spit out the API keys into a [JSON file](./examples/api-keys.json), and that JSON file can be used in subsequent cli commands.
3700
-
3701
- #### Authentication
3702
-
3703
- In order to use this command, you will need to provide your email and password for the Transcend account. This command will only generate API keys for Transcend instances where you have the permission to "Manage API Keys".
3704
-
3705
- #### Arguments
3706
-
3707
- | Argument | Description | Type | Default | Required |
3708
- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ | ------------------------ | -------- |
3709
- | email | The email address that you use to [log into Transcend](https://app.transcend.io/login). | string | N/A | true |
3710
- | password | The password for your account login. | string | N/A | true |
3711
- | apiKeyTitle | The title of the API key being generated or destroyed. | string | N/A | true |
3712
- | file | The file where API keys should be written to. | string - file-path | N/A | true |
3713
- | scopes | The list of [scopes](https://docs.transcend.io/docs/security/access-control#scopes) that should be given to the API key. | string[] | N/A | true |
3714
- | deleteExistingApiKey | When true, if an API key exists with the specified "apiKeyTitle", the existing API key is deleted. When false, an error is thrown if API key already exists. | boolean | true | false |
3715
- | createNewApiKey | When true, new API keys will be created. Set to false if you simply want to delete all API keys with a title. | boolean | true | false |
3716
- | parentOrganizationId | Filter for only a specific organization by ID, returning all child accounts associated with that organization. | string - UUID | true | false |
3717
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
3718
-
3719
- #### Usage
3720
-
3721
- ```sh
3722
- yarn tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
3723
- --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json
3724
- ```
1414
+ ```sh
1415
+ transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1416
+ --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json
1417
+ ```
3725
1418
 
3726
1419
  Specifying the backend URL, needed for US hosted backend infrastructure.
3727
1420
 
3728
1421
  ```sh
3729
- yarn tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1422
+ transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
3730
1423
  --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
3731
1424
  --transcendUrl=https://api.us.transcend.io
3732
1425
  ```
@@ -3745,7 +1438,7 @@ query {
3745
1438
  ```
3746
1439
 
3747
1440
  ```sh
3748
- yarn tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1441
+ transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
3749
1442
  --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
3750
1443
  --parentOrganizationId=7098bb38-070d-4f26-8fa4-1b61b9cdef77
3751
1444
  ```
@@ -3753,7 +1446,7 @@ yarn tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSW
3753
1446
  Delete all API keys with a certain title.
3754
1447
 
3755
1448
  ```sh
3756
- yarn tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1449
+ transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
3757
1450
  --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
3758
1451
  --createNewApiKey=false
3759
1452
  ```
@@ -3761,80 +1454,41 @@ yarn tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSW
3761
1454
  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.
3762
1455
 
3763
1456
  ```sh
3764
- yarn tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
1457
+ transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
3765
1458
  --scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
3766
1459
  --deleteExistingApiKey=false
3767
1460
  ```
3768
1461
 
3769
- ### tr-build-xdi-sync-endpoint
3770
-
3771
- This command allows for building of the [XDI Sync Endpoint](<https://docs.transcend.io/docs/consent/reference/xdi#addxdihostscript(standalone)>) across a set of Transcend accounts.
3772
-
3773
- #### Authentication
3774
-
3775
- In order to use this cli, you will first need to generate an API key on the Transcend Admin Dashboard (https://app.transcend.io/infrastructure/api-keys) or by using the `yarn tr-generate-api-keys` command above.
3776
-
3777
- The API key must have the following scopes:
3778
-
3779
- - "View Consent Manager"
3780
-
3781
- #### Arguments
3782
-
3783
- | Argument | Description | Type | Default | Required |
3784
- | ------------------ | --------------------------------------------------------------------------------------------------------- | ------------------ | ------------------------ | -------- |
3785
- | auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
3786
- | xdiLocation | The location of the XDI that will be loaded by the generated sync endpoint. Typically this ends in xdi.js | string | N/A | true |
3787
- | file | The HTML file path where the sync endpoint should be written. | string - file-path | ./sync-endpoint.html | false |
3788
- | removeIpAddresses | When true, remove IP addresses from the domain list | boolean | true | false |
3789
- | domainBlockList | The set of domains that should be excluded from the sync endpoint | string[] | localhost | false |
3790
- | xdiAllowedCommands | The allowed set of XDI commands | string | ConsentManager:Sync | false |
3791
- | transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
3792
-
3793
- #### Usage
3794
-
3795
- ```sh
3796
- yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js
3797
- ```
3798
-
3799
- Specifying the backend URL, needed for US hosted backend infrastructure.
3800
-
3801
- ```sh
3802
- yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js --transcendUrl=https://api.us.transcend.io
3803
- ```
3804
-
3805
- Configuring across multiple Transcend Instances:
3806
-
3807
- ```sh
3808
- # Pull down API keys across all Transcend instances
3809
- yarn tr-generate-api-keys --email=$TRANSCEND_EMAIL --password=$TRANSCEND_PASSWORD --transcendUrl=https://api.us.transcend.io --scopes="View Consent Manager" --apiKeyTitle="[cli][$TRANSCEND_EMAIL] XDI Endpoint Construction" --file=./api-keys.json --parentOrganizationId=1821d872-6114-406e-90c3-73b4d5e246cf
3810
-
3811
- # Path list of API keys as authentication
3812
- yarn tr-build-xdi-sync-endpoint --auth=./api-keys.json --xdiLocation=https://cdn.your-site.com/xdi.js --transcendUrl=https://api.us.transcend.io
3813
- ```
3814
-
3815
- Pull to specific file location
1462
+ ### `transcend migration sync-ot`
3816
1463
 
3817
- ```sh
3818
- yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js --file=./my-folder/sync-endpoint.html
3819
- ```
1464
+ ```txt
1465
+ USAGE
1466
+ transcend migration sync-ot [--hostname value] [--oneTrustAuth value] [--source oneTrust|file] [--transcendAuth value] [--transcendUrl value] [--file value] [--resource assessments] [--dryRun] [--debug]
1467
+ transcend migration sync-ot --help
3820
1468
 
3821
- Don't filter out regular expressions
1469
+ Pulls resources from a OneTrust and syncs them to a Transcend instance. For now, it only supports retrieving OneTrust Assessments.
3822
1470
 
3823
- ```sh
3824
- yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js --removeIpAddresses=false
3825
- ```
1471
+ This command can be helpful if you are looking to:
1472
+ - Pull resources from your OneTrust account.
1473
+ - Migrate your resources from your OneTrust account to Transcend.
3826
1474
 
3827
- Filter out certain domains that should not be included in the sync endpoint definition
1475
+ OneTrust authentication requires an OAuth Token with scope for accessing the assessment endpoints.
1476
+ If syncing the resources to Transcend, you will also need to generate an API key on the Transcend Admin Dashboard.
3828
1477
 
3829
- ```sh
3830
- yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js --domainBlockList=ignored.com,localhost
1478
+ FLAGS
1479
+ [--hostname] The domain of the OneTrust environment from which to pull the resource
1480
+ [--oneTrustAuth] The OAuth access token with the scopes necessary to access the OneTrust Public APIs
1481
+ [--source] Whether to read the assessments from OneTrust or from a file [oneTrust|file, default = oneTrust]
1482
+ [--transcendAuth] The Transcend API key. Requires scopes: "Manage Assessments"
1483
+ [--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
1484
+ [--file] Path to the file to pull the resource into. Must be a json file!
1485
+ [--resource] The resource to pull from OneTrust. For now, only assessments is supported [assessments, default = assessments]
1486
+ [--dryRun] Whether to export the resource to a file rather than sync to Transcend [default = false]
1487
+ [--debug] Whether to print detailed logs in case of error [default = false]
1488
+ -h --help Print help information and exit
3831
1489
  ```
3832
1490
 
3833
- Override XDI allowed commands
3834
-
3835
- ```sh
3836
- yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js --xdiAllowedCommands="ExtractIdentifiers:Simple"
3837
- ```
1491
+ <!-- COMMANDS_END -->
3838
1492
 
3839
1493
  ## Prompt Manager
3840
1494