Skip to content

Commit 812b09d

Browse files
author
klaviyo-sdk
committed
version 10.0.0
1 parent cfd7b99 commit 812b09d

File tree

390 files changed

+7804
-2301
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

390 files changed

+7804
-2301
lines changed

CHANGELOG.md

+8-51
Original file line numberDiff line numberDiff line change
@@ -7,63 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
NOTE: For more granular API-specific changes, please see our [API Changelog](https://developers.klaviyo.com/en/docs/changelog_)
99

10-
## [9.0.0] - revision 2024-06-15
10+
## [10.0.0] - revision 2024-07-15
1111

1212
### Added
13-
- Segments Api
14-
- New create segment endpoint `SegmentsApi.createSegment()`.
15-
- New delete segment endpoint `SegementsApi.deleteSegment()`.
16-
- Updated exisiting segments endpoints to include the segment definition
17-
- For more information, see our [Segments API overview](https://developers.klaviyo.com/en/reference/segments_api_overview).
1813

19-
- Flows Api
20-
- New delete flows endpoint `FlowsApi.deleteFlow()`
21-
22-
## [8.0.1] - revision 2024-05-15
23-
24-
### Added
25-
26-
- Fixes issue where `filter` query params for any API call were being duplicated on request send. See issue: https://github.com/klaviyo/klaviyo-api-python/issues/51
27-
28-
## [8.0.0] - revision 2024-05-15
29-
30-
### Added
31-
32-
- Bulk Create Events API with
33-
- We have added support for creating events in bulk via the EventsApi.bulkCreateEvents method
34-
- Create multiple events for new and existing profiles and/or update profile properties in a single API call. For more information, see our [Events API overview](https://developers.klaviyo.com/en/reference/events_api_overview).
14+
- Forms API
15+
- New `klaviyo.Forms` class with methods to get forms, form versions and relationships
16+
- Webhooks API
17+
- new `klaviyo.Webooks` class containing CRUD operations for webhooks
3518

3619
### Changed
20+
- `klaviyo.Profiles.subscribe()`
21+
- added `historical_import` flag for importing historically consented profiles can now be optionally supplied in the payload for the Subscribe Profiles endpoint.
22+
- When using this flag, a consented_at date must be provided and must be in the past.
3723

38-
- Accounts API
39-
- `Accounts.get_account` and `Accounts.get_accounts` have been updated to return the account's locale, e.g. `"en-US"`.
40-
41-
- **Breaking**
42-
- Subscribe API Synchronous Validation Improved
43-
- To provide better feedback for handling SMS subscriptions, we’ve added improved validation behavior to ProfilesApi.subscribeProfiles method. In prior revisions, such requests may appear as 202s but will fail to update SMS consent. To handle this issue, 400 validation errors are returned for the following cases
44-
1. If a profile is subscribed to SMS marketing and [age-gating is enabled](https://help.klaviyo.com/hc/en-us/articles/4408311712667) but age_gated_date_of_birth is not provided, or the DOB does not meet the region's requirements.
45-
2. If the account does not have a sending number in the phone number’s region.
46-
3. If the phone number is in a region not supported by Klaviyo.
47-
4. If consented_at is set and the list or global setting is double opt-in.
48-
- Pydantic V2
49-
- This SDK now uses Pydantic V2. This may cause some compatibility issues if your source code depends on Pydantic V1.
50-
- Renamed Fields in SDK
51-
- As of the 2024-05-15 release, some models fields are named differently than they appear in API documentation. These fields are
52-
- `datetime`: renamed to `datetime_`
53-
- `date`: renamed to `date_`
54-
55-
This is to manage compatibility with Pydantic v2. An example of this can be seen in [StaticScheduleOptions](src/openapi_client/models/static_schedule_options.py).
56-
57-
```python
58-
class StaticScheduleOptions(BaseModel):
59-
"""
60-
StaticScheduleOptions
61-
""" # noqa: E501
62-
datetime_: datetime = Field(description="The time to send at", alias="datetime")
63-
64-
schedule_options = StaticScheduleOptions(datetime_=datetime.datetime.strptime("2024-05-19T00:00:00+00:00", "%Y-%m-%dT%H:%M:%S%z")
65-
print(schedule_options.datetime_)
66-
```
6724

6825
## [7.0.0] - revision 2024-02-15
6926

0 commit comments

Comments
 (0)