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.
Files changed (213) hide show
  1. growsurf_python-1.12.0/.release-please-manifest.json +3 -0
  2. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/CHANGELOG.md +22 -0
  3. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/PKG-INFO +1 -1
  4. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/api.md +18 -0
  5. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/pyproject.toml +1 -1
  6. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_version.py +1 -1
  7. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/emails.py +8 -0
  8. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/participant.py +6 -2
  9. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/rewards.py +4 -2
  10. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_emails.py +8 -2
  11. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_installation.py +2 -1
  12. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_email_params.py +2 -0
  13. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_params.py +1 -1
  14. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/uv.lock +173 -130
  15. growsurf_python-1.10.0/.release-please-manifest.json +0 -3
  16. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/.gitignore +0 -0
  17. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/CONTRIBUTING.md +0 -0
  18. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/LICENSE +0 -0
  19. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/README.md +0 -0
  20. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/SECURITY.md +0 -0
  21. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/bin/check-release-environment +0 -0
  22. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/bin/publish-pypi +0 -0
  23. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/examples/.keep +0 -0
  24. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/release-please-config.json +0 -0
  25. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/requirements-dev.lock +0 -0
  26. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/__init__.py +0 -0
  27. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_base_client.py +0 -0
  28. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_client.py +0 -0
  29. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_compat.py +0 -0
  30. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_constants.py +0 -0
  31. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_exceptions.py +0 -0
  32. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_files.py +0 -0
  33. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_models.py +0 -0
  34. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_qs.py +0 -0
  35. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_resource.py +0 -0
  36. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_response.py +0 -0
  37. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_streaming.py +0 -0
  38. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_types.py +0 -0
  39. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/__init__.py +0 -0
  40. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_compat.py +0 -0
  41. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
  42. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_json.py +0 -0
  43. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_logs.py +0 -0
  44. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_path.py +0 -0
  45. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_proxy.py +0 -0
  46. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_reflection.py +0 -0
  47. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
  48. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_streams.py +0 -0
  49. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_sync.py +0 -0
  50. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_transform.py +0 -0
  51. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_typing.py +0 -0
  52. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/_utils/_utils.py +0 -0
  53. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/lib/.keep +0 -0
  54. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/py.typed +0 -0
  55. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/__init__.py +0 -0
  56. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/account.py +0 -0
  57. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/__init__.py +0 -0
  58. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/campaign.py +0 -0
  59. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/commission.py +0 -0
  60. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/design.py +0 -0
  61. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/installation.py +0 -0
  62. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/integrations.py +0 -0
  63. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/options.py +0 -0
  64. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/program_resources.py +0 -0
  65. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/reward.py +0 -0
  66. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/campaign/webhooks.py +0 -0
  67. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/resources/team.py +0 -0
  68. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/__init__.py +0 -0
  69. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/account_create_params.py +0 -0
  70. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_application.py +0 -0
  71. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_application_answer.py +0 -0
  72. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_application_list_response.py +0 -0
  73. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_invite.py +0 -0
  74. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/affiliate_invite_list_response.py +0 -0
  75. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/analytics_availability.py +0 -0
  76. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/analytics_unavailable_reason.py +0 -0
  77. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/__init__.py +0 -0
  78. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign.py +0 -0
  79. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_design.py +0 -0
  80. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_options.py +0 -0
  81. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
  82. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
  83. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
  84. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/delete_program_resource_response.py +0 -0
  85. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
  86. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
  87. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/email_participant_response.py +0 -0
  88. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
  89. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/integration.py +0 -0
  90. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/integration_list_response.py +0 -0
  91. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant.py +0 -0
  92. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_activation_analytics.py +0 -0
  93. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
  94. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
  95. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_analytics_params.py +0 -0
  96. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
  97. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
  98. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_bulk_delete_response.py +0 -0
  99. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
  100. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_get_payout_destination_response.py +0 -0
  101. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
  102. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
  103. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
  104. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
  105. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
  106. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
  107. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
  108. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
  109. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
  110. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
  111. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_response.py +0 -0
  112. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
  113. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
  114. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
  115. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
  116. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
  117. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
  118. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/pending_analytics_erasure.py +0 -0
  119. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource.py +0 -0
  120. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource_list_response.py +0 -0
  121. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource_upload_result.py +0 -0
  122. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/program_resource_upload_ticket.py +0 -0
  123. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/referral_source.py +0 -0
  124. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/referral_status.py +0 -0
  125. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward.py +0 -0
  126. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
  127. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
  128. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_create_params.py +0 -0
  129. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
  130. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
  131. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
  132. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/reward_update_params.py +0 -0
  133. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook.py +0 -0
  134. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
  135. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_event.py +0 -0
  136. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
  137. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
  138. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
  139. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
  140. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_activation_analytics_response.py +0 -0
  141. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_affiliate_invite_params.py +0 -0
  142. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
  143. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
  144. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_create_params.py +0 -0
  145. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_engagement_analytics.py +0 -0
  146. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_affiliate_applications_params.py +0 -0
  147. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_affiliate_invites_params.py +0 -0
  148. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
  149. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
  150. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
  151. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
  152. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
  153. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_list_response.py +0 -0
  154. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_retrieve_activation_analytics_params.py +0 -0
  155. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
  156. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
  157. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_review_affiliate_application_params.py +0 -0
  158. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/campaign_update_params.py +0 -0
  159. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/commission_structure.py +0 -0
  160. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/create_account_response.py +0 -0
  161. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/email_analytics.py +0 -0
  162. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/participant_commission_list.py +0 -0
  163. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/participant_list.py +0 -0
  164. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/participant_payout_list.py +0 -0
  165. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/referral_flow_screenshot.py +0 -0
  166. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/referral_flow_screenshots_response.py +0 -0
  167. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/referral_list.py +0 -0
  168. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/rotate_api_key_response.py +0 -0
  169. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/team.py +0 -0
  170. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/team_update_params.py +0 -0
  171. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/src/growsurf/types/verification_email_response.py +0 -0
  172. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/__init__.py +0 -0
  173. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/__init__.py +0 -0
  174. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/__init__.py +0 -0
  175. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_commission.py +0 -0
  176. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_design.py +0 -0
  177. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_emails.py +0 -0
  178. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_installation.py +0 -0
  179. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_integrations.py +0 -0
  180. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_options.py +0 -0
  181. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_participant.py +0 -0
  182. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_program_resources.py +0 -0
  183. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_reward.py +0 -0
  184. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_rewards.py +0 -0
  185. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/campaign/test_webhooks.py +0 -0
  186. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/test_account.py +0 -0
  187. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/test_campaign.py +0 -0
  188. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/api_resources/test_team_contract.py +0 -0
  189. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/conftest.py +0 -0
  190. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/sample_file.txt +0 -0
  191. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_client.py +0 -0
  192. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_extract_files.py +0 -0
  193. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_files.py +0 -0
  194. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_models.py +0 -0
  195. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_qs.py +0 -0
  196. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_required_args.py +0 -0
  197. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_response.py +0 -0
  198. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_streaming.py +0 -0
  199. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_transform.py +0 -0
  200. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_utils/test_datetime_parse.py +0 -0
  201. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_utils/test_json.py +0 -0
  202. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_utils/test_path.py +0 -0
  203. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_utils/test_proxy.py +0 -0
  204. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/test_utils/test_typing.py +0 -0
  205. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_affiliate_application.py +0 -0
  206. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_analytics_reward_status.py +0 -0
  207. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_email_analytics.py +0 -0
  208. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_lead_reward_events.py +0 -0
  209. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_participant_activation_engagement_analytics.py +0 -0
  210. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_participant_contract.py +0 -0
  211. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_payout_provider_forward_compat.py +0 -0
  212. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/types/test_referral_source.py +0 -0
  213. {growsurf_python-1.10.0 → growsurf_python-1.12.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.12.0"
3
+ }
@@ -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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 1.10.0
3
+ Version: 1.12.0
4
4
  Summary: The official Python library for the growsurf API
5
5
  Project-URL: Homepage, https://growsurf.com/
6
6
  Project-URL: Repository, https://github.com/growsurf/growsurf-python
@@ -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
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "growsurf-python"
3
- version = "1.10.0"
3
+ version = "1.12.0"
4
4
  description = "The official Python library for the growsurf API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "growsurf"
4
- __version__ = "1.10.0" # x-release-please-version
4
+ __version__ = "1.12.0" # x-release-please-version
@@ -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
@@ -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,
@@ -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
@@ -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. To see the full object with every field and its
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, and mobile SDK settings.
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."""