universal-mcp-applications 0.1.30__py3-none-any.whl → 0.1.36rc1__py3-none-any.whl
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.
Potentially problematic release.
This version of universal-mcp-applications might be problematic. Click here for more details.
- universal_mcp/applications/ahrefs/app.py +52 -198
- universal_mcp/applications/airtable/app.py +23 -122
- universal_mcp/applications/apollo/app.py +111 -464
- universal_mcp/applications/asana/app.py +417 -1567
- universal_mcp/applications/aws_s3/app.py +33 -100
- universal_mcp/applications/bill/app.py +546 -1957
- universal_mcp/applications/box/app.py +1068 -3981
- universal_mcp/applications/braze/app.py +364 -1430
- universal_mcp/applications/browser_use/app.py +2 -8
- universal_mcp/applications/cal_com_v2/app.py +207 -625
- universal_mcp/applications/calendly/app.py +61 -200
- universal_mcp/applications/canva/app.py +45 -110
- universal_mcp/applications/clickup/app.py +207 -674
- universal_mcp/applications/coda/app.py +146 -426
- universal_mcp/applications/confluence/app.py +310 -1098
- universal_mcp/applications/contentful/app.py +36 -151
- universal_mcp/applications/crustdata/app.py +28 -107
- universal_mcp/applications/dialpad/app.py +283 -756
- universal_mcp/applications/digitalocean/app.py +1766 -5777
- universal_mcp/applications/domain_checker/app.py +3 -54
- universal_mcp/applications/e2b/app.py +14 -64
- universal_mcp/applications/elevenlabs/app.py +9 -47
- universal_mcp/applications/exa/app.py +6 -17
- universal_mcp/applications/falai/app.py +23 -100
- universal_mcp/applications/figma/app.py +53 -137
- universal_mcp/applications/file_system/app.py +2 -13
- universal_mcp/applications/firecrawl/app.py +51 -152
- universal_mcp/applications/fireflies/app.py +59 -281
- universal_mcp/applications/fpl/app.py +91 -528
- universal_mcp/applications/fpl/utils/fixtures.py +15 -49
- universal_mcp/applications/fpl/utils/helper.py +25 -89
- universal_mcp/applications/fpl/utils/league_utils.py +20 -64
- universal_mcp/applications/ghost_content/app.py +52 -161
- universal_mcp/applications/github/app.py +19 -56
- universal_mcp/applications/gong/app.py +88 -248
- universal_mcp/applications/google_calendar/app.py +16 -68
- universal_mcp/applications/google_docs/app.py +88 -188
- universal_mcp/applications/google_drive/app.py +140 -462
- universal_mcp/applications/google_gemini/app.py +12 -64
- universal_mcp/applications/google_mail/app.py +28 -157
- universal_mcp/applications/google_searchconsole/app.py +15 -48
- universal_mcp/applications/google_sheet/app.py +101 -578
- universal_mcp/applications/google_sheet/helper.py +10 -37
- universal_mcp/applications/hashnode/app.py +57 -269
- universal_mcp/applications/heygen/app.py +44 -122
- universal_mcp/applications/http_tools/app.py +10 -32
- universal_mcp/applications/hubspot/api_segments/crm_api.py +460 -1573
- universal_mcp/applications/hubspot/api_segments/marketing_api.py +74 -262
- universal_mcp/applications/hubspot/app.py +23 -87
- universal_mcp/applications/jira/app.py +2071 -7986
- universal_mcp/applications/klaviyo/app.py +494 -1376
- universal_mcp/applications/linkedin/README.md +9 -2
- universal_mcp/applications/linkedin/app.py +392 -212
- universal_mcp/applications/mailchimp/app.py +450 -1605
- universal_mcp/applications/markitdown/app.py +8 -20
- universal_mcp/applications/miro/app.py +217 -699
- universal_mcp/applications/ms_teams/app.py +64 -186
- universal_mcp/applications/neon/app.py +86 -192
- universal_mcp/applications/notion/app.py +21 -36
- universal_mcp/applications/onedrive/app.py +14 -36
- universal_mcp/applications/openai/app.py +42 -165
- universal_mcp/applications/outlook/app.py +16 -76
- universal_mcp/applications/perplexity/app.py +4 -19
- universal_mcp/applications/pipedrive/app.py +832 -3142
- universal_mcp/applications/posthog/app.py +163 -432
- universal_mcp/applications/reddit/app.py +40 -139
- universal_mcp/applications/resend/app.py +41 -107
- universal_mcp/applications/retell/app.py +14 -41
- universal_mcp/applications/rocketlane/app.py +221 -934
- universal_mcp/applications/scraper/README.md +7 -4
- universal_mcp/applications/scraper/app.py +216 -102
- universal_mcp/applications/semanticscholar/app.py +22 -64
- universal_mcp/applications/semrush/app.py +43 -77
- universal_mcp/applications/sendgrid/app.py +512 -1262
- universal_mcp/applications/sentry/app.py +271 -906
- universal_mcp/applications/serpapi/app.py +40 -143
- universal_mcp/applications/sharepoint/app.py +15 -37
- universal_mcp/applications/shopify/app.py +1551 -4287
- universal_mcp/applications/shortcut/app.py +155 -417
- universal_mcp/applications/slack/app.py +50 -101
- universal_mcp/applications/spotify/app.py +126 -325
- universal_mcp/applications/supabase/app.py +104 -213
- universal_mcp/applications/tavily/app.py +1 -1
- universal_mcp/applications/trello/app.py +693 -2656
- universal_mcp/applications/twilio/app.py +14 -50
- universal_mcp/applications/twitter/api_segments/compliance_api.py +4 -14
- universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +6 -18
- universal_mcp/applications/twitter/api_segments/likes_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/lists_api.py +5 -15
- universal_mcp/applications/twitter/api_segments/trends_api.py +1 -3
- universal_mcp/applications/twitter/api_segments/tweets_api.py +9 -31
- universal_mcp/applications/twitter/api_segments/usage_api.py +1 -5
- universal_mcp/applications/twitter/api_segments/users_api.py +14 -42
- universal_mcp/applications/whatsapp/app.py +35 -186
- universal_mcp/applications/whatsapp/audio.py +2 -6
- universal_mcp/applications/whatsapp/whatsapp.py +17 -51
- universal_mcp/applications/whatsapp_business/app.py +70 -283
- universal_mcp/applications/wrike/app.py +45 -118
- universal_mcp/applications/yahoo_finance/app.py +19 -65
- universal_mcp/applications/youtube/app.py +75 -261
- universal_mcp/applications/zenquotes/app.py +2 -2
- {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/METADATA +2 -2
- {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/RECORD +105 -105
- {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/WHEEL +0 -0
- {universal_mcp_applications-0.1.30.dist-info → universal_mcp_applications-0.1.36rc1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
from typing import Any
|
|
2
|
-
|
|
3
2
|
from universal_mcp.applications.application import APIApplication
|
|
4
3
|
from universal_mcp.integrations import Integration
|
|
5
4
|
|
|
@@ -17,13 +16,9 @@ class KlaviyoApp(APIApplication):
|
|
|
17
16
|
return credentials["headers"]
|
|
18
17
|
if "access_token" not in credentials:
|
|
19
18
|
raise ValueError("Access token not found in KlaviyoApp credentials")
|
|
20
|
-
return {
|
|
21
|
-
"Authorization": f"Bearer {credentials['access_token']}",
|
|
22
|
-
"Accept": "application/json",
|
|
23
|
-
"revision": "2024-07-15",
|
|
24
|
-
}
|
|
19
|
+
return {"Authorization": f"Bearer {credentials['access_token']}", "Accept": "application/json", "revision": "2024-07-15"}
|
|
25
20
|
|
|
26
|
-
def create_client_review(self, company_id=None, data=None) -> Any:
|
|
21
|
+
async def create_client_review(self, company_id=None, data=None) -> Any:
|
|
27
22
|
"""
|
|
28
23
|
Creates a new client review, requiring a company ID as a query parameter and a revision in the request header.
|
|
29
24
|
|
|
@@ -86,9 +81,7 @@ class KlaviyoApp(APIApplication):
|
|
|
86
81
|
Tags:
|
|
87
82
|
Beta APIs
|
|
88
83
|
"""
|
|
89
|
-
request_body = {
|
|
90
|
-
"data": data,
|
|
91
|
-
}
|
|
84
|
+
request_body = {"data": data}
|
|
92
85
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
93
86
|
url = f"{self.base_url}/client/reviews"
|
|
94
87
|
query_params = {k: v for k, v in [("company_id", company_id)] if v is not None}
|
|
@@ -96,7 +89,7 @@ class KlaviyoApp(APIApplication):
|
|
|
96
89
|
response.raise_for_status()
|
|
97
90
|
return response.json()
|
|
98
91
|
|
|
99
|
-
def get_accounts(self, fields_account=None) -> dict[str, Any]:
|
|
92
|
+
async def get_accounts(self, fields_account=None) -> dict[str, Any]:
|
|
100
93
|
"""
|
|
101
94
|
Retrieves account information using the GET method, allowing optional filtering by specific account fields and requiring a revision header, returning a successful response with the requested data if available.
|
|
102
95
|
|
|
@@ -110,14 +103,12 @@ class KlaviyoApp(APIApplication):
|
|
|
110
103
|
Accounts, important
|
|
111
104
|
"""
|
|
112
105
|
url = f"{self.base_url}/api/accounts"
|
|
113
|
-
query_params = {
|
|
114
|
-
k: v for k, v in [("fields[account]", fields_account)] if v is not None
|
|
115
|
-
}
|
|
106
|
+
query_params = {k: v for k, v in [("fields[account]", fields_account)] if v is not None}
|
|
116
107
|
response = self._get(url, params=query_params)
|
|
117
108
|
response.raise_for_status()
|
|
118
109
|
return response.json()
|
|
119
110
|
|
|
120
|
-
def get_account(self, id, fields_account=None) -> dict[str, Any]:
|
|
111
|
+
async def get_account(self, id, fields_account=None) -> dict[str, Any]:
|
|
121
112
|
"""
|
|
122
113
|
Retrieves detailed information about a specific account identified by `{id}` with optional filtering by `fields[account]` and version control via the `revision` header.
|
|
123
114
|
|
|
@@ -134,22 +125,13 @@ class KlaviyoApp(APIApplication):
|
|
|
134
125
|
if id is None:
|
|
135
126
|
raise ValueError("Missing required parameter 'id'")
|
|
136
127
|
url = f"{self.base_url}/api/accounts/{id}"
|
|
137
|
-
query_params = {
|
|
138
|
-
k: v for k, v in [("fields[account]", fields_account)] if v is not None
|
|
139
|
-
}
|
|
128
|
+
query_params = {k: v for k, v in [("fields[account]", fields_account)] if v is not None}
|
|
140
129
|
response = self._get(url, params=query_params)
|
|
141
130
|
response.raise_for_status()
|
|
142
131
|
return response.json()
|
|
143
132
|
|
|
144
|
-
def get_campaigns(
|
|
145
|
-
self,
|
|
146
|
-
fields_campaign_message=None,
|
|
147
|
-
fields_campaign=None,
|
|
148
|
-
fields_tag=None,
|
|
149
|
-
filter=None,
|
|
150
|
-
include=None,
|
|
151
|
-
page_cursor=None,
|
|
152
|
-
sort=None,
|
|
133
|
+
async def get_campaigns(
|
|
134
|
+
self, fields_campaign_message=None, fields_campaign=None, fields_tag=None, filter=None, include=None, page_cursor=None, sort=None
|
|
153
135
|
) -> dict[str, Any]:
|
|
154
136
|
"""
|
|
155
137
|
Retrieve a list of campaigns using optional filtering, sorting, and inclusion parameters, with the option to specify fields for campaign messages, campaigns, and tags.
|
|
@@ -187,7 +169,7 @@ class KlaviyoApp(APIApplication):
|
|
|
187
169
|
response.raise_for_status()
|
|
188
170
|
return response.json()
|
|
189
171
|
|
|
190
|
-
def create_campaign(self, data=None) -> dict[str, Any]:
|
|
172
|
+
async def create_campaign(self, data=None) -> dict[str, Any]:
|
|
191
173
|
"""
|
|
192
174
|
Creates a new campaign using specified parameters, returning appropriate status codes for success (201), client errors (400), or server issues (500).
|
|
193
175
|
|
|
@@ -303,9 +285,7 @@ class KlaviyoApp(APIApplication):
|
|
|
303
285
|
Tags:
|
|
304
286
|
Campaigns, important
|
|
305
287
|
"""
|
|
306
|
-
request_body = {
|
|
307
|
-
"data": data,
|
|
308
|
-
}
|
|
288
|
+
request_body = {"data": data}
|
|
309
289
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
310
290
|
url = f"{self.base_url}/api/campaigns"
|
|
311
291
|
query_params = {}
|
|
@@ -313,14 +293,7 @@ class KlaviyoApp(APIApplication):
|
|
|
313
293
|
response.raise_for_status()
|
|
314
294
|
return response.json()
|
|
315
295
|
|
|
316
|
-
def get_campaign(
|
|
317
|
-
self,
|
|
318
|
-
id,
|
|
319
|
-
fields_campaign_message=None,
|
|
320
|
-
fields_campaign=None,
|
|
321
|
-
fields_tag=None,
|
|
322
|
-
include=None,
|
|
323
|
-
) -> dict[str, Any]:
|
|
296
|
+
async def get_campaign(self, id, fields_campaign_message=None, fields_campaign=None, fields_tag=None, include=None) -> dict[str, Any]:
|
|
324
297
|
"""
|
|
325
298
|
Retrieves detailed information about a campaign by its ID, allowing for selective field inclusion and revision specification through query parameters and headers.
|
|
326
299
|
|
|
@@ -354,7 +327,7 @@ class KlaviyoApp(APIApplication):
|
|
|
354
327
|
response.raise_for_status()
|
|
355
328
|
return response.json()
|
|
356
329
|
|
|
357
|
-
def delete_campaign(self, id) -> Any:
|
|
330
|
+
async def delete_campaign(self, id) -> Any:
|
|
358
331
|
"""
|
|
359
332
|
Deletes a specific campaign by its ID, requiring a revision header and returning 204 No Content on success, with 400 and 500 for client and server errors, respectively.
|
|
360
333
|
|
|
@@ -375,7 +348,7 @@ class KlaviyoApp(APIApplication):
|
|
|
375
348
|
response.raise_for_status()
|
|
376
349
|
return response.json()
|
|
377
350
|
|
|
378
|
-
def update_campaign(self, id, data=None) -> dict[str, Any]:
|
|
351
|
+
async def update_campaign(self, id, data=None) -> dict[str, Any]:
|
|
379
352
|
"""
|
|
380
353
|
The **PATCH** operation at **"/api/campaigns/{id}"** partially updates a campaign resource identified by `{id}`, with the revision specified in the header, returning a successful response if the update is applied correctly.
|
|
381
354
|
|
|
@@ -439,9 +412,7 @@ class KlaviyoApp(APIApplication):
|
|
|
439
412
|
"""
|
|
440
413
|
if id is None:
|
|
441
414
|
raise ValueError("Missing required parameter 'id'")
|
|
442
|
-
request_body = {
|
|
443
|
-
"data": data,
|
|
444
|
-
}
|
|
415
|
+
request_body = {"data": data}
|
|
445
416
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
446
417
|
url = f"{self.base_url}/api/campaigns/{id}"
|
|
447
418
|
query_params = {}
|
|
@@ -449,9 +420,7 @@ class KlaviyoApp(APIApplication):
|
|
|
449
420
|
response.raise_for_status()
|
|
450
421
|
return response.json()
|
|
451
422
|
|
|
452
|
-
def get_campaign_recipient_estimation(
|
|
453
|
-
self, id, fields_campaign_recipient_estimation=None
|
|
454
|
-
) -> dict[str, Any]:
|
|
423
|
+
async def get_campaign_recipient_estimation(self, id, fields_campaign_recipient_estimation=None) -> dict[str, Any]:
|
|
455
424
|
"""
|
|
456
425
|
Retrieves a campaign recipient estimation by ID with optional fields filtering via query parameters and revision tracking through headers.
|
|
457
426
|
|
|
@@ -468,21 +437,12 @@ class KlaviyoApp(APIApplication):
|
|
|
468
437
|
if id is None:
|
|
469
438
|
raise ValueError("Missing required parameter 'id'")
|
|
470
439
|
url = f"{self.base_url}/api/campaign-recipient-estimations/{id}"
|
|
471
|
-
query_params = {
|
|
472
|
-
k: v
|
|
473
|
-
for k, v in [
|
|
474
|
-
(
|
|
475
|
-
"fields[campaign-recipient-estimation]",
|
|
476
|
-
fields_campaign_recipient_estimation,
|
|
477
|
-
)
|
|
478
|
-
]
|
|
479
|
-
if v is not None
|
|
480
|
-
}
|
|
440
|
+
query_params = {k: v for k, v in [("fields[campaign-recipient-estimation]", fields_campaign_recipient_estimation)] if v is not None}
|
|
481
441
|
response = self._get(url, params=query_params)
|
|
482
442
|
response.raise_for_status()
|
|
483
443
|
return response.json()
|
|
484
444
|
|
|
485
|
-
def create_campaign_clone(self, data=None) -> dict[str, Any]:
|
|
445
|
+
async def create_campaign_clone(self, data=None) -> dict[str, Any]:
|
|
486
446
|
"""
|
|
487
447
|
Clones a campaign, accepting a revision header and returning appropriate status codes (201 Created, 400 Bad Request, 500 Internal Server Error).
|
|
488
448
|
|
|
@@ -507,9 +467,7 @@ class KlaviyoApp(APIApplication):
|
|
|
507
467
|
Tags:
|
|
508
468
|
Campaigns, Campaigns1
|
|
509
469
|
"""
|
|
510
|
-
request_body = {
|
|
511
|
-
"data": data,
|
|
512
|
-
}
|
|
470
|
+
request_body = {"data": data}
|
|
513
471
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
514
472
|
url = f"{self.base_url}/api/campaign-clone"
|
|
515
473
|
query_params = {}
|
|
@@ -517,7 +475,7 @@ class KlaviyoApp(APIApplication):
|
|
|
517
475
|
response.raise_for_status()
|
|
518
476
|
return response.json()
|
|
519
477
|
|
|
520
|
-
def get_tags_for_campaign(self, id, fields_tag=None) -> dict[str, Any]:
|
|
478
|
+
async def get_tags_for_campaign(self, id, fields_tag=None) -> dict[str, Any]:
|
|
521
479
|
"""
|
|
522
480
|
This API operation retrieves tags for a campaign by ID using the GET method, allowing optional filtering by specific fields and versioning through a revision header.
|
|
523
481
|
|
|
@@ -539,7 +497,7 @@ class KlaviyoApp(APIApplication):
|
|
|
539
497
|
response.raise_for_status()
|
|
540
498
|
return response.json()
|
|
541
499
|
|
|
542
|
-
def get_tag_ids_for_campaign(self, id) -> dict[str, Any]:
|
|
500
|
+
async def get_tag_ids_for_campaign(self, id) -> dict[str, Any]:
|
|
543
501
|
"""
|
|
544
502
|
This API operation retrieves the relationships between a campaign, identified by its ID, and associated tags, returning the relevant tag information.
|
|
545
503
|
|
|
@@ -560,14 +518,8 @@ class KlaviyoApp(APIApplication):
|
|
|
560
518
|
response.raise_for_status()
|
|
561
519
|
return response.json()
|
|
562
520
|
|
|
563
|
-
def get_messages_for_campaign(
|
|
564
|
-
self,
|
|
565
|
-
id,
|
|
566
|
-
fields_campaign_message=None,
|
|
567
|
-
fields_campaign=None,
|
|
568
|
-
fields_image=None,
|
|
569
|
-
fields_template=None,
|
|
570
|
-
include=None,
|
|
521
|
+
async def get_messages_for_campaign(
|
|
522
|
+
self, id, fields_campaign_message=None, fields_campaign=None, fields_image=None, fields_template=None, include=None
|
|
571
523
|
) -> dict[str, Any]:
|
|
572
524
|
"""
|
|
573
525
|
Retrieves campaign messages associated with a specific campaign ID, allowing optional field selection and resource inclusion via query parameters, with support for header-based versioning.
|
|
@@ -604,7 +556,7 @@ class KlaviyoApp(APIApplication):
|
|
|
604
556
|
response.raise_for_status()
|
|
605
557
|
return response.json()
|
|
606
558
|
|
|
607
|
-
def get_message_ids_for_campaign(self, id) -> dict[str, Any]:
|
|
559
|
+
async def get_message_ids_for_campaign(self, id) -> dict[str, Any]:
|
|
608
560
|
"""
|
|
609
561
|
Retrieves the relationships between the specified campaign and its associated messages using the "revision" header parameter for versioning.
|
|
610
562
|
|
|
@@ -625,14 +577,8 @@ class KlaviyoApp(APIApplication):
|
|
|
625
577
|
response.raise_for_status()
|
|
626
578
|
return response.json()
|
|
627
579
|
|
|
628
|
-
def get_campaign_message(
|
|
629
|
-
self,
|
|
630
|
-
id,
|
|
631
|
-
fields_campaign_message=None,
|
|
632
|
-
fields_campaign=None,
|
|
633
|
-
fields_image=None,
|
|
634
|
-
fields_template=None,
|
|
635
|
-
include=None,
|
|
580
|
+
async def get_campaign_message(
|
|
581
|
+
self, id, fields_campaign_message=None, fields_campaign=None, fields_image=None, fields_template=None, include=None
|
|
636
582
|
) -> dict[str, Any]:
|
|
637
583
|
"""
|
|
638
584
|
This API operation uses the "GET" method to retrieve a campaign message by its ID, allowing for customizable field selection via query parameters and revision specification in the header.
|
|
@@ -669,7 +615,7 @@ class KlaviyoApp(APIApplication):
|
|
|
669
615
|
response.raise_for_status()
|
|
670
616
|
return response.json()
|
|
671
617
|
|
|
672
|
-
def update_campaign_message(self, id, data=None) -> dict[str, Any]:
|
|
618
|
+
async def update_campaign_message(self, id, data=None) -> dict[str, Any]:
|
|
673
619
|
"""
|
|
674
620
|
The **PATCH** operation at "/api/campaign-messages/{id}" partially updates a campaign message by applying specified changes, using a revision header to ensure data consistency.
|
|
675
621
|
|
|
@@ -717,9 +663,7 @@ class KlaviyoApp(APIApplication):
|
|
|
717
663
|
"""
|
|
718
664
|
if id is None:
|
|
719
665
|
raise ValueError("Missing required parameter 'id'")
|
|
720
|
-
request_body = {
|
|
721
|
-
"data": data,
|
|
722
|
-
}
|
|
666
|
+
request_body = {"data": data}
|
|
723
667
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
724
668
|
url = f"{self.base_url}/api/campaign-messages/{id}"
|
|
725
669
|
query_params = {}
|
|
@@ -727,7 +671,7 @@ class KlaviyoApp(APIApplication):
|
|
|
727
671
|
response.raise_for_status()
|
|
728
672
|
return response.json()
|
|
729
673
|
|
|
730
|
-
def assign_template_to_campaign_message(self, data=None) -> dict[str, Any]:
|
|
674
|
+
async def assign_template_to_campaign_message(self, data=None) -> dict[str, Any]:
|
|
731
675
|
"""
|
|
732
676
|
Creates a new campaign message template assignment, requiring a revision header parameter, returning HTTP 201 on success or 400/500 for client/server errors.
|
|
733
677
|
|
|
@@ -757,9 +701,7 @@ class KlaviyoApp(APIApplication):
|
|
|
757
701
|
Tags:
|
|
758
702
|
Campaigns, Messages
|
|
759
703
|
"""
|
|
760
|
-
request_body = {
|
|
761
|
-
"data": data,
|
|
762
|
-
}
|
|
704
|
+
request_body = {"data": data}
|
|
763
705
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
764
706
|
url = f"{self.base_url}/api/campaign-message-assign-template"
|
|
765
707
|
query_params = {}
|
|
@@ -767,9 +709,7 @@ class KlaviyoApp(APIApplication):
|
|
|
767
709
|
response.raise_for_status()
|
|
768
710
|
return response.json()
|
|
769
711
|
|
|
770
|
-
def get_campaign_for_campaign_message(
|
|
771
|
-
self, id, fields_campaign=None
|
|
772
|
-
) -> dict[str, Any]:
|
|
712
|
+
async def get_campaign_for_campaign_message(self, id, fields_campaign=None) -> dict[str, Any]:
|
|
773
713
|
"""
|
|
774
714
|
Retrieves the campaign associated with a specific campaign message ID, optionally filtering returned campaign fields via query parameter and supporting revision tracking via header.
|
|
775
715
|
|
|
@@ -786,14 +726,12 @@ class KlaviyoApp(APIApplication):
|
|
|
786
726
|
if id is None:
|
|
787
727
|
raise ValueError("Missing required parameter 'id'")
|
|
788
728
|
url = f"{self.base_url}/api/campaign-messages/{id}/campaign"
|
|
789
|
-
query_params = {
|
|
790
|
-
k: v for k, v in [("fields[campaign]", fields_campaign)] if v is not None
|
|
791
|
-
}
|
|
729
|
+
query_params = {k: v for k, v in [("fields[campaign]", fields_campaign)] if v is not None}
|
|
792
730
|
response = self._get(url, params=query_params)
|
|
793
731
|
response.raise_for_status()
|
|
794
732
|
return response.json()
|
|
795
733
|
|
|
796
|
-
def get_campaign_id_for_campaign_message(self, id) -> dict[str, Any]:
|
|
734
|
+
async def get_campaign_id_for_campaign_message(self, id) -> dict[str, Any]:
|
|
797
735
|
"""
|
|
798
736
|
Retrieves the relationship between a campaign message and its associated campaign by making a GET request to the "/api/campaign-messages/{id}/relationships/campaign" endpoint, optionally specifying a revision in the header.
|
|
799
737
|
|
|
@@ -814,9 +752,7 @@ class KlaviyoApp(APIApplication):
|
|
|
814
752
|
response.raise_for_status()
|
|
815
753
|
return response.json()
|
|
816
754
|
|
|
817
|
-
def get_template_for_campaign_message(
|
|
818
|
-
self, id, fields_template=None
|
|
819
|
-
) -> dict[str, Any]:
|
|
755
|
+
async def get_template_for_campaign_message(self, id, fields_template=None) -> dict[str, Any]:
|
|
820
756
|
"""
|
|
821
757
|
Retrieves the template details for a campaign message specified by the provided ID, allowing optional filtering of response fields and specifying a revision via the header.
|
|
822
758
|
|
|
@@ -833,14 +769,12 @@ class KlaviyoApp(APIApplication):
|
|
|
833
769
|
if id is None:
|
|
834
770
|
raise ValueError("Missing required parameter 'id'")
|
|
835
771
|
url = f"{self.base_url}/api/campaign-messages/{id}/template"
|
|
836
|
-
query_params = {
|
|
837
|
-
k: v for k, v in [("fields[template]", fields_template)] if v is not None
|
|
838
|
-
}
|
|
772
|
+
query_params = {k: v for k, v in [("fields[template]", fields_template)] if v is not None}
|
|
839
773
|
response = self._get(url, params=query_params)
|
|
840
774
|
response.raise_for_status()
|
|
841
775
|
return response.json()
|
|
842
776
|
|
|
843
|
-
def get_template_id_for_campaign_message(self, id) -> dict[str, Any]:
|
|
777
|
+
async def get_template_id_for_campaign_message(self, id) -> dict[str, Any]:
|
|
844
778
|
"""
|
|
845
779
|
Retrieves the template relationship associated with a specific campaign message, identified by its ID, with an optional revision header parameter for version control.
|
|
846
780
|
|
|
@@ -861,7 +795,7 @@ class KlaviyoApp(APIApplication):
|
|
|
861
795
|
response.raise_for_status()
|
|
862
796
|
return response.json()
|
|
863
797
|
|
|
864
|
-
def get_image_for_campaign_message(self, id, fields_image=None) -> dict[str, Any]:
|
|
798
|
+
async def get_image_for_campaign_message(self, id, fields_image=None) -> dict[str, Any]:
|
|
865
799
|
"""
|
|
866
800
|
Retrieves the image associated with a campaign message by ID, allowing optional filtering by image fields and specifying a revision in the request header.
|
|
867
801
|
|
|
@@ -878,14 +812,12 @@ class KlaviyoApp(APIApplication):
|
|
|
878
812
|
if id is None:
|
|
879
813
|
raise ValueError("Missing required parameter 'id'")
|
|
880
814
|
url = f"{self.base_url}/api/campaign-messages/{id}/image"
|
|
881
|
-
query_params = {
|
|
882
|
-
k: v for k, v in [("fields[image]", fields_image)] if v is not None
|
|
883
|
-
}
|
|
815
|
+
query_params = {k: v for k, v in [("fields[image]", fields_image)] if v is not None}
|
|
884
816
|
response = self._get(url, params=query_params)
|
|
885
817
|
response.raise_for_status()
|
|
886
818
|
return response.json()
|
|
887
819
|
|
|
888
|
-
def get_image_id_for_campaign_message(self, id) -> dict[str, Any]:
|
|
820
|
+
async def get_image_id_for_campaign_message(self, id) -> dict[str, Any]:
|
|
889
821
|
"""
|
|
890
822
|
Retrieves the image relationship for a campaign message with the specified ID, optionally filtered by a header revision parameter.
|
|
891
823
|
|
|
@@ -906,7 +838,7 @@ class KlaviyoApp(APIApplication):
|
|
|
906
838
|
response.raise_for_status()
|
|
907
839
|
return response.json()
|
|
908
840
|
|
|
909
|
-
def update_image_for_campaign_message(self, id, data=None) -> Any:
|
|
841
|
+
async def update_image_for_campaign_message(self, id, data=None) -> Any:
|
|
910
842
|
"""
|
|
911
843
|
Updates the image relationship for a campaign message by replacing the existing related image with a new one using the provided revision for concurrency control.
|
|
912
844
|
|
|
@@ -931,9 +863,7 @@ class KlaviyoApp(APIApplication):
|
|
|
931
863
|
"""
|
|
932
864
|
if id is None:
|
|
933
865
|
raise ValueError("Missing required parameter 'id'")
|
|
934
|
-
request_body = {
|
|
935
|
-
"data": data,
|
|
936
|
-
}
|
|
866
|
+
request_body = {"data": data}
|
|
937
867
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
938
868
|
url = f"{self.base_url}/api/campaign-messages/{id}/relationships/image"
|
|
939
869
|
query_params = {}
|
|
@@ -941,9 +871,7 @@ class KlaviyoApp(APIApplication):
|
|
|
941
871
|
response.raise_for_status()
|
|
942
872
|
return response.json()
|
|
943
873
|
|
|
944
|
-
def get_campaign_send_job(
|
|
945
|
-
self, id, fields_campaign_send_job=None
|
|
946
|
-
) -> dict[str, Any]:
|
|
874
|
+
async def get_campaign_send_job(self, id, fields_campaign_send_job=None) -> dict[str, Any]:
|
|
947
875
|
"""
|
|
948
876
|
Retrieves a specific campaign send job by ID, supporting optional query parameters for field selection and header-based revision control.
|
|
949
877
|
|
|
@@ -960,16 +888,12 @@ class KlaviyoApp(APIApplication):
|
|
|
960
888
|
if id is None:
|
|
961
889
|
raise ValueError("Missing required parameter 'id'")
|
|
962
890
|
url = f"{self.base_url}/api/campaign-send-jobs/{id}"
|
|
963
|
-
query_params = {
|
|
964
|
-
k: v
|
|
965
|
-
for k, v in [("fields[campaign-send-job]", fields_campaign_send_job)]
|
|
966
|
-
if v is not None
|
|
967
|
-
}
|
|
891
|
+
query_params = {k: v for k, v in [("fields[campaign-send-job]", fields_campaign_send_job)] if v is not None}
|
|
968
892
|
response = self._get(url, params=query_params)
|
|
969
893
|
response.raise_for_status()
|
|
970
894
|
return response.json()
|
|
971
895
|
|
|
972
|
-
def cancel_campaign_send(self, id, data=None) -> Any:
|
|
896
|
+
async def cancel_campaign_send(self, id, data=None) -> Any:
|
|
973
897
|
"""
|
|
974
898
|
The **PATCH** operation at path "/api/campaign-send-jobs/{id}" partially updates a campaign send job by applying specific changes, requiring a revision in the header, and returns a successful response without content if modified successfully (204), or error codes for invalid requests (400) or server errors (500).
|
|
975
899
|
|
|
@@ -997,9 +921,7 @@ class KlaviyoApp(APIApplication):
|
|
|
997
921
|
"""
|
|
998
922
|
if id is None:
|
|
999
923
|
raise ValueError("Missing required parameter 'id'")
|
|
1000
|
-
request_body = {
|
|
1001
|
-
"data": data,
|
|
1002
|
-
}
|
|
924
|
+
request_body = {"data": data}
|
|
1003
925
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1004
926
|
url = f"{self.base_url}/api/campaign-send-jobs/{id}"
|
|
1005
927
|
query_params = {}
|
|
@@ -1007,9 +929,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1007
929
|
response.raise_for_status()
|
|
1008
930
|
return response.json()
|
|
1009
931
|
|
|
1010
|
-
def get_campaign_recipient_estimation_job(
|
|
1011
|
-
self, id, fields_campaign_recipient_estimation_job=None
|
|
1012
|
-
) -> dict[str, Any]:
|
|
932
|
+
async def get_campaign_recipient_estimation_job(self, id, fields_campaign_recipient_estimation_job=None) -> dict[str, Any]:
|
|
1013
933
|
"""
|
|
1014
934
|
Retrieves details of a specific campaign recipient estimation job by its ID with optional field selection and revision header.
|
|
1015
935
|
|
|
@@ -1027,20 +947,13 @@ class KlaviyoApp(APIApplication):
|
|
|
1027
947
|
raise ValueError("Missing required parameter 'id'")
|
|
1028
948
|
url = f"{self.base_url}/api/campaign-recipient-estimation-jobs/{id}"
|
|
1029
949
|
query_params = {
|
|
1030
|
-
k: v
|
|
1031
|
-
for k, v in [
|
|
1032
|
-
(
|
|
1033
|
-
"fields[campaign-recipient-estimation-job]",
|
|
1034
|
-
fields_campaign_recipient_estimation_job,
|
|
1035
|
-
)
|
|
1036
|
-
]
|
|
1037
|
-
if v is not None
|
|
950
|
+
k: v for k, v in [("fields[campaign-recipient-estimation-job]", fields_campaign_recipient_estimation_job)] if v is not None
|
|
1038
951
|
}
|
|
1039
952
|
response = self._get(url, params=query_params)
|
|
1040
953
|
response.raise_for_status()
|
|
1041
954
|
return response.json()
|
|
1042
955
|
|
|
1043
|
-
def send_campaign(self, data=None) -> dict[str, Any]:
|
|
956
|
+
async def send_campaign(self, data=None) -> dict[str, Any]:
|
|
1044
957
|
"""
|
|
1045
958
|
Submits a campaign send job for asynchronous processing of a message dispatch, with a required API version header parameter.
|
|
1046
959
|
|
|
@@ -1062,9 +975,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1062
975
|
Tags:
|
|
1063
976
|
Campaigns, Jobs
|
|
1064
977
|
"""
|
|
1065
|
-
request_body = {
|
|
1066
|
-
"data": data,
|
|
1067
|
-
}
|
|
978
|
+
request_body = {"data": data}
|
|
1068
979
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1069
980
|
url = f"{self.base_url}/api/campaign-send-jobs"
|
|
1070
981
|
query_params = {}
|
|
@@ -1072,7 +983,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1072
983
|
response.raise_for_status()
|
|
1073
984
|
return response.json()
|
|
1074
985
|
|
|
1075
|
-
def refresh_campaign_recipient_estimation(self, data=None) -> dict[str, Any]:
|
|
986
|
+
async def refresh_campaign_recipient_estimation(self, data=None) -> dict[str, Any]:
|
|
1076
987
|
"""
|
|
1077
988
|
Submits a request to create and initiate a campaign recipient estimation job, requiring a revision header and returning 202 Accepted, 400 Bad Request, or 500 Internal Server Error responses.
|
|
1078
989
|
|
|
@@ -1094,9 +1005,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1094
1005
|
Tags:
|
|
1095
1006
|
Campaigns, Jobs
|
|
1096
1007
|
"""
|
|
1097
|
-
request_body = {
|
|
1098
|
-
"data": data,
|
|
1099
|
-
}
|
|
1008
|
+
request_body = {"data": data}
|
|
1100
1009
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1101
1010
|
url = f"{self.base_url}/api/campaign-recipient-estimation-jobs"
|
|
1102
1011
|
query_params = {}
|
|
@@ -1104,14 +1013,8 @@ class KlaviyoApp(APIApplication):
|
|
|
1104
1013
|
response.raise_for_status()
|
|
1105
1014
|
return response.json()
|
|
1106
1015
|
|
|
1107
|
-
def get_catalog_items(
|
|
1108
|
-
self,
|
|
1109
|
-
fields_catalog_item=None,
|
|
1110
|
-
fields_catalog_variant=None,
|
|
1111
|
-
filter=None,
|
|
1112
|
-
include=None,
|
|
1113
|
-
page_cursor=None,
|
|
1114
|
-
sort=None,
|
|
1016
|
+
async def get_catalog_items(
|
|
1017
|
+
self, fields_catalog_item=None, fields_catalog_variant=None, filter=None, include=None, page_cursor=None, sort=None
|
|
1115
1018
|
) -> dict[str, Any]:
|
|
1116
1019
|
"""
|
|
1117
1020
|
This API operation retrieves a list of catalog items, allowing for customizable fields, filtering, sorting, and pagination, with optional inclusion of related resources and version control through a revision header.
|
|
@@ -1147,7 +1050,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1147
1050
|
response.raise_for_status()
|
|
1148
1051
|
return response.json()
|
|
1149
1052
|
|
|
1150
|
-
def create_catalog_item(self, data=None) -> dict[str, Any]:
|
|
1053
|
+
async def create_catalog_item(self, data=None) -> dict[str, Any]:
|
|
1151
1054
|
"""
|
|
1152
1055
|
Creates a new catalog item entry with optional revision control through header parameters, returning success (201), client error (400), or server error (500) status codes.
|
|
1153
1056
|
|
|
@@ -1199,9 +1102,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1199
1102
|
Tags:
|
|
1200
1103
|
Catalogs, Items
|
|
1201
1104
|
"""
|
|
1202
|
-
request_body = {
|
|
1203
|
-
"data": data,
|
|
1204
|
-
}
|
|
1105
|
+
request_body = {"data": data}
|
|
1205
1106
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1206
1107
|
url = f"{self.base_url}/api/catalog-items"
|
|
1207
1108
|
query_params = {}
|
|
@@ -1209,9 +1110,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1209
1110
|
response.raise_for_status()
|
|
1210
1111
|
return response.json()
|
|
1211
1112
|
|
|
1212
|
-
def get_catalog_item(
|
|
1213
|
-
self, id, fields_catalog_item=None, fields_catalog_variant=None, include=None
|
|
1214
|
-
) -> dict[str, Any]:
|
|
1113
|
+
async def get_catalog_item(self, id, fields_catalog_item=None, fields_catalog_variant=None, include=None) -> dict[str, Any]:
|
|
1215
1114
|
"""
|
|
1216
1115
|
The **GET /api/catalog-items/{id}** operation retrieves a specific catalog item by its ID, allowing for customizable field selection via query parameters and inclusion of additional resources, while requiring revision information in the header.
|
|
1217
1116
|
|
|
@@ -1243,7 +1142,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1243
1142
|
response.raise_for_status()
|
|
1244
1143
|
return response.json()
|
|
1245
1144
|
|
|
1246
|
-
def delete_catalog_item(self, id) -> Any:
|
|
1145
|
+
async def delete_catalog_item(self, id) -> Any:
|
|
1247
1146
|
"""
|
|
1248
1147
|
Deletes a catalog item by its ID, requiring a revision parameter in the header, and returns a successful response with a 204 status if the operation is completed without issues.
|
|
1249
1148
|
|
|
@@ -1264,7 +1163,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1264
1163
|
response.raise_for_status()
|
|
1265
1164
|
return response.json()
|
|
1266
1165
|
|
|
1267
|
-
def update_catalog_item(self, id, data=None) -> dict[str, Any]:
|
|
1166
|
+
async def update_catalog_item(self, id, data=None) -> dict[str, Any]:
|
|
1268
1167
|
"""
|
|
1269
1168
|
Updates a catalog item by its ID with partial modifications, requiring a revision header and returning success (200), bad request (400), or server error (500) status codes.
|
|
1270
1169
|
|
|
@@ -1317,9 +1216,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1317
1216
|
"""
|
|
1318
1217
|
if id is None:
|
|
1319
1218
|
raise ValueError("Missing required parameter 'id'")
|
|
1320
|
-
request_body = {
|
|
1321
|
-
"data": data,
|
|
1322
|
-
}
|
|
1219
|
+
request_body = {"data": data}
|
|
1323
1220
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1324
1221
|
url = f"{self.base_url}/api/catalog-items/{id}"
|
|
1325
1222
|
query_params = {}
|
|
@@ -1327,7 +1224,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1327
1224
|
response.raise_for_status()
|
|
1328
1225
|
return response.json()
|
|
1329
1226
|
|
|
1330
|
-
def get_bulk_create_catalog_items_jobs(
|
|
1227
|
+
async def get_bulk_create_catalog_items_jobs(
|
|
1331
1228
|
self, fields_catalog_item_bulk_create_job=None, filter=None, page_cursor=None
|
|
1332
1229
|
) -> dict[str, Any]:
|
|
1333
1230
|
"""
|
|
@@ -1348,10 +1245,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1348
1245
|
query_params = {
|
|
1349
1246
|
k: v
|
|
1350
1247
|
for k, v in [
|
|
1351
|
-
(
|
|
1352
|
-
"fields[catalog-item-bulk-create-job]",
|
|
1353
|
-
fields_catalog_item_bulk_create_job,
|
|
1354
|
-
),
|
|
1248
|
+
("fields[catalog-item-bulk-create-job]", fields_catalog_item_bulk_create_job),
|
|
1355
1249
|
("filter", filter),
|
|
1356
1250
|
("page[cursor]", page_cursor),
|
|
1357
1251
|
]
|
|
@@ -1361,7 +1255,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1361
1255
|
response.raise_for_status()
|
|
1362
1256
|
return response.json()
|
|
1363
1257
|
|
|
1364
|
-
def bulk_create_catalog_items(self, data=None) -> dict[str, Any]:
|
|
1258
|
+
async def bulk_create_catalog_items(self, data=None) -> dict[str, Any]:
|
|
1365
1259
|
"""
|
|
1366
1260
|
Submits a request to create multiple catalog items asynchronously via bulk processing.
|
|
1367
1261
|
|
|
@@ -1456,9 +1350,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1456
1350
|
Tags:
|
|
1457
1351
|
Catalogs, Items
|
|
1458
1352
|
"""
|
|
1459
|
-
request_body = {
|
|
1460
|
-
"data": data,
|
|
1461
|
-
}
|
|
1353
|
+
request_body = {"data": data}
|
|
1462
1354
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1463
1355
|
url = f"{self.base_url}/api/catalog-item-bulk-create-jobs"
|
|
1464
1356
|
query_params = {}
|
|
@@ -1466,12 +1358,8 @@ class KlaviyoApp(APIApplication):
|
|
|
1466
1358
|
response.raise_for_status()
|
|
1467
1359
|
return response.json()
|
|
1468
1360
|
|
|
1469
|
-
def get_bulk_create_catalog_items_job(
|
|
1470
|
-
self,
|
|
1471
|
-
job_id,
|
|
1472
|
-
fields_catalog_item_bulk_create_job=None,
|
|
1473
|
-
fields_catalog_item=None,
|
|
1474
|
-
include=None,
|
|
1361
|
+
async def get_bulk_create_catalog_items_job(
|
|
1362
|
+
self, job_id, fields_catalog_item_bulk_create_job=None, fields_catalog_item=None, include=None
|
|
1475
1363
|
) -> dict[str, Any]:
|
|
1476
1364
|
"""
|
|
1477
1365
|
This API operation retrieves a catalog item bulk creation job by its ID, allowing optional fields and included resources to be specified for detailed job information.
|
|
@@ -1494,10 +1382,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1494
1382
|
query_params = {
|
|
1495
1383
|
k: v
|
|
1496
1384
|
for k, v in [
|
|
1497
|
-
(
|
|
1498
|
-
"fields[catalog-item-bulk-create-job]",
|
|
1499
|
-
fields_catalog_item_bulk_create_job,
|
|
1500
|
-
),
|
|
1385
|
+
("fields[catalog-item-bulk-create-job]", fields_catalog_item_bulk_create_job),
|
|
1501
1386
|
("fields[catalog-item]", fields_catalog_item),
|
|
1502
1387
|
("include", include),
|
|
1503
1388
|
]
|
|
@@ -1507,7 +1392,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1507
1392
|
response.raise_for_status()
|
|
1508
1393
|
return response.json()
|
|
1509
1394
|
|
|
1510
|
-
def get_bulk_update_catalog_items_jobs(
|
|
1395
|
+
async def get_bulk_update_catalog_items_jobs(
|
|
1511
1396
|
self, fields_catalog_item_bulk_update_job=None, filter=None, page_cursor=None
|
|
1512
1397
|
) -> dict[str, Any]:
|
|
1513
1398
|
"""
|
|
@@ -1528,10 +1413,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1528
1413
|
query_params = {
|
|
1529
1414
|
k: v
|
|
1530
1415
|
for k, v in [
|
|
1531
|
-
(
|
|
1532
|
-
"fields[catalog-item-bulk-update-job]",
|
|
1533
|
-
fields_catalog_item_bulk_update_job,
|
|
1534
|
-
),
|
|
1416
|
+
("fields[catalog-item-bulk-update-job]", fields_catalog_item_bulk_update_job),
|
|
1535
1417
|
("filter", filter),
|
|
1536
1418
|
("page[cursor]", page_cursor),
|
|
1537
1419
|
]
|
|
@@ -1541,7 +1423,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1541
1423
|
response.raise_for_status()
|
|
1542
1424
|
return response.json()
|
|
1543
1425
|
|
|
1544
|
-
def bulk_update_catalog_items(self, data=None) -> dict[str, Any]:
|
|
1426
|
+
async def bulk_update_catalog_items(self, data=None) -> dict[str, Any]:
|
|
1545
1427
|
"""
|
|
1546
1428
|
Creates a bulk update job for catalog items, accepting header-based revision control and returning asynchronous responses including 202 Accepted, 400 Bad Request, and 500 Internal Server Error status codes.
|
|
1547
1429
|
|
|
@@ -1632,9 +1514,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1632
1514
|
Tags:
|
|
1633
1515
|
Catalogs, Items
|
|
1634
1516
|
"""
|
|
1635
|
-
request_body = {
|
|
1636
|
-
"data": data,
|
|
1637
|
-
}
|
|
1517
|
+
request_body = {"data": data}
|
|
1638
1518
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1639
1519
|
url = f"{self.base_url}/api/catalog-item-bulk-update-jobs"
|
|
1640
1520
|
query_params = {}
|
|
@@ -1642,12 +1522,8 @@ class KlaviyoApp(APIApplication):
|
|
|
1642
1522
|
response.raise_for_status()
|
|
1643
1523
|
return response.json()
|
|
1644
1524
|
|
|
1645
|
-
def get_bulk_update_catalog_items_job(
|
|
1646
|
-
self,
|
|
1647
|
-
job_id,
|
|
1648
|
-
fields_catalog_item_bulk_update_job=None,
|
|
1649
|
-
fields_catalog_item=None,
|
|
1650
|
-
include=None,
|
|
1525
|
+
async def get_bulk_update_catalog_items_job(
|
|
1526
|
+
self, job_id, fields_catalog_item_bulk_update_job=None, fields_catalog_item=None, include=None
|
|
1651
1527
|
) -> dict[str, Any]:
|
|
1652
1528
|
"""
|
|
1653
1529
|
Retrieves the status and details of a specific catalog item bulk update job, including optional related items and field filtering via query parameters.
|
|
@@ -1670,10 +1546,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1670
1546
|
query_params = {
|
|
1671
1547
|
k: v
|
|
1672
1548
|
for k, v in [
|
|
1673
|
-
(
|
|
1674
|
-
"fields[catalog-item-bulk-update-job]",
|
|
1675
|
-
fields_catalog_item_bulk_update_job,
|
|
1676
|
-
),
|
|
1549
|
+
("fields[catalog-item-bulk-update-job]", fields_catalog_item_bulk_update_job),
|
|
1677
1550
|
("fields[catalog-item]", fields_catalog_item),
|
|
1678
1551
|
("include", include),
|
|
1679
1552
|
]
|
|
@@ -1683,7 +1556,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1683
1556
|
response.raise_for_status()
|
|
1684
1557
|
return response.json()
|
|
1685
1558
|
|
|
1686
|
-
def get_bulk_delete_catalog_items_jobs(
|
|
1559
|
+
async def get_bulk_delete_catalog_items_jobs(
|
|
1687
1560
|
self, fields_catalog_item_bulk_delete_job=None, filter=None, page_cursor=None
|
|
1688
1561
|
) -> dict[str, Any]:
|
|
1689
1562
|
"""
|
|
@@ -1704,10 +1577,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1704
1577
|
query_params = {
|
|
1705
1578
|
k: v
|
|
1706
1579
|
for k, v in [
|
|
1707
|
-
(
|
|
1708
|
-
"fields[catalog-item-bulk-delete-job]",
|
|
1709
|
-
fields_catalog_item_bulk_delete_job,
|
|
1710
|
-
),
|
|
1580
|
+
("fields[catalog-item-bulk-delete-job]", fields_catalog_item_bulk_delete_job),
|
|
1711
1581
|
("filter", filter),
|
|
1712
1582
|
("page[cursor]", page_cursor),
|
|
1713
1583
|
]
|
|
@@ -1717,7 +1587,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1717
1587
|
response.raise_for_status()
|
|
1718
1588
|
return response.json()
|
|
1719
1589
|
|
|
1720
|
-
def bulk_delete_catalog_items(self, data=None) -> dict[str, Any]:
|
|
1590
|
+
async def bulk_delete_catalog_items(self, data=None) -> dict[str, Any]:
|
|
1721
1591
|
"""
|
|
1722
1592
|
Creates a bulk delete job for catalog items with a specified revision header, returning 202 on success, 400 for bad requests, or 500 for server errors.
|
|
1723
1593
|
|
|
@@ -1752,9 +1622,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1752
1622
|
Tags:
|
|
1753
1623
|
Catalogs, Items
|
|
1754
1624
|
"""
|
|
1755
|
-
request_body = {
|
|
1756
|
-
"data": data,
|
|
1757
|
-
}
|
|
1625
|
+
request_body = {"data": data}
|
|
1758
1626
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1759
1627
|
url = f"{self.base_url}/api/catalog-item-bulk-delete-jobs"
|
|
1760
1628
|
query_params = {}
|
|
@@ -1762,9 +1630,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1762
1630
|
response.raise_for_status()
|
|
1763
1631
|
return response.json()
|
|
1764
1632
|
|
|
1765
|
-
def get_bulk_delete_catalog_items_job(
|
|
1766
|
-
self, job_id, fields_catalog_item_bulk_delete_job=None
|
|
1767
|
-
) -> dict[str, Any]:
|
|
1633
|
+
async def get_bulk_delete_catalog_items_job(self, job_id, fields_catalog_item_bulk_delete_job=None) -> dict[str, Any]:
|
|
1768
1634
|
"""
|
|
1769
1635
|
Retrieve a catalog item bulk delete job by its job ID, allowing for the inspection of job details such as status and progress, with optional filtering of returned fields and specification of a revision.
|
|
1770
1636
|
|
|
@@ -1781,29 +1647,13 @@ class KlaviyoApp(APIApplication):
|
|
|
1781
1647
|
if job_id is None:
|
|
1782
1648
|
raise ValueError("Missing required parameter 'job_id'")
|
|
1783
1649
|
url = f"{self.base_url}/api/catalog-item-bulk-delete-jobs/{job_id}"
|
|
1784
|
-
query_params = {
|
|
1785
|
-
k: v
|
|
1786
|
-
for k, v in [
|
|
1787
|
-
(
|
|
1788
|
-
"fields[catalog-item-bulk-delete-job]",
|
|
1789
|
-
fields_catalog_item_bulk_delete_job,
|
|
1790
|
-
)
|
|
1791
|
-
]
|
|
1792
|
-
if v is not None
|
|
1793
|
-
}
|
|
1650
|
+
query_params = {k: v for k, v in [("fields[catalog-item-bulk-delete-job]", fields_catalog_item_bulk_delete_job)] if v is not None}
|
|
1794
1651
|
response = self._get(url, params=query_params)
|
|
1795
1652
|
response.raise_for_status()
|
|
1796
1653
|
return response.json()
|
|
1797
1654
|
|
|
1798
|
-
def get_items_for_catalog_category(
|
|
1799
|
-
self,
|
|
1800
|
-
id,
|
|
1801
|
-
fields_catalog_item=None,
|
|
1802
|
-
fields_catalog_variant=None,
|
|
1803
|
-
filter=None,
|
|
1804
|
-
include=None,
|
|
1805
|
-
page_cursor=None,
|
|
1806
|
-
sort=None,
|
|
1655
|
+
async def get_items_for_catalog_category(
|
|
1656
|
+
self, id, fields_catalog_item=None, fields_catalog_variant=None, filter=None, include=None, page_cursor=None, sort=None
|
|
1807
1657
|
) -> dict[str, Any]:
|
|
1808
1658
|
"""
|
|
1809
1659
|
Retrieve a list of items within a specified catalog category by ID, allowing optional filtering, sorting, and inclusion of additional details.
|
|
@@ -1842,9 +1692,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1842
1692
|
response.raise_for_status()
|
|
1843
1693
|
return response.json()
|
|
1844
1694
|
|
|
1845
|
-
def get_category_ids_for_catalog_item(
|
|
1846
|
-
self, id, filter=None, page_cursor=None, sort=None
|
|
1847
|
-
) -> dict[str, Any]:
|
|
1695
|
+
async def get_category_ids_for_catalog_item(self, id, filter=None, page_cursor=None, sort=None) -> dict[str, Any]:
|
|
1848
1696
|
"""
|
|
1849
1697
|
The API operation at path "/api/catalog-items/{id}/relationships/categories" using the "GET" method retrieves the category relationships for a specific catalog item identified by its ID, allowing filtering, pagination, and sorting of the results, with optional revision specification in the header.
|
|
1850
1698
|
|
|
@@ -1863,20 +1711,12 @@ class KlaviyoApp(APIApplication):
|
|
|
1863
1711
|
if id is None:
|
|
1864
1712
|
raise ValueError("Missing required parameter 'id'")
|
|
1865
1713
|
url = f"{self.base_url}/api/catalog-items/{id}/relationships/categories"
|
|
1866
|
-
query_params = {
|
|
1867
|
-
k: v
|
|
1868
|
-
for k, v in [
|
|
1869
|
-
("filter", filter),
|
|
1870
|
-
("page[cursor]", page_cursor),
|
|
1871
|
-
("sort", sort),
|
|
1872
|
-
]
|
|
1873
|
-
if v is not None
|
|
1874
|
-
}
|
|
1714
|
+
query_params = {k: v for k, v in [("filter", filter), ("page[cursor]", page_cursor), ("sort", sort)] if v is not None}
|
|
1875
1715
|
response = self._get(url, params=query_params)
|
|
1876
1716
|
response.raise_for_status()
|
|
1877
1717
|
return response.json()
|
|
1878
1718
|
|
|
1879
|
-
def add_categories_to_catalog_item(self, id, data=None) -> Any:
|
|
1719
|
+
async def add_categories_to_catalog_item(self, id, data=None) -> Any:
|
|
1880
1720
|
"""
|
|
1881
1721
|
Adds a relationship between the specified catalog item and one or more categories using the provided revision header.
|
|
1882
1722
|
|
|
@@ -1907,9 +1747,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1907
1747
|
"""
|
|
1908
1748
|
if id is None:
|
|
1909
1749
|
raise ValueError("Missing required parameter 'id'")
|
|
1910
|
-
request_body = {
|
|
1911
|
-
"data": data,
|
|
1912
|
-
}
|
|
1750
|
+
request_body = {"data": data}
|
|
1913
1751
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1914
1752
|
url = f"{self.base_url}/api/catalog-items/{id}/relationships/categories"
|
|
1915
1753
|
query_params = {}
|
|
@@ -1917,7 +1755,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1917
1755
|
response.raise_for_status()
|
|
1918
1756
|
return response.json()
|
|
1919
1757
|
|
|
1920
|
-
def remove_categories_from_catalog_item(self, id, data=None) -> Any:
|
|
1758
|
+
async def remove_categories_from_catalog_item(self, id, data=None) -> Any:
|
|
1921
1759
|
"""
|
|
1922
1760
|
Deletes a relationship between a catalog item, identified by `{id}`, and its categories, requiring a revision provided in the header for validation.
|
|
1923
1761
|
|
|
@@ -1948,9 +1786,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1948
1786
|
"""
|
|
1949
1787
|
if id is None:
|
|
1950
1788
|
raise ValueError("Missing required parameter 'id'")
|
|
1951
|
-
request_body = {
|
|
1952
|
-
"data": data,
|
|
1953
|
-
}
|
|
1789
|
+
request_body = {"data": data}
|
|
1954
1790
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1955
1791
|
url = f"{self.base_url}/api/catalog-items/{id}/relationships/categories"
|
|
1956
1792
|
query_params = {}
|
|
@@ -1958,7 +1794,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1958
1794
|
response.raise_for_status()
|
|
1959
1795
|
return response.json()
|
|
1960
1796
|
|
|
1961
|
-
def update_categories_for_catalog_item(self, id, data=None) -> Any:
|
|
1797
|
+
async def update_categories_for_catalog_item(self, id, data=None) -> Any:
|
|
1962
1798
|
"""
|
|
1963
1799
|
This API operation updates the categories relationship for a catalog item by applying partial modifications using the PATCH method, requiring a revision header to ensure data consistency.
|
|
1964
1800
|
|
|
@@ -1989,9 +1825,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1989
1825
|
"""
|
|
1990
1826
|
if id is None:
|
|
1991
1827
|
raise ValueError("Missing required parameter 'id'")
|
|
1992
|
-
request_body = {
|
|
1993
|
-
"data": data,
|
|
1994
|
-
}
|
|
1828
|
+
request_body = {"data": data}
|
|
1995
1829
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
1996
1830
|
url = f"{self.base_url}/api/catalog-items/{id}/relationships/categories"
|
|
1997
1831
|
query_params = {}
|
|
@@ -1999,9 +1833,7 @@ class KlaviyoApp(APIApplication):
|
|
|
1999
1833
|
response.raise_for_status()
|
|
2000
1834
|
return response.json()
|
|
2001
1835
|
|
|
2002
|
-
def get_catalog_variants(
|
|
2003
|
-
self, fields_catalog_variant=None, filter=None, page_cursor=None, sort=None
|
|
2004
|
-
) -> dict[str, Any]:
|
|
1836
|
+
async def get_catalog_variants(self, fields_catalog_variant=None, filter=None, page_cursor=None, sort=None) -> dict[str, Any]:
|
|
2005
1837
|
"""
|
|
2006
1838
|
Retrieves all catalog variants with optional filtering, sorting, pagination, and field selection parameters.
|
|
2007
1839
|
|
|
@@ -2032,7 +1864,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2032
1864
|
response.raise_for_status()
|
|
2033
1865
|
return response.json()
|
|
2034
1866
|
|
|
2035
|
-
def create_catalog_variant(self, data=None) -> dict[str, Any]:
|
|
1867
|
+
async def create_catalog_variant(self, data=None) -> dict[str, Any]:
|
|
2036
1868
|
"""
|
|
2037
1869
|
Creates a new catalog variant with the provided data, requiring a revision header and returning status codes for success (201), client errors (400), and server errors (500).
|
|
2038
1870
|
|
|
@@ -2081,9 +1913,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2081
1913
|
Tags:
|
|
2082
1914
|
Catalogs, Variants
|
|
2083
1915
|
"""
|
|
2084
|
-
request_body = {
|
|
2085
|
-
"data": data,
|
|
2086
|
-
}
|
|
1916
|
+
request_body = {"data": data}
|
|
2087
1917
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2088
1918
|
url = f"{self.base_url}/api/catalog-variants"
|
|
2089
1919
|
query_params = {}
|
|
@@ -2091,7 +1921,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2091
1921
|
response.raise_for_status()
|
|
2092
1922
|
return response.json()
|
|
2093
1923
|
|
|
2094
|
-
def get_catalog_variant(self, id, fields_catalog_variant=None) -> dict[str, Any]:
|
|
1924
|
+
async def get_catalog_variant(self, id, fields_catalog_variant=None) -> dict[str, Any]:
|
|
2095
1925
|
"""
|
|
2096
1926
|
Retrieves a catalog variant by ID with optional field filtering and revision header support.
|
|
2097
1927
|
|
|
@@ -2108,16 +1938,12 @@ class KlaviyoApp(APIApplication):
|
|
|
2108
1938
|
if id is None:
|
|
2109
1939
|
raise ValueError("Missing required parameter 'id'")
|
|
2110
1940
|
url = f"{self.base_url}/api/catalog-variants/{id}"
|
|
2111
|
-
query_params = {
|
|
2112
|
-
k: v
|
|
2113
|
-
for k, v in [("fields[catalog-variant]", fields_catalog_variant)]
|
|
2114
|
-
if v is not None
|
|
2115
|
-
}
|
|
1941
|
+
query_params = {k: v for k, v in [("fields[catalog-variant]", fields_catalog_variant)] if v is not None}
|
|
2116
1942
|
response = self._get(url, params=query_params)
|
|
2117
1943
|
response.raise_for_status()
|
|
2118
1944
|
return response.json()
|
|
2119
1945
|
|
|
2120
|
-
def delete_catalog_variant(self, id) -> Any:
|
|
1946
|
+
async def delete_catalog_variant(self, id) -> Any:
|
|
2121
1947
|
"""
|
|
2122
1948
|
Deletes a catalog variant by its ID using a specified header revision, returning status codes for success (204), client error (400), or server error (500).
|
|
2123
1949
|
|
|
@@ -2138,7 +1964,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2138
1964
|
response.raise_for_status()
|
|
2139
1965
|
return response.json()
|
|
2140
1966
|
|
|
2141
|
-
def update_catalog_variant(self, id, data=None) -> dict[str, Any]:
|
|
1967
|
+
async def update_catalog_variant(self, id, data=None) -> dict[str, Any]:
|
|
2142
1968
|
"""
|
|
2143
1969
|
Updates a catalog variant's partial data using a revision header and returns the updated result upon success.
|
|
2144
1970
|
|
|
@@ -2180,9 +2006,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2180
2006
|
"""
|
|
2181
2007
|
if id is None:
|
|
2182
2008
|
raise ValueError("Missing required parameter 'id'")
|
|
2183
|
-
request_body = {
|
|
2184
|
-
"data": data,
|
|
2185
|
-
}
|
|
2009
|
+
request_body = {"data": data}
|
|
2186
2010
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2187
2011
|
url = f"{self.base_url}/api/catalog-variants/{id}"
|
|
2188
2012
|
query_params = {}
|
|
@@ -2190,9 +2014,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2190
2014
|
response.raise_for_status()
|
|
2191
2015
|
return response.json()
|
|
2192
2016
|
|
|
2193
|
-
def get_create_variants_jobs(
|
|
2194
|
-
self, fields_catalog_variant_bulk_create_job=None, filter=None, page_cursor=None
|
|
2195
|
-
) -> dict[str, Any]:
|
|
2017
|
+
async def get_create_variants_jobs(self, fields_catalog_variant_bulk_create_job=None, filter=None, page_cursor=None) -> dict[str, Any]:
|
|
2196
2018
|
"""
|
|
2197
2019
|
Retrieves a catalog variant bulk create job by ID, supporting optional filtering, pagination, and field selection in the response.
|
|
2198
2020
|
|
|
@@ -2211,10 +2033,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2211
2033
|
query_params = {
|
|
2212
2034
|
k: v
|
|
2213
2035
|
for k, v in [
|
|
2214
|
-
(
|
|
2215
|
-
"fields[catalog-variant-bulk-create-job]",
|
|
2216
|
-
fields_catalog_variant_bulk_create_job,
|
|
2217
|
-
),
|
|
2036
|
+
("fields[catalog-variant-bulk-create-job]", fields_catalog_variant_bulk_create_job),
|
|
2218
2037
|
("filter", filter),
|
|
2219
2038
|
("page[cursor]", page_cursor),
|
|
2220
2039
|
]
|
|
@@ -2224,7 +2043,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2224
2043
|
response.raise_for_status()
|
|
2225
2044
|
return response.json()
|
|
2226
2045
|
|
|
2227
|
-
def bulk_create_catalog_variants(self, data=None) -> dict[str, Any]:
|
|
2046
|
+
async def bulk_create_catalog_variants(self, data=None) -> dict[str, Any]:
|
|
2228
2047
|
"""
|
|
2229
2048
|
The **POST /api/catalog-variant-bulk-create-jobs** operation creates a job to bulk create catalog variants, accepting up to 100 variants per request, with a required "revision" header for versioning.
|
|
2230
2049
|
|
|
@@ -2313,9 +2132,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2313
2132
|
Tags:
|
|
2314
2133
|
Catalogs, Variants
|
|
2315
2134
|
"""
|
|
2316
|
-
request_body = {
|
|
2317
|
-
"data": data,
|
|
2318
|
-
}
|
|
2135
|
+
request_body = {"data": data}
|
|
2319
2136
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2320
2137
|
url = f"{self.base_url}/api/catalog-variant-bulk-create-jobs"
|
|
2321
2138
|
query_params = {}
|
|
@@ -2323,12 +2140,8 @@ class KlaviyoApp(APIApplication):
|
|
|
2323
2140
|
response.raise_for_status()
|
|
2324
2141
|
return response.json()
|
|
2325
2142
|
|
|
2326
|
-
def get_create_variants_job(
|
|
2327
|
-
self,
|
|
2328
|
-
job_id,
|
|
2329
|
-
fields_catalog_variant_bulk_create_job=None,
|
|
2330
|
-
fields_catalog_variant=None,
|
|
2331
|
-
include=None,
|
|
2143
|
+
async def get_create_variants_job(
|
|
2144
|
+
self, job_id, fields_catalog_variant_bulk_create_job=None, fields_catalog_variant=None, include=None
|
|
2332
2145
|
) -> dict[str, Any]:
|
|
2333
2146
|
"""
|
|
2334
2147
|
Retrieve details of a specific catalog variant bulk creation job by its ID, supporting optional field selection, inclusion of related resources, and requiring a revision header.
|
|
@@ -2351,10 +2164,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2351
2164
|
query_params = {
|
|
2352
2165
|
k: v
|
|
2353
2166
|
for k, v in [
|
|
2354
|
-
(
|
|
2355
|
-
"fields[catalog-variant-bulk-create-job]",
|
|
2356
|
-
fields_catalog_variant_bulk_create_job,
|
|
2357
|
-
),
|
|
2167
|
+
("fields[catalog-variant-bulk-create-job]", fields_catalog_variant_bulk_create_job),
|
|
2358
2168
|
("fields[catalog-variant]", fields_catalog_variant),
|
|
2359
2169
|
("include", include),
|
|
2360
2170
|
]
|
|
@@ -2364,9 +2174,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2364
2174
|
response.raise_for_status()
|
|
2365
2175
|
return response.json()
|
|
2366
2176
|
|
|
2367
|
-
def get_update_variants_jobs(
|
|
2368
|
-
self, fields_catalog_variant_bulk_update_job=None, filter=None, page_cursor=None
|
|
2369
|
-
) -> dict[str, Any]:
|
|
2177
|
+
async def get_update_variants_jobs(self, fields_catalog_variant_bulk_update_job=None, filter=None, page_cursor=None) -> dict[str, Any]:
|
|
2370
2178
|
"""
|
|
2371
2179
|
The **GET** operation at "/api/catalog-variant-bulk-update-jobs" retrieves a list of catalog variant bulk update jobs, allowing users to filter results by specific fields and pagination options.
|
|
2372
2180
|
|
|
@@ -2385,10 +2193,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2385
2193
|
query_params = {
|
|
2386
2194
|
k: v
|
|
2387
2195
|
for k, v in [
|
|
2388
|
-
(
|
|
2389
|
-
"fields[catalog-variant-bulk-update-job]",
|
|
2390
|
-
fields_catalog_variant_bulk_update_job,
|
|
2391
|
-
),
|
|
2196
|
+
("fields[catalog-variant-bulk-update-job]", fields_catalog_variant_bulk_update_job),
|
|
2392
2197
|
("filter", filter),
|
|
2393
2198
|
("page[cursor]", page_cursor),
|
|
2394
2199
|
]
|
|
@@ -2398,7 +2203,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2398
2203
|
response.raise_for_status()
|
|
2399
2204
|
return response.json()
|
|
2400
2205
|
|
|
2401
|
-
def bulk_update_catalog_variants(self, data=None) -> dict[str, Any]:
|
|
2206
|
+
async def bulk_update_catalog_variants(self, data=None) -> dict[str, Any]:
|
|
2402
2207
|
"""
|
|
2403
2208
|
Creates a catalog variant bulk update job to process batch updates for multiple product variants.
|
|
2404
2209
|
|
|
@@ -2467,9 +2272,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2467
2272
|
Tags:
|
|
2468
2273
|
Catalogs, Variants
|
|
2469
2274
|
"""
|
|
2470
|
-
request_body = {
|
|
2471
|
-
"data": data,
|
|
2472
|
-
}
|
|
2275
|
+
request_body = {"data": data}
|
|
2473
2276
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2474
2277
|
url = f"{self.base_url}/api/catalog-variant-bulk-update-jobs"
|
|
2475
2278
|
query_params = {}
|
|
@@ -2477,12 +2280,8 @@ class KlaviyoApp(APIApplication):
|
|
|
2477
2280
|
response.raise_for_status()
|
|
2478
2281
|
return response.json()
|
|
2479
2282
|
|
|
2480
|
-
def get_update_variants_job(
|
|
2481
|
-
self,
|
|
2482
|
-
job_id,
|
|
2483
|
-
fields_catalog_variant_bulk_update_job=None,
|
|
2484
|
-
fields_catalog_variant=None,
|
|
2485
|
-
include=None,
|
|
2283
|
+
async def get_update_variants_job(
|
|
2284
|
+
self, job_id, fields_catalog_variant_bulk_update_job=None, fields_catalog_variant=None, include=None
|
|
2486
2285
|
) -> dict[str, Any]:
|
|
2487
2286
|
"""
|
|
2488
2287
|
The API operation defined at path "/api/catalog-variant-bulk-update-jobs/{job_id}" using the "GET" method retrieves details about a specific catalog variant bulk update job, allowing optional specification of fields to include and related objects.
|
|
@@ -2505,10 +2304,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2505
2304
|
query_params = {
|
|
2506
2305
|
k: v
|
|
2507
2306
|
for k, v in [
|
|
2508
|
-
(
|
|
2509
|
-
"fields[catalog-variant-bulk-update-job]",
|
|
2510
|
-
fields_catalog_variant_bulk_update_job,
|
|
2511
|
-
),
|
|
2307
|
+
("fields[catalog-variant-bulk-update-job]", fields_catalog_variant_bulk_update_job),
|
|
2512
2308
|
("fields[catalog-variant]", fields_catalog_variant),
|
|
2513
2309
|
("include", include),
|
|
2514
2310
|
]
|
|
@@ -2518,9 +2314,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2518
2314
|
response.raise_for_status()
|
|
2519
2315
|
return response.json()
|
|
2520
2316
|
|
|
2521
|
-
def get_delete_variants_jobs(
|
|
2522
|
-
self, fields_catalog_variant_bulk_delete_job=None, filter=None, page_cursor=None
|
|
2523
|
-
) -> dict[str, Any]:
|
|
2317
|
+
async def get_delete_variants_jobs(self, fields_catalog_variant_bulk_delete_job=None, filter=None, page_cursor=None) -> dict[str, Any]:
|
|
2524
2318
|
"""
|
|
2525
2319
|
The API operation at path "/api/catalog-variant-bulk-delete-jobs" using the "GET" method retrieves information about catalog variant bulk delete jobs, allowing filtering and pagination, and providing specific fields of the job based on query parameters.
|
|
2526
2320
|
|
|
@@ -2539,10 +2333,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2539
2333
|
query_params = {
|
|
2540
2334
|
k: v
|
|
2541
2335
|
for k, v in [
|
|
2542
|
-
(
|
|
2543
|
-
"fields[catalog-variant-bulk-delete-job]",
|
|
2544
|
-
fields_catalog_variant_bulk_delete_job,
|
|
2545
|
-
),
|
|
2336
|
+
("fields[catalog-variant-bulk-delete-job]", fields_catalog_variant_bulk_delete_job),
|
|
2546
2337
|
("filter", filter),
|
|
2547
2338
|
("page[cursor]", page_cursor),
|
|
2548
2339
|
]
|
|
@@ -2552,7 +2343,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2552
2343
|
response.raise_for_status()
|
|
2553
2344
|
return response.json()
|
|
2554
2345
|
|
|
2555
|
-
def bulk_delete_catalog_variants(self, data=None) -> dict[str, Any]:
|
|
2346
|
+
async def bulk_delete_catalog_variants(self, data=None) -> dict[str, Any]:
|
|
2556
2347
|
"""
|
|
2557
2348
|
Creates a bulk delete job for catalog variants, accepting up to 100 variants per request, with header parameter "revision" and returning 202, 400, or 500 status codes.
|
|
2558
2349
|
|
|
@@ -2587,9 +2378,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2587
2378
|
Tags:
|
|
2588
2379
|
Catalogs, Variants
|
|
2589
2380
|
"""
|
|
2590
|
-
request_body = {
|
|
2591
|
-
"data": data,
|
|
2592
|
-
}
|
|
2381
|
+
request_body = {"data": data}
|
|
2593
2382
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2594
2383
|
url = f"{self.base_url}/api/catalog-variant-bulk-delete-jobs"
|
|
2595
2384
|
query_params = {}
|
|
@@ -2597,9 +2386,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2597
2386
|
response.raise_for_status()
|
|
2598
2387
|
return response.json()
|
|
2599
2388
|
|
|
2600
|
-
def get_delete_variants_job(
|
|
2601
|
-
self, job_id, fields_catalog_variant_bulk_delete_job=None
|
|
2602
|
-
) -> dict[str, Any]:
|
|
2389
|
+
async def get_delete_variants_job(self, job_id, fields_catalog_variant_bulk_delete_job=None) -> dict[str, Any]:
|
|
2603
2390
|
"""
|
|
2604
2391
|
Retrieve a specific catalog variant bulk delete job's status and details by its job ID, supporting optional field filtering via query parameters and API version control through headers.
|
|
2605
2392
|
|
|
@@ -2617,20 +2404,13 @@ class KlaviyoApp(APIApplication):
|
|
|
2617
2404
|
raise ValueError("Missing required parameter 'job_id'")
|
|
2618
2405
|
url = f"{self.base_url}/api/catalog-variant-bulk-delete-jobs/{job_id}"
|
|
2619
2406
|
query_params = {
|
|
2620
|
-
k: v
|
|
2621
|
-
for k, v in [
|
|
2622
|
-
(
|
|
2623
|
-
"fields[catalog-variant-bulk-delete-job]",
|
|
2624
|
-
fields_catalog_variant_bulk_delete_job,
|
|
2625
|
-
)
|
|
2626
|
-
]
|
|
2627
|
-
if v is not None
|
|
2407
|
+
k: v for k, v in [("fields[catalog-variant-bulk-delete-job]", fields_catalog_variant_bulk_delete_job)] if v is not None
|
|
2628
2408
|
}
|
|
2629
2409
|
response = self._get(url, params=query_params)
|
|
2630
2410
|
response.raise_for_status()
|
|
2631
2411
|
return response.json()
|
|
2632
2412
|
|
|
2633
|
-
def get_variants_for_catalog_item(
|
|
2413
|
+
async def get_variants_for_catalog_item(
|
|
2634
2414
|
self, id, fields_catalog_variant=None, filter=None, page_cursor=None, sort=None
|
|
2635
2415
|
) -> dict[str, Any]:
|
|
2636
2416
|
"""
|
|
@@ -2666,9 +2446,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2666
2446
|
response.raise_for_status()
|
|
2667
2447
|
return response.json()
|
|
2668
2448
|
|
|
2669
|
-
def get_variant_ids_for_catalog_item(
|
|
2670
|
-
self, id, filter=None, page_cursor=None, sort=None
|
|
2671
|
-
) -> dict[str, Any]:
|
|
2449
|
+
async def get_variant_ids_for_catalog_item(self, id, filter=None, page_cursor=None, sort=None) -> dict[str, Any]:
|
|
2672
2450
|
"""
|
|
2673
2451
|
Retrieves variant relationships for a catalog item with optional filtering, pagination, and sorting parameters.
|
|
2674
2452
|
|
|
@@ -2687,22 +2465,12 @@ class KlaviyoApp(APIApplication):
|
|
|
2687
2465
|
if id is None:
|
|
2688
2466
|
raise ValueError("Missing required parameter 'id'")
|
|
2689
2467
|
url = f"{self.base_url}/api/catalog-items/{id}/relationships/variants"
|
|
2690
|
-
query_params = {
|
|
2691
|
-
k: v
|
|
2692
|
-
for k, v in [
|
|
2693
|
-
("filter", filter),
|
|
2694
|
-
("page[cursor]", page_cursor),
|
|
2695
|
-
("sort", sort),
|
|
2696
|
-
]
|
|
2697
|
-
if v is not None
|
|
2698
|
-
}
|
|
2468
|
+
query_params = {k: v for k, v in [("filter", filter), ("page[cursor]", page_cursor), ("sort", sort)] if v is not None}
|
|
2699
2469
|
response = self._get(url, params=query_params)
|
|
2700
2470
|
response.raise_for_status()
|
|
2701
2471
|
return response.json()
|
|
2702
2472
|
|
|
2703
|
-
def get_catalog_categories(
|
|
2704
|
-
self, fields_catalog_category=None, filter=None, page_cursor=None, sort=None
|
|
2705
|
-
) -> dict[str, Any]:
|
|
2473
|
+
async def get_catalog_categories(self, fields_catalog_category=None, filter=None, page_cursor=None, sort=None) -> dict[str, Any]:
|
|
2706
2474
|
"""
|
|
2707
2475
|
The "/api/catalog-categories" API operation using the "GET" method retrieves a list of catalog categories, allowing filtering, sorting, and pagination through query parameters, while also supporting revision specification via a header.
|
|
2708
2476
|
|
|
@@ -2733,7 +2501,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2733
2501
|
response.raise_for_status()
|
|
2734
2502
|
return response.json()
|
|
2735
2503
|
|
|
2736
|
-
def create_catalog_category(self, data=None) -> dict[str, Any]:
|
|
2504
|
+
async def create_catalog_category(self, data=None) -> dict[str, Any]:
|
|
2737
2505
|
"""
|
|
2738
2506
|
Creates a new catalog category using specified parameters, returning a 201 status code on successful creation.
|
|
2739
2507
|
|
|
@@ -2774,9 +2542,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2774
2542
|
Tags:
|
|
2775
2543
|
Catalogs, Categories
|
|
2776
2544
|
"""
|
|
2777
|
-
request_body = {
|
|
2778
|
-
"data": data,
|
|
2779
|
-
}
|
|
2545
|
+
request_body = {"data": data}
|
|
2780
2546
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2781
2547
|
url = f"{self.base_url}/api/catalog-categories"
|
|
2782
2548
|
query_params = {}
|
|
@@ -2784,7 +2550,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2784
2550
|
response.raise_for_status()
|
|
2785
2551
|
return response.json()
|
|
2786
2552
|
|
|
2787
|
-
def get_catalog_category(self, id, fields_catalog_category=None) -> dict[str, Any]:
|
|
2553
|
+
async def get_catalog_category(self, id, fields_catalog_category=None) -> dict[str, Any]:
|
|
2788
2554
|
"""
|
|
2789
2555
|
Retrieves a specific catalog category by ID with optional field selection and revision header.
|
|
2790
2556
|
|
|
@@ -2801,16 +2567,12 @@ class KlaviyoApp(APIApplication):
|
|
|
2801
2567
|
if id is None:
|
|
2802
2568
|
raise ValueError("Missing required parameter 'id'")
|
|
2803
2569
|
url = f"{self.base_url}/api/catalog-categories/{id}"
|
|
2804
|
-
query_params = {
|
|
2805
|
-
k: v
|
|
2806
|
-
for k, v in [("fields[catalog-category]", fields_catalog_category)]
|
|
2807
|
-
if v is not None
|
|
2808
|
-
}
|
|
2570
|
+
query_params = {k: v for k, v in [("fields[catalog-category]", fields_catalog_category)] if v is not None}
|
|
2809
2571
|
response = self._get(url, params=query_params)
|
|
2810
2572
|
response.raise_for_status()
|
|
2811
2573
|
return response.json()
|
|
2812
2574
|
|
|
2813
|
-
def delete_catalog_category(self, id) -> Any:
|
|
2575
|
+
async def delete_catalog_category(self, id) -> Any:
|
|
2814
2576
|
"""
|
|
2815
2577
|
Deletes a catalog category identified by its ID, accepting an optional revision header, and returns a successful response with a 204 status code if executed correctly.
|
|
2816
2578
|
|
|
@@ -2831,7 +2593,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2831
2593
|
response.raise_for_status()
|
|
2832
2594
|
return response.json()
|
|
2833
2595
|
|
|
2834
|
-
def update_catalog_category(self, id, data=None) -> dict[str, Any]:
|
|
2596
|
+
async def update_catalog_category(self, id, data=None) -> dict[str, Any]:
|
|
2835
2597
|
"""
|
|
2836
2598
|
Patches a catalog category with the specified ID, allowing partial updates while requiring a revision header for version control.
|
|
2837
2599
|
|
|
@@ -2873,9 +2635,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2873
2635
|
"""
|
|
2874
2636
|
if id is None:
|
|
2875
2637
|
raise ValueError("Missing required parameter 'id'")
|
|
2876
|
-
request_body = {
|
|
2877
|
-
"data": data,
|
|
2878
|
-
}
|
|
2638
|
+
request_body = {"data": data}
|
|
2879
2639
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
2880
2640
|
url = f"{self.base_url}/api/catalog-categories/{id}"
|
|
2881
2641
|
query_params = {}
|
|
@@ -2883,11 +2643,8 @@ class KlaviyoApp(APIApplication):
|
|
|
2883
2643
|
response.raise_for_status()
|
|
2884
2644
|
return response.json()
|
|
2885
2645
|
|
|
2886
|
-
def get_create_categories_jobs(
|
|
2887
|
-
self,
|
|
2888
|
-
fields_catalog_category_bulk_create_job=None,
|
|
2889
|
-
filter=None,
|
|
2890
|
-
page_cursor=None,
|
|
2646
|
+
async def get_create_categories_jobs(
|
|
2647
|
+
self, fields_catalog_category_bulk_create_job=None, filter=None, page_cursor=None
|
|
2891
2648
|
) -> dict[str, Any]:
|
|
2892
2649
|
"""
|
|
2893
2650
|
Retrieves a list of catalog category bulk creation jobs with support for filtering, field selection, pagination via cursor, and revision headers.
|
|
@@ -2907,10 +2664,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2907
2664
|
query_params = {
|
|
2908
2665
|
k: v
|
|
2909
2666
|
for k, v in [
|
|
2910
|
-
(
|
|
2911
|
-
"fields[catalog-category-bulk-create-job]",
|
|
2912
|
-
fields_catalog_category_bulk_create_job,
|
|
2913
|
-
),
|
|
2667
|
+
("fields[catalog-category-bulk-create-job]", fields_catalog_category_bulk_create_job),
|
|
2914
2668
|
("filter", filter),
|
|
2915
2669
|
("page[cursor]", page_cursor),
|
|
2916
2670
|
]
|
|
@@ -2920,7 +2674,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2920
2674
|
response.raise_for_status()
|
|
2921
2675
|
return response.json()
|
|
2922
2676
|
|
|
2923
|
-
def bulk_create_catalog_categories(self, data=None) -> dict[str, Any]:
|
|
2677
|
+
async def bulk_create_catalog_categories(self, data=None) -> dict[str, Any]:
|
|
2924
2678
|
"""
|
|
2925
2679
|
Create bulk jobs for catalog category creation, tracking progress via asynchronous processing.
|
|
2926
2680
|
|
|
@@ -2993,9 +2747,7 @@ class KlaviyoApp(APIApplication):
|
|
|
2993
2747
|
Tags:
|
|
2994
2748
|
Catalogs, Categories
|
|
2995
2749
|
"""
|
|
2996
|
-
request_body = {
|
|
2997
|
-
"data": data,
|
|
2998
|
-
}
|
|
2750
|
+
request_body = {"data": data}
|
|
2999
2751
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3000
2752
|
url = f"{self.base_url}/api/catalog-category-bulk-create-jobs"
|
|
3001
2753
|
query_params = {}
|
|
@@ -3003,12 +2755,8 @@ class KlaviyoApp(APIApplication):
|
|
|
3003
2755
|
response.raise_for_status()
|
|
3004
2756
|
return response.json()
|
|
3005
2757
|
|
|
3006
|
-
def get_create_categories_job(
|
|
3007
|
-
self,
|
|
3008
|
-
job_id,
|
|
3009
|
-
fields_catalog_category_bulk_create_job=None,
|
|
3010
|
-
fields_catalog_category=None,
|
|
3011
|
-
include=None,
|
|
2758
|
+
async def get_create_categories_job(
|
|
2759
|
+
self, job_id, fields_catalog_category_bulk_create_job=None, fields_catalog_category=None, include=None
|
|
3012
2760
|
) -> dict[str, Any]:
|
|
3013
2761
|
"""
|
|
3014
2762
|
The **`GET /api/catalog-category-bulk-create-jobs/{job_id}`** operation retrieves a specific catalog category bulk create job by its job ID, optionally including related resources such as categories based on the provided query parameters.
|
|
@@ -3031,10 +2779,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3031
2779
|
query_params = {
|
|
3032
2780
|
k: v
|
|
3033
2781
|
for k, v in [
|
|
3034
|
-
(
|
|
3035
|
-
"fields[catalog-category-bulk-create-job]",
|
|
3036
|
-
fields_catalog_category_bulk_create_job,
|
|
3037
|
-
),
|
|
2782
|
+
("fields[catalog-category-bulk-create-job]", fields_catalog_category_bulk_create_job),
|
|
3038
2783
|
("fields[catalog-category]", fields_catalog_category),
|
|
3039
2784
|
("include", include),
|
|
3040
2785
|
]
|
|
@@ -3044,11 +2789,8 @@ class KlaviyoApp(APIApplication):
|
|
|
3044
2789
|
response.raise_for_status()
|
|
3045
2790
|
return response.json()
|
|
3046
2791
|
|
|
3047
|
-
def get_update_categories_jobs(
|
|
3048
|
-
self,
|
|
3049
|
-
fields_catalog_category_bulk_update_job=None,
|
|
3050
|
-
filter=None,
|
|
3051
|
-
page_cursor=None,
|
|
2792
|
+
async def get_update_categories_jobs(
|
|
2793
|
+
self, fields_catalog_category_bulk_update_job=None, filter=None, page_cursor=None
|
|
3052
2794
|
) -> dict[str, Any]:
|
|
3053
2795
|
"""
|
|
3054
2796
|
The API operation at "/api/catalog-category-bulk-update-jobs" using the "GET" method retrieves details of catalog category bulk update jobs, allowing for customization through query parameters such as fields, filters, and pagination, while also accepting a revision header.
|
|
@@ -3068,10 +2810,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3068
2810
|
query_params = {
|
|
3069
2811
|
k: v
|
|
3070
2812
|
for k, v in [
|
|
3071
|
-
(
|
|
3072
|
-
"fields[catalog-category-bulk-update-job]",
|
|
3073
|
-
fields_catalog_category_bulk_update_job,
|
|
3074
|
-
),
|
|
2813
|
+
("fields[catalog-category-bulk-update-job]", fields_catalog_category_bulk_update_job),
|
|
3075
2814
|
("filter", filter),
|
|
3076
2815
|
("page[cursor]", page_cursor),
|
|
3077
2816
|
]
|
|
@@ -3081,7 +2820,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3081
2820
|
response.raise_for_status()
|
|
3082
2821
|
return response.json()
|
|
3083
2822
|
|
|
3084
|
-
def bulk_update_catalog_categories(self, data=None) -> dict[str, Any]:
|
|
2823
|
+
async def bulk_update_catalog_categories(self, data=None) -> dict[str, Any]:
|
|
3085
2824
|
"""
|
|
3086
2825
|
This API operation initiates a bulk update job for catalog categories, allowing for the modification of multiple categories simultaneously, with an optional revision header for version control.
|
|
3087
2826
|
|
|
@@ -3150,9 +2889,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3150
2889
|
Tags:
|
|
3151
2890
|
Catalogs, Categories
|
|
3152
2891
|
"""
|
|
3153
|
-
request_body = {
|
|
3154
|
-
"data": data,
|
|
3155
|
-
}
|
|
2892
|
+
request_body = {"data": data}
|
|
3156
2893
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3157
2894
|
url = f"{self.base_url}/api/catalog-category-bulk-update-jobs"
|
|
3158
2895
|
query_params = {}
|
|
@@ -3160,12 +2897,8 @@ class KlaviyoApp(APIApplication):
|
|
|
3160
2897
|
response.raise_for_status()
|
|
3161
2898
|
return response.json()
|
|
3162
2899
|
|
|
3163
|
-
def get_update_categories_job(
|
|
3164
|
-
self,
|
|
3165
|
-
job_id,
|
|
3166
|
-
fields_catalog_category_bulk_update_job=None,
|
|
3167
|
-
fields_catalog_category=None,
|
|
3168
|
-
include=None,
|
|
2900
|
+
async def get_update_categories_job(
|
|
2901
|
+
self, job_id, fields_catalog_category_bulk_update_job=None, fields_catalog_category=None, include=None
|
|
3169
2902
|
) -> dict[str, Any]:
|
|
3170
2903
|
"""
|
|
3171
2904
|
Retrieve the status and details of a specific catalog category bulk update job by its ID, supporting optional inclusion of related resources and field filtering.
|
|
@@ -3188,10 +2921,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3188
2921
|
query_params = {
|
|
3189
2922
|
k: v
|
|
3190
2923
|
for k, v in [
|
|
3191
|
-
(
|
|
3192
|
-
"fields[catalog-category-bulk-update-job]",
|
|
3193
|
-
fields_catalog_category_bulk_update_job,
|
|
3194
|
-
),
|
|
2924
|
+
("fields[catalog-category-bulk-update-job]", fields_catalog_category_bulk_update_job),
|
|
3195
2925
|
("fields[catalog-category]", fields_catalog_category),
|
|
3196
2926
|
("include", include),
|
|
3197
2927
|
]
|
|
@@ -3201,11 +2931,8 @@ class KlaviyoApp(APIApplication):
|
|
|
3201
2931
|
response.raise_for_status()
|
|
3202
2932
|
return response.json()
|
|
3203
2933
|
|
|
3204
|
-
def get_delete_categories_jobs(
|
|
3205
|
-
self,
|
|
3206
|
-
fields_catalog_category_bulk_delete_job=None,
|
|
3207
|
-
filter=None,
|
|
3208
|
-
page_cursor=None,
|
|
2934
|
+
async def get_delete_categories_jobs(
|
|
2935
|
+
self, fields_catalog_category_bulk_delete_job=None, filter=None, page_cursor=None
|
|
3209
2936
|
) -> dict[str, Any]:
|
|
3210
2937
|
"""
|
|
3211
2938
|
Retrieves a list of catalog category bulk delete jobs based on specified fields, filters, and pagination, with an optional revision header.
|
|
@@ -3225,10 +2952,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3225
2952
|
query_params = {
|
|
3226
2953
|
k: v
|
|
3227
2954
|
for k, v in [
|
|
3228
|
-
(
|
|
3229
|
-
"fields[catalog-category-bulk-delete-job]",
|
|
3230
|
-
fields_catalog_category_bulk_delete_job,
|
|
3231
|
-
),
|
|
2955
|
+
("fields[catalog-category-bulk-delete-job]", fields_catalog_category_bulk_delete_job),
|
|
3232
2956
|
("filter", filter),
|
|
3233
2957
|
("page[cursor]", page_cursor),
|
|
3234
2958
|
]
|
|
@@ -3238,7 +2962,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3238
2962
|
response.raise_for_status()
|
|
3239
2963
|
return response.json()
|
|
3240
2964
|
|
|
3241
|
-
def bulk_delete_catalog_categories(self, data=None) -> dict[str, Any]:
|
|
2965
|
+
async def bulk_delete_catalog_categories(self, data=None) -> dict[str, Any]:
|
|
3242
2966
|
"""
|
|
3243
2967
|
Creates a catalog category bulk delete job to delete a batch of categories, accepting up to 100 per request and requiring a revision header.
|
|
3244
2968
|
|
|
@@ -3273,9 +2997,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3273
2997
|
Tags:
|
|
3274
2998
|
Catalogs, Categories
|
|
3275
2999
|
"""
|
|
3276
|
-
request_body = {
|
|
3277
|
-
"data": data,
|
|
3278
|
-
}
|
|
3000
|
+
request_body = {"data": data}
|
|
3279
3001
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3280
3002
|
url = f"{self.base_url}/api/catalog-category-bulk-delete-jobs"
|
|
3281
3003
|
query_params = {}
|
|
@@ -3283,9 +3005,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3283
3005
|
response.raise_for_status()
|
|
3284
3006
|
return response.json()
|
|
3285
3007
|
|
|
3286
|
-
def get_delete_categories_job(
|
|
3287
|
-
self, job_id, fields_catalog_category_bulk_delete_job=None
|
|
3288
|
-
) -> dict[str, Any]:
|
|
3008
|
+
async def get_delete_categories_job(self, job_id, fields_catalog_category_bulk_delete_job=None) -> dict[str, Any]:
|
|
3289
3009
|
"""
|
|
3290
3010
|
Retrieves the status and details of a specific catalog category bulk delete job using the provided job ID, with optional field filtering and API version control.
|
|
3291
3011
|
|
|
@@ -3303,22 +3023,13 @@ class KlaviyoApp(APIApplication):
|
|
|
3303
3023
|
raise ValueError("Missing required parameter 'job_id'")
|
|
3304
3024
|
url = f"{self.base_url}/api/catalog-category-bulk-delete-jobs/{job_id}"
|
|
3305
3025
|
query_params = {
|
|
3306
|
-
k: v
|
|
3307
|
-
for k, v in [
|
|
3308
|
-
(
|
|
3309
|
-
"fields[catalog-category-bulk-delete-job]",
|
|
3310
|
-
fields_catalog_category_bulk_delete_job,
|
|
3311
|
-
)
|
|
3312
|
-
]
|
|
3313
|
-
if v is not None
|
|
3026
|
+
k: v for k, v in [("fields[catalog-category-bulk-delete-job]", fields_catalog_category_bulk_delete_job)] if v is not None
|
|
3314
3027
|
}
|
|
3315
3028
|
response = self._get(url, params=query_params)
|
|
3316
3029
|
response.raise_for_status()
|
|
3317
3030
|
return response.json()
|
|
3318
3031
|
|
|
3319
|
-
def get_item_ids_for_catalog_category(
|
|
3320
|
-
self, id, filter=None, page_cursor=None, sort=None
|
|
3321
|
-
) -> dict[str, Any]:
|
|
3032
|
+
async def get_item_ids_for_catalog_category(self, id, filter=None, page_cursor=None, sort=None) -> dict[str, Any]:
|
|
3322
3033
|
"""
|
|
3323
3034
|
Retrieves a list of items related to a specific catalog category with options to filter, sort, and paginate the results.
|
|
3324
3035
|
|
|
@@ -3337,20 +3048,12 @@ class KlaviyoApp(APIApplication):
|
|
|
3337
3048
|
if id is None:
|
|
3338
3049
|
raise ValueError("Missing required parameter 'id'")
|
|
3339
3050
|
url = f"{self.base_url}/api/catalog-categories/{id}/relationships/items"
|
|
3340
|
-
query_params = {
|
|
3341
|
-
k: v
|
|
3342
|
-
for k, v in [
|
|
3343
|
-
("filter", filter),
|
|
3344
|
-
("page[cursor]", page_cursor),
|
|
3345
|
-
("sort", sort),
|
|
3346
|
-
]
|
|
3347
|
-
if v is not None
|
|
3348
|
-
}
|
|
3051
|
+
query_params = {k: v for k, v in [("filter", filter), ("page[cursor]", page_cursor), ("sort", sort)] if v is not None}
|
|
3349
3052
|
response = self._get(url, params=query_params)
|
|
3350
3053
|
response.raise_for_status()
|
|
3351
3054
|
return response.json()
|
|
3352
3055
|
|
|
3353
|
-
def add_items_to_catalog_category(self, id, data=None) -> Any:
|
|
3056
|
+
async def add_items_to_catalog_category(self, id, data=None) -> Any:
|
|
3354
3057
|
"""
|
|
3355
3058
|
This API operation creates a new relationship between a specified catalog category and items using the POST method, requiring a revision header, and returns a 204 No Content response upon success.
|
|
3356
3059
|
|
|
@@ -3381,9 +3084,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3381
3084
|
"""
|
|
3382
3085
|
if id is None:
|
|
3383
3086
|
raise ValueError("Missing required parameter 'id'")
|
|
3384
|
-
request_body = {
|
|
3385
|
-
"data": data,
|
|
3386
|
-
}
|
|
3087
|
+
request_body = {"data": data}
|
|
3387
3088
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3388
3089
|
url = f"{self.base_url}/api/catalog-categories/{id}/relationships/items"
|
|
3389
3090
|
query_params = {}
|
|
@@ -3391,7 +3092,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3391
3092
|
response.raise_for_status()
|
|
3392
3093
|
return response.json()
|
|
3393
3094
|
|
|
3394
|
-
def remove_items_from_catalog_category(self, id, data=None) -> Any:
|
|
3095
|
+
async def remove_items_from_catalog_category(self, id, data=None) -> Any:
|
|
3395
3096
|
"""
|
|
3396
3097
|
Deletes the relationship between a catalog category and its associated items, identified by the category ID provided in the path, and returns a successful response with no content upon completion.
|
|
3397
3098
|
|
|
@@ -3422,9 +3123,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3422
3123
|
"""
|
|
3423
3124
|
if id is None:
|
|
3424
3125
|
raise ValueError("Missing required parameter 'id'")
|
|
3425
|
-
request_body = {
|
|
3426
|
-
"data": data,
|
|
3427
|
-
}
|
|
3126
|
+
request_body = {"data": data}
|
|
3428
3127
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3429
3128
|
url = f"{self.base_url}/api/catalog-categories/{id}/relationships/items"
|
|
3430
3129
|
query_params = {}
|
|
@@ -3432,7 +3131,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3432
3131
|
response.raise_for_status()
|
|
3433
3132
|
return response.json()
|
|
3434
3133
|
|
|
3435
|
-
def update_items_for_catalog_category(self, id, data=None) -> Any:
|
|
3134
|
+
async def update_items_for_catalog_category(self, id, data=None) -> Any:
|
|
3436
3135
|
"""
|
|
3437
3136
|
This API operation updates the items relationship of a catalog category with the specified ID using the PATCH method, requiring a revision header to ensure atomic updates, and returns a 204 No Content response upon success.
|
|
3438
3137
|
|
|
@@ -3463,9 +3162,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3463
3162
|
"""
|
|
3464
3163
|
if id is None:
|
|
3465
3164
|
raise ValueError("Missing required parameter 'id'")
|
|
3466
|
-
request_body = {
|
|
3467
|
-
"data": data,
|
|
3468
|
-
}
|
|
3165
|
+
request_body = {"data": data}
|
|
3469
3166
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3470
3167
|
url = f"{self.base_url}/api/catalog-categories/{id}/relationships/items"
|
|
3471
3168
|
query_params = {}
|
|
@@ -3473,7 +3170,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3473
3170
|
response.raise_for_status()
|
|
3474
3171
|
return response.json()
|
|
3475
3172
|
|
|
3476
|
-
def get_categories_for_catalog_item(
|
|
3173
|
+
async def get_categories_for_catalog_item(
|
|
3477
3174
|
self, id, fields_catalog_category=None, filter=None, page_cursor=None, sort=None
|
|
3478
3175
|
) -> dict[str, Any]:
|
|
3479
3176
|
"""
|
|
@@ -3509,7 +3206,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3509
3206
|
response.raise_for_status()
|
|
3510
3207
|
return response.json()
|
|
3511
3208
|
|
|
3512
|
-
def create_back_in_stock_subscription(self, data=None) -> Any:
|
|
3209
|
+
async def create_back_in_stock_subscription(self, data=None) -> Any:
|
|
3513
3210
|
"""
|
|
3514
3211
|
The POST operation at the "/api/back-in-stock-subscriptions" path creates a new back-in-stock subscription, requiring a "revision" header, and returns a 202 response upon success or error responses for bad requests or internal server errors.
|
|
3515
3212
|
|
|
@@ -3556,9 +3253,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3556
3253
|
Tags:
|
|
3557
3254
|
Catalogs, Back In Stock
|
|
3558
3255
|
"""
|
|
3559
|
-
request_body = {
|
|
3560
|
-
"data": data,
|
|
3561
|
-
}
|
|
3256
|
+
request_body = {"data": data}
|
|
3562
3257
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3563
3258
|
url = f"{self.base_url}/api/back-in-stock-subscriptions"
|
|
3564
3259
|
query_params = {}
|
|
@@ -3566,7 +3261,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3566
3261
|
response.raise_for_status()
|
|
3567
3262
|
return response.json()
|
|
3568
3263
|
|
|
3569
|
-
def create_client_subscription(self, company_id=None, data=None) -> Any:
|
|
3264
|
+
async def create_client_subscription(self, company_id=None, data=None) -> Any:
|
|
3570
3265
|
"""
|
|
3571
3266
|
Creates a subscription for a client, requiring a company_id query parameter and revision header while returning a 202 Accepted status upon successful request.
|
|
3572
3267
|
|
|
@@ -3656,9 +3351,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3656
3351
|
Tags:
|
|
3657
3352
|
Client
|
|
3658
3353
|
"""
|
|
3659
|
-
request_body = {
|
|
3660
|
-
"data": data,
|
|
3661
|
-
}
|
|
3354
|
+
request_body = {"data": data}
|
|
3662
3355
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3663
3356
|
url = f"{self.base_url}/client/subscriptions"
|
|
3664
3357
|
query_params = {k: v for k, v in [("company_id", company_id)] if v is not None}
|
|
@@ -3666,7 +3359,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3666
3359
|
response.raise_for_status()
|
|
3667
3360
|
return response.json()
|
|
3668
3361
|
|
|
3669
|
-
def create_or_update_client_push_token(self, company_id=None, data=None) -> Any:
|
|
3362
|
+
async def create_or_update_client_push_token(self, company_id=None, data=None) -> Any:
|
|
3670
3363
|
"""
|
|
3671
3364
|
Registers a push token for a client by sending a POST request to "/client/push-tokens," which requires a "company_id" query parameter and a "revision" header, returning a 202 status on success.
|
|
3672
3365
|
|
|
@@ -3748,9 +3441,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3748
3441
|
Tags:
|
|
3749
3442
|
Client
|
|
3750
3443
|
"""
|
|
3751
|
-
request_body = {
|
|
3752
|
-
"data": data,
|
|
3753
|
-
}
|
|
3444
|
+
request_body = {"data": data}
|
|
3754
3445
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3755
3446
|
url = f"{self.base_url}/client/push-tokens"
|
|
3756
3447
|
query_params = {k: v for k, v in [("company_id", company_id)] if v is not None}
|
|
@@ -3758,7 +3449,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3758
3449
|
response.raise_for_status()
|
|
3759
3450
|
return response.json()
|
|
3760
3451
|
|
|
3761
|
-
def unregister_client_push_token(self, company_id=None, data=None) -> Any:
|
|
3452
|
+
async def unregister_client_push_token(self, company_id=None, data=None) -> Any:
|
|
3762
3453
|
"""
|
|
3763
3454
|
Unregisters a client's push token by accepting a company ID as a query parameter and requiring a revision header, returning status codes for successful acceptance (202), client errors (400), or server errors (500).
|
|
3764
3455
|
|
|
@@ -3824,9 +3515,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3824
3515
|
Tags:
|
|
3825
3516
|
Client
|
|
3826
3517
|
"""
|
|
3827
|
-
request_body = {
|
|
3828
|
-
"data": data,
|
|
3829
|
-
}
|
|
3518
|
+
request_body = {"data": data}
|
|
3830
3519
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3831
3520
|
url = f"{self.base_url}/client/push-token-unregister"
|
|
3832
3521
|
query_params = {k: v for k, v in [("company_id", company_id)] if v is not None}
|
|
@@ -3834,7 +3523,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3834
3523
|
response.raise_for_status()
|
|
3835
3524
|
return response.json()
|
|
3836
3525
|
|
|
3837
|
-
def create_client_event(self, company_id=None, data=None) -> Any:
|
|
3526
|
+
async def create_client_event(self, company_id=None, data=None) -> Any:
|
|
3838
3527
|
"""
|
|
3839
3528
|
Creates an event for a client by submitting the event details via the POST method, requiring a `company_id` query parameter and a `revision` header.
|
|
3840
3529
|
|
|
@@ -3911,9 +3600,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3911
3600
|
Tags:
|
|
3912
3601
|
Client
|
|
3913
3602
|
"""
|
|
3914
|
-
request_body = {
|
|
3915
|
-
"data": data,
|
|
3916
|
-
}
|
|
3603
|
+
request_body = {"data": data}
|
|
3917
3604
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3918
3605
|
url = f"{self.base_url}/client/events"
|
|
3919
3606
|
query_params = {k: v for k, v in [("company_id", company_id)] if v is not None}
|
|
@@ -3921,7 +3608,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3921
3608
|
response.raise_for_status()
|
|
3922
3609
|
return response.json()
|
|
3923
3610
|
|
|
3924
|
-
def create_or_update_client_profile(self, company_id=None, data=None) -> Any:
|
|
3611
|
+
async def create_or_update_client_profile(self, company_id=None, data=None) -> Any:
|
|
3925
3612
|
"""
|
|
3926
3613
|
Creates client profiles with required company_id in query parameters and revision header, returning status codes for accepted (202), bad request (400), and server error (500).
|
|
3927
3614
|
|
|
@@ -3977,9 +3664,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3977
3664
|
Tags:
|
|
3978
3665
|
Client
|
|
3979
3666
|
"""
|
|
3980
|
-
request_body = {
|
|
3981
|
-
"data": data,
|
|
3982
|
-
}
|
|
3667
|
+
request_body = {"data": data}
|
|
3983
3668
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
3984
3669
|
url = f"{self.base_url}/client/profiles"
|
|
3985
3670
|
query_params = {k: v for k, v in [("company_id", company_id)] if v is not None}
|
|
@@ -3987,7 +3672,7 @@ class KlaviyoApp(APIApplication):
|
|
|
3987
3672
|
response.raise_for_status()
|
|
3988
3673
|
return response.json()
|
|
3989
3674
|
|
|
3990
|
-
def bulk_create_client_events(self, company_id=None, data=None) -> Any:
|
|
3675
|
+
async def bulk_create_client_events(self, company_id=None, data=None) -> Any:
|
|
3991
3676
|
"""
|
|
3992
3677
|
Creates multiple client events in bulk using a POST request, requiring a company ID as a query parameter and a revision in the request header.
|
|
3993
3678
|
|
|
@@ -4092,9 +3777,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4092
3777
|
Tags:
|
|
4093
3778
|
Client
|
|
4094
3779
|
"""
|
|
4095
|
-
request_body = {
|
|
4096
|
-
"data": data,
|
|
4097
|
-
}
|
|
3780
|
+
request_body = {"data": data}
|
|
4098
3781
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4099
3782
|
url = f"{self.base_url}/client/event-bulk-create"
|
|
4100
3783
|
query_params = {k: v for k, v in [("company_id", company_id)] if v is not None}
|
|
@@ -4102,9 +3785,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4102
3785
|
response.raise_for_status()
|
|
4103
3786
|
return response.json()
|
|
4104
3787
|
|
|
4105
|
-
def create_client_back_in_stock_subscription(
|
|
4106
|
-
self, company_id=None, data=None
|
|
4107
|
-
) -> Any:
|
|
3788
|
+
async def create_client_back_in_stock_subscription(self, company_id=None, data=None) -> Any:
|
|
4108
3789
|
"""
|
|
4109
3790
|
Subscribe a customer to receive back-in-stock notifications for a product via POST request, requiring company ID and revision header, with responses indicating acceptance (202), invalid parameters (400), or server errors (500).
|
|
4110
3791
|
|
|
@@ -4152,9 +3833,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4152
3833
|
Tags:
|
|
4153
3834
|
Client
|
|
4154
3835
|
"""
|
|
4155
|
-
request_body = {
|
|
4156
|
-
"data": data,
|
|
4157
|
-
}
|
|
3836
|
+
request_body = {"data": data}
|
|
4158
3837
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4159
3838
|
url = f"{self.base_url}/client/back-in-stock-subscriptions"
|
|
4160
3839
|
query_params = {k: v for k, v in [("company_id", company_id)] if v is not None}
|
|
@@ -4162,7 +3841,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4162
3841
|
response.raise_for_status()
|
|
4163
3842
|
return response.json()
|
|
4164
3843
|
|
|
4165
|
-
def get_coupons(self, fields_coupon=None, page_cursor=None) -> dict[str, Any]:
|
|
3844
|
+
async def get_coupons(self, fields_coupon=None, page_cursor=None) -> dict[str, Any]:
|
|
4166
3845
|
"""
|
|
4167
3846
|
The API operation at "/api/coupons" using the "GET" method retrieves coupon data based on optional query parameters for selecting fields and pagination, with an additional header option for specifying the revision.
|
|
4168
3847
|
|
|
@@ -4177,19 +3856,12 @@ class KlaviyoApp(APIApplication):
|
|
|
4177
3856
|
Coupons
|
|
4178
3857
|
"""
|
|
4179
3858
|
url = f"{self.base_url}/api/coupons"
|
|
4180
|
-
query_params = {
|
|
4181
|
-
k: v
|
|
4182
|
-
for k, v in [
|
|
4183
|
-
("fields[coupon]", fields_coupon),
|
|
4184
|
-
("page[cursor]", page_cursor),
|
|
4185
|
-
]
|
|
4186
|
-
if v is not None
|
|
4187
|
-
}
|
|
3859
|
+
query_params = {k: v for k, v in [("fields[coupon]", fields_coupon), ("page[cursor]", page_cursor)] if v is not None}
|
|
4188
3860
|
response = self._get(url, params=query_params)
|
|
4189
3861
|
response.raise_for_status()
|
|
4190
3862
|
return response.json()
|
|
4191
3863
|
|
|
4192
|
-
def create_coupon(self, data=None) -> dict[str, Any]:
|
|
3864
|
+
async def create_coupon(self, data=None) -> dict[str, Any]:
|
|
4193
3865
|
"""
|
|
4194
3866
|
Creates a new coupon with a specified revision, returning a successful creation response or error messages for invalid requests or internal server errors.
|
|
4195
3867
|
|
|
@@ -4214,9 +3886,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4214
3886
|
Tags:
|
|
4215
3887
|
Coupons
|
|
4216
3888
|
"""
|
|
4217
|
-
request_body = {
|
|
4218
|
-
"data": data,
|
|
4219
|
-
}
|
|
3889
|
+
request_body = {"data": data}
|
|
4220
3890
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4221
3891
|
url = f"{self.base_url}/api/coupons"
|
|
4222
3892
|
query_params = {}
|
|
@@ -4224,7 +3894,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4224
3894
|
response.raise_for_status()
|
|
4225
3895
|
return response.json()
|
|
4226
3896
|
|
|
4227
|
-
def get_coupon(self, id, fields_coupon=None) -> dict[str, Any]:
|
|
3897
|
+
async def get_coupon(self, id, fields_coupon=None) -> dict[str, Any]:
|
|
4228
3898
|
"""
|
|
4229
3899
|
This API operation, located at `/api/coupons/{id}`, uses the GET method to retrieve details of a specific coupon based on its ID, allowing optional filtering by specifying coupon fields in the query and providing a revision in the headers.
|
|
4230
3900
|
|
|
@@ -4241,14 +3911,12 @@ class KlaviyoApp(APIApplication):
|
|
|
4241
3911
|
if id is None:
|
|
4242
3912
|
raise ValueError("Missing required parameter 'id'")
|
|
4243
3913
|
url = f"{self.base_url}/api/coupons/{id}"
|
|
4244
|
-
query_params = {
|
|
4245
|
-
k: v for k, v in [("fields[coupon]", fields_coupon)] if v is not None
|
|
4246
|
-
}
|
|
3914
|
+
query_params = {k: v for k, v in [("fields[coupon]", fields_coupon)] if v is not None}
|
|
4247
3915
|
response = self._get(url, params=query_params)
|
|
4248
3916
|
response.raise_for_status()
|
|
4249
3917
|
return response.json()
|
|
4250
3918
|
|
|
4251
|
-
def delete_coupon(self, id) -> Any:
|
|
3919
|
+
async def delete_coupon(self, id) -> Any:
|
|
4252
3920
|
"""
|
|
4253
3921
|
Deletes a coupon by ID, returning a 204 status code on success, and requires a revision header; error responses include 400 for invalid requests and 500 for server errors.
|
|
4254
3922
|
|
|
@@ -4269,7 +3937,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4269
3937
|
response.raise_for_status()
|
|
4270
3938
|
return response.json()
|
|
4271
3939
|
|
|
4272
|
-
def update_coupon(self, id, data=None) -> dict[str, Any]:
|
|
3940
|
+
async def update_coupon(self, id, data=None) -> dict[str, Any]:
|
|
4273
3941
|
"""
|
|
4274
3942
|
Updates partial coupon data using the specified revision header, returning 200 for success, 400 for invalid requests, or 500 for errors.
|
|
4275
3943
|
|
|
@@ -4297,9 +3965,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4297
3965
|
"""
|
|
4298
3966
|
if id is None:
|
|
4299
3967
|
raise ValueError("Missing required parameter 'id'")
|
|
4300
|
-
request_body = {
|
|
4301
|
-
"data": data,
|
|
4302
|
-
}
|
|
3968
|
+
request_body = {"data": data}
|
|
4303
3969
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4304
3970
|
url = f"{self.base_url}/api/coupons/{id}"
|
|
4305
3971
|
query_params = {}
|
|
@@ -4307,13 +3973,8 @@ class KlaviyoApp(APIApplication):
|
|
|
4307
3973
|
response.raise_for_status()
|
|
4308
3974
|
return response.json()
|
|
4309
3975
|
|
|
4310
|
-
def get_coupon_codes(
|
|
4311
|
-
self,
|
|
4312
|
-
fields_coupon_code=None,
|
|
4313
|
-
fields_coupon=None,
|
|
4314
|
-
filter=None,
|
|
4315
|
-
include=None,
|
|
4316
|
-
page_cursor=None,
|
|
3976
|
+
async def get_coupon_codes(
|
|
3977
|
+
self, fields_coupon_code=None, fields_coupon=None, filter=None, include=None, page_cursor=None
|
|
4317
3978
|
) -> dict[str, Any]:
|
|
4318
3979
|
"""
|
|
4319
3980
|
This API operation retrieves a list of coupon codes using the GET method at the "/api/coupon-codes" path, supporting filters and pagination through query parameters such as fields, filter, include, and page cursor, with a required revision header.
|
|
@@ -4347,7 +4008,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4347
4008
|
response.raise_for_status()
|
|
4348
4009
|
return response.json()
|
|
4349
4010
|
|
|
4350
|
-
def create_coupon_code(self, data=None) -> dict[str, Any]:
|
|
4011
|
+
async def create_coupon_code(self, data=None) -> dict[str, Any]:
|
|
4351
4012
|
"""
|
|
4352
4013
|
Create a new coupon code by sending a POST request to "/api/coupon-codes", optionally specifying a revision in the request headers.
|
|
4353
4014
|
|
|
@@ -4380,9 +4041,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4380
4041
|
Tags:
|
|
4381
4042
|
Coupons
|
|
4382
4043
|
"""
|
|
4383
|
-
request_body = {
|
|
4384
|
-
"data": data,
|
|
4385
|
-
}
|
|
4044
|
+
request_body = {"data": data}
|
|
4386
4045
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4387
4046
|
url = f"{self.base_url}/api/coupon-codes"
|
|
4388
4047
|
query_params = {}
|
|
@@ -4390,9 +4049,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4390
4049
|
response.raise_for_status()
|
|
4391
4050
|
return response.json()
|
|
4392
4051
|
|
|
4393
|
-
def get_coupon_code(
|
|
4394
|
-
self, id, fields_coupon_code=None, fields_coupon=None, include=None
|
|
4395
|
-
) -> dict[str, Any]:
|
|
4052
|
+
async def get_coupon_code(self, id, fields_coupon_code=None, fields_coupon=None, include=None) -> dict[str, Any]:
|
|
4396
4053
|
"""
|
|
4397
4054
|
Retrieves details of a coupon code by ID, allowing optional specification of fields to include and related resources via query parameters.
|
|
4398
4055
|
|
|
@@ -4413,18 +4070,14 @@ class KlaviyoApp(APIApplication):
|
|
|
4413
4070
|
url = f"{self.base_url}/api/coupon-codes/{id}"
|
|
4414
4071
|
query_params = {
|
|
4415
4072
|
k: v
|
|
4416
|
-
for k, v in [
|
|
4417
|
-
("fields[coupon-code]", fields_coupon_code),
|
|
4418
|
-
("fields[coupon]", fields_coupon),
|
|
4419
|
-
("include", include),
|
|
4420
|
-
]
|
|
4073
|
+
for k, v in [("fields[coupon-code]", fields_coupon_code), ("fields[coupon]", fields_coupon), ("include", include)]
|
|
4421
4074
|
if v is not None
|
|
4422
4075
|
}
|
|
4423
4076
|
response = self._get(url, params=query_params)
|
|
4424
4077
|
response.raise_for_status()
|
|
4425
4078
|
return response.json()
|
|
4426
4079
|
|
|
4427
|
-
def delete_coupon_code(self, id) -> Any:
|
|
4080
|
+
async def delete_coupon_code(self, id) -> Any:
|
|
4428
4081
|
"""
|
|
4429
4082
|
Deletes a coupon code with the specified ID, returning a 204 No Content response upon successful deletion, with optional revision information provided in the request headers.
|
|
4430
4083
|
|
|
@@ -4445,7 +4098,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4445
4098
|
response.raise_for_status()
|
|
4446
4099
|
return response.json()
|
|
4447
4100
|
|
|
4448
|
-
def update_coupon_code(self, id, data=None) -> dict[str, Any]:
|
|
4101
|
+
async def update_coupon_code(self, id, data=None) -> dict[str, Any]:
|
|
4449
4102
|
"""
|
|
4450
4103
|
Updates a coupon code's properties using a partial modification request, supporting conditional updates via the revision header.
|
|
4451
4104
|
|
|
@@ -4474,9 +4127,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4474
4127
|
"""
|
|
4475
4128
|
if id is None:
|
|
4476
4129
|
raise ValueError("Missing required parameter 'id'")
|
|
4477
|
-
request_body = {
|
|
4478
|
-
"data": data,
|
|
4479
|
-
}
|
|
4130
|
+
request_body = {"data": data}
|
|
4480
4131
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4481
4132
|
url = f"{self.base_url}/api/coupon-codes/{id}"
|
|
4482
4133
|
query_params = {}
|
|
@@ -4484,7 +4135,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4484
4135
|
response.raise_for_status()
|
|
4485
4136
|
return response.json()
|
|
4486
4137
|
|
|
4487
|
-
def get_bulk_create_coupon_code_jobs(
|
|
4138
|
+
async def get_bulk_create_coupon_code_jobs(
|
|
4488
4139
|
self, fields_coupon_code_bulk_create_job=None, filter=None, page_cursor=None
|
|
4489
4140
|
) -> dict[str, Any]:
|
|
4490
4141
|
"""
|
|
@@ -4505,10 +4156,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4505
4156
|
query_params = {
|
|
4506
4157
|
k: v
|
|
4507
4158
|
for k, v in [
|
|
4508
|
-
(
|
|
4509
|
-
"fields[coupon-code-bulk-create-job]",
|
|
4510
|
-
fields_coupon_code_bulk_create_job,
|
|
4511
|
-
),
|
|
4159
|
+
("fields[coupon-code-bulk-create-job]", fields_coupon_code_bulk_create_job),
|
|
4512
4160
|
("filter", filter),
|
|
4513
4161
|
("page[cursor]", page_cursor),
|
|
4514
4162
|
]
|
|
@@ -4518,7 +4166,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4518
4166
|
response.raise_for_status()
|
|
4519
4167
|
return response.json()
|
|
4520
4168
|
|
|
4521
|
-
def bulk_create_coupon_codes(self, data=None) -> dict[str, Any]:
|
|
4169
|
+
async def bulk_create_coupon_codes(self, data=None) -> dict[str, Any]:
|
|
4522
4170
|
"""
|
|
4523
4171
|
This API operation creates bulk jobs for coupon code creation via a POST request to the "/api/coupon-code-bulk-create-jobs" endpoint, requiring a revision header, and returns success with a 202 status code or error responses for bad requests (400) and internal server errors (500).
|
|
4524
4172
|
|
|
@@ -4575,9 +4223,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4575
4223
|
Tags:
|
|
4576
4224
|
Coupons
|
|
4577
4225
|
"""
|
|
4578
|
-
request_body = {
|
|
4579
|
-
"data": data,
|
|
4580
|
-
}
|
|
4226
|
+
request_body = {"data": data}
|
|
4581
4227
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4582
4228
|
url = f"{self.base_url}/api/coupon-code-bulk-create-jobs"
|
|
4583
4229
|
query_params = {}
|
|
@@ -4585,12 +4231,8 @@ class KlaviyoApp(APIApplication):
|
|
|
4585
4231
|
response.raise_for_status()
|
|
4586
4232
|
return response.json()
|
|
4587
4233
|
|
|
4588
|
-
def get_bulk_create_coupon_codes_job(
|
|
4589
|
-
self,
|
|
4590
|
-
job_id,
|
|
4591
|
-
fields_coupon_code_bulk_create_job=None,
|
|
4592
|
-
fields_coupon_code=None,
|
|
4593
|
-
include=None,
|
|
4234
|
+
async def get_bulk_create_coupon_codes_job(
|
|
4235
|
+
self, job_id, fields_coupon_code_bulk_create_job=None, fields_coupon_code=None, include=None
|
|
4594
4236
|
) -> dict[str, Any]:
|
|
4595
4237
|
"""
|
|
4596
4238
|
Retrieves information about a specific coupon code bulk create job by ID, allowing optional filtering of fields and inclusion of related data.
|
|
@@ -4613,10 +4255,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4613
4255
|
query_params = {
|
|
4614
4256
|
k: v
|
|
4615
4257
|
for k, v in [
|
|
4616
|
-
(
|
|
4617
|
-
"fields[coupon-code-bulk-create-job]",
|
|
4618
|
-
fields_coupon_code_bulk_create_job,
|
|
4619
|
-
),
|
|
4258
|
+
("fields[coupon-code-bulk-create-job]", fields_coupon_code_bulk_create_job),
|
|
4620
4259
|
("fields[coupon-code]", fields_coupon_code),
|
|
4621
4260
|
("include", include),
|
|
4622
4261
|
]
|
|
@@ -4626,7 +4265,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4626
4265
|
response.raise_for_status()
|
|
4627
4266
|
return response.json()
|
|
4628
4267
|
|
|
4629
|
-
def get_coupon_for_coupon_code(self, id, fields_coupon=None) -> dict[str, Any]:
|
|
4268
|
+
async def get_coupon_for_coupon_code(self, id, fields_coupon=None) -> dict[str, Any]:
|
|
4630
4269
|
"""
|
|
4631
4270
|
This API operation retrieves a coupon associated with a specific coupon code by its ID, allowing optional filtering of coupon fields and specifying a revision via header.
|
|
4632
4271
|
|
|
@@ -4643,14 +4282,12 @@ class KlaviyoApp(APIApplication):
|
|
|
4643
4282
|
if id is None:
|
|
4644
4283
|
raise ValueError("Missing required parameter 'id'")
|
|
4645
4284
|
url = f"{self.base_url}/api/coupon-codes/{id}/coupon"
|
|
4646
|
-
query_params = {
|
|
4647
|
-
k: v for k, v in [("fields[coupon]", fields_coupon)] if v is not None
|
|
4648
|
-
}
|
|
4285
|
+
query_params = {k: v for k, v in [("fields[coupon]", fields_coupon)] if v is not None}
|
|
4649
4286
|
response = self._get(url, params=query_params)
|
|
4650
4287
|
response.raise_for_status()
|
|
4651
4288
|
return response.json()
|
|
4652
4289
|
|
|
4653
|
-
def get_coupon_id_for_coupon_code(self, id) -> dict[str, Any]:
|
|
4290
|
+
async def get_coupon_id_for_coupon_code(self, id) -> dict[str, Any]:
|
|
4654
4291
|
"""
|
|
4655
4292
|
Retrieves the relationship details of a specific coupon code identified by its ID.
|
|
4656
4293
|
|
|
@@ -4671,9 +4308,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4671
4308
|
response.raise_for_status()
|
|
4672
4309
|
return response.json()
|
|
4673
4310
|
|
|
4674
|
-
def get_coupon_codes_for_coupon(
|
|
4675
|
-
self, id, fields_coupon_code=None, filter=None, page_cursor=None
|
|
4676
|
-
) -> dict[str, Any]:
|
|
4311
|
+
async def get_coupon_codes_for_coupon(self, id, fields_coupon_code=None, filter=None, page_cursor=None) -> dict[str, Any]:
|
|
4677
4312
|
"""
|
|
4678
4313
|
Retrieves coupon codes associated with a specific coupon ID, supporting optional filtering, field selection, and pagination via cursor-based navigation.
|
|
4679
4314
|
|
|
@@ -4694,20 +4329,14 @@ class KlaviyoApp(APIApplication):
|
|
|
4694
4329
|
url = f"{self.base_url}/api/coupons/{id}/coupon-codes"
|
|
4695
4330
|
query_params = {
|
|
4696
4331
|
k: v
|
|
4697
|
-
for k, v in [
|
|
4698
|
-
("fields[coupon-code]", fields_coupon_code),
|
|
4699
|
-
("filter", filter),
|
|
4700
|
-
("page[cursor]", page_cursor),
|
|
4701
|
-
]
|
|
4332
|
+
for k, v in [("fields[coupon-code]", fields_coupon_code), ("filter", filter), ("page[cursor]", page_cursor)]
|
|
4702
4333
|
if v is not None
|
|
4703
4334
|
}
|
|
4704
4335
|
response = self._get(url, params=query_params)
|
|
4705
4336
|
response.raise_for_status()
|
|
4706
4337
|
return response.json()
|
|
4707
4338
|
|
|
4708
|
-
def get_coupon_code_ids_for_coupon(
|
|
4709
|
-
self, id, filter=None, page_cursor=None
|
|
4710
|
-
) -> dict[str, Any]:
|
|
4339
|
+
async def get_coupon_code_ids_for_coupon(self, id, filter=None, page_cursor=None) -> dict[str, Any]:
|
|
4711
4340
|
"""
|
|
4712
4341
|
This API operation retrieves the relationships between a coupon and its associated coupon codes, allowing for filtering and pagination with optional revision information provided in the request header.
|
|
4713
4342
|
|
|
@@ -4725,16 +4354,12 @@ class KlaviyoApp(APIApplication):
|
|
|
4725
4354
|
if id is None:
|
|
4726
4355
|
raise ValueError("Missing required parameter 'id'")
|
|
4727
4356
|
url = f"{self.base_url}/api/coupons/{id}/relationships/coupon-codes"
|
|
4728
|
-
query_params = {
|
|
4729
|
-
k: v
|
|
4730
|
-
for k, v in [("filter", filter), ("page[cursor]", page_cursor)]
|
|
4731
|
-
if v is not None
|
|
4732
|
-
}
|
|
4357
|
+
query_params = {k: v for k, v in [("filter", filter), ("page[cursor]", page_cursor)] if v is not None}
|
|
4733
4358
|
response = self._get(url, params=query_params)
|
|
4734
4359
|
response.raise_for_status()
|
|
4735
4360
|
return response.json()
|
|
4736
4361
|
|
|
4737
|
-
def request_profile_deletion(self, data=None) -> Any:
|
|
4362
|
+
async def request_profile_deletion(self, data=None) -> Any:
|
|
4738
4363
|
"""
|
|
4739
4364
|
Initiates an asynchronous data privacy deletion job with optional revision control via header parameter.
|
|
4740
4365
|
|
|
@@ -4767,9 +4392,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4767
4392
|
Tags:
|
|
4768
4393
|
Data Privacy
|
|
4769
4394
|
"""
|
|
4770
|
-
request_body = {
|
|
4771
|
-
"data": data,
|
|
4772
|
-
}
|
|
4395
|
+
request_body = {"data": data}
|
|
4773
4396
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4774
4397
|
url = f"{self.base_url}/api/data-privacy-deletion-jobs"
|
|
4775
4398
|
query_params = {}
|
|
@@ -4777,15 +4400,8 @@ class KlaviyoApp(APIApplication):
|
|
|
4777
4400
|
response.raise_for_status()
|
|
4778
4401
|
return response.json()
|
|
4779
4402
|
|
|
4780
|
-
def get_events(
|
|
4781
|
-
self,
|
|
4782
|
-
fields_event=None,
|
|
4783
|
-
fields_metric=None,
|
|
4784
|
-
fields_profile=None,
|
|
4785
|
-
filter=None,
|
|
4786
|
-
include=None,
|
|
4787
|
-
page_cursor=None,
|
|
4788
|
-
sort=None,
|
|
4403
|
+
async def get_events(
|
|
4404
|
+
self, fields_event=None, fields_metric=None, fields_profile=None, filter=None, include=None, page_cursor=None, sort=None
|
|
4789
4405
|
) -> dict[str, Any]:
|
|
4790
4406
|
"""
|
|
4791
4407
|
Retrieves a filtered list of events with customizable fields, pagination, sorting, and related resources.
|
|
@@ -4823,7 +4439,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4823
4439
|
response.raise_for_status()
|
|
4824
4440
|
return response.json()
|
|
4825
4441
|
|
|
4826
|
-
def create_event(self, data=None) -> Any:
|
|
4442
|
+
async def create_event(self, data=None) -> Any:
|
|
4827
4443
|
"""
|
|
4828
4444
|
Create a new event by sending a POST request to the `/api/events` endpoint, which includes a `revision` header and returns success with a 202 status code, or error responses for bad requests (400) or internal server errors (500).
|
|
4829
4445
|
|
|
@@ -4899,9 +4515,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4899
4515
|
Tags:
|
|
4900
4516
|
Events
|
|
4901
4517
|
"""
|
|
4902
|
-
request_body = {
|
|
4903
|
-
"data": data,
|
|
4904
|
-
}
|
|
4518
|
+
request_body = {"data": data}
|
|
4905
4519
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
4906
4520
|
url = f"{self.base_url}/api/events"
|
|
4907
4521
|
query_params = {}
|
|
@@ -4909,14 +4523,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4909
4523
|
response.raise_for_status()
|
|
4910
4524
|
return response.json()
|
|
4911
4525
|
|
|
4912
|
-
def get_event(
|
|
4913
|
-
self,
|
|
4914
|
-
id,
|
|
4915
|
-
fields_event=None,
|
|
4916
|
-
fields_metric=None,
|
|
4917
|
-
fields_profile=None,
|
|
4918
|
-
include=None,
|
|
4919
|
-
) -> dict[str, Any]:
|
|
4526
|
+
async def get_event(self, id, fields_event=None, fields_metric=None, fields_profile=None, include=None) -> dict[str, Any]:
|
|
4920
4527
|
"""
|
|
4921
4528
|
Retrieves a specific event by its ID, with optional filtering for fields and inclusion of related data.
|
|
4922
4529
|
|
|
@@ -4950,7 +4557,7 @@ class KlaviyoApp(APIApplication):
|
|
|
4950
4557
|
response.raise_for_status()
|
|
4951
4558
|
return response.json()
|
|
4952
4559
|
|
|
4953
|
-
def bulk_create_events(self, data=None) -> Any:
|
|
4560
|
+
async def bulk_create_events(self, data=None) -> Any:
|
|
4954
4561
|
"""
|
|
4955
4562
|
Creates a batch of events asynchronously via a bulk job with a version-controlled header (revision) and returns status codes for acceptance (202), invalid requests (400), or server errors (500).
|
|
4956
4563
|
|
|
@@ -5149,9 +4756,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5149
4756
|
Tags:
|
|
5150
4757
|
Events
|
|
5151
4758
|
"""
|
|
5152
|
-
request_body = {
|
|
5153
|
-
"data": data,
|
|
5154
|
-
}
|
|
4759
|
+
request_body = {"data": data}
|
|
5155
4760
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5156
4761
|
url = f"{self.base_url}/api/event-bulk-create-jobs"
|
|
5157
4762
|
query_params = {}
|
|
@@ -5159,7 +4764,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5159
4764
|
response.raise_for_status()
|
|
5160
4765
|
return response.json()
|
|
5161
4766
|
|
|
5162
|
-
def get_metric_for_event(self, id, fields_metric=None) -> dict[str, Any]:
|
|
4767
|
+
async def get_metric_for_event(self, id, fields_metric=None) -> dict[str, Any]:
|
|
5163
4768
|
"""
|
|
5164
4769
|
This API operation retrieves event metric details by ID using a GET request to "/api/events/{id}/metric," allowing specification of metric fields via query parameters and requiring a revision header.
|
|
5165
4770
|
|
|
@@ -5176,14 +4781,12 @@ class KlaviyoApp(APIApplication):
|
|
|
5176
4781
|
if id is None:
|
|
5177
4782
|
raise ValueError("Missing required parameter 'id'")
|
|
5178
4783
|
url = f"{self.base_url}/api/events/{id}/metric"
|
|
5179
|
-
query_params = {
|
|
5180
|
-
k: v for k, v in [("fields[metric]", fields_metric)] if v is not None
|
|
5181
|
-
}
|
|
4784
|
+
query_params = {k: v for k, v in [("fields[metric]", fields_metric)] if v is not None}
|
|
5182
4785
|
response = self._get(url, params=query_params)
|
|
5183
4786
|
response.raise_for_status()
|
|
5184
4787
|
return response.json()
|
|
5185
4788
|
|
|
5186
|
-
def get_metric_id_for_event(self, id) -> dict[str, Any]:
|
|
4789
|
+
async def get_metric_id_for_event(self, id) -> dict[str, Any]:
|
|
5187
4790
|
"""
|
|
5188
4791
|
This API operation retrieves a specific relationship between an event and a metric by ID using a GET request to the "/api/events/{id}/relationships/metric" path, with the ability to specify a revision via a header parameter.
|
|
5189
4792
|
|
|
@@ -5204,9 +4807,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5204
4807
|
response.raise_for_status()
|
|
5205
4808
|
return response.json()
|
|
5206
4809
|
|
|
5207
|
-
def get_profile_for_event(
|
|
5208
|
-
self, id, additional_fields_profile=None, fields_profile=None
|
|
5209
|
-
) -> dict[str, Any]:
|
|
4810
|
+
async def get_profile_for_event(self, id, additional_fields_profile=None, fields_profile=None) -> dict[str, Any]:
|
|
5210
4811
|
"""
|
|
5211
4812
|
This API operation retrieves a profile associated with a specific event by its ID, allowing optional specification of additional fields and profile fields, while also accepting a revision header.
|
|
5212
4813
|
|
|
@@ -5226,17 +4827,14 @@ class KlaviyoApp(APIApplication):
|
|
|
5226
4827
|
url = f"{self.base_url}/api/events/{id}/profile"
|
|
5227
4828
|
query_params = {
|
|
5228
4829
|
k: v
|
|
5229
|
-
for k, v in [
|
|
5230
|
-
("additional-fields[profile]", additional_fields_profile),
|
|
5231
|
-
("fields[profile]", fields_profile),
|
|
5232
|
-
]
|
|
4830
|
+
for k, v in [("additional-fields[profile]", additional_fields_profile), ("fields[profile]", fields_profile)]
|
|
5233
4831
|
if v is not None
|
|
5234
4832
|
}
|
|
5235
4833
|
response = self._get(url, params=query_params)
|
|
5236
4834
|
response.raise_for_status()
|
|
5237
4835
|
return response.json()
|
|
5238
4836
|
|
|
5239
|
-
def get_profile_id_for_event(self, id) -> dict[str, Any]:
|
|
4837
|
+
async def get_profile_id_for_event(self, id) -> dict[str, Any]:
|
|
5240
4838
|
"""
|
|
5241
4839
|
Retrieves the profile relationship data for the specified event ID.
|
|
5242
4840
|
|
|
@@ -5257,7 +4855,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5257
4855
|
response.raise_for_status()
|
|
5258
4856
|
return response.json()
|
|
5259
4857
|
|
|
5260
|
-
def get_flows(
|
|
4858
|
+
async def get_flows(
|
|
5261
4859
|
self,
|
|
5262
4860
|
fields_flow_action=None,
|
|
5263
4861
|
fields_flow=None,
|
|
@@ -5306,7 +4904,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5306
4904
|
response.raise_for_status()
|
|
5307
4905
|
return response.json()
|
|
5308
4906
|
|
|
5309
|
-
def create_flow(self, additional_fields_flow=None, data=None) -> dict[str, Any]:
|
|
4907
|
+
async def create_flow(self, additional_fields_flow=None, data=None) -> dict[str, Any]:
|
|
5310
4908
|
"""
|
|
5311
4909
|
Creates a new flow resource, supporting optional query parameters for additional flow fields and header-based revision tracking, returning HTTP 201 on success.
|
|
5312
4910
|
|
|
@@ -5410,28 +5008,16 @@ class KlaviyoApp(APIApplication):
|
|
|
5410
5008
|
Tags:
|
|
5411
5009
|
Flows
|
|
5412
5010
|
"""
|
|
5413
|
-
request_body = {
|
|
5414
|
-
"data": data,
|
|
5415
|
-
}
|
|
5011
|
+
request_body = {"data": data}
|
|
5416
5012
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5417
5013
|
url = f"{self.base_url}/api/flows"
|
|
5418
|
-
query_params = {
|
|
5419
|
-
k: v
|
|
5420
|
-
for k, v in [("additional-fields[flow]", additional_fields_flow)]
|
|
5421
|
-
if v is not None
|
|
5422
|
-
}
|
|
5014
|
+
query_params = {k: v for k, v in [("additional-fields[flow]", additional_fields_flow)] if v is not None}
|
|
5423
5015
|
response = self._post(url, data=request_body, params=query_params)
|
|
5424
5016
|
response.raise_for_status()
|
|
5425
5017
|
return response.json()
|
|
5426
5018
|
|
|
5427
|
-
def get_flow(
|
|
5428
|
-
self,
|
|
5429
|
-
id,
|
|
5430
|
-
additional_fields_flow=None,
|
|
5431
|
-
fields_flow_action=None,
|
|
5432
|
-
fields_flow=None,
|
|
5433
|
-
fields_tag=None,
|
|
5434
|
-
include=None,
|
|
5019
|
+
async def get_flow(
|
|
5020
|
+
self, id, additional_fields_flow=None, fields_flow_action=None, fields_flow=None, fields_tag=None, include=None
|
|
5435
5021
|
) -> dict[str, Any]:
|
|
5436
5022
|
"""
|
|
5437
5023
|
Retrieves a flow by ID with optional filtering by additional fields, flow actions, flow details, tags, and includes, using a specified revision from the header.
|
|
@@ -5468,7 +5054,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5468
5054
|
response.raise_for_status()
|
|
5469
5055
|
return response.json()
|
|
5470
5056
|
|
|
5471
|
-
def delete_flow(self, id) -> Any:
|
|
5057
|
+
async def delete_flow(self, id) -> Any:
|
|
5472
5058
|
"""
|
|
5473
5059
|
Deletes the flow with the specified ID, requiring a revision header, and returns a 204 (No Content) on success, with 400 and 500 codes for client errors and server failures.
|
|
5474
5060
|
|
|
@@ -5489,7 +5075,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5489
5075
|
response.raise_for_status()
|
|
5490
5076
|
return response.json()
|
|
5491
5077
|
|
|
5492
|
-
def update_flow_status(self, id, data=None) -> dict[str, Any]:
|
|
5078
|
+
async def update_flow_status(self, id, data=None) -> dict[str, Any]:
|
|
5493
5079
|
"""
|
|
5494
5080
|
Updates a specific flow by ID using partial modifications, requiring a revision header.
|
|
5495
5081
|
|
|
@@ -5517,9 +5103,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5517
5103
|
"""
|
|
5518
5104
|
if id is None:
|
|
5519
5105
|
raise ValueError("Missing required parameter 'id'")
|
|
5520
|
-
request_body = {
|
|
5521
|
-
"data": data,
|
|
5522
|
-
}
|
|
5106
|
+
request_body = {"data": data}
|
|
5523
5107
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
5524
5108
|
url = f"{self.base_url}/api/flows/{id}"
|
|
5525
5109
|
query_params = {}
|
|
@@ -5527,13 +5111,8 @@ class KlaviyoApp(APIApplication):
|
|
|
5527
5111
|
response.raise_for_status()
|
|
5528
5112
|
return response.json()
|
|
5529
5113
|
|
|
5530
|
-
def get_flow_action(
|
|
5531
|
-
self,
|
|
5532
|
-
id,
|
|
5533
|
-
fields_flow_action=None,
|
|
5534
|
-
fields_flow_message=None,
|
|
5535
|
-
fields_flow=None,
|
|
5536
|
-
include=None,
|
|
5114
|
+
async def get_flow_action(
|
|
5115
|
+
self, id, fields_flow_action=None, fields_flow_message=None, fields_flow=None, include=None
|
|
5537
5116
|
) -> dict[str, Any]:
|
|
5538
5117
|
"""
|
|
5539
5118
|
Retrieves a specific flow action by ID, optionally including additional fields and related resources, with support for revision tracking via a header.
|
|
@@ -5568,13 +5147,8 @@ class KlaviyoApp(APIApplication):
|
|
|
5568
5147
|
response.raise_for_status()
|
|
5569
5148
|
return response.json()
|
|
5570
5149
|
|
|
5571
|
-
def get_flow_message(
|
|
5572
|
-
self,
|
|
5573
|
-
id,
|
|
5574
|
-
fields_flow_action=None,
|
|
5575
|
-
fields_flow_message=None,
|
|
5576
|
-
fields_template=None,
|
|
5577
|
-
include=None,
|
|
5150
|
+
async def get_flow_message(
|
|
5151
|
+
self, id, fields_flow_action=None, fields_flow_message=None, fields_template=None, include=None
|
|
5578
5152
|
) -> dict[str, Any]:
|
|
5579
5153
|
"""
|
|
5580
5154
|
Retrieves a specific flow message by ID with optional filtering (fields selection) and related resource inclusion (include parameter).
|
|
@@ -5609,14 +5183,8 @@ class KlaviyoApp(APIApplication):
|
|
|
5609
5183
|
response.raise_for_status()
|
|
5610
5184
|
return response.json()
|
|
5611
5185
|
|
|
5612
|
-
def get_actions_for_flow(
|
|
5613
|
-
self,
|
|
5614
|
-
id,
|
|
5615
|
-
fields_flow_action=None,
|
|
5616
|
-
filter=None,
|
|
5617
|
-
page_cursor=None,
|
|
5618
|
-
page_size=None,
|
|
5619
|
-
sort=None,
|
|
5186
|
+
async def get_actions_for_flow(
|
|
5187
|
+
self, id, fields_flow_action=None, filter=None, page_cursor=None, page_size=None, sort=None
|
|
5620
5188
|
) -> dict[str, Any]:
|
|
5621
5189
|
"""
|
|
5622
5190
|
Retrieves flow actions for a specific flow with filtering, pagination, and field selection capabilities.
|
|
@@ -5653,9 +5221,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5653
5221
|
response.raise_for_status()
|
|
5654
5222
|
return response.json()
|
|
5655
5223
|
|
|
5656
|
-
def get_action_ids_for_flow(
|
|
5657
|
-
self, id, filter=None, page_cursor=None, page_size=None, sort=None
|
|
5658
|
-
) -> dict[str, Any]:
|
|
5224
|
+
async def get_action_ids_for_flow(self, id, filter=None, page_cursor=None, page_size=None, sort=None) -> dict[str, Any]:
|
|
5659
5225
|
"""
|
|
5660
5226
|
The API operation at "/api/flows/{id}/relationships/flow-actions" using the "GET" method retrieves relationships associated with flow actions for a specific flow ID, allowing filtering, pagination, and sorting of results.
|
|
5661
5227
|
|
|
@@ -5676,20 +5242,13 @@ class KlaviyoApp(APIApplication):
|
|
|
5676
5242
|
raise ValueError("Missing required parameter 'id'")
|
|
5677
5243
|
url = f"{self.base_url}/api/flows/{id}/relationships/flow-actions"
|
|
5678
5244
|
query_params = {
|
|
5679
|
-
k: v
|
|
5680
|
-
for k, v in [
|
|
5681
|
-
("filter", filter),
|
|
5682
|
-
("page[cursor]", page_cursor),
|
|
5683
|
-
("page[size]", page_size),
|
|
5684
|
-
("sort", sort),
|
|
5685
|
-
]
|
|
5686
|
-
if v is not None
|
|
5245
|
+
k: v for k, v in [("filter", filter), ("page[cursor]", page_cursor), ("page[size]", page_size), ("sort", sort)] if v is not None
|
|
5687
5246
|
}
|
|
5688
5247
|
response = self._get(url, params=query_params)
|
|
5689
5248
|
response.raise_for_status()
|
|
5690
5249
|
return response.json()
|
|
5691
5250
|
|
|
5692
|
-
def get_tags_for_flow(self, id, fields_tag=None) -> dict[str, Any]:
|
|
5251
|
+
async def get_tags_for_flow(self, id, fields_tag=None) -> dict[str, Any]:
|
|
5693
5252
|
"""
|
|
5694
5253
|
Retrieves the tags associated with a specific flow identified by its ID, allowing optional filtering of tag fields and requiring a revision header.
|
|
5695
5254
|
|
|
@@ -5711,7 +5270,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5711
5270
|
response.raise_for_status()
|
|
5712
5271
|
return response.json()
|
|
5713
5272
|
|
|
5714
|
-
def get_tag_ids_for_flow(self, id) -> dict[str, Any]:
|
|
5273
|
+
async def get_tag_ids_for_flow(self, id) -> dict[str, Any]:
|
|
5715
5274
|
"""
|
|
5716
5275
|
Retrieves the tag relationships associated with a specific flow ID, requiring a revision header parameter, and returns success (200), client error (400), or server error (500) responses.
|
|
5717
5276
|
|
|
@@ -5732,7 +5291,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5732
5291
|
response.raise_for_status()
|
|
5733
5292
|
return response.json()
|
|
5734
5293
|
|
|
5735
|
-
def get_flow_for_flow_action(self, id, fields_flow=None) -> dict[str, Any]:
|
|
5294
|
+
async def get_flow_for_flow_action(self, id, fields_flow=None) -> dict[str, Any]:
|
|
5736
5295
|
"""
|
|
5737
5296
|
Retrieves the flow details associated with a specific flow action by ID, allowing optional filtering of flow fields and specifying a revision via headers.
|
|
5738
5297
|
|
|
@@ -5749,14 +5308,12 @@ class KlaviyoApp(APIApplication):
|
|
|
5749
5308
|
if id is None:
|
|
5750
5309
|
raise ValueError("Missing required parameter 'id'")
|
|
5751
5310
|
url = f"{self.base_url}/api/flow-actions/{id}/flow"
|
|
5752
|
-
query_params = {
|
|
5753
|
-
k: v for k, v in [("fields[flow]", fields_flow)] if v is not None
|
|
5754
|
-
}
|
|
5311
|
+
query_params = {k: v for k, v in [("fields[flow]", fields_flow)] if v is not None}
|
|
5755
5312
|
response = self._get(url, params=query_params)
|
|
5756
5313
|
response.raise_for_status()
|
|
5757
5314
|
return response.json()
|
|
5758
5315
|
|
|
5759
|
-
def get_flow_id_for_flow_action(self, id) -> dict[str, Any]:
|
|
5316
|
+
async def get_flow_id_for_flow_action(self, id) -> dict[str, Any]:
|
|
5760
5317
|
"""
|
|
5761
5318
|
Retrieves relationships for a specific flow action identified by `{id}`, requiring a `revision` header and returning responses for successful retrieval, bad requests, or server errors.
|
|
5762
5319
|
|
|
@@ -5777,14 +5334,8 @@ class KlaviyoApp(APIApplication):
|
|
|
5777
5334
|
response.raise_for_status()
|
|
5778
5335
|
return response.json()
|
|
5779
5336
|
|
|
5780
|
-
def get_messages_for_flow_action(
|
|
5781
|
-
self,
|
|
5782
|
-
id,
|
|
5783
|
-
fields_flow_message=None,
|
|
5784
|
-
filter=None,
|
|
5785
|
-
page_cursor=None,
|
|
5786
|
-
page_size=None,
|
|
5787
|
-
sort=None,
|
|
5337
|
+
async def get_messages_for_flow_action(
|
|
5338
|
+
self, id, fields_flow_message=None, filter=None, page_cursor=None, page_size=None, sort=None
|
|
5788
5339
|
) -> dict[str, Any]:
|
|
5789
5340
|
"""
|
|
5790
5341
|
This API operation, accessible via GET method at the "/api/flow-actions/{id}/flow-messages" path, retrieves flow messages associated with a specific flow action identified by "id," allowing customization through query parameters for fields, filtering, pagination, and sorting, with additional revision details provided in the header.
|
|
@@ -5821,9 +5372,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5821
5372
|
response.raise_for_status()
|
|
5822
5373
|
return response.json()
|
|
5823
5374
|
|
|
5824
|
-
def get_message_ids_for_flow_action(
|
|
5825
|
-
self, id, filter=None, page_cursor=None, page_size=None, sort=None
|
|
5826
|
-
) -> dict[str, Any]:
|
|
5375
|
+
async def get_message_ids_for_flow_action(self, id, filter=None, page_cursor=None, page_size=None, sort=None) -> dict[str, Any]:
|
|
5827
5376
|
"""
|
|
5828
5377
|
Retrieves a list of flow messages associated with the specified flow action, supporting pagination, filtering, sorting, and optional revision header.
|
|
5829
5378
|
|
|
@@ -5844,22 +5393,13 @@ class KlaviyoApp(APIApplication):
|
|
|
5844
5393
|
raise ValueError("Missing required parameter 'id'")
|
|
5845
5394
|
url = f"{self.base_url}/api/flow-actions/{id}/relationships/flow-messages"
|
|
5846
5395
|
query_params = {
|
|
5847
|
-
k: v
|
|
5848
|
-
for k, v in [
|
|
5849
|
-
("filter", filter),
|
|
5850
|
-
("page[cursor]", page_cursor),
|
|
5851
|
-
("page[size]", page_size),
|
|
5852
|
-
("sort", sort),
|
|
5853
|
-
]
|
|
5854
|
-
if v is not None
|
|
5396
|
+
k: v for k, v in [("filter", filter), ("page[cursor]", page_cursor), ("page[size]", page_size), ("sort", sort)] if v is not None
|
|
5855
5397
|
}
|
|
5856
5398
|
response = self._get(url, params=query_params)
|
|
5857
5399
|
response.raise_for_status()
|
|
5858
5400
|
return response.json()
|
|
5859
5401
|
|
|
5860
|
-
def get_action_for_flow_message(
|
|
5861
|
-
self, id, fields_flow_action=None
|
|
5862
|
-
) -> dict[str, Any]:
|
|
5402
|
+
async def get_action_for_flow_message(self, id, fields_flow_action=None) -> dict[str, Any]:
|
|
5863
5403
|
"""
|
|
5864
5404
|
Retrieves a flow action for a specific flow message by ID, allowing optional filtering by fields and revision, returning a successful response or error codes for bad requests or server errors.
|
|
5865
5405
|
|
|
@@ -5876,16 +5416,12 @@ class KlaviyoApp(APIApplication):
|
|
|
5876
5416
|
if id is None:
|
|
5877
5417
|
raise ValueError("Missing required parameter 'id'")
|
|
5878
5418
|
url = f"{self.base_url}/api/flow-messages/{id}/flow-action"
|
|
5879
|
-
query_params = {
|
|
5880
|
-
k: v
|
|
5881
|
-
for k, v in [("fields[flow-action]", fields_flow_action)]
|
|
5882
|
-
if v is not None
|
|
5883
|
-
}
|
|
5419
|
+
query_params = {k: v for k, v in [("fields[flow-action]", fields_flow_action)] if v is not None}
|
|
5884
5420
|
response = self._get(url, params=query_params)
|
|
5885
5421
|
response.raise_for_status()
|
|
5886
5422
|
return response.json()
|
|
5887
5423
|
|
|
5888
|
-
def get_action_id_for_flow_message(self, id) -> dict[str, Any]:
|
|
5424
|
+
async def get_action_id_for_flow_message(self, id) -> dict[str, Any]:
|
|
5889
5425
|
"""
|
|
5890
5426
|
Retrieves the relationships between a flow message, identified by `{id}`, and a flow action, allowing for the inspection of how flow messages are associated with actions, with optional revision filtering via the `revision` header.
|
|
5891
5427
|
|
|
@@ -5906,7 +5442,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5906
5442
|
response.raise_for_status()
|
|
5907
5443
|
return response.json()
|
|
5908
5444
|
|
|
5909
|
-
def get_template_for_flow_message(self, id, fields_template=None) -> dict[str, Any]:
|
|
5445
|
+
async def get_template_for_flow_message(self, id, fields_template=None) -> dict[str, Any]:
|
|
5910
5446
|
"""
|
|
5911
5447
|
The `/api/flow-messages/{id}/template` operation retrieves a template for a flow message by its ID using the GET method, allowing optional filtering of template fields via query parameters and specifying revisions through headers.
|
|
5912
5448
|
|
|
@@ -5923,14 +5459,12 @@ class KlaviyoApp(APIApplication):
|
|
|
5923
5459
|
if id is None:
|
|
5924
5460
|
raise ValueError("Missing required parameter 'id'")
|
|
5925
5461
|
url = f"{self.base_url}/api/flow-messages/{id}/template"
|
|
5926
|
-
query_params = {
|
|
5927
|
-
k: v for k, v in [("fields[template]", fields_template)] if v is not None
|
|
5928
|
-
}
|
|
5462
|
+
query_params = {k: v for k, v in [("fields[template]", fields_template)] if v is not None}
|
|
5929
5463
|
response = self._get(url, params=query_params)
|
|
5930
5464
|
response.raise_for_status()
|
|
5931
5465
|
return response.json()
|
|
5932
5466
|
|
|
5933
|
-
def get_template_id_for_flow_message(self, id) -> dict[str, Any]:
|
|
5467
|
+
async def get_template_id_for_flow_message(self, id) -> dict[str, Any]:
|
|
5934
5468
|
"""
|
|
5935
5469
|
Retrieves the relationship details associated with a template for a specific flow message, identified by `{id}`, with optional filtering by revision specified in the header.
|
|
5936
5470
|
|
|
@@ -5951,9 +5485,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5951
5485
|
response.raise_for_status()
|
|
5952
5486
|
return response.json()
|
|
5953
5487
|
|
|
5954
|
-
def get_forms(
|
|
5955
|
-
self, fields_form=None, filter=None, page_cursor=None, page_size=None, sort=None
|
|
5956
|
-
) -> dict[str, Any]:
|
|
5488
|
+
async def get_forms(self, fields_form=None, filter=None, page_cursor=None, page_size=None, sort=None) -> dict[str, Any]:
|
|
5957
5489
|
"""
|
|
5958
5490
|
The "GET /api/forms" operation retrieves a list of forms based on provided query parameters such as fields, filters, pagination, and sorting, with an optional revision header, returning a successful response with a 200 status code.
|
|
5959
5491
|
|
|
@@ -5986,9 +5518,7 @@ class KlaviyoApp(APIApplication):
|
|
|
5986
5518
|
response.raise_for_status()
|
|
5987
5519
|
return response.json()
|
|
5988
5520
|
|
|
5989
|
-
def get_form(
|
|
5990
|
-
self, id, fields_form_version=None, fields_form=None, include=None
|
|
5991
|
-
) -> dict[str, Any]:
|
|
5521
|
+
async def get_form(self, id, fields_form_version=None, fields_form=None, include=None) -> dict[str, Any]:
|
|
5992
5522
|
"""
|
|
5993
5523
|
Retrieves a specific form using its ID, supporting optional query parameters for field filtering, includes, and a revision header.
|
|
5994
5524
|
|
|
@@ -6009,18 +5539,14 @@ class KlaviyoApp(APIApplication):
|
|
|
6009
5539
|
url = f"{self.base_url}/api/forms/{id}"
|
|
6010
5540
|
query_params = {
|
|
6011
5541
|
k: v
|
|
6012
|
-
for k, v in [
|
|
6013
|
-
("fields[form-version]", fields_form_version),
|
|
6014
|
-
("fields[form]", fields_form),
|
|
6015
|
-
("include", include),
|
|
6016
|
-
]
|
|
5542
|
+
for k, v in [("fields[form-version]", fields_form_version), ("fields[form]", fields_form), ("include", include)]
|
|
6017
5543
|
if v is not None
|
|
6018
5544
|
}
|
|
6019
5545
|
response = self._get(url, params=query_params)
|
|
6020
5546
|
response.raise_for_status()
|
|
6021
5547
|
return response.json()
|
|
6022
5548
|
|
|
6023
|
-
def get_form_version(self, id, fields_form_version=None) -> dict[str, Any]:
|
|
5549
|
+
async def get_form_version(self, id, fields_form_version=None) -> dict[str, Any]:
|
|
6024
5550
|
"""
|
|
6025
5551
|
Retrieves a specific form version by ID using the GET method, allowing optional filtering by form-version fields and revision headers.
|
|
6026
5552
|
|
|
@@ -6037,23 +5563,13 @@ class KlaviyoApp(APIApplication):
|
|
|
6037
5563
|
if id is None:
|
|
6038
5564
|
raise ValueError("Missing required parameter 'id'")
|
|
6039
5565
|
url = f"{self.base_url}/api/form-versions/{id}"
|
|
6040
|
-
query_params = {
|
|
6041
|
-
k: v
|
|
6042
|
-
for k, v in [("fields[form-version]", fields_form_version)]
|
|
6043
|
-
if v is not None
|
|
6044
|
-
}
|
|
5566
|
+
query_params = {k: v for k, v in [("fields[form-version]", fields_form_version)] if v is not None}
|
|
6045
5567
|
response = self._get(url, params=query_params)
|
|
6046
5568
|
response.raise_for_status()
|
|
6047
5569
|
return response.json()
|
|
6048
5570
|
|
|
6049
|
-
def get_versions_for_form(
|
|
6050
|
-
self,
|
|
6051
|
-
id,
|
|
6052
|
-
fields_form_version=None,
|
|
6053
|
-
filter=None,
|
|
6054
|
-
page_cursor=None,
|
|
6055
|
-
page_size=None,
|
|
6056
|
-
sort=None,
|
|
5571
|
+
async def get_versions_for_form(
|
|
5572
|
+
self, id, fields_form_version=None, filter=None, page_cursor=None, page_size=None, sort=None
|
|
6057
5573
|
) -> dict[str, Any]:
|
|
6058
5574
|
"""
|
|
6059
5575
|
Retrieves paginated form versions for a specific form with filtering, sorting, field selection, and pagination options.
|
|
@@ -6090,9 +5606,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6090
5606
|
response.raise_for_status()
|
|
6091
5607
|
return response.json()
|
|
6092
5608
|
|
|
6093
|
-
def get_version_ids_for_form(
|
|
6094
|
-
self, id, filter=None, page_cursor=None, page_size=None, sort=None
|
|
6095
|
-
) -> dict[str, Any]:
|
|
5609
|
+
async def get_version_ids_for_form(self, id, filter=None, page_cursor=None, page_size=None, sort=None) -> dict[str, Any]:
|
|
6096
5610
|
"""
|
|
6097
5611
|
This API operation retrieves the relationships between a form and its versions via a GET request to "/api/forms/{id}/relationships/form-versions," allowing filtering, pagination, and sorting of results.
|
|
6098
5612
|
|
|
@@ -6113,20 +5627,13 @@ class KlaviyoApp(APIApplication):
|
|
|
6113
5627
|
raise ValueError("Missing required parameter 'id'")
|
|
6114
5628
|
url = f"{self.base_url}/api/forms/{id}/relationships/form-versions"
|
|
6115
5629
|
query_params = {
|
|
6116
|
-
k: v
|
|
6117
|
-
for k, v in [
|
|
6118
|
-
("filter", filter),
|
|
6119
|
-
("page[cursor]", page_cursor),
|
|
6120
|
-
("page[size]", page_size),
|
|
6121
|
-
("sort", sort),
|
|
6122
|
-
]
|
|
6123
|
-
if v is not None
|
|
5630
|
+
k: v for k, v in [("filter", filter), ("page[cursor]", page_cursor), ("page[size]", page_size), ("sort", sort)] if v is not None
|
|
6124
5631
|
}
|
|
6125
5632
|
response = self._get(url, params=query_params)
|
|
6126
5633
|
response.raise_for_status()
|
|
6127
5634
|
return response.json()
|
|
6128
5635
|
|
|
6129
|
-
def get_form_for_form_version(self, id, fields_form=None) -> dict[str, Any]:
|
|
5636
|
+
async def get_form_for_form_version(self, id, fields_form=None) -> dict[str, Any]:
|
|
6130
5637
|
"""
|
|
6131
5638
|
Retrieves the specified form version's form details, with optional field filtering via `fields[form]` query parameter and revision tracking via `revision` header.
|
|
6132
5639
|
|
|
@@ -6143,14 +5650,12 @@ class KlaviyoApp(APIApplication):
|
|
|
6143
5650
|
if id is None:
|
|
6144
5651
|
raise ValueError("Missing required parameter 'id'")
|
|
6145
5652
|
url = f"{self.base_url}/api/form-versions/{id}/form"
|
|
6146
|
-
query_params = {
|
|
6147
|
-
k: v for k, v in [("fields[form]", fields_form)] if v is not None
|
|
6148
|
-
}
|
|
5653
|
+
query_params = {k: v for k, v in [("fields[form]", fields_form)] if v is not None}
|
|
6149
5654
|
response = self._get(url, params=query_params)
|
|
6150
5655
|
response.raise_for_status()
|
|
6151
5656
|
return response.json()
|
|
6152
5657
|
|
|
6153
|
-
def get_form_id_for_form_version(self, id) -> dict[str, Any]:
|
|
5658
|
+
async def get_form_id_for_form_version(self, id) -> dict[str, Any]:
|
|
6154
5659
|
"""
|
|
6155
5660
|
Retrieves the relationship details of a specified form version by its ID using the provided revision header.
|
|
6156
5661
|
|
|
@@ -6171,14 +5676,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6171
5676
|
response.raise_for_status()
|
|
6172
5677
|
return response.json()
|
|
6173
5678
|
|
|
6174
|
-
def get_images(
|
|
6175
|
-
self,
|
|
6176
|
-
fields_image=None,
|
|
6177
|
-
filter=None,
|
|
6178
|
-
page_cursor=None,
|
|
6179
|
-
page_size=None,
|
|
6180
|
-
sort=None,
|
|
6181
|
-
) -> dict[str, Any]:
|
|
5679
|
+
async def get_images(self, fields_image=None, filter=None, page_cursor=None, page_size=None, sort=None) -> dict[str, Any]:
|
|
6182
5680
|
"""
|
|
6183
5681
|
The **GET /api/images** operation retrieves image resources based on optional query parameters for filtering, pagination, sorting, and specific fields, with the option to include a revision header.
|
|
6184
5682
|
|
|
@@ -6211,7 +5709,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6211
5709
|
response.raise_for_status()
|
|
6212
5710
|
return response.json()
|
|
6213
5711
|
|
|
6214
|
-
def upload_image_from_url(self, data=None) -> dict[str, Any]:
|
|
5712
|
+
async def upload_image_from_url(self, data=None) -> dict[str, Any]:
|
|
6215
5713
|
"""
|
|
6216
5714
|
Creates a new image resource with the specified revision, returning a successful creation response if valid, or error responses for invalid requests or server issues.
|
|
6217
5715
|
|
|
@@ -6237,9 +5735,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6237
5735
|
Tags:
|
|
6238
5736
|
Images
|
|
6239
5737
|
"""
|
|
6240
|
-
request_body = {
|
|
6241
|
-
"data": data,
|
|
6242
|
-
}
|
|
5738
|
+
request_body = {"data": data}
|
|
6243
5739
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6244
5740
|
url = f"{self.base_url}/api/images"
|
|
6245
5741
|
query_params = {}
|
|
@@ -6247,7 +5743,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6247
5743
|
response.raise_for_status()
|
|
6248
5744
|
return response.json()
|
|
6249
5745
|
|
|
6250
|
-
def get_image(self, id, fields_image=None) -> dict[str, Any]:
|
|
5746
|
+
async def get_image(self, id, fields_image=None) -> dict[str, Any]:
|
|
6251
5747
|
"""
|
|
6252
5748
|
Retrieves a specific image by ID, allowing optional query parameter "fields[image]" and a required revision header, returning data if successful or error responses for bad requests or internal server errors.
|
|
6253
5749
|
|
|
@@ -6264,14 +5760,12 @@ class KlaviyoApp(APIApplication):
|
|
|
6264
5760
|
if id is None:
|
|
6265
5761
|
raise ValueError("Missing required parameter 'id'")
|
|
6266
5762
|
url = f"{self.base_url}/api/images/{id}"
|
|
6267
|
-
query_params = {
|
|
6268
|
-
k: v for k, v in [("fields[image]", fields_image)] if v is not None
|
|
6269
|
-
}
|
|
5763
|
+
query_params = {k: v for k, v in [("fields[image]", fields_image)] if v is not None}
|
|
6270
5764
|
response = self._get(url, params=query_params)
|
|
6271
5765
|
response.raise_for_status()
|
|
6272
5766
|
return response.json()
|
|
6273
5767
|
|
|
6274
|
-
def update_image(self, id, data=None) -> dict[str, Any]:
|
|
5768
|
+
async def update_image(self, id, data=None) -> dict[str, Any]:
|
|
6275
5769
|
"""
|
|
6276
5770
|
The PATCH method at "/api/images/{id}" allows for partial updates of an image resource by specifying changes in the request body, with the revision tracked via a header parameter.
|
|
6277
5771
|
|
|
@@ -6300,9 +5794,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6300
5794
|
"""
|
|
6301
5795
|
if id is None:
|
|
6302
5796
|
raise ValueError("Missing required parameter 'id'")
|
|
6303
|
-
request_body = {
|
|
6304
|
-
"data": data,
|
|
6305
|
-
}
|
|
5797
|
+
request_body = {"data": data}
|
|
6306
5798
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6307
5799
|
url = f"{self.base_url}/api/images/{id}"
|
|
6308
5800
|
query_params = {}
|
|
@@ -6310,15 +5802,8 @@ class KlaviyoApp(APIApplication):
|
|
|
6310
5802
|
response.raise_for_status()
|
|
6311
5803
|
return response.json()
|
|
6312
5804
|
|
|
6313
|
-
def get_lists(
|
|
6314
|
-
self,
|
|
6315
|
-
fields_flow=None,
|
|
6316
|
-
fields_list=None,
|
|
6317
|
-
fields_tag=None,
|
|
6318
|
-
filter=None,
|
|
6319
|
-
include=None,
|
|
6320
|
-
page_cursor=None,
|
|
6321
|
-
sort=None,
|
|
5805
|
+
async def get_lists(
|
|
5806
|
+
self, fields_flow=None, fields_list=None, fields_tag=None, filter=None, include=None, page_cursor=None, sort=None
|
|
6322
5807
|
) -> dict[str, Any]:
|
|
6323
5808
|
"""
|
|
6324
5809
|
The API operation at "/api/lists" using the "GET" method retrieves a list of items based on specified query parameters for fields, filters, sorting, and pagination, with optional headers for revision control.
|
|
@@ -6356,7 +5841,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6356
5841
|
response.raise_for_status()
|
|
6357
5842
|
return response.json()
|
|
6358
5843
|
|
|
6359
|
-
def create_list(self, data=None) -> dict[str, Any]:
|
|
5844
|
+
async def create_list(self, data=None) -> dict[str, Any]:
|
|
6360
5845
|
"""
|
|
6361
5846
|
The POST operation at "/api/lists" creates a new list resource, returning a 201 status upon success, and accepts a `revision` parameter in the request header.
|
|
6362
5847
|
|
|
@@ -6380,9 +5865,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6380
5865
|
Tags:
|
|
6381
5866
|
Lists
|
|
6382
5867
|
"""
|
|
6383
|
-
request_body = {
|
|
6384
|
-
"data": data,
|
|
6385
|
-
}
|
|
5868
|
+
request_body = {"data": data}
|
|
6386
5869
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6387
5870
|
url = f"{self.base_url}/api/lists"
|
|
6388
5871
|
query_params = {}
|
|
@@ -6390,14 +5873,8 @@ class KlaviyoApp(APIApplication):
|
|
|
6390
5873
|
response.raise_for_status()
|
|
6391
5874
|
return response.json()
|
|
6392
5875
|
|
|
6393
|
-
def get_list(
|
|
6394
|
-
self,
|
|
6395
|
-
id,
|
|
6396
|
-
additional_fields_list=None,
|
|
6397
|
-
fields_flow=None,
|
|
6398
|
-
fields_list=None,
|
|
6399
|
-
fields_tag=None,
|
|
6400
|
-
include=None,
|
|
5876
|
+
async def get_list(
|
|
5877
|
+
self, id, additional_fields_list=None, fields_flow=None, fields_list=None, fields_tag=None, include=None
|
|
6401
5878
|
) -> dict[str, Any]:
|
|
6402
5879
|
"""
|
|
6403
5880
|
Retrieves a specific list by ID with customizable response fields, optional related resources to include, and support for specifying data revisions via headers.
|
|
@@ -6434,7 +5911,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6434
5911
|
response.raise_for_status()
|
|
6435
5912
|
return response.json()
|
|
6436
5913
|
|
|
6437
|
-
def delete_list(self, id) -> Any:
|
|
5914
|
+
async def delete_list(self, id) -> Any:
|
|
6438
5915
|
"""
|
|
6439
5916
|
Deletes the specified list by ID when the correct revision header is provided, returning HTTP 204 for successful deletion, or 400/500 for invalid requests or server errors.
|
|
6440
5917
|
|
|
@@ -6455,7 +5932,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6455
5932
|
response.raise_for_status()
|
|
6456
5933
|
return response.json()
|
|
6457
5934
|
|
|
6458
|
-
def update_list(self, id, data=None) -> dict[str, Any]:
|
|
5935
|
+
async def update_list(self, id, data=None) -> dict[str, Any]:
|
|
6459
5936
|
"""
|
|
6460
5937
|
Updates a list resource partially by applying modifications to the specified fields at the path "/api/lists/{id}", requiring a revision header for concurrent version control.
|
|
6461
5938
|
|
|
@@ -6483,9 +5960,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6483
5960
|
"""
|
|
6484
5961
|
if id is None:
|
|
6485
5962
|
raise ValueError("Missing required parameter 'id'")
|
|
6486
|
-
request_body = {
|
|
6487
|
-
"data": data,
|
|
6488
|
-
}
|
|
5963
|
+
request_body = {"data": data}
|
|
6489
5964
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6490
5965
|
url = f"{self.base_url}/api/lists/{id}"
|
|
6491
5966
|
query_params = {}
|
|
@@ -6493,7 +5968,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6493
5968
|
response.raise_for_status()
|
|
6494
5969
|
return response.json()
|
|
6495
5970
|
|
|
6496
|
-
def get_tags_for_list(self, id, fields_tag=None) -> dict[str, Any]:
|
|
5971
|
+
async def get_tags_for_list(self, id, fields_tag=None) -> dict[str, Any]:
|
|
6497
5972
|
"""
|
|
6498
5973
|
This API operation retrieves the tags associated with a list specified by its ID, allowing optional filtering of specific fields and revision information via query and header parameters, respectively.
|
|
6499
5974
|
|
|
@@ -6515,7 +5990,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6515
5990
|
response.raise_for_status()
|
|
6516
5991
|
return response.json()
|
|
6517
5992
|
|
|
6518
|
-
def get_tag_ids_for_list(self, id) -> dict[str, Any]:
|
|
5993
|
+
async def get_tag_ids_for_list(self, id) -> dict[str, Any]:
|
|
6519
5994
|
"""
|
|
6520
5995
|
Retrieves the relationships between a specified list and its associated tags.
|
|
6521
5996
|
|
|
@@ -6536,15 +6011,8 @@ class KlaviyoApp(APIApplication):
|
|
|
6536
6011
|
response.raise_for_status()
|
|
6537
6012
|
return response.json()
|
|
6538
6013
|
|
|
6539
|
-
def get_profiles_for_list(
|
|
6540
|
-
self,
|
|
6541
|
-
id,
|
|
6542
|
-
additional_fields_profile=None,
|
|
6543
|
-
fields_profile=None,
|
|
6544
|
-
filter=None,
|
|
6545
|
-
page_cursor=None,
|
|
6546
|
-
page_size=None,
|
|
6547
|
-
sort=None,
|
|
6014
|
+
async def get_profiles_for_list(
|
|
6015
|
+
self, id, additional_fields_profile=None, fields_profile=None, filter=None, page_cursor=None, page_size=None, sort=None
|
|
6548
6016
|
) -> dict[str, Any]:
|
|
6549
6017
|
"""
|
|
6550
6018
|
Retrieves a list of profiles associated with the specified list ID, allowing optional filtering, sorting, and pagination, with customizable fields and revision tracking.
|
|
@@ -6583,9 +6051,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6583
6051
|
response.raise_for_status()
|
|
6584
6052
|
return response.json()
|
|
6585
6053
|
|
|
6586
|
-
def get_profile_ids_for_list(
|
|
6587
|
-
self, id, filter=None, page_cursor=None, page_size=None, sort=None
|
|
6588
|
-
) -> dict[str, Any]:
|
|
6054
|
+
async def get_profile_ids_for_list(self, id, filter=None, page_cursor=None, page_size=None, sort=None) -> dict[str, Any]:
|
|
6589
6055
|
"""
|
|
6590
6056
|
This API operation retrieves the profiles related to a list identified by `{id}`, allowing for filtering, pagination, sorting, and revision specification via query parameters and headers.
|
|
6591
6057
|
|
|
@@ -6606,20 +6072,13 @@ class KlaviyoApp(APIApplication):
|
|
|
6606
6072
|
raise ValueError("Missing required parameter 'id'")
|
|
6607
6073
|
url = f"{self.base_url}/api/lists/{id}/relationships/profiles"
|
|
6608
6074
|
query_params = {
|
|
6609
|
-
k: v
|
|
6610
|
-
for k, v in [
|
|
6611
|
-
("filter", filter),
|
|
6612
|
-
("page[cursor]", page_cursor),
|
|
6613
|
-
("page[size]", page_size),
|
|
6614
|
-
("sort", sort),
|
|
6615
|
-
]
|
|
6616
|
-
if v is not None
|
|
6075
|
+
k: v for k, v in [("filter", filter), ("page[cursor]", page_cursor), ("page[size]", page_size), ("sort", sort)] if v is not None
|
|
6617
6076
|
}
|
|
6618
6077
|
response = self._get(url, params=query_params)
|
|
6619
6078
|
response.raise_for_status()
|
|
6620
6079
|
return response.json()
|
|
6621
6080
|
|
|
6622
|
-
def add_profiles_to_list(self, id, data=None) -> Any:
|
|
6081
|
+
async def add_profiles_to_list(self, id, data=None) -> Any:
|
|
6623
6082
|
"""
|
|
6624
6083
|
Creates a relationship between a specified list and one or more profiles using a POST request with an optional revision header, returning a 204 on success, 400 for client errors, and 500 for server errors.
|
|
6625
6084
|
|
|
@@ -6650,9 +6109,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6650
6109
|
"""
|
|
6651
6110
|
if id is None:
|
|
6652
6111
|
raise ValueError("Missing required parameter 'id'")
|
|
6653
|
-
request_body = {
|
|
6654
|
-
"data": data,
|
|
6655
|
-
}
|
|
6112
|
+
request_body = {"data": data}
|
|
6656
6113
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6657
6114
|
url = f"{self.base_url}/api/lists/{id}/relationships/profiles"
|
|
6658
6115
|
query_params = {}
|
|
@@ -6660,7 +6117,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6660
6117
|
response.raise_for_status()
|
|
6661
6118
|
return response.json()
|
|
6662
6119
|
|
|
6663
|
-
def remove_profiles_from_list(self, id, data=None) -> Any:
|
|
6120
|
+
async def remove_profiles_from_list(self, id, data=None) -> Any:
|
|
6664
6121
|
"""
|
|
6665
6122
|
Deletes the relationship between the specified list and associated profiles using a revision header, returning status codes for success, bad request, and server errors.
|
|
6666
6123
|
|
|
@@ -6691,9 +6148,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6691
6148
|
"""
|
|
6692
6149
|
if id is None:
|
|
6693
6150
|
raise ValueError("Missing required parameter 'id'")
|
|
6694
|
-
request_body = {
|
|
6695
|
-
"data": data,
|
|
6696
|
-
}
|
|
6151
|
+
request_body = {"data": data}
|
|
6697
6152
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6698
6153
|
url = f"{self.base_url}/api/lists/{id}/relationships/profiles"
|
|
6699
6154
|
query_params = {}
|
|
@@ -6701,7 +6156,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6701
6156
|
response.raise_for_status()
|
|
6702
6157
|
return response.json()
|
|
6703
6158
|
|
|
6704
|
-
def get_flows_triggered_by_list(self, id, fields_flow=None) -> dict[str, Any]:
|
|
6159
|
+
async def get_flows_triggered_by_list(self, id, fields_flow=None) -> dict[str, Any]:
|
|
6705
6160
|
"""
|
|
6706
6161
|
Retrieves flow triggers for a specific list by ID, supporting optional filtering by flow fields and specifying a revision in the request header.
|
|
6707
6162
|
|
|
@@ -6718,14 +6173,12 @@ class KlaviyoApp(APIApplication):
|
|
|
6718
6173
|
if id is None:
|
|
6719
6174
|
raise ValueError("Missing required parameter 'id'")
|
|
6720
6175
|
url = f"{self.base_url}/api/lists/{id}/flow-triggers"
|
|
6721
|
-
query_params = {
|
|
6722
|
-
k: v for k, v in [("fields[flow]", fields_flow)] if v is not None
|
|
6723
|
-
}
|
|
6176
|
+
query_params = {k: v for k, v in [("fields[flow]", fields_flow)] if v is not None}
|
|
6724
6177
|
response = self._get(url, params=query_params)
|
|
6725
6178
|
response.raise_for_status()
|
|
6726
6179
|
return response.json()
|
|
6727
6180
|
|
|
6728
|
-
def get_ids_for_flows_triggered_by_list(self, id) -> dict[str, Any]:
|
|
6181
|
+
async def get_ids_for_flows_triggered_by_list(self, id) -> dict[str, Any]:
|
|
6729
6182
|
"""
|
|
6730
6183
|
Retrieves the flow triggers associated with a specific list using the provided ID, including revision header parameter, and returns status codes for success (200), client errors (400), or server issues (500).
|
|
6731
6184
|
|
|
@@ -6746,14 +6199,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6746
6199
|
response.raise_for_status()
|
|
6747
6200
|
return response.json()
|
|
6748
6201
|
|
|
6749
|
-
def get_metrics(
|
|
6750
|
-
self,
|
|
6751
|
-
fields_flow=None,
|
|
6752
|
-
fields_metric=None,
|
|
6753
|
-
filter=None,
|
|
6754
|
-
include=None,
|
|
6755
|
-
page_cursor=None,
|
|
6756
|
-
) -> dict[str, Any]:
|
|
6202
|
+
async def get_metrics(self, fields_flow=None, fields_metric=None, filter=None, include=None, page_cursor=None) -> dict[str, Any]:
|
|
6757
6203
|
"""
|
|
6758
6204
|
Retrieves paginated metrics data with optional field filtering, resource inclusion, and cursor-based pagination, requiring a revision header.
|
|
6759
6205
|
|
|
@@ -6786,9 +6232,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6786
6232
|
response.raise_for_status()
|
|
6787
6233
|
return response.json()
|
|
6788
6234
|
|
|
6789
|
-
def get_metric(
|
|
6790
|
-
self, id, fields_flow=None, fields_metric=None, include=None
|
|
6791
|
-
) -> dict[str, Any]:
|
|
6235
|
+
async def get_metric(self, id, fields_flow=None, fields_metric=None, include=None) -> dict[str, Any]:
|
|
6792
6236
|
"""
|
|
6793
6237
|
Retrieves specific metric data by ID, allowing optional filtering by flow and metric fields, inclusion of additional data, and specification of a revision via a header.
|
|
6794
6238
|
|
|
@@ -6808,25 +6252,14 @@ class KlaviyoApp(APIApplication):
|
|
|
6808
6252
|
raise ValueError("Missing required parameter 'id'")
|
|
6809
6253
|
url = f"{self.base_url}/api/metrics/{id}"
|
|
6810
6254
|
query_params = {
|
|
6811
|
-
k: v
|
|
6812
|
-
for k, v in [
|
|
6813
|
-
("fields[flow]", fields_flow),
|
|
6814
|
-
("fields[metric]", fields_metric),
|
|
6815
|
-
("include", include),
|
|
6816
|
-
]
|
|
6817
|
-
if v is not None
|
|
6255
|
+
k: v for k, v in [("fields[flow]", fields_flow), ("fields[metric]", fields_metric), ("include", include)] if v is not None
|
|
6818
6256
|
}
|
|
6819
6257
|
response = self._get(url, params=query_params)
|
|
6820
6258
|
response.raise_for_status()
|
|
6821
6259
|
return response.json()
|
|
6822
6260
|
|
|
6823
|
-
def get_metric_property(
|
|
6824
|
-
self,
|
|
6825
|
-
id,
|
|
6826
|
-
additional_fields_metric_property=None,
|
|
6827
|
-
fields_metric_property=None,
|
|
6828
|
-
fields_metric=None,
|
|
6829
|
-
include=None,
|
|
6261
|
+
async def get_metric_property(
|
|
6262
|
+
self, id, additional_fields_metric_property=None, fields_metric_property=None, fields_metric=None, include=None
|
|
6830
6263
|
) -> dict[str, Any]:
|
|
6831
6264
|
"""
|
|
6832
6265
|
Retrieves a metric property by ID, allowing optional filtering of fields and inclusion of additional data through query parameters, with support for revision specification via a header.
|
|
@@ -6850,10 +6283,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6850
6283
|
query_params = {
|
|
6851
6284
|
k: v
|
|
6852
6285
|
for k, v in [
|
|
6853
|
-
(
|
|
6854
|
-
"additional-fields[metric-property]",
|
|
6855
|
-
additional_fields_metric_property,
|
|
6856
|
-
),
|
|
6286
|
+
("additional-fields[metric-property]", additional_fields_metric_property),
|
|
6857
6287
|
("fields[metric-property]", fields_metric_property),
|
|
6858
6288
|
("fields[metric]", fields_metric),
|
|
6859
6289
|
("include", include),
|
|
@@ -6864,7 +6294,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6864
6294
|
response.raise_for_status()
|
|
6865
6295
|
return response.json()
|
|
6866
6296
|
|
|
6867
|
-
def query_metric_aggregates(self, data=None) -> dict[str, Any]:
|
|
6297
|
+
async def query_metric_aggregates(self, data=None) -> dict[str, Any]:
|
|
6868
6298
|
"""
|
|
6869
6299
|
Posts a request to the "/api/metric-aggregates" endpoint, requiring a "revision" header, to aggregate metrics, returning a successful response if valid or error responses for bad requests or server errors.
|
|
6870
6300
|
|
|
@@ -6909,9 +6339,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6909
6339
|
Tags:
|
|
6910
6340
|
Metrics
|
|
6911
6341
|
"""
|
|
6912
|
-
request_body = {
|
|
6913
|
-
"data": data,
|
|
6914
|
-
}
|
|
6342
|
+
request_body = {"data": data}
|
|
6915
6343
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
6916
6344
|
url = f"{self.base_url}/api/metric-aggregates"
|
|
6917
6345
|
query_params = {}
|
|
@@ -6919,7 +6347,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6919
6347
|
response.raise_for_status()
|
|
6920
6348
|
return response.json()
|
|
6921
6349
|
|
|
6922
|
-
def get_flows_triggered_by_metric(self, id, fields_flow=None) -> dict[str, Any]:
|
|
6350
|
+
async def get_flows_triggered_by_metric(self, id, fields_flow=None) -> dict[str, Any]:
|
|
6923
6351
|
"""
|
|
6924
6352
|
Retrieves flow trigger details for a specified metric ID, supporting filtering via query parameters and optional header-based versioning.
|
|
6925
6353
|
|
|
@@ -6936,14 +6364,12 @@ class KlaviyoApp(APIApplication):
|
|
|
6936
6364
|
if id is None:
|
|
6937
6365
|
raise ValueError("Missing required parameter 'id'")
|
|
6938
6366
|
url = f"{self.base_url}/api/metrics/{id}/flow-triggers"
|
|
6939
|
-
query_params = {
|
|
6940
|
-
k: v for k, v in [("fields[flow]", fields_flow)] if v is not None
|
|
6941
|
-
}
|
|
6367
|
+
query_params = {k: v for k, v in [("fields[flow]", fields_flow)] if v is not None}
|
|
6942
6368
|
response = self._get(url, params=query_params)
|
|
6943
6369
|
response.raise_for_status()
|
|
6944
6370
|
return response.json()
|
|
6945
6371
|
|
|
6946
|
-
def get_ids_for_flows_triggered_by_metric(self, id) -> dict[str, Any]:
|
|
6372
|
+
async def get_ids_for_flows_triggered_by_metric(self, id) -> dict[str, Any]:
|
|
6947
6373
|
"""
|
|
6948
6374
|
This API operation retrieves the flow triggers associated with a specific metric identified by `{id}`, allowing for the inspection of triggers configured for that metric.
|
|
6949
6375
|
|
|
@@ -6964,9 +6390,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6964
6390
|
response.raise_for_status()
|
|
6965
6391
|
return response.json()
|
|
6966
6392
|
|
|
6967
|
-
def get_properties_for_metric(
|
|
6968
|
-
self, id, additional_fields_metric_property=None, fields_metric_property=None
|
|
6969
|
-
) -> dict[str, Any]:
|
|
6393
|
+
async def get_properties_for_metric(self, id, additional_fields_metric_property=None, fields_metric_property=None) -> dict[str, Any]:
|
|
6970
6394
|
"""
|
|
6971
6395
|
Retrieves properties of a specific metric by ID, supporting query-based field filtering and custom headers for revision management.
|
|
6972
6396
|
|
|
@@ -6987,10 +6411,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6987
6411
|
query_params = {
|
|
6988
6412
|
k: v
|
|
6989
6413
|
for k, v in [
|
|
6990
|
-
(
|
|
6991
|
-
"additional-fields[metric-property]",
|
|
6992
|
-
additional_fields_metric_property,
|
|
6993
|
-
),
|
|
6414
|
+
("additional-fields[metric-property]", additional_fields_metric_property),
|
|
6994
6415
|
("fields[metric-property]", fields_metric_property),
|
|
6995
6416
|
]
|
|
6996
6417
|
if v is not None
|
|
@@ -6999,7 +6420,7 @@ class KlaviyoApp(APIApplication):
|
|
|
6999
6420
|
response.raise_for_status()
|
|
7000
6421
|
return response.json()
|
|
7001
6422
|
|
|
7002
|
-
def get_property_ids_for_metric(self, id) -> dict[str, Any]:
|
|
6423
|
+
async def get_property_ids_for_metric(self, id) -> dict[str, Any]:
|
|
7003
6424
|
"""
|
|
7004
6425
|
Retrieves the relationships of metric properties associated with a specific metric by ID, with the option to specify a revision via the request header.
|
|
7005
6426
|
|
|
@@ -7020,7 +6441,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7020
6441
|
response.raise_for_status()
|
|
7021
6442
|
return response.json()
|
|
7022
6443
|
|
|
7023
|
-
def get_metric_for_metric_property(self, id, fields_metric=None) -> dict[str, Any]:
|
|
6444
|
+
async def get_metric_for_metric_property(self, id, fields_metric=None) -> dict[str, Any]:
|
|
7024
6445
|
"""
|
|
7025
6446
|
Retrieves a specific metric property by ID, allowing filtering via query parameters and supporting revision headers for conditional requests.
|
|
7026
6447
|
|
|
@@ -7037,14 +6458,12 @@ class KlaviyoApp(APIApplication):
|
|
|
7037
6458
|
if id is None:
|
|
7038
6459
|
raise ValueError("Missing required parameter 'id'")
|
|
7039
6460
|
url = f"{self.base_url}/api/metric-properties/{id}/metric"
|
|
7040
|
-
query_params = {
|
|
7041
|
-
k: v for k, v in [("fields[metric]", fields_metric)] if v is not None
|
|
7042
|
-
}
|
|
6461
|
+
query_params = {k: v for k, v in [("fields[metric]", fields_metric)] if v is not None}
|
|
7043
6462
|
response = self._get(url, params=query_params)
|
|
7044
6463
|
response.raise_for_status()
|
|
7045
6464
|
return response.json()
|
|
7046
6465
|
|
|
7047
|
-
def get_metric_id_for_metric_property(self, id) -> dict[str, Any]:
|
|
6466
|
+
async def get_metric_id_for_metric_property(self, id) -> dict[str, Any]:
|
|
7048
6467
|
"""
|
|
7049
6468
|
Retrieves the relationships of a metric property identified by {id} through the "GET" method, supporting a "revision" header parameter with response codes indicating success (200), client errors (400), and server errors (500).
|
|
7050
6469
|
|
|
@@ -7065,14 +6484,8 @@ class KlaviyoApp(APIApplication):
|
|
|
7065
6484
|
response.raise_for_status()
|
|
7066
6485
|
return response.json()
|
|
7067
6486
|
|
|
7068
|
-
def get_profiles(
|
|
7069
|
-
self,
|
|
7070
|
-
additional_fields_profile=None,
|
|
7071
|
-
fields_profile=None,
|
|
7072
|
-
filter=None,
|
|
7073
|
-
page_cursor=None,
|
|
7074
|
-
page_size=None,
|
|
7075
|
-
sort=None,
|
|
6487
|
+
async def get_profiles(
|
|
6488
|
+
self, additional_fields_profile=None, fields_profile=None, filter=None, page_cursor=None, page_size=None, sort=None
|
|
7076
6489
|
) -> dict[str, Any]:
|
|
7077
6490
|
"""
|
|
7078
6491
|
Retrieves profiles with support for field filtering, pagination, sorting, and custom filtering via query parameters.
|
|
@@ -7108,9 +6521,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7108
6521
|
response.raise_for_status()
|
|
7109
6522
|
return response.json()
|
|
7110
6523
|
|
|
7111
|
-
def create_profile(
|
|
7112
|
-
self, additional_fields_profile=None, data=None
|
|
7113
|
-
) -> dict[str, Any]:
|
|
6524
|
+
async def create_profile(self, additional_fields_profile=None, data=None) -> dict[str, Any]:
|
|
7114
6525
|
"""
|
|
7115
6526
|
Creates a new profile with additional fields passed via query parameters and custom header for revision control, returning success (201), client error (400), or server error (500) status codes.
|
|
7116
6527
|
|
|
@@ -7156,28 +6567,16 @@ class KlaviyoApp(APIApplication):
|
|
|
7156
6567
|
Tags:
|
|
7157
6568
|
Profiles, Profiles1
|
|
7158
6569
|
"""
|
|
7159
|
-
request_body = {
|
|
7160
|
-
"data": data,
|
|
7161
|
-
}
|
|
6570
|
+
request_body = {"data": data}
|
|
7162
6571
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
7163
6572
|
url = f"{self.base_url}/api/profiles"
|
|
7164
|
-
query_params = {
|
|
7165
|
-
k: v
|
|
7166
|
-
for k, v in [("additional-fields[profile]", additional_fields_profile)]
|
|
7167
|
-
if v is not None
|
|
7168
|
-
}
|
|
6573
|
+
query_params = {k: v for k, v in [("additional-fields[profile]", additional_fields_profile)] if v is not None}
|
|
7169
6574
|
response = self._post(url, data=request_body, params=query_params)
|
|
7170
6575
|
response.raise_for_status()
|
|
7171
6576
|
return response.json()
|
|
7172
6577
|
|
|
7173
|
-
def get_profile(
|
|
7174
|
-
self,
|
|
7175
|
-
id,
|
|
7176
|
-
additional_fields_profile=None,
|
|
7177
|
-
fields_list=None,
|
|
7178
|
-
fields_profile=None,
|
|
7179
|
-
fields_segment=None,
|
|
7180
|
-
include=None,
|
|
6578
|
+
async def get_profile(
|
|
6579
|
+
self, id, additional_fields_profile=None, fields_list=None, fields_profile=None, fields_segment=None, include=None
|
|
7181
6580
|
) -> dict[str, Any]:
|
|
7182
6581
|
"""
|
|
7183
6582
|
Retrieves a specific profile by ID with customizable field selection through query parameters for enhanced data filtering.
|
|
@@ -7214,9 +6613,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7214
6613
|
response.raise_for_status()
|
|
7215
6614
|
return response.json()
|
|
7216
6615
|
|
|
7217
|
-
def update_profile(
|
|
7218
|
-
self, id, additional_fields_profile=None, data=None
|
|
7219
|
-
) -> dict[str, Any]:
|
|
6616
|
+
async def update_profile(self, id, additional_fields_profile=None, data=None) -> dict[str, Any]:
|
|
7220
6617
|
"""
|
|
7221
6618
|
Updates specific fields of a profile identified by {id} using a partial payload, with optional query parameters for additional fields and a revision header for concurrency control.
|
|
7222
6619
|
|
|
@@ -7274,26 +6671,16 @@ class KlaviyoApp(APIApplication):
|
|
|
7274
6671
|
"""
|
|
7275
6672
|
if id is None:
|
|
7276
6673
|
raise ValueError("Missing required parameter 'id'")
|
|
7277
|
-
request_body = {
|
|
7278
|
-
"data": data,
|
|
7279
|
-
}
|
|
6674
|
+
request_body = {"data": data}
|
|
7280
6675
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
7281
6676
|
url = f"{self.base_url}/api/profiles/{id}"
|
|
7282
|
-
query_params = {
|
|
7283
|
-
k: v
|
|
7284
|
-
for k, v in [("additional-fields[profile]", additional_fields_profile)]
|
|
7285
|
-
if v is not None
|
|
7286
|
-
}
|
|
6677
|
+
query_params = {k: v for k, v in [("additional-fields[profile]", additional_fields_profile)] if v is not None}
|
|
7287
6678
|
response = self._patch(url, data=request_body, params=query_params)
|
|
7288
6679
|
response.raise_for_status()
|
|
7289
6680
|
return response.json()
|
|
7290
6681
|
|
|
7291
|
-
def get_bulk_suppress_profiles_jobs(
|
|
7292
|
-
self,
|
|
7293
|
-
fields_profile_suppression_bulk_create_job=None,
|
|
7294
|
-
filter=None,
|
|
7295
|
-
page_cursor=None,
|
|
7296
|
-
sort=None,
|
|
6682
|
+
async def get_bulk_suppress_profiles_jobs(
|
|
6683
|
+
self, fields_profile_suppression_bulk_create_job=None, filter=None, page_cursor=None, sort=None
|
|
7297
6684
|
) -> dict[str, Any]:
|
|
7298
6685
|
"""
|
|
7299
6686
|
The GET operation at the "/api/profile-suppression-bulk-create-jobs" path retrieves a list of bulk profile suppression jobs, allowing for filtering, sorting, and pagination of the results through query parameters.
|
|
@@ -7314,10 +6701,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7314
6701
|
query_params = {
|
|
7315
6702
|
k: v
|
|
7316
6703
|
for k, v in [
|
|
7317
|
-
(
|
|
7318
|
-
"fields[profile-suppression-bulk-create-job]",
|
|
7319
|
-
fields_profile_suppression_bulk_create_job,
|
|
7320
|
-
),
|
|
6704
|
+
("fields[profile-suppression-bulk-create-job]", fields_profile_suppression_bulk_create_job),
|
|
7321
6705
|
("filter", filter),
|
|
7322
6706
|
("page[cursor]", page_cursor),
|
|
7323
6707
|
("sort", sort),
|
|
@@ -7328,7 +6712,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7328
6712
|
response.raise_for_status()
|
|
7329
6713
|
return response.json()
|
|
7330
6714
|
|
|
7331
|
-
def bulk_suppress_profiles(self, data=None) -> dict[str, Any]:
|
|
6715
|
+
async def bulk_suppress_profiles(self, data=None) -> dict[str, Any]:
|
|
7332
6716
|
"""
|
|
7333
6717
|
Creates a bulk suppression job for profiles to prevent email communication via the Klaviyo API.
|
|
7334
6718
|
|
|
@@ -7381,9 +6765,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7381
6765
|
Tags:
|
|
7382
6766
|
Profiles, Consent
|
|
7383
6767
|
"""
|
|
7384
|
-
request_body = {
|
|
7385
|
-
"data": data,
|
|
7386
|
-
}
|
|
6768
|
+
request_body = {"data": data}
|
|
7387
6769
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
7388
6770
|
url = f"{self.base_url}/api/profile-suppression-bulk-create-jobs"
|
|
7389
6771
|
query_params = {}
|
|
@@ -7391,9 +6773,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7391
6773
|
response.raise_for_status()
|
|
7392
6774
|
return response.json()
|
|
7393
6775
|
|
|
7394
|
-
def get_bulk_suppress_profiles_job(
|
|
7395
|
-
self, job_id, fields_profile_suppression_bulk_create_job=None
|
|
7396
|
-
) -> dict[str, Any]:
|
|
6776
|
+
async def get_bulk_suppress_profiles_job(self, job_id, fields_profile_suppression_bulk_create_job=None) -> dict[str, Any]:
|
|
7397
6777
|
"""
|
|
7398
6778
|
Retrieve the status and details of a bulk profile suppression job by its ID, including optional field filtering and revision header support.
|
|
7399
6779
|
|
|
@@ -7411,25 +6791,14 @@ class KlaviyoApp(APIApplication):
|
|
|
7411
6791
|
raise ValueError("Missing required parameter 'job_id'")
|
|
7412
6792
|
url = f"{self.base_url}/api/profile-suppression-bulk-create-jobs/{job_id}"
|
|
7413
6793
|
query_params = {
|
|
7414
|
-
k: v
|
|
7415
|
-
for k, v in [
|
|
7416
|
-
(
|
|
7417
|
-
"fields[profile-suppression-bulk-create-job]",
|
|
7418
|
-
fields_profile_suppression_bulk_create_job,
|
|
7419
|
-
)
|
|
7420
|
-
]
|
|
7421
|
-
if v is not None
|
|
6794
|
+
k: v for k, v in [("fields[profile-suppression-bulk-create-job]", fields_profile_suppression_bulk_create_job)] if v is not None
|
|
7422
6795
|
}
|
|
7423
6796
|
response = self._get(url, params=query_params)
|
|
7424
6797
|
response.raise_for_status()
|
|
7425
6798
|
return response.json()
|
|
7426
6799
|
|
|
7427
|
-
def get_bulk_unsuppress_profiles_jobs(
|
|
7428
|
-
self,
|
|
7429
|
-
fields_profile_suppression_bulk_delete_job=None,
|
|
7430
|
-
filter=None,
|
|
7431
|
-
page_cursor=None,
|
|
7432
|
-
sort=None,
|
|
6800
|
+
async def get_bulk_unsuppress_profiles_jobs(
|
|
6801
|
+
self, fields_profile_suppression_bulk_delete_job=None, filter=None, page_cursor=None, sort=None
|
|
7433
6802
|
) -> dict[str, Any]:
|
|
7434
6803
|
"""
|
|
7435
6804
|
Retrieves a paginated list of bulk profile suppression deletion jobs with optional filtering, sorting, and field selection.
|
|
@@ -7450,10 +6819,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7450
6819
|
query_params = {
|
|
7451
6820
|
k: v
|
|
7452
6821
|
for k, v in [
|
|
7453
|
-
(
|
|
7454
|
-
"fields[profile-suppression-bulk-delete-job]",
|
|
7455
|
-
fields_profile_suppression_bulk_delete_job,
|
|
7456
|
-
),
|
|
6822
|
+
("fields[profile-suppression-bulk-delete-job]", fields_profile_suppression_bulk_delete_job),
|
|
7457
6823
|
("filter", filter),
|
|
7458
6824
|
("page[cursor]", page_cursor),
|
|
7459
6825
|
("sort", sort),
|
|
@@ -7464,7 +6830,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7464
6830
|
response.raise_for_status()
|
|
7465
6831
|
return response.json()
|
|
7466
6832
|
|
|
7467
|
-
def bulk_unsuppress_profiles(self, data=None) -> dict[str, Any]:
|
|
6833
|
+
async def bulk_unsuppress_profiles(self, data=None) -> dict[str, Any]:
|
|
7468
6834
|
"""
|
|
7469
6835
|
Creates a bulk job to suppress and/or delete profiles asynchronously, returning a 202 Accepted status upon successful initiation.
|
|
7470
6836
|
|
|
@@ -7517,9 +6883,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7517
6883
|
Tags:
|
|
7518
6884
|
Profiles, Consent
|
|
7519
6885
|
"""
|
|
7520
|
-
request_body = {
|
|
7521
|
-
"data": data,
|
|
7522
|
-
}
|
|
6886
|
+
request_body = {"data": data}
|
|
7523
6887
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
7524
6888
|
url = f"{self.base_url}/api/profile-suppression-bulk-delete-jobs"
|
|
7525
6889
|
query_params = {}
|
|
@@ -7527,9 +6891,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7527
6891
|
response.raise_for_status()
|
|
7528
6892
|
return response.json()
|
|
7529
6893
|
|
|
7530
|
-
def get_bulk_unsuppress_profiles_job(
|
|
7531
|
-
self, job_id, fields_profile_suppression_bulk_delete_job=None
|
|
7532
|
-
) -> dict[str, Any]:
|
|
6894
|
+
async def get_bulk_unsuppress_profiles_job(self, job_id, fields_profile_suppression_bulk_delete_job=None) -> dict[str, Any]:
|
|
7533
6895
|
"""
|
|
7534
6896
|
Retrieves the status and details of a bulk profile suppression deletion job using specified query fields and header revision.
|
|
7535
6897
|
|
|
@@ -7547,22 +6909,13 @@ class KlaviyoApp(APIApplication):
|
|
|
7547
6909
|
raise ValueError("Missing required parameter 'job_id'")
|
|
7548
6910
|
url = f"{self.base_url}/api/profile-suppression-bulk-delete-jobs/{job_id}"
|
|
7549
6911
|
query_params = {
|
|
7550
|
-
k: v
|
|
7551
|
-
for k, v in [
|
|
7552
|
-
(
|
|
7553
|
-
"fields[profile-suppression-bulk-delete-job]",
|
|
7554
|
-
fields_profile_suppression_bulk_delete_job,
|
|
7555
|
-
)
|
|
7556
|
-
]
|
|
7557
|
-
if v is not None
|
|
6912
|
+
k: v for k, v in [("fields[profile-suppression-bulk-delete-job]", fields_profile_suppression_bulk_delete_job)] if v is not None
|
|
7558
6913
|
}
|
|
7559
6914
|
response = self._get(url, params=query_params)
|
|
7560
6915
|
response.raise_for_status()
|
|
7561
6916
|
return response.json()
|
|
7562
6917
|
|
|
7563
|
-
def create_or_update_profile(
|
|
7564
|
-
self, additional_fields_profile=None, data=None
|
|
7565
|
-
) -> dict[str, Any]:
|
|
6918
|
+
async def create_or_update_profile(self, additional_fields_profile=None, data=None) -> dict[str, Any]:
|
|
7566
6919
|
"""
|
|
7567
6920
|
The "POST /api/profile-import" operation imports profiles, accepting optional query parameters like "additional-fields[profile]" and requiring a "revision" header, with responses indicating success (200 or 201), bad requests (400), or internal server errors (500).
|
|
7568
6921
|
|
|
@@ -7618,21 +6971,15 @@ class KlaviyoApp(APIApplication):
|
|
|
7618
6971
|
Tags:
|
|
7619
6972
|
Profiles, Profiles1
|
|
7620
6973
|
"""
|
|
7621
|
-
request_body = {
|
|
7622
|
-
"data": data,
|
|
7623
|
-
}
|
|
6974
|
+
request_body = {"data": data}
|
|
7624
6975
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
7625
6976
|
url = f"{self.base_url}/api/profile-import"
|
|
7626
|
-
query_params = {
|
|
7627
|
-
k: v
|
|
7628
|
-
for k, v in [("additional-fields[profile]", additional_fields_profile)]
|
|
7629
|
-
if v is not None
|
|
7630
|
-
}
|
|
6977
|
+
query_params = {k: v for k, v in [("additional-fields[profile]", additional_fields_profile)] if v is not None}
|
|
7631
6978
|
response = self._post(url, data=request_body, params=query_params)
|
|
7632
6979
|
response.raise_for_status()
|
|
7633
6980
|
return response.json()
|
|
7634
6981
|
|
|
7635
|
-
def merge_profiles(self, data=None) -> dict[str, Any]:
|
|
6982
|
+
async def merge_profiles(self, data=None) -> dict[str, Any]:
|
|
7636
6983
|
"""
|
|
7637
6984
|
The API operation at "/api/profile-merge" using the "POST" method merges user profiles, integrating data from a source profile into a destination profile, with the source profile being deleted upon successful completion, and requires a revision header for version control.
|
|
7638
6985
|
|
|
@@ -7668,9 +7015,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7668
7015
|
Tags:
|
|
7669
7016
|
Profiles, Profiles1
|
|
7670
7017
|
"""
|
|
7671
|
-
request_body = {
|
|
7672
|
-
"data": data,
|
|
7673
|
-
}
|
|
7018
|
+
request_body = {"data": data}
|
|
7674
7019
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
7675
7020
|
url = f"{self.base_url}/api/profile-merge"
|
|
7676
7021
|
query_params = {}
|
|
@@ -7678,7 +7023,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7678
7023
|
response.raise_for_status()
|
|
7679
7024
|
return response.json()
|
|
7680
7025
|
|
|
7681
|
-
def create_or_update_push_token(self, data=None) -> Any:
|
|
7026
|
+
async def create_or_update_push_token(self, data=None) -> Any:
|
|
7682
7027
|
"""
|
|
7683
7028
|
This API operation creates a new resource by posting to the "/api/push-tokens" endpoint, accepting a revision parameter in the request header, and returns a 202 response upon successful creation, with error responses for invalid requests or server errors.
|
|
7684
7029
|
|
|
@@ -7759,9 +7104,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7759
7104
|
Tags:
|
|
7760
7105
|
Profiles, Profiles1
|
|
7761
7106
|
"""
|
|
7762
|
-
request_body = {
|
|
7763
|
-
"data": data,
|
|
7764
|
-
}
|
|
7107
|
+
request_body = {"data": data}
|
|
7765
7108
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
7766
7109
|
url = f"{self.base_url}/api/push-tokens"
|
|
7767
7110
|
query_params = {}
|
|
@@ -7769,7 +7112,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7769
7112
|
response.raise_for_status()
|
|
7770
7113
|
return response.json()
|
|
7771
7114
|
|
|
7772
|
-
def get_lists_for_profile(self, id, fields_list=None) -> dict[str, Any]:
|
|
7115
|
+
async def get_lists_for_profile(self, id, fields_list=None) -> dict[str, Any]:
|
|
7773
7116
|
"""
|
|
7774
7117
|
This API operation retrieves a list associated with a specific profile identified by `{id}`, allowing optional filtering of fields via the `fields[list]` query parameter and specifying a revision via the `revision` header.
|
|
7775
7118
|
|
|
@@ -7786,14 +7129,12 @@ class KlaviyoApp(APIApplication):
|
|
|
7786
7129
|
if id is None:
|
|
7787
7130
|
raise ValueError("Missing required parameter 'id'")
|
|
7788
7131
|
url = f"{self.base_url}/api/profiles/{id}/lists"
|
|
7789
|
-
query_params = {
|
|
7790
|
-
k: v for k, v in [("fields[list]", fields_list)] if v is not None
|
|
7791
|
-
}
|
|
7132
|
+
query_params = {k: v for k, v in [("fields[list]", fields_list)] if v is not None}
|
|
7792
7133
|
response = self._get(url, params=query_params)
|
|
7793
7134
|
response.raise_for_status()
|
|
7794
7135
|
return response.json()
|
|
7795
7136
|
|
|
7796
|
-
def get_list_ids_for_profile(self, id) -> dict[str, Any]:
|
|
7137
|
+
async def get_list_ids_for_profile(self, id) -> dict[str, Any]:
|
|
7797
7138
|
"""
|
|
7798
7139
|
Retrieves the lists associated with a specified profile ID via header-based version control.
|
|
7799
7140
|
|
|
@@ -7814,7 +7155,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7814
7155
|
response.raise_for_status()
|
|
7815
7156
|
return response.json()
|
|
7816
7157
|
|
|
7817
|
-
def get_segments_for_profile(self, id, fields_segment=None) -> dict[str, Any]:
|
|
7158
|
+
async def get_segments_for_profile(self, id, fields_segment=None) -> dict[str, Any]:
|
|
7818
7159
|
"""
|
|
7819
7160
|
This API operation retrieves profile segment information for a specified profile ID, allowing for the selection of specific segment fields via query parameters and the specification of a revision in the request header.
|
|
7820
7161
|
|
|
@@ -7831,14 +7172,12 @@ class KlaviyoApp(APIApplication):
|
|
|
7831
7172
|
if id is None:
|
|
7832
7173
|
raise ValueError("Missing required parameter 'id'")
|
|
7833
7174
|
url = f"{self.base_url}/api/profiles/{id}/segments"
|
|
7834
|
-
query_params = {
|
|
7835
|
-
k: v for k, v in [("fields[segment]", fields_segment)] if v is not None
|
|
7836
|
-
}
|
|
7175
|
+
query_params = {k: v for k, v in [("fields[segment]", fields_segment)] if v is not None}
|
|
7837
7176
|
response = self._get(url, params=query_params)
|
|
7838
7177
|
response.raise_for_status()
|
|
7839
7178
|
return response.json()
|
|
7840
7179
|
|
|
7841
|
-
def get_segment_ids_for_profile(self, id) -> dict[str, Any]:
|
|
7180
|
+
async def get_segment_ids_for_profile(self, id) -> dict[str, Any]:
|
|
7842
7181
|
"""
|
|
7843
7182
|
Retrieves the associated segments of a specific profile, requiring a revision header, and returns a 200 status on success with potential 400 or 500 error responses.
|
|
7844
7183
|
|
|
@@ -7859,13 +7198,8 @@ class KlaviyoApp(APIApplication):
|
|
|
7859
7198
|
response.raise_for_status()
|
|
7860
7199
|
return response.json()
|
|
7861
7200
|
|
|
7862
|
-
def get_bulk_import_profiles_jobs(
|
|
7863
|
-
self,
|
|
7864
|
-
fields_profile_bulk_import_job=None,
|
|
7865
|
-
filter=None,
|
|
7866
|
-
page_cursor=None,
|
|
7867
|
-
page_size=None,
|
|
7868
|
-
sort=None,
|
|
7201
|
+
async def get_bulk_import_profiles_jobs(
|
|
7202
|
+
self, fields_profile_bulk_import_job=None, filter=None, page_cursor=None, page_size=None, sort=None
|
|
7869
7203
|
) -> dict[str, Any]:
|
|
7870
7204
|
"""
|
|
7871
7205
|
The GET operation on `/api/profile-bulk-import-jobs` retrieves and filters paginated bulk profile import job records with customizable sorting, field selection, and cursor-based pagination.
|
|
@@ -7899,7 +7233,7 @@ class KlaviyoApp(APIApplication):
|
|
|
7899
7233
|
response.raise_for_status()
|
|
7900
7234
|
return response.json()
|
|
7901
7235
|
|
|
7902
|
-
def bulk_import_profiles(self, data=None) -> dict[str, Any]:
|
|
7236
|
+
async def bulk_import_profiles(self, data=None) -> dict[str, Any]:
|
|
7903
7237
|
"""
|
|
7904
7238
|
The POST operation at "/api/profile-bulk-import-jobs" creates a new bulk profile import job, allowing for the creation or update of multiple profiles, with a revision specified in the header.
|
|
7905
7239
|
|
|
@@ -8014,9 +7348,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8014
7348
|
Tags:
|
|
8015
7349
|
Profiles, Bulk Import Profiles
|
|
8016
7350
|
"""
|
|
8017
|
-
request_body = {
|
|
8018
|
-
"data": data,
|
|
8019
|
-
}
|
|
7351
|
+
request_body = {"data": data}
|
|
8020
7352
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8021
7353
|
url = f"{self.base_url}/api/profile-bulk-import-jobs"
|
|
8022
7354
|
query_params = {}
|
|
@@ -8024,12 +7356,8 @@ class KlaviyoApp(APIApplication):
|
|
|
8024
7356
|
response.raise_for_status()
|
|
8025
7357
|
return response.json()
|
|
8026
7358
|
|
|
8027
|
-
def get_bulk_import_profiles_job(
|
|
8028
|
-
self,
|
|
8029
|
-
job_id,
|
|
8030
|
-
fields_list=None,
|
|
8031
|
-
fields_profile_bulk_import_job=None,
|
|
8032
|
-
include=None,
|
|
7359
|
+
async def get_bulk_import_profiles_job(
|
|
7360
|
+
self, job_id, fields_list=None, fields_profile_bulk_import_job=None, include=None
|
|
8033
7361
|
) -> dict[str, Any]:
|
|
8034
7362
|
"""
|
|
8035
7363
|
Retrieves the status and details of a specific bulk profile import job, including optional field selection and resource inclusion via query parameters.
|
|
@@ -8062,9 +7390,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8062
7390
|
response.raise_for_status()
|
|
8063
7391
|
return response.json()
|
|
8064
7392
|
|
|
8065
|
-
def get_list_for_bulk_import_profiles_job(
|
|
8066
|
-
self, id, fields_list=None
|
|
8067
|
-
) -> dict[str, Any]:
|
|
7393
|
+
async def get_list_for_bulk_import_profiles_job(self, id, fields_list=None) -> dict[str, Any]:
|
|
8068
7394
|
"""
|
|
8069
7395
|
Retrieves profile lists associated with a specific bulk import job ID, allowing field filtering via query parameters and including a revision header.
|
|
8070
7396
|
|
|
@@ -8081,14 +7407,12 @@ class KlaviyoApp(APIApplication):
|
|
|
8081
7407
|
if id is None:
|
|
8082
7408
|
raise ValueError("Missing required parameter 'id'")
|
|
8083
7409
|
url = f"{self.base_url}/api/profile-bulk-import-jobs/{id}/lists"
|
|
8084
|
-
query_params = {
|
|
8085
|
-
k: v for k, v in [("fields[list]", fields_list)] if v is not None
|
|
8086
|
-
}
|
|
7410
|
+
query_params = {k: v for k, v in [("fields[list]", fields_list)] if v is not None}
|
|
8087
7411
|
response = self._get(url, params=query_params)
|
|
8088
7412
|
response.raise_for_status()
|
|
8089
7413
|
return response.json()
|
|
8090
7414
|
|
|
8091
|
-
def get_list_ids_for_bulk_import_profiles_job(self, id) -> dict[str, Any]:
|
|
7415
|
+
async def get_list_ids_for_bulk_import_profiles_job(self, id) -> dict[str, Any]:
|
|
8092
7416
|
"""
|
|
8093
7417
|
This API operation retrieves the relationships between a specific bulk profile import job and its associated lists, allowing the caller to fetch related list data using a GET request on the "/api/profile-bulk-import-jobs/{id}/relationships/lists" endpoint.
|
|
8094
7418
|
|
|
@@ -8109,13 +7433,8 @@ class KlaviyoApp(APIApplication):
|
|
|
8109
7433
|
response.raise_for_status()
|
|
8110
7434
|
return response.json()
|
|
8111
7435
|
|
|
8112
|
-
def get_profiles_for_bulk_import_profiles_job(
|
|
8113
|
-
self,
|
|
8114
|
-
id,
|
|
8115
|
-
additional_fields_profile=None,
|
|
8116
|
-
fields_profile=None,
|
|
8117
|
-
page_cursor=None,
|
|
8118
|
-
page_size=None,
|
|
7436
|
+
async def get_profiles_for_bulk_import_profiles_job(
|
|
7437
|
+
self, id, additional_fields_profile=None, fields_profile=None, page_cursor=None, page_size=None
|
|
8119
7438
|
) -> dict[str, Any]:
|
|
8120
7439
|
"""
|
|
8121
7440
|
The API operation defined at path "/api/profile-bulk-import-jobs/{id}/profiles" using the "GET" method retrieves a list of profiles associated with a specific bulk import job, allowing for pagination and customization of returned fields.
|
|
@@ -8150,9 +7469,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8150
7469
|
response.raise_for_status()
|
|
8151
7470
|
return response.json()
|
|
8152
7471
|
|
|
8153
|
-
def get_profile_ids_for_bulk_import_profiles_job(
|
|
8154
|
-
self, id, page_cursor=None, page_size=None
|
|
8155
|
-
) -> dict[str, Any]:
|
|
7472
|
+
async def get_profile_ids_for_bulk_import_profiles_job(self, id, page_cursor=None, page_size=None) -> dict[str, Any]:
|
|
8156
7473
|
"""
|
|
8157
7474
|
Retrieves a paginated list of profile relationships associated with a specific bulk import job using cursor-based pagination query parameters.
|
|
8158
7475
|
|
|
@@ -8169,19 +7486,13 @@ class KlaviyoApp(APIApplication):
|
|
|
8169
7486
|
"""
|
|
8170
7487
|
if id is None:
|
|
8171
7488
|
raise ValueError("Missing required parameter 'id'")
|
|
8172
|
-
url =
|
|
8173
|
-
|
|
8174
|
-
)
|
|
8175
|
-
query_params = {
|
|
8176
|
-
k: v
|
|
8177
|
-
for k, v in [("page[cursor]", page_cursor), ("page[size]", page_size)]
|
|
8178
|
-
if v is not None
|
|
8179
|
-
}
|
|
7489
|
+
url = f"{self.base_url}/api/profile-bulk-import-jobs/{id}/relationships/profiles"
|
|
7490
|
+
query_params = {k: v for k, v in [("page[cursor]", page_cursor), ("page[size]", page_size)] if v is not None}
|
|
8180
7491
|
response = self._get(url, params=query_params)
|
|
8181
7492
|
response.raise_for_status()
|
|
8182
7493
|
return response.json()
|
|
8183
7494
|
|
|
8184
|
-
def get_errors_for_bulk_import_profiles_job(
|
|
7495
|
+
async def get_errors_for_bulk_import_profiles_job(
|
|
8185
7496
|
self, id, fields_import_error=None, page_cursor=None, page_size=None
|
|
8186
7497
|
) -> dict[str, Any]:
|
|
8187
7498
|
"""
|
|
@@ -8204,18 +7515,14 @@ class KlaviyoApp(APIApplication):
|
|
|
8204
7515
|
url = f"{self.base_url}/api/profile-bulk-import-jobs/{id}/import-errors"
|
|
8205
7516
|
query_params = {
|
|
8206
7517
|
k: v
|
|
8207
|
-
for k, v in [
|
|
8208
|
-
("fields[import-error]", fields_import_error),
|
|
8209
|
-
("page[cursor]", page_cursor),
|
|
8210
|
-
("page[size]", page_size),
|
|
8211
|
-
]
|
|
7518
|
+
for k, v in [("fields[import-error]", fields_import_error), ("page[cursor]", page_cursor), ("page[size]", page_size)]
|
|
8212
7519
|
if v is not None
|
|
8213
7520
|
}
|
|
8214
7521
|
response = self._get(url, params=query_params)
|
|
8215
7522
|
response.raise_for_status()
|
|
8216
7523
|
return response.json()
|
|
8217
7524
|
|
|
8218
|
-
def bulk_subscribe_profiles(self, data=None) -> Any:
|
|
7525
|
+
async def bulk_subscribe_profiles(self, data=None) -> Any:
|
|
8219
7526
|
"""
|
|
8220
7527
|
Subscribes one or more profiles to email/SMS marketing lists in bulk, handling consent and double opt-in where applicable.
|
|
8221
7528
|
|
|
@@ -8306,9 +7613,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8306
7613
|
Tags:
|
|
8307
7614
|
Profiles, Consent
|
|
8308
7615
|
"""
|
|
8309
|
-
request_body = {
|
|
8310
|
-
"data": data,
|
|
8311
|
-
}
|
|
7616
|
+
request_body = {"data": data}
|
|
8312
7617
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8313
7618
|
url = f"{self.base_url}/api/profile-subscription-bulk-create-jobs"
|
|
8314
7619
|
query_params = {}
|
|
@@ -8316,7 +7621,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8316
7621
|
response.raise_for_status()
|
|
8317
7622
|
return response.json()
|
|
8318
7623
|
|
|
8319
|
-
def bulk_unsubscribe_profiles(self, data=None) -> Any:
|
|
7624
|
+
async def bulk_unsubscribe_profiles(self, data=None) -> Any:
|
|
8320
7625
|
"""
|
|
8321
7626
|
Initiates a bulk unsubscribe job to remove multiple profiles from email subscriptions asynchronously.
|
|
8322
7627
|
|
|
@@ -8395,9 +7700,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8395
7700
|
Tags:
|
|
8396
7701
|
Profiles, Consent
|
|
8397
7702
|
"""
|
|
8398
|
-
request_body = {
|
|
8399
|
-
"data": data,
|
|
8400
|
-
}
|
|
7703
|
+
request_body = {"data": data}
|
|
8401
7704
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8402
7705
|
url = f"{self.base_url}/api/profile-subscription-bulk-delete-jobs"
|
|
8403
7706
|
query_params = {}
|
|
@@ -8405,7 +7708,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8405
7708
|
response.raise_for_status()
|
|
8406
7709
|
return response.json()
|
|
8407
7710
|
|
|
8408
|
-
def query_campaign_values(self, page_cursor=None, data=None) -> dict[str, Any]:
|
|
7711
|
+
async def query_campaign_values(self, page_cursor=None, data=None) -> dict[str, Any]:
|
|
8409
7712
|
"""
|
|
8410
7713
|
Creates a campaign values report, accepting a page cursor as a query parameter and a revision in the request header, returning data if successful.
|
|
8411
7714
|
|
|
@@ -8438,19 +7741,15 @@ class KlaviyoApp(APIApplication):
|
|
|
8438
7741
|
Tags:
|
|
8439
7742
|
Reporting
|
|
8440
7743
|
"""
|
|
8441
|
-
request_body = {
|
|
8442
|
-
"data": data,
|
|
8443
|
-
}
|
|
7744
|
+
request_body = {"data": data}
|
|
8444
7745
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8445
7746
|
url = f"{self.base_url}/api/campaign-values-reports"
|
|
8446
|
-
query_params = {
|
|
8447
|
-
k: v for k, v in [("page_cursor", page_cursor)] if v is not None
|
|
8448
|
-
}
|
|
7747
|
+
query_params = {k: v for k, v in [("page_cursor", page_cursor)] if v is not None}
|
|
8449
7748
|
response = self._post(url, data=request_body, params=query_params)
|
|
8450
7749
|
response.raise_for_status()
|
|
8451
7750
|
return response.json()
|
|
8452
7751
|
|
|
8453
|
-
def query_flow_values(self, page_cursor=None, data=None) -> dict[str, Any]:
|
|
7752
|
+
async def query_flow_values(self, page_cursor=None, data=None) -> dict[str, Any]:
|
|
8454
7753
|
"""
|
|
8455
7754
|
This API operation, using the POST method at "/api/flow-values-reports", allows users to generate reports by providing a page cursor in the query and a revision in the header, with potential responses indicating success (200) or error conditions (400, 500).
|
|
8456
7755
|
|
|
@@ -8483,19 +7782,15 @@ class KlaviyoApp(APIApplication):
|
|
|
8483
7782
|
Tags:
|
|
8484
7783
|
Reporting
|
|
8485
7784
|
"""
|
|
8486
|
-
request_body = {
|
|
8487
|
-
"data": data,
|
|
8488
|
-
}
|
|
7785
|
+
request_body = {"data": data}
|
|
8489
7786
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8490
7787
|
url = f"{self.base_url}/api/flow-values-reports"
|
|
8491
|
-
query_params = {
|
|
8492
|
-
k: v for k, v in [("page_cursor", page_cursor)] if v is not None
|
|
8493
|
-
}
|
|
7788
|
+
query_params = {k: v for k, v in [("page_cursor", page_cursor)] if v is not None}
|
|
8494
7789
|
response = self._post(url, data=request_body, params=query_params)
|
|
8495
7790
|
response.raise_for_status()
|
|
8496
7791
|
return response.json()
|
|
8497
7792
|
|
|
8498
|
-
def query_flow_series(self, page_cursor=None, data=None) -> dict[str, Any]:
|
|
7793
|
+
async def query_flow_series(self, page_cursor=None, data=None) -> dict[str, Any]:
|
|
8499
7794
|
"""
|
|
8500
7795
|
This API operation at "/api/flow-series-reports" utilizes the POST method to create a flow series report, allowing clients to specify pagination with the "page_cursor" query parameter and specify a revision via the "revision" header, with responses for successful execution (200), bad request (400), and internal server error (500).
|
|
8501
7796
|
|
|
@@ -8529,19 +7824,15 @@ class KlaviyoApp(APIApplication):
|
|
|
8529
7824
|
Tags:
|
|
8530
7825
|
Reporting
|
|
8531
7826
|
"""
|
|
8532
|
-
request_body = {
|
|
8533
|
-
"data": data,
|
|
8534
|
-
}
|
|
7827
|
+
request_body = {"data": data}
|
|
8535
7828
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8536
7829
|
url = f"{self.base_url}/api/flow-series-reports"
|
|
8537
|
-
query_params = {
|
|
8538
|
-
k: v for k, v in [("page_cursor", page_cursor)] if v is not None
|
|
8539
|
-
}
|
|
7830
|
+
query_params = {k: v for k, v in [("page_cursor", page_cursor)] if v is not None}
|
|
8540
7831
|
response = self._post(url, data=request_body, params=query_params)
|
|
8541
7832
|
response.raise_for_status()
|
|
8542
7833
|
return response.json()
|
|
8543
7834
|
|
|
8544
|
-
def query_form_values(self, data=None) -> dict[str, Any]:
|
|
7835
|
+
async def query_form_values(self, data=None) -> dict[str, Any]:
|
|
8545
7836
|
"""
|
|
8546
7837
|
Submits form values report data with a specified revision header.
|
|
8547
7838
|
|
|
@@ -8576,9 +7867,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8576
7867
|
Tags:
|
|
8577
7868
|
Reporting
|
|
8578
7869
|
"""
|
|
8579
|
-
request_body = {
|
|
8580
|
-
"data": data,
|
|
8581
|
-
}
|
|
7870
|
+
request_body = {"data": data}
|
|
8582
7871
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8583
7872
|
url = f"{self.base_url}/api/form-values-reports"
|
|
8584
7873
|
query_params = {}
|
|
@@ -8586,7 +7875,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8586
7875
|
response.raise_for_status()
|
|
8587
7876
|
return response.json()
|
|
8588
7877
|
|
|
8589
|
-
def query_form_series(self, data=None) -> dict[str, Any]:
|
|
7878
|
+
async def query_form_series(self, data=None) -> dict[str, Any]:
|
|
8590
7879
|
"""
|
|
8591
7880
|
This API operation, exposed at the "/api/form-series-reports" path using the "POST" method, allows users to generate or submit form series reports, specifying a revision via a header parameter, and returns responses indicating success, bad request, or internal server error.
|
|
8592
7881
|
|
|
@@ -8622,9 +7911,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8622
7911
|
Tags:
|
|
8623
7912
|
Reporting
|
|
8624
7913
|
"""
|
|
8625
|
-
request_body = {
|
|
8626
|
-
"data": data,
|
|
8627
|
-
}
|
|
7914
|
+
request_body = {"data": data}
|
|
8628
7915
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8629
7916
|
url = f"{self.base_url}/api/form-series-reports"
|
|
8630
7917
|
query_params = {}
|
|
@@ -8632,7 +7919,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8632
7919
|
response.raise_for_status()
|
|
8633
7920
|
return response.json()
|
|
8634
7921
|
|
|
8635
|
-
def query_segment_values(self, data=None) -> dict[str, Any]:
|
|
7922
|
+
async def query_segment_values(self, data=None) -> dict[str, Any]:
|
|
8636
7923
|
"""
|
|
8637
7924
|
Creates a report on segment values using a POST request to the "/api/segment-values-reports" endpoint, which requires a revision header and returns a report upon successful execution.
|
|
8638
7925
|
|
|
@@ -8663,9 +7950,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8663
7950
|
Tags:
|
|
8664
7951
|
Reporting
|
|
8665
7952
|
"""
|
|
8666
|
-
request_body = {
|
|
8667
|
-
"data": data,
|
|
8668
|
-
}
|
|
7953
|
+
request_body = {"data": data}
|
|
8669
7954
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8670
7955
|
url = f"{self.base_url}/api/segment-values-reports"
|
|
8671
7956
|
query_params = {}
|
|
@@ -8673,7 +7958,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8673
7958
|
response.raise_for_status()
|
|
8674
7959
|
return response.json()
|
|
8675
7960
|
|
|
8676
|
-
def query_segment_series(self, data=None) -> dict[str, Any]:
|
|
7961
|
+
async def query_segment_series(self, data=None) -> dict[str, Any]:
|
|
8677
7962
|
"""
|
|
8678
7963
|
The POST operation at the "/api/segment-series-reports" path generates segment series reports, requiring a revision number provided in the header, and returns successful reports with a 200 status code or error messages for invalid requests (400) or server issues (500).
|
|
8679
7964
|
|
|
@@ -8705,9 +7990,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8705
7990
|
Tags:
|
|
8706
7991
|
Reporting
|
|
8707
7992
|
"""
|
|
8708
|
-
request_body = {
|
|
8709
|
-
"data": data,
|
|
8710
|
-
}
|
|
7993
|
+
request_body = {"data": data}
|
|
8711
7994
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8712
7995
|
url = f"{self.base_url}/api/segment-series-reports"
|
|
8713
7996
|
query_params = {}
|
|
@@ -8715,15 +7998,8 @@ class KlaviyoApp(APIApplication):
|
|
|
8715
7998
|
response.raise_for_status()
|
|
8716
7999
|
return response.json()
|
|
8717
8000
|
|
|
8718
|
-
def get_reviews(
|
|
8719
|
-
self,
|
|
8720
|
-
fields_event=None,
|
|
8721
|
-
fields_review=None,
|
|
8722
|
-
filter=None,
|
|
8723
|
-
include=None,
|
|
8724
|
-
page_cursor=None,
|
|
8725
|
-
page_size=None,
|
|
8726
|
-
sort=None,
|
|
8001
|
+
async def get_reviews(
|
|
8002
|
+
self, fields_event=None, fields_review=None, filter=None, include=None, page_cursor=None, page_size=None, sort=None
|
|
8727
8003
|
) -> dict[str, Any]:
|
|
8728
8004
|
"""
|
|
8729
8005
|
Retrieves review data with optional filtering, pagination, sorting, and field selection parameters for events and reviews.
|
|
@@ -8761,9 +8037,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8761
8037
|
response.raise_for_status()
|
|
8762
8038
|
return response.json()
|
|
8763
8039
|
|
|
8764
|
-
def get_review(
|
|
8765
|
-
self, id, fields_event=None, fields_review=None, include=None
|
|
8766
|
-
) -> dict[str, Any]:
|
|
8040
|
+
async def get_review(self, id, fields_event=None, fields_review=None, include=None) -> dict[str, Any]:
|
|
8767
8041
|
"""
|
|
8768
8042
|
The "/api/reviews/{id}" API endpoint uses the GET method to retrieve a specific review by its ID, allowing optional query parameters for selecting fields and specifying additional data to include, with support for a revision header.
|
|
8769
8043
|
|
|
@@ -8783,19 +8057,13 @@ class KlaviyoApp(APIApplication):
|
|
|
8783
8057
|
raise ValueError("Missing required parameter 'id'")
|
|
8784
8058
|
url = f"{self.base_url}/api/reviews/{id}"
|
|
8785
8059
|
query_params = {
|
|
8786
|
-
k: v
|
|
8787
|
-
for k, v in [
|
|
8788
|
-
("fields[event]", fields_event),
|
|
8789
|
-
("fields[review]", fields_review),
|
|
8790
|
-
("include", include),
|
|
8791
|
-
]
|
|
8792
|
-
if v is not None
|
|
8060
|
+
k: v for k, v in [("fields[event]", fields_event), ("fields[review]", fields_review), ("include", include)] if v is not None
|
|
8793
8061
|
}
|
|
8794
8062
|
response = self._get(url, params=query_params)
|
|
8795
8063
|
response.raise_for_status()
|
|
8796
8064
|
return response.json()
|
|
8797
8065
|
|
|
8798
|
-
def update_review(self, id, data=None) -> dict[str, Any]:
|
|
8066
|
+
async def update_review(self, id, data=None) -> dict[str, Any]:
|
|
8799
8067
|
"""
|
|
8800
8068
|
This API operation uses the PATCH method at the "/api/reviews/{id}" path to partially update a review by applying specific changes while maintaining the integrity of unchanged fields, requiring a revision header for processing.
|
|
8801
8069
|
|
|
@@ -8829,9 +8097,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8829
8097
|
"""
|
|
8830
8098
|
if id is None:
|
|
8831
8099
|
raise ValueError("Missing required parameter 'id'")
|
|
8832
|
-
request_body = {
|
|
8833
|
-
"data": data,
|
|
8834
|
-
}
|
|
8100
|
+
request_body = {"data": data}
|
|
8835
8101
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8836
8102
|
url = f"{self.base_url}/api/reviews/{id}"
|
|
8837
8103
|
query_params = {}
|
|
@@ -8839,15 +8105,8 @@ class KlaviyoApp(APIApplication):
|
|
|
8839
8105
|
response.raise_for_status()
|
|
8840
8106
|
return response.json()
|
|
8841
8107
|
|
|
8842
|
-
def get_segments(
|
|
8843
|
-
self,
|
|
8844
|
-
fields_flow=None,
|
|
8845
|
-
fields_segment=None,
|
|
8846
|
-
fields_tag=None,
|
|
8847
|
-
filter=None,
|
|
8848
|
-
include=None,
|
|
8849
|
-
page_cursor=None,
|
|
8850
|
-
sort=None,
|
|
8108
|
+
async def get_segments(
|
|
8109
|
+
self, fields_flow=None, fields_segment=None, fields_tag=None, filter=None, include=None, page_cursor=None, sort=None
|
|
8851
8110
|
) -> dict[str, Any]:
|
|
8852
8111
|
"""
|
|
8853
8112
|
Use this API endpoint to retrieve a list of segments, allowing you to filter the results by various criteria and customize the output with specific fields and sorting options.
|
|
@@ -8885,7 +8144,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8885
8144
|
response.raise_for_status()
|
|
8886
8145
|
return response.json()
|
|
8887
8146
|
|
|
8888
|
-
def create_segment(self, data=None) -> dict[str, Any]:
|
|
8147
|
+
async def create_segment(self, data=None) -> dict[str, Any]:
|
|
8889
8148
|
"""
|
|
8890
8149
|
Creates a new segment with the specified configuration, returning the created resource upon success.
|
|
8891
8150
|
|
|
@@ -8974,9 +8233,7 @@ class KlaviyoApp(APIApplication):
|
|
|
8974
8233
|
Tags:
|
|
8975
8234
|
Segments
|
|
8976
8235
|
"""
|
|
8977
|
-
request_body = {
|
|
8978
|
-
"data": data,
|
|
8979
|
-
}
|
|
8236
|
+
request_body = {"data": data}
|
|
8980
8237
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
8981
8238
|
url = f"{self.base_url}/api/segments"
|
|
8982
8239
|
query_params = {}
|
|
@@ -8984,14 +8241,8 @@ class KlaviyoApp(APIApplication):
|
|
|
8984
8241
|
response.raise_for_status()
|
|
8985
8242
|
return response.json()
|
|
8986
8243
|
|
|
8987
|
-
def get_segment(
|
|
8988
|
-
self,
|
|
8989
|
-
id,
|
|
8990
|
-
additional_fields_segment=None,
|
|
8991
|
-
fields_flow=None,
|
|
8992
|
-
fields_segment=None,
|
|
8993
|
-
fields_tag=None,
|
|
8994
|
-
include=None,
|
|
8244
|
+
async def get_segment(
|
|
8245
|
+
self, id, additional_fields_segment=None, fields_flow=None, fields_segment=None, fields_tag=None, include=None
|
|
8995
8246
|
) -> dict[str, Any]:
|
|
8996
8247
|
"""
|
|
8997
8248
|
Retrieve a segment by its ID, optionally including additional fields, flows, segment details, tags, and related data, with support for specifying a revision in the request header.
|
|
@@ -9028,7 +8279,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9028
8279
|
response.raise_for_status()
|
|
9029
8280
|
return response.json()
|
|
9030
8281
|
|
|
9031
|
-
def delete_segment(self, id) -> Any:
|
|
8282
|
+
async def delete_segment(self, id) -> Any:
|
|
9032
8283
|
"""
|
|
9033
8284
|
Deletes the specified segment by ID, requiring a revision header, and returns a 204 for success, 400 for invalid requests, or 500 for server errors.
|
|
9034
8285
|
|
|
@@ -9049,7 +8300,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9049
8300
|
response.raise_for_status()
|
|
9050
8301
|
return response.json()
|
|
9051
8302
|
|
|
9052
|
-
def update_segment(self, id, data=None) -> dict[str, Any]:
|
|
8303
|
+
async def update_segment(self, id, data=None) -> dict[str, Any]:
|
|
9053
8304
|
"""
|
|
9054
8305
|
The PATCH method at "/api/segments/{id}" allows partial updates to a segment resource, enabling modifications of specific fields while leaving others unchanged, with an optional revision header for version control.
|
|
9055
8306
|
|
|
@@ -9142,9 +8393,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9142
8393
|
"""
|
|
9143
8394
|
if id is None:
|
|
9144
8395
|
raise ValueError("Missing required parameter 'id'")
|
|
9145
|
-
request_body = {
|
|
9146
|
-
"data": data,
|
|
9147
|
-
}
|
|
8396
|
+
request_body = {"data": data}
|
|
9148
8397
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9149
8398
|
url = f"{self.base_url}/api/segments/{id}"
|
|
9150
8399
|
query_params = {}
|
|
@@ -9152,7 +8401,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9152
8401
|
response.raise_for_status()
|
|
9153
8402
|
return response.json()
|
|
9154
8403
|
|
|
9155
|
-
def get_tags_for_segment(self, id, fields_tag=None) -> dict[str, Any]:
|
|
8404
|
+
async def get_tags_for_segment(self, id, fields_tag=None) -> dict[str, Any]:
|
|
9156
8405
|
"""
|
|
9157
8406
|
Retrieves tags for a segment by ID, allowing optional filtering by specific tag fields and accepting a revision in the request header.
|
|
9158
8407
|
|
|
@@ -9174,7 +8423,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9174
8423
|
response.raise_for_status()
|
|
9175
8424
|
return response.json()
|
|
9176
8425
|
|
|
9177
|
-
def get_tag_ids_for_segment(self, id) -> dict[str, Any]:
|
|
8426
|
+
async def get_tag_ids_for_segment(self, id) -> dict[str, Any]:
|
|
9178
8427
|
"""
|
|
9179
8428
|
Retrieves the relationships and associated tags for a specific segment identified by its ID, including any revision header information.
|
|
9180
8429
|
|
|
@@ -9195,15 +8444,8 @@ class KlaviyoApp(APIApplication):
|
|
|
9195
8444
|
response.raise_for_status()
|
|
9196
8445
|
return response.json()
|
|
9197
8446
|
|
|
9198
|
-
def get_profiles_for_segment(
|
|
9199
|
-
self,
|
|
9200
|
-
id,
|
|
9201
|
-
additional_fields_profile=None,
|
|
9202
|
-
fields_profile=None,
|
|
9203
|
-
filter=None,
|
|
9204
|
-
page_cursor=None,
|
|
9205
|
-
page_size=None,
|
|
9206
|
-
sort=None,
|
|
8447
|
+
async def get_profiles_for_segment(
|
|
8448
|
+
self, id, additional_fields_profile=None, fields_profile=None, filter=None, page_cursor=None, page_size=None, sort=None
|
|
9207
8449
|
) -> dict[str, Any]:
|
|
9208
8450
|
"""
|
|
9209
8451
|
Retrieves a paginated list of profiles associated with a specific segment, supporting filtering, sorting, and field selection.
|
|
@@ -9242,9 +8484,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9242
8484
|
response.raise_for_status()
|
|
9243
8485
|
return response.json()
|
|
9244
8486
|
|
|
9245
|
-
def get_profile_ids_for_segment(
|
|
9246
|
-
self, id, filter=None, page_cursor=None, page_size=None, sort=None
|
|
9247
|
-
) -> dict[str, Any]:
|
|
8487
|
+
async def get_profile_ids_for_segment(self, id, filter=None, page_cursor=None, page_size=None, sort=None) -> dict[str, Any]:
|
|
9248
8488
|
"""
|
|
9249
8489
|
This API operation retrieves the profiles related to a segment with the specified ID using a GET method, allowing for filtering, pagination, sorting, and revision specification through query and header parameters.
|
|
9250
8490
|
|
|
@@ -9265,20 +8505,13 @@ class KlaviyoApp(APIApplication):
|
|
|
9265
8505
|
raise ValueError("Missing required parameter 'id'")
|
|
9266
8506
|
url = f"{self.base_url}/api/segments/{id}/relationships/profiles"
|
|
9267
8507
|
query_params = {
|
|
9268
|
-
k: v
|
|
9269
|
-
for k, v in [
|
|
9270
|
-
("filter", filter),
|
|
9271
|
-
("page[cursor]", page_cursor),
|
|
9272
|
-
("page[size]", page_size),
|
|
9273
|
-
("sort", sort),
|
|
9274
|
-
]
|
|
9275
|
-
if v is not None
|
|
8508
|
+
k: v for k, v in [("filter", filter), ("page[cursor]", page_cursor), ("page[size]", page_size), ("sort", sort)] if v is not None
|
|
9276
8509
|
}
|
|
9277
8510
|
response = self._get(url, params=query_params)
|
|
9278
8511
|
response.raise_for_status()
|
|
9279
8512
|
return response.json()
|
|
9280
8513
|
|
|
9281
|
-
def get_flows_triggered_by_segment(self, id, fields_flow=None) -> dict[str, Any]:
|
|
8514
|
+
async def get_flows_triggered_by_segment(self, id, fields_flow=None) -> dict[str, Any]:
|
|
9282
8515
|
"""
|
|
9283
8516
|
Retrieves flow triggers for a segment by ID, optionally filtering by specific flow fields and providing a revision in the header.
|
|
9284
8517
|
|
|
@@ -9295,14 +8528,12 @@ class KlaviyoApp(APIApplication):
|
|
|
9295
8528
|
if id is None:
|
|
9296
8529
|
raise ValueError("Missing required parameter 'id'")
|
|
9297
8530
|
url = f"{self.base_url}/api/segments/{id}/flow-triggers"
|
|
9298
|
-
query_params = {
|
|
9299
|
-
k: v for k, v in [("fields[flow]", fields_flow)] if v is not None
|
|
9300
|
-
}
|
|
8531
|
+
query_params = {k: v for k, v in [("fields[flow]", fields_flow)] if v is not None}
|
|
9301
8532
|
response = self._get(url, params=query_params)
|
|
9302
8533
|
response.raise_for_status()
|
|
9303
8534
|
return response.json()
|
|
9304
8535
|
|
|
9305
|
-
def get_ids_for_flows_triggered_by_segment(self, id) -> dict[str, Any]:
|
|
8536
|
+
async def get_ids_for_flows_triggered_by_segment(self, id) -> dict[str, Any]:
|
|
9306
8537
|
"""
|
|
9307
8538
|
Retrieves the associated flow triggers linked to a specific segment by its ID, supporting a custom revision header for version control.
|
|
9308
8539
|
|
|
@@ -9323,14 +8554,8 @@ class KlaviyoApp(APIApplication):
|
|
|
9323
8554
|
response.raise_for_status()
|
|
9324
8555
|
return response.json()
|
|
9325
8556
|
|
|
9326
|
-
def get_tags(
|
|
9327
|
-
self,
|
|
9328
|
-
fields_tag_group=None,
|
|
9329
|
-
fields_tag=None,
|
|
9330
|
-
filter=None,
|
|
9331
|
-
include=None,
|
|
9332
|
-
page_cursor=None,
|
|
9333
|
-
sort=None,
|
|
8557
|
+
async def get_tags(
|
|
8558
|
+
self, fields_tag_group=None, fields_tag=None, filter=None, include=None, page_cursor=None, sort=None
|
|
9334
8559
|
) -> dict[str, Any]:
|
|
9335
8560
|
"""
|
|
9336
8561
|
Retrieves a list of tags filtered, sorted, and paginated via query parameters while supporting selective field inclusion and specific API revisions via headers.
|
|
@@ -9366,7 +8591,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9366
8591
|
response.raise_for_status()
|
|
9367
8592
|
return response.json()
|
|
9368
8593
|
|
|
9369
|
-
def create_tag(self, data=None) -> dict[str, Any]:
|
|
8594
|
+
async def create_tag(self, data=None) -> dict[str, Any]:
|
|
9370
8595
|
"""
|
|
9371
8596
|
Creates a new tag resource using the provided data, requiring a revision header and returning HTTP status codes for success (201), client errors (400), or server issues (500).
|
|
9372
8597
|
|
|
@@ -9398,9 +8623,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9398
8623
|
Tags:
|
|
9399
8624
|
Tags, Tags1
|
|
9400
8625
|
"""
|
|
9401
|
-
request_body = {
|
|
9402
|
-
"data": data,
|
|
9403
|
-
}
|
|
8626
|
+
request_body = {"data": data}
|
|
9404
8627
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9405
8628
|
url = f"{self.base_url}/api/tags"
|
|
9406
8629
|
query_params = {}
|
|
@@ -9408,9 +8631,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9408
8631
|
response.raise_for_status()
|
|
9409
8632
|
return response.json()
|
|
9410
8633
|
|
|
9411
|
-
def get_tag(
|
|
9412
|
-
self, id, fields_tag_group=None, fields_tag=None, include=None
|
|
9413
|
-
) -> dict[str, Any]:
|
|
8634
|
+
async def get_tag(self, id, fields_tag_group=None, fields_tag=None, include=None) -> dict[str, Any]:
|
|
9414
8635
|
"""
|
|
9415
8636
|
Retrieves a specific tag by ID with optional query parameters for field selection, included resources, and a header for revision control.
|
|
9416
8637
|
|
|
@@ -9430,19 +8651,13 @@ class KlaviyoApp(APIApplication):
|
|
|
9430
8651
|
raise ValueError("Missing required parameter 'id'")
|
|
9431
8652
|
url = f"{self.base_url}/api/tags/{id}"
|
|
9432
8653
|
query_params = {
|
|
9433
|
-
k: v
|
|
9434
|
-
for k, v in [
|
|
9435
|
-
("fields[tag-group]", fields_tag_group),
|
|
9436
|
-
("fields[tag]", fields_tag),
|
|
9437
|
-
("include", include),
|
|
9438
|
-
]
|
|
9439
|
-
if v is not None
|
|
8654
|
+
k: v for k, v in [("fields[tag-group]", fields_tag_group), ("fields[tag]", fields_tag), ("include", include)] if v is not None
|
|
9440
8655
|
}
|
|
9441
8656
|
response = self._get(url, params=query_params)
|
|
9442
8657
|
response.raise_for_status()
|
|
9443
8658
|
return response.json()
|
|
9444
8659
|
|
|
9445
|
-
def delete_tag(self, id) -> Any:
|
|
8660
|
+
async def delete_tag(self, id) -> Any:
|
|
9446
8661
|
"""
|
|
9447
8662
|
Deletes the specified tag by ID, requiring a revision header, with responses indicating success (204 No Content), bad request (400), or server error (500).
|
|
9448
8663
|
|
|
@@ -9463,7 +8678,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9463
8678
|
response.raise_for_status()
|
|
9464
8679
|
return response.json()
|
|
9465
8680
|
|
|
9466
|
-
def update_tag(self, id, data=None) -> Any:
|
|
8681
|
+
async def update_tag(self, id, data=None) -> Any:
|
|
9467
8682
|
"""
|
|
9468
8683
|
Updates the specified tag (ID: {id}) with partial modifications using the revision header for conflict detection, returning 204 on success.
|
|
9469
8684
|
|
|
@@ -9491,9 +8706,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9491
8706
|
"""
|
|
9492
8707
|
if id is None:
|
|
9493
8708
|
raise ValueError("Missing required parameter 'id'")
|
|
9494
|
-
request_body = {
|
|
9495
|
-
"data": data,
|
|
9496
|
-
}
|
|
8709
|
+
request_body = {"data": data}
|
|
9497
8710
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9498
8711
|
url = f"{self.base_url}/api/tags/{id}"
|
|
9499
8712
|
query_params = {}
|
|
@@ -9501,7 +8714,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9501
8714
|
response.raise_for_status()
|
|
9502
8715
|
return response.json()
|
|
9503
8716
|
|
|
9504
|
-
def get_flow_ids_for_tag(self, id) -> dict[str, Any]:
|
|
8717
|
+
async def get_flow_ids_for_tag(self, id) -> dict[str, Any]:
|
|
9505
8718
|
"""
|
|
9506
8719
|
Retrieves the associated flow resources linked to the specified tag ID, using the provided revision header for version control.
|
|
9507
8720
|
|
|
@@ -9522,7 +8735,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9522
8735
|
response.raise_for_status()
|
|
9523
8736
|
return response.json()
|
|
9524
8737
|
|
|
9525
|
-
def tag_flows(self, id, data=None) -> Any:
|
|
8738
|
+
async def tag_flows(self, id, data=None) -> Any:
|
|
9526
8739
|
"""
|
|
9527
8740
|
The API operation at path "/api/tags/{id}/relationships/flows" using the "POST" method creates a new relationship between a tag and a flow, optionally specifying a revision in the header.
|
|
9528
8741
|
|
|
@@ -9553,9 +8766,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9553
8766
|
"""
|
|
9554
8767
|
if id is None:
|
|
9555
8768
|
raise ValueError("Missing required parameter 'id'")
|
|
9556
|
-
request_body = {
|
|
9557
|
-
"data": data,
|
|
9558
|
-
}
|
|
8769
|
+
request_body = {"data": data}
|
|
9559
8770
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9560
8771
|
url = f"{self.base_url}/api/tags/{id}/relationships/flows"
|
|
9561
8772
|
query_params = {}
|
|
@@ -9563,7 +8774,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9563
8774
|
response.raise_for_status()
|
|
9564
8775
|
return response.json()
|
|
9565
8776
|
|
|
9566
|
-
def remove_tag_from_flows(self, id, data=None) -> Any:
|
|
8777
|
+
async def remove_tag_from_flows(self, id, data=None) -> Any:
|
|
9567
8778
|
"""
|
|
9568
8779
|
Deletes the relationship between the specified tag and associated flows, returning a 204 No Content response upon successful deletion.
|
|
9569
8780
|
|
|
@@ -9594,9 +8805,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9594
8805
|
"""
|
|
9595
8806
|
if id is None:
|
|
9596
8807
|
raise ValueError("Missing required parameter 'id'")
|
|
9597
|
-
request_body = {
|
|
9598
|
-
"data": data,
|
|
9599
|
-
}
|
|
8808
|
+
request_body = {"data": data}
|
|
9600
8809
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9601
8810
|
url = f"{self.base_url}/api/tags/{id}/relationships/flows"
|
|
9602
8811
|
query_params = {}
|
|
@@ -9604,7 +8813,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9604
8813
|
response.raise_for_status()
|
|
9605
8814
|
return response.json()
|
|
9606
8815
|
|
|
9607
|
-
def get_campaign_ids_for_tag(self, id) -> dict[str, Any]:
|
|
8816
|
+
async def get_campaign_ids_for_tag(self, id) -> dict[str, Any]:
|
|
9608
8817
|
"""
|
|
9609
8818
|
This API operation retrieves relationships between a tag with the specified ID and campaigns, using the GET method at the path "/api/tags/{id}/relationships/campaigns".
|
|
9610
8819
|
|
|
@@ -9625,7 +8834,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9625
8834
|
response.raise_for_status()
|
|
9626
8835
|
return response.json()
|
|
9627
8836
|
|
|
9628
|
-
def tag_campaigns(self, id, data=None) -> Any:
|
|
8837
|
+
async def tag_campaigns(self, id, data=None) -> Any:
|
|
9629
8838
|
"""
|
|
9630
8839
|
Creates a relationship between the specified tag and campaign(s) using the "revision" header for concurrency control.
|
|
9631
8840
|
|
|
@@ -9656,9 +8865,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9656
8865
|
"""
|
|
9657
8866
|
if id is None:
|
|
9658
8867
|
raise ValueError("Missing required parameter 'id'")
|
|
9659
|
-
request_body = {
|
|
9660
|
-
"data": data,
|
|
9661
|
-
}
|
|
8868
|
+
request_body = {"data": data}
|
|
9662
8869
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9663
8870
|
url = f"{self.base_url}/api/tags/{id}/relationships/campaigns"
|
|
9664
8871
|
query_params = {}
|
|
@@ -9666,7 +8873,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9666
8873
|
response.raise_for_status()
|
|
9667
8874
|
return response.json()
|
|
9668
8875
|
|
|
9669
|
-
def remove_tag_from_campaigns(self, id, data=None) -> Any:
|
|
8876
|
+
async def remove_tag_from_campaigns(self, id, data=None) -> Any:
|
|
9670
8877
|
"""
|
|
9671
8878
|
The API operation defined at `/api/tags/{id}/relationships/campaigns` using the `DELETE` method removes the relationship between a tag with the specified ID and associated campaigns, requiring a `revision` header and returning a successful response with a 204 status code if completed correctly.
|
|
9672
8879
|
|
|
@@ -9697,9 +8904,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9697
8904
|
"""
|
|
9698
8905
|
if id is None:
|
|
9699
8906
|
raise ValueError("Missing required parameter 'id'")
|
|
9700
|
-
request_body = {
|
|
9701
|
-
"data": data,
|
|
9702
|
-
}
|
|
8907
|
+
request_body = {"data": data}
|
|
9703
8908
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9704
8909
|
url = f"{self.base_url}/api/tags/{id}/relationships/campaigns"
|
|
9705
8910
|
query_params = {}
|
|
@@ -9707,7 +8912,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9707
8912
|
response.raise_for_status()
|
|
9708
8913
|
return response.json()
|
|
9709
8914
|
|
|
9710
|
-
def get_list_ids_for_tag(self, id) -> dict[str, Any]:
|
|
8915
|
+
async def get_list_ids_for_tag(self, id) -> dict[str, Any]:
|
|
9711
8916
|
"""
|
|
9712
8917
|
Retrieves the relationship details for lists associated with a specified tag ID, requiring a revision header parameter.
|
|
9713
8918
|
|
|
@@ -9728,7 +8933,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9728
8933
|
response.raise_for_status()
|
|
9729
8934
|
return response.json()
|
|
9730
8935
|
|
|
9731
|
-
def tag_lists(self, id, data=None) -> Any:
|
|
8936
|
+
async def tag_lists(self, id, data=None) -> Any:
|
|
9732
8937
|
"""
|
|
9733
8938
|
Creates a new relationship between a specified tag and lists using the provided header revision.
|
|
9734
8939
|
|
|
@@ -9759,9 +8964,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9759
8964
|
"""
|
|
9760
8965
|
if id is None:
|
|
9761
8966
|
raise ValueError("Missing required parameter 'id'")
|
|
9762
|
-
request_body = {
|
|
9763
|
-
"data": data,
|
|
9764
|
-
}
|
|
8967
|
+
request_body = {"data": data}
|
|
9765
8968
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9766
8969
|
url = f"{self.base_url}/api/tags/{id}/relationships/lists"
|
|
9767
8970
|
query_params = {}
|
|
@@ -9769,7 +8972,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9769
8972
|
response.raise_for_status()
|
|
9770
8973
|
return response.json()
|
|
9771
8974
|
|
|
9772
|
-
def remove_tag_from_lists(self, id, data=None) -> Any:
|
|
8975
|
+
async def remove_tag_from_lists(self, id, data=None) -> Any:
|
|
9773
8976
|
"""
|
|
9774
8977
|
Deletes the relationship between a tag with the specified ID and its associated lists, requiring a revision header.
|
|
9775
8978
|
|
|
@@ -9800,9 +9003,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9800
9003
|
"""
|
|
9801
9004
|
if id is None:
|
|
9802
9005
|
raise ValueError("Missing required parameter 'id'")
|
|
9803
|
-
request_body = {
|
|
9804
|
-
"data": data,
|
|
9805
|
-
}
|
|
9006
|
+
request_body = {"data": data}
|
|
9806
9007
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9807
9008
|
url = f"{self.base_url}/api/tags/{id}/relationships/lists"
|
|
9808
9009
|
query_params = {}
|
|
@@ -9810,7 +9011,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9810
9011
|
response.raise_for_status()
|
|
9811
9012
|
return response.json()
|
|
9812
9013
|
|
|
9813
|
-
def get_segment_ids_for_tag(self, id) -> dict[str, Any]:
|
|
9014
|
+
async def get_segment_ids_for_tag(self, id) -> dict[str, Any]:
|
|
9814
9015
|
"""
|
|
9815
9016
|
Retrieves a list of relationships between a tag identified by `{id}` and segments, with the option to specify a revision in the request header.
|
|
9816
9017
|
|
|
@@ -9831,7 +9032,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9831
9032
|
response.raise_for_status()
|
|
9832
9033
|
return response.json()
|
|
9833
9034
|
|
|
9834
|
-
def tag_segments(self, id, data=None) -> Any:
|
|
9035
|
+
async def tag_segments(self, id, data=None) -> Any:
|
|
9835
9036
|
"""
|
|
9836
9037
|
Creates a relationship between a tag identified by `{id}` and one or more segments, using the specified revision from the request header.
|
|
9837
9038
|
|
|
@@ -9862,9 +9063,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9862
9063
|
"""
|
|
9863
9064
|
if id is None:
|
|
9864
9065
|
raise ValueError("Missing required parameter 'id'")
|
|
9865
|
-
request_body = {
|
|
9866
|
-
"data": data,
|
|
9867
|
-
}
|
|
9066
|
+
request_body = {"data": data}
|
|
9868
9067
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9869
9068
|
url = f"{self.base_url}/api/tags/{id}/relationships/segments"
|
|
9870
9069
|
query_params = {}
|
|
@@ -9872,7 +9071,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9872
9071
|
response.raise_for_status()
|
|
9873
9072
|
return response.json()
|
|
9874
9073
|
|
|
9875
|
-
def remove_tag_from_segments(self, id, data=None) -> Any:
|
|
9074
|
+
async def remove_tag_from_segments(self, id, data=None) -> Any:
|
|
9876
9075
|
"""
|
|
9877
9076
|
Removes tag associations with one or more segments by specifying the tag ID in the path and segment relationships in the request body.
|
|
9878
9077
|
|
|
@@ -9903,9 +9102,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9903
9102
|
"""
|
|
9904
9103
|
if id is None:
|
|
9905
9104
|
raise ValueError("Missing required parameter 'id'")
|
|
9906
|
-
request_body = {
|
|
9907
|
-
"data": data,
|
|
9908
|
-
}
|
|
9105
|
+
request_body = {"data": data}
|
|
9909
9106
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
9910
9107
|
url = f"{self.base_url}/api/tags/{id}/relationships/segments"
|
|
9911
9108
|
query_params = {}
|
|
@@ -9913,7 +9110,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9913
9110
|
response.raise_for_status()
|
|
9914
9111
|
return response.json()
|
|
9915
9112
|
|
|
9916
|
-
def get_tag_group_for_tag(self, id, fields_tag_group=None) -> dict[str, Any]:
|
|
9113
|
+
async def get_tag_group_for_tag(self, id, fields_tag_group=None) -> dict[str, Any]:
|
|
9917
9114
|
"""
|
|
9918
9115
|
Retrieves the details of a tag group associated with the specified tag ID, allowing field selection via query parameters and revision specification via headers.
|
|
9919
9116
|
|
|
@@ -9930,14 +9127,12 @@ class KlaviyoApp(APIApplication):
|
|
|
9930
9127
|
if id is None:
|
|
9931
9128
|
raise ValueError("Missing required parameter 'id'")
|
|
9932
9129
|
url = f"{self.base_url}/api/tags/{id}/tag-group"
|
|
9933
|
-
query_params = {
|
|
9934
|
-
k: v for k, v in [("fields[tag-group]", fields_tag_group)] if v is not None
|
|
9935
|
-
}
|
|
9130
|
+
query_params = {k: v for k, v in [("fields[tag-group]", fields_tag_group)] if v is not None}
|
|
9936
9131
|
response = self._get(url, params=query_params)
|
|
9937
9132
|
response.raise_for_status()
|
|
9938
9133
|
return response.json()
|
|
9939
9134
|
|
|
9940
|
-
def get_tag_group_id_for_tag(self, id) -> dict[str, Any]:
|
|
9135
|
+
async def get_tag_group_id_for_tag(self, id) -> dict[str, Any]:
|
|
9941
9136
|
"""
|
|
9942
9137
|
Retrieves the tag-group relationship details for the specified tag ID, including optional revision header parameters.
|
|
9943
9138
|
|
|
@@ -9958,9 +9153,7 @@ class KlaviyoApp(APIApplication):
|
|
|
9958
9153
|
response.raise_for_status()
|
|
9959
9154
|
return response.json()
|
|
9960
9155
|
|
|
9961
|
-
def get_tag_groups(
|
|
9962
|
-
self, fields_tag_group=None, filter=None, page_cursor=None, sort=None
|
|
9963
|
-
) -> dict[str, Any]:
|
|
9156
|
+
async def get_tag_groups(self, fields_tag_group=None, filter=None, page_cursor=None, sort=None) -> dict[str, Any]:
|
|
9964
9157
|
"""
|
|
9965
9158
|
Retrieves a list of tag groups with optional filtering, sorting, pagination via cursor, field selection, and revision headers, returning appropriate status responses.
|
|
9966
9159
|
|
|
@@ -9979,19 +9172,14 @@ class KlaviyoApp(APIApplication):
|
|
|
9979
9172
|
url = f"{self.base_url}/api/tag-groups"
|
|
9980
9173
|
query_params = {
|
|
9981
9174
|
k: v
|
|
9982
|
-
for k, v in [
|
|
9983
|
-
("fields[tag-group]", fields_tag_group),
|
|
9984
|
-
("filter", filter),
|
|
9985
|
-
("page[cursor]", page_cursor),
|
|
9986
|
-
("sort", sort),
|
|
9987
|
-
]
|
|
9175
|
+
for k, v in [("fields[tag-group]", fields_tag_group), ("filter", filter), ("page[cursor]", page_cursor), ("sort", sort)]
|
|
9988
9176
|
if v is not None
|
|
9989
9177
|
}
|
|
9990
9178
|
response = self._get(url, params=query_params)
|
|
9991
9179
|
response.raise_for_status()
|
|
9992
9180
|
return response.json()
|
|
9993
9181
|
|
|
9994
|
-
def create_tag_group(self, data=None) -> dict[str, Any]:
|
|
9182
|
+
async def create_tag_group(self, data=None) -> dict[str, Any]:
|
|
9995
9183
|
"""
|
|
9996
9184
|
Creates a new tag group with the specified revision header, returning a 201 response on successful creation or appropriate error codes (400/500) for failures.
|
|
9997
9185
|
|
|
@@ -10016,9 +9204,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10016
9204
|
Tags:
|
|
10017
9205
|
Tags, Tag Groups
|
|
10018
9206
|
"""
|
|
10019
|
-
request_body = {
|
|
10020
|
-
"data": data,
|
|
10021
|
-
}
|
|
9207
|
+
request_body = {"data": data}
|
|
10022
9208
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10023
9209
|
url = f"{self.base_url}/api/tag-groups"
|
|
10024
9210
|
query_params = {}
|
|
@@ -10026,7 +9212,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10026
9212
|
response.raise_for_status()
|
|
10027
9213
|
return response.json()
|
|
10028
9214
|
|
|
10029
|
-
def get_tag_group(self, id, fields_tag_group=None) -> dict[str, Any]:
|
|
9215
|
+
async def get_tag_group(self, id, fields_tag_group=None) -> dict[str, Any]:
|
|
10030
9216
|
"""
|
|
10031
9217
|
Retrieves a tag group by ID, allowing optional filtering by specific fields and including a revision header, returning a successful response with a 200 status code.
|
|
10032
9218
|
|
|
@@ -10043,14 +9229,12 @@ class KlaviyoApp(APIApplication):
|
|
|
10043
9229
|
if id is None:
|
|
10044
9230
|
raise ValueError("Missing required parameter 'id'")
|
|
10045
9231
|
url = f"{self.base_url}/api/tag-groups/{id}"
|
|
10046
|
-
query_params = {
|
|
10047
|
-
k: v for k, v in [("fields[tag-group]", fields_tag_group)] if v is not None
|
|
10048
|
-
}
|
|
9232
|
+
query_params = {k: v for k, v in [("fields[tag-group]", fields_tag_group)] if v is not None}
|
|
10049
9233
|
response = self._get(url, params=query_params)
|
|
10050
9234
|
response.raise_for_status()
|
|
10051
9235
|
return response.json()
|
|
10052
9236
|
|
|
10053
|
-
def delete_tag_group(self, id) -> dict[str, Any]:
|
|
9237
|
+
async def delete_tag_group(self, id) -> dict[str, Any]:
|
|
10054
9238
|
"""
|
|
10055
9239
|
Deletes a tag group by its ID, with the revision specified in the request header, returning success if the operation completes without errors.
|
|
10056
9240
|
|
|
@@ -10071,7 +9255,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10071
9255
|
response.raise_for_status()
|
|
10072
9256
|
return response.json()
|
|
10073
9257
|
|
|
10074
|
-
def update_tag_group(self, id, data=None) -> dict[str, Any]:
|
|
9258
|
+
async def update_tag_group(self, id, data=None) -> dict[str, Any]:
|
|
10075
9259
|
"""
|
|
10076
9260
|
Updates the specified tag group by ID using partial modifications, requiring a revision header and returning 200, 400, or 500 status codes.
|
|
10077
9261
|
|
|
@@ -10103,9 +9287,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10103
9287
|
"""
|
|
10104
9288
|
if id is None:
|
|
10105
9289
|
raise ValueError("Missing required parameter 'id'")
|
|
10106
|
-
request_body = {
|
|
10107
|
-
"data": data,
|
|
10108
|
-
}
|
|
9290
|
+
request_body = {"data": data}
|
|
10109
9291
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10110
9292
|
url = f"{self.base_url}/api/tag-groups/{id}"
|
|
10111
9293
|
query_params = {}
|
|
@@ -10113,7 +9295,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10113
9295
|
response.raise_for_status()
|
|
10114
9296
|
return response.json()
|
|
10115
9297
|
|
|
10116
|
-
def get_tags_for_tag_group(self, id, fields_tag=None) -> dict[str, Any]:
|
|
9298
|
+
async def get_tags_for_tag_group(self, id, fields_tag=None) -> dict[str, Any]:
|
|
10117
9299
|
"""
|
|
10118
9300
|
This API operation retrieves a list of tags associated with a specific tag group, identified by `{id}`, allowing optional filtering by specific tag fields via the `fields[tag]` query parameter, with support for specifying a revision in the request header.
|
|
10119
9301
|
|
|
@@ -10135,7 +9317,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10135
9317
|
response.raise_for_status()
|
|
10136
9318
|
return response.json()
|
|
10137
9319
|
|
|
10138
|
-
def get_tag_ids_for_tag_group(self, id) -> dict[str, Any]:
|
|
9320
|
+
async def get_tag_ids_for_tag_group(self, id) -> dict[str, Any]:
|
|
10139
9321
|
"""
|
|
10140
9322
|
This GET operation retrieves the relationships between a specific tag group and its associated tags, identified by the provided `{id}` in the path, with an optional `revision` header for additional context.
|
|
10141
9323
|
|
|
@@ -10156,9 +9338,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10156
9338
|
response.raise_for_status()
|
|
10157
9339
|
return response.json()
|
|
10158
9340
|
|
|
10159
|
-
def get_templates(
|
|
10160
|
-
self, fields_template=None, filter=None, page_cursor=None, sort=None
|
|
10161
|
-
) -> dict[str, Any]:
|
|
9341
|
+
async def get_templates(self, fields_template=None, filter=None, page_cursor=None, sort=None) -> dict[str, Any]:
|
|
10162
9342
|
"""
|
|
10163
9343
|
Retrieves template resources with optional filtering, sorting, pagination, and field selection.
|
|
10164
9344
|
|
|
@@ -10177,19 +9357,14 @@ class KlaviyoApp(APIApplication):
|
|
|
10177
9357
|
url = f"{self.base_url}/api/templates"
|
|
10178
9358
|
query_params = {
|
|
10179
9359
|
k: v
|
|
10180
|
-
for k, v in [
|
|
10181
|
-
("fields[template]", fields_template),
|
|
10182
|
-
("filter", filter),
|
|
10183
|
-
("page[cursor]", page_cursor),
|
|
10184
|
-
("sort", sort),
|
|
10185
|
-
]
|
|
9360
|
+
for k, v in [("fields[template]", fields_template), ("filter", filter), ("page[cursor]", page_cursor), ("sort", sort)]
|
|
10186
9361
|
if v is not None
|
|
10187
9362
|
}
|
|
10188
9363
|
response = self._get(url, params=query_params)
|
|
10189
9364
|
response.raise_for_status()
|
|
10190
9365
|
return response.json()
|
|
10191
9366
|
|
|
10192
|
-
def create_template(self, data=None) -> dict[str, Any]:
|
|
9367
|
+
async def create_template(self, data=None) -> dict[str, Any]:
|
|
10193
9368
|
"""
|
|
10194
9369
|
Creates a new template with the specified revision, returning a successful response if created or error responses for bad requests or server failures.
|
|
10195
9370
|
|
|
@@ -10216,9 +9391,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10216
9391
|
Tags:
|
|
10217
9392
|
Templates, Templates1
|
|
10218
9393
|
"""
|
|
10219
|
-
request_body = {
|
|
10220
|
-
"data": data,
|
|
10221
|
-
}
|
|
9394
|
+
request_body = {"data": data}
|
|
10222
9395
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10223
9396
|
url = f"{self.base_url}/api/templates"
|
|
10224
9397
|
query_params = {}
|
|
@@ -10226,7 +9399,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10226
9399
|
response.raise_for_status()
|
|
10227
9400
|
return response.json()
|
|
10228
9401
|
|
|
10229
|
-
def get_template(self, id, fields_template=None) -> dict[str, Any]:
|
|
9402
|
+
async def get_template(self, id, fields_template=None) -> dict[str, Any]:
|
|
10230
9403
|
"""
|
|
10231
9404
|
The API operation defined at the path "/api/templates/{id}" using the "GET" method retrieves a specific template by its ID, optionally specifying fields to include and a revision in the headers, returning a successful response with HTTP status 200.
|
|
10232
9405
|
|
|
@@ -10243,14 +9416,12 @@ class KlaviyoApp(APIApplication):
|
|
|
10243
9416
|
if id is None:
|
|
10244
9417
|
raise ValueError("Missing required parameter 'id'")
|
|
10245
9418
|
url = f"{self.base_url}/api/templates/{id}"
|
|
10246
|
-
query_params = {
|
|
10247
|
-
k: v for k, v in [("fields[template]", fields_template)] if v is not None
|
|
10248
|
-
}
|
|
9419
|
+
query_params = {k: v for k, v in [("fields[template]", fields_template)] if v is not None}
|
|
10249
9420
|
response = self._get(url, params=query_params)
|
|
10250
9421
|
response.raise_for_status()
|
|
10251
9422
|
return response.json()
|
|
10252
9423
|
|
|
10253
|
-
def delete_template(self, id) -> Any:
|
|
9424
|
+
async def delete_template(self, id) -> Any:
|
|
10254
9425
|
"""
|
|
10255
9426
|
Deletes a template by ID with optional revision header, returning 204 on success or 400/500 for client/server errors.
|
|
10256
9427
|
|
|
@@ -10271,7 +9442,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10271
9442
|
response.raise_for_status()
|
|
10272
9443
|
return response.json()
|
|
10273
9444
|
|
|
10274
|
-
def update_template(self, id, data=None) -> dict[str, Any]:
|
|
9445
|
+
async def update_template(self, id, data=None) -> dict[str, Any]:
|
|
10275
9446
|
"""
|
|
10276
9447
|
Updates a template's properties using partial modifications with a specified revision header, returning 200 on success.
|
|
10277
9448
|
|
|
@@ -10301,9 +9472,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10301
9472
|
"""
|
|
10302
9473
|
if id is None:
|
|
10303
9474
|
raise ValueError("Missing required parameter 'id'")
|
|
10304
|
-
request_body = {
|
|
10305
|
-
"data": data,
|
|
10306
|
-
}
|
|
9475
|
+
request_body = {"data": data}
|
|
10307
9476
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10308
9477
|
url = f"{self.base_url}/api/templates/{id}"
|
|
10309
9478
|
query_params = {}
|
|
@@ -10311,7 +9480,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10311
9480
|
response.raise_for_status()
|
|
10312
9481
|
return response.json()
|
|
10313
9482
|
|
|
10314
|
-
def render_template(self, data=None) -> dict[str, Any]:
|
|
9483
|
+
async def render_template(self, data=None) -> dict[str, Any]:
|
|
10315
9484
|
"""
|
|
10316
9485
|
Renders a template using the specified revision header, returning success (201) or error status (400/500).
|
|
10317
9486
|
|
|
@@ -10336,9 +9505,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10336
9505
|
Tags:
|
|
10337
9506
|
Templates, Templates1
|
|
10338
9507
|
"""
|
|
10339
|
-
request_body = {
|
|
10340
|
-
"data": data,
|
|
10341
|
-
}
|
|
9508
|
+
request_body = {"data": data}
|
|
10342
9509
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10343
9510
|
url = f"{self.base_url}/api/template-render"
|
|
10344
9511
|
query_params = {}
|
|
@@ -10346,7 +9513,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10346
9513
|
response.raise_for_status()
|
|
10347
9514
|
return response.json()
|
|
10348
9515
|
|
|
10349
|
-
def clone_template(self, data=None) -> dict[str, Any]:
|
|
9516
|
+
async def clone_template(self, data=None) -> dict[str, Any]:
|
|
10350
9517
|
"""
|
|
10351
9518
|
Creates a new template by cloning an existing one, requiring a revision header parameter and returning success (201), bad request (400), or server error (500) responses.
|
|
10352
9519
|
|
|
@@ -10371,9 +9538,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10371
9538
|
Tags:
|
|
10372
9539
|
Templates, Templates1
|
|
10373
9540
|
"""
|
|
10374
|
-
request_body = {
|
|
10375
|
-
"data": data,
|
|
10376
|
-
}
|
|
9541
|
+
request_body = {"data": data}
|
|
10377
9542
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10378
9543
|
url = f"{self.base_url}/api/template-clone"
|
|
10379
9544
|
query_params = {}
|
|
@@ -10381,13 +9546,8 @@ class KlaviyoApp(APIApplication):
|
|
|
10381
9546
|
response.raise_for_status()
|
|
10382
9547
|
return response.json()
|
|
10383
9548
|
|
|
10384
|
-
def get_all_universal_content(
|
|
10385
|
-
self,
|
|
10386
|
-
fields_template_universal_content=None,
|
|
10387
|
-
filter=None,
|
|
10388
|
-
page_cursor=None,
|
|
10389
|
-
page_size=None,
|
|
10390
|
-
sort=None,
|
|
9549
|
+
async def get_all_universal_content(
|
|
9550
|
+
self, fields_template_universal_content=None, filter=None, page_cursor=None, page_size=None, sort=None
|
|
10391
9551
|
) -> dict[str, Any]:
|
|
10392
9552
|
"""
|
|
10393
9553
|
This API operation uses the GET method at the "/api/template-universal-content" path to retrieve template universal content data, allowing filtering and sorting with optional parameters for fields, filter, pagination, and sorting, while requiring a revision in the header.
|
|
@@ -10409,10 +9569,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10409
9569
|
query_params = {
|
|
10410
9570
|
k: v
|
|
10411
9571
|
for k, v in [
|
|
10412
|
-
(
|
|
10413
|
-
"fields[template-universal-content]",
|
|
10414
|
-
fields_template_universal_content,
|
|
10415
|
-
),
|
|
9572
|
+
("fields[template-universal-content]", fields_template_universal_content),
|
|
10416
9573
|
("filter", filter),
|
|
10417
9574
|
("page[cursor]", page_cursor),
|
|
10418
9575
|
("page[size]", page_size),
|
|
@@ -10424,7 +9581,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10424
9581
|
response.raise_for_status()
|
|
10425
9582
|
return response.json()
|
|
10426
9583
|
|
|
10427
|
-
def create_universal_content(self, data=None) -> dict[str, Any]:
|
|
9584
|
+
async def create_universal_content(self, data=None) -> dict[str, Any]:
|
|
10428
9585
|
"""
|
|
10429
9586
|
Generates universal content templates with optional revision control in headers, returning success (201) or error codes (400, 500).
|
|
10430
9587
|
|
|
@@ -10463,9 +9620,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10463
9620
|
Tags:
|
|
10464
9621
|
Templates, Universal Content
|
|
10465
9622
|
"""
|
|
10466
|
-
request_body = {
|
|
10467
|
-
"data": data,
|
|
10468
|
-
}
|
|
9623
|
+
request_body = {"data": data}
|
|
10469
9624
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10470
9625
|
url = f"{self.base_url}/api/template-universal-content"
|
|
10471
9626
|
query_params = {}
|
|
@@ -10473,9 +9628,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10473
9628
|
response.raise_for_status()
|
|
10474
9629
|
return response.json()
|
|
10475
9630
|
|
|
10476
|
-
def get_universal_content(
|
|
10477
|
-
self, id, fields_template_universal_content=None
|
|
10478
|
-
) -> dict[str, Any]:
|
|
9631
|
+
async def get_universal_content(self, id, fields_template_universal_content=None) -> dict[str, Any]:
|
|
10479
9632
|
"""
|
|
10480
9633
|
This API operation retrieves a template with universal content specified by the `{id}` using the GET method, allowing optional filtering by specific fields and specifying a revision in the header.
|
|
10481
9634
|
|
|
@@ -10492,21 +9645,12 @@ class KlaviyoApp(APIApplication):
|
|
|
10492
9645
|
if id is None:
|
|
10493
9646
|
raise ValueError("Missing required parameter 'id'")
|
|
10494
9647
|
url = f"{self.base_url}/api/template-universal-content/{id}"
|
|
10495
|
-
query_params = {
|
|
10496
|
-
k: v
|
|
10497
|
-
for k, v in [
|
|
10498
|
-
(
|
|
10499
|
-
"fields[template-universal-content]",
|
|
10500
|
-
fields_template_universal_content,
|
|
10501
|
-
)
|
|
10502
|
-
]
|
|
10503
|
-
if v is not None
|
|
10504
|
-
}
|
|
9648
|
+
query_params = {k: v for k, v in [("fields[template-universal-content]", fields_template_universal_content)] if v is not None}
|
|
10505
9649
|
response = self._get(url, params=query_params)
|
|
10506
9650
|
response.raise_for_status()
|
|
10507
9651
|
return response.json()
|
|
10508
9652
|
|
|
10509
|
-
def delete_universal_content(self, id) -> Any:
|
|
9653
|
+
async def delete_universal_content(self, id) -> Any:
|
|
10510
9654
|
"""
|
|
10511
9655
|
Deletes the specified universal content item by ID, requiring a revision header, and returns 204 No Content upon successful deletion.
|
|
10512
9656
|
|
|
@@ -10527,7 +9671,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10527
9671
|
response.raise_for_status()
|
|
10528
9672
|
return response.json()
|
|
10529
9673
|
|
|
10530
|
-
def update_universal_content(self, id, data=None) -> dict[str, Any]:
|
|
9674
|
+
async def update_universal_content(self, id, data=None) -> dict[str, Any]:
|
|
10531
9675
|
"""
|
|
10532
9676
|
The PATCH operation at "/api/template-universal-content/{id}" partially updates a template's content by specifying specific changes in the request body, with the revision specified in the header, returning a successful response or error based on the request's validity.
|
|
10533
9677
|
|
|
@@ -10570,9 +9714,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10570
9714
|
"""
|
|
10571
9715
|
if id is None:
|
|
10572
9716
|
raise ValueError("Missing required parameter 'id'")
|
|
10573
|
-
request_body = {
|
|
10574
|
-
"data": data,
|
|
10575
|
-
}
|
|
9717
|
+
request_body = {"data": data}
|
|
10576
9718
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10577
9719
|
url = f"{self.base_url}/api/template-universal-content/{id}"
|
|
10578
9720
|
query_params = {}
|
|
@@ -10580,9 +9722,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10580
9722
|
response.raise_for_status()
|
|
10581
9723
|
return response.json()
|
|
10582
9724
|
|
|
10583
|
-
def get_tracking_settings(
|
|
10584
|
-
self, fields_tracking_setting=None, page_cursor=None, page_size=None
|
|
10585
|
-
) -> dict[str, Any]:
|
|
9725
|
+
async def get_tracking_settings(self, fields_tracking_setting=None, page_cursor=None, page_size=None) -> dict[str, Any]:
|
|
10586
9726
|
"""
|
|
10587
9727
|
Retrieves all tracking settings in an account with optional pagination and field filtering support.
|
|
10588
9728
|
|
|
@@ -10600,18 +9740,14 @@ class KlaviyoApp(APIApplication):
|
|
|
10600
9740
|
url = f"{self.base_url}/api/tracking-settings"
|
|
10601
9741
|
query_params = {
|
|
10602
9742
|
k: v
|
|
10603
|
-
for k, v in [
|
|
10604
|
-
("fields[tracking-setting]", fields_tracking_setting),
|
|
10605
|
-
("page[cursor]", page_cursor),
|
|
10606
|
-
("page[size]", page_size),
|
|
10607
|
-
]
|
|
9743
|
+
for k, v in [("fields[tracking-setting]", fields_tracking_setting), ("page[cursor]", page_cursor), ("page[size]", page_size)]
|
|
10608
9744
|
if v is not None
|
|
10609
9745
|
}
|
|
10610
9746
|
response = self._get(url, params=query_params)
|
|
10611
9747
|
response.raise_for_status()
|
|
10612
9748
|
return response.json()
|
|
10613
9749
|
|
|
10614
|
-
def get_tracking_setting(self, id, fields_tracking_setting=None) -> dict[str, Any]:
|
|
9750
|
+
async def get_tracking_setting(self, id, fields_tracking_setting=None) -> dict[str, Any]:
|
|
10615
9751
|
"""
|
|
10616
9752
|
Retrieves tracking settings by ID with optional field selection and revision header support.
|
|
10617
9753
|
|
|
@@ -10628,16 +9764,12 @@ class KlaviyoApp(APIApplication):
|
|
|
10628
9764
|
if id is None:
|
|
10629
9765
|
raise ValueError("Missing required parameter 'id'")
|
|
10630
9766
|
url = f"{self.base_url}/api/tracking-settings/{id}"
|
|
10631
|
-
query_params = {
|
|
10632
|
-
k: v
|
|
10633
|
-
for k, v in [("fields[tracking-setting]", fields_tracking_setting)]
|
|
10634
|
-
if v is not None
|
|
10635
|
-
}
|
|
9767
|
+
query_params = {k: v for k, v in [("fields[tracking-setting]", fields_tracking_setting)] if v is not None}
|
|
10636
9768
|
response = self._get(url, params=query_params)
|
|
10637
9769
|
response.raise_for_status()
|
|
10638
9770
|
return response.json()
|
|
10639
9771
|
|
|
10640
|
-
def update_tracking_setting(self, id, data=None) -> dict[str, Any]:
|
|
9772
|
+
async def update_tracking_setting(self, id, data=None) -> dict[str, Any]:
|
|
10641
9773
|
"""
|
|
10642
9774
|
PATCH /api/tracking-settings/{id} partially updates a specific tracking setting by ID, requiring a revision in the header, and may return a successful response or error codes based on input validity and server status.
|
|
10643
9775
|
|
|
@@ -10739,9 +9871,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10739
9871
|
"""
|
|
10740
9872
|
if id is None:
|
|
10741
9873
|
raise ValueError("Missing required parameter 'id'")
|
|
10742
|
-
request_body = {
|
|
10743
|
-
"data": data,
|
|
10744
|
-
}
|
|
9874
|
+
request_body = {"data": data}
|
|
10745
9875
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10746
9876
|
url = f"{self.base_url}/api/tracking-settings/{id}"
|
|
10747
9877
|
query_params = {}
|
|
@@ -10749,7 +9879,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10749
9879
|
response.raise_for_status()
|
|
10750
9880
|
return response.json()
|
|
10751
9881
|
|
|
10752
|
-
def get_webhooks(self, fields_webhook=None, include=None) -> dict[str, Any]:
|
|
9882
|
+
async def get_webhooks(self, fields_webhook=None, include=None) -> dict[str, Any]:
|
|
10753
9883
|
"""
|
|
10754
9884
|
Retrieves webhooks with optional field selection, included resources, and revision headers.
|
|
10755
9885
|
|
|
@@ -10764,16 +9894,12 @@ class KlaviyoApp(APIApplication):
|
|
|
10764
9894
|
Webhooks
|
|
10765
9895
|
"""
|
|
10766
9896
|
url = f"{self.base_url}/api/webhooks"
|
|
10767
|
-
query_params = {
|
|
10768
|
-
k: v
|
|
10769
|
-
for k, v in [("fields[webhook]", fields_webhook), ("include", include)]
|
|
10770
|
-
if v is not None
|
|
10771
|
-
}
|
|
9897
|
+
query_params = {k: v for k, v in [("fields[webhook]", fields_webhook), ("include", include)] if v is not None}
|
|
10772
9898
|
response = self._get(url, params=query_params)
|
|
10773
9899
|
response.raise_for_status()
|
|
10774
9900
|
return response.json()
|
|
10775
9901
|
|
|
10776
|
-
def create_webhook(self, data=None) -> dict[str, Any]:
|
|
9902
|
+
async def create_webhook(self, data=None) -> dict[str, Any]:
|
|
10777
9903
|
"""
|
|
10778
9904
|
The "/api/webhooks" endpoint supports the "POST" method to create a new webhook, requiring a revision header, and returns a successful creation response with a 201 status code, or error responses for bad requests (400) or internal server errors (500).
|
|
10779
9905
|
|
|
@@ -10814,9 +9940,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10814
9940
|
Tags:
|
|
10815
9941
|
Webhooks
|
|
10816
9942
|
"""
|
|
10817
|
-
request_body = {
|
|
10818
|
-
"data": data,
|
|
10819
|
-
}
|
|
9943
|
+
request_body = {"data": data}
|
|
10820
9944
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10821
9945
|
url = f"{self.base_url}/api/webhooks"
|
|
10822
9946
|
query_params = {}
|
|
@@ -10824,7 +9948,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10824
9948
|
response.raise_for_status()
|
|
10825
9949
|
return response.json()
|
|
10826
9950
|
|
|
10827
|
-
def get_webhook(self, id, fields_webhook=None, include=None) -> dict[str, Any]:
|
|
9951
|
+
async def get_webhook(self, id, fields_webhook=None, include=None) -> dict[str, Any]:
|
|
10828
9952
|
"""
|
|
10829
9953
|
Retrieves a webhook by its ID using a GET request, allowing optional filtering by specifying fields and includes, with support for revision tracking via a header.
|
|
10830
9954
|
|
|
@@ -10842,16 +9966,12 @@ class KlaviyoApp(APIApplication):
|
|
|
10842
9966
|
if id is None:
|
|
10843
9967
|
raise ValueError("Missing required parameter 'id'")
|
|
10844
9968
|
url = f"{self.base_url}/api/webhooks/{id}"
|
|
10845
|
-
query_params = {
|
|
10846
|
-
k: v
|
|
10847
|
-
for k, v in [("fields[webhook]", fields_webhook), ("include", include)]
|
|
10848
|
-
if v is not None
|
|
10849
|
-
}
|
|
9969
|
+
query_params = {k: v for k, v in [("fields[webhook]", fields_webhook), ("include", include)] if v is not None}
|
|
10850
9970
|
response = self._get(url, params=query_params)
|
|
10851
9971
|
response.raise_for_status()
|
|
10852
9972
|
return response.json()
|
|
10853
9973
|
|
|
10854
|
-
def delete_webhook(self, id) -> Any:
|
|
9974
|
+
async def delete_webhook(self, id) -> Any:
|
|
10855
9975
|
"""
|
|
10856
9976
|
Deletes a webhook resource identified by its ID, returning a 204 No Content response upon successful deletion, with optional revision information provided in the headers, and error responses for invalid requests or server errors.
|
|
10857
9977
|
|
|
@@ -10872,7 +9992,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10872
9992
|
response.raise_for_status()
|
|
10873
9993
|
return response.json()
|
|
10874
9994
|
|
|
10875
|
-
def update_webhook(self, id, data=None) -> dict[str, Any]:
|
|
9995
|
+
async def update_webhook(self, id, data=None) -> dict[str, Any]:
|
|
10876
9996
|
"""
|
|
10877
9997
|
Updates the webhook resource identified by {id} using partial modifications, requiring a revision header and returning appropriate status codes for success (200), client errors (400), or server errors (500).
|
|
10878
9998
|
|
|
@@ -10918,9 +10038,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10918
10038
|
"""
|
|
10919
10039
|
if id is None:
|
|
10920
10040
|
raise ValueError("Missing required parameter 'id'")
|
|
10921
|
-
request_body = {
|
|
10922
|
-
"data": data,
|
|
10923
|
-
}
|
|
10041
|
+
request_body = {"data": data}
|
|
10924
10042
|
request_body = {k: v for k, v in request_body.items() if v is not None}
|
|
10925
10043
|
url = f"{self.base_url}/api/webhooks/{id}"
|
|
10926
10044
|
query_params = {}
|
|
@@ -10928,7 +10046,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10928
10046
|
response.raise_for_status()
|
|
10929
10047
|
return response.json()
|
|
10930
10048
|
|
|
10931
|
-
def get_webhook_topics(self) -> dict[str, Any]:
|
|
10049
|
+
async def get_webhook_topics(self) -> dict[str, Any]:
|
|
10932
10050
|
"""
|
|
10933
10051
|
Retrieves webhook topics with an optional revision header parameter, returning 200, 400, or 500 status codes.
|
|
10934
10052
|
|
|
@@ -10944,7 +10062,7 @@ class KlaviyoApp(APIApplication):
|
|
|
10944
10062
|
response.raise_for_status()
|
|
10945
10063
|
return response.json()
|
|
10946
10064
|
|
|
10947
|
-
def get_webhook_topic(self, id) -> dict[str, Any]:
|
|
10065
|
+
async def get_webhook_topic(self, id) -> dict[str, Any]:
|
|
10948
10066
|
"""
|
|
10949
10067
|
Retrieves a webhook topic by its ID using the GET method, supporting revision information via a header parameter, and returns responses for successful retrieval (200), bad requests (400), and internal server errors (500).
|
|
10950
10068
|
|