growsurf-python 1.11.0__tar.gz → 1.12.0__tar.gz
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.
- growsurf_python-1.12.0/.release-please-manifest.json +3 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/CHANGELOG.md +15 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/PKG-INFO +1 -1
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/api.md +18 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/pyproject.toml +1 -1
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_version.py +1 -1
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/emails.py +8 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/participant.py +4 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_emails.py +8 -2
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_email_params.py +2 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/uv.lock +173 -130
- growsurf_python-1.11.0/.release-please-manifest.json +0 -3
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/.gitignore +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/CONTRIBUTING.md +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/LICENSE +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/README.md +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/SECURITY.md +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/bin/check-release-environment +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/bin/publish-pypi +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/examples/.keep +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/release-please-config.json +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/requirements-dev.lock +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/__init__.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_base_client.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_client.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_compat.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_constants.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_exceptions.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_files.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_models.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_qs.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_resource.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_streaming.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_types.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/__init__.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_compat.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_json.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_logs.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_path.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_proxy.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_reflection.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_streams.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_sync.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_transform.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_typing.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_utils.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/lib/.keep +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/py.typed +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/__init__.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/account.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/__init__.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/campaign.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/commission.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/design.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/installation.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/integrations.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/options.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/program_resources.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/reward.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/rewards.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/webhooks.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/team.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/__init__.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/account_create_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_application.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_application_answer.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_application_list_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_invite.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_invite_list_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/analytics_availability.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/analytics_unavailable_reason.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/__init__.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_design.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_installation.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_options.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/delete_program_resource_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/email_participant_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/integration.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/integration_list_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_activation_analytics.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_analytics_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_bulk_delete_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_get_payout_destination_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/pending_analytics_erasure.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource_list_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource_upload_result.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource_upload_ticket.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/referral_source.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/referral_status.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_create_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_update_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_event.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_activation_analytics_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_affiliate_invite_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_engagement_analytics.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_affiliate_applications_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_affiliate_invites_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_retrieve_activation_analytics_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_review_affiliate_application_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_update_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/commission_structure.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/create_account_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/email_analytics.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/participant_commission_list.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/participant_list.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/participant_payout_list.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/referral_flow_screenshot.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/referral_flow_screenshots_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/referral_list.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/rotate_api_key_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/team.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/team_update_params.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/verification_email_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/__init__.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/__init__.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/__init__.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_commission.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_design.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_emails.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_installation.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_integrations.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_options.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_participant.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_program_resources.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_reward.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_rewards.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_webhooks.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/test_account.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/test_campaign.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/api_resources/test_team_contract.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/conftest.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/sample_file.txt +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_client.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_extract_files.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_files.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_models.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_qs.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_required_args.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_response.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_streaming.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_transform.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_utils/test_json.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_utils/test_path.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_utils/test_proxy.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/test_utils/test_typing.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/types/test_affiliate_application.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/types/test_analytics_reward_status.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/types/test_email_analytics.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/types/test_lead_reward_events.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/types/test_participant_activation_engagement_analytics.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/types/test_participant_contract.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/types/test_payout_provider_forward_compat.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/types/test_referral_source.py +0 -0
- {growsurf_python-1.11.0 → growsurf_python-1.12.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.12.0](https://github.com/growsurf/growsurf-python/compare/v1.11.0...v1.12.0) (2026-10-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Chores
|
|
7
|
+
|
|
8
|
+
* prepare SDK 1.12.0 ([4d51fd4](https://github.com/growsurf/growsurf-python/commit/4d51fd4048c70ea3a4ac68151f0c6ec455c5a5c8))
|
|
9
|
+
* release 1.12.0 ([2a44995](https://github.com/growsurf/growsurf-python/commit/2a44995b52c7f6bdd360cc400a1b3aa64c0af7a8))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Documentation
|
|
13
|
+
|
|
14
|
+
* clarify welcome email recipient eligibility ([3050cc3](https://github.com/growsurf/growsurf-python/commit/3050cc38e2f57cbe25d36352f1ddc124f333c4bf))
|
|
15
|
+
* describe follow-up reminder eligibility and delay ([818359b](https://github.com/growsurf/growsurf-python/commit/818359b7806b6029ba06bf788471e17c00ae1363))
|
|
16
|
+
* describe inline email layout and required footer token ([b13749a](https://github.com/growsurf/growsurf-python/commit/b13749a5abd8a8c12e85305ba54ead72055404ff))
|
|
17
|
+
|
|
3
18
|
## [1.11.0](https://github.com/growsurf/growsurf-python/compare/v1.10.0...v1.11.0) (2026-09-29)
|
|
4
19
|
|
|
5
20
|
|
|
@@ -52,11 +52,23 @@ from growsurf.types import (
|
|
|
52
52
|
CampaignListResponse,
|
|
53
53
|
CampaignCreateMobileParticipantTokenResponse,
|
|
54
54
|
CampaignRetrieveAnalyticsResponse,
|
|
55
|
+
CampaignActivationAnalyticsResponse,
|
|
55
56
|
ReferralFlowScreenshot,
|
|
56
57
|
ReferralFlowScreenshotsResponse,
|
|
57
58
|
)
|
|
58
59
|
```
|
|
59
60
|
|
|
61
|
+
```python
|
|
62
|
+
from growsurf.types.campaign import (
|
|
63
|
+
ProgramResource,
|
|
64
|
+
ProgramResourceFile,
|
|
65
|
+
ProgramResourceListResponse,
|
|
66
|
+
ProgramResourceUploadResult,
|
|
67
|
+
ProgramResourceUploadTicket,
|
|
68
|
+
DeleteProgramResourceResponse,
|
|
69
|
+
)
|
|
70
|
+
```
|
|
71
|
+
|
|
60
72
|
Methods:
|
|
61
73
|
|
|
62
74
|
- <code title="post /campaigns">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">create</a>(\*\*<a href="src/growsurf/types/campaign_create_params.py">params</a>) -> <a href="./src/growsurf/types/campaign/campaign.py">Campaign</a></code>
|
|
@@ -72,6 +84,7 @@ Methods:
|
|
|
72
84
|
- <code title="get /campaign/{id}/payouts">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">list_payouts</a>(id, \*\*<a href="src/growsurf/types/campaign_list_payouts_params.py">params</a>) -> <a href="./src/growsurf/types/participant_payout_list.py">ParticipantPayoutList</a></code>
|
|
73
85
|
- <code title="get /campaign/{id}/referrals">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">list_referrals</a>(id, \*\*<a href="src/growsurf/types/campaign_list_referrals_params.py">params</a>) -> <a href="./src/growsurf/types/referral_list.py">ReferralList</a></code>
|
|
74
86
|
- <code title="get /campaign/{id}/analytics">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">retrieve_analytics</a>(id, \*\*<a href="src/growsurf/types/campaign_retrieve_analytics_params.py">params</a>) -> <a href="./src/growsurf/types/campaign_retrieve_analytics_response.py">CampaignRetrieveAnalyticsResponse</a></code>
|
|
87
|
+
- <code title="get /campaign/{id}/analytics/activation">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">retrieve_activation_analytics</a>(id, \*\*<a href="src/growsurf/types/campaign_retrieve_activation_analytics_params.py">params</a>) -> <a href="./src/growsurf/types/campaign_activation_analytics_response.py">CampaignActivationAnalyticsResponse</a></code>
|
|
75
88
|
- <code title="get /campaign/{id}/affiliate-applications">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">list_affiliate_applications</a>(id, \*\*<a href="src/growsurf/types/campaign_list_affiliate_applications_params.py">params</a>) -> <a href="./src/growsurf/types/affiliate_application_list_response.py">AffiliateApplicationListResponse</a></code>
|
|
76
89
|
- <code title="get /campaign/{id}/affiliate-applications/{applicationId}">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">retrieve_affiliate_application</a>(application_id, \*, id) -> <a href="./src/growsurf/types/affiliate_application.py">AffiliateApplication</a></code>
|
|
77
90
|
- <code title="patch /campaign/{id}/affiliate-applications/{applicationId}">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">review_affiliate_application</a>(application_id, \*, id, \*\*<a href="src/growsurf/types/campaign_review_affiliate_application_params.py">params</a>) -> <a href="./src/growsurf/types/affiliate_application.py">AffiliateApplication</a></code>
|
|
@@ -79,6 +92,11 @@ Methods:
|
|
|
79
92
|
- <code title="post /campaign/{id}/affiliate-invites">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">create_affiliate_invite</a>(id, \*\*<a href="src/growsurf/types/campaign_create_affiliate_invite_params.py">params</a>) -> <a href="./src/growsurf/types/affiliate_invite.py">AffiliateInvite</a></code>
|
|
80
93
|
- <code title="delete /campaign/{id}/affiliate-invites/{inviteId}">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">revoke_affiliate_invite</a>(invite_id, \*, id) -> <a href="./src/growsurf/types/affiliate_invite.py">AffiliateInvite</a></code>
|
|
81
94
|
- <code title="post /campaign/{id}/affiliate-invites/{inviteId}/resend">client.campaign.<a href="./src/growsurf/resources/campaign/campaign.py">resend_affiliate_invite</a>(invite_id, \*, id) -> <a href="./src/growsurf/types/affiliate_invite.py">AffiliateInvite</a></code>
|
|
95
|
+
- <code title="get /campaign/{id}/resources">client.campaign.resources.<a href="./src/growsurf/resources/campaign/program_resources.py">list</a>(id) -> <a href="./src/growsurf/types/campaign/program_resource_list_response.py">ProgramResourceListResponse</a></code>
|
|
96
|
+
- <code title="post /campaign/{id}/resources">client.campaign.resources.<a href="./src/growsurf/resources/campaign/program_resources.py">create</a>(id, \*, type, title, description, category, is_published, url, text, upload_ticket, upload_result) -> <a href="./src/growsurf/types/campaign/program_resource.py">ProgramResource</a></code>
|
|
97
|
+
- <code title="patch /campaign/{id}/resources/{resourceId}">client.campaign.resources.<a href="./src/growsurf/resources/campaign/program_resources.py">update</a>(resource_id, \*, id, type, title, description, category, is_published, position, url, text, upload_ticket, upload_result) -> <a href="./src/growsurf/types/campaign/program_resource.py">ProgramResource</a></code>
|
|
98
|
+
- <code title="delete /campaign/{id}/resources/{resourceId}">client.campaign.resources.<a href="./src/growsurf/resources/campaign/program_resources.py">delete</a>(resource_id, \*, id) -> <a href="./src/growsurf/types/campaign/delete_program_resource_response.py">DeleteProgramResourceResponse</a></code>
|
|
99
|
+
- <code title="post /campaign/{id}/resource-upload-tickets">client.campaign.resources.<a href="./src/growsurf/resources/campaign/program_resources.py">create_upload_ticket</a>(id, \*, file_name, mime_type, bytes) -> <a href="./src/growsurf/types/campaign/program_resource_upload_ticket.py">ProgramResourceUploadTicket</a></code>
|
|
82
100
|
|
|
83
101
|
## Participant
|
|
84
102
|
|
|
@@ -61,6 +61,10 @@ class EmailsResource(SyncAPIResource):
|
|
|
61
61
|
(`subject`, `preheader`, `body`, `isEnabled`) plus the `settings` block (sender,
|
|
62
62
|
contact, and design). The set of email templates returned depends on the program
|
|
63
63
|
type (referral vs affiliate).
|
|
64
|
+
`followUpReminder` is disabled by default. It reminds the referrer about new
|
|
65
|
+
invitations sent while enabled when the contacts have not signed up.
|
|
66
|
+
`delayDays` accepts integers from 2 to 30 (default 3); changing it leaves
|
|
67
|
+
existing reminder dates unchanged.
|
|
64
68
|
|
|
65
69
|
Args:
|
|
66
70
|
extra_headers: Send extra headers
|
|
@@ -163,6 +167,10 @@ class AsyncEmailsResource(AsyncAPIResource):
|
|
|
163
167
|
(`subject`, `preheader`, `body`, `isEnabled`) plus the `settings` block (sender,
|
|
164
168
|
contact, and design). The set of email templates returned depends on the program
|
|
165
169
|
type (referral vs affiliate).
|
|
170
|
+
`followUpReminder` is disabled by default. It reminds the referrer about new
|
|
171
|
+
invitations sent while enabled when the contacts have not signed up.
|
|
172
|
+
`delayDays` accepts integers from 2 to 30 (default 3); changing it leaves
|
|
173
|
+
existing reminder dates unchanged.
|
|
166
174
|
|
|
167
175
|
Args:
|
|
168
176
|
extra_headers: Send extra headers
|
{growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/participant.py
RENAMED
|
@@ -1032,6 +1032,8 @@ class ParticipantResource(SyncAPIResource):
|
|
|
1032
1032
|
`commissionGenerated`, `commissionAdjusted`, `payoutPending`, `payoutSentSuccess`,
|
|
1033
1033
|
`progressUpdateMonthly`. System/transactional types (login link, PayPal confirmation,
|
|
1034
1034
|
tax) and the invite email cannot be sent.
|
|
1035
|
+
`welcomeNonReferred` can only be sent to advocates or approved, enrolled affiliates in
|
|
1036
|
+
a program that has not ended.
|
|
1035
1037
|
|
|
1036
1038
|
body: HTML body for a free-form email. You can personalize it with dynamic text, inserting `{{...}}` tokens like `{{firstName}}` or `{{shareUrl}}`. See [Guide to using dynamic text in GrowSurf emails](https://support.growsurf.com/article/213-guide-to-using-dynamic-text-in-growsurf-emails).
|
|
1037
1039
|
|
|
@@ -2298,6 +2300,8 @@ class AsyncParticipantResource(AsyncAPIResource):
|
|
|
2298
2300
|
`commissionGenerated`, `commissionAdjusted`, `payoutPending`, `payoutSentSuccess`,
|
|
2299
2301
|
`progressUpdateMonthly`. System/transactional types (login link, PayPal confirmation,
|
|
2300
2302
|
tax) and the invite email cannot be sent.
|
|
2303
|
+
`welcomeNonReferred` can only be sent to advocates or approved, enrolled affiliates in
|
|
2304
|
+
a program that has not ended.
|
|
2301
2305
|
|
|
2302
2306
|
body: HTML body for a free-form email. You can personalize it with dynamic text, inserting `{{...}}` tokens like `{{firstName}}` or `{{shareUrl}}`. See [Guide to using dynamic text in GrowSurf emails](https://support.growsurf.com/article/213-guide-to-using-dynamic-text-in-growsurf-emails).
|
|
2303
2307
|
|
{growsurf_python-1.11.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_emails.py
RENAMED
|
@@ -9,7 +9,13 @@ __all__ = ["CampaignEmails"]
|
|
|
9
9
|
# each editable email template plus the shared `settings` block. The set of
|
|
10
10
|
# templates depends on the program type; it is intentionally modeled as a loose
|
|
11
11
|
# object. `offerClaimed` is available to both program types and sends while the
|
|
12
|
-
# Claim Offer Popup is enabled.
|
|
12
|
+
# Claim Offer Popup is enabled. `followUpReminder` is disabled by default and
|
|
13
|
+
# reminds the referrer about new invitations sent while it is enabled when the
|
|
14
|
+
# contacts have not signed up. Its `delayDays` is an integer from 2 to 30 (default
|
|
15
|
+
# 3); changing it leaves existing reminder dates unchanged.
|
|
16
|
+
# To see the full object with every field and its
|
|
13
17
|
# current value, `GET` the resource, then `PATCH` back only the fields you want to
|
|
14
|
-
# change.
|
|
18
|
+
# change. New programs return settings.design.layoutMode="INLINE" (read-only).
|
|
19
|
+
# Their bodies require {{emailFooter}}; {{emailHeader}} is optional. Older programs
|
|
20
|
+
# omit layoutMode and keep their existing layout.
|
|
15
21
|
CampaignEmails: TypeAlias = Dict[str, object]
|
|
@@ -23,6 +23,8 @@ class ParticipantEmailParams(TypedDict, total=False):
|
|
|
23
23
|
`commissionGenerated`, `commissionAdjusted`, `payoutPending`, `payoutSentSuccess`,
|
|
24
24
|
`progressUpdateMonthly`. System/transactional types (login link, PayPal confirmation,
|
|
25
25
|
tax) and the invite email cannot be sent.
|
|
26
|
+
`welcomeNonReferred` can only be sent to advocates or approved, enrolled affiliates in a program
|
|
27
|
+
that has not ended.
|
|
26
28
|
"""
|
|
27
29
|
|
|
28
30
|
body: str
|