hostinger-api-mcp 1.30.0 → 1.32.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/README.md +197 -8
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/core/runtime.js +1 -1
- package/src/core/runtime.ts +1 -1
- package/src/core/tools/all.js +706 -27
- package/src/core/tools/all.ts +706 -27
- package/src/core/tools/reach.js +706 -27
- package/src/core/tools/reach.ts +706 -27
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/all.js +1 -1
- package/src/servers/all.ts +1 -1
- package/src/servers/billing.js +1 -1
- package/src/servers/billing.ts +1 -1
- package/src/servers/dns.js +1 -1
- package/src/servers/dns.ts +1 -1
- package/src/servers/domains.js +1 -1
- package/src/servers/domains.ts +1 -1
- package/src/servers/ecommerce.js +1 -1
- package/src/servers/ecommerce.ts +1 -1
- package/src/servers/horizons.js +1 -1
- package/src/servers/horizons.ts +1 -1
- package/src/servers/hosting.js +1 -1
- package/src/servers/hosting.ts +1 -1
- package/src/servers/mail.js +1 -1
- package/src/servers/mail.ts +1 -1
- package/src/servers/reach.js +1 -1
- package/src/servers/reach.ts +1 -1
- package/src/servers/vps.js +1 -1
- package/src/servers/vps.ts +1 -1
- package/src/servers/wordpress.js +1 -1
- package/src/servers/wordpress.ts +1 -1
- package/types.d.ts +454 -15
package/src/core/tools/reach.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export default [
|
|
3
3
|
{
|
|
4
4
|
"name": "reach_deleteAContactV1",
|
|
5
|
-
"description": "Delete a contact with the specified UUID.\n\nThis endpoint permanently removes a contact from the email marketing system.",
|
|
5
|
+
"description": "Delete a contact with the specified UUID.\n\nThis endpoint permanently removes a contact from the email marketing system.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to the\nclient's default profile and cannot delete contacts of any other profile. Use\n`DELETE /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}` instead.",
|
|
6
6
|
"method": "DELETE",
|
|
7
7
|
"path": "/api/reach/v1/contacts/{uuid}",
|
|
8
8
|
"inputSchema": {
|
|
@@ -24,6 +24,163 @@ export default [
|
|
|
24
24
|
],
|
|
25
25
|
"group": "reach"
|
|
26
26
|
},
|
|
27
|
+
{
|
|
28
|
+
"name": "reach_deleteAContactFieldV1",
|
|
29
|
+
"description": "Delete a custom contact field.\n\nEvery value contacts hold for the field is deleted with it, and for the choice types so\nare its options. The contacts themselves are not affected.",
|
|
30
|
+
"method": "DELETE",
|
|
31
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/contacts/fields/{fieldUuid}",
|
|
32
|
+
"inputSchema": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"properties": {
|
|
35
|
+
"profileUuid": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"description": "Profile uuid parameter"
|
|
38
|
+
},
|
|
39
|
+
"fieldUuid": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "Contact field uuid parameter"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": [
|
|
45
|
+
"profileUuid",
|
|
46
|
+
"fieldUuid"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"security": [
|
|
50
|
+
{
|
|
51
|
+
"apiToken": []
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"group": "reach"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "reach_updateAContactFieldV1",
|
|
58
|
+
"description": "Rename a custom contact field and, for the choice types, replace its option set.\n\nOptions carrying a uuid are kept and relabelled, options without one are created, and any\nexisting option left out of the list is deleted along with the values contacts hold for\nit. The field type and slug cannot be changed.",
|
|
59
|
+
"method": "PATCH",
|
|
60
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/contacts/fields/{fieldUuid}",
|
|
61
|
+
"inputSchema": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"properties": {
|
|
64
|
+
"profileUuid": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"description": "Profile uuid parameter"
|
|
67
|
+
},
|
|
68
|
+
"fieldUuid": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "Contact field uuid parameter"
|
|
71
|
+
},
|
|
72
|
+
"label": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "label parameter"
|
|
75
|
+
},
|
|
76
|
+
"options": {
|
|
77
|
+
"type": "array",
|
|
78
|
+
"description": "Replaces the option set when provided. Entries carrying a uuid are kept and relabelled, entries without one are created, and any existing option missing from the list is deleted along with the values contacts hold for it.",
|
|
79
|
+
"items": {
|
|
80
|
+
"type": "object",
|
|
81
|
+
"description": "options parameter",
|
|
82
|
+
"properties": {
|
|
83
|
+
"uuid": {
|
|
84
|
+
"type": "string",
|
|
85
|
+
"description": "uuid parameter"
|
|
86
|
+
},
|
|
87
|
+
"label": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"description": "label parameter"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"required": [
|
|
93
|
+
"label"
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"required": [
|
|
99
|
+
"profileUuid",
|
|
100
|
+
"fieldUuid",
|
|
101
|
+
"label"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"security": [
|
|
105
|
+
{
|
|
106
|
+
"apiToken": []
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"group": "reach"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "reach_listContactFieldsV1",
|
|
113
|
+
"description": "Get the custom contact fields defined in a profile.\n\nCustom fields let you store your own attributes on contacts. The returned uuids are what\nyou pass to the contact update endpoint to set values, and choice fields also list the\noptions available to pick from.",
|
|
114
|
+
"method": "GET",
|
|
115
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/contacts/fields",
|
|
116
|
+
"inputSchema": {
|
|
117
|
+
"type": "object",
|
|
118
|
+
"properties": {
|
|
119
|
+
"profileUuid": {
|
|
120
|
+
"type": "string",
|
|
121
|
+
"description": "Profile uuid parameter"
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"required": [
|
|
125
|
+
"profileUuid"
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
"security": [
|
|
129
|
+
{
|
|
130
|
+
"apiToken": []
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"group": "reach"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "reach_createAContactFieldV1",
|
|
137
|
+
"description": "Define a new custom contact field in a profile.\n\nThe `slug` is derived from the label and, like the field type, cannot be changed later.\nUse the returned uuid to set values on contacts.",
|
|
138
|
+
"method": "POST",
|
|
139
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/contacts/fields",
|
|
140
|
+
"inputSchema": {
|
|
141
|
+
"type": "object",
|
|
142
|
+
"properties": {
|
|
143
|
+
"profileUuid": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"description": "Profile uuid parameter"
|
|
146
|
+
},
|
|
147
|
+
"type": {
|
|
148
|
+
"type": "string",
|
|
149
|
+
"description": "Immutable once the field exists",
|
|
150
|
+
"enum": [
|
|
151
|
+
"text",
|
|
152
|
+
"number",
|
|
153
|
+
"date",
|
|
154
|
+
"single_choice",
|
|
155
|
+
"multi_choice"
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
"label": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"description": "label parameter"
|
|
161
|
+
},
|
|
162
|
+
"options": {
|
|
163
|
+
"type": "array",
|
|
164
|
+
"description": "Required for single_choice and multi_choice, ignored for the scalar types. Labels must be unique regardless of casing.",
|
|
165
|
+
"items": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"description": "options parameter"
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"required": [
|
|
172
|
+
"profileUuid",
|
|
173
|
+
"type",
|
|
174
|
+
"label"
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
"security": [
|
|
178
|
+
{
|
|
179
|
+
"apiToken": []
|
|
180
|
+
}
|
|
181
|
+
],
|
|
182
|
+
"group": "reach"
|
|
183
|
+
},
|
|
27
184
|
{
|
|
28
185
|
"name": "reach_listContactGroupsV1",
|
|
29
186
|
"description": "Get a list of all contact groups.\n\nThis endpoint returns a list of contact groups that can be used to organize contacts.",
|
|
@@ -31,8 +188,296 @@ export default [
|
|
|
31
188
|
"path": "/api/reach/v1/contacts/groups",
|
|
32
189
|
"inputSchema": {
|
|
33
190
|
"type": "object",
|
|
34
|
-
"properties": {},
|
|
35
|
-
"required": []
|
|
191
|
+
"properties": {},
|
|
192
|
+
"required": []
|
|
193
|
+
},
|
|
194
|
+
"security": [
|
|
195
|
+
{
|
|
196
|
+
"apiToken": []
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
"group": "reach"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"name": "reach_listContactsV1",
|
|
203
|
+
"description": "Get a list of contacts, optionally filtered by group and subscription status.\n\nThis endpoint returns a paginated list of contacts with their basic information.\nYou can filter contacts by group UUID and subscription status.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to the\nclient's default profile and cannot list contacts of any other profile. Use\n`GET /api/reach/v1/profiles/{profileUuid}/contacts` instead, which also replaces the\ngroup filter with a tag filter.",
|
|
204
|
+
"method": "GET",
|
|
205
|
+
"path": "/api/reach/v1/contacts",
|
|
206
|
+
"inputSchema": {
|
|
207
|
+
"type": "object",
|
|
208
|
+
"properties": {
|
|
209
|
+
"group_uuid": {
|
|
210
|
+
"type": "string",
|
|
211
|
+
"description": "Filter contacts by group UUID"
|
|
212
|
+
},
|
|
213
|
+
"subscription_status": {
|
|
214
|
+
"type": "string",
|
|
215
|
+
"description": "Filter contacts by subscription status",
|
|
216
|
+
"enum": [
|
|
217
|
+
"subscribed",
|
|
218
|
+
"unsubscribed",
|
|
219
|
+
"confirmed",
|
|
220
|
+
"pending"
|
|
221
|
+
]
|
|
222
|
+
},
|
|
223
|
+
"page": {
|
|
224
|
+
"type": "integer",
|
|
225
|
+
"description": "Page number"
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
"required": []
|
|
229
|
+
},
|
|
230
|
+
"security": [
|
|
231
|
+
{
|
|
232
|
+
"apiToken": []
|
|
233
|
+
}
|
|
234
|
+
],
|
|
235
|
+
"group": "reach"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"name": "reach_createANewContactV1",
|
|
239
|
+
"description": "Create a new contact in the email marketing system.\n\nThis endpoint allows you to create a new contact with basic information like name, email, and surname.\n\nIf double opt-in is enabled,\nthe contact will be created with a pending status and a confirmation email will be sent.",
|
|
240
|
+
"method": "POST",
|
|
241
|
+
"path": "/api/reach/v1/contacts",
|
|
242
|
+
"inputSchema": {
|
|
243
|
+
"type": "object",
|
|
244
|
+
"properties": {
|
|
245
|
+
"email": {
|
|
246
|
+
"type": "string",
|
|
247
|
+
"description": "email parameter"
|
|
248
|
+
},
|
|
249
|
+
"name": {
|
|
250
|
+
"type": "string",
|
|
251
|
+
"description": "name parameter"
|
|
252
|
+
},
|
|
253
|
+
"surname": {
|
|
254
|
+
"type": "string",
|
|
255
|
+
"description": "surname parameter"
|
|
256
|
+
},
|
|
257
|
+
"phone": {
|
|
258
|
+
"type": "string",
|
|
259
|
+
"description": "Phone number in E.164 format (leading \"+\" then 7-15 digits)"
|
|
260
|
+
},
|
|
261
|
+
"note": {
|
|
262
|
+
"type": "string",
|
|
263
|
+
"description": "note parameter"
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"required": [
|
|
267
|
+
"email"
|
|
268
|
+
]
|
|
269
|
+
},
|
|
270
|
+
"security": [
|
|
271
|
+
{
|
|
272
|
+
"apiToken": []
|
|
273
|
+
}
|
|
274
|
+
],
|
|
275
|
+
"group": "reach"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"name": "reach_getContactDetailsV1",
|
|
279
|
+
"description": "Get the full details of a single contact.\n\nAlongside the contact's own attributes this returns the tags assigned to it and the\nvalues it holds for the profile's custom contact fields.",
|
|
280
|
+
"method": "GET",
|
|
281
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}",
|
|
282
|
+
"inputSchema": {
|
|
283
|
+
"type": "object",
|
|
284
|
+
"properties": {
|
|
285
|
+
"profileUuid": {
|
|
286
|
+
"type": "string",
|
|
287
|
+
"description": "Profile uuid parameter"
|
|
288
|
+
},
|
|
289
|
+
"contactUuid": {
|
|
290
|
+
"type": "string",
|
|
291
|
+
"description": "Contact uuid parameter"
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
"required": [
|
|
295
|
+
"profileUuid",
|
|
296
|
+
"contactUuid"
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
"security": [
|
|
300
|
+
{
|
|
301
|
+
"apiToken": []
|
|
302
|
+
}
|
|
303
|
+
],
|
|
304
|
+
"group": "reach"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"name": "reach_deleteAProfileContactV1",
|
|
308
|
+
"description": "Permanently delete a contact from a profile.\n\nThe contact is removed together with its custom field values and tag assignments.",
|
|
309
|
+
"method": "DELETE",
|
|
310
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}",
|
|
311
|
+
"inputSchema": {
|
|
312
|
+
"type": "object",
|
|
313
|
+
"properties": {
|
|
314
|
+
"profileUuid": {
|
|
315
|
+
"type": "string",
|
|
316
|
+
"description": "Profile uuid parameter"
|
|
317
|
+
},
|
|
318
|
+
"contactUuid": {
|
|
319
|
+
"type": "string",
|
|
320
|
+
"description": "Contact uuid parameter"
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
"required": [
|
|
324
|
+
"profileUuid",
|
|
325
|
+
"contactUuid"
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
"security": [
|
|
329
|
+
{
|
|
330
|
+
"apiToken": []
|
|
331
|
+
}
|
|
332
|
+
],
|
|
333
|
+
"group": "reach"
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"name": "reach_updateAContactV1",
|
|
337
|
+
"description": "Update a contact's attributes and custom field values.\n\nOnly the properties present in the request body are changed, so a partial body is enough\nto change a single attribute. Sending a property as `null` clears it.\n\nThe response carries the contact's core attributes. Read back its tags, custom field\nvalues, source and note with `GET /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}`.",
|
|
338
|
+
"method": "PATCH",
|
|
339
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}",
|
|
340
|
+
"inputSchema": {
|
|
341
|
+
"type": "object",
|
|
342
|
+
"properties": {
|
|
343
|
+
"profileUuid": {
|
|
344
|
+
"type": "string",
|
|
345
|
+
"description": "Profile uuid parameter"
|
|
346
|
+
},
|
|
347
|
+
"contactUuid": {
|
|
348
|
+
"type": "string",
|
|
349
|
+
"description": "Contact uuid parameter"
|
|
350
|
+
},
|
|
351
|
+
"email": {
|
|
352
|
+
"type": "string",
|
|
353
|
+
"description": "email parameter"
|
|
354
|
+
},
|
|
355
|
+
"name": {
|
|
356
|
+
"type": "string",
|
|
357
|
+
"description": "name parameter"
|
|
358
|
+
},
|
|
359
|
+
"surname": {
|
|
360
|
+
"type": "string",
|
|
361
|
+
"description": "surname parameter"
|
|
362
|
+
},
|
|
363
|
+
"phone": {
|
|
364
|
+
"type": "string",
|
|
365
|
+
"description": "Phone number in E.164 format (leading \"+\" then 7-15 digits)"
|
|
366
|
+
},
|
|
367
|
+
"subscription_status": {
|
|
368
|
+
"type": "string",
|
|
369
|
+
"description": "subscription_status parameter",
|
|
370
|
+
"enum": [
|
|
371
|
+
"subscribed",
|
|
372
|
+
"unsubscribed",
|
|
373
|
+
"confirmed",
|
|
374
|
+
"pending"
|
|
375
|
+
]
|
|
376
|
+
},
|
|
377
|
+
"note": {
|
|
378
|
+
"type": "string",
|
|
379
|
+
"description": "note parameter"
|
|
380
|
+
},
|
|
381
|
+
"fields": {
|
|
382
|
+
"type": "array",
|
|
383
|
+
"description": "Set custom field values. Omit to leave untouched, send an empty array to clear them all.",
|
|
384
|
+
"items": {
|
|
385
|
+
"type": "object",
|
|
386
|
+
"description": "fields parameter",
|
|
387
|
+
"properties": {
|
|
388
|
+
"uuid": {
|
|
389
|
+
"type": "string",
|
|
390
|
+
"description": "uuid parameter"
|
|
391
|
+
},
|
|
392
|
+
"value": {
|
|
393
|
+
"type": "string",
|
|
394
|
+
"description": "For the scalar field types"
|
|
395
|
+
},
|
|
396
|
+
"selected_option_uuids": {
|
|
397
|
+
"type": "array",
|
|
398
|
+
"description": "For the choice field types",
|
|
399
|
+
"items": {
|
|
400
|
+
"type": "string",
|
|
401
|
+
"description": "selected_option_uuids parameter"
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
"required": [
|
|
406
|
+
"uuid"
|
|
407
|
+
]
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
"required": [
|
|
412
|
+
"profileUuid",
|
|
413
|
+
"contactUuid"
|
|
414
|
+
]
|
|
415
|
+
},
|
|
416
|
+
"security": [
|
|
417
|
+
{
|
|
418
|
+
"apiToken": []
|
|
419
|
+
}
|
|
420
|
+
],
|
|
421
|
+
"group": "reach"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"name": "reach_createContactsInBulkV1",
|
|
425
|
+
"description": "Create many contacts in a profile in a single call.\n\nThe contacts are imported in the background, so a success response means the import was\naccepted rather than finished. Contacts whose email already exists in the profile are\nleft as they are. If double opt-in is enabled, new contacts start off pending and are\nsent a confirmation email.",
|
|
426
|
+
"method": "POST",
|
|
427
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/contacts/bulk",
|
|
428
|
+
"inputSchema": {
|
|
429
|
+
"type": "object",
|
|
430
|
+
"properties": {
|
|
431
|
+
"profileUuid": {
|
|
432
|
+
"type": "string",
|
|
433
|
+
"description": "Profile uuid parameter"
|
|
434
|
+
},
|
|
435
|
+
"contacts": {
|
|
436
|
+
"type": "array",
|
|
437
|
+
"description": "contacts parameter",
|
|
438
|
+
"items": {
|
|
439
|
+
"type": "object",
|
|
440
|
+
"description": "contacts parameter",
|
|
441
|
+
"properties": {
|
|
442
|
+
"email": {
|
|
443
|
+
"type": "string",
|
|
444
|
+
"description": "email parameter"
|
|
445
|
+
},
|
|
446
|
+
"name": {
|
|
447
|
+
"type": "string",
|
|
448
|
+
"description": "name parameter"
|
|
449
|
+
},
|
|
450
|
+
"surname": {
|
|
451
|
+
"type": "string",
|
|
452
|
+
"description": "surname parameter"
|
|
453
|
+
},
|
|
454
|
+
"phone": {
|
|
455
|
+
"type": "string",
|
|
456
|
+
"description": "Phone number in E.164 format (leading \"+\" then 7-15 digits)"
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
"required": [
|
|
460
|
+
"email"
|
|
461
|
+
]
|
|
462
|
+
}
|
|
463
|
+
},
|
|
464
|
+
"tag_uuids": {
|
|
465
|
+
"type": "array",
|
|
466
|
+
"description": "Existing tags to attach to every created contact",
|
|
467
|
+
"items": {
|
|
468
|
+
"type": "string",
|
|
469
|
+
"description": "tag_uuids parameter"
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
"note": {
|
|
473
|
+
"type": "string",
|
|
474
|
+
"description": "Note applied to every created contact"
|
|
475
|
+
}
|
|
476
|
+
},
|
|
477
|
+
"required": [
|
|
478
|
+
"profileUuid",
|
|
479
|
+
"contacts"
|
|
480
|
+
]
|
|
36
481
|
},
|
|
37
482
|
"security": [
|
|
38
483
|
{
|
|
@@ -42,31 +487,47 @@ export default [
|
|
|
42
487
|
"group": "reach"
|
|
43
488
|
},
|
|
44
489
|
{
|
|
45
|
-
"name": "
|
|
46
|
-
"description": "Get a list of contacts
|
|
490
|
+
"name": "reach_listProfileContactsV1",
|
|
491
|
+
"description": "Get a paginated list of contacts belonging to a profile.\n\nContacts can be filtered by subscription status, by tag, and by an email search term.\nThe `meta.total` field of the response is the number of contacts matching the filters,\nso calling this endpoint without filters gives the profile's total contact count.",
|
|
47
492
|
"method": "GET",
|
|
48
|
-
"path": "/api/reach/v1/contacts",
|
|
493
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/contacts",
|
|
49
494
|
"inputSchema": {
|
|
50
495
|
"type": "object",
|
|
51
496
|
"properties": {
|
|
52
|
-
"
|
|
497
|
+
"profileUuid": {
|
|
53
498
|
"type": "string",
|
|
54
|
-
"description": "
|
|
499
|
+
"description": "Profile uuid parameter"
|
|
55
500
|
},
|
|
56
501
|
"subscription_status": {
|
|
57
502
|
"type": "string",
|
|
58
503
|
"description": "Filter contacts by subscription status",
|
|
59
504
|
"enum": [
|
|
60
505
|
"subscribed",
|
|
61
|
-
"unsubscribed"
|
|
506
|
+
"unsubscribed",
|
|
507
|
+
"confirmed",
|
|
508
|
+
"pending"
|
|
62
509
|
]
|
|
63
510
|
},
|
|
511
|
+
"tag_uuid": {
|
|
512
|
+
"type": "string",
|
|
513
|
+
"description": "Filter contacts by tag UUID"
|
|
514
|
+
},
|
|
515
|
+
"search": {
|
|
516
|
+
"type": "string",
|
|
517
|
+
"description": "Search contacts by email"
|
|
518
|
+
},
|
|
64
519
|
"page": {
|
|
65
520
|
"type": "integer",
|
|
66
521
|
"description": "Page number"
|
|
522
|
+
},
|
|
523
|
+
"per_page": {
|
|
524
|
+
"type": "integer",
|
|
525
|
+
"description": "Number of items per page"
|
|
67
526
|
}
|
|
68
527
|
},
|
|
69
|
-
"required": [
|
|
528
|
+
"required": [
|
|
529
|
+
"profileUuid"
|
|
530
|
+
]
|
|
70
531
|
},
|
|
71
532
|
"security": [
|
|
72
533
|
{
|
|
@@ -76,13 +537,17 @@ export default [
|
|
|
76
537
|
"group": "reach"
|
|
77
538
|
},
|
|
78
539
|
{
|
|
79
|
-
"name": "
|
|
80
|
-
"description": "Create a new contact in the email marketing system.\n\nThis endpoint allows you to create a new contact with basic information like name, email, and surname.\n\nIf double opt-in is enabled
|
|
540
|
+
"name": "reach_createNewContactsV1",
|
|
541
|
+
"description": "Create a new contact in the email marketing system.\n\nThis endpoint allows you to create a new contact with basic information like name, email, and surname.\n\nIf double opt-in is enabled, the contact will be created with a pending status\nand a confirmation email will be sent.",
|
|
81
542
|
"method": "POST",
|
|
82
|
-
"path": "/api/reach/v1/contacts",
|
|
543
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/contacts",
|
|
83
544
|
"inputSchema": {
|
|
84
545
|
"type": "object",
|
|
85
546
|
"properties": {
|
|
547
|
+
"profileUuid": {
|
|
548
|
+
"type": "string",
|
|
549
|
+
"description": "Profile uuid parameter"
|
|
550
|
+
},
|
|
86
551
|
"email": {
|
|
87
552
|
"type": "string",
|
|
88
553
|
"description": "email parameter"
|
|
@@ -105,6 +570,7 @@ export default [
|
|
|
105
570
|
}
|
|
106
571
|
},
|
|
107
572
|
"required": [
|
|
573
|
+
"profileUuid",
|
|
108
574
|
"email"
|
|
109
575
|
]
|
|
110
576
|
},
|
|
@@ -330,10 +796,10 @@ export default [
|
|
|
330
796
|
"group": "reach"
|
|
331
797
|
},
|
|
332
798
|
{
|
|
333
|
-
"name": "
|
|
334
|
-
"description": "
|
|
799
|
+
"name": "reach_assignAContactToATagV1",
|
|
800
|
+
"description": "Assign a tag to a single contact.\n\nUnlike the bulk endpoint this is applied immediately rather than queued. Assigning a tag\nthe contact already carries succeeds without duplicating it.",
|
|
335
801
|
"method": "POST",
|
|
336
|
-
"path": "/api/reach/v1/profiles/{profileUuid}/contacts",
|
|
802
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts/{contactUuid}",
|
|
337
803
|
"inputSchema": {
|
|
338
804
|
"type": "object",
|
|
339
805
|
"properties": {
|
|
@@ -341,30 +807,243 @@ export default [
|
|
|
341
807
|
"type": "string",
|
|
342
808
|
"description": "Profile uuid parameter"
|
|
343
809
|
},
|
|
344
|
-
"
|
|
810
|
+
"tagUuid": {
|
|
345
811
|
"type": "string",
|
|
346
|
-
"description": "
|
|
812
|
+
"description": "Tag uuid parameter"
|
|
347
813
|
},
|
|
348
|
-
"
|
|
814
|
+
"contactUuid": {
|
|
349
815
|
"type": "string",
|
|
350
|
-
"description": "
|
|
816
|
+
"description": "Contact uuid parameter"
|
|
817
|
+
}
|
|
818
|
+
},
|
|
819
|
+
"required": [
|
|
820
|
+
"profileUuid",
|
|
821
|
+
"tagUuid",
|
|
822
|
+
"contactUuid"
|
|
823
|
+
]
|
|
824
|
+
},
|
|
825
|
+
"security": [
|
|
826
|
+
{
|
|
827
|
+
"apiToken": []
|
|
828
|
+
}
|
|
829
|
+
],
|
|
830
|
+
"group": "reach"
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"name": "reach_removeAContactFromATagV1",
|
|
834
|
+
"description": "Remove a tag from a single contact.\n\nUnlike the bulk endpoint this is applied immediately rather than queued. Neither the tag\nnor the contact is deleted.",
|
|
835
|
+
"method": "DELETE",
|
|
836
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts/{contactUuid}",
|
|
837
|
+
"inputSchema": {
|
|
838
|
+
"type": "object",
|
|
839
|
+
"properties": {
|
|
840
|
+
"profileUuid": {
|
|
841
|
+
"type": "string",
|
|
842
|
+
"description": "Profile uuid parameter"
|
|
351
843
|
},
|
|
352
|
-
"
|
|
844
|
+
"tagUuid": {
|
|
353
845
|
"type": "string",
|
|
354
|
-
"description": "
|
|
846
|
+
"description": "Tag uuid parameter"
|
|
355
847
|
},
|
|
356
|
-
"
|
|
848
|
+
"contactUuid": {
|
|
357
849
|
"type": "string",
|
|
358
|
-
"description": "
|
|
850
|
+
"description": "Contact uuid parameter"
|
|
851
|
+
}
|
|
852
|
+
},
|
|
853
|
+
"required": [
|
|
854
|
+
"profileUuid",
|
|
855
|
+
"tagUuid",
|
|
856
|
+
"contactUuid"
|
|
857
|
+
]
|
|
858
|
+
},
|
|
859
|
+
"security": [
|
|
860
|
+
{
|
|
861
|
+
"apiToken": []
|
|
862
|
+
}
|
|
863
|
+
],
|
|
864
|
+
"group": "reach"
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"name": "reach_assignContactsToATagV1",
|
|
868
|
+
"description": "Assign a tag to many contacts at once.\n\nPass `contact_uuids` to target specific contacts, or `all_contacts` to target every contact\nin the profile. The work is queued, so a success response means it was accepted rather than\nfinished. Contacts that already carry the tag are left alone.",
|
|
869
|
+
"method": "POST",
|
|
870
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts",
|
|
871
|
+
"inputSchema": {
|
|
872
|
+
"type": "object",
|
|
873
|
+
"properties": {
|
|
874
|
+
"profileUuid": {
|
|
875
|
+
"type": "string",
|
|
876
|
+
"description": "Profile uuid parameter"
|
|
359
877
|
},
|
|
360
|
-
"
|
|
878
|
+
"tagUuid": {
|
|
361
879
|
"type": "string",
|
|
362
|
-
"description": "
|
|
880
|
+
"description": "Tag uuid parameter"
|
|
881
|
+
},
|
|
882
|
+
"contact_uuids": {
|
|
883
|
+
"type": "array",
|
|
884
|
+
"description": "Contacts to apply the change to. Required unless all_contacts is true.",
|
|
885
|
+
"items": {
|
|
886
|
+
"type": "string",
|
|
887
|
+
"description": "contact_uuids parameter"
|
|
888
|
+
}
|
|
889
|
+
},
|
|
890
|
+
"all_contacts": {
|
|
891
|
+
"type": "boolean",
|
|
892
|
+
"description": "Apply to every contact in the profile"
|
|
363
893
|
}
|
|
364
894
|
},
|
|
365
895
|
"required": [
|
|
366
896
|
"profileUuid",
|
|
367
|
-
"
|
|
897
|
+
"tagUuid"
|
|
898
|
+
]
|
|
899
|
+
},
|
|
900
|
+
"security": [
|
|
901
|
+
{
|
|
902
|
+
"apiToken": []
|
|
903
|
+
}
|
|
904
|
+
],
|
|
905
|
+
"group": "reach"
|
|
906
|
+
},
|
|
907
|
+
{
|
|
908
|
+
"name": "reach_removeContactsFromATagV1",
|
|
909
|
+
"description": "Remove a tag from many contacts at once.\n\nPass `contact_uuids` to target specific contacts, or `all_contacts` to target every contact\nin the profile. The work is queued, so a success response means it was accepted rather than\nfinished. The tag itself and the contacts are not deleted.",
|
|
910
|
+
"method": "DELETE",
|
|
911
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts",
|
|
912
|
+
"inputSchema": {
|
|
913
|
+
"type": "object",
|
|
914
|
+
"properties": {
|
|
915
|
+
"profileUuid": {
|
|
916
|
+
"type": "string",
|
|
917
|
+
"description": "Profile uuid parameter"
|
|
918
|
+
},
|
|
919
|
+
"tagUuid": {
|
|
920
|
+
"type": "string",
|
|
921
|
+
"description": "Tag uuid parameter"
|
|
922
|
+
}
|
|
923
|
+
},
|
|
924
|
+
"required": [
|
|
925
|
+
"profileUuid",
|
|
926
|
+
"tagUuid"
|
|
927
|
+
]
|
|
928
|
+
},
|
|
929
|
+
"security": [
|
|
930
|
+
{
|
|
931
|
+
"apiToken": []
|
|
932
|
+
}
|
|
933
|
+
],
|
|
934
|
+
"group": "reach"
|
|
935
|
+
},
|
|
936
|
+
{
|
|
937
|
+
"name": "reach_deleteATagV1",
|
|
938
|
+
"description": "Delete a tag and remove it from every contact carrying it.\n\nThe contacts themselves are not deleted. This is idempotent: deleting a tag that does not\nexist in the profile still succeeds.",
|
|
939
|
+
"method": "DELETE",
|
|
940
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}",
|
|
941
|
+
"inputSchema": {
|
|
942
|
+
"type": "object",
|
|
943
|
+
"properties": {
|
|
944
|
+
"profileUuid": {
|
|
945
|
+
"type": "string",
|
|
946
|
+
"description": "Profile uuid parameter"
|
|
947
|
+
},
|
|
948
|
+
"tagUuid": {
|
|
949
|
+
"type": "string",
|
|
950
|
+
"description": "Tag uuid parameter"
|
|
951
|
+
}
|
|
952
|
+
},
|
|
953
|
+
"required": [
|
|
954
|
+
"profileUuid",
|
|
955
|
+
"tagUuid"
|
|
956
|
+
]
|
|
957
|
+
},
|
|
958
|
+
"security": [
|
|
959
|
+
{
|
|
960
|
+
"apiToken": []
|
|
961
|
+
}
|
|
962
|
+
],
|
|
963
|
+
"group": "reach"
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
"name": "reach_renameATagV1",
|
|
967
|
+
"description": "Rename a tag.\n\nThe contacts assigned to the tag are unaffected. Names are unique within a profile, so\nrenaming a tag to a name that is already taken is rejected.",
|
|
968
|
+
"method": "PATCH",
|
|
969
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}",
|
|
970
|
+
"inputSchema": {
|
|
971
|
+
"type": "object",
|
|
972
|
+
"properties": {
|
|
973
|
+
"profileUuid": {
|
|
974
|
+
"type": "string",
|
|
975
|
+
"description": "Profile uuid parameter"
|
|
976
|
+
},
|
|
977
|
+
"tagUuid": {
|
|
978
|
+
"type": "string",
|
|
979
|
+
"description": "Tag uuid parameter"
|
|
980
|
+
},
|
|
981
|
+
"value": {
|
|
982
|
+
"type": "string",
|
|
983
|
+
"description": "New tag name"
|
|
984
|
+
}
|
|
985
|
+
},
|
|
986
|
+
"required": [
|
|
987
|
+
"profileUuid",
|
|
988
|
+
"tagUuid",
|
|
989
|
+
"value"
|
|
990
|
+
]
|
|
991
|
+
},
|
|
992
|
+
"security": [
|
|
993
|
+
{
|
|
994
|
+
"apiToken": []
|
|
995
|
+
}
|
|
996
|
+
],
|
|
997
|
+
"group": "reach"
|
|
998
|
+
},
|
|
999
|
+
{
|
|
1000
|
+
"name": "reach_listProfileTagsV1",
|
|
1001
|
+
"description": "Get all tags defined in a profile.\n\nTags are the way contacts are grouped in Reach, and can be used to filter the contact\nlist or to build segments.",
|
|
1002
|
+
"method": "GET",
|
|
1003
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags",
|
|
1004
|
+
"inputSchema": {
|
|
1005
|
+
"type": "object",
|
|
1006
|
+
"properties": {
|
|
1007
|
+
"profileUuid": {
|
|
1008
|
+
"type": "string",
|
|
1009
|
+
"description": "Profile uuid parameter"
|
|
1010
|
+
}
|
|
1011
|
+
},
|
|
1012
|
+
"required": [
|
|
1013
|
+
"profileUuid"
|
|
1014
|
+
]
|
|
1015
|
+
},
|
|
1016
|
+
"security": [
|
|
1017
|
+
{
|
|
1018
|
+
"apiToken": []
|
|
1019
|
+
}
|
|
1020
|
+
],
|
|
1021
|
+
"group": "reach"
|
|
1022
|
+
},
|
|
1023
|
+
{
|
|
1024
|
+
"name": "reach_createOrFindTagsV1",
|
|
1025
|
+
"description": "Create tags in a profile.\n\nNames that already exist in the profile are not duplicated: the existing tag is returned\ninstead, so the call is safe to repeat. Every tag in the request is returned, whether it\nwas created now or already existed.",
|
|
1026
|
+
"method": "POST",
|
|
1027
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags",
|
|
1028
|
+
"inputSchema": {
|
|
1029
|
+
"type": "object",
|
|
1030
|
+
"properties": {
|
|
1031
|
+
"profileUuid": {
|
|
1032
|
+
"type": "string",
|
|
1033
|
+
"description": "Profile uuid parameter"
|
|
1034
|
+
},
|
|
1035
|
+
"names": {
|
|
1036
|
+
"type": "array",
|
|
1037
|
+
"description": "names parameter",
|
|
1038
|
+
"items": {
|
|
1039
|
+
"type": "string",
|
|
1040
|
+
"description": "names parameter"
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
},
|
|
1044
|
+
"required": [
|
|
1045
|
+
"profileUuid",
|
|
1046
|
+
"names"
|
|
368
1047
|
]
|
|
369
1048
|
},
|
|
370
1049
|
"security": [
|