growsurf-python 1.2.0__tar.gz → 1.2.1__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.2.1/.release-please-manifest.json +3 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/CHANGELOG.md +7 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/PKG-INFO +1 -1
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/pyproject.toml +1 -1
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_version.py +1 -1
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/account.py +30 -10
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/campaign.py +22 -22
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/commission.py +6 -4
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/design.py +14 -12
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/emails.py +16 -18
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/installation.py +16 -16
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/options.py +20 -22
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/participant.py +94 -90
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/reward.py +8 -6
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/rewards.py +30 -16
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/team.py +56 -36
- growsurf_python-1.2.0/.release-please-manifest.json +0 -3
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/.gitignore +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/CONTRIBUTING.md +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/LICENSE +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/README.md +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/SECURITY.md +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/api.md +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/bin/check-release-environment +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/bin/publish-pypi +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/examples/.keep +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/release-please-config.json +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/requirements-dev.lock +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/__init__.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_base_client.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_client.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_compat.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_constants.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_exceptions.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_files.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_models.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_qs.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_resource.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_streaming.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_types.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/__init__.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_compat.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_datetime_parse.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_json.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_logs.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_path.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_proxy.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_reflection.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_resources_proxy.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_streams.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_sync.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_transform.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_typing.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/_utils/_utils.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/lib/.keep +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/py.typed +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/__init__.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/__init__.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/webhooks.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/__init__.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/account_create_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/__init__.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/campaign.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/campaign_design.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/campaign_emails.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/campaign_installation.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/campaign_options.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/email_participant_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_add_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_analytics_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_bulk_delete_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_email_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_reward.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/participant_update_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/referral_source.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/referral_status.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/reward.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/reward_create_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/reward_update_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/webhook.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/webhook_event.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_create_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_list_participants_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_list_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/campaign_update_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/commission_structure.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/create_account_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/participant_commission_list.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/participant_list.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/participant_payout_list.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/referral_list.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/rotate_api_key_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/team.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/team_update_params.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/types/verification_email_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/__init__.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/__init__.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/campaign/__init__.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/campaign/test_commission.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/campaign/test_design.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/campaign/test_emails.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/campaign/test_installation.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/campaign/test_options.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/campaign/test_participant.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/campaign/test_reward.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/campaign/test_rewards.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/campaign/test_webhooks.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/test_account.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/test_campaign.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/api_resources/test_team_contract.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/conftest.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/sample_file.txt +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_client.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_extract_files.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_files.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_models.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_qs.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_required_args.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_response.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_streaming.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_transform.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_utils/test_datetime_parse.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_utils/test_json.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_utils/test_path.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_utils/test_proxy.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/test_utils/test_typing.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/tests/utils.py +0 -0
- {growsurf_python-1.2.0 → growsurf_python-1.2.1}/uv.lock +0 -0
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.2.1](https://github.com/growsurf/growsurf-python/compare/v1.2.0...v1.2.1) (2026-07-14)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* align method docs with the REST v2 contract ([57e44e9](https://github.com/growsurf/growsurf-python/commit/57e44e906100c23d85d5dfbfabcd3821ef14d629))
|
|
9
|
+
|
|
3
10
|
## [1.2.0](https://github.com/growsurf/growsurf-python/compare/v1.1.2...v1.2.0) (2026-07-13)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: growsurf-python
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.1
|
|
4
4
|
Summary: The official Python library for the growsurf API
|
|
5
5
|
Project-URL: Homepage, https://github.com/growsurf/growsurf-python
|
|
6
6
|
Project-URL: Repository, https://github.com/growsurf/growsurf-python
|
|
@@ -46,11 +46,21 @@ class AccountResource(SyncAPIResource):
|
|
|
46
46
|
extra_body: Body | None = None,
|
|
47
47
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
48
48
|
) -> CreateAccountResponse:
|
|
49
|
-
"""
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
"""
|
|
50
|
+
Creates a new GrowSurf account. This is the only endpoint that does not require
|
|
51
|
+
an API key. The response includes an API key for the new account, shown once in
|
|
52
|
+
the response. The key is locked until the team owner's email address is
|
|
53
|
+
verified: authenticated program and resource endpoints return a `403` with error
|
|
54
|
+
code `EMAIL_NOT_VERIFIED_ERROR` until then (resend the email via `POST
|
|
55
|
+
/team/owner/verification-email`, then retry). A welcome email is sent to the
|
|
56
|
+
address with the verification link and a set-password link for dashboard access.
|
|
57
|
+
Accounts whose email is never verified are deleted automatically after 7 days.
|
|
58
|
+
For security, the API key is rotated the first time the account owner signs in
|
|
59
|
+
to the GrowSurf dashboard. Some actions (such as emailing participants)
|
|
60
|
+
additionally require GrowSurf to verify the team first. By creating an account
|
|
61
|
+
you agree, on behalf of the account holder, to GrowSurf's [Terms of
|
|
62
|
+
Service](https://growsurf.com/terms) and [Privacy
|
|
63
|
+
Policy](https://growsurf.com/privacy).
|
|
54
64
|
|
|
55
65
|
Args:
|
|
56
66
|
email: The email address for the new GrowSurf account. Personal emails and disposable email addresses are not accepted.
|
|
@@ -116,11 +126,21 @@ class AsyncAccountResource(AsyncAPIResource):
|
|
|
116
126
|
extra_body: Body | None = None,
|
|
117
127
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
118
128
|
) -> CreateAccountResponse:
|
|
119
|
-
"""
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
129
|
+
"""
|
|
130
|
+
Creates a new GrowSurf account. This is the only endpoint that does not require
|
|
131
|
+
an API key. The response includes an API key for the new account, shown once in
|
|
132
|
+
the response. The key is locked until the team owner's email address is
|
|
133
|
+
verified: authenticated program and resource endpoints return a `403` with error
|
|
134
|
+
code `EMAIL_NOT_VERIFIED_ERROR` until then (resend the email via `POST
|
|
135
|
+
/team/owner/verification-email`, then retry). A welcome email is sent to the
|
|
136
|
+
address with the verification link and a set-password link for dashboard access.
|
|
137
|
+
Accounts whose email is never verified are deleted automatically after 7 days.
|
|
138
|
+
For security, the API key is rotated the first time the account owner signs in
|
|
139
|
+
to the GrowSurf dashboard. Some actions (such as emailing participants)
|
|
140
|
+
additionally require GrowSurf to verify the team first. By creating an account
|
|
141
|
+
you agree, on behalf of the account holder, to GrowSurf's [Terms of
|
|
142
|
+
Service](https://growsurf.com/terms) and [Privacy
|
|
143
|
+
Policy](https://growsurf.com/privacy).
|
|
124
144
|
|
|
125
145
|
Args:
|
|
126
146
|
email: The email address for the new GrowSurf account. Personal emails and disposable email addresses are not accepted.
|
|
@@ -196,9 +196,8 @@ class CampaignResource(SyncAPIResource):
|
|
|
196
196
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
197
197
|
) -> Campaign:
|
|
198
198
|
"""
|
|
199
|
-
Creates a new program
|
|
200
|
-
|
|
201
|
-
by the API key's bound team. Requires the team owner's verified email.
|
|
199
|
+
Creates a new program, plus any optional program rewards. The new program is
|
|
200
|
+
created in `DRAFT` status and owned by the API key's bound team.
|
|
202
201
|
|
|
203
202
|
Args:
|
|
204
203
|
type: The program type. Immutable after creation.
|
|
@@ -289,8 +288,8 @@ class CampaignResource(SyncAPIResource):
|
|
|
289
288
|
Updates a program's identity and lifecycle. Only the fields you send are
|
|
290
289
|
changed. `type`, `urlId`, and `currencyISO` are immutable. Editor-tab
|
|
291
290
|
configuration (design, emails, options, installation) is edited via the
|
|
292
|
-
dedicated config sub-resources, not here. The program cannot be deleted via
|
|
293
|
-
|
|
291
|
+
dedicated config sub-resources, not here. The program cannot be deleted via this
|
|
292
|
+
endpoint.
|
|
294
293
|
|
|
295
294
|
Args:
|
|
296
295
|
status: The requested program status. `IN_PROGRESS` publishes or resumes the program;
|
|
@@ -458,7 +457,8 @@ class CampaignResource(SyncAPIResource):
|
|
|
458
457
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
459
458
|
) -> ParticipantCommissionList:
|
|
460
459
|
"""
|
|
461
|
-
Retrieves a paged list of all participant
|
|
460
|
+
**Affiliate programs only.** Retrieves a paged list of all participant
|
|
461
|
+
commissions in an affiliate program.
|
|
462
462
|
|
|
463
463
|
Args:
|
|
464
464
|
limit: Number of results to return. Maximum 100.
|
|
@@ -628,7 +628,8 @@ class CampaignResource(SyncAPIResource):
|
|
|
628
628
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
629
629
|
) -> ParticipantPayoutList:
|
|
630
630
|
"""
|
|
631
|
-
Retrieves a paged list of all participant payouts
|
|
631
|
+
**Affiliate programs only.** Retrieves a paged list of all participant payouts
|
|
632
|
+
in an affiliate program.
|
|
632
633
|
|
|
633
634
|
Args:
|
|
634
635
|
limit: Number of results to return. Maximum 100.
|
|
@@ -762,10 +763,9 @@ class CampaignResource(SyncAPIResource):
|
|
|
762
763
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
763
764
|
) -> CampaignRetrieveAnalyticsResponse:
|
|
764
765
|
"""
|
|
765
|
-
Retrieves analytics for a program. Pass
|
|
766
|
-
(
|
|
767
|
-
|
|
768
|
-
time.
|
|
766
|
+
Retrieves analytics for a program. Pass `interval` to also get a time-series
|
|
767
|
+
(`series`) alongside the totals, and `include` to add previous-period totals,
|
|
768
|
+
status breakdowns, or derived rates — useful for detecting trends over time.
|
|
769
769
|
|
|
770
770
|
Args:
|
|
771
771
|
days: Last number of days to retrieve analytics for. Defaults to 365. Maximum 1825.
|
|
@@ -898,9 +898,8 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
898
898
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
899
899
|
) -> Campaign:
|
|
900
900
|
"""
|
|
901
|
-
Creates a new program
|
|
902
|
-
|
|
903
|
-
by the API key's bound team. Requires the team owner's verified email.
|
|
901
|
+
Creates a new program, plus any optional program rewards. The new program is
|
|
902
|
+
created in `DRAFT` status and owned by the API key's bound team.
|
|
904
903
|
|
|
905
904
|
Args:
|
|
906
905
|
type: The program type. Immutable after creation.
|
|
@@ -991,8 +990,8 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
991
990
|
Updates a program's identity and lifecycle. Only the fields you send are
|
|
992
991
|
changed. `type`, `urlId`, and `currencyISO` are immutable. Editor-tab
|
|
993
992
|
configuration (design, emails, options, installation) is edited via the
|
|
994
|
-
dedicated config sub-resources, not here. The program cannot be deleted via
|
|
995
|
-
|
|
993
|
+
dedicated config sub-resources, not here. The program cannot be deleted via this
|
|
994
|
+
endpoint.
|
|
996
995
|
|
|
997
996
|
Args:
|
|
998
997
|
status: The requested program status. `IN_PROGRESS` publishes or resumes the program;
|
|
@@ -1160,7 +1159,8 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
1160
1159
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
1161
1160
|
) -> ParticipantCommissionList:
|
|
1162
1161
|
"""
|
|
1163
|
-
Retrieves a paged list of all participant
|
|
1162
|
+
**Affiliate programs only.** Retrieves a paged list of all participant
|
|
1163
|
+
commissions in an affiliate program.
|
|
1164
1164
|
|
|
1165
1165
|
Args:
|
|
1166
1166
|
limit: Number of results to return. Maximum 100.
|
|
@@ -1330,7 +1330,8 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
1330
1330
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
1331
1331
|
) -> ParticipantPayoutList:
|
|
1332
1332
|
"""
|
|
1333
|
-
Retrieves a paged list of all participant payouts
|
|
1333
|
+
**Affiliate programs only.** Retrieves a paged list of all participant payouts
|
|
1334
|
+
in an affiliate program.
|
|
1334
1335
|
|
|
1335
1336
|
Args:
|
|
1336
1337
|
limit: Number of results to return. Maximum 100.
|
|
@@ -1464,10 +1465,9 @@ class AsyncCampaignResource(AsyncAPIResource):
|
|
|
1464
1465
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
1465
1466
|
) -> CampaignRetrieveAnalyticsResponse:
|
|
1466
1467
|
"""
|
|
1467
|
-
Retrieves analytics for a program. Pass
|
|
1468
|
-
(
|
|
1469
|
-
|
|
1470
|
-
time.
|
|
1468
|
+
Retrieves analytics for a program. Pass `interval` to also get a time-series
|
|
1469
|
+
(`series`) alongside the totals, and `include` to add previous-period totals,
|
|
1470
|
+
status breakdowns, or derived rates — useful for detecting trends over time.
|
|
1471
1471
|
|
|
1472
1472
|
Args:
|
|
1473
1473
|
days: Last number of days to retrieve analytics for. Defaults to 365. Maximum 1825.
|
{growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/commission.py
RENAMED
|
@@ -56,7 +56,7 @@ class CommissionResource(SyncAPIResource):
|
|
|
56
56
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
57
57
|
) -> CommissionDeleteResponse:
|
|
58
58
|
"""
|
|
59
|
-
Removes a pending participant commission.
|
|
59
|
+
**Affiliate programs only.** Removes a pending participant commission.
|
|
60
60
|
|
|
61
61
|
Args:
|
|
62
62
|
extra_headers: Send extra headers
|
|
@@ -92,7 +92,8 @@ class CommissionResource(SyncAPIResource):
|
|
|
92
92
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
93
93
|
) -> CommissionApproveResponse:
|
|
94
94
|
"""
|
|
95
|
-
Approves a pending participant commission so it can
|
|
95
|
+
**Affiliate programs only.** Approves a pending participant commission so it can
|
|
96
|
+
become eligible for payout.
|
|
96
97
|
|
|
97
98
|
Args:
|
|
98
99
|
extra_headers: Send extra headers
|
|
@@ -151,7 +152,7 @@ class AsyncCommissionResource(AsyncAPIResource):
|
|
|
151
152
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
152
153
|
) -> CommissionDeleteResponse:
|
|
153
154
|
"""
|
|
154
|
-
Removes a pending participant commission.
|
|
155
|
+
**Affiliate programs only.** Removes a pending participant commission.
|
|
155
156
|
|
|
156
157
|
Args:
|
|
157
158
|
extra_headers: Send extra headers
|
|
@@ -187,7 +188,8 @@ class AsyncCommissionResource(AsyncAPIResource):
|
|
|
187
188
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
188
189
|
) -> CommissionApproveResponse:
|
|
189
190
|
"""
|
|
190
|
-
Approves a pending participant commission so it can
|
|
191
|
+
**Affiliate programs only.** Approves a pending participant commission so it can
|
|
192
|
+
become eligible for payout.
|
|
191
193
|
|
|
192
194
|
Args:
|
|
193
195
|
extra_headers: Send extra headers
|
|
@@ -57,9 +57,11 @@ class DesignResource(SyncAPIResource):
|
|
|
57
57
|
) -> CampaignDesign:
|
|
58
58
|
"""
|
|
59
59
|
Retrieves a program's design configuration — the same surface as the dashboard
|
|
60
|
-
Program Editor's **Design** tab
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
Program Editor's **Design** tab: the GrowSurf window layout, header, share
|
|
61
|
+
channels + invite, signup form, portal/landing pages, theme styling, and the
|
|
62
|
+
referral/affiliate summary + status sections. This is a large object whose
|
|
63
|
+
available fields depend on the program type; the response includes every field
|
|
64
|
+
and its current value, which is the same shape you send back on `PATCH`.
|
|
63
65
|
|
|
64
66
|
Args:
|
|
65
67
|
extra_headers: Send extra headers
|
|
@@ -96,9 +98,8 @@ class DesignResource(SyncAPIResource):
|
|
|
96
98
|
Updates a program's design configuration. Only the fields you send are changed;
|
|
97
99
|
anything you leave out is untouched (arrays such as `signup.fields` replace
|
|
98
100
|
wholesale). Unknown fields, fields not available for the program type, and
|
|
99
|
-
invalid values return a `400`.
|
|
100
|
-
|
|
101
|
-
fields you want to change.
|
|
101
|
+
invalid values return a `400`. Landing-page custom code and JavaScript are not
|
|
102
|
+
editable via the API.
|
|
102
103
|
|
|
103
104
|
Args:
|
|
104
105
|
body: A partial `CampaignDesign` object — only the fields you send are changed.
|
|
@@ -158,9 +159,11 @@ class AsyncDesignResource(AsyncAPIResource):
|
|
|
158
159
|
) -> CampaignDesign:
|
|
159
160
|
"""
|
|
160
161
|
Retrieves a program's design configuration — the same surface as the dashboard
|
|
161
|
-
Program Editor's **Design** tab
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
Program Editor's **Design** tab: the GrowSurf window layout, header, share
|
|
163
|
+
channels + invite, signup form, portal/landing pages, theme styling, and the
|
|
164
|
+
referral/affiliate summary + status sections. This is a large object whose
|
|
165
|
+
available fields depend on the program type; the response includes every field
|
|
166
|
+
and its current value, which is the same shape you send back on `PATCH`.
|
|
164
167
|
|
|
165
168
|
Args:
|
|
166
169
|
extra_headers: Send extra headers
|
|
@@ -197,9 +200,8 @@ class AsyncDesignResource(AsyncAPIResource):
|
|
|
197
200
|
Updates a program's design configuration. Only the fields you send are changed;
|
|
198
201
|
anything you leave out is untouched (arrays such as `signup.fields` replace
|
|
199
202
|
wholesale). Unknown fields, fields not available for the program type, and
|
|
200
|
-
invalid values return a `400`.
|
|
201
|
-
|
|
202
|
-
fields you want to change.
|
|
203
|
+
invalid values return a `400`. Landing-page custom code and JavaScript are not
|
|
204
|
+
editable via the API.
|
|
203
205
|
|
|
204
206
|
Args:
|
|
205
207
|
body: A partial `CampaignDesign` object — only the fields you send are changed.
|
|
@@ -56,10 +56,11 @@ class EmailsResource(SyncAPIResource):
|
|
|
56
56
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
57
57
|
) -> CampaignEmails:
|
|
58
58
|
"""
|
|
59
|
-
Retrieves a program's
|
|
60
|
-
Program Editor's **Emails** tab.
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
Retrieves a program's email configuration — the same surface as the dashboard
|
|
60
|
+
Program Editor's **Emails** tab. Returns each editable email template
|
|
61
|
+
(`subject`, `preheader`, `body`, `isEnabled`) plus the `settings` block (sender,
|
|
62
|
+
contact, and design). The set of email templates returned depends on the program
|
|
63
|
+
type (referral vs affiliate).
|
|
63
64
|
|
|
64
65
|
Args:
|
|
65
66
|
extra_headers: Send extra headers
|
|
@@ -95,12 +96,10 @@ class EmailsResource(SyncAPIResource):
|
|
|
95
96
|
"""
|
|
96
97
|
Updates a program's email configuration. Only the fields you send are changed;
|
|
97
98
|
omitted fields are left untouched. You may only write the email templates the
|
|
98
|
-
dashboard exposes for the program type — writing a template that is not
|
|
99
|
-
for the program type returns a `400`. Some fields are read-only
|
|
99
|
+
dashboard exposes for the program type — writing a template that is not
|
|
100
|
+
available for the program type returns a `400`. Some fields are read-only
|
|
100
101
|
(`settings.sender.fromEmail`, whose custom value requires dashboard domain
|
|
101
|
-
verification).
|
|
102
|
-
current value, `GET` this resource first, then `PATCH` back only the fields you
|
|
103
|
-
want to change.
|
|
102
|
+
verification).
|
|
104
103
|
|
|
105
104
|
Args:
|
|
106
105
|
body: A partial `CampaignEmails` object — only the fields you send are changed.
|
|
@@ -159,10 +158,11 @@ class AsyncEmailsResource(AsyncAPIResource):
|
|
|
159
158
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
160
159
|
) -> CampaignEmails:
|
|
161
160
|
"""
|
|
162
|
-
Retrieves a program's
|
|
163
|
-
Program Editor's **Emails** tab.
|
|
164
|
-
|
|
165
|
-
|
|
161
|
+
Retrieves a program's email configuration — the same surface as the dashboard
|
|
162
|
+
Program Editor's **Emails** tab. Returns each editable email template
|
|
163
|
+
(`subject`, `preheader`, `body`, `isEnabled`) plus the `settings` block (sender,
|
|
164
|
+
contact, and design). The set of email templates returned depends on the program
|
|
165
|
+
type (referral vs affiliate).
|
|
166
166
|
|
|
167
167
|
Args:
|
|
168
168
|
extra_headers: Send extra headers
|
|
@@ -198,12 +198,10 @@ class AsyncEmailsResource(AsyncAPIResource):
|
|
|
198
198
|
"""
|
|
199
199
|
Updates a program's email configuration. Only the fields you send are changed;
|
|
200
200
|
omitted fields are left untouched. You may only write the email templates the
|
|
201
|
-
dashboard exposes for the program type — writing a template that is not
|
|
202
|
-
for the program type returns a `400`. Some fields are read-only
|
|
201
|
+
dashboard exposes for the program type — writing a template that is not
|
|
202
|
+
available for the program type returns a `400`. Some fields are read-only
|
|
203
203
|
(`settings.sender.fromEmail`, whose custom value requires dashboard domain
|
|
204
|
-
verification).
|
|
205
|
-
current value, `GET` this resource first, then `PATCH` back only the fields you
|
|
206
|
-
want to change.
|
|
204
|
+
verification).
|
|
207
205
|
|
|
208
206
|
Args:
|
|
209
207
|
body: A partial `CampaignEmails` object — only the fields you send are changed.
|
{growsurf_python-1.2.0 → growsurf_python-1.2.1}/src/growsurf/resources/campaign/installation.py
RENAMED
|
@@ -56,10 +56,10 @@ class InstallationResource(SyncAPIResource):
|
|
|
56
56
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
57
57
|
) -> CampaignInstallation:
|
|
58
58
|
"""
|
|
59
|
-
Retrieves a program's installation configuration — the same surface as the
|
|
60
|
-
Program Editor's **Installation** tab
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
Retrieves a program's installation configuration — the same surface as the
|
|
60
|
+
dashboard Program Editor's **Installation** tab (plus the Mobile SDK settings).
|
|
61
|
+
Includes the referral trigger (referral programs only), signup tracking method,
|
|
62
|
+
share URL and whitelist, custom-form signup settings, and mobile SDK settings.
|
|
63
63
|
|
|
64
64
|
Args:
|
|
65
65
|
extra_headers: Send extra headers
|
|
@@ -95,10 +95,10 @@ class InstallationResource(SyncAPIResource):
|
|
|
95
95
|
"""
|
|
96
96
|
Updates a program's installation configuration. Only the fields you send are
|
|
97
97
|
changed; omitted fields are left untouched. `referralTrigger` is only available
|
|
98
|
-
for referral programs. `mobile.publicKey` is read-only
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
for referral programs. `mobile.publicKey` is read-only; if no key exists yet,
|
|
99
|
+
enabling `mobile.isEnabled` creates one. Changing `shareUrl` re-resolves its
|
|
100
|
+
redirect destinations, which may take a moment to complete. URLs must include an
|
|
101
|
+
explicit `http://` or `https://` scheme.
|
|
102
102
|
|
|
103
103
|
Args:
|
|
104
104
|
body: A partial `CampaignInstallation` object — only the fields you send are changed.
|
|
@@ -157,10 +157,10 @@ class AsyncInstallationResource(AsyncAPIResource):
|
|
|
157
157
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
158
158
|
) -> CampaignInstallation:
|
|
159
159
|
"""
|
|
160
|
-
Retrieves a program's installation configuration — the same surface as the
|
|
161
|
-
Program Editor's **Installation** tab
|
|
162
|
-
|
|
163
|
-
|
|
160
|
+
Retrieves a program's installation configuration — the same surface as the
|
|
161
|
+
dashboard Program Editor's **Installation** tab (plus the Mobile SDK settings).
|
|
162
|
+
Includes the referral trigger (referral programs only), signup tracking method,
|
|
163
|
+
share URL and whitelist, custom-form signup settings, and mobile SDK settings.
|
|
164
164
|
|
|
165
165
|
Args:
|
|
166
166
|
extra_headers: Send extra headers
|
|
@@ -196,10 +196,10 @@ class AsyncInstallationResource(AsyncAPIResource):
|
|
|
196
196
|
"""
|
|
197
197
|
Updates a program's installation configuration. Only the fields you send are
|
|
198
198
|
changed; omitted fields are left untouched. `referralTrigger` is only available
|
|
199
|
-
for referral programs. `mobile.publicKey` is read-only
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
199
|
+
for referral programs. `mobile.publicKey` is read-only; if no key exists yet,
|
|
200
|
+
enabling `mobile.isEnabled` creates one. Changing `shareUrl` re-resolves its
|
|
201
|
+
redirect destinations, which may take a moment to complete. URLs must include an
|
|
202
|
+
explicit `http://` or `https://` scheme.
|
|
203
203
|
|
|
204
204
|
Args:
|
|
205
205
|
body: A partial `CampaignInstallation` object — only the fields you send are changed.
|
|
@@ -56,10 +56,11 @@ class OptionsResource(SyncAPIResource):
|
|
|
56
56
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
57
57
|
) -> CampaignOptions:
|
|
58
58
|
"""
|
|
59
|
-
Retrieves a program's options
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
Retrieves a program's options — the same surface as the dashboard Program
|
|
60
|
+
Editor's **Options** tab. Includes reward/fraud approval, anti-fraud lists +
|
|
61
|
+
toggles, referral cookie/credit windows, reCAPTCHA, payout threshold + tax
|
|
62
|
+
settings (affiliate only), and notification-email settings.
|
|
63
|
+
`fraud.recaptcha.secretKey` is never returned.
|
|
63
64
|
|
|
64
65
|
Args:
|
|
65
66
|
extra_headers: Send extra headers
|
|
@@ -93,14 +94,12 @@ class OptionsResource(SyncAPIResource):
|
|
|
93
94
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
94
95
|
) -> CampaignOptions:
|
|
95
96
|
"""
|
|
96
|
-
Updates a program's options. Only the fields you send are changed. Some fields
|
|
97
|
-
program-type specific (`requireManualRewardApproval`/`autoFulfillRewards`
|
|
98
|
-
referral-only; `payoutThreshold`/`taxDocumentation` are affiliate-only, and
|
|
97
|
+
Updates a program's options. Only the fields you send are changed. Some fields
|
|
98
|
+
are program-type specific (`requireManualRewardApproval`/`autoFulfillRewards`
|
|
99
|
+
are referral-only; `payoutThreshold`/`taxDocumentation` are affiliate-only, and
|
|
99
100
|
affiliate programs require `requireParticipantAuth: true`).
|
|
100
|
-
`fraud.recaptcha.secretKey` is write-only. `referralCreditWindowDays: null`
|
|
101
|
-
"never expires".
|
|
102
|
-
current value, `GET` this resource first, then `PATCH` back only the fields you
|
|
103
|
-
want to change.
|
|
101
|
+
`fraud.recaptcha.secretKey` is write-only. `referralCreditWindowDays: null`
|
|
102
|
+
means "never expires".
|
|
104
103
|
|
|
105
104
|
Args:
|
|
106
105
|
body: A partial `CampaignOptions` object — only the fields you send are changed.
|
|
@@ -159,10 +158,11 @@ class AsyncOptionsResource(AsyncAPIResource):
|
|
|
159
158
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
160
159
|
) -> CampaignOptions:
|
|
161
160
|
"""
|
|
162
|
-
Retrieves a program's options
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
161
|
+
Retrieves a program's options — the same surface as the dashboard Program
|
|
162
|
+
Editor's **Options** tab. Includes reward/fraud approval, anti-fraud lists +
|
|
163
|
+
toggles, referral cookie/credit windows, reCAPTCHA, payout threshold + tax
|
|
164
|
+
settings (affiliate only), and notification-email settings.
|
|
165
|
+
`fraud.recaptcha.secretKey` is never returned.
|
|
166
166
|
|
|
167
167
|
Args:
|
|
168
168
|
extra_headers: Send extra headers
|
|
@@ -196,14 +196,12 @@ class AsyncOptionsResource(AsyncAPIResource):
|
|
|
196
196
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
197
197
|
) -> CampaignOptions:
|
|
198
198
|
"""
|
|
199
|
-
Updates a program's options. Only the fields you send are changed. Some fields
|
|
200
|
-
program-type specific (`requireManualRewardApproval`/`autoFulfillRewards`
|
|
201
|
-
referral-only; `payoutThreshold`/`taxDocumentation` are affiliate-only, and
|
|
199
|
+
Updates a program's options. Only the fields you send are changed. Some fields
|
|
200
|
+
are program-type specific (`requireManualRewardApproval`/`autoFulfillRewards`
|
|
201
|
+
are referral-only; `payoutThreshold`/`taxDocumentation` are affiliate-only, and
|
|
202
202
|
affiliate programs require `requireParticipantAuth: true`).
|
|
203
|
-
`fraud.recaptcha.secretKey` is write-only. `referralCreditWindowDays: null`
|
|
204
|
-
"never expires".
|
|
205
|
-
current value, `GET` this resource first, then `PATCH` back only the fields you
|
|
206
|
-
want to change.
|
|
203
|
+
`fraud.recaptcha.secretKey` is write-only. `referralCreditWindowDays: null`
|
|
204
|
+
means "never expires".
|
|
207
205
|
|
|
208
206
|
Args:
|
|
209
207
|
body: A partial `CampaignOptions` object — only the fields you send are changed.
|