diff --git a/.release-please-manifest.json b/.release-please-manifest.json index a7130553..d52d2b97 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.12.0" + ".": "0.13.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index fe2e9342..e85d6557 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 40 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sent%2Fsent-dm-294831f61f7890b2cdb89d181f26297732387d5e1288f446c0138e46fb1a4608.yml openapi_spec_hash: a7f20451621ee678fbe09ff7a297b3ea -config_hash: 497506d9e2e66cd0573bd9c1f1242462 +config_hash: 478a49d5520c8bb64b43272de11c2872 diff --git a/CHANGELOG.md b/CHANGELOG.md index 999f3610..59cc4b4d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.13.0 (2026-03-12) + +Full Changelog: [v0.12.0...v0.13.0](https://github.com/sentdm/sent-dm-python/compare/v0.12.0...v0.13.0) + +### Features + +* **api:** manual updates ([fd07a7a](https://github.com/sentdm/sent-dm-python/commit/fd07a7aa83630147e58ddd1bbbc86534aa9a9e6e)) + ## 0.12.0 (2026-03-12) Full Changelog: [v0.11.0...v0.12.0](https://github.com/sentdm/sent-dm-python/compare/v0.11.0...v0.12.0) diff --git a/api.md b/api.md index 5c71f651..fa996fd2 100644 --- a/api.md +++ b/api.md @@ -4,9 +4,9 @@ Types: ```python from sent_dm.types import ( - APIError, APIMeta, APIResponseWebhook, + ErrorDetail, MutationRequest, PaginationMeta, WebhookResponse, diff --git a/pyproject.toml b/pyproject.toml index d98f2ad7..158813b7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "sentdm" -version = "0.12.0" +version = "0.13.0" description = "The official Python library for the sent-dm API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/sent_dm/_version.py b/src/sent_dm/_version.py index 85a5a9f5..2119da62 100644 --- a/src/sent_dm/_version.py +++ b/src/sent_dm/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "sent_dm" -__version__ = "0.12.0" # x-release-please-version +__version__ = "0.13.0" # x-release-please-version diff --git a/src/sent_dm/types/__init__.py b/src/sent_dm/types/__init__.py index b8d439ed..1b6946bf 100644 --- a/src/sent_dm/types/__init__.py +++ b/src/sent_dm/types/__init__.py @@ -4,7 +4,7 @@ from .api_meta import APIMeta as APIMeta from .template import Template as Template -from .api_error import APIError as APIError +from .error_detail import ErrorDetail as ErrorDetail from .tcr_vertical import TcrVertical as TcrVertical from .user_response import UserResponse as UserResponse from .profile_detail import ProfileDetail as ProfileDetail diff --git a/src/sent_dm/types/api_response_of_contact.py b/src/sent_dm/types/api_response_of_contact.py index bdcbe656..a80cccb7 100644 --- a/src/sent_dm/types/api_response_of_contact.py +++ b/src/sent_dm/types/api_response_of_contact.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail from .contact_response import ContactResponse __all__ = ["APIResponseOfContact"] @@ -16,7 +16,7 @@ class APIResponseOfContact(BaseModel): data: Optional[ContactResponse] = None """Contact response for v3 API Uses snake_case for JSON property names""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/api_response_of_profile_detail.py b/src/sent_dm/types/api_response_of_profile_detail.py index 64335f5b..3e22b388 100644 --- a/src/sent_dm/types/api_response_of_profile_detail.py +++ b/src/sent_dm/types/api_response_of_profile_detail.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail from .profile_detail import ProfileDetail __all__ = ["APIResponseOfProfileDetail"] @@ -16,7 +16,7 @@ class APIResponseOfProfileDetail(BaseModel): data: Optional[ProfileDetail] = None """Detailed profile response for v3 API""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/api_response_of_user.py b/src/sent_dm/types/api_response_of_user.py index 7a21d691..c804de5c 100644 --- a/src/sent_dm/types/api_response_of_user.py +++ b/src/sent_dm/types/api_response_of_user.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail from .user_response import UserResponse __all__ = ["APIResponseOfUser"] @@ -16,7 +16,7 @@ class APIResponseOfUser(BaseModel): data: Optional[UserResponse] = None """User response for v3 API""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/api_response_template.py b/src/sent_dm/types/api_response_template.py index 25045be2..53d39bb9 100644 --- a/src/sent_dm/types/api_response_template.py +++ b/src/sent_dm/types/api_response_template.py @@ -5,7 +5,7 @@ from .._models import BaseModel from .api_meta import APIMeta from .template import Template -from .api_error import APIError +from .error_detail import ErrorDetail __all__ = ["APIResponseTemplate"] @@ -16,7 +16,7 @@ class APIResponseTemplate(BaseModel): data: Optional[Template] = None """Template response for v3 API""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/api_response_webhook.py b/src/sent_dm/types/api_response_webhook.py index 9f8f5943..18aac19e 100644 --- a/src/sent_dm/types/api_response_webhook.py +++ b/src/sent_dm/types/api_response_webhook.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail from .webhook_response import WebhookResponse __all__ = ["APIResponseWebhook"] @@ -16,7 +16,7 @@ class APIResponseWebhook(BaseModel): data: Optional[WebhookResponse] = None """The response data (null if error)""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/contact_list_response.py b/src/sent_dm/types/contact_list_response.py index 9727745d..f77585ac 100644 --- a/src/sent_dm/types/contact_list_response.py +++ b/src/sent_dm/types/contact_list_response.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail from .pagination_meta import PaginationMeta from .contact_response import ContactResponse @@ -27,7 +27,7 @@ class ContactListResponse(BaseModel): data: Optional[Data] = None """Paginated list of contacts response""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/api_error.py b/src/sent_dm/types/error_detail.py similarity index 90% rename from src/sent_dm/types/api_error.py rename to src/sent_dm/types/error_detail.py index 29a61a6a..773a50e6 100644 --- a/src/sent_dm/types/api_error.py +++ b/src/sent_dm/types/error_detail.py @@ -4,10 +4,10 @@ from .._models import BaseModel -__all__ = ["APIError"] +__all__ = ["ErrorDetail"] -class APIError(BaseModel): +class ErrorDetail(BaseModel): """Error information""" code: Optional[str] = None diff --git a/src/sent_dm/types/me_retrieve_response.py b/src/sent_dm/types/me_retrieve_response.py index dd86ed09..83f6b612 100644 --- a/src/sent_dm/types/me_retrieve_response.py +++ b/src/sent_dm/types/me_retrieve_response.py @@ -5,7 +5,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail from .profile_settings import ProfileSettings __all__ = [ @@ -180,7 +180,7 @@ class MeRetrieveResponse(BaseModel): API key type. Always includes messaging channel configuration. """ - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/message_retrieve_activities_response.py b/src/sent_dm/types/message_retrieve_activities_response.py index 986492b4..24d91aaf 100644 --- a/src/sent_dm/types/message_retrieve_activities_response.py +++ b/src/sent_dm/types/message_retrieve_activities_response.py @@ -5,7 +5,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail __all__ = ["MessageRetrieveActivitiesResponse", "Data", "DataActivity"] @@ -51,7 +51,7 @@ class MessageRetrieveActivitiesResponse(BaseModel): data: Optional[Data] = None """Response for GET /messages/{id}/activities""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/message_retrieve_status_response.py b/src/sent_dm/types/message_retrieve_status_response.py index 20f7bc94..59589e67 100644 --- a/src/sent_dm/types/message_retrieve_status_response.py +++ b/src/sent_dm/types/message_retrieve_status_response.py @@ -5,7 +5,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail __all__ = ["MessageRetrieveStatusResponse", "Data", "DataEvent", "DataMessageBody", "DataMessageBodyButton"] @@ -87,7 +87,7 @@ class MessageRetrieveStatusResponse(BaseModel): data: Optional[Data] = None """Message response for v3 API — same shape as v2 with snake_case JSON conventions""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/message_send_response.py b/src/sent_dm/types/message_send_response.py index 44541dad..1684b1bb 100644 --- a/src/sent_dm/types/message_send_response.py +++ b/src/sent_dm/types/message_send_response.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail __all__ = ["MessageSendResponse", "Data", "DataRecipient"] @@ -50,7 +50,7 @@ class MessageSendResponse(BaseModel): data: Optional[Data] = None """Response for the multi-recipient send message endpoint""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/number_lookup_response.py b/src/sent_dm/types/number_lookup_response.py index ece5b959..a0f9be9f 100644 --- a/src/sent_dm/types/number_lookup_response.py +++ b/src/sent_dm/types/number_lookup_response.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail __all__ = ["NumberLookupResponse", "Data"] @@ -37,7 +37,7 @@ class NumberLookupResponse(BaseModel): data: Optional[Data] = None """The response data (null if error)""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/profile_list_response.py b/src/sent_dm/types/profile_list_response.py index f54be3de..ffd30dae 100644 --- a/src/sent_dm/types/profile_list_response.py +++ b/src/sent_dm/types/profile_list_response.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail from .profile_detail import ProfileDetail __all__ = ["ProfileListResponse", "Data"] @@ -23,7 +23,7 @@ class ProfileListResponse(BaseModel): data: Optional[Data] = None """List of profiles response""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/profiles/api_response_of_tcr_campaign_with_use_cases.py b/src/sent_dm/types/profiles/api_response_of_tcr_campaign_with_use_cases.py index 04c6a0bb..92b0f2fc 100644 --- a/src/sent_dm/types/profiles/api_response_of_tcr_campaign_with_use_cases.py +++ b/src/sent_dm/types/profiles/api_response_of_tcr_campaign_with_use_cases.py @@ -4,7 +4,7 @@ from ..._models import BaseModel from ..api_meta import APIMeta -from ..api_error import APIError +from ..error_detail import ErrorDetail from .tcr_campaign_with_use_cases import TcrCampaignWithUseCases __all__ = ["APIResponseOfTcrCampaignWithUseCases"] @@ -16,7 +16,7 @@ class APIResponseOfTcrCampaignWithUseCases(BaseModel): data: Optional[TcrCampaignWithUseCases] = None """The response data (null if error)""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/profiles/campaign_list_response.py b/src/sent_dm/types/profiles/campaign_list_response.py index 059ec96c..403c060d 100644 --- a/src/sent_dm/types/profiles/campaign_list_response.py +++ b/src/sent_dm/types/profiles/campaign_list_response.py @@ -4,7 +4,7 @@ from ..._models import BaseModel from ..api_meta import APIMeta -from ..api_error import APIError +from ..error_detail import ErrorDetail from .tcr_campaign_with_use_cases import TcrCampaignWithUseCases __all__ = ["CampaignListResponse"] @@ -16,7 +16,7 @@ class CampaignListResponse(BaseModel): data: Optional[List[TcrCampaignWithUseCases]] = None """The response data (null if error)""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/template_list_response.py b/src/sent_dm/types/template_list_response.py index 657027ee..3adf0dca 100644 --- a/src/sent_dm/types/template_list_response.py +++ b/src/sent_dm/types/template_list_response.py @@ -5,7 +5,7 @@ from .._models import BaseModel from .api_meta import APIMeta from .template import Template -from .api_error import APIError +from .error_detail import ErrorDetail from .pagination_meta import PaginationMeta __all__ = ["TemplateListResponse", "Data"] @@ -27,7 +27,7 @@ class TemplateListResponse(BaseModel): data: Optional[Data] = None """Paginated list of templates""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/user_list_response.py b/src/sent_dm/types/user_list_response.py index 8878e4df..bcbcee0a 100644 --- a/src/sent_dm/types/user_list_response.py +++ b/src/sent_dm/types/user_list_response.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail from .user_response import UserResponse __all__ = ["UserListResponse", "Data"] @@ -23,7 +23,7 @@ class UserListResponse(BaseModel): data: Optional[Data] = None """List of users response""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/webhook_list_event_types_response.py b/src/sent_dm/types/webhook_list_event_types_response.py index 3cbcd53a..df7ce878 100644 --- a/src/sent_dm/types/webhook_list_event_types_response.py +++ b/src/sent_dm/types/webhook_list_event_types_response.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail __all__ = ["WebhookListEventTypesResponse", "Data", "DataEventType"] @@ -31,7 +31,7 @@ class WebhookListEventTypesResponse(BaseModel): data: Optional[Data] = None """The response data (null if error)""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/webhook_list_events_response.py b/src/sent_dm/types/webhook_list_events_response.py index d1fa58e9..802db9d0 100644 --- a/src/sent_dm/types/webhook_list_events_response.py +++ b/src/sent_dm/types/webhook_list_events_response.py @@ -5,7 +5,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail from .pagination_meta import PaginationMeta __all__ = ["WebhookListEventsResponse", "Data", "DataEvent"] @@ -50,7 +50,7 @@ class WebhookListEventsResponse(BaseModel): data: Optional[Data] = None """The response data (null if error)""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/webhook_list_response.py b/src/sent_dm/types/webhook_list_response.py index 61c24aaa..a0d75d41 100644 --- a/src/sent_dm/types/webhook_list_response.py +++ b/src/sent_dm/types/webhook_list_response.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail from .pagination_meta import PaginationMeta from .webhook_response import WebhookResponse @@ -26,7 +26,7 @@ class WebhookListResponse(BaseModel): data: Optional[Data] = None """The response data (null if error)""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/webhook_rotate_secret_response.py b/src/sent_dm/types/webhook_rotate_secret_response.py index 4304204b..bd1f1a33 100644 --- a/src/sent_dm/types/webhook_rotate_secret_response.py +++ b/src/sent_dm/types/webhook_rotate_secret_response.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail __all__ = ["WebhookRotateSecretResponse", "Data"] @@ -21,7 +21,7 @@ class WebhookRotateSecretResponse(BaseModel): data: Optional[Data] = None """The response data (null if error)""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None diff --git a/src/sent_dm/types/webhook_test_response.py b/src/sent_dm/types/webhook_test_response.py index 9de2e6b3..c92d3034 100644 --- a/src/sent_dm/types/webhook_test_response.py +++ b/src/sent_dm/types/webhook_test_response.py @@ -4,7 +4,7 @@ from .._models import BaseModel from .api_meta import APIMeta -from .api_error import APIError +from .error_detail import ErrorDetail __all__ = ["WebhookTestResponse", "Data"] @@ -23,7 +23,7 @@ class WebhookTestResponse(BaseModel): data: Optional[Data] = None """The response data (null if error)""" - error: Optional[APIError] = None + error: Optional[ErrorDetail] = None """Error information""" meta: Optional[APIMeta] = None