@iterable/cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COMMANDS.md +1574 -0
- package/LICENSE.md +21 -0
- package/README.md +194 -0
- package/dist/commands/campaigns.d.ts +3 -0
- package/dist/commands/campaigns.d.ts.map +1 -0
- package/dist/commands/campaigns.js +106 -0
- package/dist/commands/campaigns.js.map +1 -0
- package/dist/commands/catalogs.d.ts +3 -0
- package/dist/commands/catalogs.d.ts.map +1 -0
- package/dist/commands/catalogs.js +99 -0
- package/dist/commands/catalogs.js.map +1 -0
- package/dist/commands/events.d.ts +3 -0
- package/dist/commands/events.d.ts.map +1 -0
- package/dist/commands/events.js +33 -0
- package/dist/commands/events.js.map +1 -0
- package/dist/commands/experiments.d.ts +3 -0
- package/dist/commands/experiments.d.ts.map +1 -0
- package/dist/commands/experiments.js +33 -0
- package/dist/commands/experiments.js.map +1 -0
- package/dist/commands/export.d.ts +3 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +33 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/journeys.d.ts +3 -0
- package/dist/commands/journeys.d.ts.map +1 -0
- package/dist/commands/journeys.js +21 -0
- package/dist/commands/journeys.js.map +1 -0
- package/dist/commands/lists.d.ts +3 -0
- package/dist/commands/lists.d.ts.map +1 -0
- package/dist/commands/lists.js +64 -0
- package/dist/commands/lists.js.map +1 -0
- package/dist/commands/messaging.d.ts +3 -0
- package/dist/commands/messaging.d.ts.map +1 -0
- package/dist/commands/messaging.js +120 -0
- package/dist/commands/messaging.js.map +1 -0
- package/dist/commands/registry.d.ts +46 -0
- package/dist/commands/registry.d.ts.map +1 -0
- package/dist/commands/registry.js +42 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/commands/snippets.d.ts +3 -0
- package/dist/commands/snippets.d.ts.map +1 -0
- package/dist/commands/snippets.js +42 -0
- package/dist/commands/snippets.js.map +1 -0
- package/dist/commands/subscriptions.d.ts +3 -0
- package/dist/commands/subscriptions.d.ts.map +1 -0
- package/dist/commands/subscriptions.js +40 -0
- package/dist/commands/subscriptions.js.map +1 -0
- package/dist/commands/templates.d.ts +3 -0
- package/dist/commands/templates.d.ts.map +1 -0
- package/dist/commands/templates.js +160 -0
- package/dist/commands/templates.js.map +1 -0
- package/dist/commands/transforms.d.ts +3 -0
- package/dist/commands/transforms.d.ts.map +1 -0
- package/dist/commands/transforms.js +24 -0
- package/dist/commands/transforms.js.map +1 -0
- package/dist/commands/types.d.ts +40 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +15 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands/users.d.ts +3 -0
- package/dist/commands/users.d.ts.map +1 -0
- package/dist/commands/users.js +103 -0
- package/dist/commands/users.js.map +1 -0
- package/dist/commands/webhooks.d.ts +3 -0
- package/dist/commands/webhooks.d.ts.map +1 -0
- package/dist/commands/webhooks.js +21 -0
- package/dist/commands/webhooks.js.map +1 -0
- package/dist/config.d.ts +14 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +60 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +11 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +21 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +107 -0
- package/dist/index.js.map +1 -0
- package/dist/key-manager.d.ts +280 -0
- package/dist/key-manager.d.ts.map +1 -0
- package/dist/key-manager.js +989 -0
- package/dist/key-manager.js.map +1 -0
- package/dist/keys-cli.d.ts +3 -0
- package/dist/keys-cli.d.ts.map +1 -0
- package/dist/keys-cli.js +396 -0
- package/dist/keys-cli.js.map +1 -0
- package/dist/output.d.ts +5 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +104 -0
- package/dist/output.js.map +1 -0
- package/dist/parser.d.ts +26 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +281 -0
- package/dist/parser.js.map +1 -0
- package/dist/router.d.ts +20 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +137 -0
- package/dist/router.js.map +1 -0
- package/dist/utils/cli-env.d.ts +10 -0
- package/dist/utils/cli-env.d.ts.map +1 -0
- package/dist/utils/cli-env.js +21 -0
- package/dist/utils/cli-env.js.map +1 -0
- package/dist/utils/command-info.d.ts +7 -0
- package/dist/utils/command-info.d.ts.map +1 -0
- package/dist/utils/command-info.js +36 -0
- package/dist/utils/command-info.js.map +1 -0
- package/dist/utils/detect-background.d.ts +3 -0
- package/dist/utils/detect-background.d.ts.map +1 -0
- package/dist/utils/detect-background.js +33 -0
- package/dist/utils/detect-background.js.map +1 -0
- package/dist/utils/endpoint-prompt.d.ts +5 -0
- package/dist/utils/endpoint-prompt.d.ts.map +1 -0
- package/dist/utils/endpoint-prompt.js +98 -0
- package/dist/utils/endpoint-prompt.js.map +1 -0
- package/dist/utils/formatting.d.ts +3 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +5 -0
- package/dist/utils/formatting.js.map +1 -0
- package/dist/utils/password-prompt.d.ts +3 -0
- package/dist/utils/password-prompt.d.ts.map +1 -0
- package/dist/utils/password-prompt.js +21 -0
- package/dist/utils/password-prompt.js.map +1 -0
- package/dist/utils/sanitize.d.ts +13 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/sanitize.js +23 -0
- package/dist/utils/sanitize.js.map +1 -0
- package/dist/utils/theme.d.ts +11 -0
- package/dist/utils/theme.d.ts.map +1 -0
- package/dist/utils/theme.js +14 -0
- package/dist/utils/theme.js.map +1 -0
- package/dist/utils/ui.d.ts +22 -0
- package/dist/utils/ui.d.ts.map +1 -0
- package/dist/utils/ui.js +107 -0
- package/dist/utils/ui.js.map +1 -0
- package/dist/utils/url.d.ts +13 -0
- package/dist/utils/url.d.ts.map +1 -0
- package/dist/utils/url.js +20 -0
- package/dist/utils/url.js.map +1 -0
- package/package.json +90 -0
package/COMMANDS.md
ADDED
|
@@ -0,0 +1,1574 @@
|
|
|
1
|
+
# Available Commands (109 commands)
|
|
2
|
+
|
|
3
|
+
All commands follow the pattern: `iterable <category> <command> [options]`
|
|
4
|
+
|
|
5
|
+
Every command also accepts `--json <data>` for raw JSON input and `--help` for usage details.
|
|
6
|
+
|
|
7
|
+
## campaigns (14 commands)
|
|
8
|
+
|
|
9
|
+
### campaigns abort
|
|
10
|
+
|
|
11
|
+
Abort a campaign that is currently running
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
iterable campaigns abort <campaignId>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
| Option | Type | Required | Description |
|
|
18
|
+
|--------|------|----------|-------------|
|
|
19
|
+
| `campaignId` | number | **yes** | Campaign ID to abort |
|
|
20
|
+
|
|
21
|
+
### campaigns activate
|
|
22
|
+
|
|
23
|
+
Activate a triggered campaign
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
iterable campaigns activate <campaignId>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
| Option | Type | Required | Description |
|
|
30
|
+
|--------|------|----------|-------------|
|
|
31
|
+
| `campaignId` | number | **yes** | Triggered campaign ID to activate |
|
|
32
|
+
|
|
33
|
+
### campaigns archive
|
|
34
|
+
|
|
35
|
+
Archive one or more campaigns. Scheduled/recurring campaigns will be cancelled, running campaigns will be aborted.
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
iterable campaigns archive <campaignIds...>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
| Option | Type | Required | Description |
|
|
42
|
+
|--------|------|----------|-------------|
|
|
43
|
+
| `campaignIds` | number[] | **yes** | Campaign IDs to archive |
|
|
44
|
+
|
|
45
|
+
### campaigns cancel
|
|
46
|
+
|
|
47
|
+
Cancel a scheduled or recurring campaign
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
iterable campaigns cancel <campaignId>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
| Option | Type | Required | Description |
|
|
54
|
+
|--------|------|----------|-------------|
|
|
55
|
+
| `campaignId` | number | **yes** | Campaign ID to cancel |
|
|
56
|
+
|
|
57
|
+
### campaigns create-blast
|
|
58
|
+
|
|
59
|
+
Create a new blast campaign from an existing template. The campaign is created without being scheduled. Use schedule to schedule it for delivery.
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
iterable campaigns create-blast --listIds <listIds...> --name <name> --templateId <templateId>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
| Option | Type | Required | Description |
|
|
66
|
+
|--------|------|----------|-------------|
|
|
67
|
+
| `--listIds` | number[] | **yes** | Array of list IDs to which the campaign should be sent |
|
|
68
|
+
| `--name` | string | **yes** | The name to use in Iterable for the new campaign |
|
|
69
|
+
| `--templateId` | number | **yes** | The ID of a template to associate with the new campaign |
|
|
70
|
+
| `--campaignDataFields` | json | no | A JSON object containing campaign-level data fields that are available as merge parameters (for example, {{field}}) during message rendering. These fields are available in templates, data feed URLs, and all other contexts where merge parameters are supported. Campaign-level fields are overridden by user and event data fields of the same name. |
|
|
71
|
+
| `--suppressionListIds` | number[] | no | Array of suppression list IDs |
|
|
72
|
+
|
|
73
|
+
### campaigns create-triggered
|
|
74
|
+
|
|
75
|
+
Create a new triggered campaign from an existing template. The campaign is created in Ready state and must be activated before it can send.
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
iterable campaigns create-triggered --name <name> --templateId <templateId>
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
| Option | Type | Required | Description |
|
|
82
|
+
|--------|------|----------|-------------|
|
|
83
|
+
| `--name` | string | **yes** | The name to use in Iterable for the new campaign |
|
|
84
|
+
| `--templateId` | number | **yes** | The ID of a template to associate with the new campaign |
|
|
85
|
+
| `--campaignDataFields` | json | no | A JSON object containing campaign-level data fields that are available as merge parameters (for example, {{field}}) during message rendering. These fields are available in templates, data feed URLs, and all other contexts where merge parameters are supported. Campaign-level fields are overridden by user and event data fields of the same name. |
|
|
86
|
+
|
|
87
|
+
### campaigns deactivate
|
|
88
|
+
|
|
89
|
+
Deactivate a triggered campaign
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
iterable campaigns deactivate <campaignId>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
| Option | Type | Required | Description |
|
|
96
|
+
|--------|------|----------|-------------|
|
|
97
|
+
| `campaignId` | number | **yes** | Triggered campaign ID to deactivate |
|
|
98
|
+
|
|
99
|
+
### campaigns get
|
|
100
|
+
|
|
101
|
+
Get detailed information about a specific campaign
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
iterable campaigns get <id>
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
| Option | Type | Required | Description |
|
|
108
|
+
|--------|------|----------|-------------|
|
|
109
|
+
| `id` | number | **yes** | Campaign ID to retrieve |
|
|
110
|
+
|
|
111
|
+
### campaigns get-children
|
|
112
|
+
|
|
113
|
+
Get child campaigns generated by a recurring campaign
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
iterable campaigns get-children <id>
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
| Option | Type | Required | Description |
|
|
120
|
+
|--------|------|----------|-------------|
|
|
121
|
+
| `id` | number | **yes** | ID of the recurring campaign |
|
|
122
|
+
| `--order` | `asc` \| `desc` | no | Sort direction (asc or desc) |
|
|
123
|
+
| `--page` | number | no | Page number (starting at 1) |
|
|
124
|
+
| `--pageSize` | number | no | Number of results to return per page (defaults to 20, maximum of 1000) |
|
|
125
|
+
| `--sort` | string | no | Field to sort by |
|
|
126
|
+
|
|
127
|
+
### campaigns get-metrics
|
|
128
|
+
|
|
129
|
+
Get campaign performance metrics
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
iterable campaigns get-metrics <campaignId>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
| Option | Type | Required | Description |
|
|
136
|
+
|--------|------|----------|-------------|
|
|
137
|
+
| `campaignId` | number | **yes** | Campaign ID to get metrics for |
|
|
138
|
+
| `--endDateTime` | string | no | End date for metrics (YYYY-MM-DD HH:MM:SS format) |
|
|
139
|
+
| `--startDateTime` | string | no | Start date for metrics (YYYY-MM-DD HH:MM:SS format) |
|
|
140
|
+
|
|
141
|
+
### campaigns list
|
|
142
|
+
|
|
143
|
+
Retrieve campaigns
|
|
144
|
+
|
|
145
|
+
| Option | Type | Required | Description |
|
|
146
|
+
|--------|------|----------|-------------|
|
|
147
|
+
| `--order` | `asc` \| `desc` | no | Sort direction (asc or desc) |
|
|
148
|
+
| `--page` | number | no | Page number (starting at 1) |
|
|
149
|
+
| `--pageSize` | number | no | Number of results to return per page (defaults to 20, maximum of 1000) |
|
|
150
|
+
| `--sort` | string | no | Field to sort by |
|
|
151
|
+
|
|
152
|
+
### campaigns schedule
|
|
153
|
+
|
|
154
|
+
Schedule an existing campaign to be sent at a specific time
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
iterable campaigns schedule <campaignId> --sendAt <sendAt>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
| Option | Type | Required | Description |
|
|
161
|
+
|--------|------|----------|-------------|
|
|
162
|
+
| `campaignId` | number | **yes** | Campaign ID to schedule |
|
|
163
|
+
| `--sendAt` | string | **yes** | When to send (ISO-8601 format, e.g. 2024-12-20T10:15:30Z) |
|
|
164
|
+
| `--recipientTimeZone` | json | no | Recipient timezone configuration (JSON: {defaultTimeZone, startTimeZone}) |
|
|
165
|
+
|
|
166
|
+
### campaigns send
|
|
167
|
+
|
|
168
|
+
Send an existing scheduled campaign immediately
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
iterable campaigns send <campaignId>
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
| Option | Type | Required | Description |
|
|
175
|
+
|--------|------|----------|-------------|
|
|
176
|
+
| `campaignId` | number | **yes** | Campaign ID to send now |
|
|
177
|
+
|
|
178
|
+
### campaigns trigger
|
|
179
|
+
|
|
180
|
+
Trigger a campaign to send to specified lists
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
iterable campaigns trigger --campaignId <campaignId> --listIds <listIds...>
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
| Option | Type | Required | Description |
|
|
187
|
+
|--------|------|----------|-------------|
|
|
188
|
+
| `--campaignId` | number | **yes** | Campaign ID to trigger |
|
|
189
|
+
| `--listIds` | number[] | **yes** | A non-empty array of list IDs to send to |
|
|
190
|
+
| `--allowRepeatMarketingSends` | boolean | no | Allow repeat marketing sends? Defaults to true. |
|
|
191
|
+
| `--dataFields` | json | no | Fields to merge into handlebars context |
|
|
192
|
+
| `--suppressionListIds` | number[] | no | Lists to suppress |
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
## catalogs (12 commands)
|
|
196
|
+
|
|
197
|
+
### catalogs bulk-delete-items
|
|
198
|
+
|
|
199
|
+
Bulk delete catalog items by their IDs
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
iterable catalogs bulk-delete-items --catalogName <catalogName> --itemIds <itemIds...>
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
| Option | Type | Required | Description |
|
|
206
|
+
|--------|------|----------|-------------|
|
|
207
|
+
| `--catalogName` | string | **yes** | Name of the catalog |
|
|
208
|
+
| `--itemIds` | string[] | **yes** | Array of item IDs to delete |
|
|
209
|
+
|
|
210
|
+
### catalogs create
|
|
211
|
+
|
|
212
|
+
Create a new catalog
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
iterable catalogs create <catalogName>
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
| Option | Type | Required | Description |
|
|
219
|
+
|--------|------|----------|-------------|
|
|
220
|
+
| `catalogName` | string | **yes** | Catalog name (alphanumeric and dashes only, max 255 chars) |
|
|
221
|
+
|
|
222
|
+
### catalogs delete
|
|
223
|
+
|
|
224
|
+
Delete a catalog
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
iterable catalogs delete <catalogName>
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
| Option | Type | Required | Description |
|
|
231
|
+
|--------|------|----------|-------------|
|
|
232
|
+
| `catalogName` | string | **yes** | Name of the catalog to delete |
|
|
233
|
+
|
|
234
|
+
### catalogs delete-item
|
|
235
|
+
|
|
236
|
+
Delete a specific catalog item by ID
|
|
237
|
+
|
|
238
|
+
```
|
|
239
|
+
iterable catalogs delete-item --catalogName <catalogName> --itemId <itemId>
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
| Option | Type | Required | Description |
|
|
243
|
+
|--------|------|----------|-------------|
|
|
244
|
+
| `--catalogName` | string | **yes** | Name of the catalog |
|
|
245
|
+
| `--itemId` | string | **yes** | ID of the catalog item to delete |
|
|
246
|
+
|
|
247
|
+
### catalogs get-field-mappings
|
|
248
|
+
|
|
249
|
+
Get field mappings and data types for a catalog
|
|
250
|
+
|
|
251
|
+
```
|
|
252
|
+
iterable catalogs get-field-mappings <catalogName>
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
| Option | Type | Required | Description |
|
|
256
|
+
|--------|------|----------|-------------|
|
|
257
|
+
| `catalogName` | string | **yes** | Name of the catalog |
|
|
258
|
+
|
|
259
|
+
### catalogs get-item
|
|
260
|
+
|
|
261
|
+
Get a specific catalog item by ID
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
iterable catalogs get-item --catalogName <catalogName> --itemId <itemId>
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
| Option | Type | Required | Description |
|
|
268
|
+
|--------|------|----------|-------------|
|
|
269
|
+
| `--catalogName` | string | **yes** | Name of the catalog |
|
|
270
|
+
| `--itemId` | string | **yes** | ID of the catalog item to retrieve |
|
|
271
|
+
|
|
272
|
+
### catalogs get-items
|
|
273
|
+
|
|
274
|
+
Get items from a catalog with optional pagination and sorting
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
iterable catalogs get-items <catalogName>
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
| Option | Type | Required | Description |
|
|
281
|
+
|--------|------|----------|-------------|
|
|
282
|
+
| `catalogName` | string | **yes** | Name of the catalog |
|
|
283
|
+
| `--orderBy` | string | no | Field by which results should be ordered |
|
|
284
|
+
| `--page` | number | no | Page number (starting at 1) |
|
|
285
|
+
| `--pageSize` | number | no | Number of results per page (defaults to 10, max 1000) |
|
|
286
|
+
| `--sortAscending` | boolean | no | Sort results by ascending (defaults to false) |
|
|
287
|
+
|
|
288
|
+
### catalogs list
|
|
289
|
+
|
|
290
|
+
Get list of all catalogs with optional pagination
|
|
291
|
+
|
|
292
|
+
| Option | Type | Required | Description |
|
|
293
|
+
|--------|------|----------|-------------|
|
|
294
|
+
| `--page` | number | no | Page number (starting at 1) |
|
|
295
|
+
| `--pageSize` | number | no | Number of results per page (max 100) |
|
|
296
|
+
|
|
297
|
+
### catalogs partial-update-item
|
|
298
|
+
|
|
299
|
+
Partial update (PATCH) a catalog item - updates only specified fields
|
|
300
|
+
|
|
301
|
+
```
|
|
302
|
+
iterable catalogs partial-update-item --catalogName <catalogName> --itemId <itemId> --update <json>
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
| Option | Type | Required | Description |
|
|
306
|
+
|--------|------|----------|-------------|
|
|
307
|
+
| `--catalogName` | string | **yes** | Name of the catalog |
|
|
308
|
+
| `--itemId` | string | **yes** | ID of the catalog item |
|
|
309
|
+
| `--update` | json | **yes** | Fields to update |
|
|
310
|
+
|
|
311
|
+
### catalogs replace-item
|
|
312
|
+
|
|
313
|
+
Replace (PUT) a catalog item - replaces the entire item with new value
|
|
314
|
+
|
|
315
|
+
```
|
|
316
|
+
iterable catalogs replace-item --catalogName <catalogName> --itemId <itemId> --value <json>
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
| Option | Type | Required | Description |
|
|
320
|
+
|--------|------|----------|-------------|
|
|
321
|
+
| `--catalogName` | string | **yes** | Name of the catalog |
|
|
322
|
+
| `--itemId` | string | **yes** | ID of the catalog item |
|
|
323
|
+
| `--value` | json | **yes** | New value for the item |
|
|
324
|
+
|
|
325
|
+
### catalogs update-field-mappings
|
|
326
|
+
|
|
327
|
+
Update catalog field mappings (data types)
|
|
328
|
+
|
|
329
|
+
```
|
|
330
|
+
iterable catalogs update-field-mappings <catalogName> --mappingsUpdates <mappingsUpdates...>
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
| Option | Type | Required | Description |
|
|
334
|
+
|--------|------|----------|-------------|
|
|
335
|
+
| `catalogName` | string | **yes** | Name of the catalog |
|
|
336
|
+
| `--mappingsUpdates` | string[] | **yes** | Field mappings to update |
|
|
337
|
+
|
|
338
|
+
### catalogs update-items
|
|
339
|
+
|
|
340
|
+
Update catalog items
|
|
341
|
+
|
|
342
|
+
```
|
|
343
|
+
iterable catalogs update-items <catalogName> --items <items...>
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
| Option | Type | Required | Description |
|
|
347
|
+
|--------|------|----------|-------------|
|
|
348
|
+
| `catalogName` | string | **yes** | Name of the catalog |
|
|
349
|
+
| `--items` | json[] | **yes** | Catalog items to update |
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
## events (4 commands)
|
|
353
|
+
|
|
354
|
+
### events get-by-email
|
|
355
|
+
|
|
356
|
+
Get event history for a user by email address
|
|
357
|
+
|
|
358
|
+
```
|
|
359
|
+
iterable events get-by-email <email>
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
| Option | Type | Required | Description |
|
|
363
|
+
|--------|------|----------|-------------|
|
|
364
|
+
| `email` | string | **yes** | User email address |
|
|
365
|
+
| `--limit` | number | no | Maximum number of events to return |
|
|
366
|
+
|
|
367
|
+
### events get-by-userid
|
|
368
|
+
|
|
369
|
+
Get event history for a user by user ID
|
|
370
|
+
|
|
371
|
+
```
|
|
372
|
+
iterable events get-by-userid <userId>
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
| Option | Type | Required | Description |
|
|
376
|
+
|--------|------|----------|-------------|
|
|
377
|
+
| `userId` | string | **yes** | User ID to get events for |
|
|
378
|
+
| `--limit` | number | no | Maximum number of events to return (default: 20) |
|
|
379
|
+
|
|
380
|
+
### events track
|
|
381
|
+
|
|
382
|
+
Track a custom event for a user
|
|
383
|
+
|
|
384
|
+
```
|
|
385
|
+
iterable events track <eventName>
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
| Option | Type | Required | Description |
|
|
389
|
+
|--------|------|----------|-------------|
|
|
390
|
+
| `eventName` | string | **yes** | |
|
|
391
|
+
| `--campaignId` | number | no | |
|
|
392
|
+
| `--createdAt` | number | no | |
|
|
393
|
+
| `--createNewFields` | boolean | no | |
|
|
394
|
+
| `--dataFields` | json | no | |
|
|
395
|
+
| `--email` | string | no | |
|
|
396
|
+
| `--id` | string | no | |
|
|
397
|
+
| `--templateId` | number | no | |
|
|
398
|
+
| `--userId` | string | no | |
|
|
399
|
+
|
|
400
|
+
### events track-bulk
|
|
401
|
+
|
|
402
|
+
Track multiple events in a single request for better performance
|
|
403
|
+
|
|
404
|
+
```
|
|
405
|
+
iterable events track-bulk --events <events...>
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
| Option | Type | Required | Description |
|
|
409
|
+
|--------|------|----------|-------------|
|
|
410
|
+
| `--events` | json[] | **yes** | |
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
## experiments (4 commands)
|
|
414
|
+
|
|
415
|
+
### experiments get
|
|
416
|
+
|
|
417
|
+
Get detailed information about a specific experiment by ID
|
|
418
|
+
|
|
419
|
+
```
|
|
420
|
+
iterable experiments get <experimentId>
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
| Option | Type | Required | Description |
|
|
424
|
+
|--------|------|----------|-------------|
|
|
425
|
+
| `experimentId` | number | **yes** | Experiment ID |
|
|
426
|
+
|
|
427
|
+
### experiments get-metrics
|
|
428
|
+
|
|
429
|
+
Get experiment metrics for A/B testing analysis
|
|
430
|
+
|
|
431
|
+
| Option | Type | Required | Description |
|
|
432
|
+
|--------|------|----------|-------------|
|
|
433
|
+
| `--campaignId` | number[] | no | Campaign IDs whose experiments to export (can specify multiple) |
|
|
434
|
+
| `--endDateTime` | string | no | Export ending at (ISO 8601 format) |
|
|
435
|
+
| `--experimentId` | number[] | no | Experiment IDs to export (can specify multiple) |
|
|
436
|
+
| `--startDateTime` | string | no | Export starting from (ISO 8601 format) |
|
|
437
|
+
|
|
438
|
+
### experiments get-variants
|
|
439
|
+
|
|
440
|
+
Get variant content for an experiment, including subject lines, preheaders, HTML source, and plain text
|
|
441
|
+
|
|
442
|
+
```
|
|
443
|
+
iterable experiments get-variants <experimentId>
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
| Option | Type | Required | Description |
|
|
447
|
+
|--------|------|----------|-------------|
|
|
448
|
+
| `experimentId` | number | **yes** | Experiment ID |
|
|
449
|
+
|
|
450
|
+
### experiments list
|
|
451
|
+
|
|
452
|
+
List experiments with optional filtering by campaign, status, and date range
|
|
453
|
+
|
|
454
|
+
| Option | Type | Required | Description |
|
|
455
|
+
|--------|------|----------|-------------|
|
|
456
|
+
| `--campaignId` | number | no | Filter by campaign ID |
|
|
457
|
+
| `--endDate` | string | no | Filter experiments ending before this date (ISO 8601 format) |
|
|
458
|
+
| `--limit` | number | no | Number of results to return (max 1000, default 20) |
|
|
459
|
+
| `--offset` | number | no | Number of results to skip (default 0) |
|
|
460
|
+
| `--startDate` | string | no | Filter experiments starting from this date (ISO 8601 format) |
|
|
461
|
+
| `--status` | `draft` \| `running` \| `finished` | no | Filter by status (draft, running, finished) |
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
## export (4 commands)
|
|
465
|
+
|
|
466
|
+
### export cancel
|
|
467
|
+
|
|
468
|
+
Cancel a queued or running export job
|
|
469
|
+
|
|
470
|
+
```
|
|
471
|
+
iterable export cancel <jobId>
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
| Option | Type | Required | Description |
|
|
475
|
+
|--------|------|----------|-------------|
|
|
476
|
+
| `jobId` | number | **yes** | The ID of the export job to cancel (returned from startExportJob) |
|
|
477
|
+
|
|
478
|
+
### export get-files
|
|
479
|
+
|
|
480
|
+
Get the job status and download URLs for files from a completed export job
|
|
481
|
+
|
|
482
|
+
```
|
|
483
|
+
iterable export get-files <jobId>
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
| Option | Type | Required | Description |
|
|
487
|
+
|--------|------|----------|-------------|
|
|
488
|
+
| `jobId` | number | **yes** | The ID of the export job (returned from startExportJob) |
|
|
489
|
+
| `--startAfter` | string | no | Skip file names up to and including this value. Use for paginating over the files in the export (e.g., 'file-1679086247925.csv') |
|
|
490
|
+
|
|
491
|
+
### export list-jobs
|
|
492
|
+
|
|
493
|
+
Get a list of recent export jobs for the current project
|
|
494
|
+
|
|
495
|
+
| Option | Type | Required | Description |
|
|
496
|
+
|--------|------|----------|-------------|
|
|
497
|
+
| `--jobState` | string | no | Filter results to only include jobs in the specified state (enqueued, queued, running, completed, failed, cancelled, cancelling) |
|
|
498
|
+
|
|
499
|
+
### export start
|
|
500
|
+
|
|
501
|
+
Start a data export job that processes as a background job. Use get-files to check status and obtain download links.
|
|
502
|
+
|
|
503
|
+
```
|
|
504
|
+
iterable export start --dataTypeName <dataTypeName> --outputFormat <outputFormat>
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
| Option | Type | Required | Description |
|
|
508
|
+
|--------|------|----------|-------------|
|
|
509
|
+
| `--dataTypeName` | `emailSend` \| `emailOpen` \| `emailClick` \| `hostedUnsubscribeClick` \| `emailComplaint` \| `emailBounce` \| `emailSendSkip` \| `pushSend` \| `pushOpen` \| `pushUninstall` \| `pushBounce` \| `pushSendSkip` \| `inAppSend` \| `inAppOpen` \| `inAppClick` \| `inAppClose` \| `inAppDelete` \| `inAppDelivery` \| `inAppSendSkip` \| `inAppRecall` \| `inboxSession` \| `inboxMessageImpression` \| `smsSend` \| `smsBounce` \| `smsClick` \| `smsReceived` \| `smsSendSkip` \| `webPushSend` \| `webPushClick` \| `webPushSendSkip` \| `rcsSend` \| `rcsSendSkip` \| `emailSubscribe` \| `emailUnSubscribe` \| `purchase` \| `customEvent` \| `user` \| `smsUsageInfo` \| `embeddedSend` \| `embeddedSendSkip` \| `embeddedClick` \| `embeddedReceived` \| `embeddedImpression` \| `embeddedSession` \| `anonSession` \| `journeyExit` \| `whatsAppBounce` \| `whatsAppClick` \| `whatsAppReceived` \| `whatsAppSeen` \| `whatsAppSend` \| `whatsAppSendSkip` \| `whatsAppUsageInfo` | **yes** | Data type name to export (e.g., 'user' for user data, 'emailSend' for email send events) |
|
|
510
|
+
| `--outputFormat` | `text/csv` \| `application/x-json-stream` | **yes** | Output format |
|
|
511
|
+
| `--campaignId` | number | no | Only export data from this campaign |
|
|
512
|
+
| `--delimiter` | string | no | CSV file delimiter |
|
|
513
|
+
| `--endDateTime` | string | no | Export events occurring or users updated before date and time exclusive |
|
|
514
|
+
| `--omitFields` | string | no | Fields to omit from the export (comma separated) |
|
|
515
|
+
| `--onlyFields` | string | no | Only include these fields in the export (comma separated) |
|
|
516
|
+
| `--startDateTime` | string | no | Export events occurring or users updated after date and time inclusive |
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
## journeys (2 commands)
|
|
520
|
+
|
|
521
|
+
### journeys list
|
|
522
|
+
|
|
523
|
+
Get journeys (workflows) with optional pagination and state filtering
|
|
524
|
+
|
|
525
|
+
| Option | Type | Required | Description |
|
|
526
|
+
|--------|------|----------|-------------|
|
|
527
|
+
| `--order` | `asc` \| `desc` | no | Sort direction (asc or desc) |
|
|
528
|
+
| `--page` | number | no | Page number (starting at 1) |
|
|
529
|
+
| `--pageSize` | number | no | Number of results per page (max 50) |
|
|
530
|
+
| `--sort` | string | no | Field to sort by |
|
|
531
|
+
| `--state` | string[] | no | Filter by journey state (e.g., ['Archived']) |
|
|
532
|
+
|
|
533
|
+
### journeys trigger
|
|
534
|
+
|
|
535
|
+
Trigger a journey (workflow) for a user
|
|
536
|
+
|
|
537
|
+
```
|
|
538
|
+
iterable journeys trigger <workflowId>
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
| Option | Type | Required | Description |
|
|
542
|
+
|--------|------|----------|-------------|
|
|
543
|
+
| `workflowId` | number | **yes** | Journey/workflow ID to trigger |
|
|
544
|
+
| `--dataFields` | json | no | Data fields for the journey |
|
|
545
|
+
| `--email` | string | no | User email address |
|
|
546
|
+
| `--listId` | number | no | List ID to trigger for (alternative to individual user) |
|
|
547
|
+
| `--userId` | string | no | User ID (alternative to email) |
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
## lists (8 commands)
|
|
551
|
+
|
|
552
|
+
### lists create
|
|
553
|
+
|
|
554
|
+
Create a new user list
|
|
555
|
+
|
|
556
|
+
```
|
|
557
|
+
iterable lists create <name>
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
| Option | Type | Required | Description |
|
|
561
|
+
|--------|------|----------|-------------|
|
|
562
|
+
| `name` | string | **yes** | Name of the list to create |
|
|
563
|
+
| `--description` | string | no | Description of the list |
|
|
564
|
+
|
|
565
|
+
### lists delete
|
|
566
|
+
|
|
567
|
+
Delete a user list
|
|
568
|
+
|
|
569
|
+
```
|
|
570
|
+
iterable lists delete <listId>
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
| Option | Type | Required | Description |
|
|
574
|
+
|--------|------|----------|-------------|
|
|
575
|
+
| `listId` | number | **yes** | ID of the list to delete |
|
|
576
|
+
|
|
577
|
+
### lists get-preview-users
|
|
578
|
+
|
|
579
|
+
Preview users in a list (up to 5000 users)
|
|
580
|
+
|
|
581
|
+
```
|
|
582
|
+
iterable lists get-preview-users <listId>
|
|
583
|
+
```
|
|
584
|
+
|
|
585
|
+
| Option | Type | Required | Description |
|
|
586
|
+
|--------|------|----------|-------------|
|
|
587
|
+
| `listId` | number | **yes** | List ID to preview users from |
|
|
588
|
+
| `--preferUserId` | boolean | no | Return userId instead of email when both exist |
|
|
589
|
+
| `--size` | number | no | Number of users to return (max 5000, default 1000) |
|
|
590
|
+
|
|
591
|
+
### lists get-size
|
|
592
|
+
|
|
593
|
+
Get the count of users in a specific list
|
|
594
|
+
|
|
595
|
+
```
|
|
596
|
+
iterable lists get-size <listId>
|
|
597
|
+
```
|
|
598
|
+
|
|
599
|
+
| Option | Type | Required | Description |
|
|
600
|
+
|--------|------|----------|-------------|
|
|
601
|
+
| `listId` | number | **yes** | List ID to get size for |
|
|
602
|
+
|
|
603
|
+
### lists get-users
|
|
604
|
+
|
|
605
|
+
Get users in a specific list
|
|
606
|
+
|
|
607
|
+
```
|
|
608
|
+
iterable lists get-users <listId>
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
| Option | Type | Required | Description |
|
|
612
|
+
|--------|------|----------|-------------|
|
|
613
|
+
| `listId` | number | **yes** | List ID to get users from |
|
|
614
|
+
| `--maxResults` | number | no | Maximum number of users to return |
|
|
615
|
+
|
|
616
|
+
### lists list
|
|
617
|
+
|
|
618
|
+
Retrieve user lists
|
|
619
|
+
|
|
620
|
+
### lists subscribe
|
|
621
|
+
|
|
622
|
+
Subscribe users to a specific list
|
|
623
|
+
|
|
624
|
+
```
|
|
625
|
+
iterable lists subscribe <listId> --subscribers <subscribers...>
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
| Option | Type | Required | Description |
|
|
629
|
+
|--------|------|----------|-------------|
|
|
630
|
+
| `listId` | number | **yes** | ID of the list to subscribe to |
|
|
631
|
+
| `--subscribers` | json[] | **yes** | Array of users to subscribe |
|
|
632
|
+
| `--updateExistingUsersOnly` | boolean | no | Skip operation for unknown userIds/emails when true |
|
|
633
|
+
|
|
634
|
+
### lists unsubscribe
|
|
635
|
+
|
|
636
|
+
Unsubscribe users from a specific list
|
|
637
|
+
|
|
638
|
+
```
|
|
639
|
+
iterable lists unsubscribe <listId> --subscribers <subscribers...>
|
|
640
|
+
```
|
|
641
|
+
|
|
642
|
+
| Option | Type | Required | Description |
|
|
643
|
+
|--------|------|----------|-------------|
|
|
644
|
+
| `listId` | number | **yes** | List ID to unsubscribe from |
|
|
645
|
+
| `--subscribers` | json[] | **yes** | Users to unsubscribe |
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
## messaging (16 commands)
|
|
649
|
+
|
|
650
|
+
### messaging cancel-email
|
|
651
|
+
|
|
652
|
+
Cancel scheduled email for specific user
|
|
653
|
+
|
|
654
|
+
| Option | Type | Required | Description |
|
|
655
|
+
|--------|------|----------|-------------|
|
|
656
|
+
| `--campaignId` | number | no | Campaign ID to cancel |
|
|
657
|
+
| `--email` | string | no | Email address that identifies a user profile |
|
|
658
|
+
| `--scheduledMessageId` | number | no | Scheduled message ID to cancel |
|
|
659
|
+
| `--userId` | string | no | User ID that identifies a user profile |
|
|
660
|
+
|
|
661
|
+
### messaging cancel-in-app
|
|
662
|
+
|
|
663
|
+
Cancel scheduled in-app message for specific user
|
|
664
|
+
|
|
665
|
+
| Option | Type | Required | Description |
|
|
666
|
+
|--------|------|----------|-------------|
|
|
667
|
+
| `--campaignId` | number | no | Campaign ID to cancel |
|
|
668
|
+
| `--email` | string | no | Email address that identifies a user profile |
|
|
669
|
+
| `--scheduledMessageId` | number | no | Scheduled message ID to cancel |
|
|
670
|
+
| `--userId` | string | no | User ID that identifies a user profile |
|
|
671
|
+
|
|
672
|
+
### messaging cancel-push
|
|
673
|
+
|
|
674
|
+
Cancel scheduled push notification for specific user
|
|
675
|
+
|
|
676
|
+
| Option | Type | Required | Description |
|
|
677
|
+
|--------|------|----------|-------------|
|
|
678
|
+
| `--campaignId` | number | no | Campaign ID to cancel |
|
|
679
|
+
| `--email` | string | no | Email address that identifies a user profile |
|
|
680
|
+
| `--scheduledMessageId` | number | no | Scheduled message ID to cancel |
|
|
681
|
+
| `--userId` | string | no | User ID that identifies a user profile |
|
|
682
|
+
|
|
683
|
+
### messaging cancel-sms
|
|
684
|
+
|
|
685
|
+
Cancel scheduled SMS message for specific user
|
|
686
|
+
|
|
687
|
+
| Option | Type | Required | Description |
|
|
688
|
+
|--------|------|----------|-------------|
|
|
689
|
+
| `--campaignId` | number | no | Campaign ID to cancel |
|
|
690
|
+
| `--email` | string | no | Email address that identifies a user profile |
|
|
691
|
+
| `--scheduledMessageId` | number | no | Scheduled message ID to cancel |
|
|
692
|
+
| `--userId` | string | no | User ID that identifies a user profile |
|
|
693
|
+
|
|
694
|
+
### messaging cancel-web-push
|
|
695
|
+
|
|
696
|
+
Cancel scheduled web push notification for specific user
|
|
697
|
+
|
|
698
|
+
| Option | Type | Required | Description |
|
|
699
|
+
|--------|------|----------|-------------|
|
|
700
|
+
| `--campaignId` | number | no | Campaign ID to cancel |
|
|
701
|
+
| `--email` | string | no | Email address that identifies a user profile |
|
|
702
|
+
| `--scheduledMessageId` | number | no | Scheduled message ID to cancel |
|
|
703
|
+
| `--userId` | string | no | User ID that identifies a user profile |
|
|
704
|
+
|
|
705
|
+
### messaging cancel-whatsapp
|
|
706
|
+
|
|
707
|
+
Cancel scheduled WhatsApp message for specific user
|
|
708
|
+
|
|
709
|
+
| Option | Type | Required | Description |
|
|
710
|
+
|--------|------|----------|-------------|
|
|
711
|
+
| `--campaignId` | number | no | Campaign ID to cancel |
|
|
712
|
+
| `--email` | string | no | Email address that identifies a user profile |
|
|
713
|
+
| `--scheduledMessageId` | number | no | Scheduled message ID to cancel |
|
|
714
|
+
| `--userId` | string | no | User ID that identifies a user profile |
|
|
715
|
+
|
|
716
|
+
### messaging get-channels
|
|
717
|
+
|
|
718
|
+
Get all available communication channels (email, SMS, push, etc.)
|
|
719
|
+
|
|
720
|
+
### messaging get-embedded-messages
|
|
721
|
+
|
|
722
|
+
Get embedded messages for a user, grouped by placement ID
|
|
723
|
+
|
|
724
|
+
| Option | Type | Required | Description |
|
|
725
|
+
|--------|------|----------|-------------|
|
|
726
|
+
| `--currentMessageIds` | string[] | no | IDs of embedded messages already retrieved |
|
|
727
|
+
| `--email` | string | no | User email address |
|
|
728
|
+
| `--packageName` | string | no | Package name of the app |
|
|
729
|
+
| `--placementIds` | number[] | no | Placements to include in response |
|
|
730
|
+
| `--platform` | string | no | Platform: iOS, Android, or Web (case-sensitive) |
|
|
731
|
+
| `--sdkVersion` | string | no | Iterable SDK version (e.g., 6.5.0) |
|
|
732
|
+
| `--userId` | string | no | User ID (alternative to email) |
|
|
733
|
+
|
|
734
|
+
### messaging get-in-app-messages
|
|
735
|
+
|
|
736
|
+
Get in-app messages for a user
|
|
737
|
+
|
|
738
|
+
| Option | Type | Required | Description |
|
|
739
|
+
|--------|------|----------|-------------|
|
|
740
|
+
| `--count` | number | no | Number of messages to retrieve |
|
|
741
|
+
| `--email` | string | no | User email address |
|
|
742
|
+
| `--platform` | `iOS` \| `Android` \| `Web` | no | Platform filter |
|
|
743
|
+
| `--userId` | string | no | User ID (alternative to email) |
|
|
744
|
+
|
|
745
|
+
### messaging get-message-types
|
|
746
|
+
|
|
747
|
+
Get all message types within the project for use in templates
|
|
748
|
+
|
|
749
|
+
### messaging send-email
|
|
750
|
+
|
|
751
|
+
Send email to user
|
|
752
|
+
|
|
753
|
+
```
|
|
754
|
+
iterable messaging send-email <campaignId>
|
|
755
|
+
```
|
|
756
|
+
|
|
757
|
+
| Option | Type | Required | Description |
|
|
758
|
+
|--------|------|----------|-------------|
|
|
759
|
+
| `campaignId` | number | **yes** | Campaign ID to send |
|
|
760
|
+
| `--allowRepeatMarketingSends` | boolean | no | Allow repeat marketing sends |
|
|
761
|
+
| `--dataFields` | json | no | Data fields for email personalization |
|
|
762
|
+
| `--metadata` | json | no | Additional metadata |
|
|
763
|
+
| `--recipientEmail` | string | no | Recipient email address |
|
|
764
|
+
| `--recipientUserId` | string | no | Recipient user ID (alternative to email) |
|
|
765
|
+
| `--sendAt` | string | no | When to send the email (YYYY-MM-DD HH:MM:SS format) |
|
|
766
|
+
|
|
767
|
+
### messaging send-in-app
|
|
768
|
+
|
|
769
|
+
Send in-app message to user
|
|
770
|
+
|
|
771
|
+
```
|
|
772
|
+
iterable messaging send-in-app <campaignId>
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
| Option | Type | Required | Description |
|
|
776
|
+
|--------|------|----------|-------------|
|
|
777
|
+
| `campaignId` | number | **yes** | Campaign ID to send |
|
|
778
|
+
| `--allowRepeatMarketingSends` | boolean | no | Allow repeat marketing sends |
|
|
779
|
+
| `--dataFields` | json | no | Data fields for personalization |
|
|
780
|
+
| `--metadata` | json | no | Additional metadata |
|
|
781
|
+
| `--recipientEmail` | string | no | Recipient email address |
|
|
782
|
+
| `--recipientUserId` | string | no | Recipient user ID (alternative to email) |
|
|
783
|
+
| `--sendAt` | string | no | When to send (YYYY-MM-DD HH:MM:SS format) |
|
|
784
|
+
|
|
785
|
+
### messaging send-push
|
|
786
|
+
|
|
787
|
+
Send push notification to user
|
|
788
|
+
|
|
789
|
+
```
|
|
790
|
+
iterable messaging send-push <campaignId>
|
|
791
|
+
```
|
|
792
|
+
|
|
793
|
+
| Option | Type | Required | Description |
|
|
794
|
+
|--------|------|----------|-------------|
|
|
795
|
+
| `campaignId` | number | **yes** | Campaign ID to send |
|
|
796
|
+
| `--allowRepeatMarketingSends` | boolean | no | Allow repeat marketing sends |
|
|
797
|
+
| `--dataFields` | json | no | Data fields for personalization |
|
|
798
|
+
| `--metadata` | json | no | Additional metadata |
|
|
799
|
+
| `--recipientEmail` | string | no | Recipient email address |
|
|
800
|
+
| `--recipientUserId` | string | no | Recipient user ID |
|
|
801
|
+
| `--sendAt` | string | no | When to send (YYYY-MM-DD HH:MM:SS format) |
|
|
802
|
+
|
|
803
|
+
### messaging send-sms
|
|
804
|
+
|
|
805
|
+
Send SMS message to user
|
|
806
|
+
|
|
807
|
+
```
|
|
808
|
+
iterable messaging send-sms <campaignId>
|
|
809
|
+
```
|
|
810
|
+
|
|
811
|
+
| Option | Type | Required | Description |
|
|
812
|
+
|--------|------|----------|-------------|
|
|
813
|
+
| `campaignId` | number | **yes** | Campaign ID to send |
|
|
814
|
+
| `--allowRepeatMarketingSends` | boolean | no | Allow repeat marketing sends |
|
|
815
|
+
| `--dataFields` | json | no | Data fields for personalization |
|
|
816
|
+
| `--metadata` | json | no | Additional metadata |
|
|
817
|
+
| `--recipientEmail` | string | no | Recipient email address |
|
|
818
|
+
| `--recipientPhone` | string | no | Recipient phone number |
|
|
819
|
+
| `--recipientUserId` | string | no | Recipient user ID |
|
|
820
|
+
| `--sendAt` | string | no | When to send (YYYY-MM-DD HH:MM:SS format) |
|
|
821
|
+
|
|
822
|
+
### messaging send-web-push
|
|
823
|
+
|
|
824
|
+
Send web push notification to user
|
|
825
|
+
|
|
826
|
+
```
|
|
827
|
+
iterable messaging send-web-push <campaignId>
|
|
828
|
+
```
|
|
829
|
+
|
|
830
|
+
| Option | Type | Required | Description |
|
|
831
|
+
|--------|------|----------|-------------|
|
|
832
|
+
| `campaignId` | number | **yes** | Campaign ID to send |
|
|
833
|
+
| `--allowRepeatMarketingSends` | boolean | no | Allow repeat marketing sends |
|
|
834
|
+
| `--dataFields` | json | no | Data fields for personalization |
|
|
835
|
+
| `--metadata` | json | no | Additional metadata |
|
|
836
|
+
| `--recipientEmail` | string | no | Recipient email address |
|
|
837
|
+
| `--recipientUserId` | string | no | Recipient user ID |
|
|
838
|
+
| `--sendAt` | string | no | When to send (YYYY-MM-DD HH:MM:SS format) |
|
|
839
|
+
|
|
840
|
+
### messaging send-whatsapp
|
|
841
|
+
|
|
842
|
+
Send WhatsApp message to user
|
|
843
|
+
|
|
844
|
+
```
|
|
845
|
+
iterable messaging send-whatsapp <campaignId>
|
|
846
|
+
```
|
|
847
|
+
|
|
848
|
+
| Option | Type | Required | Description |
|
|
849
|
+
|--------|------|----------|-------------|
|
|
850
|
+
| `campaignId` | number | **yes** | Campaign ID to send |
|
|
851
|
+
| `--allowRepeatMarketingSends` | boolean | no | Allow repeat marketing sends |
|
|
852
|
+
| `--dataFields` | json | no | Data fields for personalization |
|
|
853
|
+
| `--metadata` | json | no | Additional metadata |
|
|
854
|
+
| `--recipientEmail` | string | no | Recipient email address |
|
|
855
|
+
| `--recipientPhone` | string | no | Recipient phone number |
|
|
856
|
+
| `--recipientUserId` | string | no | Recipient user ID |
|
|
857
|
+
| `--sendAt` | string | no | When to send (YYYY-MM-DD HH:MM:SS format) |
|
|
858
|
+
|
|
859
|
+
|
|
860
|
+
## snippets (5 commands)
|
|
861
|
+
|
|
862
|
+
### snippets create
|
|
863
|
+
|
|
864
|
+
Create a new snippet with Handlebars templating support
|
|
865
|
+
|
|
866
|
+
```
|
|
867
|
+
iterable snippets create --content <content> --name <name>
|
|
868
|
+
```
|
|
869
|
+
|
|
870
|
+
| Option | Type | Required | Description |
|
|
871
|
+
|--------|------|----------|-------------|
|
|
872
|
+
| `--content` | string | **yes** | Content of the snippet. Handlebars must be valid. Disallowed content: script tags with JS sources or non-JSON content, inline JS event handlers (e.g., onload="..."), and javascript: in href or src attributes (anchors and iframes). |
|
|
873
|
+
| `--name` | string | **yes** | Name of the snippet. Must be unique within the project, up to 100 characters (a-z, A-Z, 0-9, hyphens (-), underscores (_), and spaces). Cannot be changed after snippet is created. |
|
|
874
|
+
| `--createdByUserId` | string | no | User ID (email) of the creator. If not provided, defaults to the project creator. |
|
|
875
|
+
| `--description` | string | no | Description of the snippet |
|
|
876
|
+
| `--variables` | string[] | no | A list of variable names used in the content with a Handlebars expression such as {{#if (eq myVariable "someValue")}}. Variable names are case-sensitive and should be simple identifiers (letters, numbers, underscores). To learn more about using variables in Snippets, see Customizing Snippets with Variables. |
|
|
877
|
+
|
|
878
|
+
### snippets delete
|
|
879
|
+
|
|
880
|
+
Delete a snippet by ID (numeric) or name (string)
|
|
881
|
+
|
|
882
|
+
```
|
|
883
|
+
iterable snippets delete <identifier>
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
| Option | Type | Required | Description |
|
|
887
|
+
|--------|------|----------|-------------|
|
|
888
|
+
| `identifier` | string | **yes** | Snippet ID (numeric) or name (string). Numeric identifiers are treated as IDs, string identifiers as names |
|
|
889
|
+
|
|
890
|
+
### snippets get
|
|
891
|
+
|
|
892
|
+
Get a snippet by ID (numeric) or name (string)
|
|
893
|
+
|
|
894
|
+
```
|
|
895
|
+
iterable snippets get <identifier>
|
|
896
|
+
```
|
|
897
|
+
|
|
898
|
+
| Option | Type | Required | Description |
|
|
899
|
+
|--------|------|----------|-------------|
|
|
900
|
+
| `identifier` | string | **yes** | Snippet ID (numeric) or name (string). Numeric identifiers are treated as IDs, string identifiers as names |
|
|
901
|
+
|
|
902
|
+
### snippets list
|
|
903
|
+
|
|
904
|
+
Get all snippets for the current project
|
|
905
|
+
|
|
906
|
+
### snippets update
|
|
907
|
+
|
|
908
|
+
Update a snippet by ID (numeric) or name (string)
|
|
909
|
+
|
|
910
|
+
```
|
|
911
|
+
iterable snippets update --content <content> --identifier <identifier>
|
|
912
|
+
```
|
|
913
|
+
|
|
914
|
+
| Option | Type | Required | Description |
|
|
915
|
+
|--------|------|----------|-------------|
|
|
916
|
+
| `--content` | string | **yes** | Content of the snippet. Handlebars must be valid. Disallowed content: script tags with JS sources or non-JSON content, inline JS event handlers (e.g., onload="..."), and javascript: in href or src attributes (anchors and iframes). |
|
|
917
|
+
| `--identifier` | string | **yes** | Snippet ID (numeric) or name (string). Numeric identifiers are treated as IDs, string identifiers as names |
|
|
918
|
+
| `--createdByUserId` | string | no | User ID (email) of the updater. If not provided, defaults to the project creator. |
|
|
919
|
+
| `--description` | string | no | Description of the snippet |
|
|
920
|
+
| `--variables` | string[] | no | List of variable names used in the content with a Handlebars expression such as {{myField}}. Variable names are case-sensitive and should be simple identifiers (letters, numbers, underscores). To learn more about using Handlebars in Snippets, see Customizing Snippets with Variables. |
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
## subscriptions (5 commands)
|
|
924
|
+
|
|
925
|
+
### subscriptions bulk-update
|
|
926
|
+
|
|
927
|
+
Subscribe or unsubscribe multiple users to/from a subscription group
|
|
928
|
+
|
|
929
|
+
```
|
|
930
|
+
iterable subscriptions bulk-update --action <action> --subscriptionGroup <subscriptionGroup> --subscriptionGroupId <subscriptionGroupId>
|
|
931
|
+
```
|
|
932
|
+
|
|
933
|
+
| Option | Type | Required | Description |
|
|
934
|
+
|--------|------|----------|-------------|
|
|
935
|
+
| `--action` | `subscribe` \| `unsubscribe` | **yes** | Action to perform: subscribe or unsubscribe |
|
|
936
|
+
| `--subscriptionGroup` | `emailList` \| `messageType` \| `messageChannel` | **yes** | Type of subscription group |
|
|
937
|
+
| `--subscriptionGroupId` | number | **yes** | Subscription Group Id |
|
|
938
|
+
| `--users` | string[] | no | Users to subscribe/unsubscribe, identified by email |
|
|
939
|
+
| `--usersByUserId` | string[] | no | Users to subscribe/unsubscribe, identified by userId |
|
|
940
|
+
|
|
941
|
+
### subscriptions subscribe-by-email
|
|
942
|
+
|
|
943
|
+
Subscribe a user to a subscription group by email
|
|
944
|
+
|
|
945
|
+
```
|
|
946
|
+
iterable subscriptions subscribe-by-email --subscriptionGroup <subscriptionGroup> --subscriptionGroupId <subscriptionGroupId> --userEmail <userEmail>
|
|
947
|
+
```
|
|
948
|
+
|
|
949
|
+
| Option | Type | Required | Description |
|
|
950
|
+
|--------|------|----------|-------------|
|
|
951
|
+
| `--subscriptionGroup` | `emailList` \| `messageType` \| `messageChannel` | **yes** | Type of subscription group |
|
|
952
|
+
| `--subscriptionGroupId` | number | **yes** | Subscription Group Id |
|
|
953
|
+
| `--userEmail` | string | **yes** | User's email address |
|
|
954
|
+
|
|
955
|
+
### subscriptions subscribe-by-userid
|
|
956
|
+
|
|
957
|
+
Subscribe a user to a subscription group by userId
|
|
958
|
+
|
|
959
|
+
```
|
|
960
|
+
iterable subscriptions subscribe-by-userid --subscriptionGroup <subscriptionGroup> --subscriptionGroupId <subscriptionGroupId> --userId <userId>
|
|
961
|
+
```
|
|
962
|
+
|
|
963
|
+
| Option | Type | Required | Description |
|
|
964
|
+
|--------|------|----------|-------------|
|
|
965
|
+
| `--subscriptionGroup` | `emailList` \| `messageType` \| `messageChannel` | **yes** | Type of subscription group |
|
|
966
|
+
| `--subscriptionGroupId` | number | **yes** | Subscription Group Id |
|
|
967
|
+
| `--userId` | string | **yes** | User's userId |
|
|
968
|
+
|
|
969
|
+
### subscriptions unsubscribe-by-email
|
|
970
|
+
|
|
971
|
+
Unsubscribe a user from a subscription group by email
|
|
972
|
+
|
|
973
|
+
```
|
|
974
|
+
iterable subscriptions unsubscribe-by-email --subscriptionGroup <subscriptionGroup> --subscriptionGroupId <subscriptionGroupId> --userEmail <userEmail>
|
|
975
|
+
```
|
|
976
|
+
|
|
977
|
+
| Option | Type | Required | Description |
|
|
978
|
+
|--------|------|----------|-------------|
|
|
979
|
+
| `--subscriptionGroup` | `emailList` \| `messageType` \| `messageChannel` | **yes** | Type of subscription group |
|
|
980
|
+
| `--subscriptionGroupId` | number | **yes** | Subscription Group Id |
|
|
981
|
+
| `--userEmail` | string | **yes** | User's email address |
|
|
982
|
+
|
|
983
|
+
### subscriptions unsubscribe-by-userid
|
|
984
|
+
|
|
985
|
+
Unsubscribe a user from a subscription group by userId
|
|
986
|
+
|
|
987
|
+
```
|
|
988
|
+
iterable subscriptions unsubscribe-by-userid --subscriptionGroup <subscriptionGroup> --subscriptionGroupId <subscriptionGroupId> --userId <userId>
|
|
989
|
+
```
|
|
990
|
+
|
|
991
|
+
| Option | Type | Required | Description |
|
|
992
|
+
|--------|------|----------|-------------|
|
|
993
|
+
| `--subscriptionGroup` | `emailList` \| `messageType` \| `messageChannel` | **yes** | Type of subscription group |
|
|
994
|
+
| `--subscriptionGroupId` | number | **yes** | Subscription Group Id |
|
|
995
|
+
| `--userId` | string | **yes** | User's userId |
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
## templates (21 commands)
|
|
999
|
+
|
|
1000
|
+
### templates delete
|
|
1001
|
+
|
|
1002
|
+
Delete one or more templates by ID
|
|
1003
|
+
|
|
1004
|
+
```
|
|
1005
|
+
iterable templates delete <ids...>
|
|
1006
|
+
```
|
|
1007
|
+
|
|
1008
|
+
| Option | Type | Required | Description |
|
|
1009
|
+
|--------|------|----------|-------------|
|
|
1010
|
+
| `ids` | number[] | **yes** | IDs of templates to delete |
|
|
1011
|
+
|
|
1012
|
+
### templates get-by-client-id
|
|
1013
|
+
|
|
1014
|
+
Get template by client template ID
|
|
1015
|
+
|
|
1016
|
+
```
|
|
1017
|
+
iterable templates get-by-client-id <clientTemplateId>
|
|
1018
|
+
```
|
|
1019
|
+
|
|
1020
|
+
| Option | Type | Required | Description |
|
|
1021
|
+
|--------|------|----------|-------------|
|
|
1022
|
+
| `clientTemplateId` | string | **yes** | Client template ID to look up template by |
|
|
1023
|
+
|
|
1024
|
+
### templates get-email
|
|
1025
|
+
|
|
1026
|
+
Get details for specific email template by ID
|
|
1027
|
+
|
|
1028
|
+
```
|
|
1029
|
+
iterable templates get-email <templateId>
|
|
1030
|
+
```
|
|
1031
|
+
|
|
1032
|
+
| Option | Type | Required | Description |
|
|
1033
|
+
|--------|------|----------|-------------|
|
|
1034
|
+
| `templateId` | number | **yes** | Template ID to retrieve |
|
|
1035
|
+
| `--locale` | string | no | Locale of content to get |
|
|
1036
|
+
|
|
1037
|
+
### templates get-inapp
|
|
1038
|
+
|
|
1039
|
+
Get details for specific in-app message template by ID
|
|
1040
|
+
|
|
1041
|
+
```
|
|
1042
|
+
iterable templates get-inapp <templateId>
|
|
1043
|
+
```
|
|
1044
|
+
|
|
1045
|
+
| Option | Type | Required | Description |
|
|
1046
|
+
|--------|------|----------|-------------|
|
|
1047
|
+
| `templateId` | number | **yes** | Template ID to retrieve |
|
|
1048
|
+
| `--locale` | string | no | Locale of content to get |
|
|
1049
|
+
|
|
1050
|
+
### templates get-push
|
|
1051
|
+
|
|
1052
|
+
Get details for specific push notification template by ID
|
|
1053
|
+
|
|
1054
|
+
```
|
|
1055
|
+
iterable templates get-push <templateId>
|
|
1056
|
+
```
|
|
1057
|
+
|
|
1058
|
+
| Option | Type | Required | Description |
|
|
1059
|
+
|--------|------|----------|-------------|
|
|
1060
|
+
| `templateId` | number | **yes** | Template ID to retrieve |
|
|
1061
|
+
| `--locale` | string | no | Locale of content to get |
|
|
1062
|
+
|
|
1063
|
+
### templates get-sms
|
|
1064
|
+
|
|
1065
|
+
Get details for specific SMS template by ID
|
|
1066
|
+
|
|
1067
|
+
```
|
|
1068
|
+
iterable templates get-sms <templateId>
|
|
1069
|
+
```
|
|
1070
|
+
|
|
1071
|
+
| Option | Type | Required | Description |
|
|
1072
|
+
|--------|------|----------|-------------|
|
|
1073
|
+
| `templateId` | number | **yes** | Template ID to retrieve |
|
|
1074
|
+
| `--locale` | string | no | Locale of content to get |
|
|
1075
|
+
|
|
1076
|
+
### templates list
|
|
1077
|
+
|
|
1078
|
+
Retrieve templates
|
|
1079
|
+
|
|
1080
|
+
| Option | Type | Required | Description |
|
|
1081
|
+
|--------|------|----------|-------------|
|
|
1082
|
+
| `--endDateTime` | string | no | Get templates created before this date time (yyyy-MM-dd HH:mm:ss [ZZ]) |
|
|
1083
|
+
| `--messageMedium` | `Email` \| `Push` \| `InApp` \| `SMS` | no | Filter by message medium |
|
|
1084
|
+
| `--order` | `asc` \| `desc` | no | Sort direction (asc or desc) |
|
|
1085
|
+
| `--page` | number | no | Page number (starting at 1) |
|
|
1086
|
+
| `--pageSize` | number | no | Number of results to return per page (defaults to 20, maximum of 1000) |
|
|
1087
|
+
| `--sort` | string | no | Field to sort by |
|
|
1088
|
+
| `--startDateTime` | string | no | Get templates created at or after this date time (yyyy-MM-dd HH:mm:ss [ZZ]) |
|
|
1089
|
+
| `--templateType` | `Base` \| `Blast` \| `Triggered` \| `Workflow` | no | Filter by template type |
|
|
1090
|
+
|
|
1091
|
+
### templates preview-email
|
|
1092
|
+
|
|
1093
|
+
Preview email template with custom data. Returns fully rendered HTML.
|
|
1094
|
+
|
|
1095
|
+
```
|
|
1096
|
+
iterable templates preview-email <templateId>
|
|
1097
|
+
```
|
|
1098
|
+
|
|
1099
|
+
| Option | Type | Required | Description |
|
|
1100
|
+
|--------|------|----------|-------------|
|
|
1101
|
+
| `templateId` | number | **yes** | Template ID |
|
|
1102
|
+
| `--data` | json | no | Data to use for template rendering (JSON: {dataFields, dataFeed, fetchDataFeeds}) |
|
|
1103
|
+
| `--locale` | string | no | Locale of content to get |
|
|
1104
|
+
|
|
1105
|
+
### templates preview-inapp
|
|
1106
|
+
|
|
1107
|
+
Preview in-app message template with custom data. Returns fully rendered HTML.
|
|
1108
|
+
|
|
1109
|
+
```
|
|
1110
|
+
iterable templates preview-inapp <templateId>
|
|
1111
|
+
```
|
|
1112
|
+
|
|
1113
|
+
| Option | Type | Required | Description |
|
|
1114
|
+
|--------|------|----------|-------------|
|
|
1115
|
+
| `templateId` | number | **yes** | Template ID |
|
|
1116
|
+
| `--data` | json | no | Data to use for template rendering (JSON: {dataFields, dataFeed, fetchDataFeeds}) |
|
|
1117
|
+
| `--locale` | string | no | Locale of content to get |
|
|
1118
|
+
|
|
1119
|
+
### templates proof-email
|
|
1120
|
+
|
|
1121
|
+
Send a proof of an email template to a specific user
|
|
1122
|
+
|
|
1123
|
+
```
|
|
1124
|
+
iterable templates proof-email <templateId>
|
|
1125
|
+
```
|
|
1126
|
+
|
|
1127
|
+
| Option | Type | Required | Description |
|
|
1128
|
+
|--------|------|----------|-------------|
|
|
1129
|
+
| `templateId` | number | **yes** | Template ID to send proof for |
|
|
1130
|
+
| `--dataFields` | json | no | Fields to merge into template for proof |
|
|
1131
|
+
| `--locale` | string | no | Locale for the proof message. If provided, must be a valid locale for the project. If not provided, falls back to the user's locale, then to the project's default locale. |
|
|
1132
|
+
| `--recipientEmail` | string | no | An email address that identifies a user profile in Iterable. Provide a recipientEmail or a recipientUserId (but not both), depending on how your project identifies users. |
|
|
1133
|
+
| `--recipientUserId` | string | no | A user ID that identifies a user profile in Iterable. Provide a recipientEmail or a recipientUserId (but not both), depending on how your project identifies users. |
|
|
1134
|
+
|
|
1135
|
+
### templates proof-inapp
|
|
1136
|
+
|
|
1137
|
+
Send a proof of an in-app message template to a specific user
|
|
1138
|
+
|
|
1139
|
+
```
|
|
1140
|
+
iterable templates proof-inapp <templateId>
|
|
1141
|
+
```
|
|
1142
|
+
|
|
1143
|
+
| Option | Type | Required | Description |
|
|
1144
|
+
|--------|------|----------|-------------|
|
|
1145
|
+
| `templateId` | number | **yes** | Template ID to send proof for |
|
|
1146
|
+
| `--dataFields` | json | no | Fields to merge into template for proof |
|
|
1147
|
+
| `--locale` | string | no | Locale for the proof message. If provided, must be a valid locale for the project. If not provided, falls back to the user's locale, then to the project's default locale. |
|
|
1148
|
+
| `--recipientEmail` | string | no | An email address that identifies a user profile in Iterable. Provide a recipientEmail or a recipientUserId (but not both), depending on how your project identifies users. |
|
|
1149
|
+
| `--recipientUserId` | string | no | A user ID that identifies a user profile in Iterable. Provide a recipientEmail or a recipientUserId (but not both), depending on how your project identifies users. |
|
|
1150
|
+
|
|
1151
|
+
### templates proof-push
|
|
1152
|
+
|
|
1153
|
+
Send a proof of a push notification template to a specific user
|
|
1154
|
+
|
|
1155
|
+
```
|
|
1156
|
+
iterable templates proof-push <templateId>
|
|
1157
|
+
```
|
|
1158
|
+
|
|
1159
|
+
| Option | Type | Required | Description |
|
|
1160
|
+
|--------|------|----------|-------------|
|
|
1161
|
+
| `templateId` | number | **yes** | Template ID to send proof for |
|
|
1162
|
+
| `--dataFields` | json | no | Fields to merge into template for proof |
|
|
1163
|
+
| `--locale` | string | no | Locale for the proof message. If provided, must be a valid locale for the project. If not provided, falls back to the user's locale, then to the project's default locale. |
|
|
1164
|
+
| `--recipientEmail` | string | no | An email address that identifies a user profile in Iterable. Provide a recipientEmail or a recipientUserId (but not both), depending on how your project identifies users. |
|
|
1165
|
+
| `--recipientUserId` | string | no | A user ID that identifies a user profile in Iterable. Provide a recipientEmail or a recipientUserId (but not both), depending on how your project identifies users. |
|
|
1166
|
+
|
|
1167
|
+
### templates proof-sms
|
|
1168
|
+
|
|
1169
|
+
Send a proof of an SMS template to a specific user
|
|
1170
|
+
|
|
1171
|
+
```
|
|
1172
|
+
iterable templates proof-sms <templateId>
|
|
1173
|
+
```
|
|
1174
|
+
|
|
1175
|
+
| Option | Type | Required | Description |
|
|
1176
|
+
|--------|------|----------|-------------|
|
|
1177
|
+
| `templateId` | number | **yes** | Template ID to send proof for |
|
|
1178
|
+
| `--dataFields` | json | no | Fields to merge into template for proof |
|
|
1179
|
+
| `--locale` | string | no | Locale for the proof message. If provided, must be a valid locale for the project. If not provided, falls back to the user's locale, then to the project's default locale. |
|
|
1180
|
+
| `--recipientEmail` | string | no | An email address that identifies a user profile in Iterable. Provide a recipientEmail or a recipientUserId (but not both), depending on how your project identifies users. |
|
|
1181
|
+
| `--recipientUserId` | string | no | A user ID that identifies a user profile in Iterable. Provide a recipientEmail or a recipientUserId (but not both), depending on how your project identifies users. |
|
|
1182
|
+
|
|
1183
|
+
### templates update-email
|
|
1184
|
+
|
|
1185
|
+
Update existing email template by templateId
|
|
1186
|
+
|
|
1187
|
+
```
|
|
1188
|
+
iterable templates update-email <templateId>
|
|
1189
|
+
```
|
|
1190
|
+
|
|
1191
|
+
| Option | Type | Required | Description |
|
|
1192
|
+
|--------|------|----------|-------------|
|
|
1193
|
+
| `templateId` | number | **yes** | Template ID to update |
|
|
1194
|
+
| `--campaignDataFields` | json | no | Campaign-level data fields available as {{field}} merge parameters during message rendering. These fields are overridden by user and event data fields of the same name. |
|
|
1195
|
+
| `--campaignId` | number | no | Associated campaign ID |
|
|
1196
|
+
| `--creatorUserId` | string | no | Creator user ID |
|
|
1197
|
+
| `--fromEmail` | string | no | From email |
|
|
1198
|
+
| `--fromName` | string | no | From name |
|
|
1199
|
+
| `--html` | string | no | HTML content |
|
|
1200
|
+
| `--locale` | string | no | Template locale |
|
|
1201
|
+
| `--messageTypeId` | number | no | Message type ID |
|
|
1202
|
+
| `--name` | string | no | Template name |
|
|
1203
|
+
| `--plainText` | string | no | Plain text content |
|
|
1204
|
+
| `--subject` | string | no | Email subject |
|
|
1205
|
+
|
|
1206
|
+
### templates update-inapp
|
|
1207
|
+
|
|
1208
|
+
Update existing in-app message template by templateId
|
|
1209
|
+
|
|
1210
|
+
```
|
|
1211
|
+
iterable templates update-inapp <templateId>
|
|
1212
|
+
```
|
|
1213
|
+
|
|
1214
|
+
| Option | Type | Required | Description |
|
|
1215
|
+
|--------|------|----------|-------------|
|
|
1216
|
+
| `templateId` | number | **yes** | Template ID to update |
|
|
1217
|
+
| `--campaignDataFields` | json | no | Campaign-level data fields available as {{field}} merge parameters during message rendering. These fields are overridden by user and event data fields of the same name. |
|
|
1218
|
+
| `--campaignId` | number | no | Associated campaign ID |
|
|
1219
|
+
| `--creatorUserId` | string | no | Creator user ID |
|
|
1220
|
+
| `--html` | string | no | HTML content of the in-app notification |
|
|
1221
|
+
| `--locale` | string | no | Template locale |
|
|
1222
|
+
| `--messageTypeId` | number | no | Message type ID |
|
|
1223
|
+
| `--name` | string | no | Template name |
|
|
1224
|
+
|
|
1225
|
+
### templates update-push
|
|
1226
|
+
|
|
1227
|
+
Update existing push notification template by templateId
|
|
1228
|
+
|
|
1229
|
+
```
|
|
1230
|
+
iterable templates update-push <templateId>
|
|
1231
|
+
```
|
|
1232
|
+
|
|
1233
|
+
| Option | Type | Required | Description |
|
|
1234
|
+
|--------|------|----------|-------------|
|
|
1235
|
+
| `templateId` | number | **yes** | Template ID to update |
|
|
1236
|
+
| `--badge` | number | no | Badge count |
|
|
1237
|
+
| `--campaignDataFields` | json | no | Campaign-level data fields available as {{field}} merge parameters during message rendering. These fields are overridden by user and event data fields of the same name. |
|
|
1238
|
+
| `--campaignId` | number | no | Associated campaign ID |
|
|
1239
|
+
| `--creatorUserId` | string | no | Creator user ID |
|
|
1240
|
+
| `--locale` | string | no | Template locale |
|
|
1241
|
+
| `--message` | string | no | Push notification message |
|
|
1242
|
+
| `--messageTypeId` | number | no | Message type ID |
|
|
1243
|
+
| `--name` | string | no | Template name |
|
|
1244
|
+
| `--payload` | json | no | Custom payload |
|
|
1245
|
+
| `--sound` | string | no | Sound file |
|
|
1246
|
+
| `--title` | string | no | Push notification title |
|
|
1247
|
+
|
|
1248
|
+
### templates update-sms
|
|
1249
|
+
|
|
1250
|
+
Update existing SMS template by templateId
|
|
1251
|
+
|
|
1252
|
+
```
|
|
1253
|
+
iterable templates update-sms <templateId>
|
|
1254
|
+
```
|
|
1255
|
+
|
|
1256
|
+
| Option | Type | Required | Description |
|
|
1257
|
+
|--------|------|----------|-------------|
|
|
1258
|
+
| `templateId` | number | **yes** | Template ID to update |
|
|
1259
|
+
| `--campaignDataFields` | json | no | Campaign-level data fields available as {{field}} merge parameters during message rendering. These fields are overridden by user and event data fields of the same name. |
|
|
1260
|
+
| `--campaignId` | number | no | Associated campaign ID |
|
|
1261
|
+
| `--creatorUserId` | string | no | Creator user ID |
|
|
1262
|
+
| `--locale` | string | no | Template locale |
|
|
1263
|
+
| `--message` | string | no | SMS message content |
|
|
1264
|
+
| `--messageTypeId` | number | no | Message type ID |
|
|
1265
|
+
| `--name` | string | no | Template name |
|
|
1266
|
+
|
|
1267
|
+
### templates upsert-email
|
|
1268
|
+
|
|
1269
|
+
Create or update email template. If a template with the specified clientTemplateId exists, it will be updated; otherwise, a new template will be created.
|
|
1270
|
+
|
|
1271
|
+
```
|
|
1272
|
+
iterable templates upsert-email <clientTemplateId>
|
|
1273
|
+
```
|
|
1274
|
+
|
|
1275
|
+
| Option | Type | Required | Description |
|
|
1276
|
+
|--------|------|----------|-------------|
|
|
1277
|
+
| `clientTemplateId` | string | **yes** | Client template ID |
|
|
1278
|
+
| `--campaignDataFields` | json | no | Campaign-level data fields available as {{field}} merge parameters during message rendering. These fields are overridden by user and event data fields of the same name. |
|
|
1279
|
+
| `--campaignId` | number | no | Associated campaign ID |
|
|
1280
|
+
| `--creatorUserId` | string | no | Creator user ID |
|
|
1281
|
+
| `--fromEmail` | string | no | From email |
|
|
1282
|
+
| `--fromName` | string | no | From name |
|
|
1283
|
+
| `--html` | string | no | HTML content |
|
|
1284
|
+
| `--locale` | string | no | Template locale |
|
|
1285
|
+
| `--messageTypeId` | number | no | Message type ID |
|
|
1286
|
+
| `--name` | string | no | Template name |
|
|
1287
|
+
| `--plainText` | string | no | Plain text content |
|
|
1288
|
+
| `--subject` | string | no | Email subject |
|
|
1289
|
+
|
|
1290
|
+
### templates upsert-inapp
|
|
1291
|
+
|
|
1292
|
+
Create or update in-app message template. If a template with the specified clientTemplateId exists, it will be updated; otherwise, a new template will be created.
|
|
1293
|
+
|
|
1294
|
+
```
|
|
1295
|
+
iterable templates upsert-inapp <clientTemplateId>
|
|
1296
|
+
```
|
|
1297
|
+
|
|
1298
|
+
| Option | Type | Required | Description |
|
|
1299
|
+
|--------|------|----------|-------------|
|
|
1300
|
+
| `clientTemplateId` | string | **yes** | Client template ID |
|
|
1301
|
+
| `--campaignDataFields` | json | no | Campaign-level data fields available as {{field}} merge parameters during message rendering. These fields are overridden by user and event data fields of the same name. |
|
|
1302
|
+
| `--campaignId` | number | no | Associated campaign ID |
|
|
1303
|
+
| `--creatorUserId` | string | no | Creator user ID |
|
|
1304
|
+
| `--html` | string | no | HTML content of the in-app notification |
|
|
1305
|
+
| `--locale` | string | no | Template locale |
|
|
1306
|
+
| `--messageTypeId` | number | no | Message type ID |
|
|
1307
|
+
| `--name` | string | no | Template name |
|
|
1308
|
+
|
|
1309
|
+
### templates upsert-push
|
|
1310
|
+
|
|
1311
|
+
Create or update push notification template. If a template with the specified clientTemplateId exists, it will be updated; otherwise, a new template will be created.
|
|
1312
|
+
|
|
1313
|
+
```
|
|
1314
|
+
iterable templates upsert-push <clientTemplateId>
|
|
1315
|
+
```
|
|
1316
|
+
|
|
1317
|
+
| Option | Type | Required | Description |
|
|
1318
|
+
|--------|------|----------|-------------|
|
|
1319
|
+
| `clientTemplateId` | string | **yes** | Client template ID |
|
|
1320
|
+
| `--badge` | number | no | Badge count |
|
|
1321
|
+
| `--campaignDataFields` | json | no | Campaign-level data fields available as {{field}} merge parameters during message rendering. These fields are overridden by user and event data fields of the same name. |
|
|
1322
|
+
| `--campaignId` | number | no | Associated campaign ID |
|
|
1323
|
+
| `--creatorUserId` | string | no | Creator user ID |
|
|
1324
|
+
| `--locale` | string | no | Template locale |
|
|
1325
|
+
| `--message` | string | no | Push notification message |
|
|
1326
|
+
| `--messageTypeId` | number | no | Message type ID |
|
|
1327
|
+
| `--name` | string | no | Template name |
|
|
1328
|
+
| `--payload` | json | no | Custom payload |
|
|
1329
|
+
| `--sound` | string | no | Sound file |
|
|
1330
|
+
| `--title` | string | no | Push notification title |
|
|
1331
|
+
|
|
1332
|
+
### templates upsert-sms
|
|
1333
|
+
|
|
1334
|
+
Create or update SMS template. If a template with the specified clientTemplateId exists, it will be updated; otherwise, a new template will be created.
|
|
1335
|
+
|
|
1336
|
+
```
|
|
1337
|
+
iterable templates upsert-sms <clientTemplateId>
|
|
1338
|
+
```
|
|
1339
|
+
|
|
1340
|
+
| Option | Type | Required | Description |
|
|
1341
|
+
|--------|------|----------|-------------|
|
|
1342
|
+
| `clientTemplateId` | string | **yes** | Client template ID |
|
|
1343
|
+
| `--campaignDataFields` | json | no | Campaign-level data fields available as {{field}} merge parameters during message rendering. These fields are overridden by user and event data fields of the same name. |
|
|
1344
|
+
| `--campaignId` | number | no | Associated campaign ID |
|
|
1345
|
+
| `--creatorUserId` | string | no | Creator user ID |
|
|
1346
|
+
| `--locale` | string | no | Template locale |
|
|
1347
|
+
| `--message` | string | no | SMS message content |
|
|
1348
|
+
| `--messageTypeId` | number | no | Message type ID |
|
|
1349
|
+
| `--name` | string | no | Template name |
|
|
1350
|
+
|
|
1351
|
+
|
|
1352
|
+
## users (12 commands)
|
|
1353
|
+
|
|
1354
|
+
### users bulk-update
|
|
1355
|
+
|
|
1356
|
+
Update multiple users at once
|
|
1357
|
+
|
|
1358
|
+
```
|
|
1359
|
+
iterable users bulk-update --users <users...>
|
|
1360
|
+
```
|
|
1361
|
+
|
|
1362
|
+
| Option | Type | Required | Description |
|
|
1363
|
+
|--------|------|----------|-------------|
|
|
1364
|
+
| `--users` | json[] | **yes** | Array of users to update |
|
|
1365
|
+
|
|
1366
|
+
### users delete *(alias)*
|
|
1367
|
+
|
|
1368
|
+
Delete a user by email or userId (auto-detected)
|
|
1369
|
+
|
|
1370
|
+
```
|
|
1371
|
+
iterable users delete <identifier>
|
|
1372
|
+
```
|
|
1373
|
+
|
|
1374
|
+
| Option | Type | Required | Description |
|
|
1375
|
+
|--------|------|----------|-------------|
|
|
1376
|
+
| `identifier` | string | **yes** | Email address or userId |
|
|
1377
|
+
|
|
1378
|
+
### users delete-by-email
|
|
1379
|
+
|
|
1380
|
+
Delete a user by email address (asynchronous)
|
|
1381
|
+
|
|
1382
|
+
```
|
|
1383
|
+
iterable users delete-by-email <email>
|
|
1384
|
+
```
|
|
1385
|
+
|
|
1386
|
+
| Option | Type | Required | Description |
|
|
1387
|
+
|--------|------|----------|-------------|
|
|
1388
|
+
| `email` | string | **yes** | Email address of the user to delete |
|
|
1389
|
+
|
|
1390
|
+
### users delete-by-userid
|
|
1391
|
+
|
|
1392
|
+
Delete a user by user ID (asynchronous, deletes all users with same userId)
|
|
1393
|
+
|
|
1394
|
+
```
|
|
1395
|
+
iterable users delete-by-userid <userId>
|
|
1396
|
+
```
|
|
1397
|
+
|
|
1398
|
+
| Option | Type | Required | Description |
|
|
1399
|
+
|--------|------|----------|-------------|
|
|
1400
|
+
| `userId` | string | **yes** | User ID of the user to delete |
|
|
1401
|
+
|
|
1402
|
+
### users get *(alias)*
|
|
1403
|
+
|
|
1404
|
+
Get a user by email or userId (auto-detected)
|
|
1405
|
+
|
|
1406
|
+
```
|
|
1407
|
+
iterable users get <identifier>
|
|
1408
|
+
```
|
|
1409
|
+
|
|
1410
|
+
| Option | Type | Required | Description |
|
|
1411
|
+
|--------|------|----------|-------------|
|
|
1412
|
+
| `identifier` | string | **yes** | Email address or userId |
|
|
1413
|
+
|
|
1414
|
+
### users get-by-email
|
|
1415
|
+
|
|
1416
|
+
Get user profile information by email address
|
|
1417
|
+
|
|
1418
|
+
```
|
|
1419
|
+
iterable users get-by-email <email>
|
|
1420
|
+
```
|
|
1421
|
+
|
|
1422
|
+
| Option | Type | Required | Description |
|
|
1423
|
+
|--------|------|----------|-------------|
|
|
1424
|
+
| `email` | string | **yes** | Email address of the user to retrieve |
|
|
1425
|
+
|
|
1426
|
+
### users get-by-userid
|
|
1427
|
+
|
|
1428
|
+
Get user profile information by user ID
|
|
1429
|
+
|
|
1430
|
+
```
|
|
1431
|
+
iterable users get-by-userid <userId>
|
|
1432
|
+
```
|
|
1433
|
+
|
|
1434
|
+
| Option | Type | Required | Description |
|
|
1435
|
+
|--------|------|----------|-------------|
|
|
1436
|
+
| `userId` | string | **yes** | User ID to retrieve |
|
|
1437
|
+
|
|
1438
|
+
### users get-fields
|
|
1439
|
+
|
|
1440
|
+
Get all user profile field definitions and their types
|
|
1441
|
+
|
|
1442
|
+
### users get-sent-messages
|
|
1443
|
+
|
|
1444
|
+
Get messages sent to a specific user with optional filtering
|
|
1445
|
+
|
|
1446
|
+
| Option | Type | Required | Description |
|
|
1447
|
+
|--------|------|----------|-------------|
|
|
1448
|
+
| `--campaignIds` | number[] | no | Only include messages from these campaigns |
|
|
1449
|
+
| `--email` | string | no | User email address |
|
|
1450
|
+
| `--endDateTime` | string | no | End date time (yyyy-MM-dd HH:mm:ss ZZ) |
|
|
1451
|
+
| `--excludeBlastCampaigns` | boolean | no | Exclude results from blast campaigns |
|
|
1452
|
+
| `--limit` | number | no | Maximum number of messages to return (default: 10, max: 1000) |
|
|
1453
|
+
| `--messageMedium` | `Email` \| `Push` \| `InApp` \| `SMS` | no | Only include messages of this type |
|
|
1454
|
+
| `--startDateTime` | string | no | Start date time (yyyy-MM-dd HH:mm:ss ZZ) |
|
|
1455
|
+
| `--userId` | string | no | User ID (alternative to email) |
|
|
1456
|
+
|
|
1457
|
+
### users update
|
|
1458
|
+
|
|
1459
|
+
Update user profile information (accepts email OR userId)
|
|
1460
|
+
|
|
1461
|
+
| Option | Type | Required | Description |
|
|
1462
|
+
|--------|------|----------|-------------|
|
|
1463
|
+
| `--createNewFields` | boolean | no | Whether new fields should be ingested and added to the schema |
|
|
1464
|
+
| `--dataFields` | json | no | User data fields to update |
|
|
1465
|
+
| `--email` | string | no | User email address |
|
|
1466
|
+
| `--mergeNestedObjects` | boolean | no | Merge top-level objects instead of overwriting them |
|
|
1467
|
+
| `--preferUserId` | boolean | no | Whether to create new user if userId doesn't exist (email-based projects only) |
|
|
1468
|
+
| `--userId` | string | no | User ID (alternative to email) |
|
|
1469
|
+
|
|
1470
|
+
### users update-email
|
|
1471
|
+
|
|
1472
|
+
Update a user's email address (only for email-based projects)
|
|
1473
|
+
|
|
1474
|
+
```
|
|
1475
|
+
iterable users update-email <newEmail>
|
|
1476
|
+
```
|
|
1477
|
+
|
|
1478
|
+
| Option | Type | Required | Description |
|
|
1479
|
+
|--------|------|----------|-------------|
|
|
1480
|
+
| `newEmail` | string | **yes** | The new email address to assign to the specified user. |
|
|
1481
|
+
| `--currentEmail` | string | no | An email address that identifies a user profile in Iterable. Provide a currentEmail or a currentUserId (but not both), depending on how your project identifies users. |
|
|
1482
|
+
| `--currentUserId` | string | no | A user ID that identifies a user profile in Iterable. Provide a currentEmail or a currentUserId (but not both), depending on how your project identifies users. |
|
|
1483
|
+
|
|
1484
|
+
### users update-subscriptions
|
|
1485
|
+
|
|
1486
|
+
Update user subscriptions (overwrites existing data for any non-null fields specified)
|
|
1487
|
+
|
|
1488
|
+
| Option | Type | Required | Description |
|
|
1489
|
+
|--------|------|----------|-------------|
|
|
1490
|
+
| `--campaignId` | number | no | Campaign to attribute unsubscribes |
|
|
1491
|
+
| `--email` | string | no | An email address that identifies a user profile in Iterable. For each user in your request, provide an email or a userId (but not both), depending on how your project identifies users. |
|
|
1492
|
+
| `--emailListIds` | number[] | no | Lists that a user is subscribed to |
|
|
1493
|
+
| `--subscribedMessageTypeIds` | number[] | no | Individual message type IDs to subscribe (does not impact channel subscriptions). To set a value for this field, first have your CSM enable the opt-in message types feature. Otherwise, attempting to set this field causes an error. |
|
|
1494
|
+
| `--templateId` | number | no | Template to attribute unsubscribes |
|
|
1495
|
+
| `--unsubscribedChannelIds` | number[] | no | Email channel ids to unsubscribe from |
|
|
1496
|
+
| `--unsubscribedMessageTypeIds` | number[] | no | Individual message type IDs to unsubscribe (does not impact channel subscriptions). |
|
|
1497
|
+
| `--userId` | string | no | A user ID that identifies a user profile in Iterable. For each user in your request, provide an email or a userId (but not both), depending on how your project identifies users. |
|
|
1498
|
+
| `--validateChannelAlignment` | boolean | no | Defaults to true (validation enabled). When false, allows subscribing users to message types that belong to unsubscribed channels. By default, Iterable validates that subscribed message types belong to subscribed channels. Setting this to false bypasses this validation, allowing you to save message type preferences even when the parent channel is unsubscribed. Users won't receive messages from these types while the channel remains unsubscribed, but their preferences are preserved for when the channel becomes subscribed. |
|
|
1499
|
+
|
|
1500
|
+
|
|
1501
|
+
## webhooks (2 commands)
|
|
1502
|
+
|
|
1503
|
+
### webhooks list
|
|
1504
|
+
|
|
1505
|
+
Get all webhooks for the project
|
|
1506
|
+
|
|
1507
|
+
### webhooks update
|
|
1508
|
+
|
|
1509
|
+
Update a webhook configuration
|
|
1510
|
+
|
|
1511
|
+
```
|
|
1512
|
+
iterable webhooks update <webhookId>
|
|
1513
|
+
```
|
|
1514
|
+
|
|
1515
|
+
| Option | Type | Required | Description |
|
|
1516
|
+
|--------|------|----------|-------------|
|
|
1517
|
+
| `webhookId` | number | **yes** | Webhook ID to update |
|
|
1518
|
+
| `--active` | boolean | no | Whether webhook is active |
|
|
1519
|
+
| `--events` | string[] | no | Events to subscribe to |
|
|
1520
|
+
| `--url` | string | no | Webhook URL |
|
|
1521
|
+
|
|
1522
|
+
|
|
1523
|
+
## keys
|
|
1524
|
+
|
|
1525
|
+
Manage stored API keys.
|
|
1526
|
+
|
|
1527
|
+
### keys list
|
|
1528
|
+
|
|
1529
|
+
View all stored API keys
|
|
1530
|
+
|
|
1531
|
+
```
|
|
1532
|
+
iterable keys list
|
|
1533
|
+
```
|
|
1534
|
+
|
|
1535
|
+
### keys add
|
|
1536
|
+
|
|
1537
|
+
Add a new API key
|
|
1538
|
+
|
|
1539
|
+
```
|
|
1540
|
+
iterable keys add
|
|
1541
|
+
```
|
|
1542
|
+
|
|
1543
|
+
### keys update <name-or-id>
|
|
1544
|
+
|
|
1545
|
+
Update an existing key's settings
|
|
1546
|
+
|
|
1547
|
+
```
|
|
1548
|
+
iterable keys update <name-or-id>
|
|
1549
|
+
```
|
|
1550
|
+
|
|
1551
|
+
### keys activate <name-or-id>
|
|
1552
|
+
|
|
1553
|
+
Switch to a different key
|
|
1554
|
+
|
|
1555
|
+
```
|
|
1556
|
+
iterable keys activate <name-or-id>
|
|
1557
|
+
```
|
|
1558
|
+
|
|
1559
|
+
### keys deactivate
|
|
1560
|
+
|
|
1561
|
+
Deactivate the current key
|
|
1562
|
+
|
|
1563
|
+
```
|
|
1564
|
+
iterable keys deactivate
|
|
1565
|
+
```
|
|
1566
|
+
|
|
1567
|
+
### keys delete <name-or-id>
|
|
1568
|
+
|
|
1569
|
+
Remove a key by ID or name
|
|
1570
|
+
|
|
1571
|
+
```
|
|
1572
|
+
iterable keys delete <name-or-id>
|
|
1573
|
+
```
|
|
1574
|
+
|