sequenzy 2.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sequenzy/.fern/metadata.json +12 -0
- sequenzy/__init__.py +3017 -0
- sequenzy/_default_clients.py +30 -0
- sequenzy/ab_tests/__init__.py +91 -0
- sequenzy/ab_tests/client.py +1229 -0
- sequenzy/ab_tests/raw_client.py +2275 -0
- sequenzy/ab_tests/types/__init__.py +89 -0
- sequenzy/ab_tests/types/add_variant_ab_tests_response.py +32 -0
- sequenzy/ab_tests/types/create_ab_tests_request_test_type.py +5 -0
- sequenzy/ab_tests/types/create_ab_tests_request_variants_item.py +32 -0
- sequenzy/ab_tests/types/create_ab_tests_request_winner_criteria.py +5 -0
- sequenzy/ab_tests/types/create_ab_tests_response.py +50 -0
- sequenzy/ab_tests/types/delete_ab_tests_response.py +19 -0
- sequenzy/ab_tests/types/delete_variant_ab_tests_response.py +30 -0
- sequenzy/ab_tests/types/get_ab_tests_response.py +30 -0
- sequenzy/ab_tests/types/get_stats_ab_tests_request_period.py +5 -0
- sequenzy/ab_tests/types/get_stats_ab_tests_response.py +31 -0
- sequenzy/ab_tests/types/get_stats_ab_tests_response_variants_item.py +27 -0
- sequenzy/ab_tests/types/list_ab_tests_response.py +30 -0
- sequenzy/ab_tests/types/restart_ab_tests_request_test_type.py +5 -0
- sequenzy/ab_tests/types/restart_ab_tests_response.py +41 -0
- sequenzy/ab_tests/types/update_ab_tests_request_test_type.py +5 -0
- sequenzy/ab_tests/types/update_ab_tests_request_winner_criteria.py +5 -0
- sequenzy/ab_tests/types/update_ab_tests_response.py +30 -0
- sequenzy/ab_tests/types/update_variant_ab_tests_response.py +28 -0
- sequenzy/account/__init__.py +103 -0
- sequenzy/account/client.py +646 -0
- sequenzy/account/raw_client.py +1257 -0
- sequenzy/account/types/__init__.py +103 -0
- sequenzy/account/types/create_api_key_request_preset.py +17 -0
- sequenzy/account/types/create_api_key_response.py +27 -0
- sequenzy/account/types/create_api_key_response_api_key.py +42 -0
- sequenzy/account/types/create_api_key_response_api_key_permissions.py +39 -0
- sequenzy/account/types/get_account_response.py +42 -0
- sequenzy/account/types/get_account_response_api_key_permissions.py +136 -0
- sequenzy/account/types/get_account_response_api_key_permissions_active_key.py +31 -0
- sequenzy/account/types/get_account_response_api_key_permissions_active_key_type.py +5 -0
- sequenzy/account/types/get_account_response_api_key_permissions_preset.py +18 -0
- sequenzy/account/types/get_account_response_companies_item.py +25 -0
- sequenzy/account/types/get_account_response_companies_item_role.py +5 -0
- sequenzy/account/types/get_account_response_user.py +19 -0
- sequenzy/account/types/get_integration_guide_response.py +23 -0
- sequenzy/account/types/list_api_keys_response.py +25 -0
- sequenzy/account/types/request_api_key_handoff_request_preset.py +17 -0
- sequenzy/account/types/request_api_key_handoff_response.py +27 -0
- sequenzy/account/types/request_api_key_handoff_response_handoff.py +81 -0
- sequenzy/account/types/request_api_key_handoff_response_handoff_key_type.py +5 -0
- sequenzy/account/types/request_api_key_handoff_response_handoff_replaces.py +30 -0
- sequenzy/account/types/revoke_api_key_response.py +24 -0
- sequenzy/account/types/update_api_key_request_preset.py +17 -0
- sequenzy/account/types/update_api_key_response.py +24 -0
- sequenzy/analytics/__init__.py +163 -0
- sequenzy/analytics/client.py +1896 -0
- sequenzy/analytics/raw_client.py +3036 -0
- sequenzy/analytics/types/__init__.py +167 -0
- sequenzy/analytics/types/get_campaign_metrics_request_period.py +5 -0
- sequenzy/analytics/types/get_campaign_metrics_response.py +67 -0
- sequenzy/analytics/types/get_campaign_stats_legacy_request_period.py +5 -0
- sequenzy/analytics/types/get_campaign_stats_legacy_response.py +63 -0
- sequenzy/analytics/types/get_metrics_request_email_type.py +5 -0
- sequenzy/analytics/types/get_metrics_request_period.py +5 -0
- sequenzy/analytics/types/get_metrics_response.py +76 -0
- sequenzy/analytics/types/get_metrics_response_email_type.py +5 -0
- sequenzy/analytics/types/get_recipients_request_period.py +5 -0
- sequenzy/analytics/types/get_recipients_response.py +23 -0
- sequenzy/analytics/types/get_recipients_response_recipients_item.py +24 -0
- sequenzy/analytics/types/get_recipients_response_recipients_item_clicked_item.py +41 -0
- sequenzy/analytics/types/get_recipients_response_recipients_item_clicked_item_engagement_quality.py +7 -0
- sequenzy/analytics/types/get_recipients_response_recipients_item_opened_item.py +40 -0
- sequenzy/analytics/types/get_recipients_response_recipients_item_opened_item_engagement_quality.py +7 -0
- sequenzy/analytics/types/get_sequence_metrics_request_period.py +5 -0
- sequenzy/analytics/types/get_sequence_metrics_response.py +58 -0
- sequenzy/analytics/types/get_sequence_metrics_response_enrollment_skipped.py +37 -0
- sequenzy/analytics/types/get_sequence_metrics_response_steps_item.py +61 -0
- sequenzy/analytics/types/get_sequence_metrics_response_steps_item_failed_subscribers_item.py +52 -0
- sequenzy/analytics/types/get_stats_legacy_request_email_type.py +5 -0
- sequenzy/analytics/types/get_stats_legacy_request_period.py +5 -0
- sequenzy/analytics/types/get_stats_legacy_response.py +52 -0
- sequenzy/analytics/types/get_stats_legacy_response_email_type.py +5 -0
- sequenzy/analytics/types/get_transactional_metrics_legacy_request_period.py +5 -0
- sequenzy/analytics/types/get_transactional_metrics_request_period.py +5 -0
- sequenzy/analytics/types/list_campaign_events_request_event_type.py +10 -0
- sequenzy/analytics/types/list_campaign_events_request_period.py +5 -0
- sequenzy/analytics/types/list_campaign_events_response.py +31 -0
- sequenzy/analytics/types/list_campaign_poll_responses_legacy_response.py +31 -0
- sequenzy/analytics/types/list_campaign_poll_responses_response.py +37 -0
- sequenzy/analytics/types/list_email_metrics_request_email_type.py +5 -0
- sequenzy/analytics/types/list_email_metrics_request_order.py +5 -0
- sequenzy/analytics/types/list_email_metrics_request_period.py +5 -0
- sequenzy/analytics/types/list_email_metrics_request_sort.py +20 -0
- sequenzy/analytics/types/list_email_metrics_response.py +55 -0
- sequenzy/analytics/types/list_email_metrics_response_email_type.py +5 -0
- sequenzy/analytics/types/list_email_metrics_response_emails_item.py +63 -0
- sequenzy/analytics/types/list_email_metrics_response_emails_item_email_type.py +5 -0
- sequenzy/analytics/types/list_sequence_events_request_event_type.py +10 -0
- sequenzy/analytics/types/list_sequence_events_request_period.py +5 -0
- sequenzy/analytics/types/list_sequence_events_response.py +36 -0
- sequenzy/audience_syncs/__init__.py +64 -0
- sequenzy/audience_syncs/client.py +484 -0
- sequenzy/audience_syncs/raw_client.py +954 -0
- sequenzy/audience_syncs/types/__init__.py +62 -0
- sequenzy/audience_syncs/types/create_audience_syncs_request.py +5 -0
- sequenzy/audience_syncs/types/create_audience_syncs_request_frequency.py +5 -0
- sequenzy/audience_syncs/types/create_audience_syncs_response.py +25 -0
- sequenzy/audience_syncs/types/delete_audience_syncs_response.py +19 -0
- sequenzy/audience_syncs/types/list_ad_accounts_response.py +25 -0
- sequenzy/audience_syncs/types/list_audience_syncs_response.py +27 -0
- sequenzy/audience_syncs/types/run_now_audience_syncs_response.py +20 -0
- sequenzy/audience_syncs/types/update_audience_syncs_request_frequency.py +5 -0
- sequenzy/audience_syncs/types/update_audience_syncs_response.py +25 -0
- sequenzy/campaigns/__init__.py +145 -0
- sequenzy/campaigns/client.py +2788 -0
- sequenzy/campaigns/raw_client.py +4803 -0
- sequenzy/campaigns/types/__init__.py +143 -0
- sequenzy/campaigns/types/cancel_campaigns_response.py +26 -0
- sequenzy/campaigns/types/create_campaigns_request_email_preset.py +5 -0
- sequenzy/campaigns/types/create_campaigns_request_status.py +5 -0
- sequenzy/campaigns/types/create_campaigns_response.py +23 -0
- sequenzy/campaigns/types/create_campaigns_response_campaign.py +98 -0
- sequenzy/campaigns/types/create_goal_campaigns_response.py +21 -0
- sequenzy/campaigns/types/create_share_link_campaigns_response.py +44 -0
- sequenzy/campaigns/types/delete_campaigns_response.py +19 -0
- sequenzy/campaigns/types/delete_goal_campaigns_response.py +24 -0
- sequenzy/campaigns/types/duplicate_campaigns_request_mode.py +5 -0
- sequenzy/campaigns/types/duplicate_campaigns_response.py +26 -0
- sequenzy/campaigns/types/duplicate_campaigns_response_campaign.py +245 -0
- sequenzy/campaigns/types/get_audience_campaigns_response.py +51 -0
- sequenzy/campaigns/types/get_campaigns_response.py +26 -0
- sequenzy/campaigns/types/list_campaigns_request_status.py +8 -0
- sequenzy/campaigns/types/list_campaigns_response.py +23 -0
- sequenzy/campaigns/types/list_campaigns_response_pagination.py +27 -0
- sequenzy/campaigns/types/list_goals_campaigns_response.py +21 -0
- sequenzy/campaigns/types/pause_campaigns_response.py +26 -0
- sequenzy/campaigns/types/preview_computed_data_campaigns_request_subscriber.py +36 -0
- sequenzy/campaigns/types/preview_computed_data_campaigns_response.py +22 -0
- sequenzy/campaigns/types/preview_computed_data_campaigns_response_lists_item.py +21 -0
- sequenzy/campaigns/types/resend_to_non_openers_campaigns_response.py +40 -0
- sequenzy/campaigns/types/resend_to_non_openers_campaigns_response_campaign.py +245 -0
- sequenzy/campaigns/types/resume_campaigns_response.py +26 -0
- sequenzy/campaigns/types/revoke_share_link_campaigns_response.py +24 -0
- sequenzy/campaigns/types/schedule_campaigns_request_recurring_interval.py +5 -0
- sequenzy/campaigns/types/schedule_campaigns_response.py +36 -0
- sequenzy/campaigns/types/schedule_campaigns_response_campaign.py +60 -0
- sequenzy/campaigns/types/schedule_campaigns_response_campaign_status.py +5 -0
- sequenzy/campaigns/types/send_test_campaigns_response.py +48 -0
- sequenzy/campaigns/types/unschedule_campaigns_response.py +26 -0
- sequenzy/campaigns/types/update_campaigns_request_email_preset.py +5 -0
- sequenzy/campaigns/types/update_campaigns_response.py +23 -0
- sequenzy/campaigns/types/update_campaigns_response_campaign.py +71 -0
- sequenzy/campaigns/types/update_goal_campaigns_response.py +21 -0
- sequenzy/client.py +974 -0
- sequenzy/companies/__init__.py +79 -0
- sequenzy/companies/client.py +624 -0
- sequenzy/companies/raw_client.py +962 -0
- sequenzy/companies/types/__init__.py +77 -0
- sequenzy/companies/types/create_companies_response.py +22 -0
- sequenzy/companies/types/create_companies_response_company.py +26 -0
- sequenzy/companies/types/get_companies_response.py +21 -0
- sequenzy/companies/types/list_companies_response.py +26 -0
- sequenzy/companies/types/update_companies_request_email_direction.py +5 -0
- sequenzy/companies/types/update_companies_request_email_length_preference.py +7 -0
- sequenzy/companies/types/update_companies_request_email_theme.py +60 -0
- sequenzy/companies/types/update_companies_request_email_theme_button_style.py +5 -0
- sequenzy/companies/types/update_companies_request_email_theme_colors.py +46 -0
- sequenzy/companies/types/update_companies_request_email_theme_layout.py +53 -0
- sequenzy/companies/types/update_companies_request_email_theme_preset_id.py +7 -0
- sequenzy/companies/types/update_companies_request_email_theme_typography.py +90 -0
- sequenzy/companies/types/update_companies_request_reply_tracking_domain_mode.py +5 -0
- sequenzy/companies/types/update_companies_response.py +21 -0
- sequenzy/conversations/__init__.py +70 -0
- sequenzy/conversations/client.py +529 -0
- sequenzy/conversations/raw_client.py +938 -0
- sequenzy/conversations/types/__init__.py +70 -0
- sequenzy/conversations/types/get_conversations_response.py +24 -0
- sequenzy/conversations/types/list_conversations_request_status.py +5 -0
- sequenzy/conversations/types/list_conversations_request_unread.py +5 -0
- sequenzy/conversations/types/list_conversations_response.py +23 -0
- sequenzy/conversations/types/mark_read_conversations_response.py +23 -0
- sequenzy/conversations/types/send_message_conversations_request_type.py +5 -0
- sequenzy/conversations/types/send_message_conversations_response.py +21 -0
- sequenzy/conversations/types/update_status_conversations_request_status.py +5 -0
- sequenzy/conversations/types/update_status_conversations_response.py +21 -0
- sequenzy/conversations/types/update_status_conversations_response_conversation.py +23 -0
- sequenzy/conversations/types/update_status_conversations_response_conversation_status.py +5 -0
- sequenzy/core/__init__.py +127 -0
- sequenzy/core/api_error.py +23 -0
- sequenzy/core/client_wrapper.py +146 -0
- sequenzy/core/datetime_utils.py +70 -0
- sequenzy/core/file.py +67 -0
- sequenzy/core/force_multipart.py +18 -0
- sequenzy/core/http_client.py +940 -0
- sequenzy/core/http_response.py +63 -0
- sequenzy/core/http_sse/__init__.py +42 -0
- sequenzy/core/http_sse/_api.py +455 -0
- sequenzy/core/http_sse/_decoders.py +74 -0
- sequenzy/core/http_sse/_exceptions.py +7 -0
- sequenzy/core/http_sse/_models.py +17 -0
- sequenzy/core/jsonable_encoder.py +133 -0
- sequenzy/core/logging.py +107 -0
- sequenzy/core/parse_error.py +36 -0
- sequenzy/core/pydantic_utilities.py +508 -0
- sequenzy/core/query_encoder.py +58 -0
- sequenzy/core/remove_none_from_dict.py +11 -0
- sequenzy/core/request_options.py +40 -0
- sequenzy/core/serialization.py +347 -0
- sequenzy/email_blocks/__init__.py +49 -0
- sequenzy/email_blocks/client.py +207 -0
- sequenzy/email_blocks/raw_client.py +344 -0
- sequenzy/email_blocks/types/__init__.py +47 -0
- sequenzy/email_blocks/types/get_email_blocks_request_condition_fields.py +5 -0
- sequenzy/email_blocks/types/get_email_blocks_response.py +55 -0
- sequenzy/email_blocks/types/list_email_blocks_request_creatable_only.py +5 -0
- sequenzy/email_blocks/types/list_email_blocks_response.py +45 -0
- sequenzy/email_components/__init__.py +79 -0
- sequenzy/email_components/client.py +717 -0
- sequenzy/email_components/raw_client.py +1373 -0
- sequenzy/email_components/types/__init__.py +77 -0
- sequenzy/email_components/types/create_email_components_request_component_type.py +5 -0
- sequenzy/email_components/types/create_email_components_response.py +28 -0
- sequenzy/email_components/types/delete_email_components_response.py +20 -0
- sequenzy/email_components/types/get_default_email_components_request_slot.py +5 -0
- sequenzy/email_components/types/get_default_email_components_response.py +26 -0
- sequenzy/email_components/types/get_email_components_response.py +26 -0
- sequenzy/email_components/types/list_email_components_request_defaults_only.py +5 -0
- sequenzy/email_components/types/list_email_components_request_slot.py +5 -0
- sequenzy/email_components/types/list_email_components_request_type.py +5 -0
- sequenzy/email_components/types/list_email_components_response.py +26 -0
- sequenzy/email_components/types/set_default_email_components_request_slot.py +5 -0
- sequenzy/email_components/types/set_default_email_components_response.py +28 -0
- sequenzy/email_components/types/update_email_components_request_component_type.py +5 -0
- sequenzy/email_components/types/update_email_components_response.py +28 -0
- sequenzy/email_sends/__init__.py +64 -0
- sequenzy/email_sends/client.py +342 -0
- sequenzy/email_sends/raw_client.py +559 -0
- sequenzy/email_sends/types/__init__.py +62 -0
- sequenzy/email_sends/types/get_email_sends_response.py +30 -0
- sequenzy/email_sends/types/get_email_sends_response_source.py +5 -0
- sequenzy/email_sends/types/list_email_sends_request_bounce_type.py +5 -0
- sequenzy/email_sends/types/list_email_sends_request_email_type.py +5 -0
- sequenzy/email_sends/types/list_email_sends_request_sort_field.py +7 -0
- sequenzy/email_sends/types/list_email_sends_request_sort_order.py +5 -0
- sequenzy/email_sends/types/list_email_sends_request_status.py +10 -0
- sequenzy/email_sends/types/list_email_sends_response.py +32 -0
- sequenzy/email_sends/types/list_email_sends_response_email_sends_item.py +27 -0
- sequenzy/emails/__init__.py +49 -0
- sequenzy/emails/client.py +435 -0
- sequenzy/emails/raw_client.py +800 -0
- sequenzy/emails/types/__init__.py +47 -0
- sequenzy/emails/types/create_emails_response.py +28 -0
- sequenzy/emails/types/update_blocks_emails_request_type.py +5 -0
- sequenzy/emails/types/update_blocks_emails_response.py +28 -0
- sequenzy/emails/types/update_emails_response.py +28 -0
- sequenzy/environment.py +7 -0
- sequenzy/errors/__init__.py +62 -0
- sequenzy/errors/bad_request_error.py +10 -0
- sequenzy/errors/conflict_error.py +10 -0
- sequenzy/errors/forbidden_error.py +11 -0
- sequenzy/errors/internal_server_error.py +10 -0
- sequenzy/errors/not_found_error.py +10 -0
- sequenzy/errors/service_unavailable_error.py +10 -0
- sequenzy/errors/too_many_requests_error.py +10 -0
- sequenzy/errors/unauthorized_error.py +10 -0
- sequenzy/errors/unprocessable_entity_error.py +10 -0
- sequenzy/events/__init__.py +37 -0
- sequenzy/events/client.py +129 -0
- sequenzy/events/raw_client.py +201 -0
- sequenzy/events/types/__init__.py +38 -0
- sequenzy/events/types/get_schemas_events_request_provider.py +7 -0
- sequenzy/events/types/get_schemas_events_response.py +40 -0
- sequenzy/feedback/__init__.py +49 -0
- sequenzy/feedback/client.py +212 -0
- sequenzy/feedback/raw_client.py +317 -0
- sequenzy/feedback/types/__init__.py +47 -0
- sequenzy/feedback/types/submit_feedback_request_category.py +7 -0
- sequenzy/feedback/types/submit_feedback_request_source.py +5 -0
- sequenzy/feedback/types/submit_feedback_request_tool_calls_item.py +32 -0
- sequenzy/feedback/types/submit_feedback_response.py +20 -0
- sequenzy/generation/__init__.py +55 -0
- sequenzy/generation/client.py +352 -0
- sequenzy/generation/raw_client.py +676 -0
- sequenzy/generation/types/__init__.py +53 -0
- sequenzy/generation/types/generate_email_request_email_type.py +5 -0
- sequenzy/generation/types/generate_email_response.py +38 -0
- sequenzy/generation/types/generate_sms_messages_response.py +22 -0
- sequenzy/generation/types/generate_sms_messages_response_messages_item.py +27 -0
- sequenzy/generation/types/generate_sms_messages_response_messages_item_encoding.py +5 -0
- sequenzy/generation/types/generate_subject_lines_response.py +21 -0
- sequenzy/integrations/__init__.py +82 -0
- sequenzy/integrations/client.py +851 -0
- sequenzy/integrations/raw_client.py +1689 -0
- sequenzy/integrations/types/__init__.py +80 -0
- sequenzy/integrations/types/activate_pixel_integrations_response.py +33 -0
- sequenzy/integrations/types/connect_integrations_request_history_import.py +61 -0
- sequenzy/integrations/types/connect_integrations_request_history_import_region.py +5 -0
- sequenzy/integrations/types/connect_integrations_request_provider.py +8 -0
- sequenzy/integrations/types/connect_integrations_request_settings.py +30 -0
- sequenzy/integrations/types/connect_integrations_response.py +60 -0
- sequenzy/integrations/types/connect_integrations_response_history.py +25 -0
- sequenzy/integrations/types/list_activity_integrations_request_status.py +7 -0
- sequenzy/integrations/types/list_activity_integrations_response.py +27 -0
- sequenzy/integrations/types/list_capabilities_integrations_response.py +21 -0
- sequenzy/integrations/types/list_integrations_response.py +21 -0
- sequenzy/integrations/types/sync_integrations_response.py +44 -0
- sequenzy/integrations/types/sync_integrations_response_sync_target.py +31 -0
- sequenzy/integrations/types/update_sync_integrations_response.py +73 -0
- sequenzy/integrations/types/update_sync_integrations_response_list_targeting.py +7 -0
- sequenzy/landing_pages/__init__.py +88 -0
- sequenzy/landing_pages/client.py +1368 -0
- sequenzy/landing_pages/raw_client.py +2615 -0
- sequenzy/landing_pages/types/__init__.py +86 -0
- sequenzy/landing_pages/types/connect_dedicated_domain_landing_pages_response.py +22 -0
- sequenzy/landing_pages/types/connect_domain_landing_pages_response.py +22 -0
- sequenzy/landing_pages/types/create_landing_pages_request_template.py +20 -0
- sequenzy/landing_pages/types/create_landing_pages_response.py +26 -0
- sequenzy/landing_pages/types/delete_landing_pages_response.py +25 -0
- sequenzy/landing_pages/types/duplicate_landing_pages_response.py +26 -0
- sequenzy/landing_pages/types/get_dedicated_domain_landing_pages_response.py +21 -0
- sequenzy/landing_pages/types/get_domain_landing_pages_response.py +21 -0
- sequenzy/landing_pages/types/get_landing_pages_response.py +25 -0
- sequenzy/landing_pages/types/list_landing_pages_response.py +31 -0
- sequenzy/landing_pages/types/publish_landing_pages_response.py +25 -0
- sequenzy/landing_pages/types/remove_dedicated_domain_landing_pages_response.py +21 -0
- sequenzy/landing_pages/types/unpublish_landing_pages_response.py +25 -0
- sequenzy/landing_pages/types/update_domain_settings_landing_pages_response.py +21 -0
- sequenzy/landing_pages/types/update_landing_pages_response.py +25 -0
- sequenzy/landing_pages/types/verify_dedicated_domain_landing_pages_response.py +21 -0
- sequenzy/landing_pages/types/verify_domain_landing_pages_response.py +21 -0
- sequenzy/lists/__init__.py +64 -0
- sequenzy/lists/client.py +608 -0
- sequenzy/lists/raw_client.py +1095 -0
- sequenzy/lists/types/__init__.py +62 -0
- sequenzy/lists/types/add_subscribers_lists_request_duplicate_strategy.py +5 -0
- sequenzy/lists/types/add_subscribers_lists_request_opt_in_mode.py +5 -0
- sequenzy/lists/types/add_subscribers_lists_response.py +41 -0
- sequenzy/lists/types/add_subscribers_lists_response_results_item.py +29 -0
- sequenzy/lists/types/create_lists_response.py +25 -0
- sequenzy/lists/types/delete_lists_response.py +30 -0
- sequenzy/lists/types/list_lists_response.py +21 -0
- sequenzy/lists/types/remove_subscribers_lists_response.py +35 -0
- sequenzy/lists/types/update_lists_response.py +25 -0
- sequenzy/media/__init__.py +49 -0
- sequenzy/media/client.py +375 -0
- sequenzy/media/raw_client.py +682 -0
- sequenzy/media/types/__init__.py +47 -0
- sequenzy/media/types/complete_email_image_upload_response.py +21 -0
- sequenzy/media/types/complete_email_image_upload_response_asset.py +39 -0
- sequenzy/media/types/create_email_image_upload_url_response.py +31 -0
- sequenzy/media/types/upload_email_image_bytes_response.py +25 -0
- sequenzy/migrations/__init__.py +58 -0
- sequenzy/migrations/client.py +645 -0
- sequenzy/migrations/raw_client.py +1250 -0
- sequenzy/migrations/types/__init__.py +56 -0
- sequenzy/migrations/types/approve_plan_migrations_response.py +20 -0
- sequenzy/migrations/types/cancel_migrations_response.py +20 -0
- sequenzy/migrations/types/connect_source_migrations_response.py +20 -0
- sequenzy/migrations/types/discover_source_migrations_response.py +20 -0
- sequenzy/migrations/types/get_agent_package_migrations_response.py +20 -0
- sequenzy/migrations/types/get_run_migrations_response.py +20 -0
- sequenzy/migrations/types/start_migrations_response.py +20 -0
- sequenzy/notification_preferences/__init__.py +4 -0
- sequenzy/notification_preferences/client.py +198 -0
- sequenzy/notification_preferences/raw_client.py +311 -0
- sequenzy/orders/__init__.py +49 -0
- sequenzy/orders/client.py +393 -0
- sequenzy/orders/raw_client.py +539 -0
- sequenzy/orders/types/__init__.py +47 -0
- sequenzy/orders/types/push_orders_request_customer_totals.py +30 -0
- sequenzy/orders/types/push_orders_request_status.py +5 -0
- sequenzy/orders/types/push_orders_response.py +29 -0
- sequenzy/orders/types/track_checkout_started_response.py +30 -0
- sequenzy/products/__init__.py +82 -0
- sequenzy/products/client.py +905 -0
- sequenzy/products/raw_client.py +1642 -0
- sequenzy/products/types/__init__.py +82 -0
- sequenzy/products/types/attach_delivery_products_request_source.py +5 -0
- sequenzy/products/types/attach_delivery_products_response.py +21 -0
- sequenzy/products/types/create_delivery_upload_url_products_response.py +30 -0
- sequenzy/products/types/delete_products_response.py +20 -0
- sequenzy/products/types/get_products_response.py +21 -0
- sequenzy/products/types/list_products_request_provider.py +7 -0
- sequenzy/products/types/list_products_response.py +23 -0
- sequenzy/products/types/list_products_response_pagination.py +40 -0
- sequenzy/products/types/register_back_in_stock_response.py +24 -0
- sequenzy/products/types/remove_delivery_products_response.py +21 -0
- sequenzy/products/types/sync_stripe_products_response.py +24 -0
- sequenzy/products/types/upsert_products_request_products_item.py +89 -0
- sequenzy/products/types/upsert_products_request_products_item_variants_item.py +53 -0
- sequenzy/products/types/upsert_products_request_products_item_variants_item_options_item.py +20 -0
- sequenzy/products/types/upsert_products_response.py +36 -0
- sequenzy/reference.md +27269 -0
- sequenzy/segments/__init__.py +61 -0
- sequenzy/segments/client.py +445 -0
- sequenzy/segments/raw_client.py +831 -0
- sequenzy/segments/types/__init__.py +59 -0
- sequenzy/segments/types/create_segments_request.py +5 -0
- sequenzy/segments/types/create_segments_request_filter_join_operator.py +5 -0
- sequenzy/segments/types/create_segments_response.py +30 -0
- sequenzy/segments/types/delete_segments_response.py +19 -0
- sequenzy/segments/types/get_count_segments_response.py +25 -0
- sequenzy/segments/types/list_segments_response.py +26 -0
- sequenzy/segments/types/update_segments_request_filter_join_operator.py +5 -0
- sequenzy/segments/types/update_segments_response.py +30 -0
- sequenzy/sender_profiles/__init__.py +38 -0
- sequenzy/sender_profiles/client.py +269 -0
- sequenzy/sender_profiles/raw_client.py +524 -0
- sequenzy/sender_profiles/types/__init__.py +40 -0
- sequenzy/sender_profiles/types/list_sender_profiles_response.py +43 -0
- sequenzy/sender_profiles/types/update_reply_profile_response.py +30 -0
- sequenzy/sender_profiles/types/update_sender_profiles_response.py +32 -0
- sequenzy/sending_status/__init__.py +34 -0
- sequenzy/sending_status/client.py +182 -0
- sequenzy/sending_status/raw_client.py +363 -0
- sequenzy/sending_status/types/__init__.py +34 -0
- sequenzy/sending_status/types/resume_sending_status_response.py +28 -0
- sequenzy/sequences/__init__.py +139 -0
- sequenzy/sequences/client.py +4043 -0
- sequenzy/sequences/raw_client.py +6760 -0
- sequenzy/sequences/types/__init__.py +139 -0
- sequenzy/sequences/types/archive_sequences_response.py +21 -0
- sequenzy/sequences/types/configure_inbound_webhook_sequences_response.py +21 -0
- sequenzy/sequences/types/create_goal_sequences_response.py +21 -0
- sequenzy/sequences/types/delete_goal_sequences_response.py +24 -0
- sequenzy/sequences/types/duplicate_sequences_response.py +25 -0
- sequenzy/sequences/types/enroll_subscribers_in_sequences_response.py +58 -0
- sequenzy/sequences/types/generate_sequences_response.py +25 -0
- sequenzy/sequences/types/get_inbound_webhook_sequences_response.py +21 -0
- sequenzy/sequences/types/get_sequences_response.py +26 -0
- sequenzy/sequences/types/get_stats_sequences_request_period.py +5 -0
- sequenzy/sequences/types/get_stats_sequences_response.py +58 -0
- sequenzy/sequences/types/get_stats_sequences_response_enrollment_skipped.py +37 -0
- sequenzy/sequences/types/get_stats_sequences_response_steps_item.py +61 -0
- sequenzy/sequences/types/get_stats_sequences_response_steps_item_failed_subscribers_item.py +31 -0
- sequenzy/sequences/types/list_enrollments_sequences_request_sort.py +7 -0
- sequenzy/sequences/types/list_goals_sequences_response.py +21 -0
- sequenzy/sequences/types/list_sequences_response.py +23 -0
- sequenzy/sequences/types/list_sequences_response_pagination.py +31 -0
- sequenzy/sequences/types/rotate_inbound_webhook_secret_sequences_response.py +21 -0
- sequenzy/sequences/types/send_test_email_sequences_response.py +26 -0
- sequenzy/sequences/types/send_test_email_sequences_response_results_item.py +43 -0
- sequenzy/sequences/types/sequence_create_request_email_style.py +5 -0
- sequenzy/sequences/types/sequence_create_request_inactivity_baseline.py +7 -0
- sequenzy/sequences/types/sequence_create_request_list_scope.py +5 -0
- sequenzy/sequences/types/sequence_enrollment_move_request_sort.py +7 -0
- sequenzy/sequences/types/sequence_update_request_inactivity_baseline.py +7 -0
- sequenzy/sequences/types/sequence_update_request_list_scope.py +5 -0
- sequenzy/sequences/types/simulate_sequences_response.py +43 -0
- sequenzy/sequences/types/simulate_sequences_response_readiness.py +25 -0
- sequenzy/sequences/types/unarchive_sequences_response.py +21 -0
- sequenzy/sequences/types/update_goal_sequences_response.py +21 -0
- sequenzy/sequences/types/update_sequences_response.py +23 -0
- sequenzy/sequences/types/update_sequences_response_sequence.py +162 -0
- sequenzy/sequences/types/update_sequences_response_sequence_graph_edit_action.py +7 -0
- sequenzy/shopify/__init__.py +37 -0
- sequenzy/shopify/client.py +215 -0
- sequenzy/shopify/raw_client.py +432 -0
- sequenzy/shopify/types/__init__.py +38 -0
- sequenzy/shopify/types/get_automation_settings_shopify_response.py +43 -0
- sequenzy/shopify/types/update_automation_settings_shopify_response.py +44 -0
- sequenzy/sms/__init__.py +55 -0
- sequenzy/sms/client.py +313 -0
- sequenzy/sms/raw_client.py +663 -0
- sequenzy/sms/types/__init__.py +53 -0
- sequenzy/sms/types/get_settings_sms_response.py +22 -0
- sequenzy/sms/types/get_settings_sms_response_sms.py +35 -0
- sequenzy/sms/types/get_settings_sms_response_sms_numbers_item.py +39 -0
- sequenzy/sms/types/send_test_sms_response.py +28 -0
- sequenzy/sms/types/update_number_label_sms_response.py +22 -0
- sequenzy/sms/types/update_number_label_sms_response_number.py +25 -0
- sequenzy/subscribers/__init__.py +229 -0
- sequenzy/subscribers/client.py +2872 -0
- sequenzy/subscribers/events/__init__.py +67 -0
- sequenzy/subscribers/events/client.py +352 -0
- sequenzy/subscribers/events/raw_client.py +460 -0
- sequenzy/subscribers/events/types/__init__.py +65 -0
- sequenzy/subscribers/events/types/trigger_bulk_events_request_events_item.py +47 -0
- sequenzy/subscribers/events/types/trigger_bulk_events_response.py +38 -0
- sequenzy/subscribers/events/types/trigger_bulk_events_response_events_item.py +41 -0
- sequenzy/subscribers/events/types/trigger_bulk_events_response_opt_in.py +28 -0
- sequenzy/subscribers/events/types/trigger_bulk_events_response_subscriber.py +25 -0
- sequenzy/subscribers/events/types/trigger_events_response.py +76 -0
- sequenzy/subscribers/events/types/trigger_events_response_event.py +35 -0
- sequenzy/subscribers/events/types/trigger_events_response_events_item.py +26 -0
- sequenzy/subscribers/events/types/trigger_events_response_opt_in.py +28 -0
- sequenzy/subscribers/events/types/trigger_events_response_subscriber.py +25 -0
- sequenzy/subscribers/raw_client.py +4840 -0
- sequenzy/subscribers/tags/__init__.py +58 -0
- sequenzy/subscribers/tags/client.py +302 -0
- sequenzy/subscribers/tags/raw_client.py +415 -0
- sequenzy/subscribers/tags/types/__init__.py +56 -0
- sequenzy/subscribers/tags/types/add_tags_response.py +38 -0
- sequenzy/subscribers/tags/types/add_tags_response_opt_in.py +28 -0
- sequenzy/subscribers/tags/types/add_tags_response_subscriber.py +30 -0
- sequenzy/subscribers/tags/types/add_tags_response_tag.py +25 -0
- sequenzy/subscribers/tags/types/remove_tags_response.py +23 -0
- sequenzy/subscribers/tags/types/remove_tags_response_subscriber.py +30 -0
- sequenzy/subscribers/tags/types/remove_tags_response_tag.py +23 -0
- sequenzy/subscribers/types/__init__.py +173 -0
- sequenzy/subscribers/types/add_tags_bulk_response.py +38 -0
- sequenzy/subscribers/types/add_tags_bulk_response_opt_in.py +28 -0
- sequenzy/subscribers/types/add_tags_bulk_response_subscriber.py +26 -0
- sequenzy/subscribers/types/add_tags_bulk_response_tags.py +27 -0
- sequenzy/subscribers/types/create_import_subscribers_request_duplicate_strategy.py +5 -0
- sequenzy/subscribers/types/create_import_subscribers_request_opt_in_mode.py +7 -0
- sequenzy/subscribers/types/create_import_subscribers_response.py +27 -0
- sequenzy/subscribers/types/create_note_by_external_id_subscribers_response.py +21 -0
- sequenzy/subscribers/types/create_note_subscribers_response.py +21 -0
- sequenzy/subscribers/types/create_subscribers_request_duplicate_strategy.py +5 -0
- sequenzy/subscribers/types/create_subscribers_request_opt_in_mode.py +5 -0
- sequenzy/subscribers/types/create_subscribers_request_status.py +5 -0
- sequenzy/subscribers/types/create_subscribers_response.py +35 -0
- sequenzy/subscribers/types/create_subscribers_response_opt_in.py +28 -0
- sequenzy/subscribers/types/create_subscribers_response_subscriber.py +33 -0
- sequenzy/subscribers/types/delete_by_external_id_path_subscribers_response.py +20 -0
- sequenzy/subscribers/types/delete_by_external_id_subscribers_response.py +20 -0
- sequenzy/subscribers/types/delete_note_subscribers_response.py +26 -0
- sequenzy/subscribers/types/delete_subscribers_response.py +20 -0
- sequenzy/subscribers/types/get_account_info_response.py +21 -0
- sequenzy/subscribers/types/get_account_info_response_account.py +26 -0
- sequenzy/subscribers/types/get_by_external_id_path_subscribers_response.py +21 -0
- sequenzy/subscribers/types/get_by_external_id_subscribers_response.py +21 -0
- sequenzy/subscribers/types/get_import_subscribers_response.py +25 -0
- sequenzy/subscribers/types/get_subscribers_response.py +21 -0
- sequenzy/subscribers/types/import_events_subscribers_request_events_item.py +71 -0
- sequenzy/subscribers/types/import_events_subscribers_response.py +83 -0
- sequenzy/subscribers/types/import_events_subscribers_response_failures_item.py +20 -0
- sequenzy/subscribers/types/import_events_subscribers_response_side_effect_failures_item.py +21 -0
- sequenzy/subscribers/types/list_notes_by_external_id_subscribers_response.py +21 -0
- sequenzy/subscribers/types/list_notes_subscribers_response.py +21 -0
- sequenzy/subscribers/types/list_subscribers_request_attribute_operator.py +7 -0
- sequenzy/subscribers/types/list_subscribers_request_include_total.py +5 -0
- sequenzy/subscribers/types/list_subscribers_request_status.py +5 -0
- sequenzy/subscribers/types/list_subscribers_response.py +23 -0
- sequenzy/subscribers/types/update_by_external_id_path_subscribers_request_custom_attributes_strategy.py +7 -0
- sequenzy/subscribers/types/update_by_external_id_path_subscribers_request_status.py +7 -0
- sequenzy/subscribers/types/update_by_external_id_path_subscribers_response.py +21 -0
- sequenzy/subscribers/types/update_by_external_id_subscribers_request_custom_attributes_strategy.py +7 -0
- sequenzy/subscribers/types/update_by_external_id_subscribers_request_status.py +7 -0
- sequenzy/subscribers/types/update_by_external_id_subscribers_response.py +21 -0
- sequenzy/subscribers/types/update_subscribers_request_custom_attributes_strategy.py +5 -0
- sequenzy/subscribers/types/update_subscribers_request_status.py +5 -0
- sequenzy/subscribers/types/update_subscribers_response.py +21 -0
- sequenzy/suppressions/__init__.py +94 -0
- sequenzy/suppressions/client.py +358 -0
- sequenzy/suppressions/raw_client.py +760 -0
- sequenzy/suppressions/types/__init__.py +98 -0
- sequenzy/suppressions/types/get_suppressions_response.py +21 -0
- sequenzy/suppressions/types/get_suppressions_response_suppression.py +29 -0
- sequenzy/suppressions/types/get_suppressions_response_suppression_local.py +51 -0
- sequenzy/suppressions/types/get_suppressions_response_suppression_local_scope.py +5 -0
- sequenzy/suppressions/types/get_suppressions_response_suppression_local_suppression_type.py +7 -0
- sequenzy/suppressions/types/get_suppressions_response_suppression_ses.py +25 -0
- sequenzy/suppressions/types/get_suppressions_response_suppression_ses_entries_item.py +36 -0
- sequenzy/suppressions/types/get_suppressions_response_suppression_ses_entries_item_reason.py +5 -0
- sequenzy/suppressions/types/list_suppressions_request_order.py +5 -0
- sequenzy/suppressions/types/list_suppressions_request_sort.py +5 -0
- sequenzy/suppressions/types/list_suppressions_response.py +49 -0
- sequenzy/suppressions/types/list_suppressions_response_sort_by.py +5 -0
- sequenzy/suppressions/types/list_suppressions_response_sort_order.py +5 -0
- sequenzy/suppressions/types/list_suppressions_response_suppressions_item.py +63 -0
- sequenzy/suppressions/types/list_suppressions_response_suppressions_item_reason.py +5 -0
- sequenzy/suppressions/types/list_suppressions_response_suppressions_item_scope.py +5 -0
- sequenzy/suppressions/types/list_suppressions_response_suppressions_item_source.py +7 -0
- sequenzy/suppressions/types/list_suppressions_response_suppressions_item_suppression_type.py +7 -0
- sequenzy/suppressions/types/remove_suppressions_response.py +52 -0
- sequenzy/sync_rules/__init__.py +34 -0
- sequenzy/sync_rules/client.py +223 -0
- sequenzy/sync_rules/raw_client.py +330 -0
- sequenzy/sync_rules/types/__init__.py +38 -0
- sequenzy/sync_rules/types/get_sync_rules_response.py +34 -0
- sequenzy/sync_rules/types/update_sync_rules_response.py +29 -0
- sequenzy/tags/__init__.py +39 -0
- sequenzy/tags/client.py +340 -0
- sequenzy/tags/raw_client.py +746 -0
- sequenzy/tags/types/__init__.py +42 -0
- sequenzy/tags/types/create_tags_response.py +21 -0
- sequenzy/tags/types/delete_tags_response.py +19 -0
- sequenzy/tags/types/list_tags_response.py +21 -0
- sequenzy/tags/types/update_tags_response.py +21 -0
- sequenzy/team/__init__.py +55 -0
- sequenzy/team/client.py +282 -0
- sequenzy/team/raw_client.py +658 -0
- sequenzy/team/types/__init__.py +53 -0
- sequenzy/team/types/cancel_invitation_team_response.py +19 -0
- sequenzy/team/types/invite_team_request_role.py +5 -0
- sequenzy/team/types/invite_team_response.py +23 -0
- sequenzy/team/types/invite_team_response_invitation.py +35 -0
- sequenzy/team/types/invite_team_response_invitation_role.py +5 -0
- sequenzy/team/types/list_team_response.py +21 -0
- sequenzy/templates/__init__.py +73 -0
- sequenzy/templates/client.py +1152 -0
- sequenzy/templates/raw_client.py +2088 -0
- sequenzy/templates/types/__init__.py +71 -0
- sequenzy/templates/types/create_share_link_templates_response.py +44 -0
- sequenzy/templates/types/create_templates_response.py +23 -0
- sequenzy/templates/types/create_templates_response_template.py +22 -0
- sequenzy/templates/types/delete_templates_response.py +25 -0
- sequenzy/templates/types/get_templates_response.py +27 -0
- sequenzy/templates/types/list_templates_response.py +33 -0
- sequenzy/templates/types/list_templates_response_pagination.py +34 -0
- sequenzy/templates/types/revoke_share_link_templates_response.py +24 -0
- sequenzy/templates/types/set_localization_templates_response.py +33 -0
- sequenzy/templates/types/sync_localizations_templates_response.py +30 -0
- sequenzy/templates/types/update_templates_response.py +24 -0
- sequenzy/templates/types/update_templates_response_template.py +27 -0
- sequenzy/tests/conftest.py +21 -0
- sequenzy/tests/test_aiohttp_autodetect.py +113 -0
- sequenzy/tracking_settings/__init__.py +37 -0
- sequenzy/tracking_settings/client.py +267 -0
- sequenzy/tracking_settings/raw_client.py +415 -0
- sequenzy/tracking_settings/types/__init__.py +38 -0
- sequenzy/tracking_settings/types/update_tracking_settings_request_auto_utm_settings.py +27 -0
- sequenzy/tracking_settings/types/update_tracking_settings_response.py +20 -0
- sequenzy/transactional/__init__.py +103 -0
- sequenzy/transactional/client.py +968 -0
- sequenzy/transactional/raw_client.py +1678 -0
- sequenzy/transactional/types/__init__.py +103 -0
- sequenzy/transactional/types/create_transactional_response.py +28 -0
- sequenzy/transactional/types/delete_transactional_response.py +22 -0
- sequenzy/transactional/types/delete_transactional_response_deleted.py +35 -0
- sequenzy/transactional/types/get_transactional_response.py +26 -0
- sequenzy/transactional/types/list_transactional_request_order.py +5 -0
- sequenzy/transactional/types/list_transactional_request_sort.py +7 -0
- sequenzy/transactional/types/list_transactional_request_status.py +5 -0
- sequenzy/transactional/types/list_transactional_response.py +21 -0
- sequenzy/transactional/types/send_transactional_request_bcc.py +5 -0
- sequenzy/transactional/types/send_transactional_request_cc.py +5 -0
- sequenzy/transactional/types/send_transactional_request_email_type.py +5 -0
- sequenzy/transactional/types/send_transactional_request_to.py +5 -0
- sequenzy/transactional/types/send_transactional_request_tracking_settings.py +46 -0
- sequenzy/transactional/types/send_transactional_response.py +8 -0
- sequenzy/transactional/types/send_transactional_response_one.py +67 -0
- sequenzy/transactional/types/send_transactional_response_one_email_type.py +5 -0
- sequenzy/transactional/types/send_transactional_response_one_to.py +5 -0
- sequenzy/transactional/types/send_transactional_response_transactional.py +69 -0
- sequenzy/transactional/types/send_transactional_response_transactional_email_type.py +5 -0
- sequenzy/transactional/types/send_transactional_response_transactional_to.py +5 -0
- sequenzy/transactional/types/send_transactional_response_transactional_transactional.py +21 -0
- sequenzy/transactional/types/update_transactional_response.py +28 -0
- sequenzy/types/__init__.py +1409 -0
- sequenzy/types/ab_test.py +119 -0
- sequenzy/types/ab_test_content_editing.py +30 -0
- sequenzy/types/ab_test_kind.py +5 -0
- sequenzy/types/ab_test_test_type.py +5 -0
- sequenzy/types/ab_test_variant.py +63 -0
- sequenzy/types/ad_account.py +20 -0
- sequenzy/types/agent_friendly_error.py +55 -0
- sequenzy/types/api_key_metadata.py +65 -0
- sequenzy/types/api_key_metadata_type.py +5 -0
- sequenzy/types/attachment.py +58 -0
- sequenzy/types/audience_sync.py +72 -0
- sequenzy/types/audience_sync_frequency.py +5 -0
- sequenzy/types/bad_request_error_body.py +21 -0
- sequenzy/types/bad_request_error_body_error.py +20 -0
- sequenzy/types/block_field_warnings.py +8 -0
- sequenzy/types/bulk_subscriber_tag_request.py +63 -0
- sequenzy/types/bulk_subscriber_tag_response.py +76 -0
- sequenzy/types/bulk_subscriber_tag_response_failures_item.py +25 -0
- sequenzy/types/bulk_subscriber_tag_response_not_found.py +31 -0
- sequenzy/types/campaign_channel.py +5 -0
- sequenzy/types/campaign_detail.py +108 -0
- sequenzy/types/campaign_goal.py +71 -0
- sequenzy/types/campaign_goal_attribute_condition.py +5 -0
- sequenzy/types/campaign_goal_input.py +65 -0
- sequenzy/types/campaign_goal_input_attribute_condition.py +7 -0
- sequenzy/types/campaign_goal_input_trigger_type.py +5 -0
- sequenzy/types/campaign_goal_metrics.py +33 -0
- sequenzy/types/campaign_goal_scope.py +5 -0
- sequenzy/types/campaign_goal_trigger_type.py +5 -0
- sequenzy/types/campaign_status.py +8 -0
- sequenzy/types/campaign_summary.py +160 -0
- sequenzy/types/clicked_link.py +36 -0
- sequenzy/types/commerce_customer.py +41 -0
- sequenzy/types/commerce_forecast_range.py +26 -0
- sequenzy/types/commerce_order_item.py +55 -0
- sequenzy/types/commerce_product.py +99 -0
- sequenzy/types/commerce_product_provider.py +5 -0
- sequenzy/types/commerce_product_variants_item.py +47 -0
- sequenzy/types/commerce_product_variants_item_options_item.py +20 -0
- sequenzy/types/commerce_value_forecast.py +47 -0
- sequenzy/types/commerce_value_forecast_actual.py +33 -0
- sequenzy/types/commerce_value_forecast_confidence.py +5 -0
- sequenzy/types/commerce_value_forecast_eligibility.py +20 -0
- sequenzy/types/commerce_value_forecast_eligibility_reasons_item.py +22 -0
- sequenzy/types/commerce_value_forecast_forecast.py +56 -0
- sequenzy/types/commerce_value_forecast_history.py +40 -0
- sequenzy/types/commerce_value_forecast_status.py +5 -0
- sequenzy/types/company.py +204 -0
- sequenzy/types/company_email_length_preference.py +5 -0
- sequenzy/types/company_reply_tracking_domain_mode.py +5 -0
- sequenzy/types/conversation_message.py +61 -0
- sequenzy/types/conversation_message_type.py +5 -0
- sequenzy/types/conversation_summary.py +51 -0
- sequenzy/types/conversation_summary_context.py +27 -0
- sequenzy/types/conversation_summary_status.py +5 -0
- sequenzy/types/detailed_subscriber.py +37 -0
- sequenzy/types/email.py +44 -0
- sequenzy/types/email_block.py +108 -0
- sequenzy/types/email_block_condition_field_reference.py +74 -0
- sequenzy/types/email_block_condition_field_reference_preview_support.py +7 -0
- sequenzy/types/email_block_conditions_item.py +31 -0
- sequenzy/types/email_block_conditions_item_field.py +7 -0
- sequenzy/types/email_block_conditions_item_operator.py +8 -0
- sequenzy/types/email_block_field_reference.py +53 -0
- sequenzy/types/email_block_layout.py +5 -0
- sequenzy/types/email_block_overlay_position.py +5 -0
- sequenzy/types/email_block_styles.py +69 -0
- sequenzy/types/email_block_styles_text_align.py +5 -0
- sequenzy/types/email_block_type.py +47 -0
- sequenzy/types/email_block_type_reference.py +49 -0
- sequenzy/types/email_body_input.py +34 -0
- sequenzy/types/email_component.py +64 -0
- sequenzy/types/email_component_component_type.py +5 -0
- sequenzy/types/email_component_default_slot.py +5 -0
- sequenzy/types/email_event.py +89 -0
- sequenzy/types/email_event_email_type.py +5 -0
- sequenzy/types/email_event_event_type.py +10 -0
- sequenzy/types/email_preset.py +5 -0
- sequenzy/types/email_send.py +250 -0
- sequenzy/types/email_send_additional_recipients.py +25 -0
- sequenzy/types/email_send_automation.py +20 -0
- sequenzy/types/email_send_campaign.py +20 -0
- sequenzy/types/email_send_email_type.py +5 -0
- sequenzy/types/email_send_event.py +101 -0
- sequenzy/types/email_send_event_delivery_policy.py +5 -0
- sequenzy/types/email_send_event_email_type.py +5 -0
- sequenzy/types/email_send_internal_failure_code.py +7 -0
- sequenzy/types/email_send_status.py +10 -0
- sequenzy/types/email_send_subscriber.py +28 -0
- sequenzy/types/email_send_suppression_reason.py +5 -0
- sequenzy/types/email_send_type.py +5 -0
- sequenzy/types/email_theme_patch.py +40 -0
- sequenzy/types/email_theme_patch_button_style.py +5 -0
- sequenzy/types/email_theme_patch_colors.py +33 -0
- sequenzy/types/email_theme_patch_layout.py +52 -0
- sequenzy/types/email_theme_patch_preset_id.py +5 -0
- sequenzy/types/email_theme_patch_typography.py +55 -0
- sequenzy/types/engagement_stats.py +143 -0
- sequenzy/types/engagement_stats_rate_denominator_basis.py +5 -0
- sequenzy/types/error.py +30 -0
- sequenzy/types/event_schema.py +71 -0
- sequenzy/types/event_schema_documented_providers_item.py +7 -0
- sequenzy/types/event_schema_providers_item.py +33 -0
- sequenzy/types/event_schema_providers_item_properties_item.py +43 -0
- sequenzy/types/event_schema_providers_item_provider.py +7 -0
- sequenzy/types/filter_group.py +39 -0
- sequenzy/types/filter_group_children_item.py +54 -0
- sequenzy/types/filter_group_join_operator.py +5 -0
- sequenzy/types/filter_group_kind.py +5 -0
- sequenzy/types/filter_leaf.py +41 -0
- sequenzy/types/filter_leaf_field.py +33 -0
- sequenzy/types/filter_leaf_kind.py +5 -0
- sequenzy/types/filter_leaf_operator.py +25 -0
- sequenzy/types/integration_activity_entry.py +86 -0
- sequenzy/types/integration_activity_entry_status.py +7 -0
- sequenzy/types/integration_detail.py +74 -0
- sequenzy/types/integration_detail_activity.py +42 -0
- sequenzy/types/integration_detail_activity_recent_failures_item.py +30 -0
- sequenzy/types/integration_detail_ingestion.py +88 -0
- sequenzy/types/integration_detail_ingestion_list_targeting.py +7 -0
- sequenzy/types/integration_detail_ingestion_lists_item.py +20 -0
- sequenzy/types/integration_detail_integration.py +91 -0
- sequenzy/types/integration_detail_integration_category.py +7 -0
- sequenzy/types/integration_detail_pixel.py +40 -0
- sequenzy/types/integration_detail_recommendations_item.py +23 -0
- sequenzy/types/integration_detail_recommendations_item_severity.py +5 -0
- sequenzy/types/integration_event_wiring.py +81 -0
- sequenzy/types/integration_event_wiring_listeners_item.py +37 -0
- sequenzy/types/integration_event_wiring_rule_source.py +5 -0
- sequenzy/types/integration_event_wiring_rules_item.py +27 -0
- sequenzy/types/integration_pixel_state.py +47 -0
- sequenzy/types/integration_pixel_state_pixel.py +68 -0
- sequenzy/types/integration_provider_capability.py +78 -0
- sequenzy/types/integration_provider_capability_actions_item.py +10 -0
- sequenzy/types/integration_provider_capability_availability.py +5 -0
- sequenzy/types/integration_provider_capability_category.py +7 -0
- sequenzy/types/integration_provider_capability_connect_fields_item.py +26 -0
- sequenzy/types/integration_provider_capability_connect_fields_item_key.py +7 -0
- sequenzy/types/integration_provider_capability_connect_method.py +7 -0
- sequenzy/types/integration_provider_capability_emits_item.py +27 -0
- sequenzy/types/integration_provider_capability_writes_attributes_item.py +20 -0
- sequenzy/types/integration_summary.py +91 -0
- sequenzy/types/integration_summary_category.py +7 -0
- sequenzy/types/integration_sync_skip_summary.py +47 -0
- sequenzy/types/integration_sync_skip_summary_records_item.py +27 -0
- sequenzy/types/integration_sync_skip_summary_records_item_outcome.py +5 -0
- sequenzy/types/internal_server_error_body.py +20 -0
- sequenzy/types/landing_page_content.py +41 -0
- sequenzy/types/landing_page_content_seo.py +50 -0
- sequenzy/types/landing_page_content_theme.py +46 -0
- sequenzy/types/landing_page_content_theme_section_animation.py +7 -0
- sequenzy/types/landing_page_content_theme_section_animation_speed.py +5 -0
- sequenzy/types/landing_page_domain.py +125 -0
- sequenzy/types/landing_page_domain_dns_record_type.py +5 -0
- sequenzy/types/landing_page_domain_domain_scope.py +5 -0
- sequenzy/types/landing_page_summary.py +94 -0
- sequenzy/types/landing_page_summary_custom_domain_scope.py +5 -0
- sequenzy/types/landing_page_summary_status.py +5 -0
- sequenzy/types/not_found_error_body.py +21 -0
- sequenzy/types/not_found_error_body_error.py +20 -0
- sequenzy/types/notification_preference.py +29 -0
- sequenzy/types/notification_preference_event.py +7 -0
- sequenzy/types/notification_preference_mode.py +5 -0
- sequenzy/types/notification_preferences.py +47 -0
- sequenzy/types/outbound_webhook_delivery.py +56 -0
- sequenzy/types/outbound_webhook_delivery_attempt.py +40 -0
- sequenzy/types/outbound_webhook_delivery_attempt_status.py +5 -0
- sequenzy/types/outbound_webhook_delivery_status.py +7 -0
- sequenzy/types/outbound_webhook_endpoint.py +80 -0
- sequenzy/types/outbound_webhook_endpoint_signing_secrets_item.py +26 -0
- sequenzy/types/outbound_webhook_endpoint_status.py +5 -0
- sequenzy/types/outbound_webhook_event_type.py +34 -0
- sequenzy/types/pagination.py +26 -0
- sequenzy/types/poll_response.py +85 -0
- sequenzy/types/poll_response_variant.py +5 -0
- sequenzy/types/poll_results_summary.py +84 -0
- sequenzy/types/poll_results_summary_answers_item.py +33 -0
- sequenzy/types/poll_results_summary_nps.py +30 -0
- sequenzy/types/poll_results_summary_variant.py +5 -0
- sequenzy/types/product.py +60 -0
- sequenzy/types/product_digital_delivery.py +40 -0
- sequenzy/types/product_digital_delivery_source.py +5 -0
- sequenzy/types/product_provider.py +5 -0
- sequenzy/types/recommendation_metrics.py +83 -0
- sequenzy/types/recommendation_metrics_revenue_by_currency_item.py +33 -0
- sequenzy/types/recommendation_metrics_top_products_item.py +35 -0
- sequenzy/types/render_email_request.py +65 -0
- sequenzy/types/render_email_request_subscriber.py +40 -0
- sequenzy/types/render_email_response.py +86 -0
- sequenzy/types/render_email_response_entity.py +26 -0
- sequenzy/types/render_email_response_entity_type.py +5 -0
- sequenzy/types/render_email_response_unevaluated_conditions_item.py +41 -0
- sequenzy/types/render_email_response_unevaluated_conditions_item_reason.py +7 -0
- sequenzy/types/render_email_response_unresolved_merge_tags_item.py +28 -0
- sequenzy/types/render_email_response_unresolved_merge_tags_item_reason.py +5 -0
- sequenzy/types/reply_profile_summary.py +30 -0
- sequenzy/types/resolved_audience_entity.py +28 -0
- sequenzy/types/resolved_audience_rule.py +24 -0
- sequenzy/types/resolved_audience_rule_type.py +5 -0
- sequenzy/types/resolved_campaign_audience.py +67 -0
- sequenzy/types/resolved_campaign_audience_filter_join_operator.py +5 -0
- sequenzy/types/resolved_campaign_audience_type.py +7 -0
- sequenzy/types/saved_popup.py +81 -0
- sequenzy/types/saved_popup_embed.py +36 -0
- sequenzy/types/saved_popup_frequency.py +30 -0
- sequenzy/types/saved_popup_schedule.py +37 -0
- sequenzy/types/saved_popup_stats.py +58 -0
- sequenzy/types/saved_popup_status.py +5 -0
- sequenzy/types/saved_popup_targeting.py +31 -0
- sequenzy/types/saved_popup_targeting_device.py +5 -0
- sequenzy/types/saved_popup_trigger.py +56 -0
- sequenzy/types/saved_popup_trigger_type.py +5 -0
- sequenzy/types/saved_popup_visual.py +37 -0
- sequenzy/types/saved_popup_visual_placement.py +5 -0
- sequenzy/types/saved_popup_visual_style.py +7 -0
- sequenzy/types/segment.py +53 -0
- sequenzy/types/segment_filter_join_operator.py +5 -0
- sequenzy/types/segment_format.py +5 -0
- sequenzy/types/sender_health_metric.py +37 -0
- sequenzy/types/sender_health_threshold_bound.py +24 -0
- sequenzy/types/sender_profile_summary.py +55 -0
- sequenzy/types/sending_status.py +85 -0
- sequenzy/types/sending_status_metrics_window.py +42 -0
- sequenzy/types/sending_status_metrics_window_kind.py +5 -0
- sequenzy/types/sending_status_pause_reason_kind.py +10 -0
- sequenzy/types/sending_status_remediation.py +37 -0
- sequenzy/types/sending_status_self_resume.py +78 -0
- sequenzy/types/sending_status_self_resume_ai_review_status.py +7 -0
- sequenzy/types/sending_status_self_resume_unavailable_reason.py +8 -0
- sequenzy/types/sending_status_sender_health.py +71 -0
- sequenzy/types/sending_status_sender_health_enforcement_mode.py +5 -0
- sequenzy/types/sending_status_status.py +5 -0
- sequenzy/types/sequence_ab_test_step_summary.py +53 -0
- sequenzy/types/sequence_ab_test_step_summary_test_type.py +5 -0
- sequenzy/types/sequence_ab_test_step_variant.py +54 -0
- sequenzy/types/sequence_action_response.py +79 -0
- sequenzy/types/sequence_branch_condition_input.py +155 -0
- sequenzy/types/sequence_branch_condition_input_activity_scope.py +7 -0
- sequenzy/types/sequence_branch_condition_input_condition_type.py +21 -0
- sequenzy/types/sequence_branch_input.py +102 -0
- sequenzy/types/sequence_branch_input_split_mode.py +5 -0
- sequenzy/types/sequence_branch_path_step_input.py +210 -0
- sequenzy/types/sequence_branch_path_step_input_ineligible_action.py +5 -0
- sequenzy/types/sequence_branch_path_step_input_node_type.py +22 -0
- sequenzy/types/sequence_branch_path_step_input_type.py +10 -0
- sequenzy/types/sequence_create_response.py +51 -0
- sequenzy/types/sequence_create_response_event_tracking.py +72 -0
- sequenzy/types/sequence_create_response_event_tracking_integration_guide.py +20 -0
- sequenzy/types/sequence_create_response_event_tracking_payload_contract.py +42 -0
- sequenzy/types/sequence_create_response_sequence.py +107 -0
- sequenzy/types/sequence_delay_input.py +134 -0
- sequenzy/types/sequence_delay_input_direction.py +5 -0
- sequenzy/types/sequence_delay_input_missing_action.py +5 -0
- sequenzy/types/sequence_delay_input_mode.py +5 -0
- sequenzy/types/sequence_delay_input_until_missing_action.py +5 -0
- sequenzy/types/sequence_delay_input_until_offset_direction.py +5 -0
- sequenzy/types/sequence_delay_offset_input.py +25 -0
- sequenzy/types/sequence_details.py +91 -0
- sequenzy/types/sequence_details_enrichment_status.py +5 -0
- sequenzy/types/sequence_discount_input.py +173 -0
- sequenzy/types/sequence_discount_input_discount_type.py +5 -0
- sequenzy/types/sequence_discount_input_duration.py +5 -0
- sequenzy/types/sequence_discount_input_provider.py +5 -0
- sequenzy/types/sequence_effective_status.py +7 -0
- sequenzy/types/sequence_email.py +206 -0
- sequenzy/types/sequence_email_delay_mode.py +5 -0
- sequenzy/types/sequence_email_email_preset.py +5 -0
- sequenzy/types/sequence_email_node_type.py +5 -0
- sequenzy/types/sequence_email_update_input.py +203 -0
- sequenzy/types/sequence_email_update_input_email_preset.py +5 -0
- sequenzy/types/sequence_enrollment_cancel_response.py +70 -0
- sequenzy/types/sequence_enrollment_cancel_response_enrollments_item.py +33 -0
- sequenzy/types/sequence_enrollment_counts.py +50 -0
- sequenzy/types/sequence_enrollment_counts_by_current_node_item.py +77 -0
- sequenzy/types/sequence_enrollment_list_response.py +61 -0
- sequenzy/types/sequence_enrollment_list_response_enrollments_item.py +203 -0
- sequenzy/types/sequence_enrollment_list_response_enrollments_item_entered_via.py +44 -0
- sequenzy/types/sequence_enrollment_list_response_enrollments_item_entered_via_kind.py +8 -0
- sequenzy/types/sequence_enrollment_list_response_enrollments_item_status.py +7 -0
- sequenzy/types/sequence_enrollment_list_response_pagination.py +27 -0
- sequenzy/types/sequence_enrollment_mode.py +5 -0
- sequenzy/types/sequence_enrollment_move_response.py +133 -0
- sequenzy/types/sequence_enrollment_move_response_enqueue_errors_item.py +24 -0
- sequenzy/types/sequence_enrollment_move_response_enrollments_item.py +33 -0
- sequenzy/types/sequence_enrollment_realign_job_response.py +36 -0
- sequenzy/types/sequence_enrollment_realign_job_response_status.py +7 -0
- sequenzy/types/sequence_enrollment_realign_queued_response.py +30 -0
- sequenzy/types/sequence_enrollment_realign_queued_response_status.py +5 -0
- sequenzy/types/sequence_enrollment_realign_response.py +125 -0
- sequenzy/types/sequence_enrollment_realign_response_changes_item.py +42 -0
- sequenzy/types/sequence_goal.py +69 -0
- sequenzy/types/sequence_goal_attribute_condition.py +5 -0
- sequenzy/types/sequence_goal_input.py +65 -0
- sequenzy/types/sequence_goal_input_attribute_condition.py +7 -0
- sequenzy/types/sequence_goal_input_trigger_type.py +5 -0
- sequenzy/types/sequence_goal_trigger_type.py +5 -0
- sequenzy/types/sequence_graph_edge_input.py +42 -0
- sequenzy/types/sequence_graph_edit_input.py +76 -0
- sequenzy/types/sequence_graph_edit_input_action.py +7 -0
- sequenzy/types/sequence_inbound_webhook.py +50 -0
- sequenzy/types/sequence_inbound_webhook_field_mapping.py +32 -0
- sequenzy/types/sequence_inbound_webhook_status.py +5 -0
- sequenzy/types/sequence_linear_step_insertion_input.py +42 -0
- sequenzy/types/sequence_node.py +64 -0
- sequenzy/types/sequence_node_update_hints.py +45 -0
- sequenzy/types/sequence_node_update_input.py +47 -0
- sequenzy/types/sequence_node_update_input_changes.py +49 -0
- sequenzy/types/sequence_node_update_input_changes_email_preset.py +5 -0
- sequenzy/types/sequence_path_step_config.py +329 -0
- sequenzy/types/sequence_path_step_config_activity_scope.py +7 -0
- sequenzy/types/sequence_path_step_config_condition_type.py +21 -0
- sequenzy/types/sequence_path_step_config_method.py +5 -0
- sequenzy/types/sequence_path_step_config_on_error.py +5 -0
- sequenzy/types/sequence_path_step_config_output_fields_item.py +46 -0
- sequenzy/types/sequence_path_step_config_timeout_action.py +5 -0
- sequenzy/types/sequence_position.py +20 -0
- sequenzy/types/sequence_sending_window.py +56 -0
- sequenzy/types/sequence_sending_window_days_item.py +7 -0
- sequenzy/types/sequence_sms_step_update_input.py +64 -0
- sequenzy/types/sequence_sms_step_update_input_ineligible_action.py +5 -0
- sequenzy/types/sequence_status.py +5 -0
- sequenzy/types/sequence_step_input.py +388 -0
- sequenzy/types/sequence_step_input_discount_type.py +5 -0
- sequenzy/types/sequence_step_input_duration.py +5 -0
- sequenzy/types/sequence_step_input_ineligible_action.py +5 -0
- sequenzy/types/sequence_step_input_node_type.py +7 -0
- sequenzy/types/sequence_step_input_provider.py +5 -0
- sequenzy/types/sequence_step_input_type.py +7 -0
- sequenzy/types/sequence_stop_condition.py +43 -0
- sequenzy/types/sequence_stop_condition_match_config.py +110 -0
- sequenzy/types/sequence_stop_condition_match_config_entry_audience.py +25 -0
- sequenzy/types/sequence_stop_condition_match_config_entry_audience_audience.py +5 -0
- sequenzy/types/sequence_stop_condition_match_config_event_property.py +22 -0
- sequenzy/types/sequence_stop_condition_match_config_event_property_filter.py +34 -0
- sequenzy/types/sequence_stop_condition_match_config_event_property_filter_property_filters_item.py +31 -0
- sequenzy/types/sequence_stop_condition_match_config_event_property_filter_property_filters_item_operator.py +8 -0
- sequenzy/types/sequence_stop_condition_match_config_event_property_rules_item.py +26 -0
- sequenzy/types/sequence_stop_condition_match_config_field_value.py +23 -0
- sequenzy/types/sequence_stop_condition_match_config_field_value_operator.py +7 -0
- sequenzy/types/sequence_stop_condition_type.py +17 -0
- sequenzy/types/sequence_subscriber_update_step_update_input.py +30 -0
- sequenzy/types/sequence_summary.py +151 -0
- sequenzy/types/sequence_summary_paused_by_user.py +21 -0
- sequenzy/types/sequence_trigger_property_filter.py +34 -0
- sequenzy/types/sequence_trigger_property_filter_operator.py +8 -0
- sequenzy/types/sequence_trigger_property_filter_value.py +9 -0
- sequenzy/types/sequence_trigger_property_filter_value_three_item.py +5 -0
- sequenzy/types/sequence_trigger_type.py +10 -0
- sequenzy/types/sequence_wait_until_input.py +93 -0
- sequenzy/types/sequence_wait_until_input_direction.py +5 -0
- sequenzy/types/sequence_wait_until_input_missing_action.py +5 -0
- sequenzy/types/sequence_wait_until_input_until_missing_action.py +5 -0
- sequenzy/types/sequence_wait_until_input_until_offset_direction.py +5 -0
- sequenzy/types/sequence_wait_until_weekday_input.py +86 -0
- sequenzy/types/service_unavailable_error_body.py +26 -0
- sequenzy/types/shopify_browse_abandonment_settings.py +48 -0
- sequenzy/types/shopify_cart_abandonment_settings.py +60 -0
- sequenzy/types/shopify_price_drop_settings.py +59 -0
- sequenzy/types/subscriber.py +91 -0
- sequenzy/types/subscriber_activity_event.py +108 -0
- sequenzy/types/subscriber_activity_event_engagement_quality.py +5 -0
- sequenzy/types/subscriber_email_stats.py +25 -0
- sequenzy/types/subscriber_import.py +96 -0
- sequenzy/types/subscriber_import_record.py +69 -0
- sequenzy/types/subscriber_import_record_custom_attributes_value.py +11 -0
- sequenzy/types/subscriber_import_record_custom_attributes_value_three_item.py +5 -0
- sequenzy/types/subscriber_import_record_status.py +5 -0
- sequenzy/types/subscriber_import_status.py +5 -0
- sequenzy/types/subscriber_list.py +62 -0
- sequenzy/types/subscriber_list_membership.py +42 -0
- sequenzy/types/subscriber_list_pagination.py +54 -0
- sequenzy/types/subscriber_note.py +40 -0
- sequenzy/types/subscriber_note_author.py +21 -0
- sequenzy/types/subscriber_sequence_enrollment.py +54 -0
- sequenzy/types/subscriber_sms_status.py +7 -0
- sequenzy/types/subscriber_status.py +5 -0
- sequenzy/types/subscriber_update_config.py +39 -0
- sequenzy/types/subscriber_update_config_custom_attribute_updates_item.py +37 -0
- sequenzy/types/subscriber_update_config_custom_attribute_updates_item_value.py +5 -0
- sequenzy/types/subscriber_update_config_custom_attribute_updates_item_value_type.py +7 -0
- sequenzy/types/subscriber_update_config_status.py +5 -0
- sequenzy/types/sync_rule.py +36 -0
- sequenzy/types/sync_rule_actions.py +26 -0
- sequenzy/types/sync_rule_conditions.py +56 -0
- sequenzy/types/sync_rule_conditions_purchased_product.py +32 -0
- sequenzy/types/tag_definition.py +26 -0
- sequenzy/types/team_member.py +53 -0
- sequenzy/types/team_member_invited_by.py +21 -0
- sequenzy/types/team_member_kind.py +5 -0
- sequenzy/types/team_member_role.py +5 -0
- sequenzy/types/team_member_status.py +5 -0
- sequenzy/types/team_member_user.py +22 -0
- sequenzy/types/template_detail.py +52 -0
- sequenzy/types/template_localization.py +51 -0
- sequenzy/types/template_localization_status.py +5 -0
- sequenzy/types/template_summary.py +43 -0
- sequenzy/types/too_many_requests_error_body.py +20 -0
- sequenzy/types/tracking_settings.py +50 -0
- sequenzy/types/tracking_settings_auto_utm.py +20 -0
- sequenzy/types/tracking_settings_consent.py +59 -0
- sequenzy/types/tracking_settings_reply_tracking.py +31 -0
- sequenzy/types/tracking_settings_tracking.py +48 -0
- sequenzy/types/tracking_settings_tracking_domain.py +37 -0
- sequenzy/types/transactional_email.py +34 -0
- sequenzy/types/transactional_email_details.py +40 -0
- sequenzy/types/transactional_email_list_item.py +28 -0
- sequenzy/types/transactional_email_list_item_stats.py +31 -0
- sequenzy/types/transactional_metrics_response.py +49 -0
- sequenzy/types/transactional_metrics_response_bounce_breakdown.py +25 -0
- sequenzy/types/transactional_metrics_response_bounce_breakdown_subtypes_item.py +28 -0
- sequenzy/types/transactional_metrics_response_bounce_breakdown_subtypes_item_type.py +7 -0
- sequenzy/types/transactional_metrics_response_clicked_links_item.py +21 -0
- sequenzy/types/transactional_metrics_response_complaints.py +20 -0
- sequenzy/types/transactional_metrics_response_engagement_breakdown.py +26 -0
- sequenzy/types/transactional_metrics_response_engagement_breakdown_human.py +20 -0
- sequenzy/types/transactional_metrics_response_engagement_breakdown_machine.py +20 -0
- sequenzy/types/transactional_metrics_response_stats.py +25 -0
- sequenzy/types/transactional_metrics_response_transactional.py +21 -0
- sequenzy/types/transactional_send_diagnostics.py +41 -0
- sequenzy/types/transactional_send_diagnostics_missing_required_variables_item.py +34 -0
- sequenzy/types/transactional_send_diagnostics_missing_required_variables_item_used_in_item.py +31 -0
- sequenzy/types/transactional_send_diagnostics_missing_required_variables_item_used_in_item_surface.py +7 -0
- sequenzy/types/transactional_send_diagnostics_status.py +5 -0
- sequenzy/types/transactional_send_diagnostics_unused_variables_item.py +21 -0
- sequenzy/types/unauthorized_error_body.py +21 -0
- sequenzy/types/unauthorized_error_body_error.py +20 -0
- sequenzy/types/unprocessable_entity_error_body.py +26 -0
- sequenzy/types/url_attachment.py +31 -0
- sequenzy/types/web_tracking_key.py +100 -0
- sequenzy/types/website.py +102 -0
- sequenzy/types/website_readiness.py +26 -0
- sequenzy/types/website_readiness_reason.py +10 -0
- sequenzy/types/website_readiness_status.py +7 -0
- sequenzy/types/website_status.py +7 -0
- sequenzy/web_tracking_keys/__init__.py +55 -0
- sequenzy/web_tracking_keys/client.py +554 -0
- sequenzy/web_tracking_keys/raw_client.py +1087 -0
- sequenzy/web_tracking_keys/types/__init__.py +53 -0
- sequenzy/web_tracking_keys/types/create_web_tracking_keys_response.py +22 -0
- sequenzy/web_tracking_keys/types/delete_web_tracking_keys_response.py +20 -0
- sequenzy/web_tracking_keys/types/get_web_tracking_keys_response.py +21 -0
- sequenzy/web_tracking_keys/types/list_web_tracking_keys_response.py +21 -0
- sequenzy/web_tracking_keys/types/mint_identity_web_tracking_keys_response.py +47 -0
- sequenzy/web_tracking_keys/types/update_web_tracking_keys_response.py +21 -0
- sequenzy/webhooks/__init__.py +70 -0
- sequenzy/webhooks/client.py +834 -0
- sequenzy/webhooks/raw_client.py +1602 -0
- sequenzy/webhooks/types/__init__.py +68 -0
- sequenzy/webhooks/types/add_signing_secret_webhooks_response.py +21 -0
- sequenzy/webhooks/types/create_webhooks_response.py +21 -0
- sequenzy/webhooks/types/delete_webhooks_response.py +21 -0
- sequenzy/webhooks/types/list_deliveries_webhooks_response.py +21 -0
- sequenzy/webhooks/types/list_delivery_attempts_webhooks_response.py +21 -0
- sequenzy/webhooks/types/list_webhooks_response.py +21 -0
- sequenzy/webhooks/types/remove_signing_secret_webhooks_response.py +21 -0
- sequenzy/webhooks/types/replay_delivery_webhooks_response.py +21 -0
- sequenzy/webhooks/types/test_webhooks_response.py +29 -0
- sequenzy/webhooks/types/update_webhooks_request_status.py +5 -0
- sequenzy/webhooks/types/update_webhooks_response.py +21 -0
- sequenzy/websites/__init__.py +39 -0
- sequenzy/websites/client.py +320 -0
- sequenzy/websites/raw_client.py +696 -0
- sequenzy/websites/types/__init__.py +42 -0
- sequenzy/websites/types/add_websites_response.py +21 -0
- sequenzy/websites/types/get_websites_response.py +21 -0
- sequenzy/websites/types/list_websites_response.py +21 -0
- sequenzy/websites/types/verify_sending_domain_response.py +42 -0
- sequenzy/widgets/__init__.py +133 -0
- sequenzy/widgets/client.py +2327 -0
- sequenzy/widgets/preferences/__init__.py +34 -0
- sequenzy/widgets/preferences/client.py +123 -0
- sequenzy/widgets/preferences/raw_client.py +224 -0
- sequenzy/widgets/preferences/types/__init__.py +34 -0
- sequenzy/widgets/preferences/types/generate_token_preferences_response.py +23 -0
- sequenzy/widgets/raw_client.py +3966 -0
- sequenzy/widgets/types/__init__.py +127 -0
- sequenzy/widgets/types/create_saved_form_request_duplicate_strategy.py +5 -0
- sequenzy/widgets/types/create_saved_form_response.py +21 -0
- sequenzy/widgets/types/create_saved_popup_request_duplicate_strategy.py +5 -0
- sequenzy/widgets/types/create_saved_popup_request_placement.py +5 -0
- sequenzy/widgets/types/create_saved_popup_request_presentation.py +7 -0
- sequenzy/widgets/types/create_saved_popup_request_status.py +5 -0
- sequenzy/widgets/types/create_saved_popup_request_template.py +21 -0
- sequenzy/widgets/types/create_saved_popup_response.py +24 -0
- sequenzy/widgets/types/delete_saved_popup_response.py +25 -0
- sequenzy/widgets/types/duplicate_saved_popup_response.py +22 -0
- sequenzy/widgets/types/get_saved_form_embed_response.py +22 -0
- sequenzy/widgets/types/get_saved_form_embed_response_embed.py +36 -0
- sequenzy/widgets/types/get_saved_popup_embed_response.py +23 -0
- sequenzy/widgets/types/get_saved_popup_response.py +23 -0
- sequenzy/widgets/types/list_saved_forms_response.py +24 -0
- sequenzy/widgets/types/list_saved_forms_response_forms_item.py +27 -0
- sequenzy/widgets/types/list_saved_popups_request_include_content.py +5 -0
- sequenzy/widgets/types/list_saved_popups_response.py +30 -0
- sequenzy/widgets/types/submit_company_scoped_saved_signup_form_request_duplicate_strategy.py +7 -0
- sequenzy/widgets/types/submit_company_scoped_saved_signup_form_response.py +19 -0
- sequenzy/widgets/types/submit_saved_popup_response.py +32 -0
- sequenzy/widgets/types/submit_signup_form_request_duplicate_strategy.py +5 -0
- sequenzy/widgets/types/submit_signup_form_response.py +19 -0
- sequenzy/widgets/types/update_saved_form_request_duplicate_strategy.py +5 -0
- sequenzy/widgets/types/update_saved_form_response.py +26 -0
- sequenzy/widgets/types/update_saved_popup_request_duplicate_strategy.py +5 -0
- sequenzy/widgets/types/update_saved_popup_request_placement.py +5 -0
- sequenzy/widgets/types/update_saved_popup_request_presentation.py +7 -0
- sequenzy/widgets/types/update_saved_popup_request_status.py +5 -0
- sequenzy/widgets/types/update_saved_popup_response.py +24 -0
- sequenzy-2.0.0.dist-info/METADATA +204 -0
- sequenzy-2.0.0.dist-info/RECORD +1149 -0
- sequenzy-2.0.0.dist-info/WHEEL +4 -0
- sequenzy-2.0.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,760 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from json.decoder import JSONDecodeError
|
|
5
|
+
|
|
6
|
+
from ..core.api_error import ApiError
|
|
7
|
+
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
8
|
+
from ..core.http_response import AsyncHttpResponse, HttpResponse
|
|
9
|
+
from ..core.jsonable_encoder import encode_path_param
|
|
10
|
+
from ..core.parse_error import ParsingError
|
|
11
|
+
from ..core.pydantic_utilities import parse_obj_as
|
|
12
|
+
from ..core.request_options import RequestOptions
|
|
13
|
+
from ..errors.bad_request_error import BadRequestError
|
|
14
|
+
from ..errors.conflict_error import ConflictError
|
|
15
|
+
from ..errors.forbidden_error import ForbiddenError
|
|
16
|
+
from ..errors.internal_server_error import InternalServerError
|
|
17
|
+
from ..errors.not_found_error import NotFoundError
|
|
18
|
+
from ..errors.service_unavailable_error import ServiceUnavailableError
|
|
19
|
+
from ..errors.unauthorized_error import UnauthorizedError
|
|
20
|
+
from ..types.error import Error
|
|
21
|
+
from .types.get_suppressions_response import GetSuppressionsResponse
|
|
22
|
+
from .types.list_suppressions_request_order import ListSuppressionsRequestOrder
|
|
23
|
+
from .types.list_suppressions_request_sort import ListSuppressionsRequestSort
|
|
24
|
+
from .types.list_suppressions_response import ListSuppressionsResponse
|
|
25
|
+
from .types.remove_suppressions_response import RemoveSuppressionsResponse
|
|
26
|
+
from pydantic import ValidationError
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class RawSuppressionsClient:
|
|
30
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
31
|
+
self._client_wrapper = client_wrapper
|
|
32
|
+
|
|
33
|
+
def get(
|
|
34
|
+
self,
|
|
35
|
+
email: str,
|
|
36
|
+
*,
|
|
37
|
+
region: typing.Optional[str] = None,
|
|
38
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
39
|
+
) -> HttpResponse[GetSuppressionsResponse]:
|
|
40
|
+
"""
|
|
41
|
+
Checks one exact recipient against Sequenzy's local bounce and complaint safeguards and the regional Amazon SES account-level suppression list. The lookup does not expose unrelated recipients from the shared SES account.
|
|
42
|
+
|
|
43
|
+
Parameters
|
|
44
|
+
----------
|
|
45
|
+
email : str
|
|
46
|
+
Exact recipient email address
|
|
47
|
+
|
|
48
|
+
region : typing.Optional[str]
|
|
49
|
+
Optional AWS SES region. Omit to check the default region and regions used by the company's sending domains.
|
|
50
|
+
|
|
51
|
+
request_options : typing.Optional[RequestOptions]
|
|
52
|
+
Request-specific configuration.
|
|
53
|
+
|
|
54
|
+
Returns
|
|
55
|
+
-------
|
|
56
|
+
HttpResponse[GetSuppressionsResponse]
|
|
57
|
+
Recipient suppression status
|
|
58
|
+
"""
|
|
59
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
60
|
+
f"suppressions/{encode_path_param(email)}",
|
|
61
|
+
method="GET",
|
|
62
|
+
params={
|
|
63
|
+
"region": region,
|
|
64
|
+
},
|
|
65
|
+
request_options=request_options,
|
|
66
|
+
)
|
|
67
|
+
try:
|
|
68
|
+
if 200 <= _response.status_code < 300:
|
|
69
|
+
_data = typing.cast(
|
|
70
|
+
GetSuppressionsResponse,
|
|
71
|
+
parse_obj_as(
|
|
72
|
+
type_=GetSuppressionsResponse, # type: ignore
|
|
73
|
+
object_=_response.json(),
|
|
74
|
+
),
|
|
75
|
+
)
|
|
76
|
+
return HttpResponse(response=_response, data=_data)
|
|
77
|
+
if _response.status_code == 400:
|
|
78
|
+
raise BadRequestError(
|
|
79
|
+
headers=dict(_response.headers),
|
|
80
|
+
body=typing.cast(
|
|
81
|
+
typing.Any,
|
|
82
|
+
parse_obj_as(
|
|
83
|
+
type_=typing.Any, # type: ignore
|
|
84
|
+
object_=_response.json(),
|
|
85
|
+
),
|
|
86
|
+
),
|
|
87
|
+
)
|
|
88
|
+
if _response.status_code == 401:
|
|
89
|
+
raise UnauthorizedError(
|
|
90
|
+
headers=dict(_response.headers),
|
|
91
|
+
body=typing.cast(
|
|
92
|
+
typing.Any,
|
|
93
|
+
parse_obj_as(
|
|
94
|
+
type_=typing.Any, # type: ignore
|
|
95
|
+
object_=_response.json(),
|
|
96
|
+
),
|
|
97
|
+
),
|
|
98
|
+
)
|
|
99
|
+
if _response.status_code == 403:
|
|
100
|
+
raise ForbiddenError(
|
|
101
|
+
headers=dict(_response.headers),
|
|
102
|
+
body=typing.cast(
|
|
103
|
+
Error,
|
|
104
|
+
parse_obj_as(
|
|
105
|
+
type_=Error, # type: ignore
|
|
106
|
+
object_=_response.json(),
|
|
107
|
+
),
|
|
108
|
+
),
|
|
109
|
+
)
|
|
110
|
+
if _response.status_code == 500:
|
|
111
|
+
raise InternalServerError(
|
|
112
|
+
headers=dict(_response.headers),
|
|
113
|
+
body=typing.cast(
|
|
114
|
+
typing.Any,
|
|
115
|
+
parse_obj_as(
|
|
116
|
+
type_=typing.Any, # type: ignore
|
|
117
|
+
object_=_response.json(),
|
|
118
|
+
),
|
|
119
|
+
),
|
|
120
|
+
)
|
|
121
|
+
if _response.status_code == 503:
|
|
122
|
+
raise ServiceUnavailableError(
|
|
123
|
+
headers=dict(_response.headers),
|
|
124
|
+
body=typing.cast(
|
|
125
|
+
typing.Any,
|
|
126
|
+
parse_obj_as(
|
|
127
|
+
type_=typing.Any, # type: ignore
|
|
128
|
+
object_=_response.json(),
|
|
129
|
+
),
|
|
130
|
+
),
|
|
131
|
+
)
|
|
132
|
+
_response_json = _response.json()
|
|
133
|
+
except JSONDecodeError:
|
|
134
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
135
|
+
except ValidationError as e:
|
|
136
|
+
raise ParsingError(
|
|
137
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
138
|
+
)
|
|
139
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
140
|
+
|
|
141
|
+
def list(
|
|
142
|
+
self,
|
|
143
|
+
*,
|
|
144
|
+
limit: typing.Optional[int] = None,
|
|
145
|
+
order: typing.Optional[ListSuppressionsRequestOrder] = None,
|
|
146
|
+
page: typing.Optional[int] = None,
|
|
147
|
+
search: typing.Optional[str] = None,
|
|
148
|
+
sort: typing.Optional[ListSuppressionsRequestSort] = None,
|
|
149
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
150
|
+
) -> HttpResponse[ListSuppressionsResponse]:
|
|
151
|
+
"""
|
|
152
|
+
Lists the recipients this company cannot reach, newest suppression first by default.
|
|
153
|
+
|
|
154
|
+
Four product-level suppression types appear:
|
|
155
|
+
|
|
156
|
+
- `suppressionType: invalid_recipient` - SMTP evidence conclusively identifies an invalid destination. It is global, visible to companies associated with the address, and protected.
|
|
157
|
+
- `suppressionType: unknown_hard_bounce` - a permanent/undetermined failure without enough evidence to declare the inbox invalid. It is company-scoped and protected.
|
|
158
|
+
- `suppressionType: soft_bounce_escalation` - repeated delivery failures from this company. It is company-scoped and removable.
|
|
159
|
+
- `suppressionType: complaint` - the recipient reported this company's email as spam. It is company-scoped and protected.
|
|
160
|
+
|
|
161
|
+
The platform-wide list is never exposed: a global row is returned only when the address is already associated with the authenticated company.
|
|
162
|
+
|
|
163
|
+
Parameters
|
|
164
|
+
----------
|
|
165
|
+
limit : typing.Optional[int]
|
|
166
|
+
Entries per page (max 100).
|
|
167
|
+
|
|
168
|
+
order : typing.Optional[ListSuppressionsRequestOrder]
|
|
169
|
+
Sort direction. Defaults to `desc` for `suppressedAt` and `status`, `asc` for `email`.
|
|
170
|
+
|
|
171
|
+
page : typing.Optional[int]
|
|
172
|
+
1-based page number.
|
|
173
|
+
|
|
174
|
+
search : typing.Optional[str]
|
|
175
|
+
Case-insensitive substring filter on the recipient email address.
|
|
176
|
+
|
|
177
|
+
sort : typing.Optional[ListSuppressionsRequestSort]
|
|
178
|
+
Field to order by. `status` lists removable workspace escalations before protected
|
|
179
|
+
suppressions. An unrecognized value falls back to `suppressedAt` rather than failing the
|
|
180
|
+
request - read `sortBy` in the response to confirm what was applied.
|
|
181
|
+
|
|
182
|
+
request_options : typing.Optional[RequestOptions]
|
|
183
|
+
Request-specific configuration.
|
|
184
|
+
|
|
185
|
+
Returns
|
|
186
|
+
-------
|
|
187
|
+
HttpResponse[ListSuppressionsResponse]
|
|
188
|
+
Suppressed recipients
|
|
189
|
+
"""
|
|
190
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
191
|
+
"suppressions",
|
|
192
|
+
method="GET",
|
|
193
|
+
params={
|
|
194
|
+
"limit": limit,
|
|
195
|
+
"order": order,
|
|
196
|
+
"page": page,
|
|
197
|
+
"search": search,
|
|
198
|
+
"sort": sort,
|
|
199
|
+
},
|
|
200
|
+
request_options=request_options,
|
|
201
|
+
)
|
|
202
|
+
try:
|
|
203
|
+
if 200 <= _response.status_code < 300:
|
|
204
|
+
_data = typing.cast(
|
|
205
|
+
ListSuppressionsResponse,
|
|
206
|
+
parse_obj_as(
|
|
207
|
+
type_=ListSuppressionsResponse, # type: ignore
|
|
208
|
+
object_=_response.json(),
|
|
209
|
+
),
|
|
210
|
+
)
|
|
211
|
+
return HttpResponse(response=_response, data=_data)
|
|
212
|
+
if _response.status_code == 401:
|
|
213
|
+
raise UnauthorizedError(
|
|
214
|
+
headers=dict(_response.headers),
|
|
215
|
+
body=typing.cast(
|
|
216
|
+
typing.Any,
|
|
217
|
+
parse_obj_as(
|
|
218
|
+
type_=typing.Any, # type: ignore
|
|
219
|
+
object_=_response.json(),
|
|
220
|
+
),
|
|
221
|
+
),
|
|
222
|
+
)
|
|
223
|
+
if _response.status_code == 403:
|
|
224
|
+
raise ForbiddenError(
|
|
225
|
+
headers=dict(_response.headers),
|
|
226
|
+
body=typing.cast(
|
|
227
|
+
Error,
|
|
228
|
+
parse_obj_as(
|
|
229
|
+
type_=Error, # type: ignore
|
|
230
|
+
object_=_response.json(),
|
|
231
|
+
),
|
|
232
|
+
),
|
|
233
|
+
)
|
|
234
|
+
if _response.status_code == 500:
|
|
235
|
+
raise InternalServerError(
|
|
236
|
+
headers=dict(_response.headers),
|
|
237
|
+
body=typing.cast(
|
|
238
|
+
typing.Any,
|
|
239
|
+
parse_obj_as(
|
|
240
|
+
type_=typing.Any, # type: ignore
|
|
241
|
+
object_=_response.json(),
|
|
242
|
+
),
|
|
243
|
+
),
|
|
244
|
+
)
|
|
245
|
+
if _response.status_code == 503:
|
|
246
|
+
raise ServiceUnavailableError(
|
|
247
|
+
headers=dict(_response.headers),
|
|
248
|
+
body=typing.cast(
|
|
249
|
+
typing.Any,
|
|
250
|
+
parse_obj_as(
|
|
251
|
+
type_=typing.Any, # type: ignore
|
|
252
|
+
object_=_response.json(),
|
|
253
|
+
),
|
|
254
|
+
),
|
|
255
|
+
)
|
|
256
|
+
_response_json = _response.json()
|
|
257
|
+
except JSONDecodeError:
|
|
258
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
259
|
+
except ValidationError as e:
|
|
260
|
+
raise ParsingError(
|
|
261
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
262
|
+
)
|
|
263
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
264
|
+
|
|
265
|
+
def remove(
|
|
266
|
+
self,
|
|
267
|
+
email: str,
|
|
268
|
+
*,
|
|
269
|
+
region: typing.Optional[str] = None,
|
|
270
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
271
|
+
) -> HttpResponse[RemoveSuppressionsResponse]:
|
|
272
|
+
"""
|
|
273
|
+
Removes one company-associated recipient's workspace-scoped soft-bounce escalation and reactivates a bounced company subscriber. Global invalid-recipient and Amazon SES account-level suppressions, other companies' scoped rows, complaints, and unsubscribes are protected.
|
|
274
|
+
|
|
275
|
+
Parameters
|
|
276
|
+
----------
|
|
277
|
+
email : str
|
|
278
|
+
Exact company-associated recipient email address
|
|
279
|
+
|
|
280
|
+
region : typing.Optional[str]
|
|
281
|
+
Optional AWS SES region used to limit the remaining-suppression inspection. It never authorizes removal of an SES account-level entry.
|
|
282
|
+
|
|
283
|
+
request_options : typing.Optional[RequestOptions]
|
|
284
|
+
Request-specific configuration.
|
|
285
|
+
|
|
286
|
+
Returns
|
|
287
|
+
-------
|
|
288
|
+
HttpResponse[RemoveSuppressionsResponse]
|
|
289
|
+
Suppression cleanup result
|
|
290
|
+
"""
|
|
291
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
292
|
+
f"suppressions/{encode_path_param(email)}",
|
|
293
|
+
method="DELETE",
|
|
294
|
+
params={
|
|
295
|
+
"region": region,
|
|
296
|
+
},
|
|
297
|
+
request_options=request_options,
|
|
298
|
+
)
|
|
299
|
+
try:
|
|
300
|
+
if 200 <= _response.status_code < 300:
|
|
301
|
+
_data = typing.cast(
|
|
302
|
+
RemoveSuppressionsResponse,
|
|
303
|
+
parse_obj_as(
|
|
304
|
+
type_=RemoveSuppressionsResponse, # type: ignore
|
|
305
|
+
object_=_response.json(),
|
|
306
|
+
),
|
|
307
|
+
)
|
|
308
|
+
return HttpResponse(response=_response, data=_data)
|
|
309
|
+
if _response.status_code == 400:
|
|
310
|
+
raise BadRequestError(
|
|
311
|
+
headers=dict(_response.headers),
|
|
312
|
+
body=typing.cast(
|
|
313
|
+
typing.Any,
|
|
314
|
+
parse_obj_as(
|
|
315
|
+
type_=typing.Any, # type: ignore
|
|
316
|
+
object_=_response.json(),
|
|
317
|
+
),
|
|
318
|
+
),
|
|
319
|
+
)
|
|
320
|
+
if _response.status_code == 401:
|
|
321
|
+
raise UnauthorizedError(
|
|
322
|
+
headers=dict(_response.headers),
|
|
323
|
+
body=typing.cast(
|
|
324
|
+
typing.Any,
|
|
325
|
+
parse_obj_as(
|
|
326
|
+
type_=typing.Any, # type: ignore
|
|
327
|
+
object_=_response.json(),
|
|
328
|
+
),
|
|
329
|
+
),
|
|
330
|
+
)
|
|
331
|
+
if _response.status_code == 403:
|
|
332
|
+
raise ForbiddenError(
|
|
333
|
+
headers=dict(_response.headers),
|
|
334
|
+
body=typing.cast(
|
|
335
|
+
Error,
|
|
336
|
+
parse_obj_as(
|
|
337
|
+
type_=Error, # type: ignore
|
|
338
|
+
object_=_response.json(),
|
|
339
|
+
),
|
|
340
|
+
),
|
|
341
|
+
)
|
|
342
|
+
if _response.status_code == 404:
|
|
343
|
+
raise NotFoundError(
|
|
344
|
+
headers=dict(_response.headers),
|
|
345
|
+
body=typing.cast(
|
|
346
|
+
typing.Any,
|
|
347
|
+
parse_obj_as(
|
|
348
|
+
type_=typing.Any, # type: ignore
|
|
349
|
+
object_=_response.json(),
|
|
350
|
+
),
|
|
351
|
+
),
|
|
352
|
+
)
|
|
353
|
+
if _response.status_code == 409:
|
|
354
|
+
raise ConflictError(
|
|
355
|
+
headers=dict(_response.headers),
|
|
356
|
+
body=typing.cast(
|
|
357
|
+
typing.Any,
|
|
358
|
+
parse_obj_as(
|
|
359
|
+
type_=typing.Any, # type: ignore
|
|
360
|
+
object_=_response.json(),
|
|
361
|
+
),
|
|
362
|
+
),
|
|
363
|
+
)
|
|
364
|
+
if _response.status_code == 500:
|
|
365
|
+
raise InternalServerError(
|
|
366
|
+
headers=dict(_response.headers),
|
|
367
|
+
body=typing.cast(
|
|
368
|
+
typing.Any,
|
|
369
|
+
parse_obj_as(
|
|
370
|
+
type_=typing.Any, # type: ignore
|
|
371
|
+
object_=_response.json(),
|
|
372
|
+
),
|
|
373
|
+
),
|
|
374
|
+
)
|
|
375
|
+
if _response.status_code == 503:
|
|
376
|
+
raise ServiceUnavailableError(
|
|
377
|
+
headers=dict(_response.headers),
|
|
378
|
+
body=typing.cast(
|
|
379
|
+
typing.Any,
|
|
380
|
+
parse_obj_as(
|
|
381
|
+
type_=typing.Any, # type: ignore
|
|
382
|
+
object_=_response.json(),
|
|
383
|
+
),
|
|
384
|
+
),
|
|
385
|
+
)
|
|
386
|
+
_response_json = _response.json()
|
|
387
|
+
except JSONDecodeError:
|
|
388
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
389
|
+
except ValidationError as e:
|
|
390
|
+
raise ParsingError(
|
|
391
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
392
|
+
)
|
|
393
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
class AsyncRawSuppressionsClient:
|
|
397
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
398
|
+
self._client_wrapper = client_wrapper
|
|
399
|
+
|
|
400
|
+
async def get(
|
|
401
|
+
self,
|
|
402
|
+
email: str,
|
|
403
|
+
*,
|
|
404
|
+
region: typing.Optional[str] = None,
|
|
405
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
406
|
+
) -> AsyncHttpResponse[GetSuppressionsResponse]:
|
|
407
|
+
"""
|
|
408
|
+
Checks one exact recipient against Sequenzy's local bounce and complaint safeguards and the regional Amazon SES account-level suppression list. The lookup does not expose unrelated recipients from the shared SES account.
|
|
409
|
+
|
|
410
|
+
Parameters
|
|
411
|
+
----------
|
|
412
|
+
email : str
|
|
413
|
+
Exact recipient email address
|
|
414
|
+
|
|
415
|
+
region : typing.Optional[str]
|
|
416
|
+
Optional AWS SES region. Omit to check the default region and regions used by the company's sending domains.
|
|
417
|
+
|
|
418
|
+
request_options : typing.Optional[RequestOptions]
|
|
419
|
+
Request-specific configuration.
|
|
420
|
+
|
|
421
|
+
Returns
|
|
422
|
+
-------
|
|
423
|
+
AsyncHttpResponse[GetSuppressionsResponse]
|
|
424
|
+
Recipient suppression status
|
|
425
|
+
"""
|
|
426
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
427
|
+
f"suppressions/{encode_path_param(email)}",
|
|
428
|
+
method="GET",
|
|
429
|
+
params={
|
|
430
|
+
"region": region,
|
|
431
|
+
},
|
|
432
|
+
request_options=request_options,
|
|
433
|
+
)
|
|
434
|
+
try:
|
|
435
|
+
if 200 <= _response.status_code < 300:
|
|
436
|
+
_data = typing.cast(
|
|
437
|
+
GetSuppressionsResponse,
|
|
438
|
+
parse_obj_as(
|
|
439
|
+
type_=GetSuppressionsResponse, # type: ignore
|
|
440
|
+
object_=_response.json(),
|
|
441
|
+
),
|
|
442
|
+
)
|
|
443
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
444
|
+
if _response.status_code == 400:
|
|
445
|
+
raise BadRequestError(
|
|
446
|
+
headers=dict(_response.headers),
|
|
447
|
+
body=typing.cast(
|
|
448
|
+
typing.Any,
|
|
449
|
+
parse_obj_as(
|
|
450
|
+
type_=typing.Any, # type: ignore
|
|
451
|
+
object_=_response.json(),
|
|
452
|
+
),
|
|
453
|
+
),
|
|
454
|
+
)
|
|
455
|
+
if _response.status_code == 401:
|
|
456
|
+
raise UnauthorizedError(
|
|
457
|
+
headers=dict(_response.headers),
|
|
458
|
+
body=typing.cast(
|
|
459
|
+
typing.Any,
|
|
460
|
+
parse_obj_as(
|
|
461
|
+
type_=typing.Any, # type: ignore
|
|
462
|
+
object_=_response.json(),
|
|
463
|
+
),
|
|
464
|
+
),
|
|
465
|
+
)
|
|
466
|
+
if _response.status_code == 403:
|
|
467
|
+
raise ForbiddenError(
|
|
468
|
+
headers=dict(_response.headers),
|
|
469
|
+
body=typing.cast(
|
|
470
|
+
Error,
|
|
471
|
+
parse_obj_as(
|
|
472
|
+
type_=Error, # type: ignore
|
|
473
|
+
object_=_response.json(),
|
|
474
|
+
),
|
|
475
|
+
),
|
|
476
|
+
)
|
|
477
|
+
if _response.status_code == 500:
|
|
478
|
+
raise InternalServerError(
|
|
479
|
+
headers=dict(_response.headers),
|
|
480
|
+
body=typing.cast(
|
|
481
|
+
typing.Any,
|
|
482
|
+
parse_obj_as(
|
|
483
|
+
type_=typing.Any, # type: ignore
|
|
484
|
+
object_=_response.json(),
|
|
485
|
+
),
|
|
486
|
+
),
|
|
487
|
+
)
|
|
488
|
+
if _response.status_code == 503:
|
|
489
|
+
raise ServiceUnavailableError(
|
|
490
|
+
headers=dict(_response.headers),
|
|
491
|
+
body=typing.cast(
|
|
492
|
+
typing.Any,
|
|
493
|
+
parse_obj_as(
|
|
494
|
+
type_=typing.Any, # type: ignore
|
|
495
|
+
object_=_response.json(),
|
|
496
|
+
),
|
|
497
|
+
),
|
|
498
|
+
)
|
|
499
|
+
_response_json = _response.json()
|
|
500
|
+
except JSONDecodeError:
|
|
501
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
502
|
+
except ValidationError as e:
|
|
503
|
+
raise ParsingError(
|
|
504
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
505
|
+
)
|
|
506
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
507
|
+
|
|
508
|
+
async def list(
|
|
509
|
+
self,
|
|
510
|
+
*,
|
|
511
|
+
limit: typing.Optional[int] = None,
|
|
512
|
+
order: typing.Optional[ListSuppressionsRequestOrder] = None,
|
|
513
|
+
page: typing.Optional[int] = None,
|
|
514
|
+
search: typing.Optional[str] = None,
|
|
515
|
+
sort: typing.Optional[ListSuppressionsRequestSort] = None,
|
|
516
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
517
|
+
) -> AsyncHttpResponse[ListSuppressionsResponse]:
|
|
518
|
+
"""
|
|
519
|
+
Lists the recipients this company cannot reach, newest suppression first by default.
|
|
520
|
+
|
|
521
|
+
Four product-level suppression types appear:
|
|
522
|
+
|
|
523
|
+
- `suppressionType: invalid_recipient` - SMTP evidence conclusively identifies an invalid destination. It is global, visible to companies associated with the address, and protected.
|
|
524
|
+
- `suppressionType: unknown_hard_bounce` - a permanent/undetermined failure without enough evidence to declare the inbox invalid. It is company-scoped and protected.
|
|
525
|
+
- `suppressionType: soft_bounce_escalation` - repeated delivery failures from this company. It is company-scoped and removable.
|
|
526
|
+
- `suppressionType: complaint` - the recipient reported this company's email as spam. It is company-scoped and protected.
|
|
527
|
+
|
|
528
|
+
The platform-wide list is never exposed: a global row is returned only when the address is already associated with the authenticated company.
|
|
529
|
+
|
|
530
|
+
Parameters
|
|
531
|
+
----------
|
|
532
|
+
limit : typing.Optional[int]
|
|
533
|
+
Entries per page (max 100).
|
|
534
|
+
|
|
535
|
+
order : typing.Optional[ListSuppressionsRequestOrder]
|
|
536
|
+
Sort direction. Defaults to `desc` for `suppressedAt` and `status`, `asc` for `email`.
|
|
537
|
+
|
|
538
|
+
page : typing.Optional[int]
|
|
539
|
+
1-based page number.
|
|
540
|
+
|
|
541
|
+
search : typing.Optional[str]
|
|
542
|
+
Case-insensitive substring filter on the recipient email address.
|
|
543
|
+
|
|
544
|
+
sort : typing.Optional[ListSuppressionsRequestSort]
|
|
545
|
+
Field to order by. `status` lists removable workspace escalations before protected
|
|
546
|
+
suppressions. An unrecognized value falls back to `suppressedAt` rather than failing the
|
|
547
|
+
request - read `sortBy` in the response to confirm what was applied.
|
|
548
|
+
|
|
549
|
+
request_options : typing.Optional[RequestOptions]
|
|
550
|
+
Request-specific configuration.
|
|
551
|
+
|
|
552
|
+
Returns
|
|
553
|
+
-------
|
|
554
|
+
AsyncHttpResponse[ListSuppressionsResponse]
|
|
555
|
+
Suppressed recipients
|
|
556
|
+
"""
|
|
557
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
558
|
+
"suppressions",
|
|
559
|
+
method="GET",
|
|
560
|
+
params={
|
|
561
|
+
"limit": limit,
|
|
562
|
+
"order": order,
|
|
563
|
+
"page": page,
|
|
564
|
+
"search": search,
|
|
565
|
+
"sort": sort,
|
|
566
|
+
},
|
|
567
|
+
request_options=request_options,
|
|
568
|
+
)
|
|
569
|
+
try:
|
|
570
|
+
if 200 <= _response.status_code < 300:
|
|
571
|
+
_data = typing.cast(
|
|
572
|
+
ListSuppressionsResponse,
|
|
573
|
+
parse_obj_as(
|
|
574
|
+
type_=ListSuppressionsResponse, # type: ignore
|
|
575
|
+
object_=_response.json(),
|
|
576
|
+
),
|
|
577
|
+
)
|
|
578
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
579
|
+
if _response.status_code == 401:
|
|
580
|
+
raise UnauthorizedError(
|
|
581
|
+
headers=dict(_response.headers),
|
|
582
|
+
body=typing.cast(
|
|
583
|
+
typing.Any,
|
|
584
|
+
parse_obj_as(
|
|
585
|
+
type_=typing.Any, # type: ignore
|
|
586
|
+
object_=_response.json(),
|
|
587
|
+
),
|
|
588
|
+
),
|
|
589
|
+
)
|
|
590
|
+
if _response.status_code == 403:
|
|
591
|
+
raise ForbiddenError(
|
|
592
|
+
headers=dict(_response.headers),
|
|
593
|
+
body=typing.cast(
|
|
594
|
+
Error,
|
|
595
|
+
parse_obj_as(
|
|
596
|
+
type_=Error, # type: ignore
|
|
597
|
+
object_=_response.json(),
|
|
598
|
+
),
|
|
599
|
+
),
|
|
600
|
+
)
|
|
601
|
+
if _response.status_code == 500:
|
|
602
|
+
raise InternalServerError(
|
|
603
|
+
headers=dict(_response.headers),
|
|
604
|
+
body=typing.cast(
|
|
605
|
+
typing.Any,
|
|
606
|
+
parse_obj_as(
|
|
607
|
+
type_=typing.Any, # type: ignore
|
|
608
|
+
object_=_response.json(),
|
|
609
|
+
),
|
|
610
|
+
),
|
|
611
|
+
)
|
|
612
|
+
if _response.status_code == 503:
|
|
613
|
+
raise ServiceUnavailableError(
|
|
614
|
+
headers=dict(_response.headers),
|
|
615
|
+
body=typing.cast(
|
|
616
|
+
typing.Any,
|
|
617
|
+
parse_obj_as(
|
|
618
|
+
type_=typing.Any, # type: ignore
|
|
619
|
+
object_=_response.json(),
|
|
620
|
+
),
|
|
621
|
+
),
|
|
622
|
+
)
|
|
623
|
+
_response_json = _response.json()
|
|
624
|
+
except JSONDecodeError:
|
|
625
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
626
|
+
except ValidationError as e:
|
|
627
|
+
raise ParsingError(
|
|
628
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
629
|
+
)
|
|
630
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
631
|
+
|
|
632
|
+
async def remove(
|
|
633
|
+
self,
|
|
634
|
+
email: str,
|
|
635
|
+
*,
|
|
636
|
+
region: typing.Optional[str] = None,
|
|
637
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
638
|
+
) -> AsyncHttpResponse[RemoveSuppressionsResponse]:
|
|
639
|
+
"""
|
|
640
|
+
Removes one company-associated recipient's workspace-scoped soft-bounce escalation and reactivates a bounced company subscriber. Global invalid-recipient and Amazon SES account-level suppressions, other companies' scoped rows, complaints, and unsubscribes are protected.
|
|
641
|
+
|
|
642
|
+
Parameters
|
|
643
|
+
----------
|
|
644
|
+
email : str
|
|
645
|
+
Exact company-associated recipient email address
|
|
646
|
+
|
|
647
|
+
region : typing.Optional[str]
|
|
648
|
+
Optional AWS SES region used to limit the remaining-suppression inspection. It never authorizes removal of an SES account-level entry.
|
|
649
|
+
|
|
650
|
+
request_options : typing.Optional[RequestOptions]
|
|
651
|
+
Request-specific configuration.
|
|
652
|
+
|
|
653
|
+
Returns
|
|
654
|
+
-------
|
|
655
|
+
AsyncHttpResponse[RemoveSuppressionsResponse]
|
|
656
|
+
Suppression cleanup result
|
|
657
|
+
"""
|
|
658
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
659
|
+
f"suppressions/{encode_path_param(email)}",
|
|
660
|
+
method="DELETE",
|
|
661
|
+
params={
|
|
662
|
+
"region": region,
|
|
663
|
+
},
|
|
664
|
+
request_options=request_options,
|
|
665
|
+
)
|
|
666
|
+
try:
|
|
667
|
+
if 200 <= _response.status_code < 300:
|
|
668
|
+
_data = typing.cast(
|
|
669
|
+
RemoveSuppressionsResponse,
|
|
670
|
+
parse_obj_as(
|
|
671
|
+
type_=RemoveSuppressionsResponse, # type: ignore
|
|
672
|
+
object_=_response.json(),
|
|
673
|
+
),
|
|
674
|
+
)
|
|
675
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
676
|
+
if _response.status_code == 400:
|
|
677
|
+
raise BadRequestError(
|
|
678
|
+
headers=dict(_response.headers),
|
|
679
|
+
body=typing.cast(
|
|
680
|
+
typing.Any,
|
|
681
|
+
parse_obj_as(
|
|
682
|
+
type_=typing.Any, # type: ignore
|
|
683
|
+
object_=_response.json(),
|
|
684
|
+
),
|
|
685
|
+
),
|
|
686
|
+
)
|
|
687
|
+
if _response.status_code == 401:
|
|
688
|
+
raise UnauthorizedError(
|
|
689
|
+
headers=dict(_response.headers),
|
|
690
|
+
body=typing.cast(
|
|
691
|
+
typing.Any,
|
|
692
|
+
parse_obj_as(
|
|
693
|
+
type_=typing.Any, # type: ignore
|
|
694
|
+
object_=_response.json(),
|
|
695
|
+
),
|
|
696
|
+
),
|
|
697
|
+
)
|
|
698
|
+
if _response.status_code == 403:
|
|
699
|
+
raise ForbiddenError(
|
|
700
|
+
headers=dict(_response.headers),
|
|
701
|
+
body=typing.cast(
|
|
702
|
+
Error,
|
|
703
|
+
parse_obj_as(
|
|
704
|
+
type_=Error, # type: ignore
|
|
705
|
+
object_=_response.json(),
|
|
706
|
+
),
|
|
707
|
+
),
|
|
708
|
+
)
|
|
709
|
+
if _response.status_code == 404:
|
|
710
|
+
raise NotFoundError(
|
|
711
|
+
headers=dict(_response.headers),
|
|
712
|
+
body=typing.cast(
|
|
713
|
+
typing.Any,
|
|
714
|
+
parse_obj_as(
|
|
715
|
+
type_=typing.Any, # type: ignore
|
|
716
|
+
object_=_response.json(),
|
|
717
|
+
),
|
|
718
|
+
),
|
|
719
|
+
)
|
|
720
|
+
if _response.status_code == 409:
|
|
721
|
+
raise ConflictError(
|
|
722
|
+
headers=dict(_response.headers),
|
|
723
|
+
body=typing.cast(
|
|
724
|
+
typing.Any,
|
|
725
|
+
parse_obj_as(
|
|
726
|
+
type_=typing.Any, # type: ignore
|
|
727
|
+
object_=_response.json(),
|
|
728
|
+
),
|
|
729
|
+
),
|
|
730
|
+
)
|
|
731
|
+
if _response.status_code == 500:
|
|
732
|
+
raise InternalServerError(
|
|
733
|
+
headers=dict(_response.headers),
|
|
734
|
+
body=typing.cast(
|
|
735
|
+
typing.Any,
|
|
736
|
+
parse_obj_as(
|
|
737
|
+
type_=typing.Any, # type: ignore
|
|
738
|
+
object_=_response.json(),
|
|
739
|
+
),
|
|
740
|
+
),
|
|
741
|
+
)
|
|
742
|
+
if _response.status_code == 503:
|
|
743
|
+
raise ServiceUnavailableError(
|
|
744
|
+
headers=dict(_response.headers),
|
|
745
|
+
body=typing.cast(
|
|
746
|
+
typing.Any,
|
|
747
|
+
parse_obj_as(
|
|
748
|
+
type_=typing.Any, # type: ignore
|
|
749
|
+
object_=_response.json(),
|
|
750
|
+
),
|
|
751
|
+
),
|
|
752
|
+
)
|
|
753
|
+
_response_json = _response.json()
|
|
754
|
+
except JSONDecodeError:
|
|
755
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
756
|
+
except ValidationError as e:
|
|
757
|
+
raise ParsingError(
|
|
758
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
759
|
+
)
|
|
760
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|