@transcend-io/cli 7.0.0-alpha.1 → 7.0.0-alpha.10
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.
- package/README.md +1007 -2565
- package/dist/bin/bash-complete.js +3 -0
- package/dist/bin/cli.js +2 -0
- package/dist/bin/deprecated-command.js +6 -0
- package/dist/chunk-2FMBK7EQ.js +2830 -0
- package/dist/chunk-AHYJJKNA.js +1 -0
- package/dist/chunk-APA5PR4U.js +1 -0
- package/dist/chunk-DTKOSX7V.js +74 -0
- package/dist/chunk-DXOAW6K3.js +1 -0
- package/dist/chunk-F4XXBUFM.js +11 -0
- package/dist/chunk-HMF46LB7.js +1 -0
- package/dist/chunk-L2SPDKF4.js +1 -0
- package/dist/chunk-LWRD3DNX.js +3 -0
- package/dist/chunk-MKUBKUQO.js +93 -0
- package/dist/chunk-OERYFLN2.js +1 -0
- package/dist/chunk-QQRMUEM7.js +3 -0
- package/dist/chunk-R5WBISY5.js +1 -0
- package/dist/chunk-R76D6QCT.js +1 -0
- package/dist/chunk-RAHNPFEG.js +1 -0
- package/dist/chunk-RBOBI6B6.js +5 -0
- package/dist/chunk-RZ3H3AKY.js +2 -0
- package/dist/chunk-T2PLXAEM.js +1 -0
- package/dist/chunk-U66XZ2QS.js +8 -0
- package/dist/chunk-VN4S2A5A.js +1 -0
- package/dist/chunk-W6GUOMVP.js +1 -0
- package/dist/chunk-ZB5DNAF3.js +1 -0
- package/dist/impl-2WFCE3NQ.js +1 -0
- package/dist/impl-424N4CNI.js +1 -0
- package/dist/impl-4QGAT3EL.js +1 -0
- package/dist/impl-6EM4MWFJ.js +1 -0
- package/dist/impl-6KSDOODU.js +1 -0
- package/dist/impl-6TNYAKRE.js +1 -0
- package/dist/impl-6YQILA4G.js +5 -0
- package/dist/impl-A3A3743Y.js +5 -0
- package/dist/impl-AGGJXPJE.js +1 -0
- package/dist/impl-CVXUBWM3.js +1 -0
- package/dist/impl-DFX7WJML.js +1 -0
- package/dist/impl-DUO3FKJO.js +1 -0
- package/dist/impl-GCP4YV4V.js +1 -0
- package/dist/impl-GFKQQAIZ.js +3 -0
- package/dist/impl-GW34VD6D.js +1 -0
- package/dist/impl-HJ2TEJA4.js +1 -0
- package/dist/impl-HXSGNZWA.js +1 -0
- package/dist/impl-I36LGCWV.js +1 -0
- package/dist/impl-IWD4XEGF.js +1 -0
- package/dist/impl-K6LFUREX.js +1 -0
- package/dist/impl-LMGG6SET.js +1 -0
- package/dist/impl-M2QHMARV.js +1 -0
- package/dist/impl-MCGNBSTB.js +6 -0
- package/dist/impl-MQYUMXYT.js +8 -0
- package/dist/impl-NYB4YSNU.js +1 -0
- package/dist/impl-O57JWKDO.js +11 -0
- package/dist/impl-Q26ZNVKH.js +1 -0
- package/dist/impl-Q4AYM2LP.js +1 -0
- package/dist/impl-QW7LVCIG.js +1 -0
- package/dist/impl-REBNHNHS.js +1 -0
- package/dist/impl-RREKLU5Y.js +1 -0
- package/dist/impl-TRV73CJM.js +1 -0
- package/dist/impl-UKT74QA2.js +5 -0
- package/dist/impl-VKJ2BBOI.js +1 -0
- package/dist/impl-W5OXXCN3.js +1 -0
- package/dist/impl-WWVBI2VM.js +1 -0
- package/dist/impl-XLJ55WDX.js +1 -0
- package/dist/impl-YO4XMK67.js +1 -0
- package/dist/impl-ZIZA6YZP.js +1 -0
- package/dist/index.js +4 -0
- package/package.json +55 -54
- package/dist/bin/bash-complete.mjs +0 -3
- package/dist/bin/cli.mjs +0 -2
- package/dist/bin/deprecated-command.mjs +0 -6
- package/dist/chunk-BWXKSYTY.mjs +0 -1
- package/dist/chunk-N4KHG2LT.mjs +0 -3
- package/dist/chunk-RTBRALWU.mjs +0 -48
- package/dist/chunk-WVOQBBD4.mjs +0 -1
- package/dist/impl-2SXC6DB5.mjs +0 -1
- package/dist/impl-3WS4KAXC.mjs +0 -1
- package/dist/impl-573JHF5Q.mjs +0 -1
- package/dist/impl-5G2VT3GE.mjs +0 -1
- package/dist/impl-5M2JICLA.mjs +0 -1
- package/dist/impl-6HCHXNYK.mjs +0 -1
- package/dist/impl-6HYSKLJA.mjs +0 -1
- package/dist/impl-6ZEB6Z2K.mjs +0 -1
- package/dist/impl-7R553APD.mjs +0 -1
- package/dist/impl-7YBBGEJS.mjs +0 -1
- package/dist/impl-AE4WVFKM.mjs +0 -1
- package/dist/impl-BUP5GVYQ.mjs +0 -1
- package/dist/impl-DDSJFH7O.mjs +0 -1
- package/dist/impl-EAWZEQHP.mjs +0 -1
- package/dist/impl-EBN6UN6B.mjs +0 -1
- package/dist/impl-F3GN5QBQ.mjs +0 -1
- package/dist/impl-F7EIWKOK.mjs +0 -1
- package/dist/impl-GOITDIYO.mjs +0 -1
- package/dist/impl-GWDASXMF.mjs +0 -1
- package/dist/impl-I2HNOFXK.mjs +0 -1
- package/dist/impl-J6TM5I2T.mjs +0 -1
- package/dist/impl-JKKLZIWW.mjs +0 -1
- package/dist/impl-L32NAFWG.mjs +0 -1
- package/dist/impl-LTXXHRJN.mjs +0 -1
- package/dist/impl-NFGCPTZ6.mjs +0 -1
- package/dist/impl-NFKMASFN.mjs +0 -1
- package/dist/impl-OCKVP3CG.mjs +0 -1
- package/dist/impl-ORZO5DKU.mjs +0 -1
- package/dist/impl-TMYFQHHJ.mjs +0 -1
- package/dist/impl-TN3TNFJ3.mjs +0 -1
- package/dist/impl-TY543E6H.mjs +0 -1
- package/dist/impl-U5YMWF3E.mjs +0 -1
- package/dist/impl-V26VW5PW.mjs +0 -1
- package/dist/impl-V75HSG53.mjs +0 -1
- package/dist/impl-VTEL3Q42.mjs +0 -1
- package/dist/impl-WJX6QJZG.mjs +0 -1
- package/dist/impl-YF6RKW6X.mjs +0 -1
- package/dist/impl-ZHAW5DO6.mjs +0 -1
- package/dist/index.mjs +0 -2923
- /package/dist/{chunk-BGXZA4EM.mjs → chunk-EZCJGIOS.js} +0 -0
- /package/dist/{chunk-CG4A43HM.mjs → chunk-XMGVDVM2.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
|
-
- [
|
|
12
|
-
|
|
13
|
-
|
|
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 inventory pull`](#transcend-inventory-pull)
|
|
36
|
+
- [Scopes](#scopes)
|
|
14
37
|
- [Usage](#usage-1)
|
|
15
|
-
- [
|
|
16
|
-
- [
|
|
17
|
-
- [Arguments](#arguments-1)
|
|
38
|
+
- [`transcend inventory push`](#transcend-inventory-push)
|
|
39
|
+
- [Scopes](#scopes-1)
|
|
18
40
|
- [Usage](#usage-2)
|
|
19
|
-
- [tr-push](#tr-push)
|
|
20
|
-
- [Authentication](#authentication-2)
|
|
21
|
-
- [Arguments](#arguments-2)
|
|
22
|
-
- [Usage](#usage-3)
|
|
23
41
|
- [CI Integration](#ci-integration)
|
|
24
42
|
- [Dynamic Variables](#dynamic-variables)
|
|
25
|
-
- [
|
|
26
|
-
|
|
27
|
-
- [
|
|
43
|
+
- [`transcend inventory scan-packages`](#transcend-inventory-scan-packages)
|
|
44
|
+
- [`transcend inventory discover-silos`](#transcend-inventory-discover-silos)
|
|
45
|
+
- [Usage](#usage-3)
|
|
46
|
+
- [`transcend inventory pull-datapoints`](#transcend-inventory-pull-datapoints)
|
|
47
|
+
- [`transcend inventory pull-unstructured-discovery-files`](#transcend-inventory-pull-unstructured-discovery-files)
|
|
48
|
+
- [`transcend inventory derive-data-silos-from-data-flows`](#transcend-inventory-derive-data-silos-from-data-flows)
|
|
49
|
+
- [`transcend inventory derive-data-silos-from-data-flows-cross-instance`](#transcend-inventory-derive-data-silos-from-data-flows-cross-instance)
|
|
50
|
+
- [`transcend inventory consent-manager-service-json-to-yml`](#transcend-inventory-consent-manager-service-json-to-yml)
|
|
51
|
+
- [`transcend inventory consent-managers-to-business-entities`](#transcend-inventory-consent-managers-to-business-entities)
|
|
52
|
+
- [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys)
|
|
28
53
|
- [Usage](#usage-4)
|
|
29
|
-
- [
|
|
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,116 +59,34 @@
|
|
|
170
59
|
|
|
171
60
|
## Changelog
|
|
172
61
|
|
|
173
|
-
To stay up to date on breaking changes to the
|
|
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
|
|
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
|
|
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
|
-
|
|
187
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
|
282
|
-
Within your git repositories, you can define a file `transcend.yml`. This file allows you define part of your Data Map in code. Using the
|
|
89
|
+
Within your git repositories, you can define a file `transcend.yml`. This file allows you define part of your Data Map in code. Using the CLI, you can sync that configuration back to the Transcend Admin Dashboard (https://app.transcend.io/privacy-requests/connected-services).
|
|
283
90
|
|
|
284
91
|
You can find various examples for your `transcend.yml` file in the [examples/](./examples/) folder. If you are looking for a starting point to copy and paste, [simple.yml](./examples/simple.yml) is a good place to start. This file is annotated with links and documentations that new members of your team can use if they come across the file.
|
|
285
92
|
|
|
@@ -300,7 +107,7 @@ The structure of `transcend.yml` looks something like the following:
|
|
|
300
107
|
# See https://docs.transcend.io/docs/authentication
|
|
301
108
|
# Define API keys that may be shared across data silos
|
|
302
109
|
# in the data map. When creating new data silos through the YAML
|
|
303
|
-
#
|
|
110
|
+
# CLI, it is possible to specify which API key should be associated
|
|
304
111
|
# with the newly created data silo.
|
|
305
112
|
api-keys:
|
|
306
113
|
- title: Webhook Key
|
|
@@ -378,401 +185,942 @@ data-silos:
|
|
|
378
185
|
|
|
379
186
|
## Usage
|
|
380
187
|
|
|
381
|
-
|
|
188
|
+
<!-- COMMANDS_START -->
|
|
189
|
+
|
|
190
|
+
### `transcend request approve`
|
|
191
|
+
|
|
192
|
+
```txt
|
|
193
|
+
USAGE
|
|
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]
|
|
195
|
+
transcend request approve --help
|
|
196
|
+
|
|
197
|
+
Bulk approve a set of privacy requests from the DSR Automation -> Incoming Requests tab.
|
|
198
|
+
|
|
199
|
+
FLAGS
|
|
200
|
+
--auth The Transcend API key. Requires scopes: "Request Approval and Communication", "View Incoming Requests", "Manage Request Compilation"
|
|
201
|
+
--actions The request actions to approve [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, separator = ,]
|
|
202
|
+
[--origins] The request origins to approve [PRIVACY_CENTER|ADMIN_DASHBOARD|API|SHOPIFY, separator = ,]
|
|
203
|
+
[--silentModeBefore] Any requests made before this date should be marked as silent mode
|
|
204
|
+
[--createdAtBefore] Approve requests that were submitted before this time
|
|
205
|
+
[--createdAtAfter] Approve requests that were submitted after this time
|
|
206
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
207
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 50]
|
|
208
|
+
-h --help Print help information and exit
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### `transcend request upload`
|
|
212
|
+
|
|
213
|
+
```txt
|
|
214
|
+
USAGE
|
|
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]
|
|
216
|
+
transcend request upload --help
|
|
217
|
+
|
|
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.
|
|
221
|
+
|
|
222
|
+
The script will also produce a JSON cache file that allows for the mappings to be preserved between runs.
|
|
223
|
+
|
|
224
|
+
FLAGS
|
|
225
|
+
--auth The Transcend API key. Requires scopes: "Submit New Data Subject Request", "View Identity Verification Settings", "View Global Attributes"
|
|
226
|
+
[--file] Path to the CSV file of requests to upload [default = ./requests.csv]
|
|
227
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
228
|
+
[--cacheFilepath] The path to the JSON file encoding the metadata used to map the CSV shape to Transcend API [default = ./transcend-privacy-requests-cache.json]
|
|
229
|
+
[--requestReceiptFolder] The path to the folder where receipts of each upload are stored [default = ./privacy-request-upload-receipts]
|
|
230
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
231
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 50]
|
|
232
|
+
[--attributes] Tag all of the requests with the following attributes. Format: key1:value1;value2,key2:value3;value4 [default = Tags:transcend-cli]
|
|
233
|
+
[--isTest] Flag whether the requests being uploaded are test requests or regular requests [default = false]
|
|
234
|
+
[--isSilent/--noIsSilent] Flag whether the requests being uploaded should be submitted in silent mode [default = true]
|
|
235
|
+
[--skipSendingReceipt] Flag whether to skip sending of the receipt email [default = false]
|
|
236
|
+
[--emailIsVerified/--noEmailIsVerified] Indicate whether the email address being uploaded is pre-verified. Set to false to send a verification email [default = true]
|
|
237
|
+
[--skipFilterStep] When true, skip the interactive step to filter down the CSV [default = false]
|
|
238
|
+
[--dryRun] When true, perform a dry run of the upload instead of calling the API to submit the requests [default = false]
|
|
239
|
+
[--debug] Debug logging [default = false]
|
|
240
|
+
[--defaultPhoneCountryCode] When uploading phone numbers, if the phone number is missing a country code, assume this country code [default = 1]
|
|
241
|
+
-h --help Print help information and exit
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
### `transcend request download-files`
|
|
245
|
+
|
|
246
|
+
```txt
|
|
247
|
+
USAGE
|
|
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]
|
|
249
|
+
transcend request download-files --help
|
|
250
|
+
|
|
251
|
+
Download the files associated with a Data Subject Access Request (DSAR) from DSR Automation -> Incoming Requests tab.
|
|
252
|
+
|
|
253
|
+
FLAGS
|
|
254
|
+
--auth The Transcend API key. Requires scopes: "View the Request Compilation", "View Incoming Requests", "Request Approval and Communication"
|
|
255
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
256
|
+
[--concurrency] The concurrency to use when downloading requests in parallel [default = 10]
|
|
257
|
+
[--requestIds]... Specify the specific request IDs to download [separator = ,]
|
|
258
|
+
[--statuses] The request statuses to download. Comma-separated list. Defaults to APPROVING,DOWNLOADABLE. [REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED, separator = ,]
|
|
259
|
+
[--folderPath] The folder to download files to [default = ./dsr-files]
|
|
260
|
+
[--createdAtBefore] Download requests that were submitted before this time
|
|
261
|
+
[--createdAtAfter] Download requests that were submitted after this time
|
|
262
|
+
[--approveAfterDownload] If the request is in status=APPROVING, approve the request after its downloaded [default = false]
|
|
263
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
264
|
+
-h --help Print help information and exit
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### `transcend request cancel`
|
|
268
|
+
|
|
269
|
+
```txt
|
|
270
|
+
USAGE
|
|
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]
|
|
272
|
+
transcend request cancel --help
|
|
273
|
+
|
|
274
|
+
Bulk cancel a set of privacy requests from the DSR Automation -> Incoming Requests tab.
|
|
275
|
+
|
|
276
|
+
FLAGS
|
|
277
|
+
--auth The Transcend API key. Requires scopes: "View Incoming Requests", "Request Approval and Communication"
|
|
278
|
+
--actions The request actions to cancel [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, separator = ,]
|
|
279
|
+
[--statuses] The request statuses to cancel. Comma-separated list. [REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED, separator = ,]
|
|
280
|
+
[--requestIds]... Specify the specific request IDs to cancel [separator = ,]
|
|
281
|
+
[--silentModeBefore] Any requests made before this date should be marked as silent mode for canceling to skip email sending
|
|
282
|
+
[--createdAtBefore] Cancel requests that were submitted before this time
|
|
283
|
+
[--createdAtAfter] Cancel requests that were submitted after this time
|
|
284
|
+
[--cancellationTitle] The title of the email template that should be sent to the requests upon cancelation [default = Request Canceled]
|
|
285
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
286
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 50]
|
|
287
|
+
-h --help Print help information and exit
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### `transcend request restart`
|
|
291
|
+
|
|
292
|
+
```txt
|
|
293
|
+
USAGE
|
|
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]
|
|
295
|
+
transcend request restart --help
|
|
296
|
+
|
|
297
|
+
Bulk update a set of privacy requests based on a set of request filters.
|
|
298
|
+
|
|
299
|
+
FLAGS
|
|
300
|
+
--auth The Transcend API key. Requires scopes: "Submit New Data Subject Request", "View the Request Compilation"
|
|
301
|
+
--actions The request actions to restart [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, separator = ,]
|
|
302
|
+
--statuses The request statuses to restart [REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED, separator = ,]
|
|
303
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
304
|
+
[--requestReceiptFolder] The path to the folder where receipts of each upload are stored [default = ./privacy-request-upload-receipts]
|
|
305
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
306
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 15]
|
|
307
|
+
[--requestIds]... Specify the specific request IDs to restart [separator = ,]
|
|
308
|
+
[--emailIsVerified/--noEmailIsVerified] Indicate whether the primary email address is verified. Set to false to send a verification email [default = true]
|
|
309
|
+
[--createdAt] Restart requests that were submitted before a specific date
|
|
310
|
+
[--silentModeBefore] Requests older than this date should be marked as silent mode
|
|
311
|
+
[--createdAtBefore] Restart requests that were submitted before this time
|
|
312
|
+
[--createdAtAfter] Restart requests that were submitted after this time
|
|
313
|
+
[--sendEmailReceipt] Send email receipts to the restarted requests [default = false]
|
|
314
|
+
[--copyIdentifiers] Copy over all enriched identifiers from the initial request [default = false]
|
|
315
|
+
[--skipWaitingPeriod] Skip queued state of request and go straight to compiling [default = false]
|
|
316
|
+
-h --help Print help information and exit
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### `transcend request notify-additional-time`
|
|
320
|
+
|
|
321
|
+
```txt
|
|
322
|
+
USAGE
|
|
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]
|
|
324
|
+
transcend request notify-additional-time --help
|
|
325
|
+
|
|
326
|
+
Bulk notify a set of privacy requests from the DSR Automation -> Incoming Requests tab that more time is needed to complete the request. Note any request in silent mode will not be emailed.
|
|
327
|
+
|
|
328
|
+
FLAGS
|
|
329
|
+
--auth The Transcend API key. Requires scopes: "View Incoming Requests", "Request Approval and Communication"
|
|
330
|
+
--createdAtBefore Notify requests that are open but submitted before this time
|
|
331
|
+
[--createdAtAfter] Notify requests that are open but submitted after this time
|
|
332
|
+
[--actions] The request actions to notify [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, separator = ,]
|
|
333
|
+
[--daysLeft] Only notify requests that have less than this number of days until they are considered expired [default = 10]
|
|
334
|
+
[--days] The number of days to adjust the expiration of the request to [default = 45]
|
|
335
|
+
[--requestIds]... Specify the specific request IDs to notify [separator = ,]
|
|
336
|
+
[--emailTemplate] The title of the email template that should be sent to the requests [default = Additional Time Needed]
|
|
337
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
338
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 50]
|
|
339
|
+
-h --help Print help information and exit
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### `transcend request mark-silent`
|
|
343
|
+
|
|
344
|
+
```txt
|
|
345
|
+
USAGE
|
|
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]
|
|
347
|
+
transcend request mark-silent --help
|
|
348
|
+
|
|
349
|
+
Bulk update a set of privacy requests from the DSR Automation -> Incoming Requests tab to be in silent mode.
|
|
350
|
+
|
|
351
|
+
FLAGS
|
|
352
|
+
--auth The Transcend API key. Requires scopes: "Manage Request Compilation"
|
|
353
|
+
--actions The request actions to mark silent [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, separator = ,]
|
|
354
|
+
[--statuses] The request statuses to mark silent. Comma-separated list. Defaults to REQUEST_MADE,WAITING,ENRICHING,COMPILING,DELAYED,APPROVING,SECONDARY,SECONDARY_APPROVING. [REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED, separator = ,]
|
|
355
|
+
[--requestIds]... Specify the specific request IDs to mark silent [separator = ,]
|
|
356
|
+
[--createdAtBefore] Mark silent requests that were submitted before this time
|
|
357
|
+
[--createdAtAfter] Mark silent requests that were submitted after this time
|
|
358
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
359
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 50]
|
|
360
|
+
-h --help Print help information and exit
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### `transcend request enricher-restart`
|
|
364
|
+
|
|
365
|
+
```txt
|
|
366
|
+
USAGE
|
|
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]
|
|
368
|
+
transcend request enricher-restart --help
|
|
369
|
+
|
|
370
|
+
Bulk restart a particular enricher across a series of DSRs.
|
|
371
|
+
|
|
372
|
+
The API key needs the following scopes:
|
|
373
|
+
- Manage Request Compilation
|
|
374
|
+
|
|
375
|
+
FLAGS
|
|
376
|
+
--auth The Transcend API key. Requires scopes: "Manage Request Compilation"
|
|
377
|
+
--enricherId The ID of the enricher to restart
|
|
378
|
+
[--actions] The request action to restart [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, separator = ,]
|
|
379
|
+
[--requestEnricherStatuses] The request enricher statuses to restart [QUEUED|WAITING|SKIPPED|ERROR|RESOLVED|ACTION_REQUIRED|REMOTE_PROCESSING|WAITING_ON_DEPENDENCIES|POLLING, separator = ,]
|
|
380
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
381
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 15]
|
|
382
|
+
[--requestIds]... Specify the specific request IDs to restart [separator = ,]
|
|
383
|
+
[--createdAtBefore] Restart requests that were submitted before this time
|
|
384
|
+
[--createdAtAfter] Restart requests that were submitted after this time
|
|
385
|
+
-h --help Print help information and exit
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### `transcend request reject-unverified-identifiers`
|
|
389
|
+
|
|
390
|
+
```txt
|
|
391
|
+
USAGE
|
|
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]
|
|
393
|
+
transcend request reject-unverified-identifiers --help
|
|
394
|
+
|
|
395
|
+
Bulk clear out any request identifiers that are unverified.
|
|
396
|
+
|
|
397
|
+
FLAGS
|
|
398
|
+
--auth The Transcend API key. Requires scopes: "Manage Request Compilation"
|
|
399
|
+
--identifierNames... The names of identifiers to clear out [separator = ,]
|
|
400
|
+
[--actions] The request action to restart [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, separator = ,]
|
|
401
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
402
|
+
-h --help Print help information and exit
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
### `transcend request export`
|
|
406
|
+
|
|
407
|
+
```txt
|
|
408
|
+
USAGE
|
|
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]
|
|
410
|
+
transcend request export --help
|
|
411
|
+
|
|
412
|
+
Export privacy requests and request identifiers to a CSV file.
|
|
413
|
+
|
|
414
|
+
FLAGS
|
|
415
|
+
--auth The Transcend API key. Requires scopes: "View Incoming Requests", "View the Request Compilation"
|
|
416
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
417
|
+
[--actions] The request actions to export [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, separator = ,]
|
|
418
|
+
[--statuses] The request statuses to export [REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED, separator = ,]
|
|
419
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
420
|
+
[--file] Path to the CSV file where identifiers will be written to [default = ./transcend-request-export.csv]
|
|
421
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 100]
|
|
422
|
+
[--createdAtBefore] Pull requests that were submitted before this time
|
|
423
|
+
[--createdAtAfter] Pull requests that were submitted after this time
|
|
424
|
+
[--showTests/--noShowTests] Filter for test requests or production requests - when not provided, pulls both
|
|
425
|
+
[--pageLimit] The page limit to use when pulling in pages of requests [default = 100]
|
|
426
|
+
-h --help Print help information and exit
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### `transcend request skip-preflight-jobs`
|
|
430
|
+
|
|
431
|
+
```txt
|
|
432
|
+
USAGE
|
|
433
|
+
transcend request skip-preflight-jobs (--auth value) (--enricherIds value)... [--transcendUrl value]
|
|
434
|
+
transcend request skip-preflight-jobs --help
|
|
435
|
+
|
|
436
|
+
This command allows for bulk skipping preflight checks.
|
|
437
|
+
|
|
438
|
+
FLAGS
|
|
439
|
+
--auth The Transcend API key. Requires scopes: "Manage Request Compilation"
|
|
440
|
+
--enricherIds... The ID of the enrichers to skip privacy request jobs for [separator = ,]
|
|
441
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
442
|
+
-h --help Print help information and exit
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### `transcend request system mark-request-data-silos-completed`
|
|
446
|
+
|
|
447
|
+
```txt
|
|
448
|
+
USAGE
|
|
449
|
+
transcend request system mark-request-data-silos-completed (--auth value) (--dataSiloId value) [--file value] [--transcendUrl value]
|
|
450
|
+
transcend request system mark-request-data-silos-completed --help
|
|
451
|
+
|
|
452
|
+
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.
|
|
453
|
+
This command is useful with the "Bulk Response" UI. The CSV is expected to have 1 column named "Request Id".
|
|
454
|
+
|
|
455
|
+
FLAGS
|
|
456
|
+
--auth The Transcend API key. Requires scopes: "Manage Request Compilation"
|
|
457
|
+
--dataSiloId The ID of the data silo to pull in
|
|
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]
|
|
460
|
+
-h --help Print help information and exit
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
### `transcend request system retry-request-data-silos`
|
|
464
|
+
|
|
465
|
+
```txt
|
|
466
|
+
USAGE
|
|
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]
|
|
468
|
+
transcend request system retry-request-data-silos --help
|
|
469
|
+
|
|
470
|
+
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.
|
|
471
|
+
|
|
472
|
+
FLAGS
|
|
473
|
+
--auth The Transcend API key. Requires scopes: "Manage Request Compilation"
|
|
474
|
+
--dataSiloId The ID of the data silo to pull in
|
|
475
|
+
--actions The request actions to restart [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, separator = ,]
|
|
476
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
477
|
+
-h --help Print help information and exit
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
### `transcend request system skip-request-data-silos`
|
|
481
|
+
|
|
482
|
+
```txt
|
|
483
|
+
USAGE
|
|
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]
|
|
485
|
+
transcend request system skip-request-data-silos --help
|
|
486
|
+
|
|
487
|
+
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.
|
|
488
|
+
|
|
489
|
+
FLAGS
|
|
490
|
+
--auth The Transcend API key. Requires scopes: "Manage Request Compilation"
|
|
491
|
+
--dataSiloId The ID of the data silo to skip privacy request jobs for
|
|
492
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
493
|
+
--statuses The request statuses to skip [REQUEST_MADE|FAILED_VERIFICATION|ENRICHING|ON_HOLD|WAITING|COMPILING|APPROVING|DELAYED|COMPLETED|DOWNLOADABLE|VIEW_CATEGORIES|CANCELED|SECONDARY|SECONDARY_COMPLETED|SECONDARY_APPROVING|REVOKED, separator = ,]
|
|
494
|
+
[--status] The status to set the request data silo job to [SKIPPED|RESOLVED, default = SKIPPED]
|
|
495
|
+
-h --help Print help information and exit
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
### `transcend request preflight pull-identifiers`
|
|
499
|
+
|
|
500
|
+
```txt
|
|
501
|
+
USAGE
|
|
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]
|
|
503
|
+
transcend request preflight pull-identifiers --help
|
|
504
|
+
|
|
505
|
+
This command pulls down the set of privacy requests that are currently pending manual enrichment.
|
|
506
|
+
|
|
507
|
+
This is useful for the following workflow:
|
|
508
|
+
|
|
509
|
+
1. Pull identifiers to CSV:
|
|
510
|
+
transcend request preflight pull-identifiers --file=./enrichment-requests.csv
|
|
511
|
+
2. Fill out the CSV with additional identifiers
|
|
512
|
+
3. Push updated back to Transcend
|
|
513
|
+
transcend request preflight push-identifiers --file=./enrichment-requests.csv
|
|
514
|
+
|
|
515
|
+
FLAGS
|
|
516
|
+
--auth The Transcend API key. Requires scopes: "View Incoming Requests", "View the Request Compilation"
|
|
517
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
518
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
519
|
+
[--file] Path to the CSV file where requests will be written to [default = ./manual-enrichment-identifiers.csv]
|
|
520
|
+
[--actions] The request actions to pull for [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, separator = ,]
|
|
521
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 100]
|
|
522
|
+
-h --help Print help information and exit
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
### `transcend request preflight push-identifiers`
|
|
526
|
+
|
|
527
|
+
```txt
|
|
528
|
+
USAGE
|
|
529
|
+
transcend request preflight push-identifiers (--auth value) (--enricherId value) [--sombraAuth value] [--transcendUrl value] [--file value] [--markSilent] [--concurrency value]
|
|
530
|
+
transcend request preflight push-identifiers --help
|
|
531
|
+
|
|
532
|
+
This command push up a set of identifiers for a set of requests pending manual enrichment.
|
|
533
|
+
|
|
534
|
+
This is useful for the following workflow:
|
|
535
|
+
|
|
536
|
+
1. Pull identifiers to CSV:
|
|
537
|
+
transcend request preflight pull-identifiers --file=./enrichment-requests.csv
|
|
538
|
+
2. Fill out the CSV with additional identifiers
|
|
539
|
+
3. Push updated back to Transcend
|
|
540
|
+
transcend request preflight push-identifiers --file=./enrichment-requests.csv
|
|
541
|
+
|
|
542
|
+
FLAGS
|
|
543
|
+
--auth The Transcend API key. Requires scopes: "Manage Request Identity Verification", "Manage Request Compilation"
|
|
544
|
+
--enricherId The ID of the Request Enricher to upload to
|
|
545
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
546
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
547
|
+
[--file] Path to the CSV file where requests will be written to [default = ./manual-enrichment-identifiers.csv]
|
|
548
|
+
[--markSilent] When true, set requests into silent mode before enriching [default = false]
|
|
549
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 100]
|
|
550
|
+
-h --help Print help information and exit
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
### `transcend request cron pull-identifiers`
|
|
554
|
+
|
|
555
|
+
```txt
|
|
556
|
+
USAGE
|
|
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]
|
|
558
|
+
transcend request cron pull-identifiers --help
|
|
559
|
+
|
|
560
|
+
If you are using the cron job integration, you can run this command to pull the outstanding identifiers for the data silo to a CSV.
|
|
561
|
+
|
|
562
|
+
For large datasets, the output will be automatically split into multiple CSV files to avoid file system size limits. Use the --chunkSize parameter to control the maximum number of rows per file.
|
|
563
|
+
|
|
564
|
+
Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.
|
|
565
|
+
|
|
566
|
+
FLAGS
|
|
567
|
+
--auth The Transcend API key. This key must be associated with the data silo(s) being operated on. No scopes are required for this command.
|
|
568
|
+
--dataSiloId The ID of the data silo to pull in
|
|
569
|
+
--actions The request actions to restart [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, separator = ,]
|
|
570
|
+
[--file] Path to the CSV file where identifiers will be written to [default = ./cron-identifiers.csv]
|
|
571
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
572
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
573
|
+
[--pageLimit] The page limit to use when pulling in pages of identifiers [default = 100]
|
|
574
|
+
[--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 [default = false]
|
|
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 = 10000]
|
|
576
|
+
-h --help Print help information and exit
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
### `transcend request cron mark-identifiers-completed`
|
|
580
|
+
|
|
581
|
+
```txt
|
|
582
|
+
USAGE
|
|
583
|
+
transcend request cron mark-identifiers-completed (--auth value) (--dataSiloId value) [--file value] [--transcendUrl value] [--sombraAuth value]
|
|
584
|
+
transcend request cron mark-identifiers-completed --help
|
|
585
|
+
|
|
586
|
+
This command takes the output of "transcend request cron pull-identifiers" and notifies Transcend that all of the requests in the CSV have been processed.
|
|
587
|
+
This is used in the workflow like:
|
|
588
|
+
|
|
589
|
+
1. Pull identifiers to CSV:
|
|
590
|
+
transcend request cron pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE --file=./outstanding-requests.csv
|
|
591
|
+
2. Run your process to operate on that CSV of requests.
|
|
592
|
+
3. Notify Transcend of completion
|
|
593
|
+
transcend request cron mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --file=./outstanding-requests.csv
|
|
594
|
+
|
|
595
|
+
Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.
|
|
596
|
+
|
|
597
|
+
FLAGS
|
|
598
|
+
--auth The Transcend API key. This key must be associated with the data silo(s) being operated on. No scopes are required for this command.
|
|
599
|
+
--dataSiloId The ID of the data silo to pull in
|
|
600
|
+
[--file] Path to the CSV file where identifiers will be written to [default = ./cron-identifiers.csv]
|
|
601
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
602
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
603
|
+
-h --help Print help information and exit
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
### `transcend consent build-xdi-sync-endpoint`
|
|
607
|
+
|
|
608
|
+
```txt
|
|
609
|
+
USAGE
|
|
610
|
+
transcend consent build-xdi-sync-endpoint (--auth value) (--xdiLocation value) [--file value] [--removeIpAddresses] [--domainBlockList value] [--xdiAllowedCommands value] [--transcendUrl value]
|
|
611
|
+
transcend consent build-xdi-sync-endpoint --help
|
|
612
|
+
|
|
613
|
+
This command allows for building of the XDI Sync Endpoint across a set of Transcend accounts.
|
|
614
|
+
|
|
615
|
+
FLAGS
|
|
616
|
+
--auth The Transcend API key. Requires scopes: "View Consent Manager"
|
|
617
|
+
--xdiLocation The location of the XDI that will be loaded by the generated sync endpoint
|
|
618
|
+
[--file] The HTML file path where the sync endpoint should be written [default = ./sync-endpoint.html]
|
|
619
|
+
[--removeIpAddresses/--noRemoveIpAddresses] When true, remove IP addresses from the domain list [default = true]
|
|
620
|
+
[--domainBlockList] The set of domains that should be excluded from the sync endpoint. Comma-separated list. [default = localhost]
|
|
621
|
+
[--xdiAllowedCommands] The allowed set of XDI commands [default = ConsentManager:Sync]
|
|
622
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
623
|
+
-h --help Print help information and exit
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
### `transcend consent pull-consent-metrics`
|
|
627
|
+
|
|
628
|
+
```txt
|
|
629
|
+
USAGE
|
|
630
|
+
transcend consent pull-consent-metrics (--auth value) (--start value) [--end value] [--folder value] [--bin value] [--transcendUrl value]
|
|
631
|
+
transcend consent pull-consent-metrics --help
|
|
632
|
+
|
|
633
|
+
This command allows for pulling consent manager metrics for a Transcend account, or a set of Transcend accounts.
|
|
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
|
+
|
|
643
|
+
FLAGS
|
|
644
|
+
--auth The Transcend API key. Requires scopes: "View Consent Manager"
|
|
645
|
+
--start The start date to pull metrics from
|
|
646
|
+
[--end] The end date to pull metrics until
|
|
647
|
+
[--folder] The folder to save metrics to [default = ./consent-metrics/]
|
|
648
|
+
[--bin] The bin metric when pulling data (1h or 1d) [default = 1d]
|
|
649
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
650
|
+
-h --help Print help information and exit
|
|
651
|
+
```
|
|
652
|
+
|
|
653
|
+
### `transcend consent pull-consent-preferences`
|
|
654
|
+
|
|
655
|
+
```txt
|
|
656
|
+
USAGE
|
|
657
|
+
transcend consent pull-consent-preferences (--auth value) (--partition value) [--sombraAuth value] [--file value] [--transcendUrl value] [--timestampBefore value] [--timestampAfter value] [--identifiers value]... [--concurrency value]
|
|
658
|
+
transcend consent pull-consent-preferences --help
|
|
659
|
+
|
|
660
|
+
This command allows for pull of consent preferences from the Managed Consent Database.
|
|
661
|
+
|
|
662
|
+
FLAGS
|
|
663
|
+
--auth The Transcend API key. Requires scopes: "View Managed Consent Database Admin API"
|
|
664
|
+
--partition The partition key to download consent preferences to
|
|
665
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
666
|
+
[--file] Path to the CSV file to save preferences to [default = ./preferences.csv]
|
|
667
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
668
|
+
[--timestampBefore] Filter for consents updated this time
|
|
669
|
+
[--timestampAfter] Filter for consents updated after this time
|
|
670
|
+
[--identifiers]... Filter for specific identifiers [separator = ,]
|
|
671
|
+
[--concurrency] The concurrency to use when downloading consents in parallel [default = 100]
|
|
672
|
+
-h --help Print help information and exit
|
|
673
|
+
```
|
|
674
|
+
|
|
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`
|
|
382
688
|
|
|
383
|
-
|
|
689
|
+
```txt
|
|
690
|
+
USAGE
|
|
691
|
+
transcend consent update-consent-manager (--auth value) (--bundleTypes PRODUCTION|TEST) [--deploy] [--transcendUrl value]
|
|
692
|
+
transcend consent update-consent-manager --help
|
|
693
|
+
|
|
694
|
+
This command allows for updating Consent Manager to latest version. The Consent Manager bundle can also be deployed using this command.
|
|
695
|
+
|
|
696
|
+
FLAGS
|
|
697
|
+
--auth The Transcend API key. Requires scopes: "Manage Consent Manager Developer Settings"
|
|
698
|
+
--bundleTypes The bundle types to deploy. Defaults to PRODUCTION,TEST. [PRODUCTION|TEST, separator = ,]
|
|
699
|
+
[--deploy] When true, deploy the Consent Manager after updating the version [default = false]
|
|
700
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
701
|
+
-h --help Print help information and exit
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
### `transcend consent upload-consent-preferences`
|
|
705
|
+
|
|
706
|
+
```txt
|
|
707
|
+
USAGE
|
|
708
|
+
transcend consent upload-consent-preferences (--base64EncryptionKey value) (--base64SigningKey value) (--partition value) [--file value] [--consentUrl value] [--concurrency value]
|
|
709
|
+
transcend consent upload-consent-preferences --help
|
|
710
|
+
|
|
711
|
+
This command allows for updating of consent preferences to the Managed Consent Database.
|
|
712
|
+
|
|
713
|
+
FLAGS
|
|
714
|
+
--base64EncryptionKey The encryption key used to encrypt the userId
|
|
715
|
+
--base64SigningKey The signing key used to prove authentication of consent request
|
|
716
|
+
--partition The partition key to download consent preferences to
|
|
717
|
+
[--file] The file to pull consent preferences from [default = ./preferences.csv]
|
|
718
|
+
[--consentUrl] URL of the Transcend Consent backend. Use https://consent.us.transcend.io for US hosting [default = https://consent.transcend.io]
|
|
719
|
+
[--concurrency] The concurrency to use when uploading requests in parallel [default = 100]
|
|
720
|
+
-h --help Print help information and exit
|
|
721
|
+
```
|
|
722
|
+
|
|
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
|
|
740
|
+
USAGE
|
|
741
|
+
transcend consent upload-cookies-from-csv (--auth value) (--trackerStatus LIVE|NEEDS_REVIEW) [--file value] [--transcendUrl value]
|
|
742
|
+
transcend consent upload-cookies-from-csv --help
|
|
743
|
+
|
|
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.
|
|
751
|
+
|
|
752
|
+
FLAGS
|
|
753
|
+
--auth The Transcend API key. Requires scopes: "Manage Data Flows"
|
|
754
|
+
--trackerStatus The status of the cookies you will upload. [LIVE|NEEDS_REVIEW]
|
|
755
|
+
[--file] Path to the CSV file to upload [default = ./cookies.csv]
|
|
756
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
757
|
+
-h --help Print help information and exit
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
### `transcend consent upload-data-flows-from-csv`
|
|
761
|
+
|
|
762
|
+
```txt
|
|
763
|
+
USAGE
|
|
764
|
+
transcend consent upload-data-flows-from-csv (--auth value) (--trackerStatus LIVE|NEEDS_REVIEW) [--file value] [--classifyService] [--transcendUrl value]
|
|
765
|
+
transcend consent upload-data-flows-from-csv --help
|
|
766
|
+
|
|
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.
|
|
774
|
+
|
|
775
|
+
FLAGS
|
|
776
|
+
--auth The Transcend API key. Requires scopes: "Manage Data Flows"
|
|
777
|
+
--trackerStatus The status of the data flows you will upload. [LIVE|NEEDS_REVIEW]
|
|
778
|
+
[--file] Path to the CSV file to upload [default = ./data-flows.csv]
|
|
779
|
+
[--classifyService] When true, automatically assign the service for a data flow based on the domain that is specified [default = false]
|
|
780
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
781
|
+
-h --help Print help information and exit
|
|
782
|
+
```
|
|
783
|
+
|
|
784
|
+
### `transcend consent upload-preferences`
|
|
785
|
+
|
|
786
|
+
```txt
|
|
787
|
+
USAGE
|
|
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]
|
|
789
|
+
transcend consent upload-preferences --help
|
|
790
|
+
|
|
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.
|
|
796
|
+
|
|
797
|
+
FLAGS
|
|
798
|
+
--auth The Transcend API key. Requires scopes: "Modify User Stored Preferences", "View Managed Consent Database Admin API", "View Preference Store Settings"
|
|
799
|
+
--partition The partition key to download consent preferences to
|
|
800
|
+
[--sombraAuth] The Sombra internal key, use for additional authentication when self-hosting Sombra
|
|
801
|
+
[--consentUrl] URL of the Transcend backend. Use https://consent.us.transcend.io for US hosting [default = https://consent.transcend.io]
|
|
802
|
+
[--file] Path to the CSV file to load preferences from
|
|
803
|
+
[--directory] Path to the directory of CSV files to load preferences from
|
|
804
|
+
[--dryRun] Whether to do a dry run only - will write results to receiptFilepath without updating Transcend [default = false]
|
|
805
|
+
[--skipExistingRecordCheck] Whether to skip the check for existing records. SHOULD ONLY BE USED FOR INITIAL UPLOAD [default = false]
|
|
806
|
+
[--receiptFileDir] Directory path where the response receipts should be saved [default = ./receipts]
|
|
807
|
+
[--skipWorkflowTriggers] Whether to skip workflow triggers when uploading to preference store [default = false]
|
|
808
|
+
[--forceTriggerWorkflows] Whether to force trigger workflows for existing consent records [default = false]
|
|
809
|
+
[--skipConflictUpdates] Whether to skip uploading of any records where the preference store and file have a hard conflict [default = false]
|
|
810
|
+
[--isSilent/--noIsSilent] Whether to skip sending emails in workflows [default = true]
|
|
811
|
+
[--attributes] Attributes to add to any DSR request if created. Comma-separated list of key:value pairs. [default = Tags:transcend-cli,Source:transcend-cli]
|
|
812
|
+
[--receiptFilepath] Store resulting, continuing where left off [default = ./preference-management-upload-receipts.json]
|
|
813
|
+
[--concurrency] The concurrency to use when uploading in parallel [default = 10]
|
|
814
|
+
-h --help Print help information and exit
|
|
815
|
+
```
|
|
816
|
+
|
|
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 inventory pull`
|
|
838
|
+
|
|
839
|
+
```txt
|
|
840
|
+
USAGE
|
|
841
|
+
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]
|
|
842
|
+
transcend inventory pull --help
|
|
843
|
+
|
|
844
|
+
Generates a transcend.yml by pulling the configuration from your Transcend instance.
|
|
845
|
+
|
|
846
|
+
The API key needs various scopes depending on the resources being pulled (see the CLI's README for more details).
|
|
384
847
|
|
|
385
848
|
This command can be helpful if you are looking to:
|
|
386
849
|
|
|
387
|
-
- Copy
|
|
388
|
-
- Generate a transcend.yml file as a starting point to maintain parts of your
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
|
411
|
-
|
|
|
412
|
-
|
|
|
413
|
-
|
|
|
414
|
-
|
|
|
415
|
-
|
|
|
416
|
-
|
|
|
417
|
-
|
|
|
418
|
-
|
|
|
419
|
-
|
|
|
420
|
-
|
|
|
421
|
-
|
|
|
422
|
-
|
|
|
423
|
-
|
|
|
424
|
-
|
|
|
425
|
-
|
|
|
426
|
-
|
|
|
427
|
-
|
|
|
428
|
-
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
|
435
|
-
|
|
|
436
|
-
|
|
|
437
|
-
|
|
|
438
|
-
|
|
|
439
|
-
|
|
|
440
|
-
|
|
|
441
|
-
|
|
|
442
|
-
|
|
|
443
|
-
| pageSize | The page size to use when paginating over the API | number | 50 | false |
|
|
444
|
-
| skipDatapoints | When true, skip pulling in datapoints alongside data silo resource | boolean | false | false |
|
|
445
|
-
| skipSubDatapoints | When true, skip pulling in subDatapoints alongside data silo resource | boolean | false | false |
|
|
446
|
-
| includeGuessedCategories | When true, included guessed data categories that came from the content classifier | boolean | false | false |
|
|
447
|
-
| debug | Set to true to include debug logs while pulling the configuration | boolean | false | false |
|
|
850
|
+
- Copy your data into another instance
|
|
851
|
+
- Generate a transcend.yml file as a starting point to maintain parts of your data inventory in code.
|
|
852
|
+
|
|
853
|
+
FLAGS
|
|
854
|
+
--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.
|
|
855
|
+
[--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 = ,]
|
|
856
|
+
[--file] Path to the YAML file to pull into [default = ./transcend.yml]
|
|
857
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
858
|
+
[--dataSiloIds]... The UUIDs of the data silos that should be pulled into the YAML file [separator = ,]
|
|
859
|
+
[--integrationNames]... The types of integrations to pull down [separator = ,]
|
|
860
|
+
[--trackerStatuses] The statuses of consent manager trackers to pull down. Defaults to all statuses. [LIVE|NEEDS_REVIEW, separator = ,]
|
|
861
|
+
[--pageSize] The page size to use when paginating over the API [default = 50]
|
|
862
|
+
[--skipDatapoints] When true, skip pulling in datapoints alongside data silo resource [default = false]
|
|
863
|
+
[--skipSubDatapoints] When true, skip pulling in subDatapoints alongside data silo resource [default = false]
|
|
864
|
+
[--includeGuessedCategories] When true, included guessed data categories that came from the content classifier [default = false]
|
|
865
|
+
[--debug] Set to true to include debug logs while pulling the configuration [default = false]
|
|
866
|
+
-h --help Print help information and exit
|
|
867
|
+
```
|
|
868
|
+
|
|
869
|
+
#### Scopes
|
|
870
|
+
|
|
871
|
+
The API key permissions for this command vary based on the `resources` argument:
|
|
872
|
+
|
|
873
|
+
| Resource | Description | Scopes | Link |
|
|
874
|
+
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
875
|
+
| 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) |
|
|
876
|
+
| 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) |
|
|
877
|
+
| 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) |
|
|
878
|
+
| 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) |
|
|
879
|
+
| enrichers | The Privacy Request enricher configurations. | View Identity Verification Settings | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
|
|
880
|
+
| dataFlows | Consent Manager Data Flow definitions. | View Data Flows | [Consent Management -> Data Flows](https://app.transcend.io/consent-manager/data-flows/approved) |
|
|
881
|
+
| 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) |
|
|
882
|
+
| actions | The Privacy Request action settings. | View Data Subject Request Settings | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
|
|
883
|
+
| dataSubjects | The Privacy Request data subject settings. | View Data Subject Request Settings | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
|
|
884
|
+
| identifiers | The Privacy Request identifier configurations. | View Identity Verification Settings | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
|
|
885
|
+
| cookies | Consent Manager Cookie definitions. | View Data Flows | [Consent Management -> Cookies](https://app.transcend.io/consent-manager/cookies/approved) |
|
|
886
|
+
| consentManager | Consent Manager general settings, including domain list. | View Consent Manager | [Consent Management -> Developer Settings](https://app.transcend.io/consent-manager/developer-settings) |
|
|
887
|
+
| 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) |
|
|
888
|
+
| prompts | The Transcend AI prompts | View Prompts | [Prompt Manager -> Browse](https://app.transcend.io/prompts/browse) |
|
|
889
|
+
| promptPartials | The Transcend AI prompt partials | View Prompts | [Prompt Manager -> Partials](https://app.transcend.io/prompts/partialss) |
|
|
890
|
+
| promptGroups | The Transcend AI prompt groups | View Prompts | [Prompt Manager -> Groups](https://app.transcend.io/prompts/groups) |
|
|
891
|
+
| agents | The agents in the prompt manager. | View Prompts | [Prompt Manager -> Agents](https://app.transcend.io/prompts/agents) |
|
|
892
|
+
| agentFunctions | The agent functions in the prompt manager. | View Prompts | [Prompt Manager -> Agent Functions](https://app.transcend.io/prompts/agent-functions) |
|
|
893
|
+
| agentFiles | The agent files in the prompt manager. | View Prompts | [Prompt Manager -> Agent Files](https://app.transcend.io/prompts/agent-files) |
|
|
894
|
+
| vendors | The vendors in the data inventory. | View Data Inventory | [Data Inventory -> Vendors](https://app.transcend.io/data-map/data-inventory/vendors) |
|
|
895
|
+
| 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) |
|
|
896
|
+
| processingPurposes | The processing purposes in the data inventory. | View Data Inventory | [Data Inventory -> Processing Purposes](https://app.transcend.io/data-map/data-inventory/purposes) |
|
|
897
|
+
| actionItems | Onboarding related action items | View All Action Items | [Action Items](https://app.transcend.io/action-items/all) |
|
|
898
|
+
| actionItemCollections | Onboarding related action item group names | View All Action Items | [Action Items](https://app.transcend.io/action-items/all) |
|
|
899
|
+
| teams | Team definitions of users and scope groupings | View Scopes | [Administration -> Teams](https://app.transcend.io/admin/teams) |
|
|
900
|
+
| privacyCenters | The privacy center configurations. | View Privacy Center Layout | [Privacy Center](https://app.transcend.io/privacy-center/general-settings) |
|
|
901
|
+
| policies | The privacy center policies. | View Policies | [Privacy Center -> Policies](https://app.transcend.io/privacy-center/policies) |
|
|
902
|
+
| 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) |
|
|
903
|
+
| assessments | Assessment responses. | View Assessments | [Assessments -> Assessments](https://app.transcend.io/assessments/groups) |
|
|
904
|
+
| assessmentTemplates | Assessment template configurations. | View Assessments | [Assessment -> Templates](https://app.transcend.io/assessments/form-templates) |
|
|
905
|
+
| 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) |
|
|
448
906
|
|
|
449
907
|
#### Usage
|
|
450
908
|
|
|
451
909
|
```sh
|
|
452
910
|
# Writes out file to ./transcend.yml
|
|
453
|
-
|
|
911
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY
|
|
454
912
|
```
|
|
455
913
|
|
|
456
914
|
An alternative file destination can be specified:
|
|
457
915
|
|
|
458
916
|
```sh
|
|
459
917
|
# Writes out file to ./custom/location.yml
|
|
460
|
-
|
|
918
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --file=./custom/location.yml
|
|
461
919
|
```
|
|
462
920
|
|
|
463
921
|
Or a specific data silo(s) can be pulled in:
|
|
464
922
|
|
|
465
923
|
```sh
|
|
466
|
-
|
|
924
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY ---dataSiloIds=710fec3c-7bcc-4c9e-baff-bf39f9bec43e
|
|
467
925
|
```
|
|
468
926
|
|
|
469
927
|
Or a specific types of data silo(s) can be pulled in:
|
|
470
928
|
|
|
471
929
|
```sh
|
|
472
|
-
|
|
930
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --integrationNames=salesforce,snowflake
|
|
473
931
|
```
|
|
474
932
|
|
|
475
933
|
Specifying the resource types to pull in (the following resources are the default resources):
|
|
476
934
|
|
|
477
935
|
```sh
|
|
478
|
-
|
|
936
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=apiKeys,templates,dataSilos,enrichers
|
|
479
937
|
```
|
|
480
938
|
|
|
481
939
|
Pull in data flow and cookie resources, filtering for specific tracker statuses (see [this example](./examples/data-flows-cookies.yml)):
|
|
482
940
|
|
|
483
941
|
```sh
|
|
484
|
-
|
|
942
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataFlows,cookies --trackerStatuses=NEEDS_REVIEW,LIVE
|
|
485
943
|
```
|
|
486
944
|
|
|
487
945
|
Pull in data silos without any datapoint/table information
|
|
488
946
|
|
|
489
947
|
```sh
|
|
490
|
-
|
|
948
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --skipDatapoints=true
|
|
491
949
|
```
|
|
492
950
|
|
|
493
951
|
Pull in data silos and datapoints without any subdatapoint/column information
|
|
494
952
|
|
|
495
953
|
```sh
|
|
496
|
-
|
|
954
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --skipSubDatapoints=true
|
|
497
955
|
```
|
|
498
956
|
|
|
499
957
|
Pull in data silos and datapoints with guessed data categories instead of just approved data categories
|
|
500
958
|
|
|
501
959
|
```sh
|
|
502
|
-
|
|
960
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSilos --includeGuessedCategories=true
|
|
503
961
|
```
|
|
504
962
|
|
|
505
963
|
Pull in attribute definitions only (see [this example](./examples/attributes.yml)):
|
|
506
964
|
|
|
507
965
|
```sh
|
|
508
|
-
|
|
966
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=attributes
|
|
509
967
|
```
|
|
510
968
|
|
|
511
969
|
Pull in business entities only (see [this example](./examples/business-entities.yml)):
|
|
512
970
|
|
|
513
971
|
```sh
|
|
514
|
-
|
|
972
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=businessEntities
|
|
515
973
|
```
|
|
516
974
|
|
|
517
975
|
Pull in enrichers and identifiers (see [this example](./examples/enrichers.yml)):
|
|
518
976
|
|
|
519
977
|
```sh
|
|
520
|
-
|
|
978
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=enrichers,identifiers
|
|
521
979
|
```
|
|
522
980
|
|
|
523
981
|
Pull in onboarding action items (see [this example](./examples/action-items.yml)):
|
|
524
982
|
|
|
525
983
|
```sh
|
|
526
|
-
|
|
984
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=actionItems,actionItemCollections
|
|
527
985
|
```
|
|
528
986
|
|
|
529
987
|
Pull in consent manager domain list (see [this example](./examples/consent-manager-domains.yml)):
|
|
530
988
|
|
|
531
989
|
```sh
|
|
532
|
-
|
|
990
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=consentManager
|
|
533
991
|
```
|
|
534
992
|
|
|
535
993
|
Pull in identifier configurations (see [this example](./examples/identifiers.yml)):
|
|
536
994
|
|
|
537
995
|
```sh
|
|
538
|
-
|
|
996
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=identifiers
|
|
539
997
|
```
|
|
540
998
|
|
|
541
999
|
Pull in request actions configurations (see [this example](./examples/actions.yml)):
|
|
542
1000
|
|
|
543
1001
|
```sh
|
|
544
|
-
|
|
1002
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=actions
|
|
545
1003
|
```
|
|
546
1004
|
|
|
547
1005
|
Pull in consent manager purposes and preference management topics (see [this example](./examples/purposes.yml)):
|
|
548
1006
|
|
|
549
1007
|
```sh
|
|
550
|
-
|
|
551
|
-
```
|
|
552
|
-
|
|
553
|
-
Pull in request data subject configurations (see [this example](./examples/data-subjects.yml)):
|
|
554
|
-
|
|
555
|
-
```sh
|
|
556
|
-
tr-pull --auth=$TRANSCEND_API_KEY --resources=dataSubjects
|
|
1008
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=purposes
|
|
557
1009
|
```
|
|
558
1010
|
|
|
559
|
-
Pull in
|
|
1011
|
+
Pull in data subject configurations (see [this example](./examples/data-subjects.yml)):
|
|
560
1012
|
|
|
561
1013
|
```sh
|
|
562
|
-
|
|
1014
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataSubjects
|
|
563
1015
|
```
|
|
564
1016
|
|
|
565
1017
|
Pull in assessments and assessment templates.
|
|
566
1018
|
|
|
567
1019
|
```sh
|
|
568
|
-
|
|
1020
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=assessments,assessmentTemplates
|
|
569
1021
|
```
|
|
570
1022
|
|
|
571
1023
|
Pull everything:
|
|
572
1024
|
|
|
573
1025
|
```sh
|
|
574
|
-
|
|
575
|
-
```
|
|
576
|
-
|
|
577
|
-
Or with a specific page size (max 100)
|
|
578
|
-
|
|
579
|
-
```sh
|
|
580
|
-
tr-pull --auth=$TRANSCEND_API_KEY --integrationNames=salesforce,snowflake --pageSize=30
|
|
581
|
-
```
|
|
582
|
-
|
|
583
|
-
Or with debug logs
|
|
584
|
-
|
|
585
|
-
```sh
|
|
586
|
-
tr-pull --auth=$TRANSCEND_API_KEY --integrationNames=salesforce,snowflake --debug=true
|
|
1026
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=all
|
|
587
1027
|
```
|
|
588
1028
|
|
|
589
1029
|
Pull in configuration files across multiple instances
|
|
590
1030
|
|
|
591
1031
|
```sh
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
tr-pull --auth=./transcend-api-keys.json --resources=consentManager --file=./transcend/
|
|
1032
|
+
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
|
|
1033
|
+
transcend inventory pull --auth=./transcend-api-keys.json --resources=consentManager --file=./transcend/
|
|
595
1034
|
```
|
|
596
1035
|
|
|
597
1036
|
Note: This command will overwrite the existing transcend.yml file that you have locally.
|
|
598
1037
|
|
|
599
|
-
###
|
|
600
|
-
|
|
601
|
-
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.
|
|
602
|
-
|
|
603
|
-
This command can be helpful if you are looking to:
|
|
604
|
-
|
|
605
|
-
- Pull resources from your OneTrust account.
|
|
606
|
-
- Migrate your resources from your OneTrust account to Transcend.
|
|
607
|
-
|
|
608
|
-
#### Authentication
|
|
609
|
-
|
|
610
|
-
In order to use this command, you will need to generate a OneTrust OAuth Token with scope for accessing the following endpoints:
|
|
611
|
-
|
|
612
|
-
- [GET /v2/assessments](https://developer.onetrust.com/onetrust/reference/getallassessmentbasicdetailsusingget)
|
|
613
|
-
- [GET /v2/assessments/{assessmentId}/export](https://developer.onetrust.com/onetrust/reference/exportassessmentusingget)
|
|
614
|
-
- [GET /risks/{riskId}](https://developer.onetrust.com/onetrust/reference/getriskusingget)
|
|
615
|
-
- [GET /v2/Users/{userId}](https://developer.onetrust.com/onetrust/reference/getuserusingget)
|
|
616
|
-
|
|
617
|
-
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.
|
|
618
|
-
|
|
619
|
-
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).
|
|
620
|
-
|
|
621
|
-
The API key needs the following scopes when pushing the various resource types:
|
|
622
|
-
|
|
623
|
-
| Resource | Scope |
|
|
624
|
-
| ----------- | ------------------ |
|
|
625
|
-
| assessments | Manage Assessments |
|
|
626
|
-
|
|
627
|
-
#### Arguments
|
|
628
|
-
|
|
629
|
-
| Argument | Description | Type | Default | Required |
|
|
630
|
-
| ------------- | ------------------------------------------------------------------------------------------------- | ------------ | ------------------------ | -------- |
|
|
631
|
-
| hostname | The domain of the OneTrust environment from which to pull the resource (e.g. trial.onetrust.com). | string | N/A | false |
|
|
632
|
-
| oneTrustAuth | The OAuth access token with the scopes necessary to access the OneTrust Public APIs. | string | N/A | false |
|
|
633
|
-
| source | Whether to read the assessments from OneTrust or from a file | string | oneTrust | false |
|
|
634
|
-
| transcendAuth | The Transcend API Key to with the scopes necessary to access Transcend's Public APIs. | string | N/A | false |
|
|
635
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
636
|
-
| file | Path to the file to pull the resource into. Must be a json file! | string | N/A | false |
|
|
637
|
-
| resource | The resource to pull from OneTrust. For now, only assessments is supported. | string | assessments | false |
|
|
638
|
-
| dryRun | Whether to export the resource to a file rather than sync to Transcend. | boolean | false | false |
|
|
639
|
-
| debug | Whether to print detailed logs in case of error. | boolean | false | false |
|
|
640
|
-
|
|
641
|
-
#### Usage
|
|
1038
|
+
### `transcend inventory push`
|
|
642
1039
|
|
|
643
|
-
```
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
1040
|
+
```txt
|
|
1041
|
+
USAGE
|
|
1042
|
+
transcend inventory push (--auth value) [--file value] [--transcendUrl value] [--pageSize value] [--variables value] [--publishToPrivacyCenter] [--classifyService] [--deleteExtraAttributeValues]
|
|
1043
|
+
transcend inventory push --help
|
|
647
1044
|
|
|
648
|
-
|
|
1045
|
+
Given a transcend.yml file, sync the contents up to your Transcend instance.
|
|
649
1046
|
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
1047
|
+
FLAGS
|
|
1048
|
+
--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.
|
|
1049
|
+
[--file] Path to the YAML file to push from [default = ./transcend.yml]
|
|
1050
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
1051
|
+
[--pageSize] The page size to use when paginating over the API [default = 50]
|
|
1052
|
+
[--variables] The variables to template into the YAML file when pushing configuration. Comma-separated list of key:value pairs. [default = ""]
|
|
1053
|
+
[--publishToPrivacyCenter] When true, publish the configuration to the Privacy Center [default = false]
|
|
1054
|
+
[--classifyService] When true, automatically assign the service for a data flow based on the domain that is specified [default = false]
|
|
1055
|
+
[--deleteExtraAttributeValues] When true and syncing attributes, delete any extra attributes instead of just upserting [default = false]
|
|
1056
|
+
-h --help Print help information and exit
|
|
653
1057
|
```
|
|
654
1058
|
|
|
655
|
-
|
|
1059
|
+
#### Scopes
|
|
656
1060
|
|
|
657
|
-
|
|
658
|
-
# Syncs to Transcend by reading from file ./oneTrustAssessments.json
|
|
659
|
-
tr-sync-ot --source=file --file=./oneTrustAssessments.json --transcendAuth=$TRANSCEND_API_KEY
|
|
660
|
-
```
|
|
661
|
-
|
|
662
|
-
### tr-push
|
|
663
|
-
|
|
664
|
-
Given a transcend.yml file, sync the contents up to your connected services view (https://app.transcend.io/privacy-requests/connected-services).
|
|
665
|
-
|
|
666
|
-
#### Authentication
|
|
667
|
-
|
|
668
|
-
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).
|
|
669
|
-
|
|
670
|
-
The API key needs the following scopes when pushing the various resource types:
|
|
671
|
-
|
|
672
|
-
| Key | Description | Scope | Is Default | Link |
|
|
673
|
-
| --------------------- | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
674
|
-
| 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) |
|
|
675
|
-
| actionItems | Onboarding related action items | Manage Action Item Collections | false | [Action Items](https://app.transcend.io/action-items/all) |
|
|
676
|
-
| actionItemCollections | Onboarding related action item group names | Manage All Action Items | false | [Action Items](https://app.transcend.io/action-items/all) |
|
|
677
|
-
| 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) |
|
|
678
|
-
| 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) |
|
|
679
|
-
| enrichers | The Privacy Request enricher configurations. | Manage Request Identity Verification | true | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
|
|
680
|
-
| teams | The team definitions containing scopes and users | Manage Access Control | false | [Administration -> Teams](https://app.transcend.io/admin/teams) |
|
|
681
|
-
| 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) |
|
|
682
|
-
| identifiers | The Privacy Request identifier configurations. | Manage Request Identity Verification | false | [DSR Automation -> Identifiers](https://app.transcend.io/privacy-requests/identifiers) |
|
|
683
|
-
| actions | The Privacy Request action settings. | Manage Data Subject Request Settings | false | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
|
|
684
|
-
| dataSubjects | The Privacy Request data subject settings. | Manage Data Subject Request Settings | false | [DSR Automation -> Request Settings](https://app.transcend.io/privacy-requests/settings) |
|
|
685
|
-
| vendors | The vendors in the data inventory. | Manage Data Inventory | false | [Data Inventory -> Vendors](https://app.transcend.io/data-map/data-inventory/vendors) |
|
|
686
|
-
| 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) |
|
|
687
|
-
| 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) |
|
|
688
|
-
| 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) |
|
|
689
|
-
| dataFlows | Consent Manager Data Flow definitions. | Manage Data Flows | false | [Consent Management -> Data Flows](https://app.transcend.io/consent-manager/data-flows/approved) |
|
|
690
|
-
| cookies | Consent Manager Cookie definitions. | Manage Data Flows | false | [Consent Management -> Cookies](https://app.transcend.io/consent-manager/cookies/approved) |
|
|
691
|
-
| 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) |
|
|
692
|
-
| 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) |
|
|
693
|
-
| prompts | The Transcend AI prompts | View Prompts | false | [Prompt Manager -> Browse](https://app.transcend.io/prompts/browse) |
|
|
694
|
-
| promptPartials | The Transcend AI prompt partials | Manage Prompts | false | [Prompt Manager -> Partials](https://app.transcend.io/prompts/partialss) |
|
|
695
|
-
| promptGroups | The Transcend AI prompt groups | Manage Prompts | false | [Prompt Manager -> Groups](https://app.transcend.io/prompts/groups) |
|
|
696
|
-
| agents | The agents in the prompt manager. | Manage Prompts | false | [Prompt Manager -> Agents](https://app.transcend.io/prompts/agents) |
|
|
697
|
-
| agentFunctions | The agent functions in the prompt manager. | Manage Prompts | false | [Prompt Manager -> Agent Functions](https://app.transcend.io/prompts/agent-functions) |
|
|
698
|
-
| agentFiles | The agent files in the prompt manager. | Manage Prompts | false | [Prompt Manager -> Agent Files](https://app.transcend.io/prompts/agent-files) |
|
|
699
|
-
| privacyCenters | The privacy center configurations. | Manage Privacy Center | false | [Privacy Center](https://app.transcend.io/privacy-center/general-settings) |
|
|
700
|
-
| policies | The privacy center policies. | Manage Policies | false | [Privacy Center -> Policies](https://app.transcend.io/privacy-center/policies) |
|
|
701
|
-
| 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) |
|
|
702
|
-
|
|
703
|
-
#### Arguments
|
|
704
|
-
|
|
705
|
-
| Argument | Description | Type | Default | Required |
|
|
706
|
-
| -------------------------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------ | -------- |
|
|
707
|
-
| 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 |
|
|
708
|
-
| file | Path to the YAML file to push from | string - file-path | ./transcend.yml | false |
|
|
709
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
710
|
-
| pageSize | The page size to use when paginating over the API | number | 50 | false |
|
|
711
|
-
| variables | The variables to template into the YAML file when pushing configuration. e.g. domain:acme.com,stage:staging | string | N/A | false |
|
|
712
|
-
| classifyService | When true, automatically assign the service for a data flow based on the domain that is specified | boolean | false | false |
|
|
713
|
-
| deleteExtraAttributeValues | When true and syncing attributes, delete any extra attributes instead of just upserting | boolean | false | false |
|
|
1061
|
+
The scopes for `transcend inventory push` are the same as the scopes for [`transcend inventory pull`](#transcend-inventory-pull).
|
|
714
1062
|
|
|
715
1063
|
#### Usage
|
|
716
1064
|
|
|
717
1065
|
```sh
|
|
718
1066
|
# Looks for file at ./transcend.yml
|
|
719
|
-
|
|
1067
|
+
transcend inventory push --auth=$TRANSCEND_API_KEY
|
|
720
1068
|
```
|
|
721
1069
|
|
|
722
1070
|
An alternative file destination can be specified:
|
|
723
1071
|
|
|
724
1072
|
```sh
|
|
725
1073
|
# Looks for file at custom location ./custom/location.yml
|
|
726
|
-
|
|
1074
|
+
transcend inventory push --auth=$TRANSCEND_API_KEY --file=./custom/location.yml
|
|
727
1075
|
```
|
|
728
1076
|
|
|
729
|
-
Push a single yml file configuration into multiple Transcend instances. This uses the output of [
|
|
1077
|
+
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).
|
|
730
1078
|
|
|
731
1079
|
```sh
|
|
732
|
-
|
|
1080
|
+
transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
|
|
733
1081
|
--scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" --file=./transcend-api-keys.json
|
|
734
|
-
|
|
735
|
-
|
|
1082
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY
|
|
1083
|
+
transcend inventory push --auth=./transcend-api-keys.json
|
|
736
1084
|
```
|
|
737
1085
|
|
|
738
|
-
Push multiple yml file configurations into multiple Transcend instances. This uses the output of [
|
|
1086
|
+
Push multiple .yml file configurations into multiple Transcend instances. This uses the output of [`transcend admin generate-api-keys`](#transcend-admin-generate-api-keys).
|
|
739
1087
|
|
|
740
1088
|
```sh
|
|
741
|
-
|
|
1089
|
+
transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
|
|
742
1090
|
--scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" --file=./transcend-api-keys.json
|
|
743
|
-
|
|
744
|
-
# <edit yml files in folder in between these steps>
|
|
745
|
-
|
|
1091
|
+
transcend inventory pull --auth=./transcend-api-keys.json --file=./transcend/
|
|
1092
|
+
# <edit .yml files in folder in between these steps>
|
|
1093
|
+
transcend inventory push --auth=./transcend-api-keys.json --file=./transcend/
|
|
746
1094
|
```
|
|
747
1095
|
|
|
748
1096
|
Apply service classifier to all data flows.
|
|
749
1097
|
|
|
750
1098
|
```sh
|
|
751
|
-
|
|
752
|
-
|
|
1099
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=dataFlows
|
|
1100
|
+
transcend inventory push --auth=$TRANSCEND_API_KEY --resources=dataFlows --classifyService=true
|
|
753
1101
|
```
|
|
754
1102
|
|
|
755
1103
|
Push up attributes, deleting any attributes that are not specified in the transcend.yml file
|
|
756
1104
|
|
|
757
1105
|
```sh
|
|
758
|
-
|
|
759
|
-
|
|
1106
|
+
transcend inventory pull --auth=$TRANSCEND_API_KEY --resources=attributes
|
|
1107
|
+
transcend inventory push --auth=$TRANSCEND_API_KEY --resources=attributes --deleteExtraAttributeValues=true
|
|
760
1108
|
```
|
|
761
1109
|
|
|
762
1110
|
Some things to note about this sync process:
|
|
763
1111
|
|
|
764
|
-
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
|
|
765
|
-
2. If you omit a field from the
|
|
766
|
-
3. If you define new data subjects, identifiers, data silos or datapoints that were not previously defined on the Admin Dashboard, the
|
|
767
|
-
4. Currently, this
|
|
768
|
-
5. The only resources that this
|
|
1112
|
+
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.
|
|
1113
|
+
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
|
|
1114
|
+
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.
|
|
1115
|
+
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.
|
|
1116
|
+
5. The only resources that this CLI will not auto-generate are:
|
|
769
1117
|
|
|
770
1118
|
- 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).
|
|
771
|
-
- b) API keys: This
|
|
1119
|
+
- 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
|
|
772
1120
|
|
|
773
1121
|
#### CI Integration
|
|
774
1122
|
|
|
775
|
-
Once you have a workflow for creating your transcend.yml file, you will want to integrate your `
|
|
1123
|
+
Once you have a workflow for creating your transcend.yml file, you will want to integrate your `transcend inventory push` command on your CI.
|
|
776
1124
|
|
|
777
1125
|
Below is an example of how to set this up using a Github action:
|
|
778
1126
|
|
|
@@ -796,8 +1144,8 @@ jobs:
|
|
|
796
1144
|
with:
|
|
797
1145
|
node-version: '16'
|
|
798
1146
|
|
|
799
|
-
- name: Install Transcend
|
|
800
|
-
run: npm
|
|
1147
|
+
- name: Install Transcend CLI
|
|
1148
|
+
run: npm install --global @transcend-io/cli
|
|
801
1149
|
|
|
802
1150
|
# If you have a script that generates your transcend.yml file from
|
|
803
1151
|
# an ORM or infrastructure configuration, add that step here
|
|
@@ -806,17 +1154,17 @@ jobs:
|
|
|
806
1154
|
# run: ./scripts/generate_transcend_yml.py
|
|
807
1155
|
|
|
808
1156
|
- name: Push Transcend config
|
|
809
|
-
run:
|
|
1157
|
+
run: transcend inventory push --auth=${{ secrets.TRANSCEND_API_KEY }}
|
|
810
1158
|
```
|
|
811
1159
|
|
|
812
1160
|
#### Dynamic Variables
|
|
813
1161
|
|
|
814
|
-
If you are using this
|
|
1162
|
+
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.
|
|
815
1163
|
|
|
816
|
-
The `
|
|
1164
|
+
The `transcend inventory push` command takes in a parameter `variables`. This is a CSV of `key:value` pairs.
|
|
817
1165
|
|
|
818
1166
|
```sh
|
|
819
|
-
|
|
1167
|
+
transcend inventory push --auth=$TRANSCEND_API_KEY --variables=domain:acme.com,stage:staging
|
|
820
1168
|
```
|
|
821
1169
|
|
|
822
1170
|
This command could fill out multiple parameters in a YAML file like [./examples/multi-instance.yml](./examples/multi-instance.yml), copied below:
|
|
@@ -851,9 +1199,14 @@ data-silos:
|
|
|
851
1199
|
api-key-title: Webhook Key
|
|
852
1200
|
```
|
|
853
1201
|
|
|
854
|
-
###
|
|
1202
|
+
### `transcend inventory scan-packages`
|
|
855
1203
|
|
|
856
|
-
|
|
1204
|
+
```txt
|
|
1205
|
+
USAGE
|
|
1206
|
+
transcend inventory scan-packages (--auth value) [--scanPath value] [--ignoreDirs value]... [--repositoryName value] [--transcendUrl value]
|
|
1207
|
+
transcend inventory scan-packages --help
|
|
1208
|
+
|
|
1209
|
+
Transcend scans packages and dependencies for the following frameworks:
|
|
857
1210
|
|
|
858
1211
|
- package.json
|
|
859
1212
|
- requirements.txt & setup.py
|
|
@@ -864,2081 +1217,209 @@ Transcend can scan your codebase to inventory your code packages and dependencie
|
|
|
864
1217
|
- Gemfile & .gemspec
|
|
865
1218
|
- composer.json
|
|
866
1219
|
|
|
867
|
-
|
|
1220
|
+
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:
|
|
868
1221
|
|
|
869
1222
|
- repository name
|
|
870
1223
|
- package names
|
|
871
1224
|
- dependency names and versions
|
|
872
1225
|
- package descriptions
|
|
873
1226
|
|
|
874
|
-
|
|
1227
|
+
FLAGS
|
|
1228
|
+
--auth The Transcend API key. Requires scopes: "Manage Code Scanning"
|
|
1229
|
+
[--scanPath] File path in the project to scan [default = ./]
|
|
1230
|
+
[--ignoreDirs]... List of directories to ignore in scan [separator = ,]
|
|
1231
|
+
[--repositoryName] Name of the git repository that the package should be tied to
|
|
1232
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
1233
|
+
-h --help Print help information and exit
|
|
1234
|
+
```
|
|
875
1235
|
|
|
876
|
-
|
|
1236
|
+
### `transcend inventory discover-silos`
|
|
877
1237
|
|
|
878
|
-
|
|
1238
|
+
```txt
|
|
1239
|
+
USAGE
|
|
1240
|
+
transcend inventory discover-silos (--scanPath value) (--dataSiloId value) (--auth value) [--fileGlobs value] [--ignoreDirs value] [--transcendUrl value]
|
|
1241
|
+
transcend inventory discover-silos --help
|
|
879
1242
|
|
|
880
|
-
|
|
1243
|
+
We support scanning for new data silos in JavaScript, Python, Gradle, and CocoaPods projects.
|
|
881
1244
|
|
|
882
|
-
|
|
1245
|
+
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.
|
|
883
1246
|
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
1247
|
+
FLAGS
|
|
1248
|
+
--scanPath File path in the project to scan
|
|
1249
|
+
--dataSiloId The UUID of the corresponding data silo
|
|
1250
|
+
--auth The Transcend API key. This key must be associated with the data silo(s) being operated on. Requires scopes: "Manage Assigned Data Inventory"
|
|
1251
|
+
[--fileGlobs] You can pass a glob syntax pattern(s) to specify additional file paths to scan. Comma-separated list of globs. [default = ""]
|
|
1252
|
+
[--ignoreDirs] Comma-separated list of directories to ignore. [default = ""]
|
|
1253
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
1254
|
+
-h --help Print help information and exit
|
|
1255
|
+
```
|
|
891
1256
|
|
|
892
1257
|
#### Usage
|
|
893
1258
|
|
|
894
|
-
Scan
|
|
1259
|
+
Scan a JavaScript package.json:
|
|
895
1260
|
|
|
896
1261
|
```sh
|
|
897
|
-
|
|
1262
|
+
transcend inventory discover-silos --scanPath=./myJavascriptProject --auth=$TRANSCEND_API_KEY ---dataSiloId=445ee241-5f2a-477b-9948-2a3682a43d0e
|
|
898
1263
|
```
|
|
899
1264
|
|
|
900
|
-
|
|
1265
|
+
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:
|
|
901
1266
|
|
|
902
1267
|
```sh
|
|
903
|
-
|
|
1268
|
+
transcend inventory discover-silos --scanPath=./examples/ --auth=$TRANSCEND_API_KEY ---dataSiloId=b6776589-0b7d-466f-8aad-4378ffd3a321
|
|
904
1269
|
```
|
|
905
1270
|
|
|
906
|
-
|
|
1271
|
+
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.
|
|
907
1272
|
|
|
908
|
-
|
|
909
|
-
yarn tr-scan-packages --auth=$TRANSCEND_API_KEY --ignoreDirs=./test,./build
|
|
910
|
-
```
|
|
1273
|
+
### `transcend inventory pull-datapoints`
|
|
911
1274
|
|
|
912
|
-
|
|
1275
|
+
```txt
|
|
1276
|
+
USAGE
|
|
1277
|
+
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]...
|
|
1278
|
+
transcend inventory pull-datapoints --help
|
|
913
1279
|
|
|
914
|
-
|
|
915
|
-
|
|
1280
|
+
Export the datapoints from your Data Inventory into a CSV.
|
|
1281
|
+
|
|
1282
|
+
FLAGS
|
|
1283
|
+
--auth The Transcend API key. Requires scopes: "View Data Inventory"
|
|
1284
|
+
[--file] The file to save datapoints to [default = ./datapoints.csv]
|
|
1285
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
1286
|
+
[--dataSiloIds]... List of data silo IDs to filter by [separator = ,]
|
|
1287
|
+
[--includeAttributes] Whether to include attributes in the output [default = false]
|
|
1288
|
+
[--includeGuessedCategories] Whether to include guessed categories in the output [default = false]
|
|
1289
|
+
[--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 = ,]
|
|
1290
|
+
[--subCategories]... List of subcategories to filter by [separator = ,]
|
|
1291
|
+
-h --help Print help information and exit
|
|
916
1292
|
```
|
|
917
1293
|
|
|
918
|
-
###
|
|
1294
|
+
### `transcend inventory pull-unstructured-discovery-files`
|
|
919
1295
|
|
|
920
|
-
|
|
1296
|
+
```txt
|
|
1297
|
+
USAGE
|
|
1298
|
+
transcend inventory pull-unstructured-discovery-files (--auth value) [--file value] [--transcendUrl value] [--dataSiloIds value]... [--subCategories value]... [--status MANUALLY_ADDED|CORRECTED|VALIDATED|CLASSIFIED|REJECTED] [--includeEncryptedSnippets]
|
|
1299
|
+
transcend inventory pull-unstructured-discovery-files --help
|
|
921
1300
|
|
|
922
|
-
|
|
1301
|
+
This command allows for pulling Unstructured Discovery into a CSV.
|
|
923
1302
|
|
|
924
|
-
|
|
1303
|
+
FLAGS
|
|
1304
|
+
--auth The Transcend API key. Requires scopes: "View Data Inventory"
|
|
1305
|
+
[--file] The file to save datapoints to [default = ./unstructured-discovery-files.csv]
|
|
1306
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
1307
|
+
[--dataSiloIds]... List of data silo IDs to filter by [separator = ,]
|
|
1308
|
+
[--subCategories]... List of data categories to filter by [separator = ,]
|
|
1309
|
+
[--status] List of classification statuses to filter by [MANUALLY_ADDED|CORRECTED|VALIDATED|CLASSIFIED|REJECTED, separator = ,]
|
|
1310
|
+
[--includeEncryptedSnippets] Whether to include encrypted snippets of the entries classified [default = false]
|
|
1311
|
+
-h --help Print help information and exit
|
|
1312
|
+
```
|
|
925
1313
|
|
|
926
|
-
|
|
1314
|
+
### `transcend inventory derive-data-silos-from-data-flows`
|
|
927
1315
|
|
|
928
|
-
|
|
1316
|
+
```txt
|
|
1317
|
+
USAGE
|
|
1318
|
+
transcend inventory derive-data-silos-from-data-flows (--auth value) (--dataFlowsYmlFolder value) (--dataSilosYmlFolder value) [--ignoreYmls value]... [--transcendUrl value]
|
|
1319
|
+
transcend inventory derive-data-silos-from-data-flows --help
|
|
929
1320
|
|
|
930
|
-
|
|
931
|
-
- [Data Silo for Scanner]
|
|
1321
|
+
Given a folder of data flow transcend.yml configurations, convert those configurations to set of data silo transcend.yml configurations.
|
|
932
1322
|
|
|
933
|
-
|
|
1323
|
+
FLAGS
|
|
1324
|
+
--auth The Transcend API key. No scopes are required for this command.
|
|
1325
|
+
--dataFlowsYmlFolder The folder that contains data flow yml files
|
|
1326
|
+
--dataSilosYmlFolder The folder that contains data silo yml files
|
|
1327
|
+
[--ignoreYmls]... The set of yml files that should be skipped when uploading [separator = ,]
|
|
1328
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
1329
|
+
-h --help Print help information and exit
|
|
1330
|
+
```
|
|
934
1331
|
|
|
935
|
-
|
|
936
|
-
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------- | -------- |
|
|
937
|
-
| scanPath | File path in the project to scan. | string | N/A | true |
|
|
938
|
-
| dataSiloID | The UUID of the corresponding data silo. | string | N/A | true |
|
|
939
|
-
| auth | Transcend API key. | string | N/A | true |
|
|
940
|
-
| 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 |
|
|
1332
|
+
### `transcend inventory derive-data-silos-from-data-flows-cross-instance`
|
|
941
1333
|
|
|
942
|
-
|
|
1334
|
+
```txt
|
|
1335
|
+
USAGE
|
|
1336
|
+
transcend inventory derive-data-silos-from-data-flows-cross-instance (--auth value) (--dataFlowsYmlFolder value) [--output value] [--ignoreYmls value]... [--transcendUrl value]
|
|
1337
|
+
transcend inventory derive-data-silos-from-data-flows-cross-instance --help
|
|
943
1338
|
|
|
944
|
-
|
|
1339
|
+
Given a folder of data flow transcend.yml configurations, convert those configurations to a single transcend.yml configurations of all related data silos.
|
|
945
1340
|
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
1341
|
+
FLAGS
|
|
1342
|
+
--auth The Transcend API key. No scopes are required for this command.
|
|
1343
|
+
--dataFlowsYmlFolder The folder that contains data flow yml files
|
|
1344
|
+
[--output] The output transcend.yml file containing the data silo configurations [default = ./transcend.yml]
|
|
1345
|
+
[--ignoreYmls]... The set of yml files that should be skipped when uploading [separator = ,]
|
|
1346
|
+
[--transcendUrl] URL of the Transcend backend. Use https://api.us.transcend.io for US hosting [default = https://api.transcend.io]
|
|
1347
|
+
-h --help Print help information and exit
|
|
949
1348
|
```
|
|
950
1349
|
|
|
951
|
-
|
|
1350
|
+
### `transcend inventory consent-manager-service-json-to-yml`
|
|
952
1351
|
|
|
953
|
-
```
|
|
954
|
-
|
|
955
|
-
|
|
1352
|
+
```txt
|
|
1353
|
+
USAGE
|
|
1354
|
+
transcend inventory consent-manager-service-json-to-yml [--file value] [--output value]
|
|
1355
|
+
transcend inventory consent-manager-service-json-to-yml --help
|
|
956
1356
|
|
|
957
|
-
|
|
1357
|
+
Import the services from an airgap.js file into a Transcend instance.
|
|
958
1358
|
|
|
959
|
-
|
|
1359
|
+
Step 1) Run `await airgap.getMetadata()` on a site with airgap
|
|
1360
|
+
Step 2) Right click on the printed object, and click `Copy object`
|
|
1361
|
+
Step 3) Place output of file in a file named `services.json`
|
|
1362
|
+
Step 4) Run `transcend consent consent-manager-service-json-to-yml --file=./services.json --output=./transcend.yml`
|
|
1363
|
+
Step 5) Run `transcend inventory push --auth=$TRANSCEND_API_KEY --file=./transcend.yml --classifyService=true`
|
|
960
1364
|
|
|
961
|
-
|
|
1365
|
+
FLAGS
|
|
1366
|
+
[--file] Path to the services.json file, output of await airgap.getMetadata() [default = ./services.json]
|
|
1367
|
+
[--output] Path to the output transcend.yml to write to [default = ./transcend.yml]
|
|
1368
|
+
-h --help Print help information and exit
|
|
1369
|
+
```
|
|
962
1370
|
|
|
963
|
-
|
|
1371
|
+
### `transcend inventory consent-managers-to-business-entities`
|
|
964
1372
|
|
|
965
|
-
|
|
1373
|
+
```txt
|
|
1374
|
+
USAGE
|
|
1375
|
+
transcend inventory consent-managers-to-business-entities (--consentManagerYmlFolder value) [--output value]
|
|
1376
|
+
transcend inventory consent-managers-to-business-entities --help
|
|
966
1377
|
|
|
967
|
-
|
|
1378
|
+
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.
|
|
968
1379
|
|
|
969
|
-
|
|
1380
|
+
FLAGS
|
|
1381
|
+
--consentManagerYmlFolder Path to the folder of Consent Manager transcend.yml files to combine
|
|
1382
|
+
[--output] Path to the output transcend.yml with business entity configuration [default = ./combined-business-entities.yml]
|
|
1383
|
+
-h --help Print help information and exit
|
|
1384
|
+
```
|
|
970
1385
|
|
|
971
|
-
|
|
972
|
-
- View Incoming Requests
|
|
973
|
-
- Manage Request Compilation
|
|
1386
|
+
### `transcend admin generate-api-keys`
|
|
974
1387
|
|
|
975
|
-
|
|
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
|
|
976
1392
|
|
|
977
|
-
|
|
978
|
-
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------- | ------------------------ | -------- |
|
|
979
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
980
|
-
| actions | The [request actions](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to approve. | RequestAction[] | N/A | true |
|
|
981
|
-
| origins | The [request origins](https://github.com/transcend-io/privacy-types/blob/main/src/request.ts) to approve. | RequestOrigin[] | N/A | false |
|
|
982
|
-
| silentModeBefore | Any requests made before this date should be marked as silent mode | Date | N/A | false |
|
|
983
|
-
| createdAtBefore | Approve requests that were submitted before this time | Date | N/A | false |
|
|
984
|
-
| createdAtAfter | Approve requests that were submitted after this time | Date | N/A | false |
|
|
985
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
986
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 50 | false |
|
|
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.
|
|
987
1394
|
|
|
988
|
-
|
|
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.
|
|
989
1396
|
|
|
990
|
-
|
|
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".
|
|
991
1398
|
|
|
992
|
-
|
|
993
|
-
|
|
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
|
|
994
1410
|
```
|
|
995
1411
|
|
|
996
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
997
|
-
|
|
998
|
-
```sh
|
|
999
|
-
yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=ERASURE --transcendUrl=https://api.us.transcend.io
|
|
1000
|
-
```
|
|
1001
|
-
|
|
1002
|
-
Approve all Erasure requests that came through the API
|
|
1003
|
-
|
|
1004
|
-
```sh
|
|
1005
|
-
yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=ERASURE --origins=API
|
|
1006
|
-
```
|
|
1007
|
-
|
|
1008
|
-
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.
|
|
1009
|
-
|
|
1010
|
-
```sh
|
|
1011
|
-
yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT --silentModeBefore=05/03/2023
|
|
1012
|
-
```
|
|
1013
|
-
|
|
1014
|
-
Increase the concurrency (defaults to 50)
|
|
1015
|
-
|
|
1016
|
-
```sh
|
|
1017
|
-
yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=ERASURE --concurrency=100
|
|
1018
|
-
```
|
|
1019
|
-
|
|
1020
|
-
Approve ERASURE requests created within a specific time frame
|
|
1021
|
-
|
|
1022
|
-
```sh
|
|
1023
|
-
yarn tr-request-approve --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT --createdAtBefore=05/03/2023 --createdAtAfter=04/03/2023
|
|
1024
|
-
```
|
|
1025
|
-
|
|
1026
|
-
### tr-request-download-files
|
|
1027
|
-
|
|
1028
|
-
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.
|
|
1029
|
-
|
|
1030
|
-
<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" />
|
|
1031
|
-
|
|
1032
|
-
#### Authentication
|
|
1033
|
-
|
|
1034
|
-
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).
|
|
1035
|
-
|
|
1036
|
-
The API key needs the following scopes:
|
|
1037
|
-
|
|
1038
|
-
- View the Request Compilation
|
|
1039
|
-
- View Incoming Requests
|
|
1040
|
-
- Request Approval and Communication
|
|
1041
|
-
|
|
1042
|
-
#### Arguments
|
|
1043
|
-
|
|
1044
|
-
| Argument | Description | Type | Default | Required |
|
|
1045
|
-
| -------------------- | -------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
|
|
1046
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1047
|
-
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
1048
|
-
| concurrency | The concurrency to use when downloading requests in parallel. | number | 10 | false |
|
|
1049
|
-
| requestIds | Specify the specific request IDs to download | string[] | [] | false |
|
|
1050
|
-
| statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to download. | RequestStatus[] | APPROVING,DOWNLOADABLE | false |
|
|
1051
|
-
| folderPath | The folder to download files to | string | ./dsr-files | false |
|
|
1052
|
-
| createdAtBefore | Download requests that were submitted before this time | Date | N/A | false |
|
|
1053
|
-
| createdAtAfter | Download requests that were submitted after this time | Date | N/A | false |
|
|
1054
|
-
| approveAfterDownload | If the request is in status=APPROVING, approve the request after its downloaded | boolean | false | false |
|
|
1055
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1056
|
-
|
|
1057
|
-
#### Usage
|
|
1058
|
-
|
|
1059
|
-
Download all requests in status=APPROVING or status=DOWNLOADABLE
|
|
1060
|
-
|
|
1061
|
-
```sh
|
|
1062
|
-
yarn tr-request-download-files --auth=$TRANSCEND_API_KEY
|
|
1063
|
-
```
|
|
1064
|
-
|
|
1065
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1066
|
-
|
|
1067
|
-
```sh
|
|
1068
|
-
yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
|
|
1069
|
-
```
|
|
1070
|
-
|
|
1071
|
-
Write files to a specific folder on disk
|
|
1072
|
-
|
|
1073
|
-
```sh
|
|
1074
|
-
yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --folderPath=./my-folder
|
|
1075
|
-
```
|
|
1076
|
-
|
|
1077
|
-
Auto approve after download
|
|
1078
|
-
|
|
1079
|
-
```sh
|
|
1080
|
-
yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --approveAfterDownload=true
|
|
1081
|
-
```
|
|
1082
|
-
|
|
1083
|
-
Download requests in APPROVING state only
|
|
1084
|
-
|
|
1085
|
-
```sh
|
|
1086
|
-
yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --statues=APPROVING
|
|
1087
|
-
```
|
|
1088
|
-
|
|
1089
|
-
Increase the concurrency (defaults to 50)
|
|
1090
|
-
|
|
1091
|
-
```sh
|
|
1092
|
-
yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --concurrency=100
|
|
1093
|
-
```
|
|
1094
|
-
|
|
1095
|
-
Approve requests in a timeframe
|
|
1096
|
-
|
|
1097
|
-
```sh
|
|
1098
|
-
yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --createdAtBefore=05/03/2023 --createdAtAfter=04/03/2023
|
|
1099
|
-
```
|
|
1100
|
-
|
|
1101
|
-
Approve specific requests
|
|
1102
|
-
|
|
1103
|
-
```sh
|
|
1104
|
-
yarn tr-request-download-files --auth=$TRANSCEND_API_KEY --requestIds=b8c2ce13-9e40-4104-af79-23c68f2a87ba,d5eedc52-0f85-4034-bc01-14951acad5aa
|
|
1105
|
-
```
|
|
1106
|
-
|
|
1107
|
-
### tr-request-cancel
|
|
1108
|
-
|
|
1109
|
-
Bulk cancel a set of privacy requests from the [DSR Automation -> Incoming Requests](https://app.transcend.io/privacy-requests/incoming-requests) tab.
|
|
1110
|
-
|
|
1111
|
-
#### Authentication
|
|
1112
|
-
|
|
1113
|
-
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).
|
|
1114
|
-
|
|
1115
|
-
The API key needs the following scopes:
|
|
1116
|
-
|
|
1117
|
-
- Request Approval and Communication
|
|
1118
|
-
- View Incoming Requests
|
|
1119
|
-
|
|
1120
|
-
#### Arguments
|
|
1121
|
-
|
|
1122
|
-
| Argument | Description | Type | Default | Required |
|
|
1123
|
-
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ---------------------------------------------------------------------------------------- | -------- |
|
|
1124
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1125
|
-
| actions | The [request actions](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to cancel. | RequestAction[] | N/A | true |
|
|
1126
|
-
| 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 |
|
|
1127
|
-
| requestIds | Specify the specific request IDs to cancel | string[] | [] | false |
|
|
1128
|
-
| silentModeBefore | Any requests made before this date should be marked as silent mode for canceling to skip email sending | Date | N/A | false |
|
|
1129
|
-
| createdAtBefore | Cancel requests that were submitted before this time | Date | N/A | false |
|
|
1130
|
-
| createdAtAfter | Cancel requests that were submitted after this time | Date | N/A | false |
|
|
1131
|
-
| 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 |
|
|
1132
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1133
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 50 | false |
|
|
1134
|
-
|
|
1135
|
-
#### Usage
|
|
1136
|
-
|
|
1137
|
-
Bulk cancel all open SALE_OPT_OUT and ERASURE requests.
|
|
1138
|
-
|
|
1139
|
-
```sh
|
|
1140
|
-
yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT,ERASURE
|
|
1141
|
-
```
|
|
1142
|
-
|
|
1143
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1144
|
-
|
|
1145
|
-
```sh
|
|
1146
|
-
yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=ERASURE --transcendUrl=https://api.us.transcend.io
|
|
1147
|
-
```
|
|
1148
|
-
|
|
1149
|
-
Bulk cancel all Erasure (request.type=ERASURE) requests that are in an enriching state (request.status=ENRICHING)
|
|
1150
|
-
|
|
1151
|
-
```sh
|
|
1152
|
-
yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=ERASURE --statuses=ENRICHING
|
|
1153
|
-
```
|
|
1154
|
-
|
|
1155
|
-
Bulk cancel requests by ID
|
|
1156
|
-
|
|
1157
|
-
```sh
|
|
1158
|
-
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 \
|
|
1159
|
-
--requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
|
|
1160
|
-
```
|
|
1161
|
-
|
|
1162
|
-
Send a specific email template to the request that are being canceled. When not provided, the default cancellation template is used ("Request Canceled").
|
|
1163
|
-
|
|
1164
|
-
```sh
|
|
1165
|
-
yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=ERASURE --cancellationTitle="Custom Email Template"
|
|
1166
|
-
```
|
|
1167
|
-
|
|
1168
|
-
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.
|
|
1169
|
-
|
|
1170
|
-
```sh
|
|
1171
|
-
yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT --silentModeBefore=05/03/2023
|
|
1172
|
-
```
|
|
1173
|
-
|
|
1174
|
-
Cancel all open SALE_OPT_OUT, within a specific time frame
|
|
1175
|
-
|
|
1176
|
-
```sh
|
|
1177
|
-
yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT --createdAtBefore=05/03/2023 --createdAtAfter=04/03/2023
|
|
1178
|
-
```
|
|
1179
|
-
|
|
1180
|
-
Increase the concurrency (defaults to 50)
|
|
1181
|
-
|
|
1182
|
-
```sh
|
|
1183
|
-
yarn tr-request-cancel --auth=$TRANSCEND_API_KEY --actions=ERASURE --concurrency=500
|
|
1184
|
-
```
|
|
1185
|
-
|
|
1186
|
-
### tr-request-notify-additional-time
|
|
1187
|
-
|
|
1188
|
-
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.
|
|
1189
|
-
|
|
1190
|
-
#### Authentication
|
|
1191
|
-
|
|
1192
|
-
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).
|
|
1193
|
-
|
|
1194
|
-
The API key needs the following scopes:
|
|
1195
|
-
|
|
1196
|
-
- Request Approval and Communication
|
|
1197
|
-
- View Incoming Requests
|
|
1198
|
-
|
|
1199
|
-
#### Arguments
|
|
1200
|
-
|
|
1201
|
-
| Argument | Description | Type | Default | Required |
|
|
1202
|
-
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
|
|
1203
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1204
|
-
| createdAtBefore | Notify requests that are open but submitted before this time | Date | N/A | true |
|
|
1205
|
-
| createdAtAfter | Notify requests that are open but submitted after this time. | Date | now() | false |
|
|
1206
|
-
| actions | The [request actions](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to notify. | RequestAction[] | RequestAction[] | false |
|
|
1207
|
-
| 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 |
|
|
1208
|
-
| days | The number of days to adjust the expiration of the request to | number | 45 | false |
|
|
1209
|
-
| requestIds | Specify the specific request IDs to notify | string[] | [] | false |
|
|
1210
|
-
| 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 |
|
|
1211
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1212
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 50 | false |
|
|
1213
|
-
|
|
1214
|
-
#### Usage
|
|
1215
|
-
|
|
1216
|
-
Notify all request types that were made before 01/01/2024
|
|
1217
|
-
|
|
1218
|
-
```sh
|
|
1219
|
-
yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024
|
|
1220
|
-
```
|
|
1221
|
-
|
|
1222
|
-
Notify all request types that were made during a date range
|
|
1223
|
-
|
|
1224
|
-
```sh
|
|
1225
|
-
yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --createdAtAfter=12/15/2023
|
|
1226
|
-
```
|
|
1227
|
-
|
|
1228
|
-
Notify certain request types
|
|
1229
|
-
|
|
1230
|
-
```sh
|
|
1231
|
-
yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --actions=SALE_OPT_OUT,ERASURE
|
|
1232
|
-
```
|
|
1233
|
-
|
|
1234
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1235
|
-
|
|
1236
|
-
```sh
|
|
1237
|
-
yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --transcendUrl=https://api.us.transcend.io
|
|
1238
|
-
```
|
|
1239
|
-
|
|
1240
|
-
Bulk notify requests by ID
|
|
1241
|
-
|
|
1242
|
-
```sh
|
|
1243
|
-
yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 \
|
|
1244
|
-
--requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
|
|
1245
|
-
```
|
|
1246
|
-
|
|
1247
|
-
Only notify requests that are expiring in the next 3 days or less
|
|
1248
|
-
|
|
1249
|
-
```sh
|
|
1250
|
-
yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --daysLeft=3
|
|
1251
|
-
```
|
|
1252
|
-
|
|
1253
|
-
Change number of days to extend request by
|
|
1254
|
-
|
|
1255
|
-
```sh
|
|
1256
|
-
yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --days=30
|
|
1257
|
-
```
|
|
1258
|
-
|
|
1259
|
-
Send a specific email template to the request that instead of the default
|
|
1260
|
-
|
|
1261
|
-
```sh
|
|
1262
|
-
yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --emailTemplate="Custom Email Template"
|
|
1263
|
-
```
|
|
1264
|
-
|
|
1265
|
-
Increase the concurrency (defaults to 50)
|
|
1266
|
-
|
|
1267
|
-
```sh
|
|
1268
|
-
yarn tr-request-notify-additional-time --auth=$TRANSCEND_API_KEY --createdAtBefore=01/01/2024 --concurrency=500
|
|
1269
|
-
```
|
|
1270
|
-
|
|
1271
|
-
### tr-request-mark-silent
|
|
1272
|
-
|
|
1273
|
-
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.
|
|
1274
|
-
|
|
1275
|
-
#### Authentication
|
|
1276
|
-
|
|
1277
|
-
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).
|
|
1278
|
-
|
|
1279
|
-
The API key needs the following scopes:
|
|
1280
|
-
|
|
1281
|
-
- Manage Request Compilation
|
|
1282
|
-
|
|
1283
|
-
#### Arguments
|
|
1284
|
-
|
|
1285
|
-
| Argument | Description | Type | Default | Required |
|
|
1286
|
-
| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ---------------------------------------------------------------------------------------- | -------- |
|
|
1287
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1288
|
-
| 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 |
|
|
1289
|
-
| 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 |
|
|
1290
|
-
| requestIds | Specify the specific request IDs to mark silent | string[] | [] | false |
|
|
1291
|
-
| createdAtBefore | Mark silent requests that were submitted before this time | Date | N/A | false |
|
|
1292
|
-
| createdAtAfter | Mark silent requests that were submitted after this time | Date | N/A | false |
|
|
1293
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1294
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 50 | false |
|
|
1295
|
-
|
|
1296
|
-
#### Usage
|
|
1297
|
-
|
|
1298
|
-
Bulk mark silent all open SALE_OPT_OUT and ERASURE requests.
|
|
1299
|
-
|
|
1300
|
-
```sh
|
|
1301
|
-
yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT,ERASURE
|
|
1302
|
-
```
|
|
1303
|
-
|
|
1304
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1305
|
-
|
|
1306
|
-
```sh
|
|
1307
|
-
yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=ERASURE --transcendUrl=https://api.us.transcend.io
|
|
1308
|
-
```
|
|
1309
|
-
|
|
1310
|
-
Bulk mark as silent all Erasure (request.type=ERASURE) requests that are in an enriching state (request.status=ENRICHING)
|
|
1311
|
-
|
|
1312
|
-
```sh
|
|
1313
|
-
yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=ERASURE --statuses=ENRICHING
|
|
1314
|
-
```
|
|
1315
|
-
|
|
1316
|
-
Bulk mark as silent requests by ID
|
|
1317
|
-
|
|
1318
|
-
```sh
|
|
1319
|
-
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 \
|
|
1320
|
-
--requestIds=c3ae78c9-2768-4666-991a-d2f729503337,342e4bd1-64ea-4af0-a4ad-704b5a07cfe4
|
|
1321
|
-
```
|
|
1322
|
-
|
|
1323
|
-
Mark sale opt out requests as silent within a certain date range
|
|
1324
|
-
|
|
1325
|
-
```sh
|
|
1326
|
-
yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=SALE_OPT_OUT --createdAtBefore=05/03/2023 --createdAtAfter=04/03/2023
|
|
1327
|
-
```
|
|
1328
|
-
|
|
1329
|
-
Increase the concurrency (defaults to 50)
|
|
1330
|
-
|
|
1331
|
-
```sh
|
|
1332
|
-
yarn tr-request-mark-silent --auth=$TRANSCEND_API_KEY --actions=ERASURE --concurrency=500
|
|
1333
|
-
```
|
|
1334
|
-
|
|
1335
|
-
### tr-request-upload
|
|
1336
|
-
|
|
1337
|
-
If you need to upload a set of requests from a CSV, you can run this command.
|
|
1338
|
-
This command uses [inquirer](https://github.com/SBoudrias/Inquirer.js/) to prompt the user to
|
|
1339
|
-
map the shape of the CSV to the shape of the Transcend API. There is no requirement for the
|
|
1340
|
-
shape of the incoming CSV, as the script will handle the mapping process.
|
|
1341
|
-
|
|
1342
|
-
The script will also produce a JSON cache file, that allows for the mappings to be preserved between runs.
|
|
1343
|
-
This can be useful if you have the same CSV shape that needs to be imported multiple times.
|
|
1344
|
-
Once the mapping process is done once, it does not need to be done again.
|
|
1345
|
-
|
|
1346
|
-
Additionally, the JSON cache file will store the result of any privacy requests that fail to be uploaded.
|
|
1347
|
-
This allows for the script to continue uploading requests even if some requests error out. The script
|
|
1348
|
-
user can then inspect the errors, and decide whether it is necessary to re-run those requests.
|
|
1349
|
-
|
|
1350
|
-
https://user-images.githubusercontent.com/10264973/205477183-d4762087-668c-43f1-a84c-0fce0ec3e132.mov
|
|
1351
|
-
|
|
1352
|
-
#### Authentication
|
|
1353
|
-
|
|
1354
|
-
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).
|
|
1355
|
-
|
|
1356
|
-
The API key needs the following scopes:
|
|
1357
|
-
|
|
1358
|
-
- Submit New Data Subject Request
|
|
1359
|
-
- View Identity Verification Settings
|
|
1360
|
-
- View Global Attributes
|
|
1361
|
-
|
|
1362
|
-
#### Arguments
|
|
1363
|
-
|
|
1364
|
-
| Argument | Description | Type | Default | Required |
|
|
1365
|
-
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------ | --------------------------------------- | -------- |
|
|
1366
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1367
|
-
| file | Path to the CSV file of requests to tupload. | string - file-path | ./requests.csv | false |
|
|
1368
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1369
|
-
| 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 |
|
|
1370
|
-
| 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 |
|
|
1371
|
-
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
1372
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 50 | false |
|
|
1373
|
-
| attributes | Tag all of the requests with the following attributes. Format: key1:value1;value2,key2:value3;value4 | string | Tags:transcend-cli | false |
|
|
1374
|
-
| isTest | Flag whether the requests being uploaded are test requests or regular requests. | boolean | false | false |
|
|
1375
|
-
| isSilent | Flag whether the requests being uploaded should be submitted in silent mode. | boolean | true | false |
|
|
1376
|
-
| skipSendingReceipt | Flag whether to skip sending of the receipt email | boolean | false | false |
|
|
1377
|
-
| emailIsVerified | Indicate whether the email address being uploaded is pre-verified. Set to false to send a verification email. | boolean | true | false |
|
|
1378
|
-
| skipFilterStep | When true, skip the interactive step to filter down the CSV. | boolean | false | false |
|
|
1379
|
-
| dryRun | When true, perform a dry run of the upload instead of calling the API to submit the requests. | boolean | false | false |
|
|
1380
|
-
| debug | Debug logging. | boolean | false | false |
|
|
1381
|
-
| defaultPhoneCountryCode | When uploading phone numbers, if the phone number is missing a country code, assume this country code. Defaults to USA. | string | 1 | false |
|
|
1382
|
-
|
|
1383
|
-
#### Usage
|
|
1384
|
-
|
|
1385
|
-
```sh
|
|
1386
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv
|
|
1387
|
-
```
|
|
1388
|
-
|
|
1389
|
-
For self-hosted sombras that use an internal key:
|
|
1390
|
-
|
|
1391
|
-
```sh
|
|
1392
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY --file=/Users/transcend/Desktop/test.csv
|
|
1393
|
-
```
|
|
1394
|
-
|
|
1395
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1396
|
-
|
|
1397
|
-
```sh
|
|
1398
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY --file=/Users/transcend/Desktop/test.csv \
|
|
1399
|
-
--transcendUrl=https://api.us.transcend.io
|
|
1400
|
-
```
|
|
1401
|
-
|
|
1402
|
-
Run without being prompted to filter requests
|
|
1403
|
-
|
|
1404
|
-
```sh
|
|
1405
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --skipFilterStep=true
|
|
1406
|
-
```
|
|
1407
|
-
|
|
1408
|
-
Perform a dry run to see what will be uploaded, without calling the Transcend API to upload the request
|
|
1409
|
-
|
|
1410
|
-
```sh
|
|
1411
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --dryRun=true
|
|
1412
|
-
```
|
|
1413
|
-
|
|
1414
|
-
Mark the uploaded requests as test requests
|
|
1415
|
-
|
|
1416
|
-
```sh
|
|
1417
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --isTest=true
|
|
1418
|
-
```
|
|
1419
|
-
|
|
1420
|
-
Send email communications to the users throughout the request lifecycle.
|
|
1421
|
-
|
|
1422
|
-
```sh
|
|
1423
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --isSilent=false
|
|
1424
|
-
```
|
|
1425
|
-
|
|
1426
|
-
Upload requests without sending initial email receipt, but still send later emails
|
|
1427
|
-
|
|
1428
|
-
```sh
|
|
1429
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --skipSendingReceipt=true
|
|
1430
|
-
```
|
|
1431
|
-
|
|
1432
|
-
Send email verification to user before request continues.
|
|
1433
|
-
|
|
1434
|
-
```sh
|
|
1435
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv \
|
|
1436
|
-
--isSilent=false --emailIsVerified=false
|
|
1437
|
-
```
|
|
1438
|
-
|
|
1439
|
-
Increase the concurrency (defaults to 50)
|
|
1440
|
-
|
|
1441
|
-
```sh
|
|
1442
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --concurrency=100
|
|
1443
|
-
```
|
|
1444
|
-
|
|
1445
|
-
Tag all uploaded requests with an attribute
|
|
1446
|
-
|
|
1447
|
-
```sh
|
|
1448
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv \
|
|
1449
|
-
--attributes=Tags:transcend-cli;my-customer-tag,Customer:acme-corp
|
|
1450
|
-
```
|
|
1451
|
-
|
|
1452
|
-
Specify default country code for phone numbers
|
|
1453
|
-
|
|
1454
|
-
```sh
|
|
1455
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --defaultPhoneCountryCode=44
|
|
1456
|
-
```
|
|
1457
|
-
|
|
1458
|
-
Include debug logs - warning, this logs out personal data.
|
|
1459
|
-
|
|
1460
|
-
```sh
|
|
1461
|
-
yarn tr-request-upload --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv --debug=true
|
|
1462
|
-
```
|
|
1463
|
-
|
|
1464
|
-
### tr-request-restart
|
|
1465
|
-
|
|
1466
|
-
Bulk update a set of privacy requests based on a set of request filters.
|
|
1467
|
-
|
|
1468
|
-
#### Authentication
|
|
1469
|
-
|
|
1470
|
-
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).
|
|
1471
|
-
|
|
1472
|
-
The API key needs the following scopes:
|
|
1473
|
-
|
|
1474
|
-
- Submit New Data Subject Request
|
|
1475
|
-
- View the Request Compilation
|
|
1476
|
-
|
|
1477
|
-
#### Arguments
|
|
1478
|
-
|
|
1479
|
-
| Argument | Description | Type | Default | Required |
|
|
1480
|
-
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | --------------- | --------------------------------- | -------- |
|
|
1481
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1482
|
-
| actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | true |
|
|
1483
|
-
| statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to restart. | RequestStatus[] | N/A | true |
|
|
1484
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1485
|
-
| 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 |
|
|
1486
|
-
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. Only required when `copyIdentifiers` flag used. | string | N/A | false |
|
|
1487
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 15 | false |
|
|
1488
|
-
| requestIds | Specify the specific request IDs to restart | string[] | [] | false |
|
|
1489
|
-
| emailIsVerified | Indicate whether the primary email address is verified. Set to false to send a verification email. | boolean | true | false |
|
|
1490
|
-
| createdAt | Restart requests that were submitted before a specific date. | Date | Date.now() | false |
|
|
1491
|
-
| silentModeBefore | Requests older than this date should be marked as silent mode | Date | N/A | false |
|
|
1492
|
-
| createdAtBefore | Restart requests that were submitted before this time | Date | N/A | false |
|
|
1493
|
-
| createdAtAfter | Restart requests that were submitted after this time | Date | N/A | false |
|
|
1494
|
-
| sendEmailReceipt | Send email receipts to the restarted requests | boolean | false | false |
|
|
1495
|
-
| copyIdentifiers | Copy over all enriched identifiers from the initial request. Leave false to restart from scratch with initial identifiers only. | boolean | false | false |
|
|
1496
|
-
| skipWaitingPeriod | Skip queued state of request and go straight to compiling | boolean | false | false |
|
|
1497
|
-
|
|
1498
|
-
#### Usage
|
|
1499
|
-
|
|
1500
|
-
```sh
|
|
1501
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE
|
|
1502
|
-
```
|
|
1503
|
-
|
|
1504
|
-
For self-hosted sombras that use an internal key:
|
|
1505
|
-
|
|
1506
|
-
```sh
|
|
1507
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE
|
|
1508
|
-
```
|
|
1509
|
-
|
|
1510
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1511
|
-
|
|
1512
|
-
```sh
|
|
1513
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE \
|
|
1514
|
-
--transcendUrl=https://api.us.transcend.io
|
|
1515
|
-
```
|
|
1516
|
-
|
|
1517
|
-
Increase the concurrency (defaults to 20)
|
|
1518
|
-
|
|
1519
|
-
```sh
|
|
1520
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --concurrency=100
|
|
1521
|
-
```
|
|
1522
|
-
|
|
1523
|
-
Re-verify emails
|
|
1524
|
-
|
|
1525
|
-
```sh
|
|
1526
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --emailIsVerified=false
|
|
1527
|
-
```
|
|
1528
|
-
|
|
1529
|
-
Restart specific requests by ID
|
|
1530
|
-
|
|
1531
|
-
```sh
|
|
1532
|
-
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
|
|
1533
|
-
```
|
|
1534
|
-
|
|
1535
|
-
Restart requests that were submitted before a specific date.
|
|
1536
|
-
|
|
1537
|
-
```sh
|
|
1538
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --createdAt=2022-05-11T00:46
|
|
1539
|
-
```
|
|
1540
|
-
|
|
1541
|
-
Restart requests and place everything in silent mode submitted before a certain date
|
|
1542
|
-
|
|
1543
|
-
```sh
|
|
1544
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --silentModeBefore=2022-12-05T00:46
|
|
1545
|
-
```
|
|
1546
|
-
|
|
1547
|
-
Restart requests within a specific timeframe
|
|
1548
|
-
|
|
1549
|
-
```sh
|
|
1550
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE ---createdAtBefore="04/05/2023" --createdAtAfter="02/21/2023"
|
|
1551
|
-
```
|
|
1552
|
-
|
|
1553
|
-
Send email receipts to the restarted requests
|
|
1554
|
-
|
|
1555
|
-
```sh
|
|
1556
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --sendEmailReceipt=true
|
|
1557
|
-
```
|
|
1558
|
-
|
|
1559
|
-
Copy over all enriched identifiers from the initial request. Leave false to restart from scratch with initial identifiers only
|
|
1560
|
-
|
|
1561
|
-
```sh
|
|
1562
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --copyIdentifiers=true
|
|
1563
|
-
```
|
|
1564
|
-
|
|
1565
|
-
Skip queued state of request and go straight to compiling
|
|
1566
|
-
|
|
1567
|
-
```sh
|
|
1568
|
-
yarn tr-request-restart --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE --skipWaitingPeriod=true
|
|
1569
|
-
```
|
|
1570
|
-
|
|
1571
|
-
### tr-request-enricher-restart
|
|
1572
|
-
|
|
1573
|
-
Bulk restart a particular enricher across a series of DSRs.
|
|
1574
|
-
|
|
1575
|
-
#### Authentication
|
|
1576
|
-
|
|
1577
|
-
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).
|
|
1578
|
-
|
|
1579
|
-
The API key needs the following scopes:
|
|
1580
|
-
|
|
1581
|
-
- Manage Request Compilation
|
|
1582
|
-
|
|
1583
|
-
#### Arguments
|
|
1584
|
-
|
|
1585
|
-
| Argument | Description | Type | Default | Required |
|
|
1586
|
-
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ------------------------ | -------- |
|
|
1587
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1588
|
-
| enricherId | The ID of the enricher to restart | string | N/A | true |
|
|
1589
|
-
| actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | false |
|
|
1590
|
-
| requestEnricherStatuses | The [request enricher statuses](https://github.com/transcend-io/privacy-types/blob/main/src/request.ts#L157) to restart. | RequestEnricherStatus[] | N/A | false |
|
|
1591
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1592
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 15 | false |
|
|
1593
|
-
| requestIds | Specify the specific request IDs to restart | string[] | [] | false |
|
|
1594
|
-
| createdAtBefore | Restart requests that were submitted before this time | Date | N/A | false |
|
|
1595
|
-
| createdAtAfter | Restart requests that were submitted after this time | Date | N/A | false |
|
|
1596
|
-
|
|
1597
|
-
#### Usage
|
|
1598
|
-
|
|
1599
|
-
```sh
|
|
1600
|
-
yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY --enricherId=3be5e898-fea9-4614-84de-88cd5265c557
|
|
1601
|
-
```
|
|
1602
|
-
|
|
1603
|
-
Restart specific request types
|
|
1604
|
-
|
|
1605
|
-
```sh
|
|
1606
|
-
yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY ---enricherId=3be5e898-fea9-4614-84de-88cd5265c557 --actions=ACCESS,ERASURE
|
|
1607
|
-
```
|
|
1608
|
-
|
|
1609
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1610
|
-
|
|
1611
|
-
```sh
|
|
1612
|
-
yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY ---enricherId=3be5e898-fea9-4614-84de-88cd5265c557 --transcendUrl=https://api.us.transcend.io
|
|
1613
|
-
```
|
|
1614
|
-
|
|
1615
|
-
Increase the concurrency (defaults to 20)
|
|
1616
|
-
|
|
1617
|
-
```sh
|
|
1618
|
-
yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY ---enricherId=3be5e898-fea9-4614-84de-88cd5265c557 --concurrency=100
|
|
1619
|
-
```
|
|
1620
|
-
|
|
1621
|
-
Restart requests within a specific timeframe
|
|
1622
|
-
|
|
1623
|
-
```sh
|
|
1624
|
-
yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY --enricherId=3be5e898-fea9-4614-84de-88cd5265c557 ---createdAtBefore="04/05/2023" --createdAtAfter="02/21/2023"
|
|
1625
|
-
```
|
|
1626
|
-
|
|
1627
|
-
Restart requests that are in an error state
|
|
1628
|
-
|
|
1629
|
-
```sh
|
|
1630
|
-
yarn tr-request-enricher-restart --auth=$TRANSCEND_API_KEY --enricherId=3be5e898-fea9-4614-84de-88cd5265c557 ---requestEnricherStatuses=ERROR
|
|
1631
|
-
```
|
|
1632
|
-
|
|
1633
|
-
### tr-request-reject-unverified-identifiers
|
|
1634
|
-
|
|
1635
|
-
Bulk clear out any request identifiers that are unverified
|
|
1636
|
-
|
|
1637
|
-
#### Authentication
|
|
1638
|
-
|
|
1639
|
-
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).
|
|
1640
|
-
|
|
1641
|
-
The API key needs the following scopes:
|
|
1642
|
-
|
|
1643
|
-
- Manage Request Compilation
|
|
1644
|
-
|
|
1645
|
-
#### Arguments
|
|
1646
|
-
|
|
1647
|
-
| Argument | Description | Type | Default | Required |
|
|
1648
|
-
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
|
|
1649
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1650
|
-
| identifierNames | The names of identifiers to clear out | string[] | N/A | true |
|
|
1651
|
-
| actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | false |
|
|
1652
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1653
|
-
|
|
1654
|
-
#### Usage
|
|
1655
|
-
|
|
1656
|
-
```sh
|
|
1657
|
-
yarn tr-request-reject-unverified-identifiers --auth=$TRANSCEND_API_KEY --identifierNames=phone
|
|
1658
|
-
```
|
|
1659
|
-
|
|
1660
|
-
Restart specific request types
|
|
1661
|
-
|
|
1662
|
-
```sh
|
|
1663
|
-
yarn tr-request-reject-unverified-identifiers --auth=$TRANSCEND_API_KEY --identifierNames=phone --actions=ACCESS,ERASURE
|
|
1664
|
-
```
|
|
1665
|
-
|
|
1666
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1667
|
-
|
|
1668
|
-
```sh
|
|
1669
|
-
yarn tr-request-reject-unverified-identifiers --auth=$TRANSCEND_API_KEY --identifierNames=phone --transcendUrl=https://api.us.transcend.io
|
|
1670
|
-
```
|
|
1671
|
-
|
|
1672
|
-
### tr-request-export
|
|
1673
|
-
|
|
1674
|
-
Export privacy requests and request identifiers to a CSV file.
|
|
1675
|
-
|
|
1676
|
-
#### Authentication
|
|
1677
|
-
|
|
1678
|
-
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).
|
|
1679
|
-
|
|
1680
|
-
The API key needs the following scopes:
|
|
1681
|
-
|
|
1682
|
-
- View Incoming Requests
|
|
1683
|
-
- View the Request Compilation
|
|
1684
|
-
|
|
1685
|
-
#### Arguments
|
|
1686
|
-
|
|
1687
|
-
| Argument | Description | Type | Default | Required |
|
|
1688
|
-
| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------ | ------------------------------ | -------- |
|
|
1689
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1690
|
-
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
1691
|
-
| actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | false |
|
|
1692
|
-
| statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to restart. | RequestStatus[] | N/A | false |
|
|
1693
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1694
|
-
| file | Path to the CSV file where identifiers will be written to. | string - file-path | ./transcend-request-export.csv | false |
|
|
1695
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 100 | false |
|
|
1696
|
-
| createdAtBefore | Pull requests that were submitted before this time | Date | N/A | false |
|
|
1697
|
-
| createdAtAfter | Pull requests that were submitted after this time | Date | N/A | false |
|
|
1698
|
-
| showTests | Filter for test requests or production requests - when not provided, pulls both | boolean | N/A | false |
|
|
1699
|
-
|
|
1700
|
-
#### Usage
|
|
1701
|
-
|
|
1702
|
-
Pull all requests:
|
|
1703
|
-
|
|
1704
|
-
```sh
|
|
1705
|
-
yarn tr-request-export --auth=$TRANSCEND_API_KEY
|
|
1706
|
-
```
|
|
1707
|
-
|
|
1708
|
-
Filter for specific actions and statuses:
|
|
1709
|
-
|
|
1710
|
-
```sh
|
|
1711
|
-
yarn tr-request-export --auth=$TRANSCEND_API_KEY --statuses=COMPILING,ENRICHING --actions=ACCESS,ERASURE
|
|
1712
|
-
```
|
|
1713
|
-
|
|
1714
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1715
|
-
|
|
1716
|
-
```sh
|
|
1717
|
-
yarn tr-request-export --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
|
|
1718
|
-
```
|
|
1719
|
-
|
|
1720
|
-
With Sombra authentication
|
|
1721
|
-
|
|
1722
|
-
```sh
|
|
1723
|
-
yarn tr-request-export --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY
|
|
1724
|
-
```
|
|
1725
|
-
|
|
1726
|
-
Increase the concurrency (defaults to 100)
|
|
1727
|
-
|
|
1728
|
-
```sh
|
|
1729
|
-
yarn tr-request-export --auth=$TRANSCEND_API_KEY --concurrency=500
|
|
1730
|
-
```
|
|
1731
|
-
|
|
1732
|
-
Filter for production requests only
|
|
1733
|
-
|
|
1734
|
-
```sh
|
|
1735
|
-
yarn tr-request-export --auth=$TRANSCEND_API_KEY --showTests=false
|
|
1736
|
-
```
|
|
1737
|
-
|
|
1738
|
-
Filter for requests within a date range
|
|
1739
|
-
|
|
1740
|
-
```sh
|
|
1741
|
-
yarn tr-request-export --auth=$TRANSCEND_API_KEY --createdAtBefore="04/05/2023" --createdAtAfter="02/21/2023"
|
|
1742
|
-
```
|
|
1743
|
-
|
|
1744
|
-
Write to a specific file location
|
|
1745
|
-
|
|
1746
|
-
```sh
|
|
1747
|
-
yarn tr-request-export --auth=$TRANSCEND_API_KEY --file=./path/to/file.csv
|
|
1748
|
-
```
|
|
1749
|
-
|
|
1750
|
-
### tr-cron-pull-identifiers
|
|
1751
|
-
|
|
1752
|
-
If you are using the cron job integration, you can run this command to pull the outstanding identifiers
|
|
1753
|
-
for the data silo to a CSV.
|
|
1754
|
-
|
|
1755
|
-
For large datasets, the output will be automatically split into multiple CSV files to avoid file system size limits.
|
|
1756
|
-
Use the `--chunkSize` parameter to control the maximum number of rows per file.
|
|
1757
|
-
|
|
1758
|
-
Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.
|
|
1759
|
-
|
|
1760
|
-
https://user-images.githubusercontent.com/10264973/205483055-f4050645-bdf5-4ea2-8464-3183abd63074.mov
|
|
1761
|
-
|
|
1762
|
-
#### Authentication
|
|
1763
|
-
|
|
1764
|
-
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).
|
|
1765
|
-
|
|
1766
|
-
The API key must be associated to the ID of the integration/data silo that is being operated on.
|
|
1767
|
-
|
|
1768
|
-
#### Arguments
|
|
1769
|
-
|
|
1770
|
-
| Argument | Description | Type | Default | Required |
|
|
1771
|
-
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ | ------------------------ | -------- |
|
|
1772
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1773
|
-
| dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
|
|
1774
|
-
| actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | true |
|
|
1775
|
-
| file | Path to the CSV file where identifiers will be written to. | string - file-path | ./cron-identifiers.csv | false |
|
|
1776
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1777
|
-
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
1778
|
-
| pageLimit | The page limit to use when pulling in pages of identifiers. | number | 100 | false |
|
|
1779
|
-
| 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 |
|
|
1780
|
-
| 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 |
|
|
1781
|
-
|
|
1782
|
-
#### Usage
|
|
1783
|
-
|
|
1784
|
-
```sh
|
|
1785
|
-
yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE
|
|
1786
|
-
```
|
|
1787
|
-
|
|
1788
|
-
Pull to a specific file location
|
|
1789
|
-
|
|
1790
|
-
```sh
|
|
1791
|
-
yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
|
|
1792
|
-
--file=/Users/transcend/Desktop/test.csv
|
|
1793
|
-
```
|
|
1794
|
-
|
|
1795
|
-
For self-hosted sombras that use an internal key:
|
|
1796
|
-
|
|
1797
|
-
```sh
|
|
1798
|
-
yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
|
|
1799
|
-
--sombraAuth=$SOMBRA_INTERNAL_KEY
|
|
1800
|
-
```
|
|
1801
|
-
|
|
1802
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1803
|
-
|
|
1804
|
-
```sh
|
|
1805
|
-
yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
|
|
1806
|
-
--transcendUrl=https://api.us.transcend.io
|
|
1807
|
-
```
|
|
1808
|
-
|
|
1809
|
-
Specifying the page limit, defaults to 100.
|
|
1810
|
-
|
|
1811
|
-
```sh
|
|
1812
|
-
yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
|
|
1813
|
-
--pageLimit=300
|
|
1814
|
-
```
|
|
1815
|
-
|
|
1816
|
-
Specifying the chunk size for large datasets to avoid file size limits (defaults to 100,000 rows per file).
|
|
1817
|
-
|
|
1818
|
-
```sh
|
|
1819
|
-
yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE \
|
|
1820
|
-
--chunkSize=50000
|
|
1821
|
-
```
|
|
1822
|
-
|
|
1823
|
-
**Note:** For large datasets exceeding the chunk size, multiple CSV files will be created automatically:
|
|
1824
|
-
|
|
1825
|
-
- `filename_part01_of_05.csv` (50,000 rows)
|
|
1826
|
-
- `filename_part02_of_05.csv` (50,000 rows)
|
|
1827
|
-
- ... and so on
|
|
1828
|
-
|
|
1829
|
-
### tr-cron-mark-identifiers-completed
|
|
1830
|
-
|
|
1831
|
-
This command takes the output of `tr-cron-pull-identifiers` and notifies Transcend that all of the requests in the CSV have been processed.
|
|
1832
|
-
This is used in the workflow like:
|
|
1833
|
-
|
|
1834
|
-
1. Pull identifiers to CSV:
|
|
1835
|
-
`yarn tr-cron-pull-identifiers --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ERASURE --file=./outstanding-requests.csv`
|
|
1836
|
-
2. Run your process to operate on that CSV of requests.
|
|
1837
|
-
3. Notify Transcend of completion
|
|
1838
|
-
`yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --file=./outstanding-requests.csv`
|
|
1839
|
-
|
|
1840
|
-
Read more at https://docs.transcend.io/docs/integrations/cron-job-integration.
|
|
1841
|
-
|
|
1842
|
-
#### Authentication
|
|
1843
|
-
|
|
1844
|
-
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).
|
|
1845
|
-
|
|
1846
|
-
The API key must be associated to the ID of the integration/data silo that is being operated on.
|
|
1847
|
-
|
|
1848
|
-
#### Arguments
|
|
1849
|
-
|
|
1850
|
-
| Argument | Description | Type | Default | Required |
|
|
1851
|
-
| ------------ | ------------------------------------------------------------------------------------ | ------------------ | ------------------------ | -------- |
|
|
1852
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1853
|
-
| dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
|
|
1854
|
-
| file | Path to the CSV file where identifiers will be written to. | string - file-path | ./cron-identifiers.csv | false |
|
|
1855
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1856
|
-
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
1857
|
-
|
|
1858
|
-
#### Usage
|
|
1859
|
-
|
|
1860
|
-
```sh
|
|
1861
|
-
yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f
|
|
1862
|
-
```
|
|
1863
|
-
|
|
1864
|
-
Pull to a specific file location
|
|
1865
|
-
|
|
1866
|
-
```sh
|
|
1867
|
-
yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
|
|
1868
|
-
--file=/Users/transcend/Desktop/test.csv
|
|
1869
|
-
```
|
|
1870
|
-
|
|
1871
|
-
For self-hosted sombras that use an internal key:
|
|
1872
|
-
|
|
1873
|
-
```sh
|
|
1874
|
-
yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
|
|
1875
|
-
--sombraAuth=$SOMBRA_INTERNAL_KEY
|
|
1876
|
-
```
|
|
1877
|
-
|
|
1878
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
1879
|
-
|
|
1880
|
-
```sh
|
|
1881
|
-
yarn tr-cron-mark-identifiers-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
|
|
1882
|
-
--transcendUrl=https://api.us.transcend.io
|
|
1883
|
-
```
|
|
1884
|
-
|
|
1885
|
-
### tr-manual-enrichment-pull-identifiers
|
|
1886
|
-
|
|
1887
|
-
This command pulls down the set of privacy requests that are currently pending manual enrichment.
|
|
1888
|
-
|
|
1889
|
-
This is useful for the following workflow:
|
|
1890
|
-
|
|
1891
|
-
1. Pull identifiers to CSV:
|
|
1892
|
-
`yarn tr-manual-enrichment-pull-identifiers --file=./enrichment-requests.csv`
|
|
1893
|
-
2. Fill out the CSV with additional identifiers
|
|
1894
|
-
3. Push updated back to Transcend
|
|
1895
|
-
`yarn tr-manual-enrichment-push-identifiers --file=./enrichment-requests.csv`
|
|
1896
|
-
|
|
1897
|
-
#### Authentication
|
|
1898
|
-
|
|
1899
|
-
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).
|
|
1900
|
-
|
|
1901
|
-
The API key must have the following scopes:
|
|
1902
|
-
|
|
1903
|
-
- View Incoming Requests
|
|
1904
|
-
- View the Request Compilation
|
|
1905
|
-
|
|
1906
|
-
#### Arguments
|
|
1907
|
-
|
|
1908
|
-
| Argument | Description | Type | Default | Required |
|
|
1909
|
-
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ | ----------------------------------- | -------- |
|
|
1910
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1911
|
-
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
1912
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1913
|
-
| file | Path to the CSV file where requests will be written to. | string - file-path | ./manual-enrichment-identifiers.csv | false |
|
|
1914
|
-
| 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 |
|
|
1915
|
-
|
|
1916
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 100 | false |
|
|
1917
|
-
|
|
1918
|
-
#### Usage
|
|
1919
|
-
|
|
1920
|
-
```sh
|
|
1921
|
-
yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY
|
|
1922
|
-
```
|
|
1923
|
-
|
|
1924
|
-
Pull to a specific file location
|
|
1925
|
-
|
|
1926
|
-
```sh
|
|
1927
|
-
yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY --file=/Users/transcend/Desktop/test.csv
|
|
1928
|
-
```
|
|
1929
|
-
|
|
1930
|
-
For specific types of requests
|
|
1931
|
-
|
|
1932
|
-
```sh
|
|
1933
|
-
yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY --actions=ACCESS,ERASURE
|
|
1934
|
-
```
|
|
1935
|
-
|
|
1936
|
-
For US hosted infrastructure
|
|
1937
|
-
|
|
1938
|
-
```sh
|
|
1939
|
-
yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
|
|
1940
|
-
```
|
|
1941
|
-
|
|
1942
|
-
With Sombra authentication
|
|
1943
|
-
|
|
1944
|
-
```sh
|
|
1945
|
-
yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY
|
|
1946
|
-
```
|
|
1947
|
-
|
|
1948
|
-
With specific concurrency
|
|
1949
|
-
|
|
1950
|
-
```sh
|
|
1951
|
-
yarn tr-manual-enrichment-pull-identifiers --auth=$TRANSCEND_API_KEY --concurrency=200
|
|
1952
|
-
```
|
|
1953
|
-
|
|
1954
|
-
### tr-manual-enrichment-push-identifiers
|
|
1955
|
-
|
|
1956
|
-
This command push up a set of identifiers for a set of requests pending manual enrichment.
|
|
1957
|
-
|
|
1958
|
-
This is useful for the following workflow:
|
|
1959
|
-
|
|
1960
|
-
1. Pull identifiers to CSV:
|
|
1961
|
-
`yarn tr-manual-enrichment-pull-identifiers --file=./enrichment-requests.csv`
|
|
1962
|
-
2. Fill out the CSV with additional identifiers
|
|
1963
|
-
3. Push updated back to Transcend
|
|
1964
|
-
`yarn tr-manual-enrichment-push-identifiers --file=./enrichment-requests.csv`
|
|
1965
|
-
|
|
1966
|
-
#### Authentication
|
|
1967
|
-
|
|
1968
|
-
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).
|
|
1969
|
-
|
|
1970
|
-
The API key must have the following scopes:
|
|
1971
|
-
|
|
1972
|
-
- "Manage Request Identity Verification"
|
|
1973
|
-
- "Manage Request Compilation" (only when specifying `silentModeBefore`)
|
|
1974
|
-
|
|
1975
|
-
#### Arguments
|
|
1976
|
-
|
|
1977
|
-
| Argument | Description | Type | Default | Required |
|
|
1978
|
-
| ---------------- | ------------------------------------------------------------------------------------ | ------------------ | ----------------------------------- | -------- |
|
|
1979
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
1980
|
-
| enricherId | The ID of the Request Enricher to upload to | string - UUID | N/A | true |
|
|
1981
|
-
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
1982
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
1983
|
-
| file | Path to the CSV file where requests will be written to. | string - file-path | ./manual-enrichment-identifiers.csv | false |
|
|
1984
|
-
| silentModeBefore | When true, set requests into silent mode before enriching | boolean | false | false |
|
|
1985
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 100 | false |
|
|
1986
|
-
|
|
1987
|
-
#### Usage
|
|
1988
|
-
|
|
1989
|
-
```sh
|
|
1990
|
-
yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf
|
|
1991
|
-
```
|
|
1992
|
-
|
|
1993
|
-
Pull to a specific file location
|
|
1994
|
-
|
|
1995
|
-
```sh
|
|
1996
|
-
yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf --file=/Users/transcend/Desktop/test.csv
|
|
1997
|
-
```
|
|
1998
|
-
|
|
1999
|
-
For US hosted infrastructure
|
|
2000
|
-
|
|
2001
|
-
```sh
|
|
2002
|
-
yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf --transcendUrl=https://api.us.transcend.io
|
|
2003
|
-
```
|
|
2004
|
-
|
|
2005
|
-
With Sombra authentication
|
|
2006
|
-
|
|
2007
|
-
```sh
|
|
2008
|
-
yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf --sombraAuth=$SOMBRA_INTERNAL_KEY
|
|
2009
|
-
```
|
|
2010
|
-
|
|
2011
|
-
With specific concurrency
|
|
2012
|
-
|
|
2013
|
-
```sh
|
|
2014
|
-
yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf --concurrency=200
|
|
2015
|
-
```
|
|
2016
|
-
|
|
2017
|
-
When enriching requests, mark all requests as silent mode before processing
|
|
2018
|
-
|
|
2019
|
-
```sh
|
|
2020
|
-
yarn tr-manual-enrichment-push-identifiers --auth=$TRANSCEND_API_KEY --enricherId=27d45a0d-7d03-47fa-9b30-6d697005cfcf --silentModeBefore=true
|
|
2021
|
-
```
|
|
2022
|
-
|
|
2023
|
-
### tr-mark-request-data-silos-completed
|
|
2024
|
-
|
|
2025
|
-
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.
|
|
2026
|
-
This command is useful with the "Bulk Response" UI. The CSV is expected to have 1 column named "Request Id".
|
|
2027
|
-
|
|
2028
|
-
#### Authentication
|
|
2029
|
-
|
|
2030
|
-
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).
|
|
2031
|
-
|
|
2032
|
-
The API key must have the following scopes:
|
|
2033
|
-
|
|
2034
|
-
- "Manage Request Compilation"
|
|
2035
|
-
|
|
2036
|
-
#### Arguments
|
|
2037
|
-
|
|
2038
|
-
| Argument | Description | Type | Default | Required |
|
|
2039
|
-
| ------------ | ----------------------------------------------------------------------------- | ------------------ | ------------------------- | -------- |
|
|
2040
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2041
|
-
| dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
|
|
2042
|
-
| file | Path to the CSV file where identifiers will be written to. | string - file-path | ./request-identifiers.csv | false |
|
|
2043
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2044
|
-
|
|
2045
|
-
#### Usage
|
|
2046
|
-
|
|
2047
|
-
```sh
|
|
2048
|
-
yarn tr-mark-request-data-silos-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f
|
|
2049
|
-
```
|
|
2050
|
-
|
|
2051
|
-
Pull to a specific file location
|
|
2052
|
-
|
|
2053
|
-
```sh
|
|
2054
|
-
yarn tr-mark-request-data-silos-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
|
|
2055
|
-
--file=/Users/transcend/Desktop/test.csv
|
|
2056
|
-
```
|
|
2057
|
-
|
|
2058
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2059
|
-
|
|
2060
|
-
```sh
|
|
2061
|
-
yarn tr-mark-request-data-silos-completed --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
|
|
2062
|
-
--transcendUrl=https://api.us.transcend.io
|
|
2063
|
-
```
|
|
2064
|
-
|
|
2065
|
-
### tr-skip-request-data-silos
|
|
2066
|
-
|
|
2067
|
-
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.
|
|
2068
|
-
|
|
2069
|
-
#### Authentication
|
|
2070
|
-
|
|
2071
|
-
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).
|
|
2072
|
-
|
|
2073
|
-
The API key must have the following scopes:
|
|
2074
|
-
|
|
2075
|
-
- "Manage Request Compilation"
|
|
2076
|
-
|
|
2077
|
-
#### Arguments
|
|
2078
|
-
|
|
2079
|
-
| Argument | Description | Type | Default | Required |
|
|
2080
|
-
| ------------ | --------------------------------------------------------------------------------------------------------------------------- | ------------------- | ------------------------ | -------- |
|
|
2081
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2082
|
-
| dataSiloId | The ID of the data silo to skip privacy request jobs for. | string - UUID | N/A | true |
|
|
2083
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2084
|
-
| statuses | The [request statuses](https://docs.transcend.io/docs/privacy-requests/overview#request-statuses) to mark as completed for. | RequestStatus[] | COMPILING,SECONDARY | false |
|
|
2085
|
-
| status | The status to set the request data silo job to | SKIPPED or RESOLVED | SKIPPED | false |
|
|
2086
|
-
|
|
2087
|
-
#### Usage
|
|
2088
|
-
|
|
2089
|
-
```sh
|
|
2090
|
-
yarn tr-skip-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f
|
|
2091
|
-
```
|
|
2092
|
-
|
|
2093
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2094
|
-
|
|
2095
|
-
```sh
|
|
2096
|
-
yarn tr-skip-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f \
|
|
2097
|
-
--transcendUrl=https://api.us.transcend.io
|
|
2098
|
-
```
|
|
2099
|
-
|
|
2100
|
-
Only mark as completed requests in "removing data" phase
|
|
2101
|
-
|
|
2102
|
-
```sh
|
|
2103
|
-
yarn tr-skip-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --statuses=SECONDARY
|
|
2104
|
-
```
|
|
2105
|
-
|
|
2106
|
-
Set to status "RESOLVED" instead of status "SKIPPED"
|
|
2107
|
-
|
|
2108
|
-
```sh
|
|
2109
|
-
yarn tr-skip-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --status=RESOLVED
|
|
2110
|
-
```
|
|
2111
|
-
|
|
2112
|
-
### tr-skip-preflight-jobs
|
|
2113
|
-
|
|
2114
|
-
This command allows for bulk skipping preflight checks.
|
|
2115
|
-
|
|
2116
|
-
#### Authentication
|
|
2117
|
-
|
|
2118
|
-
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).
|
|
2119
|
-
|
|
2120
|
-
The API key must have the following scopes:
|
|
2121
|
-
|
|
2122
|
-
- "Manage Request Compilation"
|
|
2123
|
-
|
|
2124
|
-
#### Arguments
|
|
2125
|
-
|
|
2126
|
-
| Argument | Description | Type | Default | Required |
|
|
2127
|
-
| ------------ | ----------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
|
|
2128
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2129
|
-
| enricherIds | The ID of the enrichers to skip privacy request jobs for. | string[] - UUID | N/A | true |
|
|
2130
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2131
|
-
|
|
2132
|
-
#### Usage
|
|
2133
|
-
|
|
2134
|
-
```sh
|
|
2135
|
-
yarn tr-skip-preflight-jobs --auth=$TRANSCEND_API_KEY --enricherIds=70810f2e-cf90-43f6-9776-901a5950599f
|
|
2136
|
-
```
|
|
2137
|
-
|
|
2138
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2139
|
-
|
|
2140
|
-
```sh
|
|
2141
|
-
yarn tr-skip-preflight-jobs --auth=$TRANSCEND_API_KEY --enricherIds=70810f2e-cf90-43f6-9776-901a5950599f,db1e64ba-cea6-43ff-ad27-5dc8122e5224 \
|
|
2142
|
-
--transcendUrl=https://api.us.transcend.io
|
|
2143
|
-
```
|
|
2144
|
-
|
|
2145
|
-
### tr-retry-request-data-silos
|
|
2146
|
-
|
|
2147
|
-
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.
|
|
2148
|
-
|
|
2149
|
-
#### Authentication
|
|
2150
|
-
|
|
2151
|
-
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).
|
|
2152
|
-
|
|
2153
|
-
The API key must have the following scopes:
|
|
2154
|
-
|
|
2155
|
-
- "Manage Request Compilation"
|
|
2156
|
-
|
|
2157
|
-
#### Arguments
|
|
2158
|
-
|
|
2159
|
-
| Argument | Description | Type | Default | Required |
|
|
2160
|
-
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------ | -------- |
|
|
2161
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2162
|
-
| dataSiloId | The ID of the data silo to pull in. | string - UUID | N/A | true |
|
|
2163
|
-
| actions | The [request action](https://docs.transcend.io/docs/privacy-requests/configuring-requests/data-subject-requests#data-actions) to restart. | RequestAction[] | N/A | true |
|
|
2164
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2165
|
-
|
|
2166
|
-
#### Usage
|
|
2167
|
-
|
|
2168
|
-
```sh
|
|
2169
|
-
yarn tr-retry-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ACCESS
|
|
2170
|
-
```
|
|
2171
|
-
|
|
2172
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2173
|
-
|
|
2174
|
-
```sh
|
|
2175
|
-
yarn tr-retry-request-data-silos --auth=$TRANSCEND_API_KEY --dataSiloId=70810f2e-cf90-43f6-9776-901a5950599f --actions=ACCESS \
|
|
2176
|
-
--transcendUrl=https://api.us.transcend.io
|
|
2177
|
-
```
|
|
2178
|
-
|
|
2179
|
-
### tr-update-consent-manager
|
|
2180
|
-
|
|
2181
|
-
This command allows for updating Consent Manager to latest version. The consent manager bundle can also be deployed using this commannd.
|
|
2182
|
-
|
|
2183
|
-
#### Authentication
|
|
2184
|
-
|
|
2185
|
-
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).
|
|
2186
|
-
|
|
2187
|
-
The API key must have the following scopes:
|
|
2188
|
-
|
|
2189
|
-
- "Manage Consent Manager Developer Settings"
|
|
2190
|
-
|
|
2191
|
-
#### Arguments
|
|
2192
|
-
|
|
2193
|
-
| Argument | Description | Type | Default | Required |
|
|
2194
|
-
| ------------ | ----------------------------------------------------------------------------- | ------------ | ------------------------ | -------- |
|
|
2195
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2196
|
-
| bundleTypes | The bundle types to deploy | BundleType[] | PRODUCTION,TEST | false |
|
|
2197
|
-
| deploy | When true, deploy the Consent Manager after updating the version | boolean | false | false |
|
|
2198
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2199
|
-
|
|
2200
|
-
#### Usage
|
|
2201
|
-
|
|
2202
|
-
```sh
|
|
2203
|
-
yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY
|
|
2204
|
-
```
|
|
2205
|
-
|
|
2206
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2207
|
-
|
|
2208
|
-
```sh
|
|
2209
|
-
yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
|
|
2210
|
-
```
|
|
2211
|
-
|
|
2212
|
-
Update version and deploy bundles.
|
|
2213
|
-
|
|
2214
|
-
```sh
|
|
2215
|
-
yarn tr-update-consent-manager -auth=$TRANSCEND_API_KEY --deploy=true
|
|
2216
|
-
```
|
|
2217
|
-
|
|
2218
|
-
Update just the TEST bundle
|
|
2219
|
-
|
|
2220
|
-
```sh
|
|
2221
|
-
yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --bundleTypes=TEST
|
|
2222
|
-
```
|
|
2223
|
-
|
|
2224
|
-
Update just the PRODUCTION bundle
|
|
2225
|
-
|
|
2226
|
-
```sh
|
|
2227
|
-
yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --bundleTypes=PRODUCTION
|
|
2228
|
-
```
|
|
2229
|
-
|
|
2230
|
-
Update multiple organizations at once
|
|
2231
|
-
|
|
2232
|
-
```sh
|
|
2233
|
-
yarn tr-update-consent-manager --auth=$TRANSCEND_API_KEY --bundleTypes=PRODUCTION
|
|
2234
|
-
|
|
2235
|
-
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
|
|
2236
|
-
yarn tr-update-consent-manager --auth=./transcend-api-keys.json --deploy=true
|
|
2237
|
-
```
|
|
2238
|
-
|
|
2239
|
-
### tr-consent-managers-to-business-entities
|
|
2240
|
-
|
|
2241
|
-
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.
|
|
2242
|
-
|
|
2243
|
-
#### Authentication
|
|
2244
|
-
|
|
2245
|
-
No authentication is required to run this command. It reads and writes files from local disk.
|
|
2246
|
-
|
|
2247
|
-
#### Arguments
|
|
2248
|
-
|
|
2249
|
-
| Argument | Description | Type | Default | Required |
|
|
2250
|
-
| ----------------------- | ---------------------------------------------------------------------- | -------------------- | -------------------------------- | -------- |
|
|
2251
|
-
| consentManagerYmlFolder | Path to the folder of Consent Manager `transcend.yml` files to combine | string - folder-path | N/A | true |
|
|
2252
|
-
| output | Path to the output `transcend.yml` with business entity configuration | string - file-path | ./combined-business-entities.yml | false |
|
|
2253
|
-
|
|
2254
|
-
#### Usage
|
|
2255
|
-
|
|
2256
|
-
Combine files in folder `./working/consent-managers/` to file `./combined-business-entities.yml`
|
|
2257
|
-
|
|
2258
|
-
```sh
|
|
2259
|
-
yarn tr-consent-managers-to-business-entities --consentManagerYmlFolder=./working/consent-managers/
|
|
2260
|
-
```
|
|
2261
|
-
|
|
2262
|
-
Specify custom output file
|
|
2263
|
-
|
|
2264
|
-
```sh
|
|
2265
|
-
yarn tr-consent-managers-to-business-entities --consentManagerYmlFolder=./working/consent-managers/ --output=./custom.yml
|
|
2266
|
-
```
|
|
2267
|
-
|
|
2268
|
-
### tr-consent-manager-service-json-to-yml
|
|
2269
|
-
|
|
2270
|
-
Import the services from an airgap.js file into a Transcend instance.
|
|
2271
|
-
|
|
2272
|
-
Step 1) Run `await airgap.getMetadata()` on a site with airgap
|
|
2273
|
-
Step 2) Right click on the printed object, and click `Copy object`
|
|
2274
|
-
Step 3) Place output of file in a file named `services.json`
|
|
2275
|
-
Step 4) Run `yarn tr-consent-manager-service-json-to-yml --file=./services.json --output=./transcend.yml`
|
|
2276
|
-
Step 5) Run `yarn tr-push --auth=$TRANSCEND_API_KEY --file=./transcend.yml --classifyService=true`
|
|
2277
|
-
|
|
2278
|
-
#### Authentication
|
|
2279
|
-
|
|
2280
|
-
No authentication is required to run this command. It reads and writes files from local disk.
|
|
2281
|
-
|
|
2282
|
-
#### Arguments
|
|
2283
|
-
|
|
2284
|
-
| Argument | Description | Type | Default | Required |
|
|
2285
|
-
| -------- | ------------------------------------------------------------------------ | ------------------ | --------------- | -------- |
|
|
2286
|
-
| file | Path to the `services.json` file, output of `await airgap.getMetadata()` | string - file-path | ./services.json | false |
|
|
2287
|
-
| output | Path to the output `transcend.yml` to write to | string - file-path | ./transcend.yml | false |
|
|
2288
|
-
|
|
2289
|
-
#### Usage
|
|
2290
|
-
|
|
2291
|
-
Convert data flow configurations in folder `./services.json` to yml in `./transcend.yml`
|
|
2292
|
-
|
|
2293
|
-
```sh
|
|
2294
|
-
yarn tr-consent-manager-service-json-to-yml
|
|
2295
|
-
```
|
|
2296
|
-
|
|
2297
|
-
With file locations
|
|
2298
|
-
|
|
2299
|
-
```sh
|
|
2300
|
-
yarn tr-consent-manager-service-json-to-yml --file=./folder/services.json --output./folder/transcend.yml
|
|
2301
|
-
```
|
|
2302
|
-
|
|
2303
|
-
### tr-derive-data-silos-from-data-flows
|
|
2304
|
-
|
|
2305
|
-
Given a folder of data flow `transcend.yml` configurations, convert those configurations to set of data silo `transcend.yml` configurations.
|
|
2306
|
-
|
|
2307
|
-
#### Authentication
|
|
2308
|
-
|
|
2309
|
-
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).
|
|
2310
|
-
|
|
2311
|
-
The API does not need any scopes, any API key will work.
|
|
2312
|
-
|
|
2313
|
-
#### Arguments
|
|
2314
|
-
|
|
2315
|
-
| Argument | Description | Type | Default | Required |
|
|
2316
|
-
| ------------------ | ----------------------------------------------------------------------------- | -------------------- | ------------------------ | -------- |
|
|
2317
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2318
|
-
| dataFlowsYmlFolder | The folder that contains data flow yml files | string - folder-path | N/A | true |
|
|
2319
|
-
| dataSilosYmlFolder | The folder that contains data silo yml files | string - folder-path | N/A | true |
|
|
2320
|
-
| ignoreYmls | The set of yml files that should be skipped when uploading | string[] | [] | false |
|
|
2321
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2322
|
-
|
|
2323
|
-
#### Usage
|
|
2324
|
-
|
|
2325
|
-
Convert data flow configurations in folder `./working/data-flows/` to data silo configurations in folder `./working/data-silos/`
|
|
2326
|
-
|
|
2327
|
-
```sh
|
|
2328
|
-
yarn tr-derive-data-silos-from-data-flows --auth=$TRANSCEND_API_KEY \
|
|
2329
|
-
--dataFlowsYmlFolder=./working/data-flows/ \
|
|
2330
|
-
--dataSilosYmlFolder=./working/data-silos/
|
|
2331
|
-
```
|
|
2332
|
-
|
|
2333
|
-
Use with US backend
|
|
2334
|
-
|
|
2335
|
-
```sh
|
|
2336
|
-
yarn tr-derive-data-silos-from-data-flows --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io \
|
|
2337
|
-
--dataFlowsYmlFolder=./working/data-flows/ \
|
|
2338
|
-
--dataSilosYmlFolder=./working/data-silos/
|
|
2339
|
-
```
|
|
2340
|
-
|
|
2341
|
-
Skip a set of yml files
|
|
2342
|
-
|
|
2343
|
-
```sh
|
|
2344
|
-
yarn tr-derive-data-silos-from-data-flows --auth=$TRANSCEND_API_KEY --ignoreYmls="Skip.yml,Other.yml" \
|
|
2345
|
-
--dataFlowsYmlFolder=./working/data-flows/ \
|
|
2346
|
-
--dataSilosYmlFolder=./working/data-silos/
|
|
2347
|
-
```
|
|
2348
|
-
|
|
2349
|
-
### tr-derive-data-silos-from-data-flows-cross-instance
|
|
2350
|
-
|
|
2351
|
-
Given a folder of data flow `transcend.yml` configurations, convert those configurations to a single `transcend.yml` configurations of all related data silos.
|
|
2352
|
-
|
|
2353
|
-
#### Authentication
|
|
2354
|
-
|
|
2355
|
-
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).
|
|
2356
|
-
|
|
2357
|
-
The API does not need any scopes, any API key will work.
|
|
2358
|
-
|
|
2359
|
-
#### Arguments
|
|
2360
|
-
|
|
2361
|
-
| Argument | Description | Type | Default | Required |
|
|
2362
|
-
| ------------------ | ----------------------------------------------------------------------------- | -------------------- | ------------------------ | -------- |
|
|
2363
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2364
|
-
| dataFlowsYmlFolder | The folder that contains data flow yml files | string - folder-path | N/A | true |
|
|
2365
|
-
| output | The output transcend.yml file containing the data silo configurations | string - file-path | ./transcend.yml | false |
|
|
2366
|
-
| ignoreYmls | The set of yml files that should be skipped when uploading | string[] | [] | false |
|
|
2367
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2368
|
-
|
|
2369
|
-
#### Usage
|
|
2370
|
-
|
|
2371
|
-
Convert data flow configurations in folder `./working/data-flows/` to data silo configurations in file `./transcend.yml`
|
|
2372
|
-
|
|
2373
|
-
```sh
|
|
2374
|
-
yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=./working/data-flows/
|
|
2375
|
-
```
|
|
2376
|
-
|
|
2377
|
-
Use with US backend
|
|
2378
|
-
|
|
2379
|
-
```sh
|
|
2380
|
-
yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=./working/data-flows/ \
|
|
2381
|
-
--transcendUrl=https://api.us.transcend.io
|
|
2382
|
-
```
|
|
2383
|
-
|
|
2384
|
-
Skip a set of yml files
|
|
2385
|
-
|
|
2386
|
-
```sh
|
|
2387
|
-
yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=./working/data-flows/ --ignoreYmls="Skip.yml,Other.yml"
|
|
2388
|
-
```
|
|
2389
|
-
|
|
2390
|
-
Convert data flow configurations in folder `./working/data-flows/` to data silo configurations in file `./output.yml`
|
|
2391
|
-
|
|
2392
|
-
```sh
|
|
2393
|
-
yarn tr-derive-data-silos-from-data-flows-cross-instance --auth=$TRANSCEND_API_KEY --dataFlowsYmlFolder=./working/data-flows/ --output=./output.yml
|
|
2394
|
-
```
|
|
2395
|
-
|
|
2396
|
-
### tr-pull-consent-metrics
|
|
2397
|
-
|
|
2398
|
-
This command allows for pulling consent manager metrics for a Transcend account, or a set of Transcend accounts.
|
|
2399
|
-
|
|
2400
|
-
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:
|
|
2401
|
-
|
|
2402
|
-
- 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 })
|
|
2403
|
-
- 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 })
|
|
2404
|
-
- CONSENT_SESSIONS_BY_REGIME_Default.csv -> this contains the number of sessions detected for the bin period
|
|
2405
|
-
- 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)
|
|
2406
|
-
- 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).
|
|
2407
|
-
|
|
2408
|
-
#### Authentication
|
|
2409
|
-
|
|
2410
|
-
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).
|
|
2411
|
-
|
|
2412
|
-
The API key must have the following scopes:
|
|
2413
|
-
|
|
2414
|
-
- "View Consent Manager"
|
|
2415
|
-
|
|
2416
|
-
#### Arguments
|
|
2417
|
-
|
|
2418
|
-
| Argument | Description | Type | Default | Required |
|
|
2419
|
-
| ------------ | ----------------------------------------------------------------------------- | ----------------------- | ------------------------ | -------- |
|
|
2420
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2421
|
-
| start | The start date to pull metrics from. | string - date | N/A | true |
|
|
2422
|
-
| end | The end date to pull metrics until. | string - date | now() | true |
|
|
2423
|
-
| folder | The folder to save metrics to | string - path | ./consent-metrics/ | false |
|
|
2424
|
-
| bin | The bin metric when pulling data (1h or 1d) | ConsentManagerMetricBin | 1d | false |
|
|
2425
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2426
|
-
|
|
2427
|
-
#### Usage
|
|
2428
|
-
|
|
2429
|
-
```sh
|
|
2430
|
-
yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY --start=01/01/2023
|
|
2431
|
-
```
|
|
2432
|
-
|
|
2433
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2434
|
-
|
|
2435
|
-
```sh
|
|
2436
|
-
yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY --start=01/01/2023 --transcendUrl=https://api.us.transcend.io
|
|
2437
|
-
```
|
|
2438
|
-
|
|
2439
|
-
Pull start and end date explicitly
|
|
2440
|
-
|
|
2441
|
-
```sh
|
|
2442
|
-
yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY --start=01/01/2023 --end=03/01/2023
|
|
2443
|
-
```
|
|
2444
|
-
|
|
2445
|
-
Save to an explicit folder
|
|
2446
|
-
|
|
2447
|
-
```sh
|
|
2448
|
-
yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY --start=01/01/2023 --end=03/01/2023 --folder=./my-folder/
|
|
2449
|
-
```
|
|
2450
|
-
|
|
2451
|
-
Bin data hourly vs daily
|
|
2452
|
-
|
|
2453
|
-
```sh
|
|
2454
|
-
yarn tr-pull-consent-metrics --auth=$TRANSCEND_API_KEY --start=01/01/2023 --bin=1h
|
|
2455
|
-
```
|
|
2456
|
-
|
|
2457
|
-
### tr-pull-datapoints
|
|
2458
|
-
|
|
2459
|
-
This command allows for pulling your Data Inventory -> Datapoints into a CSV.
|
|
2460
|
-
|
|
2461
|
-
#### Authentication
|
|
2462
|
-
|
|
2463
|
-
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).
|
|
2464
|
-
|
|
2465
|
-
The API key must have the following scopes:
|
|
2466
|
-
|
|
2467
|
-
- "View Data Inventory"
|
|
2468
|
-
|
|
2469
|
-
#### Arguments
|
|
2470
|
-
|
|
2471
|
-
| Argument | Description | Type | Default | Required |
|
|
2472
|
-
| ------------------------ | ----------------------------------------------------------------------------- | ------------- | ------------------------ | -------- |
|
|
2473
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2474
|
-
| file | The file to save datapoints to | string - path | ./datapoints.csv | false |
|
|
2475
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2476
|
-
| dataSiloIds | Comma-separated list of data silo IDs to filter by | string | N/A | false |
|
|
2477
|
-
| includeAttributes | Whether to include attributes in the output | boolean | false | false |
|
|
2478
|
-
| includeGuessedCategories | Whether to include guessed categories in the output | boolean | false | false |
|
|
2479
|
-
| parentCategories | Comma-separated list of parent categories to filter by | string | N/A | false |
|
|
2480
|
-
| subCategories | Comma-separated list of subcategories to filter by | string | N/A | false |
|
|
2481
|
-
|
|
2482
|
-
#### Usage
|
|
2483
|
-
|
|
2484
|
-
All arguments
|
|
2485
|
-
|
|
2486
|
-
```sh
|
|
2487
|
-
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
|
|
2488
|
-
```
|
|
2489
|
-
|
|
2490
|
-
Pull datapoints for specific data silos:
|
|
2491
|
-
|
|
2492
|
-
```sh
|
|
2493
|
-
yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
|
|
2494
|
-
```
|
|
2495
|
-
|
|
2496
|
-
Include attributes in the output:
|
|
2497
|
-
|
|
2498
|
-
```sh
|
|
2499
|
-
yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --includeAttributes=true
|
|
2500
|
-
```
|
|
2501
|
-
|
|
2502
|
-
Include guessed categories in the output:
|
|
2503
|
-
|
|
2504
|
-
```sh
|
|
2505
|
-
yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --includeGuessedCategories=true
|
|
2506
|
-
```
|
|
2507
|
-
|
|
2508
|
-
Filter by parent categories:
|
|
2509
|
-
|
|
2510
|
-
```sh
|
|
2511
|
-
yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --parentCategories=ID,LOCATION
|
|
2512
|
-
```
|
|
2513
|
-
|
|
2514
|
-
Filter by subcategories:
|
|
2515
|
-
|
|
2516
|
-
```sh
|
|
2517
|
-
yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1
|
|
2518
|
-
```
|
|
2519
|
-
|
|
2520
|
-
Specify the backend URL, needed for US hosted backend infrastructure:
|
|
2521
|
-
|
|
2522
|
-
```sh
|
|
2523
|
-
yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --file=./datapoints.csv --transcendUrl=https://api.us.transcend.io
|
|
2524
|
-
```
|
|
2525
|
-
|
|
2526
|
-
### tr-pull-pull-unstructured-discovery-files
|
|
2527
|
-
|
|
2528
|
-
This command allows for pulling Unstructured Discovery into a CSV.
|
|
2529
|
-
|
|
2530
|
-
#### Authentication
|
|
2531
|
-
|
|
2532
|
-
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).
|
|
2533
|
-
|
|
2534
|
-
The API key must have the following scopes:
|
|
2535
|
-
|
|
2536
|
-
- "View Data Inventory"
|
|
2537
|
-
|
|
2538
|
-
#### Arguments
|
|
2539
|
-
|
|
2540
|
-
| Argument | Description | Type | Default | Required |
|
|
2541
|
-
| ------------------------ | ---------------------------------------------------------------------------------------------------- | ------------- | ---------------------------------- | -------- |
|
|
2542
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2543
|
-
| file | The file to save datapoints to | string - path | ./unstructured-discovery-files.csv | false |
|
|
2544
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2545
|
-
| dataSiloIds | Comma-separated list of data silo IDs to filter by | string | N/A | false |
|
|
2546
|
-
| subCategories | Comma-separated list of data categories to filter by | string | N/A | false |
|
|
2547
|
-
| status | Comma-separated list of classification statuses to filter by (CLASSIFIED, VALIDATED, REJECTED, etc.) | string | (excludes REJECTED) | false |
|
|
2548
|
-
| includeEncryptedSnippets | Whether to include encrypted snippets of the entries classified | boolean | false | false |
|
|
2549
|
-
|
|
2550
|
-
#### Usage
|
|
2551
|
-
|
|
2552
|
-
All arguments
|
|
2553
|
-
|
|
2554
|
-
```sh
|
|
2555
|
-
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
|
|
2556
|
-
```
|
|
2557
|
-
|
|
2558
|
-
Specify the backend URL, needed for US hosted backend infrastructure:
|
|
2559
|
-
|
|
2560
|
-
```sh
|
|
2561
|
-
yarn tr-pull-datapoints --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
|
|
2562
|
-
```
|
|
2563
|
-
|
|
2564
|
-
Pull entries for specific data silos:
|
|
2565
|
-
|
|
2566
|
-
```sh
|
|
2567
|
-
yarn tr-pull-unstructured-discovery-files --auth=$TRANSCEND_API_KEY --dataSiloIds=f956ccce-5534-4328-a78d-3a924b1fe429
|
|
2568
|
-
```
|
|
2569
|
-
|
|
2570
|
-
Filter by data categories:
|
|
2571
|
-
|
|
2572
|
-
```sh
|
|
2573
|
-
yarn tr-pull-unstructured-discovery-files --auth=$TRANSCEND_API_KEY --subCategories=79d998b7-45dd-481c-ae3a-856fd93458b2,9ecc213a-cd46-46d6-afd9-46cea713f5d1
|
|
2574
|
-
```
|
|
2575
|
-
|
|
2576
|
-
Filter by classification status (exclude unconfirmed recommendations):
|
|
2577
|
-
|
|
2578
|
-
```sh
|
|
2579
|
-
yarn tr-pull-unstructured-discovery-files --auth=$TRANSCEND_API_KEY --status=VALIDATED,MANUALLY_ADDED,CORRECTED
|
|
2580
|
-
```
|
|
2581
|
-
|
|
2582
|
-
Filter by classification status (include rejected recommendations):
|
|
2583
|
-
|
|
2584
|
-
```sh
|
|
2585
|
-
yarn tr-pull-unstructured-discovery-files --auth=$TRANSCEND_API_KEY --status=REJECTED
|
|
2586
|
-
```
|
|
2587
|
-
|
|
2588
|
-
### tr-upload-preferences
|
|
2589
|
-
|
|
2590
|
-
This command allows for updating of preference management data to your Transcend Preference Store.
|
|
2591
|
-
|
|
2592
|
-
This command uses [inquirer](https://github.com/SBoudrias/Inquirer.js/) to prompt the user to
|
|
2593
|
-
map the shape of the CSV to the shape of the Transcend API. There is no requirement for the
|
|
2594
|
-
shape of the incoming CSV, as the script will handle the mapping process.
|
|
2595
|
-
|
|
2596
|
-
The script will also produce a JSON cache file, that allows for the mappings to be preserved between runs.
|
|
2597
|
-
This can be useful if you have the same CSV shape that needs to be imported multiple times.
|
|
2598
|
-
Once the mapping process is done once, it does not need to be done again.
|
|
2599
|
-
|
|
2600
|
-
Additionally, the JSON cache file will store the result of any preferences that fail to be uploaded so that the
|
|
2601
|
-
script can be run multiple times if an issue happens.
|
|
2602
|
-
|
|
2603
|
-
#### Authentication
|
|
2604
|
-
|
|
2605
|
-
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).
|
|
2606
|
-
|
|
2607
|
-
The API key needs the following scopes:
|
|
2608
|
-
|
|
2609
|
-
- Modify User Stored Preferences
|
|
2610
|
-
- View Managed Consent Database Admin API
|
|
2611
|
-
- View Preference Store Settings
|
|
2612
|
-
|
|
2613
|
-
#### Authentication
|
|
2614
|
-
|
|
2615
|
-
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
|
|
2616
|
-
|
|
2617
|
-
#### Arguments
|
|
2618
|
-
|
|
2619
|
-
| Argument | Description | Type | Default | Required |
|
|
2620
|
-
| ----------------------- | ------------------------------------------------------------------------------------------------- | ----------------------- | -------------------------------------------- | -------- |
|
|
2621
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2622
|
-
| partition | The partition key to download consent preferences to | string | N/A | true |
|
|
2623
|
-
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
2624
|
-
| transcendUrl | URL of the Transcend backend. Use https://consent.us.transcend.io for US hosting. | string - URL | https://consent.transcend.io | false |
|
|
2625
|
-
| file | Path to the CSV file to load preferences from | string - file-path | N/A | true |
|
|
2626
|
-
| directory | Path to the directory of CSV files to load preferences from | string - directory-path | N/A | true |
|
|
2627
|
-
| csv | false |
|
|
2628
|
-
| dryRun | Whether to do a dry run only - will write results ti receiptFilepath without updating Transcend | boolean | false | false |
|
|
2629
|
-
| skipExistingRecordCheck | Whether to skip the check for existing records. SHOULD ONLY BE USED FOR INITIAL UPLOAD | boolean | false | false |
|
|
2630
|
-
| receiptFileDir | Directory path where the response receipts should be saved | string - directory-path | ./receipts' | false |
|
|
2631
|
-
| skipWorkflowTriggers | Whether to skip workflow triggers when uploading to preference store | boolean | false | false |
|
|
2632
|
-
| forceTriggerWorkflows | Whether to force trigger workflows for existing consent records | boolean | false | false |
|
|
2633
|
-
| skipConflictUpdates | Whether to skip uploading of any records where the preference store and file have a hard conflict | boolean | false | false |
|
|
2634
|
-
| isSilent | Whether to skip sending emails in workflows | boolean | true | false |
|
|
2635
|
-
| attributes | Attributes to add to any DSR request if created | string | Tags:transcend-cli,Source:transcend-cli | false |
|
|
2636
|
-
| receiptFilepath | Store resulting, continuing where left off | string - file-path | ./preference-management-upload-receipts.json | false |
|
|
2637
|
-
|
|
2638
|
-
#### Usage
|
|
2639
|
-
|
|
2640
|
-
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!
|
|
2641
|
-
|
|
2642
|
-
Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726`
|
|
2643
|
-
|
|
2644
|
-
```sh
|
|
2645
|
-
yarn tr-upload-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
|
|
2646
|
-
```
|
|
2647
|
-
|
|
2648
|
-
Upload consent preferences with additional options
|
|
2649
|
-
|
|
2650
|
-
```sh
|
|
2651
|
-
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
|
|
2652
|
-
```
|
|
2653
|
-
|
|
2654
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2655
|
-
|
|
2656
|
-
```sh
|
|
2657
|
-
yarn tr-upload-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --transcendUrl=https://consent.us.transcend.io
|
|
2658
|
-
```
|
|
2659
|
-
|
|
2660
|
-
### tr-upload-consent-preferences
|
|
2661
|
-
|
|
2662
|
-
This command allows for updating of consent preferences to the [Managed Consent Database](https://docs.transcend.io/docs/consent/reference/managed-consent-database).
|
|
2663
|
-
|
|
2664
|
-
Each row in the CSV must include:
|
|
2665
|
-
|
|
2666
|
-
| Argument | Description | Type | Default | Required |
|
|
2667
|
-
| --------- | --------------------------------------------------------------------------------------------------------- | ------------------------- | ------- | -------- |
|
|
2668
|
-
| userId | Unique ID identifying the user that the preferences ar efor | string | N/A | true |
|
|
2669
|
-
| timestamp | Timestamp for when consent was collected for that user | string - timestamp | N/A | true |
|
|
2670
|
-
| purposes | JSON map from consent purpose name -> boolean indicating whether user has opted in or out of that purpose | {[k in string]: boolean } | {} | false |
|
|
2671
|
-
| confirmed | Whether consent preferences have been explicitly confirmed or inferred | boolean | true | false |
|
|
2672
|
-
| updated | Has the consent been updated (including no-change confirmation) since default resolution | boolean | N/A | false |
|
|
2673
|
-
| prompted | Whether or not the UI has been shown to the end-user (undefined in older versions of airgap.js) | boolean | N/A | false |
|
|
2674
|
-
| gpp | IAB GPP string | string - GPP | N/A | false |
|
|
2675
|
-
|
|
2676
|
-
An sample CSV can be found [here](./examples/preference-upload.csv).
|
|
2677
|
-
|
|
2678
|
-
#### Authentication
|
|
2679
|
-
|
|
2680
|
-
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
|
|
2681
|
-
to grab your encryption and signing keys.
|
|
2682
|
-
|
|
2683
|
-
#### Arguments
|
|
2684
|
-
|
|
2685
|
-
| Argument | Description | Type | Default | Required |
|
|
2686
|
-
| ------------------- | --------------------------------------------------------------------------------- | ------------- | ---------------------------- | -------- |
|
|
2687
|
-
| base64EncryptionKey | The encyption key used to encrypt the userId | string | N/A | true |
|
|
2688
|
-
| base64SigningKey | The signing key used to prove authentication of consent request | string | N/A | true |
|
|
2689
|
-
| partition | The partition key to download consent preferences to | string | N/A | true |
|
|
2690
|
-
| file | The file to pull consent preferences from | string - path | ./preferences.csv | false |
|
|
2691
|
-
| transcendUrl | URL of the Transcend backend. Use https://consent.us.transcend.io for US hosting. | string - URL | https://consent.transcend.io | false |
|
|
2692
|
-
| concurrency | The concurrency to use when uploading requests in parallel. | number | 100 | false |
|
|
2693
|
-
|
|
2694
|
-
#### Usage
|
|
2695
|
-
|
|
2696
|
-
Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726`
|
|
2697
|
-
|
|
2698
|
-
```sh
|
|
2699
|
-
yarn tr-upload-consent-preferences --base64EncryptionKey=$TRANSCEND_CONSENT_ENCRYPTION_KEY --base64SigningKey=$TRANSCEND_CONSENT_SIGNING_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
|
|
2700
|
-
```
|
|
2701
|
-
|
|
2702
|
-
Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726` from file `./consent.csv`
|
|
2703
|
-
|
|
2704
|
-
```sh
|
|
2705
|
-
yarn tr-upload-consent-preferences --base64EncryptionKey=$TRANSCEND_CONSENT_ENCRYPTION_KEY --base64SigningKey=$TRANSCEND_CONSENT_SIGNING_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --file=./consent.csv
|
|
2706
|
-
```
|
|
2707
|
-
|
|
2708
|
-
Upload consent preferences to partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726` and set concurrency
|
|
2709
|
-
|
|
2710
|
-
```sh
|
|
2711
|
-
yarn tr-upload-consent-preferences --base64EncryptionKey=$TRANSCEND_CONSENT_ENCRYPTION_KEY --base64SigningKey=$TRANSCEND_CONSENT_SIGNING_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --concurrency=200
|
|
2712
|
-
```
|
|
2713
|
-
|
|
2714
|
-
### tr-pull-consent-preferences
|
|
2715
|
-
|
|
2716
|
-
This command allows for pull of consent preferences from the [Managed Consent Database](https://docs.transcend.io/docs/api-reference/POST/v1/consent-preferences).
|
|
2717
|
-
|
|
2718
|
-
Each row in the CSV will include:
|
|
2719
|
-
|
|
2720
|
-
| Argument | Description | Type | Default | Required |
|
|
2721
|
-
| -------------- | --------------------------------------------------------------------------------------------------------- | ------------------------- | ------- | -------- |
|
|
2722
|
-
| userId | Unique ID identifying the user that the preferences ar efor | string | N/A | true |
|
|
2723
|
-
| timestamp | Timestamp for when consent was collected for that user | string - timestamp | N/A | true |
|
|
2724
|
-
| purposes | JSON map from consent purpose name -> boolean indicating whether user has opted in or out of that purpose | {[k in string]: boolean } | {} | true |
|
|
2725
|
-
| airgapVersion | Version of airgap where consent was collected | string | N/A | false |
|
|
2726
|
-
| [purpose name] | Each consent purpose from `purposes` is also included in a column | boolean | N/A | false |
|
|
2727
|
-
| tcf | IAB TCF string | string - TCF | N/A | false |
|
|
2728
|
-
| gpp | IAB GPP string | string - GPP | N/A | false |
|
|
2729
|
-
|
|
2730
|
-
#### Authentication
|
|
2731
|
-
|
|
2732
|
-
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).
|
|
2733
|
-
|
|
2734
|
-
The API key must have the following scopes:
|
|
2735
|
-
|
|
2736
|
-
- "View Managed Consent Database Admin API"
|
|
2737
|
-
|
|
2738
|
-
#### Arguments
|
|
2739
|
-
|
|
2740
|
-
| Argument | Description | Type | Default | Required |
|
|
2741
|
-
| --------------- | ------------------------------------------------------------------------------------ | ------------------ | ------------------------ | -------- |
|
|
2742
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2743
|
-
| partition | The partition key to download consent preferences to | string | N/A | true |
|
|
2744
|
-
| sombraAuth | The sombra internal key, use for additional authentication when self-hosting sombra. | string | N/A | false |
|
|
2745
|
-
| file | Path to the CSV file to save preferences to | string - file-path | ./preferences.csv | false |
|
|
2746
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2747
|
-
| timestampBefore | Filter for consents updated this time | Date | N/A | false |
|
|
2748
|
-
| timestampAfter | Filter for consents updated after this time | Date | N/A | false |
|
|
2749
|
-
| identifiers | Filter for specific identifiers | string[] | N/A | false |
|
|
2750
|
-
| concurrency | The concurrency to use when downloading consents in parallel. | number | 100 | false |
|
|
2751
|
-
|
|
2752
|
-
#### Usage
|
|
2753
|
-
|
|
2754
|
-
Fetch all consent preferences from partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726`
|
|
2755
|
-
|
|
2756
|
-
```sh
|
|
2757
|
-
yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
|
|
2758
|
-
```
|
|
2759
|
-
|
|
2760
|
-
Fetch all consent preferences from partition key `4d1c5daa-90b7-4d18-aa40-f86a43d2c726` and save to ./consent.csv
|
|
2761
|
-
|
|
2762
|
-
```sh
|
|
2763
|
-
yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --file=./consent.csv
|
|
2764
|
-
```
|
|
2765
|
-
|
|
2766
|
-
Filter on consent updates before a date
|
|
2767
|
-
|
|
2768
|
-
```sh
|
|
2769
|
-
yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --timestampBefore=04/03/2023
|
|
2770
|
-
```
|
|
2771
|
-
|
|
2772
|
-
Filter on consent updates after a date
|
|
2773
|
-
|
|
2774
|
-
```sh
|
|
2775
|
-
yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --timestampAfter=04/03/2023
|
|
2776
|
-
```
|
|
2777
|
-
|
|
2778
|
-
For self-hosted sombras that use an internal key:
|
|
2779
|
-
|
|
2780
|
-
```sh
|
|
2781
|
-
yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --sombraAuth=$SOMBRA_INTERNAL_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726
|
|
2782
|
-
```
|
|
2783
|
-
|
|
2784
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2785
|
-
|
|
2786
|
-
```sh
|
|
2787
|
-
yarn tr-pull-consent-preferences --auth=$TRANSCEND_API_KEY --partition=4d1c5daa-90b7-4d18-aa40-f86a43d2c726 --transcendUrl=https://api.us.transcend.io
|
|
2788
|
-
```
|
|
2789
|
-
|
|
2790
|
-
### tr-upload-data-flows-from-csv
|
|
2791
|
-
|
|
2792
|
-
This command allows for uploading of data flows from CSV.
|
|
2793
|
-
|
|
2794
|
-
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.
|
|
2795
|
-
|
|
2796
|
-
<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">
|
|
2797
|
-
|
|
2798
|
-
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.
|
|
2799
|
-
|
|
2800
|
-
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`
|
|
2801
|
-
|
|
2802
|
-
#### Authentication
|
|
2803
|
-
|
|
2804
|
-
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).
|
|
2805
|
-
|
|
2806
|
-
The API key must have the following scopes:
|
|
2807
|
-
|
|
2808
|
-
- "Manage Data Flows"
|
|
2809
|
-
|
|
2810
|
-
#### Arguments
|
|
2811
|
-
|
|
2812
|
-
| Argument | Description | Type | Default | Required |
|
|
2813
|
-
| --------------- | ---------------------------------------------------------------------------------------------------------- | -------------------- | ------------------------ | -------- |
|
|
2814
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2815
|
-
| trackerStatus | Whether or not to upload the data flows into the "Approved" tab (LIVE) or the "Triage" tab (NEEDS_REVIEW). | ConsentTrackerStatus | N/A | true |
|
|
2816
|
-
| file | Path to the CSV file to upload | string - file-path | ./data-flows.csv | false |
|
|
2817
|
-
| classifyService | When true, automatically assign the service for a data flow based on the domain that is specified | boolean | false | false |
|
|
2818
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2819
|
-
|
|
2820
|
-
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`.
|
|
2821
|
-
|
|
2822
|
-
#### Usage
|
|
2823
|
-
|
|
2824
|
-
Upload the file of data flows in `./data-flows.csv` into the ["Approved" tab](https://app.transcend.io/consent-manager/data-flows/approved).
|
|
2825
|
-
|
|
2826
|
-
```sh
|
|
2827
|
-
yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE
|
|
2828
|
-
```
|
|
2829
|
-
|
|
2830
|
-
Upload the file of data flows in `./data-flows.csv` into the ["Triage" tab](https://app.transcend.io/consent-manager/data-flows).
|
|
2831
|
-
|
|
2832
|
-
```sh
|
|
2833
|
-
yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=NEEDS_REVIEW
|
|
2834
|
-
```
|
|
2835
|
-
|
|
2836
|
-
Specifying the CSV file to read from:
|
|
2837
|
-
|
|
2838
|
-
```sh
|
|
2839
|
-
yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE --file=./custom/my-data-flows.csv
|
|
2840
|
-
```
|
|
2841
|
-
|
|
2842
|
-
Have Transcend automatically fill in the service names by looking up the data flow host in Transcend's database.
|
|
2843
|
-
|
|
2844
|
-
```sh
|
|
2845
|
-
yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE --classifyService=true
|
|
2846
|
-
```
|
|
2847
|
-
|
|
2848
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2849
|
-
|
|
2850
|
-
```sh
|
|
2851
|
-
yarn tr-upload-data-flows-from-csv --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
|
|
2852
|
-
```
|
|
2853
|
-
|
|
2854
|
-
### tr-upload-cookies-from-csv
|
|
2855
|
-
|
|
2856
|
-
This command allows for uploading cookies from CSV
|
|
2857
|
-
|
|
2858
|
-
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.
|
|
2859
|
-
|
|
2860
|
-
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.
|
|
2861
|
-
|
|
2862
|
-
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`
|
|
2863
|
-
|
|
2864
|
-
#### Authentication
|
|
2865
|
-
|
|
2866
|
-
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).
|
|
2867
|
-
|
|
2868
|
-
The API key must have the following scopes:
|
|
2869
|
-
|
|
2870
|
-
- "Manage Cookies"
|
|
2871
|
-
|
|
2872
|
-
#### Arguments
|
|
2873
|
-
|
|
2874
|
-
| Argument | Description | Type | Default | Required |
|
|
2875
|
-
| ------------- | ------------------------------------------------------------------------------------------------------- | -------------------- | ------------------------ | -------- |
|
|
2876
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2877
|
-
| trackerStatus | Whether or not to upload the cookies into the "Approved" tab (LIVE) or the "Triage" tab (NEEDS_REVIEW). | ConsentTrackerStatus | N/A | true |
|
|
2878
|
-
| file | Path to the CSV file to upload | string - file-path | ./cookies.csv | false |
|
|
2879
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2880
|
-
|
|
2881
|
-
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`.
|
|
2882
|
-
|
|
2883
|
-
#### Usage
|
|
2884
|
-
|
|
2885
|
-
Upload the file of cookies in `./cookies.csv` into the ["Approved" tab](https://app.transcend.io/consent-manager/cookies/approved).
|
|
2886
|
-
|
|
2887
|
-
```sh
|
|
2888
|
-
yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE
|
|
2889
|
-
```
|
|
2890
|
-
|
|
2891
|
-
Upload the file of cookies in `./cookies.csv` into the ["Triage" tab](https://app.transcend.io/consent-manager/cookies).
|
|
2892
|
-
|
|
2893
|
-
```sh
|
|
2894
|
-
yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=NEEDS_REVIEW
|
|
2895
|
-
```
|
|
2896
|
-
|
|
2897
|
-
Specifying the CSV file to read from:
|
|
2898
|
-
|
|
2899
|
-
```sh
|
|
2900
|
-
yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY --trackerStatus=LIVE --file=./custom/my-cookies.csv
|
|
2901
|
-
```
|
|
2902
|
-
|
|
2903
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2904
|
-
|
|
2905
|
-
```sh
|
|
2906
|
-
yarn tr-upload-cookies-from-csv --auth=$TRANSCEND_API_KEY --transcendUrl=https://api.us.transcend.io
|
|
2907
|
-
```
|
|
2908
|
-
|
|
2909
|
-
### tr-generate-api-keys
|
|
2910
|
-
|
|
2911
|
-
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.
|
|
2912
|
-
|
|
2913
|
-
#### Authentication
|
|
2914
|
-
|
|
2915
|
-
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".
|
|
2916
|
-
|
|
2917
|
-
#### Arguments
|
|
2918
|
-
|
|
2919
|
-
| Argument | Description | Type | Default | Required |
|
|
2920
|
-
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ | ------------------------ | -------- |
|
|
2921
|
-
| email | The email address that you use to [log into Transcend](https://app.transcend.io/login). | string | N/A | true |
|
|
2922
|
-
| password | The password for your account login. | string | N/A | true |
|
|
2923
|
-
| apiKeyTitle | The title of the API key being generated or destroyed. | string | N/A | true |
|
|
2924
|
-
| file | The file where API keys should be written to. | string - file-path | N/A | true |
|
|
2925
|
-
| 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 |
|
|
2926
|
-
| 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 |
|
|
2927
|
-
| 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 |
|
|
2928
|
-
| parentOrganizationId | Filter for only a specific organization by ID, returning all child accounts associated with that organization. | string - UUID | true | false |
|
|
2929
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
2930
|
-
|
|
2931
1412
|
#### Usage
|
|
2932
1413
|
|
|
2933
1414
|
```sh
|
|
2934
|
-
|
|
1415
|
+
transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
|
|
2935
1416
|
--scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json
|
|
2936
1417
|
```
|
|
2937
1418
|
|
|
2938
1419
|
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
2939
1420
|
|
|
2940
1421
|
```sh
|
|
2941
|
-
|
|
1422
|
+
transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
|
|
2942
1423
|
--scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
|
|
2943
1424
|
--transcendUrl=https://api.us.transcend.io
|
|
2944
1425
|
```
|
|
@@ -2957,7 +1438,7 @@ query {
|
|
|
2957
1438
|
```
|
|
2958
1439
|
|
|
2959
1440
|
```sh
|
|
2960
|
-
|
|
1441
|
+
transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
|
|
2961
1442
|
--scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
|
|
2962
1443
|
--parentOrganizationId=7098bb38-070d-4f26-8fa4-1b61b9cdef77
|
|
2963
1444
|
```
|
|
@@ -2965,7 +1446,7 @@ yarn tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSW
|
|
|
2965
1446
|
Delete all API keys with a certain title.
|
|
2966
1447
|
|
|
2967
1448
|
```sh
|
|
2968
|
-
|
|
1449
|
+
transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
|
|
2969
1450
|
--scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
|
|
2970
1451
|
--createNewApiKey=false
|
|
2971
1452
|
```
|
|
@@ -2973,80 +1454,41 @@ yarn tr-generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSW
|
|
|
2973
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.
|
|
2974
1455
|
|
|
2975
1456
|
```sh
|
|
2976
|
-
|
|
1457
|
+
transcend admin generate-api-keys --email=test@transcend.io --password=$TRANSCEND_PASSWORD \
|
|
2977
1458
|
--scopes="View Email Templates,View Data Map" --apiKeyTitle="CLI Usage Cross Instance Sync" -file=./working/auth.json \
|
|
2978
1459
|
--deleteExistingApiKey=false
|
|
2979
1460
|
```
|
|
2980
1461
|
|
|
2981
|
-
###
|
|
2982
|
-
|
|
2983
|
-
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.
|
|
2984
|
-
|
|
2985
|
-
#### Authentication
|
|
2986
|
-
|
|
2987
|
-
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.
|
|
2988
|
-
|
|
2989
|
-
The API key must have the following scopes:
|
|
2990
|
-
|
|
2991
|
-
- "View Consent Manager"
|
|
2992
|
-
|
|
2993
|
-
#### Arguments
|
|
2994
|
-
|
|
2995
|
-
| Argument | Description | Type | Default | Required |
|
|
2996
|
-
| ------------------ | --------------------------------------------------------------------------------------------------------- | ------------------ | ------------------------ | -------- |
|
|
2997
|
-
| auth | The Transcend API key with the scopes necessary for the command. | string | N/A | true |
|
|
2998
|
-
| 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 |
|
|
2999
|
-
| file | The HTML file path where the sync endpoint should be written. | string - file-path | ./sync-endpoint.html | false |
|
|
3000
|
-
| removeIpAddresses | When true, remove IP addresses from the domain list | boolean | true | false |
|
|
3001
|
-
| domainBlockList | The set of domains that should be excluded from the sync endpoint | string[] | localhost | false |
|
|
3002
|
-
| xdiAllowedCommands | The allowed set of XDI commands | string | ConsentManager:Sync | false |
|
|
3003
|
-
| transcendUrl | URL of the Transcend backend. Use https://api.us.transcend.io for US hosting. | string - URL | https://api.transcend.io | false |
|
|
3004
|
-
|
|
3005
|
-
#### Usage
|
|
3006
|
-
|
|
3007
|
-
```sh
|
|
3008
|
-
yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js
|
|
3009
|
-
```
|
|
3010
|
-
|
|
3011
|
-
Specifying the backend URL, needed for US hosted backend infrastructure.
|
|
3012
|
-
|
|
3013
|
-
```sh
|
|
3014
|
-
yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js --transcendUrl=https://api.us.transcend.io
|
|
3015
|
-
```
|
|
3016
|
-
|
|
3017
|
-
Configuring across multiple Transcend Instances:
|
|
1462
|
+
### `transcend migration sync-ot`
|
|
3018
1463
|
|
|
3019
|
-
```
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
# Path list of API keys as authentication
|
|
3024
|
-
yarn tr-build-xdi-sync-endpoint --auth=./api-keys.json --xdiLocation=https://cdn.your-site.com/xdi.js --transcendUrl=https://api.us.transcend.io
|
|
3025
|
-
```
|
|
3026
|
-
|
|
3027
|
-
Pull to specific file location
|
|
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
|
|
3028
1468
|
|
|
3029
|
-
|
|
3030
|
-
yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js --file=./my-folder/sync-endpoint.html
|
|
3031
|
-
```
|
|
1469
|
+
Pulls resources from a OneTrust and syncs them to a Transcend instance. For now, it only supports retrieving OneTrust Assessments.
|
|
3032
1470
|
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js --removeIpAddresses=false
|
|
3037
|
-
```
|
|
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.
|
|
3038
1474
|
|
|
3039
|
-
|
|
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.
|
|
3040
1477
|
|
|
3041
|
-
|
|
3042
|
-
|
|
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
|
|
3043
1489
|
```
|
|
3044
1490
|
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
```sh
|
|
3048
|
-
yarn tr-build-xdi-sync-endpoint --auth=$TRANSCEND_API_KEY --xdiLocation=https://cdn.your-site.com/xdi.js --xdiAllowedCommands="ExtractIdentifiers:Simple"
|
|
3049
|
-
```
|
|
1491
|
+
<!-- COMMANDS_END -->
|
|
3050
1492
|
|
|
3051
1493
|
## Prompt Manager
|
|
3052
1494
|
|
|
@@ -3194,4 +1636,4 @@ export async function main(): Promise<void> {
|
|
|
3194
1636
|
|
|
3195
1637
|
## Proxy usage
|
|
3196
1638
|
|
|
3197
|
-
If you are trying to use the
|
|
1639
|
+
If you are trying to use the CLI inside a corporate firewall and need to send traffic through a proxy, you can do so via the `http_proxy` environment variable,with a command like `http_proxy=http://localhost:5051 transcend inventory pull --auth=$TRANSCEND_API_KEY`.
|