growsurf-python 1.10.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.10.0 → growsurf_python-1.12.0}/CHANGELOG.md +22 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/PKG-INFO +1 -1
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/api.md +18 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/pyproject.toml +1 -1
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_version.py +1 -1
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/emails.py +8 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/participant.py +6 -2
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/rewards.py +4 -2
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_emails.py +8 -2
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_installation.py +2 -1
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_email_params.py +2 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_params.py +1 -1
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/uv.lock +173 -130
- growsurf_python-1.10.0/.release-please-manifest.json +0 -3
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/.gitignore +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/CONTRIBUTING.md +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/LICENSE +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/README.md +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/SECURITY.md +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/bin/check-release-environment +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/bin/publish-pypi +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/examples/.keep +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/release-please-config.json +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/requirements-dev.lock +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/__init__.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_base_client.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_client.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_compat.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_constants.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_exceptions.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_files.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_models.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_qs.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_resource.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_streaming.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_types.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/__init__.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_compat.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_json.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_logs.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_path.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_proxy.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_reflection.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_streams.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_sync.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_transform.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_typing.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_utils.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/lib/.keep +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/py.typed +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/__init__.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/account.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/__init__.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/campaign.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/commission.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/design.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/installation.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/integrations.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/options.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/program_resources.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/reward.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/webhooks.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/team.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/__init__.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/account_create_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_application.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_application_answer.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_application_list_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_invite.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_invite_list_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/analytics_availability.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/analytics_unavailable_reason.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/__init__.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_design.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_options.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/delete_program_resource_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/email_participant_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/integration.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/integration_list_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_activation_analytics.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_analytics_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_bulk_delete_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_get_payout_destination_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/pending_analytics_erasure.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource_list_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource_upload_result.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource_upload_ticket.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/referral_source.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/referral_status.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_create_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_update_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_event.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_activation_analytics_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_affiliate_invite_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_engagement_analytics.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_affiliate_applications_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_affiliate_invites_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_retrieve_activation_analytics_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_review_affiliate_application_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_update_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/commission_structure.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/create_account_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/email_analytics.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/participant_commission_list.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/participant_list.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/participant_payout_list.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/referral_flow_screenshot.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/referral_flow_screenshots_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/referral_list.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/rotate_api_key_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/team.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/team_update_params.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/verification_email_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/__init__.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/__init__.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/__init__.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_commission.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_design.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_emails.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_installation.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_integrations.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_options.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_participant.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_program_resources.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_reward.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_rewards.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_webhooks.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/test_account.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/test_campaign.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/test_team_contract.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/conftest.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/sample_file.txt +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_client.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_extract_files.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_files.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_models.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_qs.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_required_args.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_response.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_streaming.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_transform.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_utils/test_json.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_utils/test_path.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_utils/test_proxy.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_utils/test_typing.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_affiliate_application.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_analytics_reward_status.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_email_analytics.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_lead_reward_events.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_participant_activation_engagement_analytics.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_participant_contract.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_payout_provider_forward_compat.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_referral_source.py +0 -0
- {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,27 @@
|
|
|
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
|
+
|
|
18
|
+
## [1.11.0](https://github.com/growsurf/growsurf-python/compare/v1.10.0...v1.11.0) (2026-09-29)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* **api:** update campaign contracts ([0351056](https://github.com/growsurf/growsurf-python/commit/03510565276942c3fe56ed8cd91e2547a88dff54))
|
|
24
|
+
|
|
3
25
|
## [1.10.0](https://github.com/growsurf/growsurf-python/compare/v1.9.0...v1.10.0) (2026-09-23)
|
|
4
26
|
|
|
5
27
|
|
|
@@ -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.10.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
|
|
|
@@ -1278,7 +1280,7 @@ class ParticipantResource(SyncAPIResource):
|
|
|
1278
1280
|
participant_id_or_email: str,
|
|
1279
1281
|
*,
|
|
1280
1282
|
id: str,
|
|
1281
|
-
provider: Literal["PAYPAL", "WISECOM"],
|
|
1283
|
+
provider: Literal["PAYPAL", "VENMO", "WISECOM"],
|
|
1282
1284
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1283
1285
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1284
1286
|
extra_headers: Headers | None = None,
|
|
@@ -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
|
|
|
@@ -2544,7 +2548,7 @@ class AsyncParticipantResource(AsyncAPIResource):
|
|
|
2544
2548
|
participant_id_or_email: str,
|
|
2545
2549
|
*,
|
|
2546
2550
|
id: str,
|
|
2547
|
-
provider: Literal["PAYPAL", "WISECOM"],
|
|
2551
|
+
provider: Literal["PAYPAL", "VENMO", "WISECOM"],
|
|
2548
2552
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
2549
2553
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
2550
2554
|
extra_headers: Headers | None = None,
|
{growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/rewards.py
RENAMED
|
@@ -329,7 +329,8 @@ class RewardsResource(SyncAPIResource):
|
|
|
329
329
|
"""
|
|
330
330
|
Retrieves configured Campaign Rewards, including switched-off rewards and rewards
|
|
331
331
|
whose group is not selected. Deleted rewards are excluded. The campaign response's
|
|
332
|
-
embedded rewards array includes only enabled, visible rewards.
|
|
332
|
+
embedded `rewards` array includes only enabled, visible rewards. A reward can be earned only
|
|
333
|
+
when it also appears in the campaign response's embedded `rewards` array.
|
|
333
334
|
|
|
334
335
|
Args:
|
|
335
336
|
extra_headers: Send extra headers
|
|
@@ -694,7 +695,8 @@ class AsyncRewardsResource(AsyncAPIResource):
|
|
|
694
695
|
"""
|
|
695
696
|
Retrieves configured Campaign Rewards, including switched-off rewards and rewards
|
|
696
697
|
whose group is not selected. Deleted rewards are excluded. The campaign response's
|
|
697
|
-
embedded rewards array includes only enabled, visible rewards.
|
|
698
|
+
embedded `rewards` array includes only enabled, visible rewards. A reward can be earned only
|
|
699
|
+
when it also appears in the campaign response's embedded `rewards` array.
|
|
698
700
|
|
|
699
701
|
Args:
|
|
700
702
|
extra_headers: Send extra headers
|
{growsurf_python-1.10.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]
|
|
@@ -7,7 +7,8 @@ __all__ = ["CampaignInstallation"]
|
|
|
7
7
|
|
|
8
8
|
# A program's installation configuration (the dashboard Program Editor's
|
|
9
9
|
# Installation tab, plus Mobile SDK settings): referral trigger, signup
|
|
10
|
-
# tracking, share URL + whitelist, custom-form signup,
|
|
10
|
+
# tracking, share URL + whitelist, custom-form signup, mobile SDK settings,
|
|
11
|
+
# and saved installation-guide choices (`instructionSelections`).
|
|
11
12
|
# It is intentionally modeled as a loose object. To see the full object with
|
|
12
13
|
# every field and its current value, `GET` the resource, then `PATCH` back only
|
|
13
14
|
# the fields you want to change.
|
|
@@ -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
|
|
@@ -10,5 +10,5 @@ __all__ = ["ParticipantRequestPayoutDestinationConfirmationParams"]
|
|
|
10
10
|
class ParticipantRequestPayoutDestinationConfirmationParams(TypedDict, total=False):
|
|
11
11
|
id: Required[str]
|
|
12
12
|
|
|
13
|
-
provider: Required[Literal["PAYPAL", "WISECOM"]]
|
|
13
|
+
provider: Required[Literal["PAYPAL", "VENMO", "WISECOM"]]
|
|
14
14
|
"""The payout provider the participant should confirm a destination for."""
|