From 0f0df74c9af568d475eff57d87fdf8d03187d957 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 13 Apr 2026 18:51:02 +0000
Subject: [PATCH 1/6] codegen metadata
---
.stats.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.stats.yml b/.stats.yml
index f8df0707..82327df8 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 971
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hubspot%2Fhubspot-sdk-b0d8bc008db9e485496b486b6fb770a256d16caf430e7c8696cb5e2f61cb42ef.yml
openapi_spec_hash: 73818ecf3b80406f1ff2729a9f1b2c97
-config_hash: b00859c0731e231e20f63b0a02182b30
+config_hash: 6feaec581cf8ab6cebc46bc62247bbab
From 0e4825a0cd36e380c76e99d9dde488f0b06213cd Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 13 Apr 2026 19:02:00 +0000
Subject: [PATCH 2/6] codegen metadata
---
.stats.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.stats.yml b/.stats.yml
index 82327df8..d50e9bda 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 971
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hubspot%2Fhubspot-sdk-b0d8bc008db9e485496b486b6fb770a256d16caf430e7c8696cb5e2f61cb42ef.yml
openapi_spec_hash: 73818ecf3b80406f1ff2729a9f1b2c97
-config_hash: 6feaec581cf8ab6cebc46bc62247bbab
+config_hash: 189e9ba952e6b9155cf855b24832ae88
From cd3bbd9b5dab9158bb3b0bd6dfb744ae1af51898 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 13 Apr 2026 19:47:40 +0000
Subject: [PATCH 3/6] codegen metadata
---
.stats.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.stats.yml b/.stats.yml
index d50e9bda..9e97092d 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 971
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hubspot%2Fhubspot-sdk-b0d8bc008db9e485496b486b6fb770a256d16caf430e7c8696cb5e2f61cb42ef.yml
openapi_spec_hash: 73818ecf3b80406f1ff2729a9f1b2c97
-config_hash: 189e9ba952e6b9155cf855b24832ae88
+config_hash: 47e0085f306c26287941a8b8d90cfa4c
From f411b71a7e58d911fcfd8c88809cb69dec17da70 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 15 Apr 2026 12:51:57 +0000
Subject: [PATCH 4/6] codegen metadata
---
.stats.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.stats.yml b/.stats.yml
index 9e97092d..bfcf5e5e 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 971
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hubspot%2Fhubspot-sdk-b0d8bc008db9e485496b486b6fb770a256d16caf430e7c8696cb5e2f61cb42ef.yml
openapi_spec_hash: 73818ecf3b80406f1ff2729a9f1b2c97
-config_hash: 47e0085f306c26287941a8b8d90cfa4c
+config_hash: 359e962cfe06d012301bf47065ab2903
From 0da4fad7676006ac24fb405a50413c61b4dc484e Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 15 Apr 2026 13:18:34 +0000
Subject: [PATCH 5/6] feat(api): manual updates
---
.stats.yml | 8 +-
api.md | 3 +
src/hubspot_sdk/resources/auth/api.md | 7 +-
src/hubspot_sdk/resources/auth/oauth.py | 67 +-
src/hubspot_sdk/resources/cms/api.md | 3 +-
.../resources/cms/media_bridge/batch.py | 6 +-
.../cms/media_bridge/media_bridge.py | 28 +
src/hubspot_sdk/resources/cms/url_mappings.py | 4 +
.../communication_preferences.py | 54 +
.../communication_preferences/definitions.py | 12 +
.../statuses/batch.py | 40 +
src/hubspot_sdk/resources/crm/api.md | 9 +-
.../resources/crm/extensions/cards_dev.py | 4 +
.../resources/crm/properties/batch.py | 6 +-
.../resources/crm/properties/properties.py | 90 +-
src/hubspot_sdk/resources/events/api.md | 5 +-
.../resources/events/definitions.py | 2 +-
src/hubspot_sdk/resources/webhooks/api.md | 42 +-
.../resources/webhooks/webhooks.py | 1934 +++++++++++------
src/hubspot_sdk/types/__init__.py | 3 +
src/hubspot_sdk/types/auth/__init__.py | 3 -
.../auth/public_access_token_info_response.py | 39 -
.../public_refresh_token_info_response.py | 32 -
.../types/auth/signed_access_token.py | 39 -
.../types/auth/token_info_response_base_if.py | 10 +-
src/hubspot_sdk/types/cms/__init__.py | 2 +-
src/hubspot_sdk/types/cms/absolute_value.py | 3 +
src/hubspot_sdk/types/cms/add_numbers.py | 3 +
src/hubspot_sdk/types/cms/add_time.py | 5 +
src/hubspot_sdk/types/cms/and_.py | 3 +
src/hubspot_sdk/types/cms/begins_with.py | 5 +
src/hubspot_sdk/types/cms/concat_strings.py | 3 +
src/hubspot_sdk/types/cms/contains.py | 5 +
src/hubspot_sdk/types/cms/date.py | 3 +
.../types/cms/dated_exchange_rate.py | 3 +
src/hubspot_sdk/types/cms/divide_numbers.py | 3 +
.../extract_most_recent_email_reply_html.py | 3 +
.../extract_most_recent_email_reply_text.py | 3 +
...ract_most_recent_plain_text_email_reply.py | 3 +
.../cms/fetch_currency_decimal_places.py | 3 +
.../types/cms/fetch_exchange_rate.py | 3 +
src/hubspot_sdk/types/cms/format_full_name.py | 3 +
.../types/cms/format_phone_number.py | 3 +
.../cms/format_searchable_phone_number.py | 3 +
src/hubspot_sdk/types/cms/has_email_reply.py | 3 +
.../types/cms/has_plain_text_email_reply.py | 3 +
src/hubspot_sdk/types/cms/if_boolean.py | 7 +
src/hubspot_sdk/types/cms/if_number.py | 7 +
src/hubspot_sdk/types/cms/if_string.py | 7 +
.../types/cms/inbound_db_object_type.py | 2 +
src/hubspot_sdk/types/cms/is_blank.py | 256 +++
.../types/cms/is_pipeline_stage_closed.py | 3 +
src/hubspot_sdk/types/cms/is_present.py | 3 +
src/hubspot_sdk/types/cms/less_than.py | 3 +
.../types/cms/less_than_or_equal.py | 3 +
src/hubspot_sdk/types/cms/lower_case.py | 3 +
src/hubspot_sdk/types/cms/max_numbers.py | 3 +
.../cms/media_bridge/batch_create_params.py | 4 +-
.../media_bridge_create_property_params.py | 9 +
.../media_bridge_update_property_params.py | 9 +
src/hubspot_sdk/types/cms/min_numbers.py | 3 +
src/hubspot_sdk/types/cms/month.py | 3 +
src/hubspot_sdk/types/cms/more_than.py | 3 +
.../types/cms/more_than_or_equal.py | 3 +
src/hubspot_sdk/types/cms/multiply_numbers.py | 3 +
src/hubspot_sdk/types/cms/not_.py | 3 +
src/hubspot_sdk/types/cms/number_equals.py | 3 +
src/hubspot_sdk/types/cms/number_to_string.py | 3 +
src/hubspot_sdk/types/cms/or_.py | 3 +
src/hubspot_sdk/types/cms/parse_number.py | 3 +
src/hubspot_sdk/types/cms/period_to_months.py | 3 +
src/hubspot_sdk/types/cms/period_to_weeks.py | 3 +
.../types/cms/pipeline_probability.py | 3 +
src/hubspot_sdk/types/cms/power.py | 3 +
src/hubspot_sdk/types/cms/property_1.py | 6 +
.../types/cms/property_definition.py | 2 +
.../types/cms/rollup_expression.py | 2 +
.../types/cms/round_down_numbers.py | 3 +
.../types/cms/round_nearest_numbers.py | 3 +
src/hubspot_sdk/types/cms/round_up_numbers.py | 3 +
.../types/cms/set_contains_string.py | 5 +
src/hubspot_sdk/types/cms/square_root.py | 3 +
src/hubspot_sdk/types/cms/string_equals.py | 3 +
src/hubspot_sdk/types/cms/string_length.py | 3 +
src/hubspot_sdk/types/cms/substring.py | 5 +
src/hubspot_sdk/types/cms/subtract_numbers.py | 3 +
src/hubspot_sdk/types/cms/subtract_time.py | 5 +
src/hubspot_sdk/types/cms/time_between.py | 3 +
.../types/cms/time_between_skip_weekends.py | 3 +
src/hubspot_sdk/types/cms/upper_case.py | 3 +
.../types/cms/url_mapping_create_params.py | 2 +
src/hubspot_sdk/types/cms/xor.py | 3 +
src/hubspot_sdk/types/cms/year.py | 3 +
...cation_preference_generate_links_params.py | 2 +
...nication_preference_get_statuses_params.py | 8 +
...rence_get_unsubscribe_all_status_params.py | 12 +
...ation_preference_unsubscribe_all_params.py | 9 +
.../definition_list_params.py | 8 +
...tch_get_unsubscribe_all_statuses_params.py | 8 +
.../statuses/batch_read_params.py | 5 +
.../statuses/batch_unsubscribe_all_params.py | 12 +
src/hubspot_sdk/types/crm/__init__.py | 2 -
.../types/crm/batch_response_property.py | 2 +-
.../collection_response_property_no_paging.py | 2 +-
.../cards_dev_migrate_views_params.py | 2 +
src/hubspot_sdk/types/crm/object_schema.py | 2 +-
.../crm/properties/batch_create_params.py | 4 +-
.../types/crm/property_create_param.py | 105 -
.../types/crm/property_create_params.py | 43 +-
.../types/crm/property_update_params.py | 5 +
.../types/crm/simple_public_object.py | 2 +-
.../simple_public_object_with_associations.py | 2 +-
src/hubspot_sdk/types/events/__init__.py | 1 -
...ternal_behavioral_event_type_definition.py | 2 +-
src/hubspot_sdk/types/events/property.py | 119 -
...endar_meeting_event_response_properties.py | 2 +
src/hubspot_sdk/types/shared/__init__.py | 3 +
.../shared/batch_input_property_create.py | 12 +
.../types/{crm => shared}/property.py | 13 +-
.../types/shared/property_create.py | 66 +
.../types/shared/property_value.py | 2 +
.../types/shared_params/__init__.py | 1 +
.../property_create.py} | 15 +-
.../types/shared_params/property_value.py | 2 +
src/hubspot_sdk/types/webhooks/__init__.py | 69 +-
.../types/webhooks/action_override_request.py | 16 +
...event_subscription_upsert_request_param.py | 4 +-
...ation_subscription_upsert_request_param.py | 5 +-
.../batch_response_journal_fetch_response.py | 15 +
.../batch_response_subscription_response.py | 22 +-
...esponse_subscription_response_no_paging.py | 4 +
src/hubspot_sdk/types/webhooks/condition.py | 15 +
.../types/webhooks/condition_param.py | 15 +
.../crm_object_snapshot_batch_response.py | 4 +
.../crm_object_snapshot_request_param.py | 10 +
.../webhooks/crm_object_snapshot_response.py | 4 +
src/hubspot_sdk/types/webhooks/filter.py | 5 +
.../types/webhooks/filter_create_response.py | 4 +
.../types/webhooks/filter_param.py | 5 +
.../types/webhooks/filter_response.py | 5 +
...etion_subscription_upsert_request_param.py | 45 +
.../types/webhooks/journal_fetch_response.py | 6 +
...rship_subscription_upsert_request_param.py | 5 +-
...bject_subscription_upsert_request_param.py | 5 +-
.../types/webhooks/settings_response.py | 17 +-
.../webhooks/snapshot_status_response.py | 23 +
...subscription_batch_update_request_param.py | 8 +-
.../webhooks/subscription_list_response.py | 4 +-
.../types/webhooks/subscription_response.py | 43 +-
.../types/webhooks/subscription_response_1.py | 68 +-
.../subscription_upsert_request_param.py | 2 +
.../types/webhooks/throttling_settings.py | 5 +-
.../webhooks/throttling_settings_param.py | 5 +-
...reate_batch_event_subscriptions_params.py} | 8 +-
...=> webhook_create_crm_snapshots_params.py} | 8 +-
...bhook_create_event_subscription_params.py} | 30 +-
...bhook_create_subscription_filter_params.py | 4 +
...bhook_get_earliest_journal_batch_params.py | 4 +
...hook_get_earliest_journal_entry_params.py} | 8 +-
...get_earliest_local_journal_batch_params.py | 4 +
...get_earliest_local_journal_entry_params.py | 17 +
...ok_get_journal_batch_by_request_params.py} | 8 +-
...k_get_journal_batch_from_offset_params.py} | 9 +-
...webhook_get_latest_journal_batch_params.py | 5 +
...ebhook_get_latest_journal_entry_params.py} | 8 +-
...k_get_latest_local_journal_batch_params.py | 4 +
..._get_latest_local_journal_entry_params.py} | 8 +-
..._local_journal_batch_by_request_params.py} | 9 +-
...local_journal_batch_from_offset_params.py} | 8 +-
...ok_get_next_journal_after_offset_params.py | 13 -
...ebhook_get_next_journal_entries_params.py} | 8 +-
..._next_local_journal_after_offset_params.py | 13 -
...k_get_next_local_journal_entries_params.py | 17 +
...ook_list_subscription_filters_response.py} | 4 +-
...bhook_update_event_subscription_params.py} | 4 +-
tests/api_resources/cms/test_media_bridge.py | 12 +
tests/api_resources/cms/test_url_mappings.py | 6 +
.../crm/extensions/test_cards_dev.py | 8 +
tests/api_resources/crm/test_properties.py | 6 +-
.../api_resources/events/test_definitions.py | 2 +-
tests/api_resources/test_webhooks.py | 1526 +++++++------
181 files changed, 3466 insertions(+), 2148 deletions(-)
delete mode 100644 src/hubspot_sdk/types/auth/public_access_token_info_response.py
delete mode 100644 src/hubspot_sdk/types/auth/public_refresh_token_info_response.py
delete mode 100644 src/hubspot_sdk/types/auth/signed_access_token.py
create mode 100644 src/hubspot_sdk/types/cms/is_blank.py
delete mode 100644 src/hubspot_sdk/types/crm/property_create_param.py
delete mode 100644 src/hubspot_sdk/types/events/property.py
create mode 100644 src/hubspot_sdk/types/shared/batch_input_property_create.py
rename src/hubspot_sdk/types/{crm => shared}/property.py (91%)
create mode 100644 src/hubspot_sdk/types/shared/property_create.py
rename src/hubspot_sdk/types/{cms/property_create_param.py => shared_params/property_create.py} (77%)
create mode 100644 src/hubspot_sdk/types/webhooks/gdpr_privacy_deletion_subscription_upsert_request_param.py
rename src/hubspot_sdk/types/webhooks/{webhook_create_subscriptions_batch_params.py => webhook_create_batch_event_subscriptions_params.py} (56%)
rename src/hubspot_sdk/types/webhooks/{webhook_create_crm_snapshot_params.py => webhook_create_crm_snapshots_params.py} (62%)
rename src/hubspot_sdk/types/webhooks/{webhook_create_subscription_params.py => webhook_create_event_subscription_params.py} (75%)
rename src/hubspot_sdk/types/webhooks/{webhook_get_earliest_local_journal_params.py => webhook_get_earliest_journal_entry_params.py} (56%)
create mode 100644 src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_entry_params.py
rename src/hubspot_sdk/types/webhooks/{webhook_get_local_journal_batch_params.py => webhook_get_journal_batch_by_request_params.py} (63%)
rename src/hubspot_sdk/types/webhooks/{webhook_get_journal_batch_after_offset_params.py => webhook_get_journal_batch_from_offset_params.py} (51%)
rename src/hubspot_sdk/types/webhooks/{webhook_get_earliest_journal_params.py => webhook_get_latest_journal_entry_params.py} (55%)
rename src/hubspot_sdk/types/webhooks/{webhook_get_latest_journal_params.py => webhook_get_latest_local_journal_entry_params.py} (55%)
rename src/hubspot_sdk/types/webhooks/{webhook_get_journal_batch_params.py => webhook_get_local_journal_batch_by_request_params.py} (57%)
rename src/hubspot_sdk/types/webhooks/{webhook_get_local_journal_batch_after_offset_params.py => webhook_get_local_journal_batch_from_offset_params.py} (58%)
delete mode 100644 src/hubspot_sdk/types/webhooks/webhook_get_next_journal_after_offset_params.py
rename src/hubspot_sdk/types/webhooks/{webhook_get_latest_local_journal_params.py => webhook_get_next_journal_entries_params.py} (57%)
delete mode 100644 src/hubspot_sdk/types/webhooks/webhook_get_next_local_journal_after_offset_params.py
create mode 100644 src/hubspot_sdk/types/webhooks/webhook_get_next_local_journal_entries_params.py
rename src/hubspot_sdk/types/webhooks/{webhook_get_subscription_filters_response.py => webhook_list_subscription_filters_response.py} (61%)
rename src/hubspot_sdk/types/webhooks/{webhook_update_subscription_params.py => webhook_update_event_subscription_params.py} (81%)
diff --git a/.stats.yml b/.stats.yml
index bfcf5e5e..91054144 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
-configured_endpoints: 971
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hubspot%2Fhubspot-sdk-b0d8bc008db9e485496b486b6fb770a256d16caf430e7c8696cb5e2f61cb42ef.yml
-openapi_spec_hash: 73818ecf3b80406f1ff2729a9f1b2c97
-config_hash: 359e962cfe06d012301bf47065ab2903
+configured_endpoints: 972
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/hubspot%2Fhubspot-sdk-10919d69a6e90c90609c258a2f5e28439f1330d7219f2febee724d1beb81ba53.yml
+openapi_spec_hash: 797d5ce41890b09309e124e9f74fad45
+config_hash: 5f3ac65868b9b42b135beebc978b43b1
diff --git a/api.md b/api.md
index 855059e7..8800e756 100644
--- a/api.md
+++ b/api.md
@@ -8,6 +8,7 @@ from hubspot_sdk.types import (
AssociationDefinitionEgg,
AssociationSpec,
AutomationActionsOption,
+ BatchInputPropertyCreate,
BatchInputPropertyName,
BatchInputPublicObjectID,
BatchInputString,
@@ -24,6 +25,8 @@ from hubspot_sdk.types import (
OptionInput,
Paging,
PreviousPage,
+ Property,
+ PropertyCreate,
PropertyGroup,
PropertyGroupCreate,
PropertyGroupUpdate,
diff --git a/src/hubspot_sdk/resources/auth/api.md b/src/hubspot_sdk/resources/auth/api.md
index b1bda6f9..7bfc5740 100644
--- a/src/hubspot_sdk/resources/auth/api.md
+++ b/src/hubspot_sdk/resources/auth/api.md
@@ -5,12 +5,7 @@
Types:
```python
-from hubspot_sdk.types.auth import (
- PublicAccessTokenInfoResponse,
- PublicRefreshTokenInfoResponse,
- SignedAccessToken,
- TokenInfoResponseBaseIf,
-)
+from hubspot_sdk.types.auth import TokenInfoResponseBaseIf
```
Methods:
diff --git a/src/hubspot_sdk/resources/auth/oauth.py b/src/hubspot_sdk/resources/auth/oauth.py
index 939a4b53..5694b63c 100644
--- a/src/hubspot_sdk/resources/auth/oauth.py
+++ b/src/hubspot_sdk/resources/auth/oauth.py
@@ -2,7 +2,6 @@
from __future__ import annotations
-from typing import Any, cast
from typing_extensions import Literal
import httpx
@@ -130,26 +129,21 @@ def introspect_token(
timeout: Override the client-level default timeout for this request, in seconds
"""
- return cast(
- TokenInfoResponseBaseIf,
- self._post(
- "/oauth/2026-03/token/introspect",
- body=maybe_transform(
- {
- "token": token,
- "client_id": client_id,
- "client_secret": client_secret,
- "token_type_hint": token_type_hint,
- },
- oauth_introspect_token_params.OAuthIntrospectTokenParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=cast(
- Any, TokenInfoResponseBaseIf
- ), # Union types cannot be passed in as arguments in the type system
+ return self._post(
+ "/oauth/2026-03/token/introspect",
+ body=maybe_transform(
+ {
+ "token": token,
+ "client_id": client_id,
+ "client_secret": client_secret,
+ "token_type_hint": token_type_hint,
+ },
+ oauth_introspect_token_params.OAuthIntrospectTokenParams,
+ ),
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
+ cast_to=TokenInfoResponseBaseIf,
)
def revoke_token(
@@ -295,26 +289,21 @@ async def introspect_token(
timeout: Override the client-level default timeout for this request, in seconds
"""
- return cast(
- TokenInfoResponseBaseIf,
- await self._post(
- "/oauth/2026-03/token/introspect",
- body=await async_maybe_transform(
- {
- "token": token,
- "client_id": client_id,
- "client_secret": client_secret,
- "token_type_hint": token_type_hint,
- },
- oauth_introspect_token_params.OAuthIntrospectTokenParams,
- ),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=cast(
- Any, TokenInfoResponseBaseIf
- ), # Union types cannot be passed in as arguments in the type system
+ return await self._post(
+ "/oauth/2026-03/token/introspect",
+ body=await async_maybe_transform(
+ {
+ "token": token,
+ "client_id": client_id,
+ "client_secret": client_secret,
+ "token_type_hint": token_type_hint,
+ },
+ oauth_introspect_token_params.OAuthIntrospectTokenParams,
+ ),
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
+ cast_to=TokenInfoResponseBaseIf,
)
async def revoke_token(
diff --git a/src/hubspot_sdk/resources/cms/api.md b/src/hubspot_sdk/resources/cms/api.md
index 4c9f2013..c18ee091 100644
--- a/src/hubspot_sdk/resources/cms/api.md
+++ b/src/hubspot_sdk/resources/cms/api.md
@@ -343,7 +343,6 @@ from hubspot_sdk.types.cms import (
AttentionSpanCalculatedValues,
AttentionSpanEvent,
AttentionSpanEventRequest,
- BatchInputPropertyCreate,
BatchResponseProperty,
BatchResponsePropertyWithErrors,
BeginsWith,
@@ -392,6 +391,7 @@ from hubspot_sdk.types.cms import (
IntegratorOEmbedDomainRequest,
IntegratorObjectCreationRequest,
IntegratorObjectCreationResponse,
+ IsBlank,
IsEngagementType,
IsPipelineStageClosed,
IsPresent,
@@ -432,7 +432,6 @@ from hubspot_sdk.types.cms import (
Power,
Property,
Property1,
- PropertyCreate,
PropertyDefinition,
PropertyDefinitionSource,
RequiredPropertiesExtensionData,
diff --git a/src/hubspot_sdk/resources/cms/media_bridge/batch.py b/src/hubspot_sdk/resources/cms/media_bridge/batch.py
index 3ad27db4..8bb73e47 100644
--- a/src/hubspot_sdk/resources/cms/media_bridge/batch.py
+++ b/src/hubspot_sdk/resources/cms/media_bridge/batch.py
@@ -19,9 +19,9 @@
)
from ...._base_client import make_request_options
from ....types.cms.media_bridge import batch_get_params, batch_create_params, batch_delete_params
-from ....types.cms.property_create_param import PropertyCreateParam
from ....types.cms.batch_response_property import BatchResponseProperty
from ....types.shared_params.property_name import PropertyName
+from ....types.shared_params.property_create import PropertyCreate
__all__ = ["BatchResource", "AsyncBatchResource"]
@@ -51,7 +51,7 @@ def create(
object_type: str,
*,
app_id: int,
- inputs: Iterable[PropertyCreateParam],
+ inputs: Iterable[PropertyCreate],
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@@ -202,7 +202,7 @@ async def create(
object_type: str,
*,
app_id: int,
- inputs: Iterable[PropertyCreateParam],
+ inputs: Iterable[PropertyCreate],
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
diff --git a/src/hubspot_sdk/resources/cms/media_bridge/media_bridge.py b/src/hubspot_sdk/resources/cms/media_bridge/media_bridge.py
index 02de9cfd..39dbf75f 100644
--- a/src/hubspot_sdk/resources/cms/media_bridge/media_bridge.py
+++ b/src/hubspot_sdk/resources/cms/media_bridge/media_bridge.py
@@ -450,6 +450,7 @@ def create_property(
name: str,
type: Literal["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"],
calculation_formula: str | Omit = omit,
+ currency_property_name: str | Omit = omit,
data_sensitivity: Literal["highly_sensitive", "non_sensitive", "sensitive"] | Omit = omit,
description: str | Omit = omit,
display_order: int | Omit = omit,
@@ -457,8 +458,11 @@ def create_property(
form_field: bool | Omit = omit,
has_unique_value: bool | Omit = omit,
hidden: bool | Omit = omit,
+ number_display_hint: Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ | Omit = omit,
options: Iterable[OptionInput] | Omit = omit,
referenced_object_type: str | Omit = omit,
+ show_currency_symbol: bool | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@@ -492,6 +496,7 @@ def create_property(
"name": name,
"type": type,
"calculation_formula": calculation_formula,
+ "currency_property_name": currency_property_name,
"data_sensitivity": data_sensitivity,
"description": description,
"display_order": display_order,
@@ -499,8 +504,10 @@ def create_property(
"form_field": form_field,
"has_unique_value": has_unique_value,
"hidden": hidden,
+ "number_display_hint": number_display_hint,
"options": options,
"referenced_object_type": referenced_object_type,
+ "show_currency_symbol": show_currency_symbol,
},
media_bridge_create_property_params.MediaBridgeCreatePropertyParams,
),
@@ -1319,6 +1326,7 @@ def update_property(
app_id: int,
object_type: str,
calculation_formula: str | Omit = omit,
+ currency_property_name: str | Omit = omit,
description: str | Omit = omit,
display_order: int | Omit = omit,
field_type: Literal[
@@ -1341,7 +1349,10 @@ def update_property(
has_unique_value: bool | Omit = omit,
hidden: bool | Omit = omit,
label: str | Omit = omit,
+ number_display_hint: Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ | Omit = omit,
options: Iterable[OptionInput] | Omit = omit,
+ show_currency_symbol: bool | Omit = omit,
type: Literal["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1376,6 +1387,7 @@ def update_property(
body=maybe_transform(
{
"calculation_formula": calculation_formula,
+ "currency_property_name": currency_property_name,
"description": description,
"display_order": display_order,
"field_type": field_type,
@@ -1384,7 +1396,9 @@ def update_property(
"has_unique_value": has_unique_value,
"hidden": hidden,
"label": label,
+ "number_display_hint": number_display_hint,
"options": options,
+ "show_currency_symbol": show_currency_symbol,
"type": type,
},
media_bridge_update_property_params.MediaBridgeUpdatePropertyParams,
@@ -1925,6 +1939,7 @@ async def create_property(
name: str,
type: Literal["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"],
calculation_formula: str | Omit = omit,
+ currency_property_name: str | Omit = omit,
data_sensitivity: Literal["highly_sensitive", "non_sensitive", "sensitive"] | Omit = omit,
description: str | Omit = omit,
display_order: int | Omit = omit,
@@ -1932,8 +1947,11 @@ async def create_property(
form_field: bool | Omit = omit,
has_unique_value: bool | Omit = omit,
hidden: bool | Omit = omit,
+ number_display_hint: Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ | Omit = omit,
options: Iterable[OptionInput] | Omit = omit,
referenced_object_type: str | Omit = omit,
+ show_currency_symbol: bool | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@@ -1967,6 +1985,7 @@ async def create_property(
"name": name,
"type": type,
"calculation_formula": calculation_formula,
+ "currency_property_name": currency_property_name,
"data_sensitivity": data_sensitivity,
"description": description,
"display_order": display_order,
@@ -1974,8 +1993,10 @@ async def create_property(
"form_field": form_field,
"has_unique_value": has_unique_value,
"hidden": hidden,
+ "number_display_hint": number_display_hint,
"options": options,
"referenced_object_type": referenced_object_type,
+ "show_currency_symbol": show_currency_symbol,
},
media_bridge_create_property_params.MediaBridgeCreatePropertyParams,
),
@@ -2794,6 +2815,7 @@ async def update_property(
app_id: int,
object_type: str,
calculation_formula: str | Omit = omit,
+ currency_property_name: str | Omit = omit,
description: str | Omit = omit,
display_order: int | Omit = omit,
field_type: Literal[
@@ -2816,7 +2838,10 @@ async def update_property(
has_unique_value: bool | Omit = omit,
hidden: bool | Omit = omit,
label: str | Omit = omit,
+ number_display_hint: Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ | Omit = omit,
options: Iterable[OptionInput] | Omit = omit,
+ show_currency_symbol: bool | Omit = omit,
type: Literal["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"] | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -2851,6 +2876,7 @@ async def update_property(
body=await async_maybe_transform(
{
"calculation_formula": calculation_formula,
+ "currency_property_name": currency_property_name,
"description": description,
"display_order": display_order,
"field_type": field_type,
@@ -2859,7 +2885,9 @@ async def update_property(
"has_unique_value": has_unique_value,
"hidden": hidden,
"label": label,
+ "number_display_hint": number_display_hint,
"options": options,
+ "show_currency_symbol": show_currency_symbol,
"type": type,
},
media_bridge_update_property_params.MediaBridgeUpdatePropertyParams,
diff --git a/src/hubspot_sdk/resources/cms/url_mappings.py b/src/hubspot_sdk/resources/cms/url_mappings.py
index 679522c8..a2227919 100644
--- a/src/hubspot_sdk/resources/cms/url_mappings.py
+++ b/src/hubspot_sdk/resources/cms/url_mappings.py
@@ -133,6 +133,7 @@ def create(
is_regex: bool,
is_trailing_slash_optional: bool,
label: str,
+ last_used_at: int,
name: str,
note: str,
portal_id: int,
@@ -246,6 +247,7 @@ def create(
"is_regex": is_regex,
"is_trailing_slash_optional": is_trailing_slash_optional,
"label": label,
+ "last_used_at": last_used_at,
"name": name,
"note": note,
"portal_id": portal_id,
@@ -462,6 +464,7 @@ async def create(
is_regex: bool,
is_trailing_slash_optional: bool,
label: str,
+ last_used_at: int,
name: str,
note: str,
portal_id: int,
@@ -575,6 +578,7 @@ async def create(
"is_regex": is_regex,
"is_trailing_slash_optional": is_trailing_slash_optional,
"label": label,
+ "last_used_at": last_used_at,
"name": name,
"note": note,
"portal_id": portal_id,
diff --git a/src/hubspot_sdk/resources/communication_preferences/communication_preferences.py b/src/hubspot_sdk/resources/communication_preferences/communication_preferences.py
index a458d818..9dbecad2 100644
--- a/src/hubspot_sdk/resources/communication_preferences/communication_preferences.py
+++ b/src/hubspot_sdk/resources/communication_preferences/communication_preferences.py
@@ -102,9 +102,13 @@ def generate_links(
management into your applications.
Args:
+ channel: The communication channel for which the links are generated. Must be 'EMAIL'.
+
subscriber_id_string: A string representing the unique identifier of the subscriber. This property is
required.
+ business_unit_id: The identifier of the business unit. Defaults to 0 if not specified.
+
language: The language in which the generated link should be presented, represented as a
string.
@@ -162,6 +166,12 @@ def get_statuses(
Retrieve a contact's current email subscription preferences.
Args:
+ channel: The communication channel for which the subscription status is being retrieved.
+ This parameter is required and currently supports only 'EMAIL'.
+
+ business_unit_id: The ID of the business unit to filter the subscription status by. This is an
+ optional parameter.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -216,6 +226,15 @@ def get_unsubscribe_all_status(
will be empty.
Args:
+ channel: The communication channel from which to unsubscribe the subscriber. This is a
+ required parameter and must be 'EMAIL'.
+
+ business_unit_id: The ID of the business unit to which the subscriber belongs. This is an optional
+ parameter.
+
+ verbose: A boolean indicating whether to include detailed information in the response.
+ Defaults to false.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -268,6 +287,14 @@ def unsubscribe_all(
Unsubscribe a contact from all email subscriptions.
Args:
+ channel: The communication channel to unsubscribe from. Must be 'EMAIL'.
+
+ business_unit_id: The ID of the business unit associated with the request. This is an optional
+ integer parameter.
+
+ verbose: A boolean indicating whether to include detailed information in the response.
+ Defaults to false.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -430,9 +457,13 @@ async def generate_links(
management into your applications.
Args:
+ channel: The communication channel for which the links are generated. Must be 'EMAIL'.
+
subscriber_id_string: A string representing the unique identifier of the subscriber. This property is
required.
+ business_unit_id: The identifier of the business unit. Defaults to 0 if not specified.
+
language: The language in which the generated link should be presented, represented as a
string.
@@ -490,6 +521,12 @@ async def get_statuses(
Retrieve a contact's current email subscription preferences.
Args:
+ channel: The communication channel for which the subscription status is being retrieved.
+ This parameter is required and currently supports only 'EMAIL'.
+
+ business_unit_id: The ID of the business unit to filter the subscription status by. This is an
+ optional parameter.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -544,6 +581,15 @@ async def get_unsubscribe_all_status(
will be empty.
Args:
+ channel: The communication channel from which to unsubscribe the subscriber. This is a
+ required parameter and must be 'EMAIL'.
+
+ business_unit_id: The ID of the business unit to which the subscriber belongs. This is an optional
+ parameter.
+
+ verbose: A boolean indicating whether to include detailed information in the response.
+ Defaults to false.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -596,6 +642,14 @@ async def unsubscribe_all(
Unsubscribe a contact from all email subscriptions.
Args:
+ channel: The communication channel to unsubscribe from. Must be 'EMAIL'.
+
+ business_unit_id: The ID of the business unit associated with the request. This is an optional
+ integer parameter.
+
+ verbose: A boolean indicating whether to include detailed information in the response.
+ Defaults to false.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
diff --git a/src/hubspot_sdk/resources/communication_preferences/definitions.py b/src/hubspot_sdk/resources/communication_preferences/definitions.py
index d3e1fc80..646eb6f3 100644
--- a/src/hubspot_sdk/resources/communication_preferences/definitions.py
+++ b/src/hubspot_sdk/resources/communication_preferences/definitions.py
@@ -59,6 +59,12 @@ def list(
Get a list of subscription status definitions from the account.
Args:
+ business_unit_id: An integer representing the ID of the business unit for which to retrieve
+ subscription definitions.
+
+ include_translations: A boolean indicating whether to include translations of the communication
+ preferences definitions in the response.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -122,6 +128,12 @@ async def list(
Get a list of subscription status definitions from the account.
Args:
+ business_unit_id: An integer representing the ID of the business unit for which to retrieve
+ subscription definitions.
+
+ include_translations: A boolean indicating whether to include translations of the communication
+ preferences definitions in the response.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
diff --git a/src/hubspot_sdk/resources/communication_preferences/statuses/batch.py b/src/hubspot_sdk/resources/communication_preferences/statuses/batch.py
index bf7d830f..bfccf73e 100644
--- a/src/hubspot_sdk/resources/communication_preferences/statuses/batch.py
+++ b/src/hubspot_sdk/resources/communication_preferences/statuses/batch.py
@@ -76,8 +76,14 @@ def get_unsubscribe_all_statuses(
Checks whether a set of contacts have opted out of all communications.
Args:
+ channel: The communication channel to filter the unsubscribe statuses. This parameter is
+ required and currently supports 'EMAIL' as a valid value.
+
inputs: Strings to input.
+ business_unit_id: The ID of the business unit to filter the results. This is an optional
+ parameter.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -124,8 +130,13 @@ def read(
Batch retrieve subscription statuses for a set of contacts.
Args:
+ channel: The communication channel to filter the subscription statuses. Must be 'EMAIL'.
+
inputs: Strings to input.
+ business_unit_id: An optional integer representing the business unit ID. This parameter helps to
+ filter the results based on the specific business unit.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -171,8 +182,17 @@ def unsubscribe_all(
Unsubscribe a set of contacts from all email subscriptions.
Args:
+ channel: The communication channel from which subscribers will be unsubscribed. This
+ parameter is required and currently supports only 'EMAIL'.
+
inputs: Strings to input.
+ business_unit_id: An optional integer representing the business unit ID for which the operation is
+ being performed.
+
+ verbose: A boolean indicating whether to include detailed information in the response.
+ Defaults to false.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -274,8 +294,14 @@ async def get_unsubscribe_all_statuses(
Checks whether a set of contacts have opted out of all communications.
Args:
+ channel: The communication channel to filter the unsubscribe statuses. This parameter is
+ required and currently supports 'EMAIL' as a valid value.
+
inputs: Strings to input.
+ business_unit_id: The ID of the business unit to filter the results. This is an optional
+ parameter.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -322,8 +348,13 @@ async def read(
Batch retrieve subscription statuses for a set of contacts.
Args:
+ channel: The communication channel to filter the subscription statuses. Must be 'EMAIL'.
+
inputs: Strings to input.
+ business_unit_id: An optional integer representing the business unit ID. This parameter helps to
+ filter the results based on the specific business unit.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -369,8 +400,17 @@ async def unsubscribe_all(
Unsubscribe a set of contacts from all email subscriptions.
Args:
+ channel: The communication channel from which subscribers will be unsubscribed. This
+ parameter is required and currently supports only 'EMAIL'.
+
inputs: Strings to input.
+ business_unit_id: An optional integer representing the business unit ID for which the operation is
+ being performed.
+
+ verbose: A boolean indicating whether to include detailed information in the response.
+ Defaults to false.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
diff --git a/src/hubspot_sdk/resources/crm/api.md b/src/hubspot_sdk/resources/crm/api.md
index 1d3cd622..90db82c3 100644
--- a/src/hubspot_sdk/resources/crm/api.md
+++ b/src/hubspot_sdk/resources/crm/api.md
@@ -12,7 +12,6 @@ from hubspot_sdk.types.crm import (
FilterGroup,
LabelsBetweenObjectPair,
MultiAssociatedObjectWithLabel,
- Property,
PublicDefaultAssociation,
PublicObjectSearchRequest,
SimplePublicObject,
@@ -1393,22 +1392,20 @@ Types:
```python
from hubspot_sdk.types.crm import (
- BatchInputPropertyCreate,
BatchResponseProperty,
BatchResponsePropertyWithErrors,
CollectionResponsePropertyNoPaging,
- PropertyCreate,
PropertyUpdate,
)
```
Methods:
-- client.crm.properties.create(object_type, \*\*params) -> Property
-- client.crm.properties.update(property_name, \*, object_type, \*\*params) -> Property
+- client.crm.properties.create(object_type, \*\*params) -> Property
+- client.crm.properties.update(property_name, \*, object_type, \*\*params) -> Property
- client.crm.properties.list(object_type, \*\*params) -> CollectionResponsePropertyNoPaging
- client.crm.properties.delete(property_name, \*, object_type) -> None
-- client.crm.properties.get(property_name, \*, object_type, \*\*params) -> Property
+- client.crm.properties.get(property_name, \*, object_type, \*\*params) -> Property
### Batch
diff --git a/src/hubspot_sdk/resources/crm/extensions/cards_dev.py b/src/hubspot_sdk/resources/crm/extensions/cards_dev.py
index b24e8f0f..a19dfbc9 100644
--- a/src/hubspot_sdk/resources/crm/extensions/cards_dev.py
+++ b/src/hubspot_sdk/resources/crm/extensions/cards_dev.py
@@ -279,6 +279,7 @@ def migrate_views(
self,
app_id: int,
*,
+ allow_duplicate_app_card_ids: bool,
app_card_id: int,
legacy_crm_card_id: int,
helpdesk_app_card_id: int | Omit = omit,
@@ -303,6 +304,7 @@ def migrate_views(
path_template("/crm/extensions/cards-dev/2026-03/{app_id}/views/migrate", app_id=app_id),
body=maybe_transform(
{
+ "allow_duplicate_app_card_ids": allow_duplicate_app_card_ids,
"app_card_id": app_card_id,
"legacy_crm_card_id": legacy_crm_card_id,
"helpdesk_app_card_id": helpdesk_app_card_id,
@@ -563,6 +565,7 @@ async def migrate_views(
self,
app_id: int,
*,
+ allow_duplicate_app_card_ids: bool,
app_card_id: int,
legacy_crm_card_id: int,
helpdesk_app_card_id: int | Omit = omit,
@@ -587,6 +590,7 @@ async def migrate_views(
path_template("/crm/extensions/cards-dev/2026-03/{app_id}/views/migrate", app_id=app_id),
body=await async_maybe_transform(
{
+ "allow_duplicate_app_card_ids": allow_duplicate_app_card_ids,
"app_card_id": app_card_id,
"legacy_crm_card_id": legacy_crm_card_id,
"helpdesk_app_card_id": helpdesk_app_card_id,
diff --git a/src/hubspot_sdk/resources/crm/properties/batch.py b/src/hubspot_sdk/resources/crm/properties/batch.py
index 8f010fba..58bff514 100644
--- a/src/hubspot_sdk/resources/crm/properties/batch.py
+++ b/src/hubspot_sdk/resources/crm/properties/batch.py
@@ -19,9 +19,9 @@
)
from ...._base_client import make_request_options
from ....types.crm.properties import batch_get_params, batch_create_params, batch_delete_params
-from ....types.crm.property_create_param import PropertyCreateParam
from ....types.crm.batch_response_property import BatchResponseProperty
from ....types.shared_params.property_name import PropertyName
+from ....types.shared_params.property_create import PropertyCreate
__all__ = ["BatchResource", "AsyncBatchResource"]
@@ -50,7 +50,7 @@ def create(
self,
object_type: str,
*,
- inputs: Iterable[PropertyCreateParam],
+ inputs: Iterable[PropertyCreate],
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@@ -195,7 +195,7 @@ async def create(
self,
object_type: str,
*,
- inputs: Iterable[PropertyCreateParam],
+ inputs: Iterable[PropertyCreate],
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
diff --git a/src/hubspot_sdk/resources/crm/properties/properties.py b/src/hubspot_sdk/resources/crm/properties/properties.py
index d57cfb2f..dd6513ae 100644
--- a/src/hubspot_sdk/resources/crm/properties/properties.py
+++ b/src/hubspot_sdk/resources/crm/properties/properties.py
@@ -35,7 +35,7 @@
)
from ....types.crm import property_get_params, property_list_params, property_create_params, property_update_params
from ...._base_client import make_request_options
-from ....types.crm.property import Property
+from ....types.shared.property import Property
from ....types.shared_params.option_input import OptionInput
from ....types.crm.collection_response_property_no_paging import CollectionResponsePropertyNoPaging
@@ -101,6 +101,8 @@ def create(
form_field: bool | Omit = omit,
has_unique_value: bool | Omit = omit,
hidden: bool | Omit = omit,
+ number_display_hint: Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ | Omit = omit,
options: Iterable[OptionInput] | Omit = omit,
referenced_object_type: str | Omit = omit,
show_currency_symbol: bool | Omit = omit,
@@ -115,44 +117,6 @@ def create(
Create and return a copy of a new property for the specified object type.
Args:
- field_type: Controls how the property appears in HubSpot.
-
- group_name: The name of the property group the property belongs to.
-
- label: A human-readable property label that will be shown in HubSpot.
-
- name: The internal property name, which must be used when referencing the property via
- the API.
-
- type: The data type of the property.
-
- calculation_formula: Represents a formula that is used to compute a calculated property.
-
- data_sensitivity: Indicates the sensitivity level of the property, with options: highly_sensitive,
- non_sensitive, or sensitive.
-
- description: A description of the property that will be shown as help text in HubSpot.
-
- display_order: Properties are displayed in order starting with the lowest positive integer
- value. Values of -1 will cause the property to be displayed after any positive
- values.
-
- external_options: Applicable only for 'enumeration' type properties. Should be set to true in
- conjunction with a 'referencedObjectType' of 'OWNER'. Otherwise false.
-
- form_field: Whether or not the property can be used in a HubSpot form.
-
- has_unique_value: Whether or not the property's value must be unique. Once set, this can't be
- changed.
-
- hidden: If true, the property won't be visible and can't be used in HubSpot.
-
- options: A list of valid options for the property. This field is required for enumerated
- properties.
-
- referenced_object_type: Should be set to 'OWNER' when 'externalOptions' is true, which causes the
- property to dynamically pull option values from the current HubSpot users.
-
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -181,6 +145,7 @@ def create(
"form_field": form_field,
"has_unique_value": has_unique_value,
"hidden": hidden,
+ "number_display_hint": number_display_hint,
"options": options,
"referenced_object_type": referenced_object_type,
"show_currency_symbol": show_currency_symbol,
@@ -221,6 +186,8 @@ def update(
group_name: str | Omit = omit,
hidden: bool | Omit = omit,
label: str | Omit = omit,
+ number_display_hint: Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ | Omit = omit,
options: Iterable[OptionInput] | Omit = omit,
show_currency_symbol: bool | Omit = omit,
type: Literal["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"] | Omit = omit,
@@ -288,6 +255,7 @@ def update(
"group_name": group_name,
"hidden": hidden,
"label": label,
+ "number_display_hint": number_display_hint,
"options": options,
"show_currency_symbol": show_currency_symbol,
"type": type,
@@ -510,6 +478,8 @@ async def create(
form_field: bool | Omit = omit,
has_unique_value: bool | Omit = omit,
hidden: bool | Omit = omit,
+ number_display_hint: Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ | Omit = omit,
options: Iterable[OptionInput] | Omit = omit,
referenced_object_type: str | Omit = omit,
show_currency_symbol: bool | Omit = omit,
@@ -524,44 +494,6 @@ async def create(
Create and return a copy of a new property for the specified object type.
Args:
- field_type: Controls how the property appears in HubSpot.
-
- group_name: The name of the property group the property belongs to.
-
- label: A human-readable property label that will be shown in HubSpot.
-
- name: The internal property name, which must be used when referencing the property via
- the API.
-
- type: The data type of the property.
-
- calculation_formula: Represents a formula that is used to compute a calculated property.
-
- data_sensitivity: Indicates the sensitivity level of the property, with options: highly_sensitive,
- non_sensitive, or sensitive.
-
- description: A description of the property that will be shown as help text in HubSpot.
-
- display_order: Properties are displayed in order starting with the lowest positive integer
- value. Values of -1 will cause the property to be displayed after any positive
- values.
-
- external_options: Applicable only for 'enumeration' type properties. Should be set to true in
- conjunction with a 'referencedObjectType' of 'OWNER'. Otherwise false.
-
- form_field: Whether or not the property can be used in a HubSpot form.
-
- has_unique_value: Whether or not the property's value must be unique. Once set, this can't be
- changed.
-
- hidden: If true, the property won't be visible and can't be used in HubSpot.
-
- options: A list of valid options for the property. This field is required for enumerated
- properties.
-
- referenced_object_type: Should be set to 'OWNER' when 'externalOptions' is true, which causes the
- property to dynamically pull option values from the current HubSpot users.
-
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -590,6 +522,7 @@ async def create(
"form_field": form_field,
"has_unique_value": has_unique_value,
"hidden": hidden,
+ "number_display_hint": number_display_hint,
"options": options,
"referenced_object_type": referenced_object_type,
"show_currency_symbol": show_currency_symbol,
@@ -630,6 +563,8 @@ async def update(
group_name: str | Omit = omit,
hidden: bool | Omit = omit,
label: str | Omit = omit,
+ number_display_hint: Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ | Omit = omit,
options: Iterable[OptionInput] | Omit = omit,
show_currency_symbol: bool | Omit = omit,
type: Literal["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"] | Omit = omit,
@@ -697,6 +632,7 @@ async def update(
"group_name": group_name,
"hidden": hidden,
"label": label,
+ "number_display_hint": number_display_hint,
"options": options,
"show_currency_symbol": show_currency_symbol,
"type": type,
diff --git a/src/hubspot_sdk/resources/events/api.md b/src/hubspot_sdk/resources/events/api.md
index fe3953c9..9fa7e639 100644
--- a/src/hubspot_sdk/resources/events/api.md
+++ b/src/hubspot_sdk/resources/events/api.md
@@ -52,7 +52,6 @@ from hubspot_sdk.types.events import (
NowReference,
NumOccurrencesRefineBy,
NumberPropertyOperation,
- Property,
PropertyFilter,
PropertyFilterContext,
PropertyReferencedTime,
@@ -81,11 +80,11 @@ Methods:
- client.events.definitions.update(event_name, \*\*params) -> ExternalBehavioralEventTypeDefinition
- client.events.definitions.list(\*\*params) -> SyncPage[ExternalBehavioralEventTypeDefinition]
- client.events.definitions.delete(event_name) -> None
-- client.events.definitions.create_property(event_name, \*\*params) -> Property
+- client.events.definitions.create_property(event_name, \*\*params) -> Property
- client.events.definitions.delete_property(property_name, \*, event_name) -> None
- client.events.definitions.get(event_name) -> ExternalBehavioralEventTypeDefinition
- client.events.definitions.send_batch(\*\*params) -> None
-- client.events.definitions.update_property(property_name, \*, event_name, \*\*params) -> Property
+- client.events.definitions.update_property(property_name, \*, event_name, \*\*params) -> Property
## Occurrences
diff --git a/src/hubspot_sdk/resources/events/definitions.py b/src/hubspot_sdk/resources/events/definitions.py
index 31b1750d..686ab4d3 100644
--- a/src/hubspot_sdk/resources/events/definitions.py
+++ b/src/hubspot_sdk/resources/events/definitions.py
@@ -26,7 +26,7 @@
definition_create_property_params,
definition_update_property_params,
)
-from ...types.events.property import Property
+from ...types.shared.property import Property
from ...types.shared_params.option_input import OptionInput
from ...types.events.external_behavioral_event_type_definition import ExternalBehavioralEventTypeDefinition
from ...types.events.behavioral_event_http_completion_request_param import BehavioralEventHTTPCompletionRequestParam
diff --git a/src/hubspot_sdk/resources/webhooks/api.md b/src/hubspot_sdk/resources/webhooks/api.md
index f1cfa89b..03b072c6 100644
--- a/src/hubspot_sdk/resources/webhooks/api.md
+++ b/src/hubspot_sdk/resources/webhooks/api.md
@@ -22,6 +22,7 @@ from hubspot_sdk.types.webhooks import (
FilterCreateRequest,
FilterCreateResponse,
FilterResponse,
+ GdprPrivacyDeletionSubscriptionUpsertRequest,
JournalFetchResponse,
ListMembershipSubscriptionUpsertRequest,
ObjectSubscriptionUpsertRequest,
@@ -36,43 +37,44 @@ from hubspot_sdk.types.webhooks import (
SubscriptionResponse1,
SubscriptionUpsertRequest,
ThrottlingSettings,
- WebhookGetSubscriptionFiltersResponse,
+ WebhookListSubscriptionFiltersResponse,
)
```
Methods:
-- client.webhooks.create_crm_snapshot(\*\*params) -> CrmObjectSnapshotBatchResponse
+- client.webhooks.create_batch_event_subscriptions(app_id, \*\*params) -> BatchResponseSubscriptionResponse
+- client.webhooks.create_crm_snapshots(\*\*params) -> CrmObjectSnapshotBatchResponse
+- client.webhooks.create_event_subscription(app_id, \*\*params) -> SubscriptionResponse
- client.webhooks.create_journal_subscription() -> SubscriptionResponse1
-- client.webhooks.create_subscription(app_id, \*\*params) -> SubscriptionResponse
- client.webhooks.create_subscription_filter(\*\*params) -> FilterCreateResponse
-- client.webhooks.create_subscriptions_batch(app_id, \*\*params) -> BatchResponseSubscriptionResponse
+- client.webhooks.delete_event_subscription(subscription_id, \*, app_id) -> None
- client.webhooks.delete_journal_subscription(subscription_id) -> None
-- client.webhooks.delete_portal_subscriptions(portal_id) -> None
+- client.webhooks.delete_journal_subscription_for_portal(portal_id) -> None
- client.webhooks.delete_settings(app_id) -> None
-- client.webhooks.delete_subscription(subscription_id, \*, app_id) -> None
- client.webhooks.delete_subscription_filter(filter_id) -> None
-- client.webhooks.get_earliest_journal(\*\*params) -> BinaryAPIResponse
- client.webhooks.get_earliest_journal_batch(count, \*\*params) -> BatchResponseJournalFetchResponse
-- client.webhooks.get_earliest_local_journal(\*\*params) -> BinaryAPIResponse
+- client.webhooks.get_earliest_journal_entry(\*\*params) -> BinaryAPIResponse
- client.webhooks.get_earliest_local_journal_batch(count, \*\*params) -> BatchResponseJournalFetchResponse
-- client.webhooks.get_journal_batch(\*\*params) -> BatchResponseJournalFetchResponse
-- client.webhooks.get_journal_batch_after_offset(count, \*, offset, \*\*params) -> BatchResponseJournalFetchResponse
+- client.webhooks.get_earliest_local_journal_entry(\*\*params) -> BinaryAPIResponse
+- client.webhooks.get_event_subscription(subscription_id, \*, app_id) -> SubscriptionResponse
+- client.webhooks.get_journal_batch_by_request(\*\*params) -> BatchResponseJournalFetchResponse
+- client.webhooks.get_journal_batch_from_offset(count, \*, offset, \*\*params) -> BatchResponseJournalFetchResponse
- client.webhooks.get_journal_status(status_id) -> SnapshotStatusResponse
-- client.webhooks.get_latest_journal(\*\*params) -> BinaryAPIResponse
+- client.webhooks.get_journal_subscription(subscription_id) -> SubscriptionResponse1
- client.webhooks.get_latest_journal_batch(count, \*\*params) -> BatchResponseJournalFetchResponse
-- client.webhooks.get_latest_local_journal(\*\*params) -> BinaryAPIResponse
+- client.webhooks.get_latest_journal_entry(\*\*params) -> BinaryAPIResponse
- client.webhooks.get_latest_local_journal_batch(count, \*\*params) -> BatchResponseJournalFetchResponse
-- client.webhooks.get_local_journal_batch(\*\*params) -> BatchResponseJournalFetchResponse
-- client.webhooks.get_local_journal_batch_after_offset(count, \*, offset, \*\*params) -> BatchResponseJournalFetchResponse
+- client.webhooks.get_latest_local_journal_entry(\*\*params) -> BinaryAPIResponse
+- client.webhooks.get_local_journal_batch_by_request(\*\*params) -> BatchResponseJournalFetchResponse
+- client.webhooks.get_local_journal_batch_from_offset(count, \*, offset, \*\*params) -> BatchResponseJournalFetchResponse
- client.webhooks.get_local_journal_status(status_id) -> SnapshotStatusResponse
-- client.webhooks.get_next_journal_after_offset(offset, \*\*params) -> BinaryAPIResponse
-- client.webhooks.get_next_local_journal_after_offset(offset, \*\*params) -> BinaryAPIResponse
+- client.webhooks.get_next_journal_entries(offset, \*\*params) -> BinaryAPIResponse
+- client.webhooks.get_next_local_journal_entries(offset, \*\*params) -> BinaryAPIResponse
- client.webhooks.get_settings(app_id) -> SettingsResponse
-- client.webhooks.get_subscription(subscription_id, \*, app_id) -> SubscriptionResponse
- client.webhooks.get_subscription_filter(filter_id) -> FilterResponse
-- client.webhooks.get_subscription_filters(subscription_id) -> WebhookGetSubscriptionFiltersResponse
+- client.webhooks.list_event_subscriptions(app_id) -> SubscriptionListResponse
- client.webhooks.list_journal_subscriptions() -> CollectionResponseSubscriptionResponseNoPaging
-- client.webhooks.list_subscriptions(app_id) -> SubscriptionListResponse
+- client.webhooks.list_subscription_filters(subscription_id) -> WebhookListSubscriptionFiltersResponse
+- client.webhooks.update_event_subscription(subscription_id, \*, app_id, \*\*params) -> SubscriptionResponse
- client.webhooks.update_settings(app_id, \*\*params) -> SettingsResponse
-- client.webhooks.update_subscription(subscription_id, \*, app_id, \*\*params) -> SubscriptionResponse
diff --git a/src/hubspot_sdk/resources/webhooks/webhooks.py b/src/hubspot_sdk/resources/webhooks/webhooks.py
index 0c2032ec..a7a5e824 100644
--- a/src/hubspot_sdk/resources/webhooks/webhooks.py
+++ b/src/hubspot_sdk/resources/webhooks/webhooks.py
@@ -28,25 +28,25 @@
from ..._base_client import make_request_options
from ...types.webhooks import (
webhook_update_settings_params,
- webhook_get_journal_batch_params,
- webhook_get_latest_journal_params,
- webhook_create_crm_snapshot_params,
- webhook_create_subscription_params,
- webhook_update_subscription_params,
- webhook_get_earliest_journal_params,
- webhook_get_local_journal_batch_params,
+ webhook_create_crm_snapshots_params,
webhook_get_latest_journal_batch_params,
- webhook_get_latest_local_journal_params,
+ webhook_get_latest_journal_entry_params,
+ webhook_get_next_journal_entries_params,
+ webhook_create_event_subscription_params,
+ webhook_update_event_subscription_params,
webhook_create_subscription_filter_params,
- webhook_create_subscriptions_batch_params,
webhook_get_earliest_journal_batch_params,
- webhook_get_earliest_local_journal_params,
- webhook_get_next_journal_after_offset_params,
- webhook_get_journal_batch_after_offset_params,
+ webhook_get_earliest_journal_entry_params,
+ webhook_get_journal_batch_by_request_params,
+ webhook_get_journal_batch_from_offset_params,
webhook_get_latest_local_journal_batch_params,
+ webhook_get_latest_local_journal_entry_params,
+ webhook_get_next_local_journal_entries_params,
+ webhook_create_batch_event_subscriptions_params,
webhook_get_earliest_local_journal_batch_params,
- webhook_get_next_local_journal_after_offset_params,
- webhook_get_local_journal_batch_after_offset_params,
+ webhook_get_earliest_local_journal_entry_params,
+ webhook_get_local_journal_batch_by_request_params,
+ webhook_get_local_journal_batch_from_offset_params,
)
from ...types.webhooks.filter_param import FilterParam
from ...types.webhooks.filter_response import FilterResponse
@@ -62,7 +62,7 @@
from ...types.webhooks.batch_response_subscription_response import BatchResponseSubscriptionResponse
from ...types.webhooks.batch_response_journal_fetch_response import BatchResponseJournalFetchResponse
from ...types.webhooks.subscription_batch_update_request_param import SubscriptionBatchUpdateRequestParam
-from ...types.webhooks.webhook_get_subscription_filters_response import WebhookGetSubscriptionFiltersResponse
+from ...types.webhooks.webhook_list_subscription_filters_response import WebhookListSubscriptionFiltersResponse
from ...types.webhooks.collection_response_subscription_response_no_paging import (
CollectionResponseSubscriptionResponseNoPaging,
)
@@ -90,19 +90,25 @@ def with_streaming_response(self) -> WebhooksResourceWithStreamingResponse:
"""
return WebhooksResourceWithStreamingResponse(self)
- def create_crm_snapshot(
+ def create_batch_event_subscriptions(
self,
+ app_id: int,
*,
- snapshot_requests: Iterable[CrmObjectSnapshotRequestParam],
+ inputs: Iterable[SubscriptionBatchUpdateRequestParam],
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> CrmObjectSnapshotBatchResponse:
+ ) -> BatchResponseSubscriptionResponse:
"""
+ Batch create event subscriptions for the specified app.
+
Args:
+ inputs: An array of SubscriptionBatchUpdateRequest objects, each representing a
+ subscription to be updated. This property is required.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -112,80 +118,60 @@ def create_crm_snapshot(
timeout: Override the client-level default timeout for this request, in seconds
"""
return self._post(
- "/webhooks-journal/snapshots/2026-03/crm",
+ path_template("/webhooks/2026-03/{app_id}/subscriptions/batch/update", app_id=app_id),
body=maybe_transform(
- {"snapshot_requests": snapshot_requests},
- webhook_create_crm_snapshot_params.WebhookCreateCrmSnapshotParams,
+ {"inputs": inputs},
+ webhook_create_batch_event_subscriptions_params.WebhookCreateBatchEventSubscriptionsParams,
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=CrmObjectSnapshotBatchResponse,
+ cast_to=BatchResponseSubscriptionResponse,
)
- @overload
- def create_journal_subscription(
- self,
- *,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse1: ...
- @overload
- def create_journal_subscription(
- self,
- *,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse1: ...
- @overload
- def create_journal_subscription(
- self,
- *,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse1: ...
- @overload
- def create_journal_subscription(
- self,
- *,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse1: ...
- def create_journal_subscription(
+ def create_crm_snapshots(
self,
*,
+ snapshot_requests: Iterable[CrmObjectSnapshotRequestParam],
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse1:
+ ) -> CrmObjectSnapshotBatchResponse:
+ """Create a batch of CRM object snapshots for a specified portal.
+
+ This endpoint
+ allows you to capture the current state of CRM objects by submitting a batch
+ request with the necessary object details. It is useful for tracking changes or
+ maintaining historical records of CRM data.
+
+ Args:
+ snapshot_requests: An array of CrmObjectSnapshotRequest objects, each representing a request to
+ capture a snapshot of a specific CRM object. This property is required.
+
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
+ """
return self._post(
- "/webhooks-journal/subscriptions/2026-03",
+ "/webhooks-journal/snapshots/2026-03/crm",
+ body=maybe_transform(
+ {"snapshot_requests": snapshot_requests},
+ webhook_create_crm_snapshots_params.WebhookCreateCrmSnapshotsParams,
+ ),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=SubscriptionResponse1,
+ cast_to=CrmObjectSnapshotBatchResponse,
)
- def create_subscription(
+ def create_event_subscription(
self,
app_id: int,
*,
@@ -254,20 +240,20 @@ def create_subscription(
Create new event subscription for the specified app.
Args:
- active: Determines if the subscription is active or paused. Defaults to false.
+ active: A boolean indicating whether the subscription is active. This field is required.
- event_type: Type of event to listen for. Can be one of `create`, `delete`,
- `deletedForPrivacy`, or `propertyChange`.
+ event_type: A string representing the type of event to subscribe to. Valid values include
+ various object changes such as 'contact.propertyChange', 'deal.creation', and
+ 'conversation.newMessage'.
- event_type_name: The name of the event to listen for. This is used with custom objects to specify
- custom event types beyond the standard eventType enum values.
+ event_type_name: A string that provides a human-readable name for the event type. This is
+ optional.
- object_type_id: The ID of the object type for the subscription. This can be a standard CRM
- object (e.g., 'contact', 'company', 'deal') or a custom object ID for custom
- object subscriptions.
+ object_type_id: A string representing the identifier of the object type for which the
+ subscription is being created. This is optional.
- property_name: The internal name of the property to monitor for changes. Only applies when
- `eventType` is `propertyChange`.
+ property_name: A string indicating the name of the property that triggers the event. This is
+ optional and used when subscribing to property change events.
extra_headers: Send extra headers
@@ -287,7 +273,7 @@ def create_subscription(
"object_type_id": object_type_id,
"property_name": property_name,
},
- webhook_create_subscription_params.WebhookCreateSubscriptionParams,
+ webhook_create_event_subscription_params.WebhookCreateEventSubscriptionParams,
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -295,6 +281,119 @@ def create_subscription(
cast_to=SubscriptionResponse,
)
+ @overload
+ def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Create a new subscription in the webhooks journal for the specified version.
+ This endpoint allows you to define the subscription details, including actions
+ and object types, to manage webhook events effectively. It requires a valid
+ request body with the subscription details.
+ """
+ ...
+
+ @overload
+ def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Create a new subscription in the webhooks journal for the specified version.
+ This endpoint allows you to define the subscription details, including actions
+ and object types, to manage webhook events effectively. It requires a valid
+ request body with the subscription details.
+ """
+ ...
+
+ @overload
+ def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Create a new subscription in the webhooks journal for the specified version.
+ This endpoint allows you to define the subscription details, including actions
+ and object types, to manage webhook events effectively. It requires a valid
+ request body with the subscription details.
+ """
+ ...
+
+ @overload
+ def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Create a new subscription in the webhooks journal for the specified version.
+ This endpoint allows you to define the subscription details, including actions
+ and object types, to manage webhook events effectively. It requires a valid
+ request body with the subscription details.
+ """
+ ...
+
+ @overload
+ def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Create a new subscription in the webhooks journal for the specified version.
+ This endpoint allows you to define the subscription details, including actions
+ and object types, to manage webhook events effectively. It requires a valid
+ request body with the subscription details.
+ """
+ ...
+
+ def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ return self._post(
+ "/webhooks-journal/subscriptions/2026-03",
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=SubscriptionResponse1,
+ )
+
def create_subscription_filter(
self,
*,
@@ -307,12 +406,21 @@ def create_subscription_filter(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> FilterCreateResponse:
- """
+ """Create a new filter for a webhook subscription in the HubSpot account.
+
+ This
+ endpoint allows you to define conditions that determine when a webhook event
+ should be triggered for a specific subscription. The request body must include
+ the subscription ID and the filter details.
+
Args:
filter: Defines a single condition for searching CRM objects, specifying the property to
filter on, the operator to use (such as equals, greater than, or contains), and
the value(s) to compare against.
+ subscription_id: The unique identifier of the subscription to which the filter will be applied.
+ It is an integer in int64 format.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -336,20 +444,20 @@ def create_subscription_filter(
cast_to=FilterCreateResponse,
)
- def create_subscriptions_batch(
+ def delete_event_subscription(
self,
- app_id: int,
+ subscription_id: int,
*,
- inputs: Iterable[SubscriptionBatchUpdateRequestParam],
+ app_id: int,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> BatchResponseSubscriptionResponse:
+ ) -> None:
"""
- Batch create event subscriptions for the specified app.
+ Delete an existing event subscription by ID.
Args:
extra_headers: Send extra headers
@@ -360,15 +468,17 @@ def create_subscriptions_batch(
timeout: Override the client-level default timeout for this request, in seconds
"""
- return self._post(
- path_template("/webhooks/2026-03/{app_id}/subscriptions/batch/update", app_id=app_id),
- body=maybe_transform(
- {"inputs": inputs}, webhook_create_subscriptions_batch_params.WebhookCreateSubscriptionsBatchParams
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
+ return self._delete(
+ path_template(
+ "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
+ app_id=app_id,
+ subscription_id=subscription_id,
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=BatchResponseSubscriptionResponse,
+ cast_to=NoneType,
)
def delete_journal_subscription(
@@ -382,7 +492,12 @@ def delete_journal_subscription(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> None:
- """
+ """Delete a specific webhook journal subscription using its unique identifier.
+
+ This
+ operation is useful for managing and cleaning up subscriptions that are no
+ longer needed.
+
Args:
extra_headers: Send extra headers
@@ -401,7 +516,7 @@ def delete_journal_subscription(
cast_to=NoneType,
)
- def delete_portal_subscriptions(
+ def delete_journal_subscription_for_portal(
self,
portal_id: int,
*,
@@ -412,7 +527,12 @@ def delete_portal_subscriptions(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> None:
- """
+ """Delete a webhook journal subscription for a specific portal.
+
+ This operation
+ removes the subscription associated with the given portalId, effectively
+ stopping any webhook events from being sent to the portal.
+
Args:
extra_headers: Send extra headers
@@ -465,11 +585,10 @@ def delete_settings(
cast_to=NoneType,
)
- def delete_subscription(
+ def delete_subscription_filter(
self,
- subscription_id: int,
+ filter_id: int,
*,
- app_id: int,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@@ -477,8 +596,12 @@ def delete_subscription(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> None:
- """
- Delete an existing event subscription by ID.
+ """Remove a specific filter from your webhook journal subscriptions.
+
+ This operation
+ is useful when you need to clean up or modify the filters applied to your
+ webhook subscriptions. The filter identified by the filterId will be permanently
+ deleted.
Args:
extra_headers: Send extra headers
@@ -491,30 +614,35 @@ def delete_subscription(
"""
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._delete(
- path_template(
- "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
- app_id=app_id,
- subscription_id=subscription_id,
- ),
+ path_template("/webhooks-journal/subscriptions/2026-03/filters/{filter_id}", filter_id=filter_id),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=NoneType,
)
- def delete_subscription_filter(
+ def get_earliest_journal_batch(
self,
- filter_id: int,
+ count: int,
*,
+ install_portal_id: int | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> None:
- """
+ ) -> BatchResponseJournalFetchResponse:
+ """Retrieve the earliest batch of webhook journal entries up to the specified
+ count.
+
+ This endpoint is useful for fetching historical webhook data in batches,
+ allowing you to process or analyze them as needed.
+
Args:
+ install_portal_id: The ID of the portal installation for which to fetch the journal entries. This
+ is an optional parameter.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -523,16 +651,22 @@ def delete_subscription_filter(
timeout: Override the client-level default timeout for this request, in seconds
"""
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
- return self._delete(
- path_template("/webhooks-journal/subscriptions/2026-03/filters/{filter_id}", filter_id=filter_id),
+ return self._get(
+ path_template("/webhooks-journal/journal/2026-03/batch/earliest/{count}", count=count),
options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ query=maybe_transform(
+ {"install_portal_id": install_portal_id},
+ webhook_get_earliest_journal_batch_params.WebhookGetEarliestJournalBatchParams,
+ ),
),
- cast_to=NoneType,
+ cast_to=BatchResponseJournalFetchResponse,
)
- def get_earliest_journal(
+ def get_earliest_journal_entry(
self,
*,
install_portal_id: int | Omit = omit,
@@ -544,7 +678,14 @@ def get_earliest_journal(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BinaryAPIResponse:
"""
+ Retrieve the earliest entry from the webhooks journal for the specified portal.
+ This endpoint is useful for accessing the initial entries in the journal, which
+ can be helpful for debugging or auditing purposes.
+
Args:
+ install_portal_id: The ID of the portal installation to filter the journal entries. This is an
+ integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -563,13 +704,13 @@ def get_earliest_journal(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_earliest_journal_params.WebhookGetEarliestJournalParams,
+ webhook_get_earliest_journal_entry_params.WebhookGetEarliestJournalEntryParams,
),
),
cast_to=BinaryAPIResponse,
)
- def get_earliest_journal_batch(
+ def get_earliest_local_journal_batch(
self,
count: int,
*,
@@ -582,7 +723,14 @@ def get_earliest_journal_batch(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BatchResponseJournalFetchResponse:
"""
+ Retrieve the earliest batch of webhook journal entries up to a specified count.
+ This endpoint is useful for accessing the oldest records available in the
+ webhook journal, allowing you to process or analyze historical webhook data.
+
Args:
+ install_portal_id: The ID of the portal installation to filter the webhook journal entries. It is
+ an integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -592,7 +740,7 @@ def get_earliest_journal_batch(
timeout: Override the client-level default timeout for this request, in seconds
"""
return self._get(
- path_template("/webhooks-journal/journal/2026-03/batch/earliest/{count}", count=count),
+ path_template("/webhooks-journal/journal-local/2026-03/batch/earliest/{count}", count=count),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -600,13 +748,13 @@ def get_earliest_journal_batch(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_earliest_journal_batch_params.WebhookGetEarliestJournalBatchParams,
+ webhook_get_earliest_local_journal_batch_params.WebhookGetEarliestLocalJournalBatchParams,
),
),
cast_to=BatchResponseJournalFetchResponse,
)
- def get_earliest_local_journal(
+ def get_earliest_local_journal_entry(
self,
*,
install_portal_id: int | Omit = omit,
@@ -618,7 +766,14 @@ def get_earliest_local_journal(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BinaryAPIResponse:
"""
+ Retrieve the earliest entry from the webhooks journal for the specified portal.
+ This endpoint is useful for accessing the oldest available data in the journal,
+ which can be used for historical analysis or troubleshooting.
+
Args:
+ install_portal_id: The ID of the portal for which to retrieve the earliest journal entry. This
+ parameter is optional and should be an integer.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -637,25 +792,27 @@ def get_earliest_local_journal(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_earliest_local_journal_params.WebhookGetEarliestLocalJournalParams,
+ webhook_get_earliest_local_journal_entry_params.WebhookGetEarliestLocalJournalEntryParams,
),
),
cast_to=BinaryAPIResponse,
)
- def get_earliest_local_journal_batch(
+ def get_event_subscription(
self,
- count: int,
+ subscription_id: int,
*,
- install_portal_id: int | Omit = omit,
+ app_id: int,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> BatchResponseJournalFetchResponse:
+ ) -> SubscriptionResponse:
"""
+ Retrieve a specific event subscription by ID.
+
Args:
extra_headers: Send extra headers
@@ -666,21 +823,18 @@ def get_earliest_local_journal_batch(
timeout: Override the client-level default timeout for this request, in seconds
"""
return self._get(
- path_template("/webhooks-journal/journal-local/2026-03/batch/earliest/{count}", count=count),
+ path_template(
+ "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
+ app_id=app_id,
+ subscription_id=subscription_id,
+ ),
options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- query=maybe_transform(
- {"install_portal_id": install_portal_id},
- webhook_get_earliest_local_journal_batch_params.WebhookGetEarliestLocalJournalBatchParams,
- ),
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=BatchResponseJournalFetchResponse,
+ cast_to=SubscriptionResponse,
)
- def get_journal_batch(
+ def get_journal_batch_by_request(
self,
*,
inputs: SequenceNotStr[str],
@@ -692,10 +846,18 @@ def get_journal_batch(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BatchResponseJournalFetchResponse:
- """
+ """Read a batch of webhook journal entries for the specified portal.
+
+ This endpoint
+ allows you to retrieve detailed information about webhook events processed by
+ your HubSpot account. It is useful for auditing and tracking webhook activity.
+
Args:
inputs: Strings to input.
+ install_portal_id: The ID of the portal from which to retrieve webhook journal entries. This is an
+ integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -706,7 +868,9 @@ def get_journal_batch(
"""
return self._post(
"/webhooks-journal/journal/2026-03/batch/read",
- body=maybe_transform({"inputs": inputs}, webhook_get_journal_batch_params.WebhookGetJournalBatchParams),
+ body=maybe_transform(
+ {"inputs": inputs}, webhook_get_journal_batch_by_request_params.WebhookGetJournalBatchByRequestParams
+ ),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -714,13 +878,13 @@ def get_journal_batch(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_journal_batch_params.WebhookGetJournalBatchParams,
+ webhook_get_journal_batch_by_request_params.WebhookGetJournalBatchByRequestParams,
),
),
cast_to=BatchResponseJournalFetchResponse,
)
- def get_journal_batch_after_offset(
+ def get_journal_batch_from_offset(
self,
count: int,
*,
@@ -734,7 +898,14 @@ def get_journal_batch_after_offset(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BatchResponseJournalFetchResponse:
"""
+ Retrieve a batch of webhook journal entries starting from a specified offset.
+ This endpoint allows you to specify the number of entries to retrieve, helping
+ you manage and paginate through large sets of webhook data efficiently.
+
Args:
+ install_portal_id: The ID of the portal installation to filter the webhook journal entries. This
+ parameter is optional and is used to specify which portal's data to retrieve.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -754,7 +925,7 @@ def get_journal_batch_after_offset(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_journal_batch_after_offset_params.WebhookGetJournalBatchAfterOffsetParams,
+ webhook_get_journal_batch_from_offset_params.WebhookGetJournalBatchFromOffsetParams,
),
),
cast_to=BatchResponseJournalFetchResponse,
@@ -762,7 +933,43 @@ def get_journal_batch_after_offset(
def get_journal_status(
self,
- status_id: str,
+ status_id: str,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SnapshotStatusResponse:
+ """
+ Retrieve the status of a specific webhook journal entry using its unique status
+ ID. This endpoint is useful for monitoring the progress or outcome of a webhook
+ operation, providing insights into whether it is pending, in progress,
+ completed, failed, or expired.
+
+ Args:
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
+ """
+ if not status_id:
+ raise ValueError(f"Expected a non-empty value for `status_id` but received {status_id!r}")
+ return self._get(
+ path_template("/webhooks-journal/journal/2026-03/status/{status_id}", status_id=status_id),
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=SnapshotStatusResponse,
+ )
+
+ def get_journal_subscription(
+ self,
+ subscription_id: int,
*,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -770,8 +977,12 @@ def get_journal_status(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SnapshotStatusResponse:
+ ) -> SubscriptionResponse1:
"""
+ Retrieve details of a specific webhook journal subscription using its unique
+ identifier. This endpoint is useful for obtaining information about a particular
+ subscription, such as its actions, object types, and associated properties.
+
Args:
extra_headers: Send extra headers
@@ -781,18 +992,17 @@ def get_journal_status(
timeout: Override the client-level default timeout for this request, in seconds
"""
- if not status_id:
- raise ValueError(f"Expected a non-empty value for `status_id` but received {status_id!r}")
return self._get(
- path_template("/webhooks-journal/journal/2026-03/status/{status_id}", status_id=status_id),
+ path_template("/webhooks-journal/subscriptions/2026-03/{subscription_id}", subscription_id=subscription_id),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=SnapshotStatusResponse,
+ cast_to=SubscriptionResponse1,
)
- def get_latest_journal(
+ def get_latest_journal_batch(
self,
+ count: int,
*,
install_portal_id: int | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -801,9 +1011,17 @@ def get_latest_journal(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> BinaryAPIResponse:
+ ) -> BatchResponseJournalFetchResponse:
"""
+ Retrieve the latest batch of webhook journal entries up to a specified count.
+ This endpoint is useful for fetching the most recent webhook events processed by
+ your HubSpot account. The response includes details about each event, and you
+ can specify the number of entries to retrieve.
+
Args:
+ install_portal_id: The ID of the portal installation. This parameter is optional and can be used to
+ filter results by a specific portal.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -812,9 +1030,8 @@ def get_latest_journal(
timeout: Override the client-level default timeout for this request, in seconds
"""
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._get(
- "/webhooks-journal/journal/2026-03/latest",
+ path_template("/webhooks-journal/journal/2026-03/batch/latest/{count}", count=count),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -822,15 +1039,14 @@ def get_latest_journal(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_latest_journal_params.WebhookGetLatestJournalParams,
+ webhook_get_latest_journal_batch_params.WebhookGetLatestJournalBatchParams,
),
),
- cast_to=BinaryAPIResponse,
+ cast_to=BatchResponseJournalFetchResponse,
)
- def get_latest_journal_batch(
+ def get_latest_journal_entry(
self,
- count: int,
*,
install_portal_id: int | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -839,9 +1055,16 @@ def get_latest_journal_batch(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> BatchResponseJournalFetchResponse:
+ ) -> BinaryAPIResponse:
"""
+ Retrieve the latest entry from the webhooks journal for the specified portal.
+ This endpoint is useful for accessing the most recent webhook data available in
+ the journal.
+
Args:
+ install_portal_id: The ID of the portal for which to retrieve the latest journal entry. It is an
+ integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -850,8 +1073,9 @@ def get_latest_journal_batch(
timeout: Override the client-level default timeout for this request, in seconds
"""
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._get(
- path_template("/webhooks-journal/journal/2026-03/batch/latest/{count}", count=count),
+ "/webhooks-journal/journal/2026-03/latest",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -859,14 +1083,15 @@ def get_latest_journal_batch(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_latest_journal_batch_params.WebhookGetLatestJournalBatchParams,
+ webhook_get_latest_journal_entry_params.WebhookGetLatestJournalEntryParams,
),
),
- cast_to=BatchResponseJournalFetchResponse,
+ cast_to=BinaryAPIResponse,
)
- def get_latest_local_journal(
+ def get_latest_local_journal_batch(
self,
+ count: int,
*,
install_portal_id: int | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -875,9 +1100,16 @@ def get_latest_local_journal(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> BinaryAPIResponse:
+ ) -> BatchResponseJournalFetchResponse:
"""
+ Retrieve the latest batch of webhook journal entries up to a specified count.
+ This endpoint is useful for fetching the most recent webhook events processed by
+ the system. It requires authentication and supports various security schemes.
+
Args:
+ install_portal_id: The ID of the portal installation to filter the webhook journal entries. It is
+ an optional integer parameter.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -886,9 +1118,8 @@ def get_latest_local_journal(
timeout: Override the client-level default timeout for this request, in seconds
"""
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._get(
- "/webhooks-journal/journal-local/2026-03/latest",
+ path_template("/webhooks-journal/journal-local/2026-03/batch/latest/{count}", count=count),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -896,15 +1127,14 @@ def get_latest_local_journal(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_latest_local_journal_params.WebhookGetLatestLocalJournalParams,
+ webhook_get_latest_local_journal_batch_params.WebhookGetLatestLocalJournalBatchParams,
),
),
- cast_to=BinaryAPIResponse,
+ cast_to=BatchResponseJournalFetchResponse,
)
- def get_latest_local_journal_batch(
+ def get_latest_local_journal_entry(
self,
- count: int,
*,
install_portal_id: int | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -913,9 +1143,18 @@ def get_latest_local_journal_batch(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> BatchResponseJournalFetchResponse:
- """
+ ) -> BinaryAPIResponse:
+ """Retrieve the latest entries from the webhooks journal.
+
+ This endpoint is useful
+ for accessing the most recent webhook data for analysis or troubleshooting. It
+ supports filtering by the installPortalId to narrow down results to a specific
+ portal.
+
Args:
+ install_portal_id: An integer representing the ID of the portal to filter the webhook journal
+ entries.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -924,8 +1163,9 @@ def get_latest_local_journal_batch(
timeout: Override the client-level default timeout for this request, in seconds
"""
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return self._get(
- path_template("/webhooks-journal/journal-local/2026-03/batch/latest/{count}", count=count),
+ "/webhooks-journal/journal-local/2026-03/latest",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -933,13 +1173,13 @@ def get_latest_local_journal_batch(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_latest_local_journal_batch_params.WebhookGetLatestLocalJournalBatchParams,
+ webhook_get_latest_local_journal_entry_params.WebhookGetLatestLocalJournalEntryParams,
),
),
- cast_to=BatchResponseJournalFetchResponse,
+ cast_to=BinaryAPIResponse,
)
- def get_local_journal_batch(
+ def get_local_journal_batch_by_request(
self,
*,
inputs: SequenceNotStr[str],
@@ -951,10 +1191,18 @@ def get_local_journal_batch(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BatchResponseJournalFetchResponse:
- """
+ """Perform a batch read operation on the webhooks journal.
+
+ This endpoint allows you
+ to retrieve a batch of journal entries by providing the necessary input data. It
+ is useful for processing large volumes of webhook data efficiently.
+
Args:
inputs: Strings to input.
+ install_portal_id: The ID of the portal where the webhook is installed. This parameter is optional
+ and is used to specify the portal context for the operation.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -966,7 +1214,8 @@ def get_local_journal_batch(
return self._post(
"/webhooks-journal/journal-local/2026-03/batch/read",
body=maybe_transform(
- {"inputs": inputs}, webhook_get_local_journal_batch_params.WebhookGetLocalJournalBatchParams
+ {"inputs": inputs},
+ webhook_get_local_journal_batch_by_request_params.WebhookGetLocalJournalBatchByRequestParams,
),
options=make_request_options(
extra_headers=extra_headers,
@@ -975,13 +1224,13 @@ def get_local_journal_batch(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_local_journal_batch_params.WebhookGetLocalJournalBatchParams,
+ webhook_get_local_journal_batch_by_request_params.WebhookGetLocalJournalBatchByRequestParams,
),
),
cast_to=BatchResponseJournalFetchResponse,
)
- def get_local_journal_batch_after_offset(
+ def get_local_journal_batch_from_offset(
self,
count: int,
*,
@@ -995,7 +1244,13 @@ def get_local_journal_batch_after_offset(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BatchResponseJournalFetchResponse:
"""
+ Retrieve a batch of webhook journal entries starting from a specified offset.
+ This endpoint is useful for fetching sequential batches of data, allowing you to
+ paginate through large sets of webhook journal entries efficiently.
+
Args:
+ install_portal_id: The ID of the portal where the webhooks are installed. This is an integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -1017,7 +1272,7 @@ def get_local_journal_batch_after_offset(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_local_journal_batch_after_offset_params.WebhookGetLocalJournalBatchAfterOffsetParams,
+ webhook_get_local_journal_batch_from_offset_params.WebhookGetLocalJournalBatchFromOffsetParams,
),
),
cast_to=BatchResponseJournalFetchResponse,
@@ -1035,6 +1290,11 @@ def get_local_journal_status(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> SnapshotStatusResponse:
"""
+ Retrieve the status of a specific webhook journal entry using its unique status
+ ID. This endpoint is useful for checking the progress or result of a webhook
+ operation, such as whether it is pending, in progress, completed, failed, or
+ expired.
+
Args:
extra_headers: Send extra headers
@@ -1054,7 +1314,7 @@ def get_local_journal_status(
cast_to=SnapshotStatusResponse,
)
- def get_next_journal_after_offset(
+ def get_next_journal_entries(
self,
offset: str,
*,
@@ -1067,7 +1327,14 @@ def get_next_journal_after_offset(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BinaryAPIResponse:
"""
+ Retrieve the next set of webhook journal entries starting from a specified
+ offset. This endpoint is useful for paginating through webhook journal entries
+ in a HubSpot account. It allows you to continue fetching entries from where the
+ last request left off, using the offset parameter.
+
Args:
+ install_portal_id: The ID of the portal where the webhooks are installed. This is an integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -1088,13 +1355,13 @@ def get_next_journal_after_offset(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_next_journal_after_offset_params.WebhookGetNextJournalAfterOffsetParams,
+ webhook_get_next_journal_entries_params.WebhookGetNextJournalEntriesParams,
),
),
cast_to=BinaryAPIResponse,
)
- def get_next_local_journal_after_offset(
+ def get_next_local_journal_entries(
self,
offset: str,
*,
@@ -1106,8 +1373,17 @@ def get_next_local_journal_after_offset(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BinaryAPIResponse:
- """
+ """Retrieve the next set of journal entries starting from a specified offset.
+
+ This
+ endpoint is useful for paginating through webhook journal entries in a
+ sequential manner. It requires specifying the offset from which the next entries
+ should be fetched.
+
Args:
+ install_portal_id: The ID of the portal installation to filter the journal entries by. This is an
+ optional parameter.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -1128,7 +1404,7 @@ def get_next_local_journal_after_offset(
timeout=timeout,
query=maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_next_local_journal_after_offset_params.WebhookGetNextLocalJournalAfterOffsetParams,
+ webhook_get_next_local_journal_entries_params.WebhookGetNextLocalJournalEntriesParams,
),
),
cast_to=BinaryAPIResponse,
@@ -1166,42 +1442,6 @@ def get_settings(
cast_to=SettingsResponse,
)
- def get_subscription(
- self,
- subscription_id: int,
- *,
- app_id: int,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse:
- """
- Retrieve a specific event subscription by ID.
-
- Args:
- extra_headers: Send extra headers
-
- extra_query: Add additional query parameters to the request
-
- extra_body: Add additional JSON properties to the request
-
- timeout: Override the client-level default timeout for this request, in seconds
- """
- return self._get(
- path_template(
- "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
- app_id=app_id,
- subscription_id=subscription_id,
- ),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=SubscriptionResponse,
- )
-
def get_subscription_filter(
self,
filter_id: int,
@@ -1213,7 +1453,13 @@ def get_subscription_filter(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> FilterResponse:
- """
+ """Retrieve a specific filter associated with a webhook journal subscription.
+
+ This
+ endpoint allows you to access detailed information about the filter identified
+ by the filterId path parameter. It is useful for managing and reviewing filter
+ configurations within your webhook subscriptions.
+
Args:
extra_headers: Send extra headers
@@ -1231,9 +1477,9 @@ def get_subscription_filter(
cast_to=FilterResponse,
)
- def get_subscription_filters(
+ def list_event_subscriptions(
self,
- subscription_id: int,
+ app_id: int,
*,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1241,8 +1487,10 @@ def get_subscription_filters(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> WebhookGetSubscriptionFiltersResponse:
+ ) -> SubscriptionListResponse:
"""
+ Retrieve event subscriptions for the specified app.
+
Args:
extra_headers: Send extra headers
@@ -1253,14 +1501,11 @@ def get_subscription_filters(
timeout: Override the client-level default timeout for this request, in seconds
"""
return self._get(
- path_template(
- "/webhooks-journal/subscriptions/2026-03/filters/subscription/{subscription_id}",
- subscription_id=subscription_id,
- ),
+ path_template("/webhooks/2026-03/{app_id}/subscriptions", app_id=app_id),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=WebhookGetSubscriptionFiltersResponse,
+ cast_to=SubscriptionListResponse,
)
def list_journal_subscriptions(
@@ -1273,6 +1518,12 @@ def list_journal_subscriptions(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CollectionResponseSubscriptionResponseNoPaging:
+ """Retrieve a list of webhook journal subscriptions for the specified version.
+
+ This
+ endpoint allows you to view all active subscriptions without pagination. It is
+ useful for managing and auditing webhook subscriptions in your HubSpot account.
+ """
return self._get(
"/webhooks-journal/subscriptions/2026-03",
options=make_request_options(
@@ -1281,9 +1532,9 @@ def list_journal_subscriptions(
cast_to=CollectionResponseSubscriptionResponseNoPaging,
)
- def list_subscriptions(
+ def list_subscription_filters(
self,
- app_id: int,
+ subscription_id: int,
*,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1291,9 +1542,13 @@ def list_subscriptions(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionListResponse:
- """
- Retrieve event subscriptions for the specified app.
+ ) -> WebhookListSubscriptionFiltersResponse:
+ """Retrieve the filters associated with a specific webhook subscription.
+
+ This
+ endpoint is useful for obtaining detailed information about the filters applied
+ to a subscription, which can help in managing and understanding the data flow
+ through your webhook integrations.
Args:
extra_headers: Send extra headers
@@ -1305,33 +1560,36 @@ def list_subscriptions(
timeout: Override the client-level default timeout for this request, in seconds
"""
return self._get(
- path_template("/webhooks/2026-03/{app_id}/subscriptions", app_id=app_id),
+ path_template(
+ "/webhooks-journal/subscriptions/2026-03/filters/subscription/{subscription_id}",
+ subscription_id=subscription_id,
+ ),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=SubscriptionListResponse,
+ cast_to=WebhookListSubscriptionFiltersResponse,
)
- def update_settings(
+ def update_event_subscription(
self,
- app_id: int,
+ subscription_id: int,
*,
- target_url: str,
- throttling: ThrottlingSettingsParam,
+ app_id: int,
+ active: bool | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SettingsResponse:
+ ) -> SubscriptionResponse:
"""
- Update webhook settings for the specified app.
+ Update an existing event subscription by ID.
Args:
- target_url: A publicly available URL for Hubspot to call where event payloads will be
- delivered. See [link-so-some-doc](#) for details about the format of these event
- payloads.
+ active: Whether to activate or pause the webhook subscription. If true, the subscription
+ will send webhook notifications. If false, the subscription is paused and will
+ not send notifications.
extra_headers: Send extra headers
@@ -1341,41 +1599,41 @@ def update_settings(
timeout: Override the client-level default timeout for this request, in seconds
"""
- return self._put(
- path_template("/webhooks/2026-03/{app_id}/settings", app_id=app_id),
+ return self._patch(
+ path_template(
+ "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
+ app_id=app_id,
+ subscription_id=subscription_id,
+ ),
body=maybe_transform(
- {
- "target_url": target_url,
- "throttling": throttling,
- },
- webhook_update_settings_params.WebhookUpdateSettingsParams,
+ {"active": active}, webhook_update_event_subscription_params.WebhookUpdateEventSubscriptionParams
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=SettingsResponse,
+ cast_to=SubscriptionResponse,
)
- def update_subscription(
+ def update_settings(
self,
- subscription_id: int,
- *,
app_id: int,
- active: bool | Omit = omit,
+ *,
+ target_url: str,
+ throttling: ThrottlingSettingsParam,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse:
+ ) -> SettingsResponse:
"""
- Update an existing event subscription by ID.
+ Update webhook settings for the specified app.
Args:
- active: Whether to activate or pause the webhook subscription. If true, the subscription
- will send webhook notifications. If false, the subscription is paused and will
- not send notifications.
+ target_url: A publicly available URL for Hubspot to call where event payloads will be
+ delivered. See [link-so-some-doc](#) for details about the format of these event
+ payloads.
extra_headers: Send extra headers
@@ -1385,19 +1643,19 @@ def update_subscription(
timeout: Override the client-level default timeout for this request, in seconds
"""
- return self._patch(
- path_template(
- "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
- app_id=app_id,
- subscription_id=subscription_id,
- ),
+ return self._put(
+ path_template("/webhooks/2026-03/{app_id}/settings", app_id=app_id),
body=maybe_transform(
- {"active": active}, webhook_update_subscription_params.WebhookUpdateSubscriptionParams
+ {
+ "target_url": target_url,
+ "throttling": throttling,
+ },
+ webhook_update_settings_params.WebhookUpdateSettingsParams,
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=SubscriptionResponse,
+ cast_to=SettingsResponse,
)
@@ -1421,19 +1679,25 @@ def with_streaming_response(self) -> AsyncWebhooksResourceWithStreamingResponse:
"""
return AsyncWebhooksResourceWithStreamingResponse(self)
- async def create_crm_snapshot(
+ async def create_batch_event_subscriptions(
self,
+ app_id: int,
*,
- snapshot_requests: Iterable[CrmObjectSnapshotRequestParam],
+ inputs: Iterable[SubscriptionBatchUpdateRequestParam],
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> CrmObjectSnapshotBatchResponse:
+ ) -> BatchResponseSubscriptionResponse:
"""
+ Batch create event subscriptions for the specified app.
+
Args:
+ inputs: An array of SubscriptionBatchUpdateRequest objects, each representing a
+ subscription to be updated. This property is required.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -1443,80 +1707,60 @@ async def create_crm_snapshot(
timeout: Override the client-level default timeout for this request, in seconds
"""
return await self._post(
- "/webhooks-journal/snapshots/2026-03/crm",
+ path_template("/webhooks/2026-03/{app_id}/subscriptions/batch/update", app_id=app_id),
body=await async_maybe_transform(
- {"snapshot_requests": snapshot_requests},
- webhook_create_crm_snapshot_params.WebhookCreateCrmSnapshotParams,
+ {"inputs": inputs},
+ webhook_create_batch_event_subscriptions_params.WebhookCreateBatchEventSubscriptionsParams,
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=CrmObjectSnapshotBatchResponse,
+ cast_to=BatchResponseSubscriptionResponse,
)
-
- @overload
- async def create_journal_subscription(
- self,
- *,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse1: ...
- @overload
- async def create_journal_subscription(
- self,
- *,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse1: ...
- @overload
- async def create_journal_subscription(
- self,
- *,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse1: ...
- @overload
- async def create_journal_subscription(
- self,
- *,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse1: ...
- async def create_journal_subscription(
+
+ async def create_crm_snapshots(
self,
*,
+ snapshot_requests: Iterable[CrmObjectSnapshotRequestParam],
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse1:
+ ) -> CrmObjectSnapshotBatchResponse:
+ """Create a batch of CRM object snapshots for a specified portal.
+
+ This endpoint
+ allows you to capture the current state of CRM objects by submitting a batch
+ request with the necessary object details. It is useful for tracking changes or
+ maintaining historical records of CRM data.
+
+ Args:
+ snapshot_requests: An array of CrmObjectSnapshotRequest objects, each representing a request to
+ capture a snapshot of a specific CRM object. This property is required.
+
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
+ """
return await self._post(
- "/webhooks-journal/subscriptions/2026-03",
+ "/webhooks-journal/snapshots/2026-03/crm",
+ body=await async_maybe_transform(
+ {"snapshot_requests": snapshot_requests},
+ webhook_create_crm_snapshots_params.WebhookCreateCrmSnapshotsParams,
+ ),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=SubscriptionResponse1,
+ cast_to=CrmObjectSnapshotBatchResponse,
)
- async def create_subscription(
+ async def create_event_subscription(
self,
app_id: int,
*,
@@ -1585,20 +1829,20 @@ async def create_subscription(
Create new event subscription for the specified app.
Args:
- active: Determines if the subscription is active or paused. Defaults to false.
+ active: A boolean indicating whether the subscription is active. This field is required.
- event_type: Type of event to listen for. Can be one of `create`, `delete`,
- `deletedForPrivacy`, or `propertyChange`.
+ event_type: A string representing the type of event to subscribe to. Valid values include
+ various object changes such as 'contact.propertyChange', 'deal.creation', and
+ 'conversation.newMessage'.
- event_type_name: The name of the event to listen for. This is used with custom objects to specify
- custom event types beyond the standard eventType enum values.
+ event_type_name: A string that provides a human-readable name for the event type. This is
+ optional.
- object_type_id: The ID of the object type for the subscription. This can be a standard CRM
- object (e.g., 'contact', 'company', 'deal') or a custom object ID for custom
- object subscriptions.
+ object_type_id: A string representing the identifier of the object type for which the
+ subscription is being created. This is optional.
- property_name: The internal name of the property to monitor for changes. Only applies when
- `eventType` is `propertyChange`.
+ property_name: A string indicating the name of the property that triggers the event. This is
+ optional and used when subscribing to property change events.
extra_headers: Send extra headers
@@ -1618,7 +1862,7 @@ async def create_subscription(
"object_type_id": object_type_id,
"property_name": property_name,
},
- webhook_create_subscription_params.WebhookCreateSubscriptionParams,
+ webhook_create_event_subscription_params.WebhookCreateEventSubscriptionParams,
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
@@ -1626,6 +1870,119 @@ async def create_subscription(
cast_to=SubscriptionResponse,
)
+ @overload
+ async def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Create a new subscription in the webhooks journal for the specified version.
+ This endpoint allows you to define the subscription details, including actions
+ and object types, to manage webhook events effectively. It requires a valid
+ request body with the subscription details.
+ """
+ ...
+
+ @overload
+ async def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Create a new subscription in the webhooks journal for the specified version.
+ This endpoint allows you to define the subscription details, including actions
+ and object types, to manage webhook events effectively. It requires a valid
+ request body with the subscription details.
+ """
+ ...
+
+ @overload
+ async def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Create a new subscription in the webhooks journal for the specified version.
+ This endpoint allows you to define the subscription details, including actions
+ and object types, to manage webhook events effectively. It requires a valid
+ request body with the subscription details.
+ """
+ ...
+
+ @overload
+ async def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Create a new subscription in the webhooks journal for the specified version.
+ This endpoint allows you to define the subscription details, including actions
+ and object types, to manage webhook events effectively. It requires a valid
+ request body with the subscription details.
+ """
+ ...
+
+ @overload
+ async def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Create a new subscription in the webhooks journal for the specified version.
+ This endpoint allows you to define the subscription details, including actions
+ and object types, to manage webhook events effectively. It requires a valid
+ request body with the subscription details.
+ """
+ ...
+
+ async def create_journal_subscription(
+ self,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ return await self._post(
+ "/webhooks-journal/subscriptions/2026-03",
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=SubscriptionResponse1,
+ )
+
async def create_subscription_filter(
self,
*,
@@ -1638,12 +1995,21 @@ async def create_subscription_filter(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> FilterCreateResponse:
- """
+ """Create a new filter for a webhook subscription in the HubSpot account.
+
+ This
+ endpoint allows you to define conditions that determine when a webhook event
+ should be triggered for a specific subscription. The request body must include
+ the subscription ID and the filter details.
+
Args:
filter: Defines a single condition for searching CRM objects, specifying the property to
filter on, the operator to use (such as equals, greater than, or contains), and
the value(s) to compare against.
+ subscription_id: The unique identifier of the subscription to which the filter will be applied.
+ It is an integer in int64 format.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -1667,20 +2033,20 @@ async def create_subscription_filter(
cast_to=FilterCreateResponse,
)
- async def create_subscriptions_batch(
+ async def delete_event_subscription(
self,
- app_id: int,
+ subscription_id: int,
*,
- inputs: Iterable[SubscriptionBatchUpdateRequestParam],
+ app_id: int,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> BatchResponseSubscriptionResponse:
+ ) -> None:
"""
- Batch create event subscriptions for the specified app.
+ Delete an existing event subscription by ID.
Args:
extra_headers: Send extra headers
@@ -1691,15 +2057,17 @@ async def create_subscriptions_batch(
timeout: Override the client-level default timeout for this request, in seconds
"""
- return await self._post(
- path_template("/webhooks/2026-03/{app_id}/subscriptions/batch/update", app_id=app_id),
- body=await async_maybe_transform(
- {"inputs": inputs}, webhook_create_subscriptions_batch_params.WebhookCreateSubscriptionsBatchParams
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
+ return await self._delete(
+ path_template(
+ "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
+ app_id=app_id,
+ subscription_id=subscription_id,
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=BatchResponseSubscriptionResponse,
+ cast_to=NoneType,
)
async def delete_journal_subscription(
@@ -1713,7 +2081,12 @@ async def delete_journal_subscription(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> None:
- """
+ """Delete a specific webhook journal subscription using its unique identifier.
+
+ This
+ operation is useful for managing and cleaning up subscriptions that are no
+ longer needed.
+
Args:
extra_headers: Send extra headers
@@ -1732,7 +2105,7 @@ async def delete_journal_subscription(
cast_to=NoneType,
)
- async def delete_portal_subscriptions(
+ async def delete_journal_subscription_for_portal(
self,
portal_id: int,
*,
@@ -1743,7 +2116,12 @@ async def delete_portal_subscriptions(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> None:
- """
+ """Delete a webhook journal subscription for a specific portal.
+
+ This operation
+ removes the subscription associated with the given portalId, effectively
+ stopping any webhook events from being sent to the portal.
+
Args:
extra_headers: Send extra headers
@@ -1796,11 +2174,10 @@ async def delete_settings(
cast_to=NoneType,
)
- async def delete_subscription(
+ async def delete_subscription_filter(
self,
- subscription_id: int,
+ filter_id: int,
*,
- app_id: int,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
@@ -1808,8 +2185,12 @@ async def delete_subscription(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> None:
- """
- Delete an existing event subscription by ID.
+ """Remove a specific filter from your webhook journal subscriptions.
+
+ This operation
+ is useful when you need to clean up or modify the filters applied to your
+ webhook subscriptions. The filter identified by the filterId will be permanently
+ deleted.
Args:
extra_headers: Send extra headers
@@ -1822,30 +2203,35 @@ async def delete_subscription(
"""
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._delete(
- path_template(
- "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
- app_id=app_id,
- subscription_id=subscription_id,
- ),
+ path_template("/webhooks-journal/subscriptions/2026-03/filters/{filter_id}", filter_id=filter_id),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
cast_to=NoneType,
)
- async def delete_subscription_filter(
+ async def get_earliest_journal_batch(
self,
- filter_id: int,
+ count: int,
*,
+ install_portal_id: int | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> None:
- """
+ ) -> BatchResponseJournalFetchResponse:
+ """Retrieve the earliest batch of webhook journal entries up to the specified
+ count.
+
+ This endpoint is useful for fetching historical webhook data in batches,
+ allowing you to process or analyze them as needed.
+
Args:
+ install_portal_id: The ID of the portal installation for which to fetch the journal entries. This
+ is an optional parameter.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -1854,16 +2240,22 @@ async def delete_subscription_filter(
timeout: Override the client-level default timeout for this request, in seconds
"""
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
- return await self._delete(
- path_template("/webhooks-journal/subscriptions/2026-03/filters/{filter_id}", filter_id=filter_id),
+ return await self._get(
+ path_template("/webhooks-journal/journal/2026-03/batch/earliest/{count}", count=count),
options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ extra_headers=extra_headers,
+ extra_query=extra_query,
+ extra_body=extra_body,
+ timeout=timeout,
+ query=await async_maybe_transform(
+ {"install_portal_id": install_portal_id},
+ webhook_get_earliest_journal_batch_params.WebhookGetEarliestJournalBatchParams,
+ ),
),
- cast_to=NoneType,
+ cast_to=BatchResponseJournalFetchResponse,
)
- async def get_earliest_journal(
+ async def get_earliest_journal_entry(
self,
*,
install_portal_id: int | Omit = omit,
@@ -1875,7 +2267,14 @@ async def get_earliest_journal(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AsyncBinaryAPIResponse:
"""
+ Retrieve the earliest entry from the webhooks journal for the specified portal.
+ This endpoint is useful for accessing the initial entries in the journal, which
+ can be helpful for debugging or auditing purposes.
+
Args:
+ install_portal_id: The ID of the portal installation to filter the journal entries. This is an
+ integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -1894,13 +2293,13 @@ async def get_earliest_journal(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_earliest_journal_params.WebhookGetEarliestJournalParams,
+ webhook_get_earliest_journal_entry_params.WebhookGetEarliestJournalEntryParams,
),
),
cast_to=AsyncBinaryAPIResponse,
)
- async def get_earliest_journal_batch(
+ async def get_earliest_local_journal_batch(
self,
count: int,
*,
@@ -1913,7 +2312,14 @@ async def get_earliest_journal_batch(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BatchResponseJournalFetchResponse:
"""
+ Retrieve the earliest batch of webhook journal entries up to a specified count.
+ This endpoint is useful for accessing the oldest records available in the
+ webhook journal, allowing you to process or analyze historical webhook data.
+
Args:
+ install_portal_id: The ID of the portal installation to filter the webhook journal entries. It is
+ an integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -1923,7 +2329,7 @@ async def get_earliest_journal_batch(
timeout: Override the client-level default timeout for this request, in seconds
"""
return await self._get(
- path_template("/webhooks-journal/journal/2026-03/batch/earliest/{count}", count=count),
+ path_template("/webhooks-journal/journal-local/2026-03/batch/earliest/{count}", count=count),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -1931,13 +2337,13 @@ async def get_earliest_journal_batch(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_earliest_journal_batch_params.WebhookGetEarliestJournalBatchParams,
+ webhook_get_earliest_local_journal_batch_params.WebhookGetEarliestLocalJournalBatchParams,
),
),
cast_to=BatchResponseJournalFetchResponse,
)
- async def get_earliest_local_journal(
+ async def get_earliest_local_journal_entry(
self,
*,
install_portal_id: int | Omit = omit,
@@ -1949,7 +2355,14 @@ async def get_earliest_local_journal(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AsyncBinaryAPIResponse:
"""
+ Retrieve the earliest entry from the webhooks journal for the specified portal.
+ This endpoint is useful for accessing the oldest available data in the journal,
+ which can be used for historical analysis or troubleshooting.
+
Args:
+ install_portal_id: The ID of the portal for which to retrieve the earliest journal entry. This
+ parameter is optional and should be an integer.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -1968,25 +2381,27 @@ async def get_earliest_local_journal(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_earliest_local_journal_params.WebhookGetEarliestLocalJournalParams,
+ webhook_get_earliest_local_journal_entry_params.WebhookGetEarliestLocalJournalEntryParams,
),
),
cast_to=AsyncBinaryAPIResponse,
)
- async def get_earliest_local_journal_batch(
+ async def get_event_subscription(
self,
- count: int,
+ subscription_id: int,
*,
- install_portal_id: int | Omit = omit,
+ app_id: int,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> BatchResponseJournalFetchResponse:
+ ) -> SubscriptionResponse:
"""
+ Retrieve a specific event subscription by ID.
+
Args:
extra_headers: Send extra headers
@@ -1997,21 +2412,18 @@ async def get_earliest_local_journal_batch(
timeout: Override the client-level default timeout for this request, in seconds
"""
return await self._get(
- path_template("/webhooks-journal/journal-local/2026-03/batch/earliest/{count}", count=count),
+ path_template(
+ "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
+ app_id=app_id,
+ subscription_id=subscription_id,
+ ),
options=make_request_options(
- extra_headers=extra_headers,
- extra_query=extra_query,
- extra_body=extra_body,
- timeout=timeout,
- query=await async_maybe_transform(
- {"install_portal_id": install_portal_id},
- webhook_get_earliest_local_journal_batch_params.WebhookGetEarliestLocalJournalBatchParams,
- ),
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=BatchResponseJournalFetchResponse,
+ cast_to=SubscriptionResponse,
)
- async def get_journal_batch(
+ async def get_journal_batch_by_request(
self,
*,
inputs: SequenceNotStr[str],
@@ -2023,10 +2435,18 @@ async def get_journal_batch(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BatchResponseJournalFetchResponse:
- """
+ """Read a batch of webhook journal entries for the specified portal.
+
+ This endpoint
+ allows you to retrieve detailed information about webhook events processed by
+ your HubSpot account. It is useful for auditing and tracking webhook activity.
+
Args:
inputs: Strings to input.
+ install_portal_id: The ID of the portal from which to retrieve webhook journal entries. This is an
+ integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -2038,7 +2458,7 @@ async def get_journal_batch(
return await self._post(
"/webhooks-journal/journal/2026-03/batch/read",
body=await async_maybe_transform(
- {"inputs": inputs}, webhook_get_journal_batch_params.WebhookGetJournalBatchParams
+ {"inputs": inputs}, webhook_get_journal_batch_by_request_params.WebhookGetJournalBatchByRequestParams
),
options=make_request_options(
extra_headers=extra_headers,
@@ -2047,13 +2467,13 @@ async def get_journal_batch(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_journal_batch_params.WebhookGetJournalBatchParams,
+ webhook_get_journal_batch_by_request_params.WebhookGetJournalBatchByRequestParams,
),
),
cast_to=BatchResponseJournalFetchResponse,
)
- async def get_journal_batch_after_offset(
+ async def get_journal_batch_from_offset(
self,
count: int,
*,
@@ -2067,7 +2487,14 @@ async def get_journal_batch_after_offset(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BatchResponseJournalFetchResponse:
"""
+ Retrieve a batch of webhook journal entries starting from a specified offset.
+ This endpoint allows you to specify the number of entries to retrieve, helping
+ you manage and paginate through large sets of webhook data efficiently.
+
Args:
+ install_portal_id: The ID of the portal installation to filter the webhook journal entries. This
+ parameter is optional and is used to specify which portal's data to retrieve.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -2087,7 +2514,7 @@ async def get_journal_batch_after_offset(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_journal_batch_after_offset_params.WebhookGetJournalBatchAfterOffsetParams,
+ webhook_get_journal_batch_from_offset_params.WebhookGetJournalBatchFromOffsetParams,
),
),
cast_to=BatchResponseJournalFetchResponse,
@@ -2105,6 +2532,46 @@ async def get_journal_status(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> SnapshotStatusResponse:
"""
+ Retrieve the status of a specific webhook journal entry using its unique status
+ ID. This endpoint is useful for monitoring the progress or outcome of a webhook
+ operation, providing insights into whether it is pending, in progress,
+ completed, failed, or expired.
+
+ Args:
+ extra_headers: Send extra headers
+
+ extra_query: Add additional query parameters to the request
+
+ extra_body: Add additional JSON properties to the request
+
+ timeout: Override the client-level default timeout for this request, in seconds
+ """
+ if not status_id:
+ raise ValueError(f"Expected a non-empty value for `status_id` but received {status_id!r}")
+ return await self._get(
+ path_template("/webhooks-journal/journal/2026-03/status/{status_id}", status_id=status_id),
+ options=make_request_options(
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
+ ),
+ cast_to=SnapshotStatusResponse,
+ )
+
+ async def get_journal_subscription(
+ self,
+ subscription_id: int,
+ *,
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
+ # The extra values given here take precedence over values defined on the client or passed to this method.
+ extra_headers: Headers | None = None,
+ extra_query: Query | None = None,
+ extra_body: Body | None = None,
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
+ ) -> SubscriptionResponse1:
+ """
+ Retrieve details of a specific webhook journal subscription using its unique
+ identifier. This endpoint is useful for obtaining information about a particular
+ subscription, such as its actions, object types, and associated properties.
+
Args:
extra_headers: Send extra headers
@@ -2114,18 +2581,17 @@ async def get_journal_status(
timeout: Override the client-level default timeout for this request, in seconds
"""
- if not status_id:
- raise ValueError(f"Expected a non-empty value for `status_id` but received {status_id!r}")
return await self._get(
- path_template("/webhooks-journal/journal/2026-03/status/{status_id}", status_id=status_id),
+ path_template("/webhooks-journal/subscriptions/2026-03/{subscription_id}", subscription_id=subscription_id),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=SnapshotStatusResponse,
+ cast_to=SubscriptionResponse1,
)
- async def get_latest_journal(
+ async def get_latest_journal_batch(
self,
+ count: int,
*,
install_portal_id: int | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -2134,9 +2600,17 @@ async def get_latest_journal(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> AsyncBinaryAPIResponse:
+ ) -> BatchResponseJournalFetchResponse:
"""
+ Retrieve the latest batch of webhook journal entries up to a specified count.
+ This endpoint is useful for fetching the most recent webhook events processed by
+ your HubSpot account. The response includes details about each event, and you
+ can specify the number of entries to retrieve.
+
Args:
+ install_portal_id: The ID of the portal installation. This parameter is optional and can be used to
+ filter results by a specific portal.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -2145,9 +2619,8 @@ async def get_latest_journal(
timeout: Override the client-level default timeout for this request, in seconds
"""
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._get(
- "/webhooks-journal/journal/2026-03/latest",
+ path_template("/webhooks-journal/journal/2026-03/batch/latest/{count}", count=count),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -2155,15 +2628,14 @@ async def get_latest_journal(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_latest_journal_params.WebhookGetLatestJournalParams,
+ webhook_get_latest_journal_batch_params.WebhookGetLatestJournalBatchParams,
),
),
- cast_to=AsyncBinaryAPIResponse,
+ cast_to=BatchResponseJournalFetchResponse,
)
- async def get_latest_journal_batch(
+ async def get_latest_journal_entry(
self,
- count: int,
*,
install_portal_id: int | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -2172,9 +2644,16 @@ async def get_latest_journal_batch(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> BatchResponseJournalFetchResponse:
+ ) -> AsyncBinaryAPIResponse:
"""
+ Retrieve the latest entry from the webhooks journal for the specified portal.
+ This endpoint is useful for accessing the most recent webhook data available in
+ the journal.
+
Args:
+ install_portal_id: The ID of the portal for which to retrieve the latest journal entry. It is an
+ integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -2183,8 +2662,9 @@ async def get_latest_journal_batch(
timeout: Override the client-level default timeout for this request, in seconds
"""
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._get(
- path_template("/webhooks-journal/journal/2026-03/batch/latest/{count}", count=count),
+ "/webhooks-journal/journal/2026-03/latest",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -2192,14 +2672,15 @@ async def get_latest_journal_batch(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_latest_journal_batch_params.WebhookGetLatestJournalBatchParams,
+ webhook_get_latest_journal_entry_params.WebhookGetLatestJournalEntryParams,
),
),
- cast_to=BatchResponseJournalFetchResponse,
+ cast_to=AsyncBinaryAPIResponse,
)
- async def get_latest_local_journal(
+ async def get_latest_local_journal_batch(
self,
+ count: int,
*,
install_portal_id: int | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -2208,9 +2689,16 @@ async def get_latest_local_journal(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> AsyncBinaryAPIResponse:
+ ) -> BatchResponseJournalFetchResponse:
"""
+ Retrieve the latest batch of webhook journal entries up to a specified count.
+ This endpoint is useful for fetching the most recent webhook events processed by
+ the system. It requires authentication and supports various security schemes.
+
Args:
+ install_portal_id: The ID of the portal installation to filter the webhook journal entries. It is
+ an optional integer parameter.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -2219,9 +2707,8 @@ async def get_latest_local_journal(
timeout: Override the client-level default timeout for this request, in seconds
"""
- extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._get(
- "/webhooks-journal/journal-local/2026-03/latest",
+ path_template("/webhooks-journal/journal-local/2026-03/batch/latest/{count}", count=count),
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -2229,15 +2716,14 @@ async def get_latest_local_journal(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_latest_local_journal_params.WebhookGetLatestLocalJournalParams,
+ webhook_get_latest_local_journal_batch_params.WebhookGetLatestLocalJournalBatchParams,
),
),
- cast_to=AsyncBinaryAPIResponse,
+ cast_to=BatchResponseJournalFetchResponse,
)
- async def get_latest_local_journal_batch(
+ async def get_latest_local_journal_entry(
self,
- count: int,
*,
install_portal_id: int | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -2246,9 +2732,18 @@ async def get_latest_local_journal_batch(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> BatchResponseJournalFetchResponse:
- """
+ ) -> AsyncBinaryAPIResponse:
+ """Retrieve the latest entries from the webhooks journal.
+
+ This endpoint is useful
+ for accessing the most recent webhook data for analysis or troubleshooting. It
+ supports filtering by the installPortalId to narrow down results to a specific
+ portal.
+
Args:
+ install_portal_id: An integer representing the ID of the portal to filter the webhook journal
+ entries.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -2257,8 +2752,9 @@ async def get_latest_local_journal_batch(
timeout: Override the client-level default timeout for this request, in seconds
"""
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
return await self._get(
- path_template("/webhooks-journal/journal-local/2026-03/batch/latest/{count}", count=count),
+ "/webhooks-journal/journal-local/2026-03/latest",
options=make_request_options(
extra_headers=extra_headers,
extra_query=extra_query,
@@ -2266,13 +2762,13 @@ async def get_latest_local_journal_batch(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_latest_local_journal_batch_params.WebhookGetLatestLocalJournalBatchParams,
+ webhook_get_latest_local_journal_entry_params.WebhookGetLatestLocalJournalEntryParams,
),
),
- cast_to=BatchResponseJournalFetchResponse,
+ cast_to=AsyncBinaryAPIResponse,
)
- async def get_local_journal_batch(
+ async def get_local_journal_batch_by_request(
self,
*,
inputs: SequenceNotStr[str],
@@ -2284,10 +2780,18 @@ async def get_local_journal_batch(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BatchResponseJournalFetchResponse:
- """
+ """Perform a batch read operation on the webhooks journal.
+
+ This endpoint allows you
+ to retrieve a batch of journal entries by providing the necessary input data. It
+ is useful for processing large volumes of webhook data efficiently.
+
Args:
inputs: Strings to input.
+ install_portal_id: The ID of the portal where the webhook is installed. This parameter is optional
+ and is used to specify the portal context for the operation.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -2299,7 +2803,8 @@ async def get_local_journal_batch(
return await self._post(
"/webhooks-journal/journal-local/2026-03/batch/read",
body=await async_maybe_transform(
- {"inputs": inputs}, webhook_get_local_journal_batch_params.WebhookGetLocalJournalBatchParams
+ {"inputs": inputs},
+ webhook_get_local_journal_batch_by_request_params.WebhookGetLocalJournalBatchByRequestParams,
),
options=make_request_options(
extra_headers=extra_headers,
@@ -2308,13 +2813,13 @@ async def get_local_journal_batch(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_local_journal_batch_params.WebhookGetLocalJournalBatchParams,
+ webhook_get_local_journal_batch_by_request_params.WebhookGetLocalJournalBatchByRequestParams,
),
),
cast_to=BatchResponseJournalFetchResponse,
)
- async def get_local_journal_batch_after_offset(
+ async def get_local_journal_batch_from_offset(
self,
count: int,
*,
@@ -2328,7 +2833,13 @@ async def get_local_journal_batch_after_offset(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> BatchResponseJournalFetchResponse:
"""
+ Retrieve a batch of webhook journal entries starting from a specified offset.
+ This endpoint is useful for fetching sequential batches of data, allowing you to
+ paginate through large sets of webhook journal entries efficiently.
+
Args:
+ install_portal_id: The ID of the portal where the webhooks are installed. This is an integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -2350,7 +2861,7 @@ async def get_local_journal_batch_after_offset(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_local_journal_batch_after_offset_params.WebhookGetLocalJournalBatchAfterOffsetParams,
+ webhook_get_local_journal_batch_from_offset_params.WebhookGetLocalJournalBatchFromOffsetParams,
),
),
cast_to=BatchResponseJournalFetchResponse,
@@ -2368,6 +2879,11 @@ async def get_local_journal_status(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> SnapshotStatusResponse:
"""
+ Retrieve the status of a specific webhook journal entry using its unique status
+ ID. This endpoint is useful for checking the progress or result of a webhook
+ operation, such as whether it is pending, in progress, completed, failed, or
+ expired.
+
Args:
extra_headers: Send extra headers
@@ -2387,7 +2903,7 @@ async def get_local_journal_status(
cast_to=SnapshotStatusResponse,
)
- async def get_next_journal_after_offset(
+ async def get_next_journal_entries(
self,
offset: str,
*,
@@ -2400,7 +2916,14 @@ async def get_next_journal_after_offset(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AsyncBinaryAPIResponse:
"""
+ Retrieve the next set of webhook journal entries starting from a specified
+ offset. This endpoint is useful for paginating through webhook journal entries
+ in a HubSpot account. It allows you to continue fetching entries from where the
+ last request left off, using the offset parameter.
+
Args:
+ install_portal_id: The ID of the portal where the webhooks are installed. This is an integer value.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -2421,13 +2944,13 @@ async def get_next_journal_after_offset(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_next_journal_after_offset_params.WebhookGetNextJournalAfterOffsetParams,
+ webhook_get_next_journal_entries_params.WebhookGetNextJournalEntriesParams,
),
),
cast_to=AsyncBinaryAPIResponse,
)
- async def get_next_local_journal_after_offset(
+ async def get_next_local_journal_entries(
self,
offset: str,
*,
@@ -2439,8 +2962,17 @@ async def get_next_local_journal_after_offset(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AsyncBinaryAPIResponse:
- """
+ """Retrieve the next set of journal entries starting from a specified offset.
+
+ This
+ endpoint is useful for paginating through webhook journal entries in a
+ sequential manner. It requires specifying the offset from which the next entries
+ should be fetched.
+
Args:
+ install_portal_id: The ID of the portal installation to filter the journal entries by. This is an
+ optional parameter.
+
extra_headers: Send extra headers
extra_query: Add additional query parameters to the request
@@ -2461,7 +2993,7 @@ async def get_next_local_journal_after_offset(
timeout=timeout,
query=await async_maybe_transform(
{"install_portal_id": install_portal_id},
- webhook_get_next_local_journal_after_offset_params.WebhookGetNextLocalJournalAfterOffsetParams,
+ webhook_get_next_local_journal_entries_params.WebhookGetNextLocalJournalEntriesParams,
),
),
cast_to=AsyncBinaryAPIResponse,
@@ -2499,42 +3031,6 @@ async def get_settings(
cast_to=SettingsResponse,
)
- async def get_subscription(
- self,
- subscription_id: int,
- *,
- app_id: int,
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
- # The extra values given here take precedence over values defined on the client or passed to this method.
- extra_headers: Headers | None = None,
- extra_query: Query | None = None,
- extra_body: Body | None = None,
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse:
- """
- Retrieve a specific event subscription by ID.
-
- Args:
- extra_headers: Send extra headers
-
- extra_query: Add additional query parameters to the request
-
- extra_body: Add additional JSON properties to the request
-
- timeout: Override the client-level default timeout for this request, in seconds
- """
- return await self._get(
- path_template(
- "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
- app_id=app_id,
- subscription_id=subscription_id,
- ),
- options=make_request_options(
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
- ),
- cast_to=SubscriptionResponse,
- )
-
async def get_subscription_filter(
self,
filter_id: int,
@@ -2546,7 +3042,13 @@ async def get_subscription_filter(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> FilterResponse:
- """
+ """Retrieve a specific filter associated with a webhook journal subscription.
+
+ This
+ endpoint allows you to access detailed information about the filter identified
+ by the filterId path parameter. It is useful for managing and reviewing filter
+ configurations within your webhook subscriptions.
+
Args:
extra_headers: Send extra headers
@@ -2564,9 +3066,9 @@ async def get_subscription_filter(
cast_to=FilterResponse,
)
- async def get_subscription_filters(
+ async def list_event_subscriptions(
self,
- subscription_id: int,
+ app_id: int,
*,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -2574,8 +3076,10 @@ async def get_subscription_filters(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> WebhookGetSubscriptionFiltersResponse:
+ ) -> SubscriptionListResponse:
"""
+ Retrieve event subscriptions for the specified app.
+
Args:
extra_headers: Send extra headers
@@ -2586,14 +3090,11 @@ async def get_subscription_filters(
timeout: Override the client-level default timeout for this request, in seconds
"""
return await self._get(
- path_template(
- "/webhooks-journal/subscriptions/2026-03/filters/subscription/{subscription_id}",
- subscription_id=subscription_id,
- ),
+ path_template("/webhooks/2026-03/{app_id}/subscriptions", app_id=app_id),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=WebhookGetSubscriptionFiltersResponse,
+ cast_to=SubscriptionListResponse,
)
async def list_journal_subscriptions(
@@ -2606,6 +3107,12 @@ async def list_journal_subscriptions(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> CollectionResponseSubscriptionResponseNoPaging:
+ """Retrieve a list of webhook journal subscriptions for the specified version.
+
+ This
+ endpoint allows you to view all active subscriptions without pagination. It is
+ useful for managing and auditing webhook subscriptions in your HubSpot account.
+ """
return await self._get(
"/webhooks-journal/subscriptions/2026-03",
options=make_request_options(
@@ -2614,9 +3121,9 @@ async def list_journal_subscriptions(
cast_to=CollectionResponseSubscriptionResponseNoPaging,
)
- async def list_subscriptions(
+ async def list_subscription_filters(
self,
- app_id: int,
+ subscription_id: int,
*,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
@@ -2624,9 +3131,13 @@ async def list_subscriptions(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionListResponse:
- """
- Retrieve event subscriptions for the specified app.
+ ) -> WebhookListSubscriptionFiltersResponse:
+ """Retrieve the filters associated with a specific webhook subscription.
+
+ This
+ endpoint is useful for obtaining detailed information about the filters applied
+ to a subscription, which can help in managing and understanding the data flow
+ through your webhook integrations.
Args:
extra_headers: Send extra headers
@@ -2638,33 +3149,36 @@ async def list_subscriptions(
timeout: Override the client-level default timeout for this request, in seconds
"""
return await self._get(
- path_template("/webhooks/2026-03/{app_id}/subscriptions", app_id=app_id),
+ path_template(
+ "/webhooks-journal/subscriptions/2026-03/filters/subscription/{subscription_id}",
+ subscription_id=subscription_id,
+ ),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=SubscriptionListResponse,
+ cast_to=WebhookListSubscriptionFiltersResponse,
)
- async def update_settings(
+ async def update_event_subscription(
self,
- app_id: int,
+ subscription_id: int,
*,
- target_url: str,
- throttling: ThrottlingSettingsParam,
+ app_id: int,
+ active: bool | Omit = omit,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SettingsResponse:
+ ) -> SubscriptionResponse:
"""
- Update webhook settings for the specified app.
+ Update an existing event subscription by ID.
Args:
- target_url: A publicly available URL for Hubspot to call where event payloads will be
- delivered. See [link-so-some-doc](#) for details about the format of these event
- payloads.
+ active: Whether to activate or pause the webhook subscription. If true, the subscription
+ will send webhook notifications. If false, the subscription is paused and will
+ not send notifications.
extra_headers: Send extra headers
@@ -2674,41 +3188,41 @@ async def update_settings(
timeout: Override the client-level default timeout for this request, in seconds
"""
- return await self._put(
- path_template("/webhooks/2026-03/{app_id}/settings", app_id=app_id),
+ return await self._patch(
+ path_template(
+ "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
+ app_id=app_id,
+ subscription_id=subscription_id,
+ ),
body=await async_maybe_transform(
- {
- "target_url": target_url,
- "throttling": throttling,
- },
- webhook_update_settings_params.WebhookUpdateSettingsParams,
+ {"active": active}, webhook_update_event_subscription_params.WebhookUpdateEventSubscriptionParams
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=SettingsResponse,
+ cast_to=SubscriptionResponse,
)
- async def update_subscription(
+ async def update_settings(
self,
- subscription_id: int,
- *,
app_id: int,
- active: bool | Omit = omit,
+ *,
+ target_url: str,
+ throttling: ThrottlingSettingsParam,
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
# The extra values given here take precedence over values defined on the client or passed to this method.
extra_headers: Headers | None = None,
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
- ) -> SubscriptionResponse:
+ ) -> SettingsResponse:
"""
- Update an existing event subscription by ID.
+ Update webhook settings for the specified app.
Args:
- active: Whether to activate or pause the webhook subscription. If true, the subscription
- will send webhook notifications. If false, the subscription is paused and will
- not send notifications.
+ target_url: A publicly available URL for Hubspot to call where event payloads will be
+ delivered. See [link-so-some-doc](#) for details about the format of these event
+ payloads.
extra_headers: Send extra headers
@@ -2718,19 +3232,19 @@ async def update_subscription(
timeout: Override the client-level default timeout for this request, in seconds
"""
- return await self._patch(
- path_template(
- "/webhooks/2026-03/{app_id}/subscriptions/{subscription_id}",
- app_id=app_id,
- subscription_id=subscription_id,
- ),
+ return await self._put(
+ path_template("/webhooks/2026-03/{app_id}/settings", app_id=app_id),
body=await async_maybe_transform(
- {"active": active}, webhook_update_subscription_params.WebhookUpdateSubscriptionParams
+ {
+ "target_url": target_url,
+ "throttling": throttling,
+ },
+ webhook_update_settings_params.WebhookUpdateSettingsParams,
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- cast_to=SubscriptionResponse,
+ cast_to=SettingsResponse,
)
@@ -2738,453 +3252,465 @@ class WebhooksResourceWithRawResponse:
def __init__(self, webhooks: WebhooksResource) -> None:
self._webhooks = webhooks
- self.create_crm_snapshot = to_raw_response_wrapper(
- webhooks.create_crm_snapshot,
+ self.create_batch_event_subscriptions = to_raw_response_wrapper(
+ webhooks.create_batch_event_subscriptions,
+ )
+ self.create_crm_snapshots = to_raw_response_wrapper(
+ webhooks.create_crm_snapshots,
+ )
+ self.create_event_subscription = to_raw_response_wrapper(
+ webhooks.create_event_subscription,
)
self.create_journal_subscription = to_raw_response_wrapper(
webhooks.create_journal_subscription,
)
- self.create_subscription = to_raw_response_wrapper(
- webhooks.create_subscription,
- )
self.create_subscription_filter = to_raw_response_wrapper(
webhooks.create_subscription_filter,
)
- self.create_subscriptions_batch = to_raw_response_wrapper(
- webhooks.create_subscriptions_batch,
+ self.delete_event_subscription = to_raw_response_wrapper(
+ webhooks.delete_event_subscription,
)
self.delete_journal_subscription = to_raw_response_wrapper(
webhooks.delete_journal_subscription,
)
- self.delete_portal_subscriptions = to_raw_response_wrapper(
- webhooks.delete_portal_subscriptions,
+ self.delete_journal_subscription_for_portal = to_raw_response_wrapper(
+ webhooks.delete_journal_subscription_for_portal,
)
self.delete_settings = to_raw_response_wrapper(
webhooks.delete_settings,
)
- self.delete_subscription = to_raw_response_wrapper(
- webhooks.delete_subscription,
- )
self.delete_subscription_filter = to_raw_response_wrapper(
webhooks.delete_subscription_filter,
)
- self.get_earliest_journal = to_custom_raw_response_wrapper(
- webhooks.get_earliest_journal,
- BinaryAPIResponse,
- )
self.get_earliest_journal_batch = to_raw_response_wrapper(
webhooks.get_earliest_journal_batch,
)
- self.get_earliest_local_journal = to_custom_raw_response_wrapper(
- webhooks.get_earliest_local_journal,
+ self.get_earliest_journal_entry = to_custom_raw_response_wrapper(
+ webhooks.get_earliest_journal_entry,
BinaryAPIResponse,
)
self.get_earliest_local_journal_batch = to_raw_response_wrapper(
webhooks.get_earliest_local_journal_batch,
)
- self.get_journal_batch = to_raw_response_wrapper(
- webhooks.get_journal_batch,
+ self.get_earliest_local_journal_entry = to_custom_raw_response_wrapper(
+ webhooks.get_earliest_local_journal_entry,
+ BinaryAPIResponse,
+ )
+ self.get_event_subscription = to_raw_response_wrapper(
+ webhooks.get_event_subscription,
)
- self.get_journal_batch_after_offset = to_raw_response_wrapper(
- webhooks.get_journal_batch_after_offset,
+ self.get_journal_batch_by_request = to_raw_response_wrapper(
+ webhooks.get_journal_batch_by_request,
+ )
+ self.get_journal_batch_from_offset = to_raw_response_wrapper(
+ webhooks.get_journal_batch_from_offset,
)
self.get_journal_status = to_raw_response_wrapper(
webhooks.get_journal_status,
)
- self.get_latest_journal = to_custom_raw_response_wrapper(
- webhooks.get_latest_journal,
- BinaryAPIResponse,
+ self.get_journal_subscription = to_raw_response_wrapper(
+ webhooks.get_journal_subscription,
)
self.get_latest_journal_batch = to_raw_response_wrapper(
webhooks.get_latest_journal_batch,
)
- self.get_latest_local_journal = to_custom_raw_response_wrapper(
- webhooks.get_latest_local_journal,
+ self.get_latest_journal_entry = to_custom_raw_response_wrapper(
+ webhooks.get_latest_journal_entry,
BinaryAPIResponse,
)
self.get_latest_local_journal_batch = to_raw_response_wrapper(
webhooks.get_latest_local_journal_batch,
)
- self.get_local_journal_batch = to_raw_response_wrapper(
- webhooks.get_local_journal_batch,
+ self.get_latest_local_journal_entry = to_custom_raw_response_wrapper(
+ webhooks.get_latest_local_journal_entry,
+ BinaryAPIResponse,
+ )
+ self.get_local_journal_batch_by_request = to_raw_response_wrapper(
+ webhooks.get_local_journal_batch_by_request,
)
- self.get_local_journal_batch_after_offset = to_raw_response_wrapper(
- webhooks.get_local_journal_batch_after_offset,
+ self.get_local_journal_batch_from_offset = to_raw_response_wrapper(
+ webhooks.get_local_journal_batch_from_offset,
)
self.get_local_journal_status = to_raw_response_wrapper(
webhooks.get_local_journal_status,
)
- self.get_next_journal_after_offset = to_custom_raw_response_wrapper(
- webhooks.get_next_journal_after_offset,
+ self.get_next_journal_entries = to_custom_raw_response_wrapper(
+ webhooks.get_next_journal_entries,
BinaryAPIResponse,
)
- self.get_next_local_journal_after_offset = to_custom_raw_response_wrapper(
- webhooks.get_next_local_journal_after_offset,
+ self.get_next_local_journal_entries = to_custom_raw_response_wrapper(
+ webhooks.get_next_local_journal_entries,
BinaryAPIResponse,
)
self.get_settings = to_raw_response_wrapper(
webhooks.get_settings,
)
- self.get_subscription = to_raw_response_wrapper(
- webhooks.get_subscription,
- )
self.get_subscription_filter = to_raw_response_wrapper(
webhooks.get_subscription_filter,
)
- self.get_subscription_filters = to_raw_response_wrapper(
- webhooks.get_subscription_filters,
+ self.list_event_subscriptions = to_raw_response_wrapper(
+ webhooks.list_event_subscriptions,
)
self.list_journal_subscriptions = to_raw_response_wrapper(
webhooks.list_journal_subscriptions,
)
- self.list_subscriptions = to_raw_response_wrapper(
- webhooks.list_subscriptions,
+ self.list_subscription_filters = to_raw_response_wrapper(
+ webhooks.list_subscription_filters,
+ )
+ self.update_event_subscription = to_raw_response_wrapper(
+ webhooks.update_event_subscription,
)
self.update_settings = to_raw_response_wrapper(
webhooks.update_settings,
)
- self.update_subscription = to_raw_response_wrapper(
- webhooks.update_subscription,
- )
class AsyncWebhooksResourceWithRawResponse:
def __init__(self, webhooks: AsyncWebhooksResource) -> None:
self._webhooks = webhooks
- self.create_crm_snapshot = async_to_raw_response_wrapper(
- webhooks.create_crm_snapshot,
+ self.create_batch_event_subscriptions = async_to_raw_response_wrapper(
+ webhooks.create_batch_event_subscriptions,
+ )
+ self.create_crm_snapshots = async_to_raw_response_wrapper(
+ webhooks.create_crm_snapshots,
+ )
+ self.create_event_subscription = async_to_raw_response_wrapper(
+ webhooks.create_event_subscription,
)
self.create_journal_subscription = async_to_raw_response_wrapper(
webhooks.create_journal_subscription,
)
- self.create_subscription = async_to_raw_response_wrapper(
- webhooks.create_subscription,
- )
self.create_subscription_filter = async_to_raw_response_wrapper(
webhooks.create_subscription_filter,
)
- self.create_subscriptions_batch = async_to_raw_response_wrapper(
- webhooks.create_subscriptions_batch,
+ self.delete_event_subscription = async_to_raw_response_wrapper(
+ webhooks.delete_event_subscription,
)
self.delete_journal_subscription = async_to_raw_response_wrapper(
webhooks.delete_journal_subscription,
)
- self.delete_portal_subscriptions = async_to_raw_response_wrapper(
- webhooks.delete_portal_subscriptions,
+ self.delete_journal_subscription_for_portal = async_to_raw_response_wrapper(
+ webhooks.delete_journal_subscription_for_portal,
)
self.delete_settings = async_to_raw_response_wrapper(
webhooks.delete_settings,
)
- self.delete_subscription = async_to_raw_response_wrapper(
- webhooks.delete_subscription,
- )
self.delete_subscription_filter = async_to_raw_response_wrapper(
webhooks.delete_subscription_filter,
)
- self.get_earliest_journal = async_to_custom_raw_response_wrapper(
- webhooks.get_earliest_journal,
- AsyncBinaryAPIResponse,
- )
self.get_earliest_journal_batch = async_to_raw_response_wrapper(
webhooks.get_earliest_journal_batch,
)
- self.get_earliest_local_journal = async_to_custom_raw_response_wrapper(
- webhooks.get_earliest_local_journal,
+ self.get_earliest_journal_entry = async_to_custom_raw_response_wrapper(
+ webhooks.get_earliest_journal_entry,
AsyncBinaryAPIResponse,
)
self.get_earliest_local_journal_batch = async_to_raw_response_wrapper(
webhooks.get_earliest_local_journal_batch,
)
- self.get_journal_batch = async_to_raw_response_wrapper(
- webhooks.get_journal_batch,
+ self.get_earliest_local_journal_entry = async_to_custom_raw_response_wrapper(
+ webhooks.get_earliest_local_journal_entry,
+ AsyncBinaryAPIResponse,
+ )
+ self.get_event_subscription = async_to_raw_response_wrapper(
+ webhooks.get_event_subscription,
+ )
+ self.get_journal_batch_by_request = async_to_raw_response_wrapper(
+ webhooks.get_journal_batch_by_request,
)
- self.get_journal_batch_after_offset = async_to_raw_response_wrapper(
- webhooks.get_journal_batch_after_offset,
+ self.get_journal_batch_from_offset = async_to_raw_response_wrapper(
+ webhooks.get_journal_batch_from_offset,
)
self.get_journal_status = async_to_raw_response_wrapper(
webhooks.get_journal_status,
)
- self.get_latest_journal = async_to_custom_raw_response_wrapper(
- webhooks.get_latest_journal,
- AsyncBinaryAPIResponse,
+ self.get_journal_subscription = async_to_raw_response_wrapper(
+ webhooks.get_journal_subscription,
)
self.get_latest_journal_batch = async_to_raw_response_wrapper(
webhooks.get_latest_journal_batch,
)
- self.get_latest_local_journal = async_to_custom_raw_response_wrapper(
- webhooks.get_latest_local_journal,
+ self.get_latest_journal_entry = async_to_custom_raw_response_wrapper(
+ webhooks.get_latest_journal_entry,
AsyncBinaryAPIResponse,
)
self.get_latest_local_journal_batch = async_to_raw_response_wrapper(
webhooks.get_latest_local_journal_batch,
)
- self.get_local_journal_batch = async_to_raw_response_wrapper(
- webhooks.get_local_journal_batch,
+ self.get_latest_local_journal_entry = async_to_custom_raw_response_wrapper(
+ webhooks.get_latest_local_journal_entry,
+ AsyncBinaryAPIResponse,
+ )
+ self.get_local_journal_batch_by_request = async_to_raw_response_wrapper(
+ webhooks.get_local_journal_batch_by_request,
)
- self.get_local_journal_batch_after_offset = async_to_raw_response_wrapper(
- webhooks.get_local_journal_batch_after_offset,
+ self.get_local_journal_batch_from_offset = async_to_raw_response_wrapper(
+ webhooks.get_local_journal_batch_from_offset,
)
self.get_local_journal_status = async_to_raw_response_wrapper(
webhooks.get_local_journal_status,
)
- self.get_next_journal_after_offset = async_to_custom_raw_response_wrapper(
- webhooks.get_next_journal_after_offset,
+ self.get_next_journal_entries = async_to_custom_raw_response_wrapper(
+ webhooks.get_next_journal_entries,
AsyncBinaryAPIResponse,
)
- self.get_next_local_journal_after_offset = async_to_custom_raw_response_wrapper(
- webhooks.get_next_local_journal_after_offset,
+ self.get_next_local_journal_entries = async_to_custom_raw_response_wrapper(
+ webhooks.get_next_local_journal_entries,
AsyncBinaryAPIResponse,
)
self.get_settings = async_to_raw_response_wrapper(
webhooks.get_settings,
)
- self.get_subscription = async_to_raw_response_wrapper(
- webhooks.get_subscription,
- )
self.get_subscription_filter = async_to_raw_response_wrapper(
webhooks.get_subscription_filter,
)
- self.get_subscription_filters = async_to_raw_response_wrapper(
- webhooks.get_subscription_filters,
+ self.list_event_subscriptions = async_to_raw_response_wrapper(
+ webhooks.list_event_subscriptions,
)
self.list_journal_subscriptions = async_to_raw_response_wrapper(
webhooks.list_journal_subscriptions,
)
- self.list_subscriptions = async_to_raw_response_wrapper(
- webhooks.list_subscriptions,
+ self.list_subscription_filters = async_to_raw_response_wrapper(
+ webhooks.list_subscription_filters,
+ )
+ self.update_event_subscription = async_to_raw_response_wrapper(
+ webhooks.update_event_subscription,
)
self.update_settings = async_to_raw_response_wrapper(
webhooks.update_settings,
)
- self.update_subscription = async_to_raw_response_wrapper(
- webhooks.update_subscription,
- )
class WebhooksResourceWithStreamingResponse:
def __init__(self, webhooks: WebhooksResource) -> None:
self._webhooks = webhooks
- self.create_crm_snapshot = to_streamed_response_wrapper(
- webhooks.create_crm_snapshot,
+ self.create_batch_event_subscriptions = to_streamed_response_wrapper(
+ webhooks.create_batch_event_subscriptions,
+ )
+ self.create_crm_snapshots = to_streamed_response_wrapper(
+ webhooks.create_crm_snapshots,
+ )
+ self.create_event_subscription = to_streamed_response_wrapper(
+ webhooks.create_event_subscription,
)
self.create_journal_subscription = to_streamed_response_wrapper(
webhooks.create_journal_subscription,
)
- self.create_subscription = to_streamed_response_wrapper(
- webhooks.create_subscription,
- )
self.create_subscription_filter = to_streamed_response_wrapper(
webhooks.create_subscription_filter,
)
- self.create_subscriptions_batch = to_streamed_response_wrapper(
- webhooks.create_subscriptions_batch,
+ self.delete_event_subscription = to_streamed_response_wrapper(
+ webhooks.delete_event_subscription,
)
self.delete_journal_subscription = to_streamed_response_wrapper(
webhooks.delete_journal_subscription,
)
- self.delete_portal_subscriptions = to_streamed_response_wrapper(
- webhooks.delete_portal_subscriptions,
+ self.delete_journal_subscription_for_portal = to_streamed_response_wrapper(
+ webhooks.delete_journal_subscription_for_portal,
)
self.delete_settings = to_streamed_response_wrapper(
webhooks.delete_settings,
)
- self.delete_subscription = to_streamed_response_wrapper(
- webhooks.delete_subscription,
- )
self.delete_subscription_filter = to_streamed_response_wrapper(
webhooks.delete_subscription_filter,
)
- self.get_earliest_journal = to_custom_streamed_response_wrapper(
- webhooks.get_earliest_journal,
- StreamedBinaryAPIResponse,
- )
self.get_earliest_journal_batch = to_streamed_response_wrapper(
webhooks.get_earliest_journal_batch,
)
- self.get_earliest_local_journal = to_custom_streamed_response_wrapper(
- webhooks.get_earliest_local_journal,
+ self.get_earliest_journal_entry = to_custom_streamed_response_wrapper(
+ webhooks.get_earliest_journal_entry,
StreamedBinaryAPIResponse,
)
self.get_earliest_local_journal_batch = to_streamed_response_wrapper(
webhooks.get_earliest_local_journal_batch,
)
- self.get_journal_batch = to_streamed_response_wrapper(
- webhooks.get_journal_batch,
+ self.get_earliest_local_journal_entry = to_custom_streamed_response_wrapper(
+ webhooks.get_earliest_local_journal_entry,
+ StreamedBinaryAPIResponse,
+ )
+ self.get_event_subscription = to_streamed_response_wrapper(
+ webhooks.get_event_subscription,
)
- self.get_journal_batch_after_offset = to_streamed_response_wrapper(
- webhooks.get_journal_batch_after_offset,
+ self.get_journal_batch_by_request = to_streamed_response_wrapper(
+ webhooks.get_journal_batch_by_request,
+ )
+ self.get_journal_batch_from_offset = to_streamed_response_wrapper(
+ webhooks.get_journal_batch_from_offset,
)
self.get_journal_status = to_streamed_response_wrapper(
webhooks.get_journal_status,
)
- self.get_latest_journal = to_custom_streamed_response_wrapper(
- webhooks.get_latest_journal,
- StreamedBinaryAPIResponse,
+ self.get_journal_subscription = to_streamed_response_wrapper(
+ webhooks.get_journal_subscription,
)
self.get_latest_journal_batch = to_streamed_response_wrapper(
webhooks.get_latest_journal_batch,
)
- self.get_latest_local_journal = to_custom_streamed_response_wrapper(
- webhooks.get_latest_local_journal,
+ self.get_latest_journal_entry = to_custom_streamed_response_wrapper(
+ webhooks.get_latest_journal_entry,
StreamedBinaryAPIResponse,
)
self.get_latest_local_journal_batch = to_streamed_response_wrapper(
webhooks.get_latest_local_journal_batch,
)
- self.get_local_journal_batch = to_streamed_response_wrapper(
- webhooks.get_local_journal_batch,
+ self.get_latest_local_journal_entry = to_custom_streamed_response_wrapper(
+ webhooks.get_latest_local_journal_entry,
+ StreamedBinaryAPIResponse,
+ )
+ self.get_local_journal_batch_by_request = to_streamed_response_wrapper(
+ webhooks.get_local_journal_batch_by_request,
)
- self.get_local_journal_batch_after_offset = to_streamed_response_wrapper(
- webhooks.get_local_journal_batch_after_offset,
+ self.get_local_journal_batch_from_offset = to_streamed_response_wrapper(
+ webhooks.get_local_journal_batch_from_offset,
)
self.get_local_journal_status = to_streamed_response_wrapper(
webhooks.get_local_journal_status,
)
- self.get_next_journal_after_offset = to_custom_streamed_response_wrapper(
- webhooks.get_next_journal_after_offset,
+ self.get_next_journal_entries = to_custom_streamed_response_wrapper(
+ webhooks.get_next_journal_entries,
StreamedBinaryAPIResponse,
)
- self.get_next_local_journal_after_offset = to_custom_streamed_response_wrapper(
- webhooks.get_next_local_journal_after_offset,
+ self.get_next_local_journal_entries = to_custom_streamed_response_wrapper(
+ webhooks.get_next_local_journal_entries,
StreamedBinaryAPIResponse,
)
self.get_settings = to_streamed_response_wrapper(
webhooks.get_settings,
)
- self.get_subscription = to_streamed_response_wrapper(
- webhooks.get_subscription,
- )
self.get_subscription_filter = to_streamed_response_wrapper(
webhooks.get_subscription_filter,
)
- self.get_subscription_filters = to_streamed_response_wrapper(
- webhooks.get_subscription_filters,
+ self.list_event_subscriptions = to_streamed_response_wrapper(
+ webhooks.list_event_subscriptions,
)
self.list_journal_subscriptions = to_streamed_response_wrapper(
webhooks.list_journal_subscriptions,
)
- self.list_subscriptions = to_streamed_response_wrapper(
- webhooks.list_subscriptions,
+ self.list_subscription_filters = to_streamed_response_wrapper(
+ webhooks.list_subscription_filters,
+ )
+ self.update_event_subscription = to_streamed_response_wrapper(
+ webhooks.update_event_subscription,
)
self.update_settings = to_streamed_response_wrapper(
webhooks.update_settings,
)
- self.update_subscription = to_streamed_response_wrapper(
- webhooks.update_subscription,
- )
class AsyncWebhooksResourceWithStreamingResponse:
def __init__(self, webhooks: AsyncWebhooksResource) -> None:
self._webhooks = webhooks
- self.create_crm_snapshot = async_to_streamed_response_wrapper(
- webhooks.create_crm_snapshot,
+ self.create_batch_event_subscriptions = async_to_streamed_response_wrapper(
+ webhooks.create_batch_event_subscriptions,
+ )
+ self.create_crm_snapshots = async_to_streamed_response_wrapper(
+ webhooks.create_crm_snapshots,
+ )
+ self.create_event_subscription = async_to_streamed_response_wrapper(
+ webhooks.create_event_subscription,
)
self.create_journal_subscription = async_to_streamed_response_wrapper(
webhooks.create_journal_subscription,
)
- self.create_subscription = async_to_streamed_response_wrapper(
- webhooks.create_subscription,
- )
self.create_subscription_filter = async_to_streamed_response_wrapper(
webhooks.create_subscription_filter,
)
- self.create_subscriptions_batch = async_to_streamed_response_wrapper(
- webhooks.create_subscriptions_batch,
+ self.delete_event_subscription = async_to_streamed_response_wrapper(
+ webhooks.delete_event_subscription,
)
self.delete_journal_subscription = async_to_streamed_response_wrapper(
webhooks.delete_journal_subscription,
)
- self.delete_portal_subscriptions = async_to_streamed_response_wrapper(
- webhooks.delete_portal_subscriptions,
+ self.delete_journal_subscription_for_portal = async_to_streamed_response_wrapper(
+ webhooks.delete_journal_subscription_for_portal,
)
self.delete_settings = async_to_streamed_response_wrapper(
webhooks.delete_settings,
)
- self.delete_subscription = async_to_streamed_response_wrapper(
- webhooks.delete_subscription,
- )
self.delete_subscription_filter = async_to_streamed_response_wrapper(
webhooks.delete_subscription_filter,
)
- self.get_earliest_journal = async_to_custom_streamed_response_wrapper(
- webhooks.get_earliest_journal,
- AsyncStreamedBinaryAPIResponse,
- )
self.get_earliest_journal_batch = async_to_streamed_response_wrapper(
webhooks.get_earliest_journal_batch,
)
- self.get_earliest_local_journal = async_to_custom_streamed_response_wrapper(
- webhooks.get_earliest_local_journal,
+ self.get_earliest_journal_entry = async_to_custom_streamed_response_wrapper(
+ webhooks.get_earliest_journal_entry,
AsyncStreamedBinaryAPIResponse,
)
self.get_earliest_local_journal_batch = async_to_streamed_response_wrapper(
webhooks.get_earliest_local_journal_batch,
)
- self.get_journal_batch = async_to_streamed_response_wrapper(
- webhooks.get_journal_batch,
+ self.get_earliest_local_journal_entry = async_to_custom_streamed_response_wrapper(
+ webhooks.get_earliest_local_journal_entry,
+ AsyncStreamedBinaryAPIResponse,
+ )
+ self.get_event_subscription = async_to_streamed_response_wrapper(
+ webhooks.get_event_subscription,
+ )
+ self.get_journal_batch_by_request = async_to_streamed_response_wrapper(
+ webhooks.get_journal_batch_by_request,
)
- self.get_journal_batch_after_offset = async_to_streamed_response_wrapper(
- webhooks.get_journal_batch_after_offset,
+ self.get_journal_batch_from_offset = async_to_streamed_response_wrapper(
+ webhooks.get_journal_batch_from_offset,
)
self.get_journal_status = async_to_streamed_response_wrapper(
webhooks.get_journal_status,
)
- self.get_latest_journal = async_to_custom_streamed_response_wrapper(
- webhooks.get_latest_journal,
- AsyncStreamedBinaryAPIResponse,
+ self.get_journal_subscription = async_to_streamed_response_wrapper(
+ webhooks.get_journal_subscription,
)
self.get_latest_journal_batch = async_to_streamed_response_wrapper(
webhooks.get_latest_journal_batch,
)
- self.get_latest_local_journal = async_to_custom_streamed_response_wrapper(
- webhooks.get_latest_local_journal,
+ self.get_latest_journal_entry = async_to_custom_streamed_response_wrapper(
+ webhooks.get_latest_journal_entry,
AsyncStreamedBinaryAPIResponse,
)
self.get_latest_local_journal_batch = async_to_streamed_response_wrapper(
webhooks.get_latest_local_journal_batch,
)
- self.get_local_journal_batch = async_to_streamed_response_wrapper(
- webhooks.get_local_journal_batch,
+ self.get_latest_local_journal_entry = async_to_custom_streamed_response_wrapper(
+ webhooks.get_latest_local_journal_entry,
+ AsyncStreamedBinaryAPIResponse,
+ )
+ self.get_local_journal_batch_by_request = async_to_streamed_response_wrapper(
+ webhooks.get_local_journal_batch_by_request,
)
- self.get_local_journal_batch_after_offset = async_to_streamed_response_wrapper(
- webhooks.get_local_journal_batch_after_offset,
+ self.get_local_journal_batch_from_offset = async_to_streamed_response_wrapper(
+ webhooks.get_local_journal_batch_from_offset,
)
self.get_local_journal_status = async_to_streamed_response_wrapper(
webhooks.get_local_journal_status,
)
- self.get_next_journal_after_offset = async_to_custom_streamed_response_wrapper(
- webhooks.get_next_journal_after_offset,
+ self.get_next_journal_entries = async_to_custom_streamed_response_wrapper(
+ webhooks.get_next_journal_entries,
AsyncStreamedBinaryAPIResponse,
)
- self.get_next_local_journal_after_offset = async_to_custom_streamed_response_wrapper(
- webhooks.get_next_local_journal_after_offset,
+ self.get_next_local_journal_entries = async_to_custom_streamed_response_wrapper(
+ webhooks.get_next_local_journal_entries,
AsyncStreamedBinaryAPIResponse,
)
self.get_settings = async_to_streamed_response_wrapper(
webhooks.get_settings,
)
- self.get_subscription = async_to_streamed_response_wrapper(
- webhooks.get_subscription,
- )
self.get_subscription_filter = async_to_streamed_response_wrapper(
webhooks.get_subscription_filter,
)
- self.get_subscription_filters = async_to_streamed_response_wrapper(
- webhooks.get_subscription_filters,
+ self.list_event_subscriptions = async_to_streamed_response_wrapper(
+ webhooks.list_event_subscriptions,
)
self.list_journal_subscriptions = async_to_streamed_response_wrapper(
webhooks.list_journal_subscriptions,
)
- self.list_subscriptions = async_to_streamed_response_wrapper(
- webhooks.list_subscriptions,
+ self.list_subscription_filters = async_to_streamed_response_wrapper(
+ webhooks.list_subscription_filters,
+ )
+ self.update_event_subscription = async_to_streamed_response_wrapper(
+ webhooks.update_event_subscription,
)
self.update_settings = async_to_streamed_response_wrapper(
webhooks.update_settings,
)
- self.update_subscription = async_to_streamed_response_wrapper(
- webhooks.update_subscription,
- )
diff --git a/src/hubspot_sdk/types/__init__.py b/src/hubspot_sdk/types/__init__.py
index 2aece12d..22e8f4af 100644
--- a/src/hubspot_sdk/types/__init__.py
+++ b/src/hubspot_sdk/types/__init__.py
@@ -7,6 +7,7 @@
Option as Option,
Paging as Paging,
NextPage as NextPage,
+ Property as Property,
ErrorDetail as ErrorDetail,
OptionInput as OptionInput,
TaskLocator as TaskLocator,
@@ -18,6 +19,7 @@
PropertyValue as PropertyValue,
StandardError as StandardError,
ActionResponse as ActionResponse,
+ PropertyCreate as PropertyCreate,
PublicObjectID as PublicObjectID,
AssociationSpec as AssociationSpec,
BatchInputString as BatchInputString,
@@ -29,6 +31,7 @@
AutomationActionsOption as AutomationActionsOption,
AbTestCreateRequestVNext as AbTestCreateRequestVNext,
AssociationDefinitionEgg as AssociationDefinitionEgg,
+ BatchInputPropertyCreate as BatchInputPropertyCreate,
BatchInputPublicObjectID as BatchInputPublicObjectID,
ObjectTypeDefinitionPatch as ObjectTypeDefinitionPatch,
BatchReadInputPropertyName as BatchReadInputPropertyName,
diff --git a/src/hubspot_sdk/types/auth/__init__.py b/src/hubspot_sdk/types/auth/__init__.py
index cfe6ba55..cf4a01fa 100644
--- a/src/hubspot_sdk/types/auth/__init__.py
+++ b/src/hubspot_sdk/types/auth/__init__.py
@@ -2,10 +2,7 @@
from __future__ import annotations
-from .signed_access_token import SignedAccessToken as SignedAccessToken
from .oauth_create_token_params import OAuthCreateTokenParams as OAuthCreateTokenParams
from .oauth_revoke_token_params import OAuthRevokeTokenParams as OAuthRevokeTokenParams
from .token_info_response_base_if import TokenInfoResponseBaseIf as TokenInfoResponseBaseIf
from .oauth_introspect_token_params import OAuthIntrospectTokenParams as OAuthIntrospectTokenParams
-from .public_access_token_info_response import PublicAccessTokenInfoResponse as PublicAccessTokenInfoResponse
-from .public_refresh_token_info_response import PublicRefreshTokenInfoResponse as PublicRefreshTokenInfoResponse
diff --git a/src/hubspot_sdk/types/auth/public_access_token_info_response.py b/src/hubspot_sdk/types/auth/public_access_token_info_response.py
deleted file mode 100644
index ec950721..00000000
--- a/src/hubspot_sdk/types/auth/public_access_token_info_response.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import List, Optional
-from typing_extensions import Literal
-
-from ..._models import BaseModel
-from .signed_access_token import SignedAccessToken
-
-__all__ = ["PublicAccessTokenInfoResponse"]
-
-
-class PublicAccessTokenInfoResponse(BaseModel):
- token: str
-
- active: bool
-
- app_id: int
-
- client_id: str
-
- expires_in: int
-
- hub_id: int
-
- is_private_distribution: bool
-
- scopes: List[str]
-
- signed_access_token: SignedAccessToken
-
- token_type: str
-
- token_use: Literal["access_token"]
-
- user_id: int
-
- hub_domain: Optional[str] = None
-
- user: Optional[str] = None
diff --git a/src/hubspot_sdk/types/auth/public_refresh_token_info_response.py b/src/hubspot_sdk/types/auth/public_refresh_token_info_response.py
deleted file mode 100644
index 0d090bab..00000000
--- a/src/hubspot_sdk/types/auth/public_refresh_token_info_response.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import List, Optional
-from typing_extensions import Literal
-
-from ..._models import BaseModel
-
-__all__ = ["PublicRefreshTokenInfoResponse"]
-
-
-class PublicRefreshTokenInfoResponse(BaseModel):
- token: str
-
- active: bool
-
- app_id: int
-
- client_id: str
-
- hub_id: int
-
- scopes: List[str]
-
- token_type: str
-
- token_use: Literal["refresh_token"]
-
- user_id: int
-
- hub_domain: Optional[str] = None
-
- user: Optional[str] = None
diff --git a/src/hubspot_sdk/types/auth/signed_access_token.py b/src/hubspot_sdk/types/auth/signed_access_token.py
deleted file mode 100644
index 623548ec..00000000
--- a/src/hubspot_sdk/types/auth/signed_access_token.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from pydantic import Field as FieldInfo
-
-from ..._models import BaseModel
-
-__all__ = ["SignedAccessToken"]
-
-
-class SignedAccessToken(BaseModel):
- app_id: int = FieldInfo(alias="appId")
-
- expires_at: int = FieldInfo(alias="expiresAt")
-
- hub_id: int = FieldInfo(alias="hubId")
-
- hublet: str
-
- installing_user_id: int = FieldInfo(alias="installingUserId")
-
- is_private_distribution: bool = FieldInfo(alias="isPrivateDistribution")
-
- is_service_account: bool = FieldInfo(alias="isServiceAccount")
-
- is_user_level: bool = FieldInfo(alias="isUserLevel")
-
- new_signature: str = FieldInfo(alias="newSignature")
-
- scopes: str
-
- scope_to_scope_group_pks: str = FieldInfo(alias="scopeToScopeGroupPks")
-
- signature: str
-
- trial_scopes: str = FieldInfo(alias="trialScopes")
-
- trial_scope_to_scope_group_pks: str = FieldInfo(alias="trialScopeToScopeGroupPks")
-
- user_id: int = FieldInfo(alias="userId")
diff --git a/src/hubspot_sdk/types/auth/token_info_response_base_if.py b/src/hubspot_sdk/types/auth/token_info_response_base_if.py
index bbedcbfc..b71ca03b 100644
--- a/src/hubspot_sdk/types/auth/token_info_response_base_if.py
+++ b/src/hubspot_sdk/types/auth/token_info_response_base_if.py
@@ -1,11 +1,9 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-from typing import Union
-from typing_extensions import TypeAlias
-
-from .public_access_token_info_response import PublicAccessTokenInfoResponse
-from .public_refresh_token_info_response import PublicRefreshTokenInfoResponse
+from ..._models import BaseModel
__all__ = ["TokenInfoResponseBaseIf"]
-TokenInfoResponseBaseIf: TypeAlias = Union[PublicAccessTokenInfoResponse, PublicRefreshTokenInfoResponse]
+
+class TokenInfoResponseBaseIf(BaseModel):
+ active: bool
diff --git a/src/hubspot_sdk/types/cms/__init__.py b/src/hubspot_sdk/types/cms/__init__.py
index d6edf710..18b1af3b 100644
--- a/src/hubspot_sdk/types/cms/__init__.py
+++ b/src/hubspot_sdk/types/cms/__init__.py
@@ -24,6 +24,7 @@
from .add_time import AddTime as AddTime
from .contains import Contains as Contains
from .gradient import Gradient as Gradient
+from .is_blank import IsBlank as IsBlank
from .option_1 import Option1 as Option1
from .property import Property as Property
from .endpoints import Endpoints as Endpoints
@@ -128,7 +129,6 @@
from .side_or_corner_param import SideOrCornerParam as SideOrCornerParam
from .audit_log_list_params import AuditLogListParams as AuditLogListParams
from .content_search_result import ContentSearchResult as ContentSearchResult
-from .property_create_param import PropertyCreateParam as PropertyCreateParam
from .public_search_results import PublicSearchResults as PublicSearchResults
from .round_nearest_numbers import RoundNearestNumbers as RoundNearestNumbers
from .background_image_param import BackgroundImageParam as BackgroundImageParam
diff --git a/src/hubspot_sdk/types/cms/absolute_value.py b/src/hubspot_sdk/types/cms/absolute_value.py
index 4fd8394b..b40d194a 100644
--- a/src/hubspot_sdk/types/cms/absolute_value.py
+++ b/src/hubspot_sdk/types/cms/absolute_value.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class AbsoluteValue(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/add_numbers.py b/src/hubspot_sdk/types/cms/add_numbers.py
index 9d42294e..963631f4 100644
--- a/src/hubspot_sdk/types/cms/add_numbers.py
+++ b/src/hubspot_sdk/types/cms/add_numbers.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -206,6 +208,7 @@ class AddNumbers(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/add_time.py b/src/hubspot_sdk/types/cms/add_time.py
index ceb9cf2b..437a7c2c 100644
--- a/src/hubspot_sdk/types/cms/add_time.py
+++ b/src/hubspot_sdk/types/cms/add_time.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -258,6 +260,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -335,6 +338,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -361,6 +365,7 @@ class AddTime(BaseModel):
from .month import Month
from .power import Power
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/and_.py b/src/hubspot_sdk/types/cms/and_.py
index f1acc574..33dcb5c9 100644
--- a/src/hubspot_sdk/types/cms/and_.py
+++ b/src/hubspot_sdk/types/cms/and_.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -205,6 +207,7 @@ class And(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/begins_with.py b/src/hubspot_sdk/types/cms/begins_with.py
index dc1c5135..612c9cc4 100644
--- a/src/hubspot_sdk/types/cms/begins_with.py
+++ b/src/hubspot_sdk/types/cms/begins_with.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -258,6 +260,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -335,6 +338,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -362,6 +366,7 @@ class BeginsWith(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/concat_strings.py b/src/hubspot_sdk/types/cms/concat_strings.py
index a64823ef..81dc0735 100644
--- a/src/hubspot_sdk/types/cms/concat_strings.py
+++ b/src/hubspot_sdk/types/cms/concat_strings.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class ConcatStrings(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/contains.py b/src/hubspot_sdk/types/cms/contains.py
index 7e50b359..7328e0c0 100644
--- a/src/hubspot_sdk/types/cms/contains.py
+++ b/src/hubspot_sdk/types/cms/contains.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -258,6 +260,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -335,6 +338,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -361,6 +365,7 @@ class Contains(BaseModel):
from .month import Month
from .power import Power
from .add_time import AddTime
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/date.py b/src/hubspot_sdk/types/cms/date.py
index ec00a95c..8957ec55 100644
--- a/src/hubspot_sdk/types/cms/date.py
+++ b/src/hubspot_sdk/types/cms/date.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -203,6 +205,7 @@ class Date(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/dated_exchange_rate.py b/src/hubspot_sdk/types/cms/dated_exchange_rate.py
index a9c4d0b3..3771911a 100644
--- a/src/hubspot_sdk/types/cms/dated_exchange_rate.py
+++ b/src/hubspot_sdk/types/cms/dated_exchange_rate.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class DatedExchangeRate(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/divide_numbers.py b/src/hubspot_sdk/types/cms/divide_numbers.py
index 149d4e11..f196713e 100644
--- a/src/hubspot_sdk/types/cms/divide_numbers.py
+++ b/src/hubspot_sdk/types/cms/divide_numbers.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -206,6 +208,7 @@ class DivideNumbers(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/extract_most_recent_email_reply_html.py b/src/hubspot_sdk/types/cms/extract_most_recent_email_reply_html.py
index 636668f5..d887b86b 100644
--- a/src/hubspot_sdk/types/cms/extract_most_recent_email_reply_html.py
+++ b/src/hubspot_sdk/types/cms/extract_most_recent_email_reply_html.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class ExtractMostRecentEmailReplyHTML(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/extract_most_recent_email_reply_text.py b/src/hubspot_sdk/types/cms/extract_most_recent_email_reply_text.py
index ce076a5a..2e2597a7 100644
--- a/src/hubspot_sdk/types/cms/extract_most_recent_email_reply_text.py
+++ b/src/hubspot_sdk/types/cms/extract_most_recent_email_reply_text.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class ExtractMostRecentEmailReplyText(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/extract_most_recent_plain_text_email_reply.py b/src/hubspot_sdk/types/cms/extract_most_recent_plain_text_email_reply.py
index 34f9c5e8..d7e7b717 100644
--- a/src/hubspot_sdk/types/cms/extract_most_recent_plain_text_email_reply.py
+++ b/src/hubspot_sdk/types/cms/extract_most_recent_plain_text_email_reply.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class ExtractMostRecentPlainTextEmailReply(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/fetch_currency_decimal_places.py b/src/hubspot_sdk/types/cms/fetch_currency_decimal_places.py
index c6362f48..736ce2e7 100644
--- a/src/hubspot_sdk/types/cms/fetch_currency_decimal_places.py
+++ b/src/hubspot_sdk/types/cms/fetch_currency_decimal_places.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class FetchCurrencyDecimalPlaces(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/fetch_exchange_rate.py b/src/hubspot_sdk/types/cms/fetch_exchange_rate.py
index d4dda62a..1421dffc 100644
--- a/src/hubspot_sdk/types/cms/fetch_exchange_rate.py
+++ b/src/hubspot_sdk/types/cms/fetch_exchange_rate.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class FetchExchangeRate(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/format_full_name.py b/src/hubspot_sdk/types/cms/format_full_name.py
index 51d67964..eeeb830e 100644
--- a/src/hubspot_sdk/types/cms/format_full_name.py
+++ b/src/hubspot_sdk/types/cms/format_full_name.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class FormatFullName(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/format_phone_number.py b/src/hubspot_sdk/types/cms/format_phone_number.py
index 155c6052..747c1a3a 100644
--- a/src/hubspot_sdk/types/cms/format_phone_number.py
+++ b/src/hubspot_sdk/types/cms/format_phone_number.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class FormatPhoneNumber(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/format_searchable_phone_number.py b/src/hubspot_sdk/types/cms/format_searchable_phone_number.py
index 7c2d8d54..b0d2dcf3 100644
--- a/src/hubspot_sdk/types/cms/format_searchable_phone_number.py
+++ b/src/hubspot_sdk/types/cms/format_searchable_phone_number.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class FormatSearchablePhoneNumber(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/has_email_reply.py b/src/hubspot_sdk/types/cms/has_email_reply.py
index aaa00c63..f24e9c97 100644
--- a/src/hubspot_sdk/types/cms/has_email_reply.py
+++ b/src/hubspot_sdk/types/cms/has_email_reply.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class HasEmailReply(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/has_plain_text_email_reply.py b/src/hubspot_sdk/types/cms/has_plain_text_email_reply.py
index f1114666..1dca386f 100644
--- a/src/hubspot_sdk/types/cms/has_plain_text_email_reply.py
+++ b/src/hubspot_sdk/types/cms/has_plain_text_email_reply.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class HasPlainTextEmailReply(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/if_boolean.py b/src/hubspot_sdk/types/cms/if_boolean.py
index 481a61f7..c761b31b 100644
--- a/src/hubspot_sdk/types/cms/if_boolean.py
+++ b/src/hubspot_sdk/types/cms/if_boolean.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -258,6 +260,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -335,6 +338,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -414,6 +418,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -491,6 +496,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -522,6 +528,7 @@ class IfBoolean(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/if_number.py b/src/hubspot_sdk/types/cms/if_number.py
index 89c00da7..dacab41d 100644
--- a/src/hubspot_sdk/types/cms/if_number.py
+++ b/src/hubspot_sdk/types/cms/if_number.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -258,6 +260,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -335,6 +338,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -414,6 +418,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -491,6 +496,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -522,6 +528,7 @@ class IfNumber(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_string import IfString
from .less_than import LessThan
from .more_than import MoreThan
diff --git a/src/hubspot_sdk/types/cms/if_string.py b/src/hubspot_sdk/types/cms/if_string.py
index a93da5da..c6f56dd3 100644
--- a/src/hubspot_sdk/types/cms/if_string.py
+++ b/src/hubspot_sdk/types/cms/if_string.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -258,6 +260,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -335,6 +338,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -414,6 +418,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -491,6 +496,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -522,6 +528,7 @@ class IfString(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .less_than import LessThan
from .more_than import MoreThan
diff --git a/src/hubspot_sdk/types/cms/inbound_db_object_type.py b/src/hubspot_sdk/types/cms/inbound_db_object_type.py
index e47a11d7..8823e5f8 100644
--- a/src/hubspot_sdk/types/cms/inbound_db_object_type.py
+++ b/src/hubspot_sdk/types/cms/inbound_db_object_type.py
@@ -56,6 +56,8 @@ class InboundDBObjectType(BaseModel):
object_type_id: str = FieldInfo(alias="objectTypeId")
+ object_type_id_string: str = FieldInfo(alias="objectTypeIdString")
+
permissioning_type: Literal["ALL_OR_NONE", "DO_NOT_CHECK_PERMISSIONS", "EXPLICIT", "OWNER_BASED", "TEAM_BASED"] = (
FieldInfo(alias="permissioningType")
)
diff --git a/src/hubspot_sdk/types/cms/is_blank.py b/src/hubspot_sdk/types/cms/is_blank.py
new file mode 100644
index 00000000..7eb37e07
--- /dev/null
+++ b/src/hubspot_sdk/types/cms/is_blank.py
@@ -0,0 +1,256 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing import TYPE_CHECKING, List, Union, Optional
+from typing_extensions import Literal, TypeAlias, TypeAliasType
+
+from pydantic import Field as FieldInfo
+
+from .now import Now
+from .euler import Euler
+from ..._compat import PYDANTIC_V1
+from ..._models import BaseModel
+from .constant_number import ConstantNumber
+from .constant_string import ConstantString
+from .constant_boolean import ConstantBoolean
+from .is_engagement_type import IsEngagementType
+from .number_property_variable import NumberPropertyVariable
+from .string_property_variable import StringPropertyVariable
+from .boolean_property_variable import BooleanPropertyVariable
+from .timestamp_of_property_variable import TimestampOfPropertyVariable
+from .number_target_property_variable import NumberTargetPropertyVariable
+from .string_target_property_variable import StringTargetPropertyVariable
+from .boolean_target_property_variable import BooleanTargetPropertyVariable
+from .fetch_single_currency_portal_currency import FetchSingleCurrencyPortalCurrency
+from .timestamp_of_target_property_variable import TimestampOfTargetPropertyVariable
+
+__all__ = ["IsBlank", "Input"]
+
+if TYPE_CHECKING or not PYDANTIC_V1:
+ Input = TypeAliasType(
+ "Input",
+ Union[
+ ConstantBoolean,
+ ConstantNumber,
+ ConstantString,
+ BooleanPropertyVariable,
+ StringPropertyVariable,
+ NumberPropertyVariable,
+ TimestampOfPropertyVariable,
+ BooleanTargetPropertyVariable,
+ StringTargetPropertyVariable,
+ NumberTargetPropertyVariable,
+ TimestampOfTargetPropertyVariable,
+ "AddNumbers",
+ "SubtractNumbers",
+ "MultiplyNumbers",
+ "DivideNumbers",
+ "RoundDownNumbers",
+ "RoundUpNumbers",
+ "RoundNearestNumbers",
+ "UpperCase",
+ "LowerCase",
+ "ConcatStrings",
+ "Contains",
+ "BeginsWith",
+ "NumberToString",
+ "ParseNumber",
+ "FetchExchangeRate",
+ "FetchCurrencyDecimalPlaces",
+ FetchSingleCurrencyPortalCurrency,
+ "DatedExchangeRate",
+ "PipelineProbability",
+ "MaxNumbers",
+ "MinNumbers",
+ "LessThan",
+ "LessThanOrEqual",
+ "MoreThan",
+ "MoreThanOrEqual",
+ "NumberEquals",
+ "StringEquals",
+ "IsPipelineStageClosed",
+ "Not",
+ "Date",
+ "Month",
+ "Year",
+ Now,
+ "TimeBetween",
+ "TimeBetweenSkipWeekends",
+ "PeriodToMonths",
+ "PeriodToWeeks",
+ "And",
+ "Or",
+ "Xor",
+ "IfString",
+ "IfNumber",
+ "IfBoolean",
+ "IsPresent",
+ "HasEmailReply",
+ "HasPlainTextEmailReply",
+ "ExtractMostRecentEmailReplyHTML",
+ "ExtractMostRecentEmailReplyText",
+ "ExtractMostRecentPlainTextEmailReply",
+ "SetContainsString",
+ IsEngagementType,
+ "FormatFullName",
+ "FormatPhoneNumber",
+ "FormatSearchablePhoneNumber",
+ "AbsoluteValue",
+ "SquareRoot",
+ "Power",
+ "Substring",
+ Euler,
+ "StringLength",
+ "IsBlank",
+ "AddTime",
+ "SubtractTime",
+ ],
+ )
+else:
+ Input: TypeAlias = Union[
+ ConstantBoolean,
+ ConstantNumber,
+ ConstantString,
+ BooleanPropertyVariable,
+ StringPropertyVariable,
+ NumberPropertyVariable,
+ TimestampOfPropertyVariable,
+ BooleanTargetPropertyVariable,
+ StringTargetPropertyVariable,
+ NumberTargetPropertyVariable,
+ TimestampOfTargetPropertyVariable,
+ "AddNumbers",
+ "SubtractNumbers",
+ "MultiplyNumbers",
+ "DivideNumbers",
+ "RoundDownNumbers",
+ "RoundUpNumbers",
+ "RoundNearestNumbers",
+ "UpperCase",
+ "LowerCase",
+ "ConcatStrings",
+ "Contains",
+ "BeginsWith",
+ "NumberToString",
+ "ParseNumber",
+ "FetchExchangeRate",
+ "FetchCurrencyDecimalPlaces",
+ FetchSingleCurrencyPortalCurrency,
+ "DatedExchangeRate",
+ "PipelineProbability",
+ "MaxNumbers",
+ "MinNumbers",
+ "LessThan",
+ "LessThanOrEqual",
+ "MoreThan",
+ "MoreThanOrEqual",
+ "NumberEquals",
+ "StringEquals",
+ "IsPipelineStageClosed",
+ "Not",
+ "Date",
+ "Month",
+ "Year",
+ Now,
+ "TimeBetween",
+ "TimeBetweenSkipWeekends",
+ "PeriodToMonths",
+ "PeriodToWeeks",
+ "And",
+ "Or",
+ "Xor",
+ "IfString",
+ "IfNumber",
+ "IfBoolean",
+ "IsPresent",
+ "HasEmailReply",
+ "HasPlainTextEmailReply",
+ "ExtractMostRecentEmailReplyHTML",
+ "ExtractMostRecentEmailReplyText",
+ "ExtractMostRecentPlainTextEmailReply",
+ "SetContainsString",
+ IsEngagementType,
+ "FormatFullName",
+ "FormatPhoneNumber",
+ "FormatSearchablePhoneNumber",
+ "AbsoluteValue",
+ "SquareRoot",
+ "Power",
+ "Substring",
+ Euler,
+ "StringLength",
+ "IsBlank",
+ "AddTime",
+ "SubtractTime",
+ ]
+
+
+class IsBlank(BaseModel):
+ operator: Literal["IS_BLANK"]
+
+ inputs: Optional[List[Input]] = None
+
+ property_name: Optional[str] = FieldInfo(alias="propertyName", default=None)
+
+ value: Optional[bool] = None
+
+
+from .or_ import Or
+from .xor import Xor
+from .and_ import And
+from .date import Date
+from .not_ import Not
+from .year import Year
+from .month import Month
+from .power import Power
+from .add_time import AddTime
+from .contains import Contains
+from .if_number import IfNumber
+from .if_string import IfString
+from .less_than import LessThan
+from .more_than import MoreThan
+from .substring import Substring
+from .if_boolean import IfBoolean
+from .is_present import IsPresent
+from .lower_case import LowerCase
+from .upper_case import UpperCase
+from .add_numbers import AddNumbers
+from .begins_with import BeginsWith
+from .max_numbers import MaxNumbers
+from .min_numbers import MinNumbers
+from .square_root import SquareRoot
+from .parse_number import ParseNumber
+from .time_between import TimeBetween
+from .number_equals import NumberEquals
+from .string_equals import StringEquals
+from .string_length import StringLength
+from .subtract_time import SubtractTime
+from .absolute_value import AbsoluteValue
+from .concat_strings import ConcatStrings
+from .divide_numbers import DivideNumbers
+from .has_email_reply import HasEmailReply
+from .period_to_weeks import PeriodToWeeks
+from .format_full_name import FormatFullName
+from .multiply_numbers import MultiplyNumbers
+from .number_to_string import NumberToString
+from .period_to_months import PeriodToMonths
+from .round_up_numbers import RoundUpNumbers
+from .subtract_numbers import SubtractNumbers
+from .less_than_or_equal import LessThanOrEqual
+from .more_than_or_equal import MoreThanOrEqual
+from .round_down_numbers import RoundDownNumbers
+from .dated_exchange_rate import DatedExchangeRate
+from .fetch_exchange_rate import FetchExchangeRate
+from .format_phone_number import FormatPhoneNumber
+from .set_contains_string import SetContainsString
+from .pipeline_probability import PipelineProbability
+from .round_nearest_numbers import RoundNearestNumbers
+from .is_pipeline_stage_closed import IsPipelineStageClosed
+from .has_plain_text_email_reply import HasPlainTextEmailReply
+from .time_between_skip_weekends import TimeBetweenSkipWeekends
+from .fetch_currency_decimal_places import FetchCurrencyDecimalPlaces
+from .format_searchable_phone_number import FormatSearchablePhoneNumber
+from .extract_most_recent_email_reply_html import ExtractMostRecentEmailReplyHTML
+from .extract_most_recent_email_reply_text import ExtractMostRecentEmailReplyText
+from .extract_most_recent_plain_text_email_reply import ExtractMostRecentPlainTextEmailReply
diff --git a/src/hubspot_sdk/types/cms/is_pipeline_stage_closed.py b/src/hubspot_sdk/types/cms/is_pipeline_stage_closed.py
index 0015a3c4..54034919 100644
--- a/src/hubspot_sdk/types/cms/is_pipeline_stage_closed.py
+++ b/src/hubspot_sdk/types/cms/is_pipeline_stage_closed.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class IsPipelineStageClosed(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/is_present.py b/src/hubspot_sdk/types/cms/is_present.py
index 02921418..99020baa 100644
--- a/src/hubspot_sdk/types/cms/is_present.py
+++ b/src/hubspot_sdk/types/cms/is_present.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class IsPresent(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/less_than.py b/src/hubspot_sdk/types/cms/less_than.py
index 375db0b4..31999a4e 100644
--- a/src/hubspot_sdk/types/cms/less_than.py
+++ b/src/hubspot_sdk/types/cms/less_than.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class LessThan(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .more_than import MoreThan
diff --git a/src/hubspot_sdk/types/cms/less_than_or_equal.py b/src/hubspot_sdk/types/cms/less_than_or_equal.py
index f3702899..f41610f7 100644
--- a/src/hubspot_sdk/types/cms/less_than_or_equal.py
+++ b/src/hubspot_sdk/types/cms/less_than_or_equal.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class LessThanOrEqual(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/lower_case.py b/src/hubspot_sdk/types/cms/lower_case.py
index b56db0bf..e3dcdac0 100644
--- a/src/hubspot_sdk/types/cms/lower_case.py
+++ b/src/hubspot_sdk/types/cms/lower_case.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class LowerCase(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/max_numbers.py b/src/hubspot_sdk/types/cms/max_numbers.py
index e36fe592..327df09c 100644
--- a/src/hubspot_sdk/types/cms/max_numbers.py
+++ b/src/hubspot_sdk/types/cms/max_numbers.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class MaxNumbers(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/media_bridge/batch_create_params.py b/src/hubspot_sdk/types/cms/media_bridge/batch_create_params.py
index c87481f9..5485ca24 100644
--- a/src/hubspot_sdk/types/cms/media_bridge/batch_create_params.py
+++ b/src/hubspot_sdk/types/cms/media_bridge/batch_create_params.py
@@ -6,7 +6,7 @@
from typing_extensions import Required, Annotated, TypedDict
from ...._utils import PropertyInfo
-from ..property_create_param import PropertyCreateParam
+from ...shared_params.property_create import PropertyCreate
__all__ = ["BatchCreateParams"]
@@ -14,4 +14,4 @@
class BatchCreateParams(TypedDict, total=False):
app_id: Required[Annotated[int, PropertyInfo(alias="appId")]]
- inputs: Required[Iterable[PropertyCreateParam]]
+ inputs: Required[Iterable[PropertyCreate]]
diff --git a/src/hubspot_sdk/types/cms/media_bridge_create_property_params.py b/src/hubspot_sdk/types/cms/media_bridge_create_property_params.py
index 4734a347..65d92086 100644
--- a/src/hubspot_sdk/types/cms/media_bridge_create_property_params.py
+++ b/src/hubspot_sdk/types/cms/media_bridge_create_property_params.py
@@ -44,6 +44,8 @@ class MediaBridgeCreatePropertyParams(TypedDict, total=False):
calculation_formula: Annotated[str, PropertyInfo(alias="calculationFormula")]
+ currency_property_name: Annotated[str, PropertyInfo(alias="currencyPropertyName")]
+
data_sensitivity: Annotated[
Literal["highly_sensitive", "non_sensitive", "sensitive"], PropertyInfo(alias="dataSensitivity")
]
@@ -60,6 +62,13 @@ class MediaBridgeCreatePropertyParams(TypedDict, total=False):
hidden: bool
+ number_display_hint: Annotated[
+ Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"],
+ PropertyInfo(alias="numberDisplayHint"),
+ ]
+
options: Iterable[OptionInput]
referenced_object_type: Annotated[str, PropertyInfo(alias="referencedObjectType")]
+
+ show_currency_symbol: Annotated[bool, PropertyInfo(alias="showCurrencySymbol")]
diff --git a/src/hubspot_sdk/types/cms/media_bridge_update_property_params.py b/src/hubspot_sdk/types/cms/media_bridge_update_property_params.py
index 041c9eaa..ef3033d4 100644
--- a/src/hubspot_sdk/types/cms/media_bridge_update_property_params.py
+++ b/src/hubspot_sdk/types/cms/media_bridge_update_property_params.py
@@ -18,6 +18,8 @@ class MediaBridgeUpdatePropertyParams(TypedDict, total=False):
calculation_formula: Annotated[str, PropertyInfo(alias="calculationFormula")]
+ currency_property_name: Annotated[str, PropertyInfo(alias="currencyPropertyName")]
+
description: str
display_order: Annotated[int, PropertyInfo(alias="displayOrder")]
@@ -50,6 +52,13 @@ class MediaBridgeUpdatePropertyParams(TypedDict, total=False):
label: str
+ number_display_hint: Annotated[
+ Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"],
+ PropertyInfo(alias="numberDisplayHint"),
+ ]
+
options: Iterable[OptionInput]
+ show_currency_symbol: Annotated[bool, PropertyInfo(alias="showCurrencySymbol")]
+
type: Literal["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"]
diff --git a/src/hubspot_sdk/types/cms/min_numbers.py b/src/hubspot_sdk/types/cms/min_numbers.py
index 16ba8165..eb598d5c 100644
--- a/src/hubspot_sdk/types/cms/min_numbers.py
+++ b/src/hubspot_sdk/types/cms/min_numbers.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class MinNumbers(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/month.py b/src/hubspot_sdk/types/cms/month.py
index 979c7914..371d71e9 100644
--- a/src/hubspot_sdk/types/cms/month.py
+++ b/src/hubspot_sdk/types/cms/month.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -203,6 +205,7 @@ class Month(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/more_than.py b/src/hubspot_sdk/types/cms/more_than.py
index 8f4d6450..90ed905a 100644
--- a/src/hubspot_sdk/types/cms/more_than.py
+++ b/src/hubspot_sdk/types/cms/more_than.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class MoreThan(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/more_than_or_equal.py b/src/hubspot_sdk/types/cms/more_than_or_equal.py
index 5552e5db..d7d254c3 100644
--- a/src/hubspot_sdk/types/cms/more_than_or_equal.py
+++ b/src/hubspot_sdk/types/cms/more_than_or_equal.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class MoreThanOrEqual(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/multiply_numbers.py b/src/hubspot_sdk/types/cms/multiply_numbers.py
index 61cc2f4d..ef46bdb5 100644
--- a/src/hubspot_sdk/types/cms/multiply_numbers.py
+++ b/src/hubspot_sdk/types/cms/multiply_numbers.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -206,6 +208,7 @@ class MultiplyNumbers(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/not_.py b/src/hubspot_sdk/types/cms/not_.py
index d15678df..e39a1d79 100644
--- a/src/hubspot_sdk/types/cms/not_.py
+++ b/src/hubspot_sdk/types/cms/not_.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -203,6 +205,7 @@ class Not(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/number_equals.py b/src/hubspot_sdk/types/cms/number_equals.py
index 02f3a2ff..4b8d8815 100644
--- a/src/hubspot_sdk/types/cms/number_equals.py
+++ b/src/hubspot_sdk/types/cms/number_equals.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class NumberEquals(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/number_to_string.py b/src/hubspot_sdk/types/cms/number_to_string.py
index dd06d651..e47eed5e 100644
--- a/src/hubspot_sdk/types/cms/number_to_string.py
+++ b/src/hubspot_sdk/types/cms/number_to_string.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class NumberToString(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/or_.py b/src/hubspot_sdk/types/cms/or_.py
index e20dba33..09f26664 100644
--- a/src/hubspot_sdk/types/cms/or_.py
+++ b/src/hubspot_sdk/types/cms/or_.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -205,6 +207,7 @@ class Or(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/parse_number.py b/src/hubspot_sdk/types/cms/parse_number.py
index 71054fc1..d1ff77df 100644
--- a/src/hubspot_sdk/types/cms/parse_number.py
+++ b/src/hubspot_sdk/types/cms/parse_number.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class ParseNumber(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/period_to_months.py b/src/hubspot_sdk/types/cms/period_to_months.py
index 4132168c..2cb3560d 100644
--- a/src/hubspot_sdk/types/cms/period_to_months.py
+++ b/src/hubspot_sdk/types/cms/period_to_months.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class PeriodToMonths(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/period_to_weeks.py b/src/hubspot_sdk/types/cms/period_to_weeks.py
index 762bf4c7..e5914d13 100644
--- a/src/hubspot_sdk/types/cms/period_to_weeks.py
+++ b/src/hubspot_sdk/types/cms/period_to_weeks.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class PeriodToWeeks(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/pipeline_probability.py b/src/hubspot_sdk/types/cms/pipeline_probability.py
index 98035904..44b0e712 100644
--- a/src/hubspot_sdk/types/cms/pipeline_probability.py
+++ b/src/hubspot_sdk/types/cms/pipeline_probability.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class PipelineProbability(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/power.py b/src/hubspot_sdk/types/cms/power.py
index a74d6511..9d013df9 100644
--- a/src/hubspot_sdk/types/cms/power.py
+++ b/src/hubspot_sdk/types/cms/power.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -203,6 +205,7 @@ class Power(BaseModel):
from .month import Month
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/property_1.py b/src/hubspot_sdk/types/cms/property_1.py
index 0f3d178c..7aefce50 100644
--- a/src/hubspot_sdk/types/cms/property_1.py
+++ b/src/hubspot_sdk/types/cms/property_1.py
@@ -40,6 +40,8 @@ class Property1(BaseModel):
created_user_id: Optional[str] = FieldInfo(alias="createdUserId", default=None)
+ currency_property_name: Optional[str] = FieldInfo(alias="currencyPropertyName", default=None)
+
data_sensitivity: Optional[Literal["highly_sensitive", "non_sensitive", "sensitive"]] = FieldInfo(
alias="dataSensitivity", default=None
)
@@ -64,6 +66,10 @@ class Property1(BaseModel):
alias="modificationMetadata", default=None
)
+ number_display_hint: Optional[
+ Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ ] = FieldInfo(alias="numberDisplayHint", default=None)
+
referenced_object_type: Optional[str] = FieldInfo(alias="referencedObjectType", default=None)
sensitive_data_categories: Optional[List[str]] = FieldInfo(alias="sensitiveDataCategories", default=None)
diff --git a/src/hubspot_sdk/types/cms/property_definition.py b/src/hubspot_sdk/types/cms/property_definition.py
index be40c683..e0e3df29 100644
--- a/src/hubspot_sdk/types/cms/property_definition.py
+++ b/src/hubspot_sdk/types/cms/property_definition.py
@@ -105,6 +105,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -153,6 +154,7 @@ class PropertyDefinition(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/rollup_expression.py b/src/hubspot_sdk/types/cms/rollup_expression.py
index 038dc558..3b4e83b9 100644
--- a/src/hubspot_sdk/types/cms/rollup_expression.py
+++ b/src/hubspot_sdk/types/cms/rollup_expression.py
@@ -99,6 +99,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -149,6 +150,7 @@ class RollupExpression(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/round_down_numbers.py b/src/hubspot_sdk/types/cms/round_down_numbers.py
index 7118b683..b03b874e 100644
--- a/src/hubspot_sdk/types/cms/round_down_numbers.py
+++ b/src/hubspot_sdk/types/cms/round_down_numbers.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class RoundDownNumbers(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/round_nearest_numbers.py b/src/hubspot_sdk/types/cms/round_nearest_numbers.py
index b8c08b08..e809ee36 100644
--- a/src/hubspot_sdk/types/cms/round_nearest_numbers.py
+++ b/src/hubspot_sdk/types/cms/round_nearest_numbers.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class RoundNearestNumbers(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/round_up_numbers.py b/src/hubspot_sdk/types/cms/round_up_numbers.py
index 053c10e7..f30a67f6 100644
--- a/src/hubspot_sdk/types/cms/round_up_numbers.py
+++ b/src/hubspot_sdk/types/cms/round_up_numbers.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class RoundUpNumbers(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/set_contains_string.py b/src/hubspot_sdk/types/cms/set_contains_string.py
index 7db8692c..88be2fab 100644
--- a/src/hubspot_sdk/types/cms/set_contains_string.py
+++ b/src/hubspot_sdk/types/cms/set_contains_string.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -258,6 +260,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -335,6 +338,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -362,6 +366,7 @@ class SetContainsString(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/square_root.py b/src/hubspot_sdk/types/cms/square_root.py
index 26bb58c1..f4721e0a 100644
--- a/src/hubspot_sdk/types/cms/square_root.py
+++ b/src/hubspot_sdk/types/cms/square_root.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class SquareRoot(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/string_equals.py b/src/hubspot_sdk/types/cms/string_equals.py
index d889eae6..fda3d938 100644
--- a/src/hubspot_sdk/types/cms/string_equals.py
+++ b/src/hubspot_sdk/types/cms/string_equals.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class StringEquals(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/string_length.py b/src/hubspot_sdk/types/cms/string_length.py
index 988924ec..bfe9efa4 100644
--- a/src/hubspot_sdk/types/cms/string_length.py
+++ b/src/hubspot_sdk/types/cms/string_length.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class StringLength(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/substring.py b/src/hubspot_sdk/types/cms/substring.py
index ac30229b..fa4bb747 100644
--- a/src/hubspot_sdk/types/cms/substring.py
+++ b/src/hubspot_sdk/types/cms/substring.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -258,6 +260,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -335,6 +338,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -362,6 +366,7 @@ class Substring(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/subtract_numbers.py b/src/hubspot_sdk/types/cms/subtract_numbers.py
index 85cf3fd0..5a35d724 100644
--- a/src/hubspot_sdk/types/cms/subtract_numbers.py
+++ b/src/hubspot_sdk/types/cms/subtract_numbers.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -206,6 +208,7 @@ class SubtractNumbers(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/subtract_time.py b/src/hubspot_sdk/types/cms/subtract_time.py
index 7cc16468..b546822b 100644
--- a/src/hubspot_sdk/types/cms/subtract_time.py
+++ b/src/hubspot_sdk/types/cms/subtract_time.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -258,6 +260,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -335,6 +338,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -362,6 +366,7 @@ class SubtractTime(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/time_between.py b/src/hubspot_sdk/types/cms/time_between.py
index f79de638..0514c474 100644
--- a/src/hubspot_sdk/types/cms/time_between.py
+++ b/src/hubspot_sdk/types/cms/time_between.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class TimeBetween(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/time_between_skip_weekends.py b/src/hubspot_sdk/types/cms/time_between_skip_weekends.py
index 0f51313c..a67a3a26 100644
--- a/src/hubspot_sdk/types/cms/time_between_skip_weekends.py
+++ b/src/hubspot_sdk/types/cms/time_between_skip_weekends.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class TimeBetweenSkipWeekends(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/upper_case.py b/src/hubspot_sdk/types/cms/upper_case.py
index e89c5e60..484a753a 100644
--- a/src/hubspot_sdk/types/cms/upper_case.py
+++ b/src/hubspot_sdk/types/cms/upper_case.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -204,6 +206,7 @@ class UpperCase(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/url_mapping_create_params.py b/src/hubspot_sdk/types/cms/url_mapping_create_params.py
index 87f7dbd0..3bf70653 100644
--- a/src/hubspot_sdk/types/cms/url_mapping_create_params.py
+++ b/src/hubspot_sdk/types/cms/url_mapping_create_params.py
@@ -149,6 +149,8 @@ class URLMappingCreateParams(TypedDict, total=False):
label: Required[str]
"""A label for the URL mapping."""
+ last_used_at: Required[Annotated[int, PropertyInfo(alias="lastUsedAt")]]
+
name: Required[str]
"""The name of the URL mapping."""
diff --git a/src/hubspot_sdk/types/cms/xor.py b/src/hubspot_sdk/types/cms/xor.py
index c6295393..d4ded592 100644
--- a/src/hubspot_sdk/types/cms/xor.py
+++ b/src/hubspot_sdk/types/cms/xor.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -205,6 +207,7 @@ class Xor(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/cms/year.py b/src/hubspot_sdk/types/cms/year.py
index b9971ddc..41caff87 100644
--- a/src/hubspot_sdk/types/cms/year.py
+++ b/src/hubspot_sdk/types/cms/year.py
@@ -102,6 +102,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
],
@@ -179,6 +180,7 @@
"Substring",
Euler,
"StringLength",
+ "IsBlank",
"AddTime",
"SubtractTime",
]
@@ -203,6 +205,7 @@ class Year(BaseModel):
from .power import Power
from .add_time import AddTime
from .contains import Contains
+from .is_blank import IsBlank
from .if_number import IfNumber
from .if_string import IfString
from .less_than import LessThan
diff --git a/src/hubspot_sdk/types/communication_preferences/communication_preference_generate_links_params.py b/src/hubspot_sdk/types/communication_preferences/communication_preference_generate_links_params.py
index 3c5be84b..34cfb801 100644
--- a/src/hubspot_sdk/types/communication_preferences/communication_preference_generate_links_params.py
+++ b/src/hubspot_sdk/types/communication_preferences/communication_preference_generate_links_params.py
@@ -11,6 +11,7 @@
class CommunicationPreferenceGenerateLinksParams(TypedDict, total=False):
channel: Required[Literal["EMAIL"]]
+ """The communication channel for which the links are generated. Must be 'EMAIL'."""
subscriber_id_string: Required[Annotated[str, PropertyInfo(alias="subscriberIdString")]]
"""A string representing the unique identifier of the subscriber.
@@ -19,6 +20,7 @@ class CommunicationPreferenceGenerateLinksParams(TypedDict, total=False):
"""
business_unit_id: Annotated[int, PropertyInfo(alias="businessUnitId")]
+ """The identifier of the business unit. Defaults to 0 if not specified."""
language: str
"""
diff --git a/src/hubspot_sdk/types/communication_preferences/communication_preference_get_statuses_params.py b/src/hubspot_sdk/types/communication_preferences/communication_preference_get_statuses_params.py
index 8130b5fc..94cc49e2 100644
--- a/src/hubspot_sdk/types/communication_preferences/communication_preference_get_statuses_params.py
+++ b/src/hubspot_sdk/types/communication_preferences/communication_preference_get_statuses_params.py
@@ -11,5 +11,13 @@
class CommunicationPreferenceGetStatusesParams(TypedDict, total=False):
channel: Required[Literal["EMAIL"]]
+ """The communication channel for which the subscription status is being retrieved.
+
+ This parameter is required and currently supports only 'EMAIL'.
+ """
business_unit_id: Annotated[int, PropertyInfo(alias="businessUnitId")]
+ """The ID of the business unit to filter the subscription status by.
+
+ This is an optional parameter.
+ """
diff --git a/src/hubspot_sdk/types/communication_preferences/communication_preference_get_unsubscribe_all_status_params.py b/src/hubspot_sdk/types/communication_preferences/communication_preference_get_unsubscribe_all_status_params.py
index 3acbeb81..2cf547e0 100644
--- a/src/hubspot_sdk/types/communication_preferences/communication_preference_get_unsubscribe_all_status_params.py
+++ b/src/hubspot_sdk/types/communication_preferences/communication_preference_get_unsubscribe_all_status_params.py
@@ -11,7 +11,19 @@
class CommunicationPreferenceGetUnsubscribeAllStatusParams(TypedDict, total=False):
channel: Required[Literal["EMAIL"]]
+ """The communication channel from which to unsubscribe the subscriber.
+
+ This is a required parameter and must be 'EMAIL'.
+ """
business_unit_id: Annotated[int, PropertyInfo(alias="businessUnitId")]
+ """The ID of the business unit to which the subscriber belongs.
+
+ This is an optional parameter.
+ """
verbose: bool
+ """A boolean indicating whether to include detailed information in the response.
+
+ Defaults to false.
+ """
diff --git a/src/hubspot_sdk/types/communication_preferences/communication_preference_unsubscribe_all_params.py b/src/hubspot_sdk/types/communication_preferences/communication_preference_unsubscribe_all_params.py
index 2563c5ab..d9fa7688 100644
--- a/src/hubspot_sdk/types/communication_preferences/communication_preference_unsubscribe_all_params.py
+++ b/src/hubspot_sdk/types/communication_preferences/communication_preference_unsubscribe_all_params.py
@@ -11,7 +11,16 @@
class CommunicationPreferenceUnsubscribeAllParams(TypedDict, total=False):
channel: Required[Literal["EMAIL"]]
+ """The communication channel to unsubscribe from. Must be 'EMAIL'."""
business_unit_id: Annotated[int, PropertyInfo(alias="businessUnitId")]
+ """The ID of the business unit associated with the request.
+
+ This is an optional integer parameter.
+ """
verbose: bool
+ """A boolean indicating whether to include detailed information in the response.
+
+ Defaults to false.
+ """
diff --git a/src/hubspot_sdk/types/communication_preferences/definition_list_params.py b/src/hubspot_sdk/types/communication_preferences/definition_list_params.py
index bf67f139..01fd13f4 100644
--- a/src/hubspot_sdk/types/communication_preferences/definition_list_params.py
+++ b/src/hubspot_sdk/types/communication_preferences/definition_list_params.py
@@ -11,5 +11,13 @@
class DefinitionListParams(TypedDict, total=False):
business_unit_id: Annotated[int, PropertyInfo(alias="businessUnitId")]
+ """
+ An integer representing the ID of the business unit for which to retrieve
+ subscription definitions.
+ """
include_translations: Annotated[bool, PropertyInfo(alias="includeTranslations")]
+ """
+ A boolean indicating whether to include translations of the communication
+ preferences definitions in the response.
+ """
diff --git a/src/hubspot_sdk/types/communication_preferences/statuses/batch_get_unsubscribe_all_statuses_params.py b/src/hubspot_sdk/types/communication_preferences/statuses/batch_get_unsubscribe_all_statuses_params.py
index 56d5bf03..44f23f19 100644
--- a/src/hubspot_sdk/types/communication_preferences/statuses/batch_get_unsubscribe_all_statuses_params.py
+++ b/src/hubspot_sdk/types/communication_preferences/statuses/batch_get_unsubscribe_all_statuses_params.py
@@ -12,8 +12,16 @@
class BatchGetUnsubscribeAllStatusesParams(TypedDict, total=False):
channel: Required[Literal["EMAIL"]]
+ """The communication channel to filter the unsubscribe statuses.
+
+ This parameter is required and currently supports 'EMAIL' as a valid value.
+ """
inputs: Required[SequenceNotStr[str]]
"""Strings to input."""
business_unit_id: Annotated[int, PropertyInfo(alias="businessUnitId")]
+ """The ID of the business unit to filter the results.
+
+ This is an optional parameter.
+ """
diff --git a/src/hubspot_sdk/types/communication_preferences/statuses/batch_read_params.py b/src/hubspot_sdk/types/communication_preferences/statuses/batch_read_params.py
index cf18db57..9fec0693 100644
--- a/src/hubspot_sdk/types/communication_preferences/statuses/batch_read_params.py
+++ b/src/hubspot_sdk/types/communication_preferences/statuses/batch_read_params.py
@@ -12,8 +12,13 @@
class BatchReadParams(TypedDict, total=False):
channel: Required[Literal["EMAIL"]]
+ """The communication channel to filter the subscription statuses. Must be 'EMAIL'."""
inputs: Required[SequenceNotStr[str]]
"""Strings to input."""
business_unit_id: Annotated[int, PropertyInfo(alias="businessUnitId")]
+ """An optional integer representing the business unit ID.
+
+ This parameter helps to filter the results based on the specific business unit.
+ """
diff --git a/src/hubspot_sdk/types/communication_preferences/statuses/batch_unsubscribe_all_params.py b/src/hubspot_sdk/types/communication_preferences/statuses/batch_unsubscribe_all_params.py
index fe7e9787..1348ec35 100644
--- a/src/hubspot_sdk/types/communication_preferences/statuses/batch_unsubscribe_all_params.py
+++ b/src/hubspot_sdk/types/communication_preferences/statuses/batch_unsubscribe_all_params.py
@@ -12,10 +12,22 @@
class BatchUnsubscribeAllParams(TypedDict, total=False):
channel: Required[Literal["EMAIL"]]
+ """The communication channel from which subscribers will be unsubscribed.
+
+ This parameter is required and currently supports only 'EMAIL'.
+ """
inputs: Required[SequenceNotStr[str]]
"""Strings to input."""
business_unit_id: Annotated[int, PropertyInfo(alias="businessUnitId")]
+ """
+ An optional integer representing the business unit ID for which the operation is
+ being performed.
+ """
verbose: bool
+ """A boolean indicating whether to include detailed information in the response.
+
+ Defaults to false.
+ """
diff --git a/src/hubspot_sdk/types/crm/__init__.py b/src/hubspot_sdk/types/crm/__init__.py
index 37290b44..7dcaa754 100644
--- a/src/hubspot_sdk/types/crm/__init__.py
+++ b/src/hubspot_sdk/types/crm/__init__.py
@@ -3,7 +3,6 @@
from __future__ import annotations
from .pipeline import Pipeline as Pipeline
-from .property import Property as Property
from .date_time import DateTime as DateTime
from .public_team import PublicTeam as PublicTeam
from .filter_param import FilterParam as FilterParam
@@ -43,7 +42,6 @@
from .simple_public_object import SimplePublicObject as SimplePublicObject
from .value_with_timestamp import ValueWithTimestamp as ValueWithTimestamp
from .list_move_list_params import ListMoveListParams as ListMoveListParams
-from .property_create_param import PropertyCreateParam as PropertyCreateParam
from .public_in_list_filter import PublicInListFilter as PublicInListFilter
from .public_webinar_filter import PublicWebinarFilter as PublicWebinarFilter
from .public_week_reference import PublicWeekReference as PublicWeekReference
diff --git a/src/hubspot_sdk/types/crm/batch_response_property.py b/src/hubspot_sdk/types/crm/batch_response_property.py
index ebcc9d5a..b27e20f1 100644
--- a/src/hubspot_sdk/types/crm/batch_response_property.py
+++ b/src/hubspot_sdk/types/crm/batch_response_property.py
@@ -6,8 +6,8 @@
from pydantic import Field as FieldInfo
-from .property import Property
from ..._models import BaseModel
+from ..shared.property import Property
__all__ = ["BatchResponseProperty"]
diff --git a/src/hubspot_sdk/types/crm/collection_response_property_no_paging.py b/src/hubspot_sdk/types/crm/collection_response_property_no_paging.py
index 7e6304f9..df95c0b7 100644
--- a/src/hubspot_sdk/types/crm/collection_response_property_no_paging.py
+++ b/src/hubspot_sdk/types/crm/collection_response_property_no_paging.py
@@ -2,8 +2,8 @@
from typing import List
-from .property import Property
from ..._models import BaseModel
+from ..shared.property import Property
__all__ = ["CollectionResponsePropertyNoPaging"]
diff --git a/src/hubspot_sdk/types/crm/extensions/cards_dev_migrate_views_params.py b/src/hubspot_sdk/types/crm/extensions/cards_dev_migrate_views_params.py
index 1af8a40c..df73ff9e 100644
--- a/src/hubspot_sdk/types/crm/extensions/cards_dev_migrate_views_params.py
+++ b/src/hubspot_sdk/types/crm/extensions/cards_dev_migrate_views_params.py
@@ -10,6 +10,8 @@
class CardsDevMigrateViewsParams(TypedDict, total=False):
+ allow_duplicate_app_card_ids: Required[Annotated[bool, PropertyInfo(alias="allowDuplicateAppCardIds")]]
+
app_card_id: Required[Annotated[int, PropertyInfo(alias="appCardId")]]
legacy_crm_card_id: Required[Annotated[int, PropertyInfo(alias="legacyCrmCardId")]]
diff --git a/src/hubspot_sdk/types/crm/object_schema.py b/src/hubspot_sdk/types/crm/object_schema.py
index 5516608a..a843a08c 100644
--- a/src/hubspot_sdk/types/crm/object_schema.py
+++ b/src/hubspot_sdk/types/crm/object_schema.py
@@ -5,8 +5,8 @@
from pydantic import Field as FieldInfo
-from .property import Property
from ..._models import BaseModel
+from ..shared.property import Property
from ..shared.association_definition import AssociationDefinition
from ..shared.object_type_definition_labels import ObjectTypeDefinitionLabels
diff --git a/src/hubspot_sdk/types/crm/properties/batch_create_params.py b/src/hubspot_sdk/types/crm/properties/batch_create_params.py
index 13fb933a..b8f6f30c 100644
--- a/src/hubspot_sdk/types/crm/properties/batch_create_params.py
+++ b/src/hubspot_sdk/types/crm/properties/batch_create_params.py
@@ -5,10 +5,10 @@
from typing import Iterable
from typing_extensions import Required, TypedDict
-from ..property_create_param import PropertyCreateParam
+from ...shared_params.property_create import PropertyCreate
__all__ = ["BatchCreateParams"]
class BatchCreateParams(TypedDict, total=False):
- inputs: Required[Iterable[PropertyCreateParam]]
+ inputs: Required[Iterable[PropertyCreate]]
diff --git a/src/hubspot_sdk/types/crm/property_create_param.py b/src/hubspot_sdk/types/crm/property_create_param.py
deleted file mode 100644
index e4731be7..00000000
--- a/src/hubspot_sdk/types/crm/property_create_param.py
+++ /dev/null
@@ -1,105 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing import Iterable
-from typing_extensions import Literal, Required, Annotated, TypedDict
-
-from ..._utils import PropertyInfo
-from ..shared_params.option_input import OptionInput
-
-__all__ = ["PropertyCreateParam"]
-
-
-class PropertyCreateParam(TypedDict, total=False):
- field_type: Required[
- Annotated[
- Literal[
- "booleancheckbox",
- "calculation_equation",
- "checkbox",
- "date",
- "file",
- "html",
- "number",
- "phonenumber",
- "radio",
- "select",
- "text",
- "textarea",
- ],
- PropertyInfo(alias="fieldType"),
- ]
- ]
- """Controls how the property appears in HubSpot."""
-
- group_name: Required[Annotated[str, PropertyInfo(alias="groupName")]]
- """The name of the property group the property belongs to."""
-
- label: Required[str]
- """A human-readable property label that will be shown in HubSpot."""
-
- name: Required[str]
- """
- The internal property name, which must be used when referencing the property via
- the API.
- """
-
- type: Required[Literal["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"]]
- """The data type of the property."""
-
- calculation_formula: Annotated[str, PropertyInfo(alias="calculationFormula")]
- """Represents a formula that is used to compute a calculated property."""
-
- currency_property_name: Annotated[str, PropertyInfo(alias="currencyPropertyName")]
-
- data_sensitivity: Annotated[
- Literal["highly_sensitive", "non_sensitive", "sensitive"], PropertyInfo(alias="dataSensitivity")
- ]
- """
- Indicates the sensitivity level of the property, with options: highly_sensitive,
- non_sensitive, or sensitive.
- """
-
- description: str
- """A description of the property that will be shown as help text in HubSpot."""
-
- display_order: Annotated[int, PropertyInfo(alias="displayOrder")]
- """
- Properties are displayed in order starting with the lowest positive integer
- value. Values of -1 will cause the property to be displayed after any positive
- values.
- """
-
- external_options: Annotated[bool, PropertyInfo(alias="externalOptions")]
- """Applicable only for 'enumeration' type properties.
-
- Should be set to true in conjunction with a 'referencedObjectType' of 'OWNER'.
- Otherwise false.
- """
-
- form_field: Annotated[bool, PropertyInfo(alias="formField")]
- """Whether or not the property can be used in a HubSpot form."""
-
- has_unique_value: Annotated[bool, PropertyInfo(alias="hasUniqueValue")]
- """Whether or not the property's value must be unique.
-
- Once set, this can't be changed.
- """
-
- hidden: bool
- """If true, the property won't be visible and can't be used in HubSpot."""
-
- options: Iterable[OptionInput]
- """A list of valid options for the property.
-
- This field is required for enumerated properties.
- """
-
- referenced_object_type: Annotated[str, PropertyInfo(alias="referencedObjectType")]
- """
- Should be set to 'OWNER' when 'externalOptions' is true, which causes the
- property to dynamically pull option values from the current HubSpot users.
- """
-
- show_currency_symbol: Annotated[bool, PropertyInfo(alias="showCurrencySymbol")]
diff --git a/src/hubspot_sdk/types/crm/property_create_params.py b/src/hubspot_sdk/types/crm/property_create_params.py
index 36138b87..2e14d7b9 100644
--- a/src/hubspot_sdk/types/crm/property_create_params.py
+++ b/src/hubspot_sdk/types/crm/property_create_params.py
@@ -31,75 +31,42 @@ class PropertyCreateParams(TypedDict, total=False):
PropertyInfo(alias="fieldType"),
]
]
- """Controls how the property appears in HubSpot."""
group_name: Required[Annotated[str, PropertyInfo(alias="groupName")]]
- """The name of the property group the property belongs to."""
label: Required[str]
- """A human-readable property label that will be shown in HubSpot."""
name: Required[str]
- """
- The internal property name, which must be used when referencing the property via
- the API.
- """
type: Required[Literal["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"]]
- """The data type of the property."""
calculation_formula: Annotated[str, PropertyInfo(alias="calculationFormula")]
- """Represents a formula that is used to compute a calculated property."""
currency_property_name: Annotated[str, PropertyInfo(alias="currencyPropertyName")]
data_sensitivity: Annotated[
Literal["highly_sensitive", "non_sensitive", "sensitive"], PropertyInfo(alias="dataSensitivity")
]
- """
- Indicates the sensitivity level of the property, with options: highly_sensitive,
- non_sensitive, or sensitive.
- """
description: str
- """A description of the property that will be shown as help text in HubSpot."""
display_order: Annotated[int, PropertyInfo(alias="displayOrder")]
- """
- Properties are displayed in order starting with the lowest positive integer
- value. Values of -1 will cause the property to be displayed after any positive
- values.
- """
external_options: Annotated[bool, PropertyInfo(alias="externalOptions")]
- """Applicable only for 'enumeration' type properties.
-
- Should be set to true in conjunction with a 'referencedObjectType' of 'OWNER'.
- Otherwise false.
- """
form_field: Annotated[bool, PropertyInfo(alias="formField")]
- """Whether or not the property can be used in a HubSpot form."""
has_unique_value: Annotated[bool, PropertyInfo(alias="hasUniqueValue")]
- """Whether or not the property's value must be unique.
-
- Once set, this can't be changed.
- """
hidden: bool
- """If true, the property won't be visible and can't be used in HubSpot."""
- options: Iterable[OptionInput]
- """A list of valid options for the property.
+ number_display_hint: Annotated[
+ Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"],
+ PropertyInfo(alias="numberDisplayHint"),
+ ]
- This field is required for enumerated properties.
- """
+ options: Iterable[OptionInput]
referenced_object_type: Annotated[str, PropertyInfo(alias="referencedObjectType")]
- """
- Should be set to 'OWNER' when 'externalOptions' is true, which causes the
- property to dynamically pull option values from the current HubSpot users.
- """
show_currency_symbol: Annotated[bool, PropertyInfo(alias="showCurrencySymbol")]
diff --git a/src/hubspot_sdk/types/crm/property_update_params.py b/src/hubspot_sdk/types/crm/property_update_params.py
index 59464f01..9b8327a8 100644
--- a/src/hubspot_sdk/types/crm/property_update_params.py
+++ b/src/hubspot_sdk/types/crm/property_update_params.py
@@ -60,6 +60,11 @@ class PropertyUpdateParams(TypedDict, total=False):
label: str
"""A human-readable property label that will be shown in HubSpot."""
+ number_display_hint: Annotated[
+ Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"],
+ PropertyInfo(alias="numberDisplayHint"),
+ ]
+
options: Iterable[OptionInput]
"""A list of valid options for the property."""
diff --git a/src/hubspot_sdk/types/crm/simple_public_object.py b/src/hubspot_sdk/types/crm/simple_public_object.py
index c612e8a4..10f8e84c 100644
--- a/src/hubspot_sdk/types/crm/simple_public_object.py
+++ b/src/hubspot_sdk/types/crm/simple_public_object.py
@@ -23,7 +23,7 @@ class SimplePublicObject(BaseModel):
created_at: datetime = FieldInfo(alias="createdAt")
"""The timestamp when the object was created, in ISO 8601 format."""
- properties: Dict[str, Optional[str]]
+ properties: Dict[str, str]
"""Key-value pairs representing the properties of the object."""
updated_at: datetime = FieldInfo(alias="updatedAt")
diff --git a/src/hubspot_sdk/types/crm/simple_public_object_with_associations.py b/src/hubspot_sdk/types/crm/simple_public_object_with_associations.py
index cf901b1b..7fd56548 100644
--- a/src/hubspot_sdk/types/crm/simple_public_object_with_associations.py
+++ b/src/hubspot_sdk/types/crm/simple_public_object_with_associations.py
@@ -26,7 +26,7 @@ class SimplePublicObjectWithAssociations(BaseModel):
created_at: datetime = FieldInfo(alias="createdAt")
"""The timestamp when the object was created, in ISO 8601 format."""
- properties: Dict[str, Optional[str]]
+ properties: Dict[str, str]
"""Key value pairs representing the properties of the object."""
updated_at: datetime = FieldInfo(alias="updatedAt")
diff --git a/src/hubspot_sdk/types/events/__init__.py b/src/hubspot_sdk/types/events/__init__.py
index 1d1d0de7..40825660 100644
--- a/src/hubspot_sdk/types/events/__init__.py
+++ b/src/hubspot_sdk/types/events/__init__.py
@@ -2,7 +2,6 @@
from __future__ import annotations
-from .property import Property as Property
from .date_point import DatePoint as DatePoint
from .fiscal_year import FiscalYear as FiscalYear
from .time_offset import TimeOffset as TimeOffset
diff --git a/src/hubspot_sdk/types/events/external_behavioral_event_type_definition.py b/src/hubspot_sdk/types/events/external_behavioral_event_type_definition.py
index 48e5571d..6ac8141b 100644
--- a/src/hubspot_sdk/types/events/external_behavioral_event_type_definition.py
+++ b/src/hubspot_sdk/types/events/external_behavioral_event_type_definition.py
@@ -8,8 +8,8 @@
from pydantic import Field as FieldInfo
-from .property import Property
from ..._models import BaseModel
+from ..shared.property import Property
from .association_definition import AssociationDefinition
from .behavioral_event_type_definition_labels import BehavioralEventTypeDefinitionLabels
from .external_object_resolution_mapping_response import ExternalObjectResolutionMappingResponse
diff --git a/src/hubspot_sdk/types/events/property.py b/src/hubspot_sdk/types/events/property.py
deleted file mode 100644
index 3e4fb35e..00000000
--- a/src/hubspot_sdk/types/events/property.py
+++ /dev/null
@@ -1,119 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import List, Optional
-from datetime import datetime
-from typing_extensions import Literal
-
-from pydantic import Field as FieldInfo
-
-from ..._models import BaseModel
-from ..shared.option import Option
-from ..shared.property_modification_metadata import PropertyModificationMetadata
-
-__all__ = ["Property"]
-
-
-class Property(BaseModel):
- """A HubSpot property"""
-
- description: str
- """A summary of the property's purpose."""
-
- field_type: str = FieldInfo(alias="fieldType")
- """Determines how the property will appear in HubSpot's UI or on a form.
-
- Learn more in the properties API guide.
- """
-
- group_name: str = FieldInfo(alias="groupName")
- """The name of the group to which the property is assigned."""
-
- label: str
- """The display label for the property."""
-
- name: str
- """The internal name for the property."""
-
- options: List[Option]
- """A list of valid options for the property.
-
- This field is required for enumerated properties.
- """
-
- type: str
- """The data type of the property, such as string or number."""
-
- archived: Optional[bool] = None
- """Whether the property is archived."""
-
- archived_at: Optional[datetime] = FieldInfo(alias="archivedAt", default=None)
- """The timestamp when the property was archived, in ISO 8601 format."""
-
- calculated: Optional[bool] = None
- """Whether the property is a calculated field."""
-
- calculation_formula: Optional[str] = FieldInfo(alias="calculationFormula", default=None)
- """The formula used for calculated properties."""
-
- created_at: Optional[datetime] = FieldInfo(alias="createdAt", default=None)
- """The timestamp when the property was created, in ISO 8601 format."""
-
- created_user_id: Optional[str] = FieldInfo(alias="createdUserId", default=None)
- """The ID of the user who created the property."""
-
- data_sensitivity: Optional[Literal["highly_sensitive", "non_sensitive", "sensitive"]] = FieldInfo(
- alias="dataSensitivity", default=None
- )
- """
- Indicates the sensitivity level of the property, such as "non_sensitive",
- "sensitive", or "highly_sensitive".
- """
-
- date_display_hint: Optional[Literal["absolute", "absolute_with_relative", "time_since", "time_until"]] = FieldInfo(
- alias="dateDisplayHint", default=None
- )
-
- display_order: Optional[int] = FieldInfo(alias="displayOrder", default=None)
- """The position of the item relative to others in the list."""
-
- external_options: Optional[bool] = FieldInfo(alias="externalOptions", default=None)
- """Applicable only for enumeration type properties.
-
- Should be set to true with a 'referencedObjectType' of 'OWNER'. Otherwise false.
- """
-
- form_field: Optional[bool] = FieldInfo(alias="formField", default=None)
- """Whether the property can appear on forms."""
-
- has_unique_value: Optional[bool] = FieldInfo(alias="hasUniqueValue", default=None)
- """Whether the property is a unique identifier property."""
-
- hidden: Optional[bool] = None
- """Whether or not the property will be hidden from the HubSpot UI.
-
- It's recommended that this be set to false for custom properties.
- """
-
- hubspot_defined: Optional[bool] = FieldInfo(alias="hubspotDefined", default=None)
- """A boolean value set to true for HubSpot default properties."""
-
- modification_metadata: Optional[PropertyModificationMetadata] = FieldInfo(
- alias="modificationMetadata", default=None
- )
-
- referenced_object_type: Optional[str] = FieldInfo(alias="referencedObjectType", default=None)
- """Deprecated. Use externalOptionsReferenceType instead."""
-
- sensitive_data_categories: Optional[List[str]] = FieldInfo(alias="sensitiveDataCategories", default=None)
- """
- When sensitiveData is true, lists the type of sensitive data contained in the
- property (e.g., "HIPAA").
- """
-
- show_currency_symbol: Optional[bool] = FieldInfo(alias="showCurrencySymbol", default=None)
- """Whether to show the currency symbol in HubSpot's UI."""
-
- updated_at: Optional[datetime] = FieldInfo(alias="updatedAt", default=None)
- """The timestamp when the property was last updated, in ISO 8601 format."""
-
- updated_user_id: Optional[str] = FieldInfo(alias="updatedUserId", default=None)
diff --git a/src/hubspot_sdk/types/scheduler/external_calendar_meeting_event_response_properties.py b/src/hubspot_sdk/types/scheduler/external_calendar_meeting_event_response_properties.py
index dbd90021..6501e427 100644
--- a/src/hubspot_sdk/types/scheduler/external_calendar_meeting_event_response_properties.py
+++ b/src/hubspot_sdk/types/scheduler/external_calendar_meeting_event_response_properties.py
@@ -82,6 +82,7 @@ class ExternalCalendarMeetingEventResponseProperties(BaseModel):
"LEGAL_BASIS_REMEDIATION",
"MARKET_SOURCING",
"MARKETPLACE",
+ "MARKETS",
"MEETINGS",
"MERGE_COMPANIES",
"MERGE_CONTACTS",
@@ -106,6 +107,7 @@ class ExternalCalendarMeetingEventResponseProperties(BaseModel):
"QUOTES",
"RECYCLING_BIN",
"RESTORE_OBJECTS",
+ "REVENUE_PLATFORM",
"SALES",
"SALES_MESSAGES",
"SALESFORCE",
diff --git a/src/hubspot_sdk/types/shared/__init__.py b/src/hubspot_sdk/types/shared/__init__.py
index 726d8681..90b714db 100644
--- a/src/hubspot_sdk/types/shared/__init__.py
+++ b/src/hubspot_sdk/types/shared/__init__.py
@@ -3,6 +3,7 @@
from .error import Error as Error
from .option import Option as Option
from .paging import Paging as Paging
+from .property import Property as Property
from .next_page import NextPage as NextPage
from .error_detail import ErrorDetail as ErrorDetail
from .option_input import OptionInput as OptionInput
@@ -15,6 +16,7 @@
from .property_value import PropertyValue as PropertyValue
from .standard_error import StandardError as StandardError
from .action_response import ActionResponse as ActionResponse
+from .property_create import PropertyCreate as PropertyCreate
from .association_spec import AssociationSpec as AssociationSpec
from .public_object_id import PublicObjectID as PublicObjectID
from .batch_input_string import BatchInputString as BatchInputString
@@ -25,6 +27,7 @@
from .automation_actions_option import AutomationActionsOption as AutomationActionsOption
from .batch_input_property_name import BatchInputPropertyName as BatchInputPropertyName
from .association_definition_egg import AssociationDefinitionEgg as AssociationDefinitionEgg
+from .batch_input_property_create import BatchInputPropertyCreate as BatchInputPropertyCreate
from .batch_input_public_object_id import BatchInputPublicObjectID as BatchInputPublicObjectID
from .object_type_definition_patch import ObjectTypeDefinitionPatch as ObjectTypeDefinitionPatch
from .ab_test_create_request_v_next import AbTestCreateRequestVNext as AbTestCreateRequestVNext
diff --git a/src/hubspot_sdk/types/shared/batch_input_property_create.py b/src/hubspot_sdk/types/shared/batch_input_property_create.py
new file mode 100644
index 00000000..78f3b23d
--- /dev/null
+++ b/src/hubspot_sdk/types/shared/batch_input_property_create.py
@@ -0,0 +1,12 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import List
+
+from ..._models import BaseModel
+from .property_create import PropertyCreate
+
+__all__ = ["BatchInputPropertyCreate"]
+
+
+class BatchInputPropertyCreate(BaseModel):
+ inputs: List[PropertyCreate]
diff --git a/src/hubspot_sdk/types/crm/property.py b/src/hubspot_sdk/types/shared/property.py
similarity index 91%
rename from src/hubspot_sdk/types/crm/property.py
rename to src/hubspot_sdk/types/shared/property.py
index d115b39c..077c1000 100644
--- a/src/hubspot_sdk/types/crm/property.py
+++ b/src/hubspot_sdk/types/shared/property.py
@@ -6,9 +6,9 @@
from pydantic import Field as FieldInfo
+from .option import Option
from ..._models import BaseModel
-from ..shared.option import Option
-from ..shared.property_modification_metadata import PropertyModificationMetadata
+from .property_modification_metadata import PropertyModificationMetadata
__all__ = ["Property"]
@@ -120,6 +120,15 @@ class Property(BaseModel):
alias="modificationMetadata", default=None
)
+ number_display_hint: Optional[
+ Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ ] = FieldInfo(alias="numberDisplayHint", default=None)
+ """Hint for how a number property is displayed and validated in HubSpot's UI.
+
+ Can be: "unformatted", "formatted", "currency", "percentage", "duration", or
+ "probability".
+ """
+
referenced_object_type: Optional[str] = FieldInfo(alias="referencedObjectType", default=None)
"""If this property is related to other object(s), they'll be listed here."""
diff --git a/src/hubspot_sdk/types/shared/property_create.py b/src/hubspot_sdk/types/shared/property_create.py
new file mode 100644
index 00000000..22f697d9
--- /dev/null
+++ b/src/hubspot_sdk/types/shared/property_create.py
@@ -0,0 +1,66 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from typing import List, Optional
+from typing_extensions import Literal
+
+from pydantic import Field as FieldInfo
+
+from ..._models import BaseModel
+from .option_input import OptionInput
+
+__all__ = ["PropertyCreate"]
+
+
+class PropertyCreate(BaseModel):
+ field_type: Literal[
+ "booleancheckbox",
+ "calculation_equation",
+ "checkbox",
+ "date",
+ "file",
+ "html",
+ "number",
+ "phonenumber",
+ "radio",
+ "select",
+ "text",
+ "textarea",
+ ] = FieldInfo(alias="fieldType")
+
+ group_name: str = FieldInfo(alias="groupName")
+
+ label: str
+
+ name: str
+
+ type: Literal["bool", "date", "datetime", "enumeration", "number", "phone_number", "string"]
+
+ calculation_formula: Optional[str] = FieldInfo(alias="calculationFormula", default=None)
+
+ currency_property_name: Optional[str] = FieldInfo(alias="currencyPropertyName", default=None)
+
+ data_sensitivity: Optional[Literal["highly_sensitive", "non_sensitive", "sensitive"]] = FieldInfo(
+ alias="dataSensitivity", default=None
+ )
+
+ description: Optional[str] = None
+
+ display_order: Optional[int] = FieldInfo(alias="displayOrder", default=None)
+
+ external_options: Optional[bool] = FieldInfo(alias="externalOptions", default=None)
+
+ form_field: Optional[bool] = FieldInfo(alias="formField", default=None)
+
+ has_unique_value: Optional[bool] = FieldInfo(alias="hasUniqueValue", default=None)
+
+ hidden: Optional[bool] = None
+
+ number_display_hint: Optional[
+ Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"]
+ ] = FieldInfo(alias="numberDisplayHint", default=None)
+
+ options: Optional[List[OptionInput]] = None
+
+ referenced_object_type: Optional[str] = FieldInfo(alias="referencedObjectType", default=None)
+
+ show_currency_symbol: Optional[bool] = FieldInfo(alias="showCurrencySymbol", default=None)
diff --git a/src/hubspot_sdk/types/shared/property_value.py b/src/hubspot_sdk/types/shared/property_value.py
index fa86f11f..40e50d34 100644
--- a/src/hubspot_sdk/types/shared/property_value.py
+++ b/src/hubspot_sdk/types/shared/property_value.py
@@ -114,6 +114,7 @@ class PropertyValue(BaseModel):
"LEGAL_BASIS_REMEDIATION",
"MARKET_SOURCING",
"MARKETPLACE",
+ "MARKETS",
"MEETINGS",
"MERGE_COMPANIES",
"MERGE_CONTACTS",
@@ -138,6 +139,7 @@ class PropertyValue(BaseModel):
"QUOTES",
"RECYCLING_BIN",
"RESTORE_OBJECTS",
+ "REVENUE_PLATFORM",
"SALES",
"SALES_MESSAGES",
"SALESFORCE",
diff --git a/src/hubspot_sdk/types/shared_params/__init__.py b/src/hubspot_sdk/types/shared_params/__init__.py
index e77f39eb..5d982954 100644
--- a/src/hubspot_sdk/types/shared_params/__init__.py
+++ b/src/hubspot_sdk/types/shared_params/__init__.py
@@ -3,6 +3,7 @@
from .option_input import OptionInput as OptionInput
from .property_name import PropertyName as PropertyName
from .property_value import PropertyValue as PropertyValue
+from .property_create import PropertyCreate as PropertyCreate
from .association_spec import AssociationSpec as AssociationSpec
from .public_object_id import PublicObjectID as PublicObjectID
from .automation_actions_option import AutomationActionsOption as AutomationActionsOption
diff --git a/src/hubspot_sdk/types/cms/property_create_param.py b/src/hubspot_sdk/types/shared_params/property_create.py
similarity index 77%
rename from src/hubspot_sdk/types/cms/property_create_param.py
rename to src/hubspot_sdk/types/shared_params/property_create.py
index 9f7719d9..ce01b794 100644
--- a/src/hubspot_sdk/types/cms/property_create_param.py
+++ b/src/hubspot_sdk/types/shared_params/property_create.py
@@ -6,12 +6,12 @@
from typing_extensions import Literal, Required, Annotated, TypedDict
from ..._utils import PropertyInfo
-from ..shared_params.option_input import OptionInput
+from .option_input import OptionInput
-__all__ = ["PropertyCreateParam"]
+__all__ = ["PropertyCreate"]
-class PropertyCreateParam(TypedDict, total=False):
+class PropertyCreate(TypedDict, total=False):
field_type: Required[
Annotated[
Literal[
@@ -42,6 +42,8 @@ class PropertyCreateParam(TypedDict, total=False):
calculation_formula: Annotated[str, PropertyInfo(alias="calculationFormula")]
+ currency_property_name: Annotated[str, PropertyInfo(alias="currencyPropertyName")]
+
data_sensitivity: Annotated[
Literal["highly_sensitive", "non_sensitive", "sensitive"], PropertyInfo(alias="dataSensitivity")
]
@@ -58,6 +60,13 @@ class PropertyCreateParam(TypedDict, total=False):
hidden: bool
+ number_display_hint: Annotated[
+ Literal["currency", "duration", "formatted", "percentage", "probability", "unformatted"],
+ PropertyInfo(alias="numberDisplayHint"),
+ ]
+
options: Iterable[OptionInput]
referenced_object_type: Annotated[str, PropertyInfo(alias="referencedObjectType")]
+
+ show_currency_symbol: Annotated[bool, PropertyInfo(alias="showCurrencySymbol")]
diff --git a/src/hubspot_sdk/types/shared_params/property_value.py b/src/hubspot_sdk/types/shared_params/property_value.py
index da98c077..8a7a3a4f 100644
--- a/src/hubspot_sdk/types/shared_params/property_value.py
+++ b/src/hubspot_sdk/types/shared_params/property_value.py
@@ -115,6 +115,7 @@ class PropertyValue(TypedDict, total=False):
"LEGAL_BASIS_REMEDIATION",
"MARKET_SOURCING",
"MARKETPLACE",
+ "MARKETS",
"MEETINGS",
"MERGE_COMPANIES",
"MERGE_CONTACTS",
@@ -139,6 +140,7 @@ class PropertyValue(TypedDict, total=False):
"QUOTES",
"RECYCLING_BIN",
"RESTORE_OBJECTS",
+ "REVENUE_PLATFORM",
"SALES",
"SALES_MESSAGES",
"SALESFORCE",
diff --git a/src/hubspot_sdk/types/webhooks/__init__.py b/src/hubspot_sdk/types/webhooks/__init__.py
index d80cf93d..83e8bf54 100644
--- a/src/hubspot_sdk/types/webhooks/__init__.py
+++ b/src/hubspot_sdk/types/webhooks/__init__.py
@@ -19,76 +19,89 @@
from .subscription_list_response import SubscriptionListResponse as SubscriptionListResponse
from .crm_object_snapshot_response import CrmObjectSnapshotResponse as CrmObjectSnapshotResponse
from .webhook_update_settings_params import WebhookUpdateSettingsParams as WebhookUpdateSettingsParams
-from .webhook_get_journal_batch_params import WebhookGetJournalBatchParams as WebhookGetJournalBatchParams
from .crm_object_snapshot_request_param import CrmObjectSnapshotRequestParam as CrmObjectSnapshotRequestParam
from .subscription_upsert_request_param import SubscriptionUpsertRequestParam as SubscriptionUpsertRequestParam
-from .webhook_get_latest_journal_params import WebhookGetLatestJournalParams as WebhookGetLatestJournalParams
from .crm_object_snapshot_batch_response import CrmObjectSnapshotBatchResponse as CrmObjectSnapshotBatchResponse
-from .webhook_create_crm_snapshot_params import WebhookCreateCrmSnapshotParams as WebhookCreateCrmSnapshotParams
-from .webhook_create_subscription_params import WebhookCreateSubscriptionParams as WebhookCreateSubscriptionParams
-from .webhook_update_subscription_params import WebhookUpdateSubscriptionParams as WebhookUpdateSubscriptionParams
-from .webhook_get_earliest_journal_params import WebhookGetEarliestJournalParams as WebhookGetEarliestJournalParams
+from .webhook_create_crm_snapshots_params import WebhookCreateCrmSnapshotsParams as WebhookCreateCrmSnapshotsParams
from .batch_response_subscription_response import BatchResponseSubscriptionResponse as BatchResponseSubscriptionResponse
from .batch_response_journal_fetch_response import (
BatchResponseJournalFetchResponse as BatchResponseJournalFetchResponse,
)
-from .webhook_get_local_journal_batch_params import (
- WebhookGetLocalJournalBatchParams as WebhookGetLocalJournalBatchParams,
-)
from .subscription_batch_update_request_param import (
SubscriptionBatchUpdateRequestParam as SubscriptionBatchUpdateRequestParam,
)
from .webhook_get_latest_journal_batch_params import (
WebhookGetLatestJournalBatchParams as WebhookGetLatestJournalBatchParams,
)
-from .webhook_get_latest_local_journal_params import (
- WebhookGetLatestLocalJournalParams as WebhookGetLatestLocalJournalParams,
+from .webhook_get_latest_journal_entry_params import (
+ WebhookGetLatestJournalEntryParams as WebhookGetLatestJournalEntryParams,
+)
+from .webhook_get_next_journal_entries_params import (
+ WebhookGetNextJournalEntriesParams as WebhookGetNextJournalEntriesParams,
)
from .object_subscription_upsert_request_param import (
ObjectSubscriptionUpsertRequestParam as ObjectSubscriptionUpsertRequestParam,
)
+from .webhook_create_event_subscription_params import (
+ WebhookCreateEventSubscriptionParams as WebhookCreateEventSubscriptionParams,
+)
+from .webhook_update_event_subscription_params import (
+ WebhookUpdateEventSubscriptionParams as WebhookUpdateEventSubscriptionParams,
+)
from .webhook_create_subscription_filter_params import (
WebhookCreateSubscriptionFilterParams as WebhookCreateSubscriptionFilterParams,
)
-from .webhook_create_subscriptions_batch_params import (
- WebhookCreateSubscriptionsBatchParams as WebhookCreateSubscriptionsBatchParams,
-)
from .webhook_get_earliest_journal_batch_params import (
WebhookGetEarliestJournalBatchParams as WebhookGetEarliestJournalBatchParams,
)
-from .webhook_get_earliest_local_journal_params import (
- WebhookGetEarliestLocalJournalParams as WebhookGetEarliestLocalJournalParams,
+from .webhook_get_earliest_journal_entry_params import (
+ WebhookGetEarliestJournalEntryParams as WebhookGetEarliestJournalEntryParams,
+)
+from .webhook_list_subscription_filters_response import (
+ WebhookListSubscriptionFiltersResponse as WebhookListSubscriptionFiltersResponse,
)
-from .webhook_get_subscription_filters_response import (
- WebhookGetSubscriptionFiltersResponse as WebhookGetSubscriptionFiltersResponse,
+from .webhook_get_journal_batch_by_request_params import (
+ WebhookGetJournalBatchByRequestParams as WebhookGetJournalBatchByRequestParams,
)
-from .webhook_get_next_journal_after_offset_params import (
- WebhookGetNextJournalAfterOffsetParams as WebhookGetNextJournalAfterOffsetParams,
+from .webhook_get_journal_batch_from_offset_params import (
+ WebhookGetJournalBatchFromOffsetParams as WebhookGetJournalBatchFromOffsetParams,
)
from .association_subscription_upsert_request_param import (
AssociationSubscriptionUpsertRequestParam as AssociationSubscriptionUpsertRequestParam,
)
-from .webhook_get_journal_batch_after_offset_params import (
- WebhookGetJournalBatchAfterOffsetParams as WebhookGetJournalBatchAfterOffsetParams,
-)
from .webhook_get_latest_local_journal_batch_params import (
WebhookGetLatestLocalJournalBatchParams as WebhookGetLatestLocalJournalBatchParams,
)
+from .webhook_get_latest_local_journal_entry_params import (
+ WebhookGetLatestLocalJournalEntryParams as WebhookGetLatestLocalJournalEntryParams,
+)
+from .webhook_get_next_local_journal_entries_params import (
+ WebhookGetNextLocalJournalEntriesParams as WebhookGetNextLocalJournalEntriesParams,
+)
+from .webhook_create_batch_event_subscriptions_params import (
+ WebhookCreateBatchEventSubscriptionsParams as WebhookCreateBatchEventSubscriptionsParams,
+)
from .webhook_get_earliest_local_journal_batch_params import (
WebhookGetEarliestLocalJournalBatchParams as WebhookGetEarliestLocalJournalBatchParams,
)
+from .webhook_get_earliest_local_journal_entry_params import (
+ WebhookGetEarliestLocalJournalEntryParams as WebhookGetEarliestLocalJournalEntryParams,
+)
from .list_membership_subscription_upsert_request_param import (
ListMembershipSubscriptionUpsertRequestParam as ListMembershipSubscriptionUpsertRequestParam,
)
-from .webhook_get_next_local_journal_after_offset_params import (
- WebhookGetNextLocalJournalAfterOffsetParams as WebhookGetNextLocalJournalAfterOffsetParams,
+from .webhook_get_local_journal_batch_by_request_params import (
+ WebhookGetLocalJournalBatchByRequestParams as WebhookGetLocalJournalBatchByRequestParams,
+)
+from .webhook_get_local_journal_batch_from_offset_params import (
+ WebhookGetLocalJournalBatchFromOffsetParams as WebhookGetLocalJournalBatchFromOffsetParams,
)
from .collection_response_subscription_response_no_paging import (
CollectionResponseSubscriptionResponseNoPaging as CollectionResponseSubscriptionResponseNoPaging,
)
-from .webhook_get_local_journal_batch_after_offset_params import (
- WebhookGetLocalJournalBatchAfterOffsetParams as WebhookGetLocalJournalBatchAfterOffsetParams,
-)
from .app_lifecycle_event_subscription_upsert_request_param import (
AppLifecycleEventSubscriptionUpsertRequestParam as AppLifecycleEventSubscriptionUpsertRequestParam,
)
+from .gdpr_privacy_deletion_subscription_upsert_request_param import (
+ GdprPrivacyDeletionSubscriptionUpsertRequestParam as GdprPrivacyDeletionSubscriptionUpsertRequestParam,
+)
diff --git a/src/hubspot_sdk/types/webhooks/action_override_request.py b/src/hubspot_sdk/types/webhooks/action_override_request.py
index 26a92609..c68d20c8 100644
--- a/src/hubspot_sdk/types/webhooks/action_override_request.py
+++ b/src/hubspot_sdk/types/webhooks/action_override_request.py
@@ -11,9 +11,25 @@
class ActionOverrideRequest(BaseModel):
associated_object_type_ids: Optional[List[str]] = FieldInfo(alias="associatedObjectTypeIds", default=None)
+ """
+ An array of strings, each representing an associated object type ID relevant to
+ the action override.
+ """
list_ids: Optional[List[int]] = FieldInfo(alias="listIds", default=None)
+ """
+ An array of integers representing list IDs that are affected by the action
+ override. These IDs are in int64 format.
+ """
object_ids: Optional[List[int]] = FieldInfo(alias="objectIds", default=None)
+ """
+ An array of integers, each representing an object ID for which the action
+ override is applicable. These IDs are in int64 format.
+ """
properties: Optional[List[str]] = None
+ """
+ An array of strings representing specific properties to be overridden in the
+ action. Each entry in the array corresponds to a property name.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/app_lifecycle_event_subscription_upsert_request_param.py b/src/hubspot_sdk/types/webhooks/app_lifecycle_event_subscription_upsert_request_param.py
index 888b4097..2819a80e 100644
--- a/src/hubspot_sdk/types/webhooks/app_lifecycle_event_subscription_upsert_request_param.py
+++ b/src/hubspot_sdk/types/webhooks/app_lifecycle_event_subscription_upsert_request_param.py
@@ -17,7 +17,9 @@ class AppLifecycleEventSubscriptionUpsertRequestParam(TypedDict, total=False):
subscription_type: Required[
Annotated[
- Literal["OBJECT", "ASSOCIATION", "EVENT", "APP_LIFECYCLE_EVENT", "LIST_MEMBERSHIP"],
+ Literal[
+ "OBJECT", "ASSOCIATION", "EVENT", "APP_LIFECYCLE_EVENT", "LIST_MEMBERSHIP", "GDPR_PRIVACY_DELETION"
+ ],
PropertyInfo(alias="subscriptionType"),
]
]
diff --git a/src/hubspot_sdk/types/webhooks/association_subscription_upsert_request_param.py b/src/hubspot_sdk/types/webhooks/association_subscription_upsert_request_param.py
index ec37aaac..9fae7e70 100644
--- a/src/hubspot_sdk/types/webhooks/association_subscription_upsert_request_param.py
+++ b/src/hubspot_sdk/types/webhooks/association_subscription_upsert_request_param.py
@@ -27,6 +27,7 @@ class AssociationSubscriptionUpsertRequestParam(TypedDict, total=False):
"APP_UNINSTALL",
"ADDED_TO_LIST",
"REMOVED_FROM_LIST",
+ "GDPR_DELETE",
]
]
]
@@ -41,7 +42,9 @@ class AssociationSubscriptionUpsertRequestParam(TypedDict, total=False):
subscription_type: Required[
Annotated[
- Literal["OBJECT", "ASSOCIATION", "EVENT", "APP_LIFECYCLE_EVENT", "LIST_MEMBERSHIP"],
+ Literal[
+ "OBJECT", "ASSOCIATION", "EVENT", "APP_LIFECYCLE_EVENT", "LIST_MEMBERSHIP", "GDPR_PRIVACY_DELETION"
+ ],
PropertyInfo(alias="subscriptionType"),
]
]
diff --git a/src/hubspot_sdk/types/webhooks/batch_response_journal_fetch_response.py b/src/hubspot_sdk/types/webhooks/batch_response_journal_fetch_response.py
index cfd3257b..5381710a 100644
--- a/src/hubspot_sdk/types/webhooks/batch_response_journal_fetch_response.py
+++ b/src/hubspot_sdk/types/webhooks/batch_response_journal_fetch_response.py
@@ -14,13 +14,28 @@
class BatchResponseJournalFetchResponse(BaseModel):
completed_at: datetime = FieldInfo(alias="completedAt")
+ """The date and time when the batch operation was completed, in ISO 8601 format."""
results: List[JournalFetchResponse]
+ """
+ An array of journal fetch responses, each containing details about individual
+ journal entries.
+ """
started_at: datetime = FieldInfo(alias="startedAt")
+ """The date and time when the batch operation started, in ISO 8601 format."""
status: Literal["CANCELED", "COMPLETE", "PENDING", "PROCESSING"]
+ """The current status of the batch operation.
+
+ Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.
+ """
links: Optional[Dict[str, str]] = None
+ """
+ A map of link names to associated URIs, providing additional resources or
+ documentation related to the batch operation.
+ """
requested_at: Optional[datetime] = FieldInfo(alias="requestedAt", default=None)
+ """The date and time when the batch operation was requested, in ISO 8601 format."""
diff --git a/src/hubspot_sdk/types/webhooks/batch_response_subscription_response.py b/src/hubspot_sdk/types/webhooks/batch_response_subscription_response.py
index 84faa786..9d69199a 100644
--- a/src/hubspot_sdk/types/webhooks/batch_response_subscription_response.py
+++ b/src/hubspot_sdk/types/webhooks/batch_response_subscription_response.py
@@ -14,22 +14,28 @@
class BatchResponseSubscriptionResponse(BaseModel):
completed_at: datetime = FieldInfo(alias="completedAt")
- """The date and time when the batch operation was completed."""
+ """The date and time when the batch operation was completed, in ISO 8601 format."""
results: List[SubscriptionResponse]
- """The list of results from the batch operation."""
+ """
+ An array of SubscriptionResponse objects, each representing the result of an
+ individual subscription update within the batch operation.
+ """
started_at: datetime = FieldInfo(alias="startedAt")
- """The date and time when the batch operation started."""
+ """The date and time when the batch operation started, in ISO 8601 format."""
status: Literal["CANCELED", "COMPLETE", "PENDING", "PROCESSING"]
- """
- The current status of the batch operation, which can be PENDING, PROCESSING,
- CANCELED, or COMPLETE.
+ """The current status of the batch operation.
+
+ Valid values include 'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.
"""
links: Optional[Dict[str, str]] = None
- """A collection of related links associated with the batch operation."""
+ """
+ A map of link names to associated URIs, providing additional information or
+ resources related to the batch operation.
+ """
requested_at: Optional[datetime] = FieldInfo(alias="requestedAt", default=None)
- """The date and time when the batch operation was requested."""
+ """The date and time when the batch operation was requested, in ISO 8601 format."""
diff --git a/src/hubspot_sdk/types/webhooks/collection_response_subscription_response_no_paging.py b/src/hubspot_sdk/types/webhooks/collection_response_subscription_response_no_paging.py
index d90a1ee2..04ff21d9 100644
--- a/src/hubspot_sdk/types/webhooks/collection_response_subscription_response_no_paging.py
+++ b/src/hubspot_sdk/types/webhooks/collection_response_subscription_response_no_paging.py
@@ -10,3 +10,7 @@
class CollectionResponseSubscriptionResponseNoPaging(BaseModel):
results: List[SubscriptionResponse1]
+ """
+ An array of SubscriptionResponse objects, each representing a subscription's
+ details such as actions, app ID, and timestamps.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/condition.py b/src/hubspot_sdk/types/webhooks/condition.py
index 5b91aac3..439616ce 100644
--- a/src/hubspot_sdk/types/webhooks/condition.py
+++ b/src/hubspot_sdk/types/webhooks/condition.py
@@ -12,6 +12,7 @@
class Condition(BaseModel):
filter_type: Literal["CRM_OBJECT_PROPERTY"] = FieldInfo(alias="filterType")
+ """A string representing the type of filter. Valid value is 'CRM_OBJECT_PROPERTY'."""
operator: Literal[
"CONTAINS",
@@ -28,9 +29,23 @@ class Condition(BaseModel):
"NOT_IN",
"STARTS_WITH",
]
+ """A string indicating the operation to apply for filtering.
+
+ Valid values include 'EQ', 'N_EQ', 'LT', 'GT', 'LTE', 'GTE', 'CONTAINS',
+ 'STARTS_WITH', 'ENDS_WITH', 'IN', 'NOT_IN', 'IS_EMPTY', and 'IS_NOT_EMPTY'.
+ """
property: str
+ """A string specifying the property of the CRM object to be filtered."""
value: Optional[str] = None
+ """
+ A string representing the value to compare against the specified property when
+ filtering.
+ """
values: Optional[List[str]] = None
+ """
+ An array of strings, each representing a value to be used in the filtering
+ operation.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/condition_param.py b/src/hubspot_sdk/types/webhooks/condition_param.py
index 4575e3fa..afd95868 100644
--- a/src/hubspot_sdk/types/webhooks/condition_param.py
+++ b/src/hubspot_sdk/types/webhooks/condition_param.py
@@ -12,6 +12,7 @@
class ConditionParam(TypedDict, total=False):
filter_type: Required[Annotated[Literal["CRM_OBJECT_PROPERTY"], PropertyInfo(alias="filterType")]]
+ """A string representing the type of filter. Valid value is 'CRM_OBJECT_PROPERTY'."""
operator: Required[
Literal[
@@ -30,9 +31,23 @@ class ConditionParam(TypedDict, total=False):
"STARTS_WITH",
]
]
+ """A string indicating the operation to apply for filtering.
+
+ Valid values include 'EQ', 'N_EQ', 'LT', 'GT', 'LTE', 'GTE', 'CONTAINS',
+ 'STARTS_WITH', 'ENDS_WITH', 'IN', 'NOT_IN', 'IS_EMPTY', and 'IS_NOT_EMPTY'.
+ """
property: Required[str]
+ """A string specifying the property of the CRM object to be filtered."""
value: str
+ """
+ A string representing the value to compare against the specified property when
+ filtering.
+ """
values: SequenceNotStr[str]
+ """
+ An array of strings, each representing a value to be used in the filtering
+ operation.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/crm_object_snapshot_batch_response.py b/src/hubspot_sdk/types/webhooks/crm_object_snapshot_batch_response.py
index 03050f92..ad2aaf72 100644
--- a/src/hubspot_sdk/types/webhooks/crm_object_snapshot_batch_response.py
+++ b/src/hubspot_sdk/types/webhooks/crm_object_snapshot_batch_response.py
@@ -12,3 +12,7 @@
class CrmObjectSnapshotBatchResponse(BaseModel):
snapshot_responses: List[CrmObjectSnapshotResponse] = FieldInfo(alias="snapshotResponses")
+ """
+ An array of CrmObjectSnapshotResponse objects, each containing the details of a
+ single CRM object snapshot request. This property is required.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/crm_object_snapshot_request_param.py b/src/hubspot_sdk/types/webhooks/crm_object_snapshot_request_param.py
index 18c389f8..7a91747c 100644
--- a/src/hubspot_sdk/types/webhooks/crm_object_snapshot_request_param.py
+++ b/src/hubspot_sdk/types/webhooks/crm_object_snapshot_request_param.py
@@ -12,9 +12,19 @@
class CrmObjectSnapshotRequestParam(TypedDict, total=False):
object_id: Required[Annotated[int, PropertyInfo(alias="objectId")]]
+ """
+ An integer representing the unique identifier of the CRM object for which the
+ snapshot is being requested.
+ """
object_type_id: Required[Annotated[str, PropertyInfo(alias="objectTypeId")]]
+ """A string representing the type identifier of the CRM object."""
portal_id: Required[Annotated[int, PropertyInfo(alias="portalId")]]
+ """An integer representing the unique identifier of the HubSpot portal."""
properties: Required[SequenceNotStr[str]]
+ """
+ An array of strings, each representing a property of the CRM object to be
+ included in the snapshot.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/crm_object_snapshot_response.py b/src/hubspot_sdk/types/webhooks/crm_object_snapshot_response.py
index 4e97be0c..8b2a9fed 100644
--- a/src/hubspot_sdk/types/webhooks/crm_object_snapshot_response.py
+++ b/src/hubspot_sdk/types/webhooks/crm_object_snapshot_response.py
@@ -9,9 +9,13 @@
class CrmObjectSnapshotResponse(BaseModel):
object_id: int = FieldInfo(alias="objectId")
+ """An integer representing the unique identifier for the CRM object."""
object_type_id: str = FieldInfo(alias="objectTypeId")
+ """A string representing the type identifier of the CRM object."""
portal_id: int = FieldInfo(alias="portalId")
+ """An integer representing the unique identifier for the HubSpot portal."""
snapshot_status_id: str = FieldInfo(alias="snapshotStatusId")
+ """A UUID string representing the status identifier of the snapshot."""
diff --git a/src/hubspot_sdk/types/webhooks/filter.py b/src/hubspot_sdk/types/webhooks/filter.py
index e4d1290f..70b62e0c 100644
--- a/src/hubspot_sdk/types/webhooks/filter.py
+++ b/src/hubspot_sdk/types/webhooks/filter.py
@@ -14,3 +14,8 @@ class Filter(BaseModel):
"""
conditions: List[Condition]
+ """An array of conditions that define the filter criteria.
+
+ Each condition specifies a property, operator, and value to determine if a data
+ item meets the filter requirements.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/filter_create_response.py b/src/hubspot_sdk/types/webhooks/filter_create_response.py
index 69c2215b..bca282ae 100644
--- a/src/hubspot_sdk/types/webhooks/filter_create_response.py
+++ b/src/hubspot_sdk/types/webhooks/filter_create_response.py
@@ -9,3 +9,7 @@
class FilterCreateResponse(BaseModel):
filter_id: int = FieldInfo(alias="filterId")
+ """The unique identifier for the created filter.
+
+ It is an integer formatted as int64.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/filter_param.py b/src/hubspot_sdk/types/webhooks/filter_param.py
index ac399e1c..e4607f87 100644
--- a/src/hubspot_sdk/types/webhooks/filter_param.py
+++ b/src/hubspot_sdk/types/webhooks/filter_param.py
@@ -16,3 +16,8 @@ class FilterParam(TypedDict, total=False):
"""
conditions: Required[Iterable[ConditionParam]]
+ """An array of conditions that define the filter criteria.
+
+ Each condition specifies a property, operator, and value to determine if a data
+ item meets the filter requirements.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/filter_response.py b/src/hubspot_sdk/types/webhooks/filter_response.py
index fa422de8..eb907ecb 100644
--- a/src/hubspot_sdk/types/webhooks/filter_response.py
+++ b/src/hubspot_sdk/types/webhooks/filter_response.py
@@ -10,8 +10,13 @@
class FilterResponse(BaseModel):
id: int
+ """The unique identifier for the filter. It is an integer in int64 format."""
created_at: int = FieldInfo(alias="createdAt")
+ """
+ A timestamp indicating when the filter was created, represented as an integer in
+ int64 format.
+ """
filter: Filter
"""
diff --git a/src/hubspot_sdk/types/webhooks/gdpr_privacy_deletion_subscription_upsert_request_param.py b/src/hubspot_sdk/types/webhooks/gdpr_privacy_deletion_subscription_upsert_request_param.py
new file mode 100644
index 00000000..5c136464
--- /dev/null
+++ b/src/hubspot_sdk/types/webhooks/gdpr_privacy_deletion_subscription_upsert_request_param.py
@@ -0,0 +1,45 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing import List
+from typing_extensions import Literal, Required, Annotated, TypedDict
+
+from ..._utils import PropertyInfo
+
+__all__ = ["GdprPrivacyDeletionSubscriptionUpsertRequestParam"]
+
+
+class GdprPrivacyDeletionSubscriptionUpsertRequestParam(TypedDict, total=False):
+ actions: Required[
+ List[
+ Literal[
+ "CREATE",
+ "UPDATE",
+ "DELETE",
+ "MERGE",
+ "RESTORE",
+ "ASSOCIATION_ADDED",
+ "ASSOCIATION_REMOVED",
+ "SNAPSHOT",
+ "APP_INSTALL",
+ "APP_UNINSTALL",
+ "ADDED_TO_LIST",
+ "REMOVED_FROM_LIST",
+ "GDPR_DELETE",
+ ]
+ ]
+ ]
+
+ object_type_id: Required[Annotated[str, PropertyInfo(alias="objectTypeId")]]
+
+ portal_id: Required[Annotated[int, PropertyInfo(alias="portalId")]]
+
+ subscription_type: Required[
+ Annotated[
+ Literal[
+ "OBJECT", "ASSOCIATION", "EVENT", "APP_LIFECYCLE_EVENT", "LIST_MEMBERSHIP", "GDPR_PRIVACY_DELETION"
+ ],
+ PropertyInfo(alias="subscriptionType"),
+ ]
+ ]
diff --git a/src/hubspot_sdk/types/webhooks/journal_fetch_response.py b/src/hubspot_sdk/types/webhooks/journal_fetch_response.py
index 7e5adbde..864b898e 100644
--- a/src/hubspot_sdk/types/webhooks/journal_fetch_response.py
+++ b/src/hubspot_sdk/types/webhooks/journal_fetch_response.py
@@ -11,7 +11,13 @@
class JournalFetchResponse(BaseModel):
current_offset: str = FieldInfo(alias="currentOffset")
+ """
+ A UUID string indicating the current offset in the journal data, used for
+ pagination.
+ """
expires_at: datetime = FieldInfo(alias="expiresAt")
+ """The date and time when the URL will expire, in ISO 8601 format."""
url: str
+ """A string representing the URL where the fetched journal data can be accessed."""
diff --git a/src/hubspot_sdk/types/webhooks/list_membership_subscription_upsert_request_param.py b/src/hubspot_sdk/types/webhooks/list_membership_subscription_upsert_request_param.py
index 3df9652a..58fcdc4f 100644
--- a/src/hubspot_sdk/types/webhooks/list_membership_subscription_upsert_request_param.py
+++ b/src/hubspot_sdk/types/webhooks/list_membership_subscription_upsert_request_param.py
@@ -26,6 +26,7 @@ class ListMembershipSubscriptionUpsertRequestParam(TypedDict, total=False):
"APP_UNINSTALL",
"ADDED_TO_LIST",
"REMOVED_FROM_LIST",
+ "GDPR_DELETE",
]
]
]
@@ -38,7 +39,9 @@ class ListMembershipSubscriptionUpsertRequestParam(TypedDict, total=False):
subscription_type: Required[
Annotated[
- Literal["OBJECT", "ASSOCIATION", "EVENT", "APP_LIFECYCLE_EVENT", "LIST_MEMBERSHIP"],
+ Literal[
+ "OBJECT", "ASSOCIATION", "EVENT", "APP_LIFECYCLE_EVENT", "LIST_MEMBERSHIP", "GDPR_PRIVACY_DELETION"
+ ],
PropertyInfo(alias="subscriptionType"),
]
]
diff --git a/src/hubspot_sdk/types/webhooks/object_subscription_upsert_request_param.py b/src/hubspot_sdk/types/webhooks/object_subscription_upsert_request_param.py
index 10f13a69..fa6e8d53 100644
--- a/src/hubspot_sdk/types/webhooks/object_subscription_upsert_request_param.py
+++ b/src/hubspot_sdk/types/webhooks/object_subscription_upsert_request_param.py
@@ -27,6 +27,7 @@ class ObjectSubscriptionUpsertRequestParam(TypedDict, total=False):
"APP_UNINSTALL",
"ADDED_TO_LIST",
"REMOVED_FROM_LIST",
+ "GDPR_DELETE",
]
]
]
@@ -41,7 +42,9 @@ class ObjectSubscriptionUpsertRequestParam(TypedDict, total=False):
subscription_type: Required[
Annotated[
- Literal["OBJECT", "ASSOCIATION", "EVENT", "APP_LIFECYCLE_EVENT", "LIST_MEMBERSHIP"],
+ Literal[
+ "OBJECT", "ASSOCIATION", "EVENT", "APP_LIFECYCLE_EVENT", "LIST_MEMBERSHIP", "GDPR_PRIVACY_DELETION"
+ ],
PropertyInfo(alias="subscriptionType"),
]
]
diff --git a/src/hubspot_sdk/types/webhooks/settings_response.py b/src/hubspot_sdk/types/webhooks/settings_response.py
index 4e39fd1f..aee0afac 100644
--- a/src/hubspot_sdk/types/webhooks/settings_response.py
+++ b/src/hubspot_sdk/types/webhooks/settings_response.py
@@ -13,22 +13,15 @@
class SettingsResponse(BaseModel):
created_at: datetime = FieldInfo(alias="createdAt")
- """When this subscription was created.
-
- Formatted as milliseconds from the [Unix epoch](#).
- """
+ """The date and time when the webhook settings were created, in ISO 8601 format."""
target_url: str = FieldInfo(alias="targetUrl")
- """
- A publicly available URL for Hubspot to call where event payloads will be
- delivered. See [link-so-some-doc](#) for details about the format of these event
- payloads.
- """
+ """The URL to which the webhook events will be sent. It is a string."""
throttling: ThrottlingSettings
updated_at: Optional[datetime] = FieldInfo(alias="updatedAt", default=None)
- """When this subscription was last updated.
-
- Formatted as milliseconds from the [Unix epoch](#).
+ """
+ The date and time when the webhook settings were last updated, in ISO 8601
+ format.
"""
diff --git a/src/hubspot_sdk/types/webhooks/snapshot_status_response.py b/src/hubspot_sdk/types/webhooks/snapshot_status_response.py
index 7785dffa..40b7d1d4 100644
--- a/src/hubspot_sdk/types/webhooks/snapshot_status_response.py
+++ b/src/hubspot_sdk/types/webhooks/snapshot_status_response.py
@@ -12,15 +12,38 @@
class SnapshotStatusResponse(BaseModel):
id: str
+ """The unique identifier for the snapshot operation, formatted as a UUID."""
initiated_at: int = FieldInfo(alias="initiatedAt")
+ """
+ A Unix timestamp in milliseconds indicating when the snapshot operation was
+ initiated.
+ """
status: Literal["COMPLETED", "EXPIRED", "FAILED", "IN_PROGRESS", "PENDING"]
+ """The current status of the snapshot operation.
+
+ Valid values include 'PENDING', 'IN_PROGRESS', 'COMPLETED', 'FAILED', and
+ 'EXPIRED'.
+ """
completed_at: Optional[int] = FieldInfo(alias="completedAt", default=None)
+ """
+ A Unix timestamp in milliseconds indicating when the snapshot operation was
+ completed.
+ """
error_code: Optional[Literal["INTERNAL_ERROR", "PERMISSION_DENIED", "TIMEOUT", "VALIDATION_ERROR"]] = FieldInfo(
alias="errorCode", default=None
)
+ """The code representing any error that occurred during the snapshot operation.
+
+ Possible values are 'TIMEOUT', 'VALIDATION_ERROR', 'INTERNAL_ERROR', and
+ 'PERMISSION_DENIED'.
+ """
message: Optional[str] = None
+ """
+ A descriptive message providing additional information about the snapshot
+ operation or any errors encountered.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/subscription_batch_update_request_param.py b/src/hubspot_sdk/types/webhooks/subscription_batch_update_request_param.py
index 27974752..2eaa89d8 100644
--- a/src/hubspot_sdk/types/webhooks/subscription_batch_update_request_param.py
+++ b/src/hubspot_sdk/types/webhooks/subscription_batch_update_request_param.py
@@ -9,11 +9,7 @@
class SubscriptionBatchUpdateRequestParam(TypedDict, total=False):
id: Required[int]
- """The ID of the webhook subscription to update."""
+ """The unique identifier for the subscription to be updated. It is an integer."""
active: Required[bool]
- """Whether to activate or pause the webhook subscription.
-
- If true, the subscription will send webhook notifications. If false, the
- subscription is paused and will not send notifications.
- """
+ """A boolean indicating whether the subscription is active."""
diff --git a/src/hubspot_sdk/types/webhooks/subscription_list_response.py b/src/hubspot_sdk/types/webhooks/subscription_list_response.py
index 8a953d99..0d433854 100644
--- a/src/hubspot_sdk/types/webhooks/subscription_list_response.py
+++ b/src/hubspot_sdk/types/webhooks/subscription_list_response.py
@@ -11,6 +11,6 @@
class SubscriptionListResponse(BaseModel):
results: List[SubscriptionResponse]
"""
- An array containing all active and paused event subscriptions configured for the
- app.
+ An array of SubscriptionResponse objects, each representing a subscription
+ associated with the app. This property is required.
"""
diff --git a/src/hubspot_sdk/types/webhooks/subscription_response.py b/src/hubspot_sdk/types/webhooks/subscription_response.py
index 636f6b19..ebd56b1f 100644
--- a/src/hubspot_sdk/types/webhooks/subscription_response.py
+++ b/src/hubspot_sdk/types/webhooks/subscription_response.py
@@ -13,20 +13,13 @@
class SubscriptionResponse(BaseModel):
id: str
- """The unique ID of the webhook subscription."""
+ """The unique identifier for the subscription, represented as an integer."""
active: bool
- """Whether the subscription is active or paused.
-
- If true, the subscription will send webhook notifications. If false, the
- subscription is paused and will not send notifications.
- """
+ """A boolean indicating whether the subscription is currently active."""
created_at: datetime = FieldInfo(alias="createdAt")
- """
- The timestamp when the webhook subscription was created, in ISO 8601 format
- (e.g., 2020-02-29T12:30:00Z).
- """
+ """The date and time when the subscription was created, in ISO 8601 format."""
event_type: Literal[
"company.associationChange",
@@ -78,35 +71,23 @@ class SubscriptionResponse(BaseModel):
"ticket.propertyChange",
"ticket.restore",
] = FieldInfo(alias="eventType")
- """The type of event to listen for.
+ """The type of event that triggers the subscription.
- Accepted values include contact.creation, contact.deletion,
- contact.propertyChange, and similar event types for other CRM objects and custom
- objects.
+ Valid values include various object changes such as 'contact.propertyChange',
+ 'deal.creation', and 'ticket.deletion'.
"""
event_type_name: Optional[str] = FieldInfo(alias="eventTypeName", default=None)
- """The name of the event to listen for.
-
- This is used with custom objects to specify custom event types beyond the
- standard eventType enum values.
- """
+ """A descriptive name for the event type."""
object_type_id: Optional[str] = FieldInfo(alias="objectTypeId", default=None)
- """The ID of the object type for the subscription.
-
- This can be a standard CRM object (e.g., 'contact', 'company', 'deal') or a
- custom object ID for custom object subscriptions.
+ """
+ The identifier for the object type associated with the subscription, represented
+ as a string.
"""
property_name: Optional[str] = FieldInfo(alias="propertyName", default=None)
- """The internal name of the property to monitor for changes.
-
- Only applies when eventType is propertyChange.
- """
+ """The name of the property associated with the event, if applicable."""
updated_at: Optional[datetime] = FieldInfo(alias="updatedAt", default=None)
- """
- The timestamp when the webhook subscription was last updated, in ISO 8601 format
- (e.g., 2020-02-29T12:30:00Z).
- """
+ """The date and time when the subscription was last updated, in ISO 8601 format."""
diff --git a/src/hubspot_sdk/types/webhooks/subscription_response_1.py b/src/hubspot_sdk/types/webhooks/subscription_response_1.py
index 6f326b1f..0f6c849c 100644
--- a/src/hubspot_sdk/types/webhooks/subscription_response_1.py
+++ b/src/hubspot_sdk/types/webhooks/subscription_response_1.py
@@ -14,7 +14,7 @@
class SubscriptionResponse1(BaseModel):
id: int
- """The unique ID of the webhook subscription."""
+ """The unique identifier for the subscription, represented as an integer."""
actions: List[
Literal[
@@ -30,46 +30,82 @@ class SubscriptionResponse1(BaseModel):
"APP_UNINSTALL",
"ADDED_TO_LIST",
"REMOVED_FROM_LIST",
+ "GDPR_DELETE",
]
]
+ """
+ An array of actions that trigger the subscription, such as 'CREATE', 'UPDATE',
+ 'DELETE', 'MERGE', 'RESTORE', 'ASSOCIATION_ADDED', 'ASSOCIATION_REMOVED',
+ 'SNAPSHOT', 'APP_INSTALL', 'APP_UNINSTALL', 'ADDED_TO_LIST',
+ 'REMOVED_FROM_LIST', and 'GDPR_DELETE'.
+ """
app_id: int = FieldInfo(alias="appId")
-
- created_at: datetime = FieldInfo(alias="createdAt")
"""
- The timestamp when the webhook subscription was created, in ISO 8601 format
- (e.g., 2020-02-29T12:30:00Z).
+ The unique identifier for the app associated with the subscription, represented
+ as an integer.
"""
- object_type_id: str = FieldInfo(alias="objectTypeId")
- """The ID of the object type for the subscription.
+ created_at: datetime = FieldInfo(alias="createdAt")
+ """The date and time when the subscription was created, in ISO 8601 format."""
- This can be a standard CRM object (e.g., 'contact', 'company', 'deal') or a
- custom object ID for custom object subscriptions.
+ object_type_id: str = FieldInfo(alias="objectTypeId")
+ """
+ The identifier for the object type associated with the subscription, represented
+ as a string.
"""
- subscription_type: Literal["APP_LIFECYCLE_EVENT", "ASSOCIATION", "EVENT", "LIST_MEMBERSHIP", "OBJECT"] = FieldInfo(
- alias="subscriptionType"
- )
-
- updated_at: datetime = FieldInfo(alias="updatedAt")
+ subscription_type: Literal[
+ "APP_LIFECYCLE_EVENT", "ASSOCIATION", "EVENT", "GDPR_PRIVACY_DELETION", "LIST_MEMBERSHIP", "OBJECT"
+ ] = FieldInfo(alias="subscriptionType")
"""
- The timestamp when the webhook subscription was last updated, in ISO 8601 format
- (e.g., 2020-02-29T12:30:00Z).
+ The type of subscription, which can be one of 'OBJECT', 'ASSOCIATION', 'EVENT',
+ 'APP_LIFECYCLE_EVENT', 'LIST_MEMBERSHIP', or 'GDPR_PRIVACY_DELETION'.
"""
+ updated_at: datetime = FieldInfo(alias="updatedAt")
+ """The date and time when the subscription was last updated, in ISO 8601 format."""
+
action_overrides: Optional[Dict[str, ActionOverrideRequest]] = FieldInfo(alias="actionOverrides", default=None)
+ """
+ An object containing action overrides, where each key is an action and the value
+ is an ActionOverrideRequest object.
+ """
associated_object_type_ids: Optional[List[str]] = FieldInfo(alias="associatedObjectTypeIds", default=None)
+ """
+ An array of strings representing the associated object type IDs for the
+ subscription.
+ """
created_by: Optional[int] = FieldInfo(alias="createdBy", default=None)
+ """
+ The unique identifier for the user who created the subscription, represented as
+ an integer.
+ """
deleted_at: Optional[datetime] = FieldInfo(alias="deletedAt", default=None)
+ """The date and time when the subscription was deleted, in ISO 8601 format."""
list_ids: Optional[List[int]] = FieldInfo(alias="listIds", default=None)
+ """
+ An array of integers representing the list IDs associated with the subscription.
+ """
object_ids: Optional[List[int]] = FieldInfo(alias="objectIds", default=None)
+ """
+ An array of integers representing the object IDs associated with the
+ subscription.
+ """
portal_id: Optional[int] = FieldInfo(alias="portalId", default=None)
+ """
+ The unique identifier for the portal associated with the subscription,
+ represented as an integer.
+ """
properties: Optional[List[str]] = None
+ """
+ An array of strings representing the properties associated with the
+ subscription.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/subscription_upsert_request_param.py b/src/hubspot_sdk/types/webhooks/subscription_upsert_request_param.py
index 29a6238f..40b3cfe7 100644
--- a/src/hubspot_sdk/types/webhooks/subscription_upsert_request_param.py
+++ b/src/hubspot_sdk/types/webhooks/subscription_upsert_request_param.py
@@ -9,6 +9,7 @@
from .association_subscription_upsert_request_param import AssociationSubscriptionUpsertRequestParam
from .list_membership_subscription_upsert_request_param import ListMembershipSubscriptionUpsertRequestParam
from .app_lifecycle_event_subscription_upsert_request_param import AppLifecycleEventSubscriptionUpsertRequestParam
+from .gdpr_privacy_deletion_subscription_upsert_request_param import GdprPrivacyDeletionSubscriptionUpsertRequestParam
__all__ = ["SubscriptionUpsertRequestParam"]
@@ -17,4 +18,5 @@
AssociationSubscriptionUpsertRequestParam,
AppLifecycleEventSubscriptionUpsertRequestParam,
ListMembershipSubscriptionUpsertRequestParam,
+ GdprPrivacyDeletionSubscriptionUpsertRequestParam,
]
diff --git a/src/hubspot_sdk/types/webhooks/throttling_settings.py b/src/hubspot_sdk/types/webhooks/throttling_settings.py
index f50f1ca5..92f01bf4 100644
--- a/src/hubspot_sdk/types/webhooks/throttling_settings.py
+++ b/src/hubspot_sdk/types/webhooks/throttling_settings.py
@@ -9,7 +9,4 @@
class ThrottlingSettings(BaseModel):
max_concurrent_requests: int = FieldInfo(alias="maxConcurrentRequests")
- """
- The maximum number of HTTP requests HubSpot will attempt to make to your app in
- a given time frame determined by `period`.
- """
+ """The maximum number of concurrent requests allowed. It is an integer value."""
diff --git a/src/hubspot_sdk/types/webhooks/throttling_settings_param.py b/src/hubspot_sdk/types/webhooks/throttling_settings_param.py
index 1d26fdce..6b3ea5f7 100644
--- a/src/hubspot_sdk/types/webhooks/throttling_settings_param.py
+++ b/src/hubspot_sdk/types/webhooks/throttling_settings_param.py
@@ -11,7 +11,4 @@
class ThrottlingSettingsParam(TypedDict, total=False):
max_concurrent_requests: Required[Annotated[int, PropertyInfo(alias="maxConcurrentRequests")]]
- """
- The maximum number of HTTP requests HubSpot will attempt to make to your app in
- a given time frame determined by `period`.
- """
+ """The maximum number of concurrent requests allowed. It is an integer value."""
diff --git a/src/hubspot_sdk/types/webhooks/webhook_create_subscriptions_batch_params.py b/src/hubspot_sdk/types/webhooks/webhook_create_batch_event_subscriptions_params.py
similarity index 56%
rename from src/hubspot_sdk/types/webhooks/webhook_create_subscriptions_batch_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_create_batch_event_subscriptions_params.py
index faeae3e0..07b6cdcd 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_create_subscriptions_batch_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_create_batch_event_subscriptions_params.py
@@ -7,8 +7,12 @@
from .subscription_batch_update_request_param import SubscriptionBatchUpdateRequestParam
-__all__ = ["WebhookCreateSubscriptionsBatchParams"]
+__all__ = ["WebhookCreateBatchEventSubscriptionsParams"]
-class WebhookCreateSubscriptionsBatchParams(TypedDict, total=False):
+class WebhookCreateBatchEventSubscriptionsParams(TypedDict, total=False):
inputs: Required[Iterable[SubscriptionBatchUpdateRequestParam]]
+ """
+ An array of SubscriptionBatchUpdateRequest objects, each representing a
+ subscription to be updated. This property is required.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_create_crm_snapshot_params.py b/src/hubspot_sdk/types/webhooks/webhook_create_crm_snapshots_params.py
similarity index 62%
rename from src/hubspot_sdk/types/webhooks/webhook_create_crm_snapshot_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_create_crm_snapshots_params.py
index ec5f874e..818b15a2 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_create_crm_snapshot_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_create_crm_snapshots_params.py
@@ -8,10 +8,14 @@
from ..._utils import PropertyInfo
from .crm_object_snapshot_request_param import CrmObjectSnapshotRequestParam
-__all__ = ["WebhookCreateCrmSnapshotParams"]
+__all__ = ["WebhookCreateCrmSnapshotsParams"]
-class WebhookCreateCrmSnapshotParams(TypedDict, total=False):
+class WebhookCreateCrmSnapshotsParams(TypedDict, total=False):
snapshot_requests: Required[
Annotated[Iterable[CrmObjectSnapshotRequestParam], PropertyInfo(alias="snapshotRequests")]
]
+ """
+ An array of CrmObjectSnapshotRequest objects, each representing a request to
+ capture a snapshot of a specific CRM object. This property is required.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_create_subscription_params.py b/src/hubspot_sdk/types/webhooks/webhook_create_event_subscription_params.py
similarity index 75%
rename from src/hubspot_sdk/types/webhooks/webhook_create_subscription_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_create_event_subscription_params.py
index e2292071..d2194f62 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_create_subscription_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_create_event_subscription_params.py
@@ -6,12 +6,15 @@
from ..._utils import PropertyInfo
-__all__ = ["WebhookCreateSubscriptionParams"]
+__all__ = ["WebhookCreateEventSubscriptionParams"]
-class WebhookCreateSubscriptionParams(TypedDict, total=False):
+class WebhookCreateEventSubscriptionParams(TypedDict, total=False):
active: Required[bool]
- """Determines if the subscription is active or paused. Defaults to false."""
+ """A boolean indicating whether the subscription is active.
+
+ This field is required.
+ """
event_type: Required[
Annotated[
@@ -68,27 +71,26 @@ class WebhookCreateSubscriptionParams(TypedDict, total=False):
PropertyInfo(alias="eventType"),
]
]
- """Type of event to listen for.
+ """A string representing the type of event to subscribe to.
- Can be one of `create`, `delete`, `deletedForPrivacy`, or `propertyChange`.
+ Valid values include various object changes such as 'contact.propertyChange',
+ 'deal.creation', and 'conversation.newMessage'.
"""
event_type_name: Annotated[str, PropertyInfo(alias="eventTypeName")]
- """The name of the event to listen for.
+ """A string that provides a human-readable name for the event type.
- This is used with custom objects to specify custom event types beyond the
- standard eventType enum values.
+ This is optional.
"""
object_type_id: Annotated[str, PropertyInfo(alias="objectTypeId")]
- """The ID of the object type for the subscription.
-
- This can be a standard CRM object (e.g., 'contact', 'company', 'deal') or a
- custom object ID for custom object subscriptions.
+ """
+ A string representing the identifier of the object type for which the
+ subscription is being created. This is optional.
"""
property_name: Annotated[str, PropertyInfo(alias="propertyName")]
- """The internal name of the property to monitor for changes.
+ """A string indicating the name of the property that triggers the event.
- Only applies when `eventType` is `propertyChange`.
+ This is optional and used when subscribing to property change events.
"""
diff --git a/src/hubspot_sdk/types/webhooks/webhook_create_subscription_filter_params.py b/src/hubspot_sdk/types/webhooks/webhook_create_subscription_filter_params.py
index d3e0eb3d..2fb18d64 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_create_subscription_filter_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_create_subscription_filter_params.py
@@ -19,3 +19,7 @@ class WebhookCreateSubscriptionFilterParams(TypedDict, total=False):
"""
subscription_id: Required[Annotated[int, PropertyInfo(alias="subscriptionId")]]
+ """The unique identifier of the subscription to which the filter will be applied.
+
+ It is an integer in int64 format.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_earliest_journal_batch_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_earliest_journal_batch_params.py
index 5e5fd7fa..adc943bb 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_earliest_journal_batch_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_earliest_journal_batch_params.py
@@ -11,3 +11,7 @@
class WebhookGetEarliestJournalBatchParams(TypedDict, total=False):
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal installation for which to fetch the journal entries.
+
+ This is an optional parameter.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_earliest_journal_entry_params.py
similarity index 56%
rename from src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_get_earliest_journal_entry_params.py
index d882677c..d4151efc 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_earliest_journal_entry_params.py
@@ -6,8 +6,12 @@
from ..._utils import PropertyInfo
-__all__ = ["WebhookGetEarliestLocalJournalParams"]
+__all__ = ["WebhookGetEarliestJournalEntryParams"]
-class WebhookGetEarliestLocalJournalParams(TypedDict, total=False):
+class WebhookGetEarliestJournalEntryParams(TypedDict, total=False):
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal installation to filter the journal entries.
+
+ This is an integer value.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_batch_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_batch_params.py
index a53ea95f..d212cefa 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_batch_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_batch_params.py
@@ -11,3 +11,7 @@
class WebhookGetEarliestLocalJournalBatchParams(TypedDict, total=False):
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal installation to filter the webhook journal entries.
+
+ It is an integer value.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_entry_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_entry_params.py
new file mode 100644
index 00000000..e634cb39
--- /dev/null
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_earliest_local_journal_entry_params.py
@@ -0,0 +1,17 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing_extensions import Annotated, TypedDict
+
+from ..._utils import PropertyInfo
+
+__all__ = ["WebhookGetEarliestLocalJournalEntryParams"]
+
+
+class WebhookGetEarliestLocalJournalEntryParams(TypedDict, total=False):
+ install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal for which to retrieve the earliest journal entry.
+
+ This parameter is optional and should be an integer.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_by_request_params.py
similarity index 63%
rename from src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_by_request_params.py
index 12813831..3d8ced3f 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_by_request_params.py
@@ -7,11 +7,15 @@
from ..._types import SequenceNotStr
from ..._utils import PropertyInfo
-__all__ = ["WebhookGetLocalJournalBatchParams"]
+__all__ = ["WebhookGetJournalBatchByRequestParams"]
-class WebhookGetLocalJournalBatchParams(TypedDict, total=False):
+class WebhookGetJournalBatchByRequestParams(TypedDict, total=False):
inputs: Required[SequenceNotStr[str]]
"""Strings to input."""
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal from which to retrieve webhook journal entries.
+
+ This is an integer value.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_after_offset_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_from_offset_params.py
similarity index 51%
rename from src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_after_offset_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_from_offset_params.py
index 5c948943..44b7cab5 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_after_offset_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_from_offset_params.py
@@ -6,10 +6,15 @@
from ..._utils import PropertyInfo
-__all__ = ["WebhookGetJournalBatchAfterOffsetParams"]
+__all__ = ["WebhookGetJournalBatchFromOffsetParams"]
-class WebhookGetJournalBatchAfterOffsetParams(TypedDict, total=False):
+class WebhookGetJournalBatchFromOffsetParams(TypedDict, total=False):
offset: Required[str]
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal installation to filter the webhook journal entries.
+
+ This parameter is optional and is used to specify which portal's data to
+ retrieve.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_latest_journal_batch_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_latest_journal_batch_params.py
index 925212be..48387288 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_latest_journal_batch_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_latest_journal_batch_params.py
@@ -11,3 +11,8 @@
class WebhookGetLatestJournalBatchParams(TypedDict, total=False):
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal installation.
+
+ This parameter is optional and can be used to filter results by a specific
+ portal.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_earliest_journal_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_latest_journal_entry_params.py
similarity index 55%
rename from src/hubspot_sdk/types/webhooks/webhook_get_earliest_journal_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_get_latest_journal_entry_params.py
index 1d86fa58..0a21ecc2 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_earliest_journal_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_latest_journal_entry_params.py
@@ -6,8 +6,12 @@
from ..._utils import PropertyInfo
-__all__ = ["WebhookGetEarliestJournalParams"]
+__all__ = ["WebhookGetLatestJournalEntryParams"]
-class WebhookGetEarliestJournalParams(TypedDict, total=False):
+class WebhookGetLatestJournalEntryParams(TypedDict, total=False):
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal for which to retrieve the latest journal entry.
+
+ It is an integer value.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_latest_local_journal_batch_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_latest_local_journal_batch_params.py
index abf0da1a..a16190c1 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_latest_local_journal_batch_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_latest_local_journal_batch_params.py
@@ -11,3 +11,7 @@
class WebhookGetLatestLocalJournalBatchParams(TypedDict, total=False):
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal installation to filter the webhook journal entries.
+
+ It is an optional integer parameter.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_latest_journal_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_latest_local_journal_entry_params.py
similarity index 55%
rename from src/hubspot_sdk/types/webhooks/webhook_get_latest_journal_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_get_latest_local_journal_entry_params.py
index 43b04b43..e63da890 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_latest_journal_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_latest_local_journal_entry_params.py
@@ -6,8 +6,12 @@
from ..._utils import PropertyInfo
-__all__ = ["WebhookGetLatestJournalParams"]
+__all__ = ["WebhookGetLatestLocalJournalEntryParams"]
-class WebhookGetLatestJournalParams(TypedDict, total=False):
+class WebhookGetLatestLocalJournalEntryParams(TypedDict, total=False):
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """
+ An integer representing the ID of the portal to filter the webhook journal
+ entries.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_by_request_params.py
similarity index 57%
rename from src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_by_request_params.py
index abf8fed7..f94040ef 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_journal_batch_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_by_request_params.py
@@ -7,11 +7,16 @@
from ..._types import SequenceNotStr
from ..._utils import PropertyInfo
-__all__ = ["WebhookGetJournalBatchParams"]
+__all__ = ["WebhookGetLocalJournalBatchByRequestParams"]
-class WebhookGetJournalBatchParams(TypedDict, total=False):
+class WebhookGetLocalJournalBatchByRequestParams(TypedDict, total=False):
inputs: Required[SequenceNotStr[str]]
"""Strings to input."""
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal where the webhook is installed.
+
+ This parameter is optional and is used to specify the portal context for the
+ operation.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_after_offset_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_from_offset_params.py
similarity index 58%
rename from src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_after_offset_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_from_offset_params.py
index 71d98fd3..785398bc 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_after_offset_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_local_journal_batch_from_offset_params.py
@@ -6,10 +6,14 @@
from ..._utils import PropertyInfo
-__all__ = ["WebhookGetLocalJournalBatchAfterOffsetParams"]
+__all__ = ["WebhookGetLocalJournalBatchFromOffsetParams"]
-class WebhookGetLocalJournalBatchAfterOffsetParams(TypedDict, total=False):
+class WebhookGetLocalJournalBatchFromOffsetParams(TypedDict, total=False):
offset: Required[str]
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal where the webhooks are installed.
+
+ This is an integer value.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_next_journal_after_offset_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_next_journal_after_offset_params.py
deleted file mode 100644
index bdd9257e..00000000
--- a/src/hubspot_sdk/types/webhooks/webhook_get_next_journal_after_offset_params.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing_extensions import Annotated, TypedDict
-
-from ..._utils import PropertyInfo
-
-__all__ = ["WebhookGetNextJournalAfterOffsetParams"]
-
-
-class WebhookGetNextJournalAfterOffsetParams(TypedDict, total=False):
- install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_latest_local_journal_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_next_journal_entries_params.py
similarity index 57%
rename from src/hubspot_sdk/types/webhooks/webhook_get_latest_local_journal_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_get_next_journal_entries_params.py
index 9c1c2cfc..a5a229ef 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_latest_local_journal_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_next_journal_entries_params.py
@@ -6,8 +6,12 @@
from ..._utils import PropertyInfo
-__all__ = ["WebhookGetLatestLocalJournalParams"]
+__all__ = ["WebhookGetNextJournalEntriesParams"]
-class WebhookGetLatestLocalJournalParams(TypedDict, total=False):
+class WebhookGetNextJournalEntriesParams(TypedDict, total=False):
install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal where the webhooks are installed.
+
+ This is an integer value.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_next_local_journal_after_offset_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_next_local_journal_after_offset_params.py
deleted file mode 100644
index c4cc030c..00000000
--- a/src/hubspot_sdk/types/webhooks/webhook_get_next_local_journal_after_offset_params.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from __future__ import annotations
-
-from typing_extensions import Annotated, TypedDict
-
-from ..._utils import PropertyInfo
-
-__all__ = ["WebhookGetNextLocalJournalAfterOffsetParams"]
-
-
-class WebhookGetNextLocalJournalAfterOffsetParams(TypedDict, total=False):
- install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_next_local_journal_entries_params.py b/src/hubspot_sdk/types/webhooks/webhook_get_next_local_journal_entries_params.py
new file mode 100644
index 00000000..5651658b
--- /dev/null
+++ b/src/hubspot_sdk/types/webhooks/webhook_get_next_local_journal_entries_params.py
@@ -0,0 +1,17 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+from __future__ import annotations
+
+from typing_extensions import Annotated, TypedDict
+
+from ..._utils import PropertyInfo
+
+__all__ = ["WebhookGetNextLocalJournalEntriesParams"]
+
+
+class WebhookGetNextLocalJournalEntriesParams(TypedDict, total=False):
+ install_portal_id: Annotated[int, PropertyInfo(alias="installPortalId")]
+ """The ID of the portal installation to filter the journal entries by.
+
+ This is an optional parameter.
+ """
diff --git a/src/hubspot_sdk/types/webhooks/webhook_get_subscription_filters_response.py b/src/hubspot_sdk/types/webhooks/webhook_list_subscription_filters_response.py
similarity index 61%
rename from src/hubspot_sdk/types/webhooks/webhook_get_subscription_filters_response.py
rename to src/hubspot_sdk/types/webhooks/webhook_list_subscription_filters_response.py
index a642a7e2..cb3d63cc 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_get_subscription_filters_response.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_list_subscription_filters_response.py
@@ -5,6 +5,6 @@
from .filter_response import FilterResponse
-__all__ = ["WebhookGetSubscriptionFiltersResponse"]
+__all__ = ["WebhookListSubscriptionFiltersResponse"]
-WebhookGetSubscriptionFiltersResponse: TypeAlias = List[FilterResponse]
+WebhookListSubscriptionFiltersResponse: TypeAlias = List[FilterResponse]
diff --git a/src/hubspot_sdk/types/webhooks/webhook_update_subscription_params.py b/src/hubspot_sdk/types/webhooks/webhook_update_event_subscription_params.py
similarity index 81%
rename from src/hubspot_sdk/types/webhooks/webhook_update_subscription_params.py
rename to src/hubspot_sdk/types/webhooks/webhook_update_event_subscription_params.py
index bb29dc4c..7741e18a 100644
--- a/src/hubspot_sdk/types/webhooks/webhook_update_subscription_params.py
+++ b/src/hubspot_sdk/types/webhooks/webhook_update_event_subscription_params.py
@@ -6,10 +6,10 @@
from ..._utils import PropertyInfo
-__all__ = ["WebhookUpdateSubscriptionParams"]
+__all__ = ["WebhookUpdateEventSubscriptionParams"]
-class WebhookUpdateSubscriptionParams(TypedDict, total=False):
+class WebhookUpdateEventSubscriptionParams(TypedDict, total=False):
app_id: Required[Annotated[int, PropertyInfo(alias="appId")]]
active: bool
diff --git a/tests/api_resources/cms/test_media_bridge.py b/tests/api_resources/cms/test_media_bridge.py
index 8a28d77c..670c21a3 100644
--- a/tests/api_resources/cms/test_media_bridge.py
+++ b/tests/api_resources/cms/test_media_bridge.py
@@ -433,6 +433,7 @@ def test_method_create_property_with_all_params(self, client: HubSpot) -> None:
name="name",
type="bool",
calculation_formula="calculationFormula",
+ currency_property_name="currencyPropertyName",
data_sensitivity="highly_sensitive",
description="description",
display_order=0,
@@ -440,6 +441,7 @@ def test_method_create_property_with_all_params(self, client: HubSpot) -> None:
form_field=True,
has_unique_value=True,
hidden=True,
+ number_display_hint="currency",
options=[
{
"display_order": 0,
@@ -450,6 +452,7 @@ def test_method_create_property_with_all_params(self, client: HubSpot) -> None:
}
],
referenced_object_type="referencedObjectType",
+ show_currency_symbol=True,
)
assert_matches_type(Property, media_bridge, path=["response"])
@@ -1515,6 +1518,7 @@ def test_method_update_property_with_all_params(self, client: HubSpot) -> None:
app_id=0,
object_type="objectType",
calculation_formula="calculationFormula",
+ currency_property_name="currencyPropertyName",
description="description",
display_order=0,
field_type="booleancheckbox",
@@ -1523,6 +1527,7 @@ def test_method_update_property_with_all_params(self, client: HubSpot) -> None:
has_unique_value=True,
hidden=True,
label="label",
+ number_display_hint="currency",
options=[
{
"display_order": 0,
@@ -1532,6 +1537,7 @@ def test_method_update_property_with_all_params(self, client: HubSpot) -> None:
"description": "description",
}
],
+ show_currency_symbol=True,
type="bool",
)
assert_matches_type(Property, media_bridge, path=["response"])
@@ -2171,6 +2177,7 @@ async def test_method_create_property_with_all_params(self, async_client: AsyncH
name="name",
type="bool",
calculation_formula="calculationFormula",
+ currency_property_name="currencyPropertyName",
data_sensitivity="highly_sensitive",
description="description",
display_order=0,
@@ -2178,6 +2185,7 @@ async def test_method_create_property_with_all_params(self, async_client: AsyncH
form_field=True,
has_unique_value=True,
hidden=True,
+ number_display_hint="currency",
options=[
{
"display_order": 0,
@@ -2188,6 +2196,7 @@ async def test_method_create_property_with_all_params(self, async_client: AsyncH
}
],
referenced_object_type="referencedObjectType",
+ show_currency_symbol=True,
)
assert_matches_type(Property, media_bridge, path=["response"])
@@ -3253,6 +3262,7 @@ async def test_method_update_property_with_all_params(self, async_client: AsyncH
app_id=0,
object_type="objectType",
calculation_formula="calculationFormula",
+ currency_property_name="currencyPropertyName",
description="description",
display_order=0,
field_type="booleancheckbox",
@@ -3261,6 +3271,7 @@ async def test_method_update_property_with_all_params(self, async_client: AsyncH
has_unique_value=True,
hidden=True,
label="label",
+ number_display_hint="currency",
options=[
{
"display_order": 0,
@@ -3270,6 +3281,7 @@ async def test_method_update_property_with_all_params(self, async_client: AsyncH
"description": "description",
}
],
+ show_currency_symbol=True,
type="bool",
)
assert_matches_type(Property, media_bridge, path=["response"])
diff --git a/tests/api_resources/cms/test_url_mappings.py b/tests/api_resources/cms/test_url_mappings.py
index 4f64205a..545939a4 100644
--- a/tests/api_resources/cms/test_url_mappings.py
+++ b/tests/api_resources/cms/test_url_mappings.py
@@ -48,6 +48,7 @@ def test_method_create(self, client: HubSpot, respx_mock: MockRouter) -> None:
is_regex=True,
is_trailing_slash_optional=True,
label="label",
+ last_used_at=0,
name="name",
note="note",
portal_id=0,
@@ -88,6 +89,7 @@ def test_raw_response_create(self, client: HubSpot, respx_mock: MockRouter) -> N
is_regex=True,
is_trailing_slash_optional=True,
label="label",
+ last_used_at=0,
name="name",
note="note",
portal_id=0,
@@ -128,6 +130,7 @@ def test_streaming_response_create(self, client: HubSpot, respx_mock: MockRouter
is_regex=True,
is_trailing_slash_optional=True,
label="label",
+ last_used_at=0,
name="name",
note="note",
portal_id=0,
@@ -295,6 +298,7 @@ async def test_method_create(self, async_client: AsyncHubSpot, respx_mock: MockR
is_regex=True,
is_trailing_slash_optional=True,
label="label",
+ last_used_at=0,
name="name",
note="note",
portal_id=0,
@@ -335,6 +339,7 @@ async def test_raw_response_create(self, async_client: AsyncHubSpot, respx_mock:
is_regex=True,
is_trailing_slash_optional=True,
label="label",
+ last_used_at=0,
name="name",
note="note",
portal_id=0,
@@ -375,6 +380,7 @@ async def test_streaming_response_create(self, async_client: AsyncHubSpot, respx
is_regex=True,
is_trailing_slash_optional=True,
label="label",
+ last_used_at=0,
name="name",
note="note",
portal_id=0,
diff --git a/tests/api_resources/crm/extensions/test_cards_dev.py b/tests/api_resources/crm/extensions/test_cards_dev.py
index aa4e002c..08103309 100644
--- a/tests/api_resources/crm/extensions/test_cards_dev.py
+++ b/tests/api_resources/crm/extensions/test_cards_dev.py
@@ -420,6 +420,7 @@ def test_streaming_response_get_sample_response(self, client: HubSpot) -> None:
def test_method_migrate_views(self, client: HubSpot) -> None:
cards_dev = client.crm.extensions.cards_dev.migrate_views(
app_id=0,
+ allow_duplicate_app_card_ids=True,
app_card_id=0,
legacy_crm_card_id=0,
)
@@ -430,6 +431,7 @@ def test_method_migrate_views(self, client: HubSpot) -> None:
def test_method_migrate_views_with_all_params(self, client: HubSpot) -> None:
cards_dev = client.crm.extensions.cards_dev.migrate_views(
app_id=0,
+ allow_duplicate_app_card_ids=True,
app_card_id=0,
legacy_crm_card_id=0,
helpdesk_app_card_id=0,
@@ -441,6 +443,7 @@ def test_method_migrate_views_with_all_params(self, client: HubSpot) -> None:
def test_raw_response_migrate_views(self, client: HubSpot) -> None:
response = client.crm.extensions.cards_dev.with_raw_response.migrate_views(
app_id=0,
+ allow_duplicate_app_card_ids=True,
app_card_id=0,
legacy_crm_card_id=0,
)
@@ -455,6 +458,7 @@ def test_raw_response_migrate_views(self, client: HubSpot) -> None:
def test_streaming_response_migrate_views(self, client: HubSpot) -> None:
with client.crm.extensions.cards_dev.with_streaming_response.migrate_views(
app_id=0,
+ allow_duplicate_app_card_ids=True,
app_card_id=0,
legacy_crm_card_id=0,
) as response:
@@ -870,6 +874,7 @@ async def test_streaming_response_get_sample_response(self, async_client: AsyncH
async def test_method_migrate_views(self, async_client: AsyncHubSpot) -> None:
cards_dev = await async_client.crm.extensions.cards_dev.migrate_views(
app_id=0,
+ allow_duplicate_app_card_ids=True,
app_card_id=0,
legacy_crm_card_id=0,
)
@@ -880,6 +885,7 @@ async def test_method_migrate_views(self, async_client: AsyncHubSpot) -> None:
async def test_method_migrate_views_with_all_params(self, async_client: AsyncHubSpot) -> None:
cards_dev = await async_client.crm.extensions.cards_dev.migrate_views(
app_id=0,
+ allow_duplicate_app_card_ids=True,
app_card_id=0,
legacy_crm_card_id=0,
helpdesk_app_card_id=0,
@@ -891,6 +897,7 @@ async def test_method_migrate_views_with_all_params(self, async_client: AsyncHub
async def test_raw_response_migrate_views(self, async_client: AsyncHubSpot) -> None:
response = await async_client.crm.extensions.cards_dev.with_raw_response.migrate_views(
app_id=0,
+ allow_duplicate_app_card_ids=True,
app_card_id=0,
legacy_crm_card_id=0,
)
@@ -905,6 +912,7 @@ async def test_raw_response_migrate_views(self, async_client: AsyncHubSpot) -> N
async def test_streaming_response_migrate_views(self, async_client: AsyncHubSpot) -> None:
async with async_client.crm.extensions.cards_dev.with_streaming_response.migrate_views(
app_id=0,
+ allow_duplicate_app_card_ids=True,
app_card_id=0,
legacy_crm_card_id=0,
) as response:
diff --git a/tests/api_resources/crm/test_properties.py b/tests/api_resources/crm/test_properties.py
index c37f4d2e..1ca0ca0c 100644
--- a/tests/api_resources/crm/test_properties.py
+++ b/tests/api_resources/crm/test_properties.py
@@ -10,9 +10,9 @@
from hubspot_sdk import HubSpot, AsyncHubSpot
from tests.utils import assert_matches_type
from hubspot_sdk.types.crm import (
- Property,
CollectionResponsePropertyNoPaging,
)
+from hubspot_sdk.types.shared import Property
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -52,6 +52,7 @@ def test_method_create_with_all_params(self, client: HubSpot) -> None:
form_field=True,
has_unique_value=True,
hidden=True,
+ number_display_hint="currency",
options=[
{
"display_order": 0,
@@ -139,6 +140,7 @@ def test_method_update_with_all_params(self, client: HubSpot) -> None:
group_name="groupName",
hidden=True,
label="label",
+ number_display_hint="currency",
options=[
{
"display_order": 0,
@@ -405,6 +407,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncHubSpot) -
form_field=True,
has_unique_value=True,
hidden=True,
+ number_display_hint="currency",
options=[
{
"display_order": 0,
@@ -492,6 +495,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncHubSpot) -
group_name="groupName",
hidden=True,
label="label",
+ number_display_hint="currency",
options=[
{
"display_order": 0,
diff --git a/tests/api_resources/events/test_definitions.py b/tests/api_resources/events/test_definitions.py
index 05282191..d2c7065a 100644
--- a/tests/api_resources/events/test_definitions.py
+++ b/tests/api_resources/events/test_definitions.py
@@ -11,9 +11,9 @@
from tests.utils import assert_matches_type
from hubspot_sdk.pagination import SyncPage, AsyncPage
from hubspot_sdk.types.events import (
- Property,
ExternalBehavioralEventTypeDefinition,
)
+from hubspot_sdk.types.shared import Property
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
diff --git a/tests/api_resources/test_webhooks.py b/tests/api_resources/test_webhooks.py
index 901ca9d8..7cd0737b 100644
--- a/tests/api_resources/test_webhooks.py
+++ b/tests/api_resources/test_webhooks.py
@@ -28,7 +28,7 @@
CrmObjectSnapshotBatchResponse,
BatchResponseJournalFetchResponse,
BatchResponseSubscriptionResponse,
- WebhookGetSubscriptionFiltersResponse,
+ WebhookListSubscriptionFiltersResponse,
CollectionResponseSubscriptionResponseNoPaging,
)
@@ -40,8 +40,60 @@ class TestWebhooks:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_create_crm_snapshot(self, client: HubSpot) -> None:
- webhook = client.webhooks.create_crm_snapshot(
+ def test_method_create_batch_event_subscriptions(self, client: HubSpot) -> None:
+ webhook = client.webhooks.create_batch_event_subscriptions(
+ app_id=0,
+ inputs=[
+ {
+ "id": 0,
+ "active": True,
+ }
+ ],
+ )
+ assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_raw_response_create_batch_event_subscriptions(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.create_batch_event_subscriptions(
+ app_id=0,
+ inputs=[
+ {
+ "id": 0,
+ "active": True,
+ }
+ ],
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ webhook = response.parse()
+ assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_streaming_response_create_batch_event_subscriptions(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.create_batch_event_subscriptions(
+ app_id=0,
+ inputs=[
+ {
+ "id": 0,
+ "active": True,
+ }
+ ],
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ webhook = response.parse()
+ assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_method_create_crm_snapshots(self, client: HubSpot) -> None:
+ webhook = client.webhooks.create_crm_snapshots(
snapshot_requests=[
{
"object_id": 0,
@@ -55,8 +107,8 @@ def test_method_create_crm_snapshot(self, client: HubSpot) -> None:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_create_crm_snapshot(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.create_crm_snapshot(
+ def test_raw_response_create_crm_snapshots(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.create_crm_snapshots(
snapshot_requests=[
{
"object_id": 0,
@@ -74,8 +126,8 @@ def test_raw_response_create_crm_snapshot(self, client: HubSpot) -> None:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_create_crm_snapshot(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.create_crm_snapshot(
+ def test_streaming_response_create_crm_snapshots(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.create_crm_snapshots(
snapshot_requests=[
{
"object_id": 0,
@@ -93,6 +145,59 @@ def test_streaming_response_create_crm_snapshot(self, client: HubSpot) -> None:
assert cast(Any, response.is_closed) is True
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_method_create_event_subscription(self, client: HubSpot) -> None:
+ webhook = client.webhooks.create_event_subscription(
+ app_id=0,
+ active=True,
+ event_type="company.associationChange",
+ )
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_method_create_event_subscription_with_all_params(self, client: HubSpot) -> None:
+ webhook = client.webhooks.create_event_subscription(
+ app_id=0,
+ active=True,
+ event_type="company.associationChange",
+ event_type_name="eventTypeName",
+ object_type_id="objectTypeId",
+ property_name="propertyName",
+ )
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_raw_response_create_event_subscription(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.create_event_subscription(
+ app_id=0,
+ active=True,
+ event_type="company.associationChange",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ webhook = response.parse()
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_streaming_response_create_event_subscription(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.create_event_subscription(
+ app_id=0,
+ active=True,
+ event_type="company.associationChange",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ webhook = response.parse()
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
def test_method_create_journal_subscription_overload_1(self, client: HubSpot) -> None:
@@ -207,54 +312,29 @@ def test_streaming_response_create_journal_subscription_overload_4(self, client:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_create_subscription(self, client: HubSpot) -> None:
- webhook = client.webhooks.create_subscription(
- app_id=0,
- active=True,
- event_type="company.associationChange",
- )
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
-
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- def test_method_create_subscription_with_all_params(self, client: HubSpot) -> None:
- webhook = client.webhooks.create_subscription(
- app_id=0,
- active=True,
- event_type="company.associationChange",
- event_type_name="eventTypeName",
- object_type_id="objectTypeId",
- property_name="propertyName",
- )
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ def test_method_create_journal_subscription_overload_5(self, client: HubSpot) -> None:
+ webhook = client.webhooks.create_journal_subscription()
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_create_subscription(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.create_subscription(
- app_id=0,
- active=True,
- event_type="company.associationChange",
- )
+ def test_raw_response_create_journal_subscription_overload_5(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.create_journal_subscription()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_create_subscription(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.create_subscription(
- app_id=0,
- active=True,
- event_type="company.associationChange",
- ) as response:
+ def test_streaming_response_create_journal_subscription_overload_5(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.create_journal_subscription() as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -321,53 +401,38 @@ def test_streaming_response_create_subscription_filter(self, client: HubSpot) ->
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_create_subscriptions_batch(self, client: HubSpot) -> None:
- webhook = client.webhooks.create_subscriptions_batch(
+ def test_method_delete_event_subscription(self, client: HubSpot) -> None:
+ webhook = client.webhooks.delete_event_subscription(
+ subscription_id=0,
app_id=0,
- inputs=[
- {
- "id": 0,
- "active": True,
- }
- ],
)
- assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
+ assert webhook is None
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_create_subscriptions_batch(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.create_subscriptions_batch(
+ def test_raw_response_delete_event_subscription(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.delete_event_subscription(
+ subscription_id=0,
app_id=0,
- inputs=[
- {
- "id": 0,
- "active": True,
- }
- ],
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
+ assert webhook is None
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_create_subscriptions_batch(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.create_subscriptions_batch(
+ def test_streaming_response_delete_event_subscription(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.delete_event_subscription(
+ subscription_id=0,
app_id=0,
- inputs=[
- {
- "id": 0,
- "active": True,
- }
- ],
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
+ assert webhook is None
assert cast(Any, response.is_closed) is True
@@ -407,16 +472,16 @@ def test_streaming_response_delete_journal_subscription(self, client: HubSpot) -
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_delete_portal_subscriptions(self, client: HubSpot) -> None:
- webhook = client.webhooks.delete_portal_subscriptions(
+ def test_method_delete_journal_subscription_for_portal(self, client: HubSpot) -> None:
+ webhook = client.webhooks.delete_journal_subscription_for_portal(
0,
)
assert webhook is None
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_delete_portal_subscriptions(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.delete_portal_subscriptions(
+ def test_raw_response_delete_journal_subscription_for_portal(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.delete_journal_subscription_for_portal(
0,
)
@@ -427,8 +492,8 @@ def test_raw_response_delete_portal_subscriptions(self, client: HubSpot) -> None
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_delete_portal_subscriptions(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.delete_portal_subscriptions(
+ def test_streaming_response_delete_journal_subscription_for_portal(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.delete_journal_subscription_for_portal(
0,
) as response:
assert not response.is_closed
@@ -475,19 +540,17 @@ def test_streaming_response_delete_settings(self, client: HubSpot) -> None:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_delete_subscription(self, client: HubSpot) -> None:
- webhook = client.webhooks.delete_subscription(
- subscription_id=0,
- app_id=0,
+ def test_method_delete_subscription_filter(self, client: HubSpot) -> None:
+ webhook = client.webhooks.delete_subscription_filter(
+ 0,
)
assert webhook is None
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_delete_subscription(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.delete_subscription(
- subscription_id=0,
- app_id=0,
+ def test_raw_response_delete_subscription_filter(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.delete_subscription_filter(
+ 0,
)
assert response.is_closed is True
@@ -497,10 +560,9 @@ def test_raw_response_delete_subscription(self, client: HubSpot) -> None:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_delete_subscription(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.delete_subscription(
- subscription_id=0,
- app_id=0,
+ def test_streaming_response_delete_subscription_filter(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.delete_subscription_filter(
+ 0,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -512,45 +574,54 @@ def test_streaming_response_delete_subscription(self, client: HubSpot) -> None:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_delete_subscription_filter(self, client: HubSpot) -> None:
- webhook = client.webhooks.delete_subscription_filter(
- 0,
+ def test_method_get_earliest_journal_batch(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_earliest_journal_batch(
+ count=1,
)
- assert webhook is None
+ assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_delete_subscription_filter(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.delete_subscription_filter(
- 0,
+ def test_method_get_earliest_journal_batch_with_all_params(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_earliest_journal_batch(
+ count=1,
+ install_portal_id=0,
+ )
+ assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_raw_response_get_earliest_journal_batch(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.get_earliest_journal_batch(
+ count=1,
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert webhook is None
+ assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_delete_subscription_filter(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.delete_subscription_filter(
- 0,
+ def test_streaming_response_get_earliest_journal_batch(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.get_earliest_journal_batch(
+ count=1,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert webhook is None
+ assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_method_get_earliest_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_method_get_earliest_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.get_earliest_journal()
+ webhook = client.webhooks.get_earliest_journal_entry()
assert webhook.is_closed
assert webhook.json() == {"foo": "bar"}
assert cast(Any, webhook.is_closed) is True
@@ -558,11 +629,11 @@ def test_method_get_earliest_journal(self, client: HubSpot, respx_mock: MockRout
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_method_get_earliest_journal_with_all_params(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_method_get_earliest_journal_entry_with_all_params(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.get_earliest_journal(
+ webhook = client.webhooks.get_earliest_journal_entry(
install_portal_id=0,
)
assert webhook.is_closed
@@ -572,12 +643,12 @@ def test_method_get_earliest_journal_with_all_params(self, client: HubSpot, resp
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_raw_response_get_earliest_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_raw_response_get_earliest_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.with_raw_response.get_earliest_journal()
+ webhook = client.webhooks.with_raw_response.get_earliest_journal_entry()
assert webhook.is_closed is True
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -586,11 +657,11 @@ def test_raw_response_get_earliest_journal(self, client: HubSpot, respx_mock: Mo
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_streaming_response_get_earliest_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_streaming_response_get_earliest_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- with client.webhooks.with_streaming_response.get_earliest_journal() as webhook:
+ with client.webhooks.with_streaming_response.get_earliest_journal_entry() as webhook:
assert not webhook.is_closed
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -602,16 +673,16 @@ def test_streaming_response_get_earliest_journal(self, client: HubSpot, respx_mo
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_earliest_journal_batch(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_earliest_journal_batch(
+ def test_method_get_earliest_local_journal_batch(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_earliest_local_journal_batch(
count=1,
)
assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_earliest_journal_batch_with_all_params(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_earliest_journal_batch(
+ def test_method_get_earliest_local_journal_batch_with_all_params(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_earliest_local_journal_batch(
count=1,
install_portal_id=0,
)
@@ -619,8 +690,8 @@ def test_method_get_earliest_journal_batch_with_all_params(self, client: HubSpot
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_get_earliest_journal_batch(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.get_earliest_journal_batch(
+ def test_raw_response_get_earliest_local_journal_batch(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.get_earliest_local_journal_batch(
count=1,
)
@@ -631,8 +702,8 @@ def test_raw_response_get_earliest_journal_batch(self, client: HubSpot) -> None:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_get_earliest_journal_batch(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.get_earliest_journal_batch(
+ def test_streaming_response_get_earliest_local_journal_batch(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.get_earliest_local_journal_batch(
count=1,
) as response:
assert not response.is_closed
@@ -645,11 +716,11 @@ def test_streaming_response_get_earliest_journal_batch(self, client: HubSpot) ->
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_method_get_earliest_local_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_method_get_earliest_local_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.get_earliest_local_journal()
+ webhook = client.webhooks.get_earliest_local_journal_entry()
assert webhook.is_closed
assert webhook.json() == {"foo": "bar"}
assert cast(Any, webhook.is_closed) is True
@@ -657,11 +728,13 @@ def test_method_get_earliest_local_journal(self, client: HubSpot, respx_mock: Mo
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_method_get_earliest_local_journal_with_all_params(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_method_get_earliest_local_journal_entry_with_all_params(
+ self, client: HubSpot, respx_mock: MockRouter
+ ) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.get_earliest_local_journal(
+ webhook = client.webhooks.get_earliest_local_journal_entry(
install_portal_id=0,
)
assert webhook.is_closed
@@ -671,12 +744,12 @@ def test_method_get_earliest_local_journal_with_all_params(self, client: HubSpot
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_raw_response_get_earliest_local_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_raw_response_get_earliest_local_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.with_raw_response.get_earliest_local_journal()
+ webhook = client.webhooks.with_raw_response.get_earliest_local_journal_entry()
assert webhook.is_closed is True
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -685,11 +758,11 @@ def test_raw_response_get_earliest_local_journal(self, client: HubSpot, respx_mo
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_streaming_response_get_earliest_local_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_streaming_response_get_earliest_local_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- with client.webhooks.with_streaming_response.get_earliest_local_journal() as webhook:
+ with client.webhooks.with_streaming_response.get_earliest_local_journal_entry() as webhook:
assert not webhook.is_closed
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -701,59 +774,53 @@ def test_streaming_response_get_earliest_local_journal(self, client: HubSpot, re
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_earliest_local_journal_batch(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_earliest_local_journal_batch(
- count=1,
- )
- assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
-
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- def test_method_get_earliest_local_journal_batch_with_all_params(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_earliest_local_journal_batch(
- count=1,
- install_portal_id=0,
+ def test_method_get_event_subscription(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_event_subscription(
+ subscription_id=0,
+ app_id=0,
)
- assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_get_earliest_local_journal_batch(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.get_earliest_local_journal_batch(
- count=1,
+ def test_raw_response_get_event_subscription(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.get_event_subscription(
+ subscription_id=0,
+ app_id=0,
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_get_earliest_local_journal_batch(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.get_earliest_local_journal_batch(
- count=1,
+ def test_streaming_response_get_event_subscription(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.get_event_subscription(
+ subscription_id=0,
+ app_id=0,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_journal_batch(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_journal_batch(
+ def test_method_get_journal_batch_by_request(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_journal_batch_by_request(
inputs=["string"],
)
assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_journal_batch_with_all_params(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_journal_batch(
+ def test_method_get_journal_batch_by_request_with_all_params(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_journal_batch_by_request(
inputs=["string"],
install_portal_id=0,
)
@@ -761,8 +828,8 @@ def test_method_get_journal_batch_with_all_params(self, client: HubSpot) -> None
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_get_journal_batch(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.get_journal_batch(
+ def test_raw_response_get_journal_batch_by_request(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.get_journal_batch_by_request(
inputs=["string"],
)
@@ -773,8 +840,8 @@ def test_raw_response_get_journal_batch(self, client: HubSpot) -> None:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_get_journal_batch(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.get_journal_batch(
+ def test_streaming_response_get_journal_batch_by_request(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.get_journal_batch_by_request(
inputs=["string"],
) as response:
assert not response.is_closed
@@ -787,8 +854,8 @@ def test_streaming_response_get_journal_batch(self, client: HubSpot) -> None:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_journal_batch_after_offset(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_journal_batch_after_offset(
+ def test_method_get_journal_batch_from_offset(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_journal_batch_from_offset(
count=1,
offset="offset",
)
@@ -796,8 +863,8 @@ def test_method_get_journal_batch_after_offset(self, client: HubSpot) -> None:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_journal_batch_after_offset_with_all_params(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_journal_batch_after_offset(
+ def test_method_get_journal_batch_from_offset_with_all_params(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_journal_batch_from_offset(
count=1,
offset="offset",
install_portal_id=0,
@@ -806,8 +873,8 @@ def test_method_get_journal_batch_after_offset_with_all_params(self, client: Hub
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_get_journal_batch_after_offset(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.get_journal_batch_after_offset(
+ def test_raw_response_get_journal_batch_from_offset(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.get_journal_batch_from_offset(
count=1,
offset="offset",
)
@@ -819,8 +886,8 @@ def test_raw_response_get_journal_batch_after_offset(self, client: HubSpot) -> N
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_get_journal_batch_after_offset(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.get_journal_batch_after_offset(
+ def test_streaming_response_get_journal_batch_from_offset(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.get_journal_batch_from_offset(
count=1,
offset="offset",
) as response:
@@ -834,9 +901,9 @@ def test_streaming_response_get_journal_batch_after_offset(self, client: HubSpot
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_path_params_get_journal_batch_after_offset(self, client: HubSpot) -> None:
+ def test_path_params_get_journal_batch_from_offset(self, client: HubSpot) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `offset` but received ''"):
- client.webhooks.with_raw_response.get_journal_batch_after_offset(
+ client.webhooks.with_raw_response.get_journal_batch_from_offset(
count=1,
offset="",
)
@@ -883,61 +950,39 @@ def test_path_params_get_journal_status(self, client: HubSpot) -> None:
"",
)
+ @pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- @pytest.mark.respx(base_url=base_url)
- def test_method_get_latest_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
- return_value=httpx.Response(200, json={"foo": "bar"})
+ def test_method_get_journal_subscription(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_journal_subscription(
+ 0,
)
- webhook = client.webhooks.get_latest_journal()
- assert webhook.is_closed
- assert webhook.json() == {"foo": "bar"}
- assert cast(Any, webhook.is_closed) is True
- assert isinstance(webhook, BinaryAPIResponse)
-
- @parametrize
- @pytest.mark.respx(base_url=base_url)
- def test_method_get_latest_journal_with_all_params(self, client: HubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
- return_value=httpx.Response(200, json={"foo": "bar"})
- )
- webhook = client.webhooks.get_latest_journal(
- install_portal_id=0,
- )
- assert webhook.is_closed
- assert webhook.json() == {"foo": "bar"}
- assert cast(Any, webhook.is_closed) is True
- assert isinstance(webhook, BinaryAPIResponse)
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
+ @pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- @pytest.mark.respx(base_url=base_url)
- def test_raw_response_get_latest_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
- return_value=httpx.Response(200, json={"foo": "bar"})
+ def test_raw_response_get_journal_subscription(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.get_journal_subscription(
+ 0,
)
- webhook = client.webhooks.with_raw_response.get_latest_journal()
-
- assert webhook.is_closed is True
- assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
- assert webhook.json() == {"foo": "bar"}
- assert isinstance(webhook, BinaryAPIResponse)
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ webhook = response.parse()
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
+ @pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- @pytest.mark.respx(base_url=base_url)
- def test_streaming_response_get_latest_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
- return_value=httpx.Response(200, json={"foo": "bar"})
- )
- with client.webhooks.with_streaming_response.get_latest_journal() as webhook:
- assert not webhook.is_closed
- assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
+ def test_streaming_response_get_journal_subscription(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.get_journal_subscription(
+ 0,
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- assert webhook.json() == {"foo": "bar"}
- assert cast(Any, webhook.is_closed) is True
- assert isinstance(webhook, StreamedBinaryAPIResponse)
+ webhook = response.parse()
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
- assert cast(Any, webhook.is_closed) is True
+ assert cast(Any, response.is_closed) is True
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
@@ -984,11 +1029,11 @@ def test_streaming_response_get_latest_journal_batch(self, client: HubSpot) -> N
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_method_get_latest_local_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ def test_method_get_latest_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.get_latest_local_journal()
+ webhook = client.webhooks.get_latest_journal_entry()
assert webhook.is_closed
assert webhook.json() == {"foo": "bar"}
assert cast(Any, webhook.is_closed) is True
@@ -996,11 +1041,11 @@ def test_method_get_latest_local_journal(self, client: HubSpot, respx_mock: Mock
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_method_get_latest_local_journal_with_all_params(self, client: HubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ def test_method_get_latest_journal_entry_with_all_params(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.get_latest_local_journal(
+ webhook = client.webhooks.get_latest_journal_entry(
install_portal_id=0,
)
assert webhook.is_closed
@@ -1010,12 +1055,12 @@ def test_method_get_latest_local_journal_with_all_params(self, client: HubSpot,
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_raw_response_get_latest_local_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ def test_raw_response_get_latest_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.with_raw_response.get_latest_local_journal()
+ webhook = client.webhooks.with_raw_response.get_latest_journal_entry()
assert webhook.is_closed is True
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -1024,11 +1069,11 @@ def test_raw_response_get_latest_local_journal(self, client: HubSpot, respx_mock
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_streaming_response_get_latest_local_journal(self, client: HubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ def test_streaming_response_get_latest_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- with client.webhooks.with_streaming_response.get_latest_local_journal() as webhook:
+ with client.webhooks.with_streaming_response.get_latest_journal_entry() as webhook:
assert not webhook.is_closed
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -1081,18 +1126,76 @@ def test_streaming_response_get_latest_local_journal_batch(self, client: HubSpot
assert cast(Any, response.is_closed) is True
+ @parametrize
+ @pytest.mark.respx(base_url=base_url)
+ def test_method_get_latest_local_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ return_value=httpx.Response(200, json={"foo": "bar"})
+ )
+ webhook = client.webhooks.get_latest_local_journal_entry()
+ assert webhook.is_closed
+ assert webhook.json() == {"foo": "bar"}
+ assert cast(Any, webhook.is_closed) is True
+ assert isinstance(webhook, BinaryAPIResponse)
+
+ @parametrize
+ @pytest.mark.respx(base_url=base_url)
+ def test_method_get_latest_local_journal_entry_with_all_params(
+ self, client: HubSpot, respx_mock: MockRouter
+ ) -> None:
+ respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ return_value=httpx.Response(200, json={"foo": "bar"})
+ )
+ webhook = client.webhooks.get_latest_local_journal_entry(
+ install_portal_id=0,
+ )
+ assert webhook.is_closed
+ assert webhook.json() == {"foo": "bar"}
+ assert cast(Any, webhook.is_closed) is True
+ assert isinstance(webhook, BinaryAPIResponse)
+
+ @parametrize
+ @pytest.mark.respx(base_url=base_url)
+ def test_raw_response_get_latest_local_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ return_value=httpx.Response(200, json={"foo": "bar"})
+ )
+
+ webhook = client.webhooks.with_raw_response.get_latest_local_journal_entry()
+
+ assert webhook.is_closed is True
+ assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
+ assert webhook.json() == {"foo": "bar"}
+ assert isinstance(webhook, BinaryAPIResponse)
+
+ @parametrize
+ @pytest.mark.respx(base_url=base_url)
+ def test_streaming_response_get_latest_local_journal_entry(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ return_value=httpx.Response(200, json={"foo": "bar"})
+ )
+ with client.webhooks.with_streaming_response.get_latest_local_journal_entry() as webhook:
+ assert not webhook.is_closed
+ assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ assert webhook.json() == {"foo": "bar"}
+ assert cast(Any, webhook.is_closed) is True
+ assert isinstance(webhook, StreamedBinaryAPIResponse)
+
+ assert cast(Any, webhook.is_closed) is True
+
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_local_journal_batch(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_local_journal_batch(
+ def test_method_get_local_journal_batch_by_request(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_local_journal_batch_by_request(
inputs=["string"],
)
assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_local_journal_batch_with_all_params(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_local_journal_batch(
+ def test_method_get_local_journal_batch_by_request_with_all_params(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_local_journal_batch_by_request(
inputs=["string"],
install_portal_id=0,
)
@@ -1100,8 +1203,8 @@ def test_method_get_local_journal_batch_with_all_params(self, client: HubSpot) -
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_get_local_journal_batch(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.get_local_journal_batch(
+ def test_raw_response_get_local_journal_batch_by_request(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.get_local_journal_batch_by_request(
inputs=["string"],
)
@@ -1112,8 +1215,8 @@ def test_raw_response_get_local_journal_batch(self, client: HubSpot) -> None:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_get_local_journal_batch(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.get_local_journal_batch(
+ def test_streaming_response_get_local_journal_batch_by_request(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.get_local_journal_batch_by_request(
inputs=["string"],
) as response:
assert not response.is_closed
@@ -1126,8 +1229,8 @@ def test_streaming_response_get_local_journal_batch(self, client: HubSpot) -> No
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_local_journal_batch_after_offset(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_local_journal_batch_after_offset(
+ def test_method_get_local_journal_batch_from_offset(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_local_journal_batch_from_offset(
count=1,
offset="offset",
)
@@ -1135,8 +1238,8 @@ def test_method_get_local_journal_batch_after_offset(self, client: HubSpot) -> N
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_local_journal_batch_after_offset_with_all_params(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_local_journal_batch_after_offset(
+ def test_method_get_local_journal_batch_from_offset_with_all_params(self, client: HubSpot) -> None:
+ webhook = client.webhooks.get_local_journal_batch_from_offset(
count=1,
offset="offset",
install_portal_id=0,
@@ -1145,8 +1248,8 @@ def test_method_get_local_journal_batch_after_offset_with_all_params(self, clien
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_get_local_journal_batch_after_offset(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.get_local_journal_batch_after_offset(
+ def test_raw_response_get_local_journal_batch_from_offset(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.get_local_journal_batch_from_offset(
count=1,
offset="offset",
)
@@ -1158,8 +1261,8 @@ def test_raw_response_get_local_journal_batch_after_offset(self, client: HubSpot
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_get_local_journal_batch_after_offset(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.get_local_journal_batch_after_offset(
+ def test_streaming_response_get_local_journal_batch_from_offset(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.get_local_journal_batch_from_offset(
count=1,
offset="offset",
) as response:
@@ -1173,9 +1276,9 @@ def test_streaming_response_get_local_journal_batch_after_offset(self, client: H
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_path_params_get_local_journal_batch_after_offset(self, client: HubSpot) -> None:
+ def test_path_params_get_local_journal_batch_from_offset(self, client: HubSpot) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `offset` but received ''"):
- client.webhooks.with_raw_response.get_local_journal_batch_after_offset(
+ client.webhooks.with_raw_response.get_local_journal_batch_from_offset(
count=1,
offset="",
)
@@ -1224,11 +1327,11 @@ def test_path_params_get_local_journal_status(self, client: HubSpot) -> None:
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_method_get_next_journal_after_offset(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_method_get_next_journal_entries(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.get_next_journal_after_offset(
+ webhook = client.webhooks.get_next_journal_entries(
offset="offset",
)
assert webhook.is_closed
@@ -1238,13 +1341,11 @@ def test_method_get_next_journal_after_offset(self, client: HubSpot, respx_mock:
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_method_get_next_journal_after_offset_with_all_params(
- self, client: HubSpot, respx_mock: MockRouter
- ) -> None:
+ def test_method_get_next_journal_entries_with_all_params(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.get_next_journal_after_offset(
+ webhook = client.webhooks.get_next_journal_entries(
offset="offset",
install_portal_id=0,
)
@@ -1255,12 +1356,12 @@ def test_method_get_next_journal_after_offset_with_all_params(
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_raw_response_get_next_journal_after_offset(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_raw_response_get_next_journal_entries(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.with_raw_response.get_next_journal_after_offset(
+ webhook = client.webhooks.with_raw_response.get_next_journal_entries(
offset="offset",
)
@@ -1271,11 +1372,11 @@ def test_raw_response_get_next_journal_after_offset(self, client: HubSpot, respx
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_streaming_response_get_next_journal_after_offset(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_streaming_response_get_next_journal_entries(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- with client.webhooks.with_streaming_response.get_next_journal_after_offset(
+ with client.webhooks.with_streaming_response.get_next_journal_entries(
offset="offset",
) as webhook:
assert not webhook.is_closed
@@ -1289,19 +1390,19 @@ def test_streaming_response_get_next_journal_after_offset(self, client: HubSpot,
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_path_params_get_next_journal_after_offset(self, client: HubSpot) -> None:
+ def test_path_params_get_next_journal_entries(self, client: HubSpot) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `offset` but received ''"):
- client.webhooks.with_raw_response.get_next_journal_after_offset(
+ client.webhooks.with_raw_response.get_next_journal_entries(
offset="",
)
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_method_get_next_local_journal_after_offset(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_method_get_next_local_journal_entries(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.get_next_local_journal_after_offset(
+ webhook = client.webhooks.get_next_local_journal_entries(
offset="offset",
)
assert webhook.is_closed
@@ -1311,13 +1412,13 @@ def test_method_get_next_local_journal_after_offset(self, client: HubSpot, respx
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_method_get_next_local_journal_after_offset_with_all_params(
+ def test_method_get_next_local_journal_entries_with_all_params(
self, client: HubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.get_next_local_journal_after_offset(
+ webhook = client.webhooks.get_next_local_journal_entries(
offset="offset",
install_portal_id=0,
)
@@ -1328,12 +1429,12 @@ def test_method_get_next_local_journal_after_offset_with_all_params(
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_raw_response_get_next_local_journal_after_offset(self, client: HubSpot, respx_mock: MockRouter) -> None:
+ def test_raw_response_get_next_local_journal_entries(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = client.webhooks.with_raw_response.get_next_local_journal_after_offset(
+ webhook = client.webhooks.with_raw_response.get_next_local_journal_entries(
offset="offset",
)
@@ -1344,13 +1445,11 @@ def test_raw_response_get_next_local_journal_after_offset(self, client: HubSpot,
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_streaming_response_get_next_local_journal_after_offset(
- self, client: HubSpot, respx_mock: MockRouter
- ) -> None:
+ def test_streaming_response_get_next_local_journal_entries(self, client: HubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- with client.webhooks.with_streaming_response.get_next_local_journal_after_offset(
+ with client.webhooks.with_streaming_response.get_next_local_journal_entries(
offset="offset",
) as webhook:
assert not webhook.is_closed
@@ -1364,9 +1463,9 @@ def test_streaming_response_get_next_local_journal_after_offset(
@parametrize
@pytest.mark.respx(base_url=base_url)
- def test_path_params_get_next_local_journal_after_offset(self, client: HubSpot) -> None:
+ def test_path_params_get_next_local_journal_entries(self, client: HubSpot) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `offset` but received ''"):
- client.webhooks.with_raw_response.get_next_local_journal_after_offset(
+ client.webhooks.with_raw_response.get_next_local_journal_entries(
offset="",
)
@@ -1404,43 +1503,6 @@ def test_streaming_response_get_settings(self, client: HubSpot) -> None:
assert cast(Any, response.is_closed) is True
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- def test_method_get_subscription(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_subscription(
- subscription_id=0,
- app_id=0,
- )
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
-
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- def test_raw_response_get_subscription(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.get_subscription(
- subscription_id=0,
- app_id=0,
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- webhook = response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
-
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- def test_streaming_response_get_subscription(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.get_subscription(
- subscription_id=0,
- app_id=0,
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- webhook = response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
def test_method_get_subscription_filter(self, client: HubSpot) -> None:
@@ -1477,35 +1539,35 @@ def test_streaming_response_get_subscription_filter(self, client: HubSpot) -> No
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_get_subscription_filters(self, client: HubSpot) -> None:
- webhook = client.webhooks.get_subscription_filters(
+ def test_method_list_event_subscriptions(self, client: HubSpot) -> None:
+ webhook = client.webhooks.list_event_subscriptions(
0,
)
- assert_matches_type(WebhookGetSubscriptionFiltersResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_get_subscription_filters(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.get_subscription_filters(
+ def test_raw_response_list_event_subscriptions(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.list_event_subscriptions(
0,
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert_matches_type(WebhookGetSubscriptionFiltersResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_get_subscription_filters(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.get_subscription_filters(
+ def test_streaming_response_list_event_subscriptions(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.list_event_subscriptions(
0,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert_matches_type(WebhookGetSubscriptionFiltersResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -1539,35 +1601,82 @@ def test_streaming_response_list_journal_subscriptions(self, client: HubSpot) ->
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_list_subscriptions(self, client: HubSpot) -> None:
- webhook = client.webhooks.list_subscriptions(
+ def test_method_list_subscription_filters(self, client: HubSpot) -> None:
+ webhook = client.webhooks.list_subscription_filters(
0,
)
- assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
+ assert_matches_type(WebhookListSubscriptionFiltersResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_list_subscriptions(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.list_subscriptions(
+ def test_raw_response_list_subscription_filters(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.list_subscription_filters(
0,
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
+ assert_matches_type(WebhookListSubscriptionFiltersResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_list_subscriptions(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.list_subscriptions(
+ def test_streaming_response_list_subscription_filters(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.list_subscription_filters(
0,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = response.parse()
- assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
+ assert_matches_type(WebhookListSubscriptionFiltersResponse, webhook, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_method_update_event_subscription(self, client: HubSpot) -> None:
+ webhook = client.webhooks.update_event_subscription(
+ subscription_id=0,
+ app_id=0,
+ )
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_method_update_event_subscription_with_all_params(self, client: HubSpot) -> None:
+ webhook = client.webhooks.update_event_subscription(
+ subscription_id=0,
+ app_id=0,
+ active=True,
+ )
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_raw_response_update_event_subscription(self, client: HubSpot) -> None:
+ response = client.webhooks.with_raw_response.update_event_subscription(
+ subscription_id=0,
+ app_id=0,
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ webhook = response.parse()
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ def test_streaming_response_update_event_subscription(self, client: HubSpot) -> None:
+ with client.webhooks.with_streaming_response.update_event_subscription(
+ subscription_id=0,
+ app_id=0,
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ webhook = response.parse()
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -1611,63 +1720,68 @@ def test_streaming_response_update_settings(self, client: HubSpot) -> None:
assert cast(Any, response.is_closed) is True
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- def test_method_update_subscription(self, client: HubSpot) -> None:
- webhook = client.webhooks.update_subscription(
- subscription_id=0,
- app_id=0,
- )
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+class TestAsyncWebhooks:
+ parametrize = pytest.mark.parametrize(
+ "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"]
+ )
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_method_update_subscription_with_all_params(self, client: HubSpot) -> None:
- webhook = client.webhooks.update_subscription(
- subscription_id=0,
+ async def test_method_create_batch_event_subscriptions(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.create_batch_event_subscriptions(
app_id=0,
- active=True,
+ inputs=[
+ {
+ "id": 0,
+ "active": True,
+ }
+ ],
)
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_raw_response_update_subscription(self, client: HubSpot) -> None:
- response = client.webhooks.with_raw_response.update_subscription(
- subscription_id=0,
+ async def test_raw_response_create_batch_event_subscriptions(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.create_batch_event_subscriptions(
app_id=0,
+ inputs=[
+ {
+ "id": 0,
+ "active": True,
+ }
+ ],
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- webhook = response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ webhook = await response.parse()
+ assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- def test_streaming_response_update_subscription(self, client: HubSpot) -> None:
- with client.webhooks.with_streaming_response.update_subscription(
- subscription_id=0,
+ async def test_streaming_response_create_batch_event_subscriptions(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.create_batch_event_subscriptions(
app_id=0,
+ inputs=[
+ {
+ "id": 0,
+ "active": True,
+ }
+ ],
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- webhook = response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ webhook = await response.parse()
+ assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
-
-class TestAsyncWebhooks:
- parametrize = pytest.mark.parametrize(
- "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"]
- )
-
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_create_crm_snapshot(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.create_crm_snapshot(
+ async def test_method_create_crm_snapshots(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.create_crm_snapshots(
snapshot_requests=[
{
"object_id": 0,
@@ -1681,8 +1795,8 @@ async def test_method_create_crm_snapshot(self, async_client: AsyncHubSpot) -> N
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_create_crm_snapshot(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.create_crm_snapshot(
+ async def test_raw_response_create_crm_snapshots(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.create_crm_snapshots(
snapshot_requests=[
{
"object_id": 0,
@@ -1700,8 +1814,8 @@ async def test_raw_response_create_crm_snapshot(self, async_client: AsyncHubSpot
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_create_crm_snapshot(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.create_crm_snapshot(
+ async def test_streaming_response_create_crm_snapshots(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.create_crm_snapshots(
snapshot_requests=[
{
"object_id": 0,
@@ -1719,6 +1833,59 @@ async def test_streaming_response_create_crm_snapshot(self, async_client: AsyncH
assert cast(Any, response.is_closed) is True
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ async def test_method_create_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.create_event_subscription(
+ app_id=0,
+ active=True,
+ event_type="company.associationChange",
+ )
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ async def test_method_create_event_subscription_with_all_params(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.create_event_subscription(
+ app_id=0,
+ active=True,
+ event_type="company.associationChange",
+ event_type_name="eventTypeName",
+ object_type_id="objectTypeId",
+ property_name="propertyName",
+ )
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ async def test_raw_response_create_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.create_event_subscription(
+ app_id=0,
+ active=True,
+ event_type="company.associationChange",
+ )
+
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ webhook = await response.parse()
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ async def test_streaming_response_create_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.create_event_subscription(
+ app_id=0,
+ active=True,
+ event_type="company.associationChange",
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ webhook = await response.parse()
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ assert cast(Any, response.is_closed) is True
+
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
async def test_method_create_journal_subscription_overload_1(self, async_client: AsyncHubSpot) -> None:
@@ -1833,54 +2000,29 @@ async def test_streaming_response_create_journal_subscription_overload_4(self, a
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_create_subscription(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.create_subscription(
- app_id=0,
- active=True,
- event_type="company.associationChange",
- )
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
-
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- async def test_method_create_subscription_with_all_params(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.create_subscription(
- app_id=0,
- active=True,
- event_type="company.associationChange",
- event_type_name="eventTypeName",
- object_type_id="objectTypeId",
- property_name="propertyName",
- )
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ async def test_method_create_journal_subscription_overload_5(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.create_journal_subscription()
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_create_subscription(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.create_subscription(
- app_id=0,
- active=True,
- event_type="company.associationChange",
- )
+ async def test_raw_response_create_journal_subscription_overload_5(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.create_journal_subscription()
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_create_subscription(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.create_subscription(
- app_id=0,
- active=True,
- event_type="company.associationChange",
- ) as response:
+ async def test_streaming_response_create_journal_subscription_overload_5(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.create_journal_subscription() as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -1947,53 +2089,38 @@ async def test_streaming_response_create_subscription_filter(self, async_client:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_create_subscriptions_batch(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.create_subscriptions_batch(
+ async def test_method_delete_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.delete_event_subscription(
+ subscription_id=0,
app_id=0,
- inputs=[
- {
- "id": 0,
- "active": True,
- }
- ],
)
- assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
+ assert webhook is None
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_create_subscriptions_batch(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.create_subscriptions_batch(
+ async def test_raw_response_delete_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.delete_event_subscription(
+ subscription_id=0,
app_id=0,
- inputs=[
- {
- "id": 0,
- "active": True,
- }
- ],
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
+ assert webhook is None
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_create_subscriptions_batch(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.create_subscriptions_batch(
+ async def test_streaming_response_delete_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.delete_event_subscription(
+ subscription_id=0,
app_id=0,
- inputs=[
- {
- "id": 0,
- "active": True,
- }
- ],
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(BatchResponseSubscriptionResponse, webhook, path=["response"])
+ assert webhook is None
assert cast(Any, response.is_closed) is True
@@ -2033,16 +2160,16 @@ async def test_streaming_response_delete_journal_subscription(self, async_client
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_delete_portal_subscriptions(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.delete_portal_subscriptions(
+ async def test_method_delete_journal_subscription_for_portal(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.delete_journal_subscription_for_portal(
0,
)
assert webhook is None
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_delete_portal_subscriptions(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.delete_portal_subscriptions(
+ async def test_raw_response_delete_journal_subscription_for_portal(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.delete_journal_subscription_for_portal(
0,
)
@@ -2053,8 +2180,8 @@ async def test_raw_response_delete_portal_subscriptions(self, async_client: Asyn
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_delete_portal_subscriptions(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.delete_portal_subscriptions(
+ async def test_streaming_response_delete_journal_subscription_for_portal(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.delete_journal_subscription_for_portal(
0,
) as response:
assert not response.is_closed
@@ -2101,19 +2228,17 @@ async def test_streaming_response_delete_settings(self, async_client: AsyncHubSp
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_delete_subscription(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.delete_subscription(
- subscription_id=0,
- app_id=0,
+ async def test_method_delete_subscription_filter(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.delete_subscription_filter(
+ 0,
)
assert webhook is None
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_delete_subscription(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.delete_subscription(
- subscription_id=0,
- app_id=0,
+ async def test_raw_response_delete_subscription_filter(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.delete_subscription_filter(
+ 0,
)
assert response.is_closed is True
@@ -2123,10 +2248,9 @@ async def test_raw_response_delete_subscription(self, async_client: AsyncHubSpot
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_delete_subscription(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.delete_subscription(
- subscription_id=0,
- app_id=0,
+ async def test_streaming_response_delete_subscription_filter(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.delete_subscription_filter(
+ 0,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -2138,45 +2262,54 @@ async def test_streaming_response_delete_subscription(self, async_client: AsyncH
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_delete_subscription_filter(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.delete_subscription_filter(
- 0,
+ async def test_method_get_earliest_journal_batch(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_earliest_journal_batch(
+ count=1,
)
- assert webhook is None
+ assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_delete_subscription_filter(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.delete_subscription_filter(
- 0,
+ async def test_method_get_earliest_journal_batch_with_all_params(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_earliest_journal_batch(
+ count=1,
+ install_portal_id=0,
+ )
+ assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ async def test_raw_response_get_earliest_journal_batch(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.get_earliest_journal_batch(
+ count=1,
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert webhook is None
+ assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_delete_subscription_filter(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.delete_subscription_filter(
- 0,
+ async def test_streaming_response_get_earliest_journal_batch(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.get_earliest_journal_batch(
+ count=1,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert webhook is None
+ assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_method_get_earliest_journal(self, async_client: AsyncHubSpot, respx_mock: MockRouter) -> None:
+ async def test_method_get_earliest_journal_entry(self, async_client: AsyncHubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.get_earliest_journal()
+ webhook = await async_client.webhooks.get_earliest_journal_entry()
assert webhook.is_closed
assert await webhook.json() == {"foo": "bar"}
assert cast(Any, webhook.is_closed) is True
@@ -2184,13 +2317,13 @@ async def test_method_get_earliest_journal(self, async_client: AsyncHubSpot, res
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_method_get_earliest_journal_with_all_params(
+ async def test_method_get_earliest_journal_entry_with_all_params(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.get_earliest_journal(
+ webhook = await async_client.webhooks.get_earliest_journal_entry(
install_portal_id=0,
)
assert webhook.is_closed
@@ -2200,12 +2333,14 @@ async def test_method_get_earliest_journal_with_all_params(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_raw_response_get_earliest_journal(self, async_client: AsyncHubSpot, respx_mock: MockRouter) -> None:
+ async def test_raw_response_get_earliest_journal_entry(
+ self, async_client: AsyncHubSpot, respx_mock: MockRouter
+ ) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.with_raw_response.get_earliest_journal()
+ webhook = await async_client.webhooks.with_raw_response.get_earliest_journal_entry()
assert webhook.is_closed is True
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -2214,13 +2349,13 @@ async def test_raw_response_get_earliest_journal(self, async_client: AsyncHubSpo
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_streaming_response_get_earliest_journal(
+ async def test_streaming_response_get_earliest_journal_entry(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- async with async_client.webhooks.with_streaming_response.get_earliest_journal() as webhook:
+ async with async_client.webhooks.with_streaming_response.get_earliest_journal_entry() as webhook:
assert not webhook.is_closed
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -2232,16 +2367,16 @@ async def test_streaming_response_get_earliest_journal(
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_earliest_journal_batch(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_earliest_journal_batch(
+ async def test_method_get_earliest_local_journal_batch(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_earliest_local_journal_batch(
count=1,
)
assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_earliest_journal_batch_with_all_params(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_earliest_journal_batch(
+ async def test_method_get_earliest_local_journal_batch_with_all_params(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_earliest_local_journal_batch(
count=1,
install_portal_id=0,
)
@@ -2249,8 +2384,8 @@ async def test_method_get_earliest_journal_batch_with_all_params(self, async_cli
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_get_earliest_journal_batch(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.get_earliest_journal_batch(
+ async def test_raw_response_get_earliest_local_journal_batch(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.get_earliest_local_journal_batch(
count=1,
)
@@ -2261,8 +2396,8 @@ async def test_raw_response_get_earliest_journal_batch(self, async_client: Async
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_get_earliest_journal_batch(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.get_earliest_journal_batch(
+ async def test_streaming_response_get_earliest_local_journal_batch(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.get_earliest_local_journal_batch(
count=1,
) as response:
assert not response.is_closed
@@ -2275,11 +2410,13 @@ async def test_streaming_response_get_earliest_journal_batch(self, async_client:
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_method_get_earliest_local_journal(self, async_client: AsyncHubSpot, respx_mock: MockRouter) -> None:
+ async def test_method_get_earliest_local_journal_entry(
+ self, async_client: AsyncHubSpot, respx_mock: MockRouter
+ ) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.get_earliest_local_journal()
+ webhook = await async_client.webhooks.get_earliest_local_journal_entry()
assert webhook.is_closed
assert await webhook.json() == {"foo": "bar"}
assert cast(Any, webhook.is_closed) is True
@@ -2287,13 +2424,13 @@ async def test_method_get_earliest_local_journal(self, async_client: AsyncHubSpo
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_method_get_earliest_local_journal_with_all_params(
+ async def test_method_get_earliest_local_journal_entry_with_all_params(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.get_earliest_local_journal(
+ webhook = await async_client.webhooks.get_earliest_local_journal_entry(
install_portal_id=0,
)
assert webhook.is_closed
@@ -2303,14 +2440,14 @@ async def test_method_get_earliest_local_journal_with_all_params(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_raw_response_get_earliest_local_journal(
+ async def test_raw_response_get_earliest_local_journal_entry(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.with_raw_response.get_earliest_local_journal()
+ webhook = await async_client.webhooks.with_raw_response.get_earliest_local_journal_entry()
assert webhook.is_closed is True
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -2319,13 +2456,13 @@ async def test_raw_response_get_earliest_local_journal(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_streaming_response_get_earliest_local_journal(
+ async def test_streaming_response_get_earliest_local_journal_entry(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/earliest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- async with async_client.webhooks.with_streaming_response.get_earliest_local_journal() as webhook:
+ async with async_client.webhooks.with_streaming_response.get_earliest_local_journal_entry() as webhook:
assert not webhook.is_closed
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -2337,59 +2474,53 @@ async def test_streaming_response_get_earliest_local_journal(
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_earliest_local_journal_batch(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_earliest_local_journal_batch(
- count=1,
- )
- assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
-
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- async def test_method_get_earliest_local_journal_batch_with_all_params(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_earliest_local_journal_batch(
- count=1,
- install_portal_id=0,
+ async def test_method_get_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_event_subscription(
+ subscription_id=0,
+ app_id=0,
)
- assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_get_earliest_local_journal_batch(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.get_earliest_local_journal_batch(
- count=1,
+ async def test_raw_response_get_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.get_event_subscription(
+ subscription_id=0,
+ app_id=0,
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_get_earliest_local_journal_batch(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.get_earliest_local_journal_batch(
- count=1,
+ async def test_streaming_response_get_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.get_event_subscription(
+ subscription_id=0,
+ app_id=0,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_journal_batch(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_journal_batch(
+ async def test_method_get_journal_batch_by_request(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_journal_batch_by_request(
inputs=["string"],
)
assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_journal_batch_with_all_params(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_journal_batch(
+ async def test_method_get_journal_batch_by_request_with_all_params(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_journal_batch_by_request(
inputs=["string"],
install_portal_id=0,
)
@@ -2397,8 +2528,8 @@ async def test_method_get_journal_batch_with_all_params(self, async_client: Asyn
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_get_journal_batch(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.get_journal_batch(
+ async def test_raw_response_get_journal_batch_by_request(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.get_journal_batch_by_request(
inputs=["string"],
)
@@ -2409,8 +2540,8 @@ async def test_raw_response_get_journal_batch(self, async_client: AsyncHubSpot)
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_get_journal_batch(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.get_journal_batch(
+ async def test_streaming_response_get_journal_batch_by_request(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.get_journal_batch_by_request(
inputs=["string"],
) as response:
assert not response.is_closed
@@ -2423,8 +2554,8 @@ async def test_streaming_response_get_journal_batch(self, async_client: AsyncHub
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_journal_batch_after_offset(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_journal_batch_after_offset(
+ async def test_method_get_journal_batch_from_offset(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_journal_batch_from_offset(
count=1,
offset="offset",
)
@@ -2432,8 +2563,8 @@ async def test_method_get_journal_batch_after_offset(self, async_client: AsyncHu
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_journal_batch_after_offset_with_all_params(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_journal_batch_after_offset(
+ async def test_method_get_journal_batch_from_offset_with_all_params(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_journal_batch_from_offset(
count=1,
offset="offset",
install_portal_id=0,
@@ -2442,8 +2573,8 @@ async def test_method_get_journal_batch_after_offset_with_all_params(self, async
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_get_journal_batch_after_offset(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.get_journal_batch_after_offset(
+ async def test_raw_response_get_journal_batch_from_offset(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.get_journal_batch_from_offset(
count=1,
offset="offset",
)
@@ -2455,8 +2586,8 @@ async def test_raw_response_get_journal_batch_after_offset(self, async_client: A
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_get_journal_batch_after_offset(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.get_journal_batch_after_offset(
+ async def test_streaming_response_get_journal_batch_from_offset(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.get_journal_batch_from_offset(
count=1,
offset="offset",
) as response:
@@ -2470,9 +2601,9 @@ async def test_streaming_response_get_journal_batch_after_offset(self, async_cli
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_path_params_get_journal_batch_after_offset(self, async_client: AsyncHubSpot) -> None:
+ async def test_path_params_get_journal_batch_from_offset(self, async_client: AsyncHubSpot) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `offset` but received ''"):
- await async_client.webhooks.with_raw_response.get_journal_batch_after_offset(
+ await async_client.webhooks.with_raw_response.get_journal_batch_from_offset(
count=1,
offset="",
)
@@ -2519,65 +2650,39 @@ async def test_path_params_get_journal_status(self, async_client: AsyncHubSpot)
"",
)
+ @pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- @pytest.mark.respx(base_url=base_url)
- async def test_method_get_latest_journal(self, async_client: AsyncHubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
- return_value=httpx.Response(200, json={"foo": "bar"})
- )
- webhook = await async_client.webhooks.get_latest_journal()
- assert webhook.is_closed
- assert await webhook.json() == {"foo": "bar"}
- assert cast(Any, webhook.is_closed) is True
- assert isinstance(webhook, AsyncBinaryAPIResponse)
-
- @parametrize
- @pytest.mark.respx(base_url=base_url)
- async def test_method_get_latest_journal_with_all_params(
- self, async_client: AsyncHubSpot, respx_mock: MockRouter
- ) -> None:
- respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
- return_value=httpx.Response(200, json={"foo": "bar"})
- )
- webhook = await async_client.webhooks.get_latest_journal(
- install_portal_id=0,
+ async def test_method_get_journal_subscription(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_journal_subscription(
+ 0,
)
- assert webhook.is_closed
- assert await webhook.json() == {"foo": "bar"}
- assert cast(Any, webhook.is_closed) is True
- assert isinstance(webhook, AsyncBinaryAPIResponse)
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
+ @pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- @pytest.mark.respx(base_url=base_url)
- async def test_raw_response_get_latest_journal(self, async_client: AsyncHubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
- return_value=httpx.Response(200, json={"foo": "bar"})
+ async def test_raw_response_get_journal_subscription(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.get_journal_subscription(
+ 0,
)
- webhook = await async_client.webhooks.with_raw_response.get_latest_journal()
-
- assert webhook.is_closed is True
- assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
- assert await webhook.json() == {"foo": "bar"}
- assert isinstance(webhook, AsyncBinaryAPIResponse)
+ assert response.is_closed is True
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
+ webhook = await response.parse()
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
+ @pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- @pytest.mark.respx(base_url=base_url)
- async def test_streaming_response_get_latest_journal(
- self, async_client: AsyncHubSpot, respx_mock: MockRouter
- ) -> None:
- respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
- return_value=httpx.Response(200, json={"foo": "bar"})
- )
- async with async_client.webhooks.with_streaming_response.get_latest_journal() as webhook:
- assert not webhook.is_closed
- assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
+ async def test_streaming_response_get_journal_subscription(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.get_journal_subscription(
+ 0,
+ ) as response:
+ assert not response.is_closed
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- assert await webhook.json() == {"foo": "bar"}
- assert cast(Any, webhook.is_closed) is True
- assert isinstance(webhook, AsyncStreamedBinaryAPIResponse)
+ webhook = await response.parse()
+ assert_matches_type(SubscriptionResponse1, webhook, path=["response"])
- assert cast(Any, webhook.is_closed) is True
+ assert cast(Any, response.is_closed) is True
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
@@ -2624,11 +2729,11 @@ async def test_streaming_response_get_latest_journal_batch(self, async_client: A
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_method_get_latest_local_journal(self, async_client: AsyncHubSpot, respx_mock: MockRouter) -> None:
- respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ async def test_method_get_latest_journal_entry(self, async_client: AsyncHubSpot, respx_mock: MockRouter) -> None:
+ respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.get_latest_local_journal()
+ webhook = await async_client.webhooks.get_latest_journal_entry()
assert webhook.is_closed
assert await webhook.json() == {"foo": "bar"}
assert cast(Any, webhook.is_closed) is True
@@ -2636,13 +2741,13 @@ async def test_method_get_latest_local_journal(self, async_client: AsyncHubSpot,
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_method_get_latest_local_journal_with_all_params(
+ async def test_method_get_latest_journal_entry_with_all_params(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
- respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.get_latest_local_journal(
+ webhook = await async_client.webhooks.get_latest_journal_entry(
install_portal_id=0,
)
assert webhook.is_closed
@@ -2652,14 +2757,14 @@ async def test_method_get_latest_local_journal_with_all_params(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_raw_response_get_latest_local_journal(
+ async def test_raw_response_get_latest_journal_entry(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
- respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.with_raw_response.get_latest_local_journal()
+ webhook = await async_client.webhooks.with_raw_response.get_latest_journal_entry()
assert webhook.is_closed is True
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -2668,13 +2773,13 @@ async def test_raw_response_get_latest_local_journal(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_streaming_response_get_latest_local_journal(
+ async def test_streaming_response_get_latest_journal_entry(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
- respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ respx_mock.get("/webhooks-journal/journal/2026-03/latest").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- async with async_client.webhooks.with_streaming_response.get_latest_local_journal() as webhook:
+ async with async_client.webhooks.with_streaming_response.get_latest_journal_entry() as webhook:
assert not webhook.is_closed
assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -2727,18 +2832,82 @@ async def test_streaming_response_get_latest_local_journal_batch(self, async_cli
assert cast(Any, response.is_closed) is True
+ @parametrize
+ @pytest.mark.respx(base_url=base_url)
+ async def test_method_get_latest_local_journal_entry(
+ self, async_client: AsyncHubSpot, respx_mock: MockRouter
+ ) -> None:
+ respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ return_value=httpx.Response(200, json={"foo": "bar"})
+ )
+ webhook = await async_client.webhooks.get_latest_local_journal_entry()
+ assert webhook.is_closed
+ assert await webhook.json() == {"foo": "bar"}
+ assert cast(Any, webhook.is_closed) is True
+ assert isinstance(webhook, AsyncBinaryAPIResponse)
+
+ @parametrize
+ @pytest.mark.respx(base_url=base_url)
+ async def test_method_get_latest_local_journal_entry_with_all_params(
+ self, async_client: AsyncHubSpot, respx_mock: MockRouter
+ ) -> None:
+ respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ return_value=httpx.Response(200, json={"foo": "bar"})
+ )
+ webhook = await async_client.webhooks.get_latest_local_journal_entry(
+ install_portal_id=0,
+ )
+ assert webhook.is_closed
+ assert await webhook.json() == {"foo": "bar"}
+ assert cast(Any, webhook.is_closed) is True
+ assert isinstance(webhook, AsyncBinaryAPIResponse)
+
+ @parametrize
+ @pytest.mark.respx(base_url=base_url)
+ async def test_raw_response_get_latest_local_journal_entry(
+ self, async_client: AsyncHubSpot, respx_mock: MockRouter
+ ) -> None:
+ respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ return_value=httpx.Response(200, json={"foo": "bar"})
+ )
+
+ webhook = await async_client.webhooks.with_raw_response.get_latest_local_journal_entry()
+
+ assert webhook.is_closed is True
+ assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
+ assert await webhook.json() == {"foo": "bar"}
+ assert isinstance(webhook, AsyncBinaryAPIResponse)
+
+ @parametrize
+ @pytest.mark.respx(base_url=base_url)
+ async def test_streaming_response_get_latest_local_journal_entry(
+ self, async_client: AsyncHubSpot, respx_mock: MockRouter
+ ) -> None:
+ respx_mock.get("/webhooks-journal/journal-local/2026-03/latest").mock(
+ return_value=httpx.Response(200, json={"foo": "bar"})
+ )
+ async with async_client.webhooks.with_streaming_response.get_latest_local_journal_entry() as webhook:
+ assert not webhook.is_closed
+ assert webhook.http_request.headers.get("X-Stainless-Lang") == "python"
+
+ assert await webhook.json() == {"foo": "bar"}
+ assert cast(Any, webhook.is_closed) is True
+ assert isinstance(webhook, AsyncStreamedBinaryAPIResponse)
+
+ assert cast(Any, webhook.is_closed) is True
+
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_local_journal_batch(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_local_journal_batch(
+ async def test_method_get_local_journal_batch_by_request(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_local_journal_batch_by_request(
inputs=["string"],
)
assert_matches_type(BatchResponseJournalFetchResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_local_journal_batch_with_all_params(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_local_journal_batch(
+ async def test_method_get_local_journal_batch_by_request_with_all_params(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_local_journal_batch_by_request(
inputs=["string"],
install_portal_id=0,
)
@@ -2746,8 +2915,8 @@ async def test_method_get_local_journal_batch_with_all_params(self, async_client
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_get_local_journal_batch(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.get_local_journal_batch(
+ async def test_raw_response_get_local_journal_batch_by_request(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.get_local_journal_batch_by_request(
inputs=["string"],
)
@@ -2758,8 +2927,8 @@ async def test_raw_response_get_local_journal_batch(self, async_client: AsyncHub
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_get_local_journal_batch(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.get_local_journal_batch(
+ async def test_streaming_response_get_local_journal_batch_by_request(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.get_local_journal_batch_by_request(
inputs=["string"],
) as response:
assert not response.is_closed
@@ -2772,8 +2941,8 @@ async def test_streaming_response_get_local_journal_batch(self, async_client: As
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_local_journal_batch_after_offset(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_local_journal_batch_after_offset(
+ async def test_method_get_local_journal_batch_from_offset(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_local_journal_batch_from_offset(
count=1,
offset="offset",
)
@@ -2781,10 +2950,8 @@ async def test_method_get_local_journal_batch_after_offset(self, async_client: A
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_local_journal_batch_after_offset_with_all_params(
- self, async_client: AsyncHubSpot
- ) -> None:
- webhook = await async_client.webhooks.get_local_journal_batch_after_offset(
+ async def test_method_get_local_journal_batch_from_offset_with_all_params(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.get_local_journal_batch_from_offset(
count=1,
offset="offset",
install_portal_id=0,
@@ -2793,8 +2960,8 @@ async def test_method_get_local_journal_batch_after_offset_with_all_params(
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_get_local_journal_batch_after_offset(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.get_local_journal_batch_after_offset(
+ async def test_raw_response_get_local_journal_batch_from_offset(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.get_local_journal_batch_from_offset(
count=1,
offset="offset",
)
@@ -2806,8 +2973,8 @@ async def test_raw_response_get_local_journal_batch_after_offset(self, async_cli
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_get_local_journal_batch_after_offset(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.get_local_journal_batch_after_offset(
+ async def test_streaming_response_get_local_journal_batch_from_offset(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.get_local_journal_batch_from_offset(
count=1,
offset="offset",
) as response:
@@ -2821,9 +2988,9 @@ async def test_streaming_response_get_local_journal_batch_after_offset(self, asy
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_path_params_get_local_journal_batch_after_offset(self, async_client: AsyncHubSpot) -> None:
+ async def test_path_params_get_local_journal_batch_from_offset(self, async_client: AsyncHubSpot) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `offset` but received ''"):
- await async_client.webhooks.with_raw_response.get_local_journal_batch_after_offset(
+ await async_client.webhooks.with_raw_response.get_local_journal_batch_from_offset(
count=1,
offset="",
)
@@ -2872,13 +3039,11 @@ async def test_path_params_get_local_journal_status(self, async_client: AsyncHub
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_method_get_next_journal_after_offset(
- self, async_client: AsyncHubSpot, respx_mock: MockRouter
- ) -> None:
+ async def test_method_get_next_journal_entries(self, async_client: AsyncHubSpot, respx_mock: MockRouter) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.get_next_journal_after_offset(
+ webhook = await async_client.webhooks.get_next_journal_entries(
offset="offset",
)
assert webhook.is_closed
@@ -2888,13 +3053,13 @@ async def test_method_get_next_journal_after_offset(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_method_get_next_journal_after_offset_with_all_params(
+ async def test_method_get_next_journal_entries_with_all_params(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.get_next_journal_after_offset(
+ webhook = await async_client.webhooks.get_next_journal_entries(
offset="offset",
install_portal_id=0,
)
@@ -2905,14 +3070,14 @@ async def test_method_get_next_journal_after_offset_with_all_params(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_raw_response_get_next_journal_after_offset(
+ async def test_raw_response_get_next_journal_entries(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.with_raw_response.get_next_journal_after_offset(
+ webhook = await async_client.webhooks.with_raw_response.get_next_journal_entries(
offset="offset",
)
@@ -2923,13 +3088,13 @@ async def test_raw_response_get_next_journal_after_offset(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_streaming_response_get_next_journal_after_offset(
+ async def test_streaming_response_get_next_journal_entries(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- async with async_client.webhooks.with_streaming_response.get_next_journal_after_offset(
+ async with async_client.webhooks.with_streaming_response.get_next_journal_entries(
offset="offset",
) as webhook:
assert not webhook.is_closed
@@ -2943,21 +3108,21 @@ async def test_streaming_response_get_next_journal_after_offset(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_path_params_get_next_journal_after_offset(self, async_client: AsyncHubSpot) -> None:
+ async def test_path_params_get_next_journal_entries(self, async_client: AsyncHubSpot) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `offset` but received ''"):
- await async_client.webhooks.with_raw_response.get_next_journal_after_offset(
+ await async_client.webhooks.with_raw_response.get_next_journal_entries(
offset="",
)
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_method_get_next_local_journal_after_offset(
+ async def test_method_get_next_local_journal_entries(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.get_next_local_journal_after_offset(
+ webhook = await async_client.webhooks.get_next_local_journal_entries(
offset="offset",
)
assert webhook.is_closed
@@ -2967,13 +3132,13 @@ async def test_method_get_next_local_journal_after_offset(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_method_get_next_local_journal_after_offset_with_all_params(
+ async def test_method_get_next_local_journal_entries_with_all_params(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.get_next_local_journal_after_offset(
+ webhook = await async_client.webhooks.get_next_local_journal_entries(
offset="offset",
install_portal_id=0,
)
@@ -2984,14 +3149,14 @@ async def test_method_get_next_local_journal_after_offset_with_all_params(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_raw_response_get_next_local_journal_after_offset(
+ async def test_raw_response_get_next_local_journal_entries(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- webhook = await async_client.webhooks.with_raw_response.get_next_local_journal_after_offset(
+ webhook = await async_client.webhooks.with_raw_response.get_next_local_journal_entries(
offset="offset",
)
@@ -3002,13 +3167,13 @@ async def test_raw_response_get_next_local_journal_after_offset(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_streaming_response_get_next_local_journal_after_offset(
+ async def test_streaming_response_get_next_local_journal_entries(
self, async_client: AsyncHubSpot, respx_mock: MockRouter
) -> None:
respx_mock.get("/webhooks-journal/journal-local/2026-03/offset/offset/next").mock(
return_value=httpx.Response(200, json={"foo": "bar"})
)
- async with async_client.webhooks.with_streaming_response.get_next_local_journal_after_offset(
+ async with async_client.webhooks.with_streaming_response.get_next_local_journal_entries(
offset="offset",
) as webhook:
assert not webhook.is_closed
@@ -3022,9 +3187,9 @@ async def test_streaming_response_get_next_local_journal_after_offset(
@parametrize
@pytest.mark.respx(base_url=base_url)
- async def test_path_params_get_next_local_journal_after_offset(self, async_client: AsyncHubSpot) -> None:
+ async def test_path_params_get_next_local_journal_entries(self, async_client: AsyncHubSpot) -> None:
with pytest.raises(ValueError, match=r"Expected a non-empty value for `offset` but received ''"):
- await async_client.webhooks.with_raw_response.get_next_local_journal_after_offset(
+ await async_client.webhooks.with_raw_response.get_next_local_journal_entries(
offset="",
)
@@ -3062,43 +3227,6 @@ async def test_streaming_response_get_settings(self, async_client: AsyncHubSpot)
assert cast(Any, response.is_closed) is True
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- async def test_method_get_subscription(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_subscription(
- subscription_id=0,
- app_id=0,
- )
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
-
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- async def test_raw_response_get_subscription(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.get_subscription(
- subscription_id=0,
- app_id=0,
- )
-
- assert response.is_closed is True
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
- webhook = await response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
-
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- async def test_streaming_response_get_subscription(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.get_subscription(
- subscription_id=0,
- app_id=0,
- ) as response:
- assert not response.is_closed
- assert response.http_request.headers.get("X-Stainless-Lang") == "python"
-
- webhook = await response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
-
- assert cast(Any, response.is_closed) is True
-
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
async def test_method_get_subscription_filter(self, async_client: AsyncHubSpot) -> None:
@@ -3135,35 +3263,35 @@ async def test_streaming_response_get_subscription_filter(self, async_client: As
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_get_subscription_filters(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.get_subscription_filters(
+ async def test_method_list_event_subscriptions(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.list_event_subscriptions(
0,
)
- assert_matches_type(WebhookGetSubscriptionFiltersResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_get_subscription_filters(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.get_subscription_filters(
+ async def test_raw_response_list_event_subscriptions(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.list_event_subscriptions(
0,
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(WebhookGetSubscriptionFiltersResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_get_subscription_filters(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.get_subscription_filters(
+ async def test_streaming_response_list_event_subscriptions(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.list_event_subscriptions(
0,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(WebhookGetSubscriptionFiltersResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -3197,121 +3325,121 @@ async def test_streaming_response_list_journal_subscriptions(self, async_client:
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_list_subscriptions(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.list_subscriptions(
+ async def test_method_list_subscription_filters(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.list_subscription_filters(
0,
)
- assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
+ assert_matches_type(WebhookListSubscriptionFiltersResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_list_subscriptions(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.list_subscriptions(
+ async def test_raw_response_list_subscription_filters(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.list_subscription_filters(
0,
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
+ assert_matches_type(WebhookListSubscriptionFiltersResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_list_subscriptions(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.list_subscriptions(
+ async def test_streaming_response_list_subscription_filters(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.list_subscription_filters(
0,
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(SubscriptionListResponse, webhook, path=["response"])
+ assert_matches_type(WebhookListSubscriptionFiltersResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_update_settings(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.update_settings(
+ async def test_method_update_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.update_event_subscription(
+ subscription_id=0,
app_id=0,
- target_url="targetUrl",
- throttling={"max_concurrent_requests": 0},
)
- assert_matches_type(SettingsResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_update_settings(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.update_settings(
+ async def test_method_update_event_subscription_with_all_params(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.update_event_subscription(
+ subscription_id=0,
+ app_id=0,
+ active=True,
+ )
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+
+ @pytest.mark.skip(reason="Mock server tests are disabled")
+ @parametrize
+ async def test_raw_response_update_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.update_event_subscription(
+ subscription_id=0,
app_id=0,
- target_url="targetUrl",
- throttling={"max_concurrent_requests": 0},
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(SettingsResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_update_settings(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.update_settings(
+ async def test_streaming_response_update_event_subscription(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.update_event_subscription(
+ subscription_id=0,
app_id=0,
- target_url="targetUrl",
- throttling={"max_concurrent_requests": 0},
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(SettingsResponse, webhook, path=["response"])
+ assert_matches_type(SubscriptionResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_method_update_subscription(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.update_subscription(
- subscription_id=0,
- app_id=0,
- )
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
-
- @pytest.mark.skip(reason="Mock server tests are disabled")
- @parametrize
- async def test_method_update_subscription_with_all_params(self, async_client: AsyncHubSpot) -> None:
- webhook = await async_client.webhooks.update_subscription(
- subscription_id=0,
+ async def test_method_update_settings(self, async_client: AsyncHubSpot) -> None:
+ webhook = await async_client.webhooks.update_settings(
app_id=0,
- active=True,
+ target_url="targetUrl",
+ throttling={"max_concurrent_requests": 0},
)
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ assert_matches_type(SettingsResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_raw_response_update_subscription(self, async_client: AsyncHubSpot) -> None:
- response = await async_client.webhooks.with_raw_response.update_subscription(
- subscription_id=0,
+ async def test_raw_response_update_settings(self, async_client: AsyncHubSpot) -> None:
+ response = await async_client.webhooks.with_raw_response.update_settings(
app_id=0,
+ target_url="targetUrl",
+ throttling={"max_concurrent_requests": 0},
)
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ assert_matches_type(SettingsResponse, webhook, path=["response"])
@pytest.mark.skip(reason="Mock server tests are disabled")
@parametrize
- async def test_streaming_response_update_subscription(self, async_client: AsyncHubSpot) -> None:
- async with async_client.webhooks.with_streaming_response.update_subscription(
- subscription_id=0,
+ async def test_streaming_response_update_settings(self, async_client: AsyncHubSpot) -> None:
+ async with async_client.webhooks.with_streaming_response.update_settings(
app_id=0,
+ target_url="targetUrl",
+ throttling={"max_concurrent_requests": 0},
) as response:
assert not response.is_closed
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
webhook = await response.parse()
- assert_matches_type(SubscriptionResponse, webhook, path=["response"])
+ assert_matches_type(SettingsResponse, webhook, path=["response"])
assert cast(Any, response.is_closed) is True
From 26a21c4a27620cb9bf6b6afac32b10498ace9e93 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 15 Apr 2026 13:18:59 +0000
Subject: [PATCH 6/6] release: 0.1.0-alpha.2
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 8 ++++++++
pyproject.toml | 2 +-
src/hubspot_sdk/_version.py | 2 +-
4 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index ba6c3483..f14b480a 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.1.0-alpha.1"
+ ".": "0.1.0-alpha.2"
}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 530ec042..673c927c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
# Changelog
+## 0.1.0-alpha.2 (2026-04-15)
+
+Full Changelog: [v0.1.0-alpha.1...v0.1.0-alpha.2](https://github.com/HubSpot/hubspot-sdk-python/compare/v0.1.0-alpha.1...v0.1.0-alpha.2)
+
+### Features
+
+* **api:** manual updates ([0da4fad](https://github.com/HubSpot/hubspot-sdk-python/commit/0da4fad7676006ac24fb405a50413c61b4dc484e))
+
## 0.1.0-alpha.1 (2026-04-13)
diff --git a/pyproject.toml b/pyproject.toml
index 4458c6d3..98c48835 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "hubspot-sdk"
-version = "0.1.0-alpha.1"
+version = "0.1.0-alpha.2"
description = "The official Python library for the hubspot API"
dynamic = ["readme"]
license = "Apache-2.0"
diff --git a/src/hubspot_sdk/_version.py b/src/hubspot_sdk/_version.py
index 424ccb20..5e665705 100644
--- a/src/hubspot_sdk/_version.py
+++ b/src/hubspot_sdk/_version.py
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
__title__ = "hubspot_sdk"
-__version__ = "0.1.0-alpha.1" # x-release-please-version
+__version__ = "0.1.0-alpha.2" # x-release-please-version