growsurf-python 1.13.0__tar.gz → 1.13.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.
Files changed (214) hide show
  1. growsurf_python-1.13.1/.release-please-manifest.json +3 -0
  2. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/CHANGELOG.md +9 -0
  3. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/PKG-INFO +1 -1
  4. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/pyproject.toml +1 -1
  5. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_version.py +1 -1
  6. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/campaign.py +8 -0
  7. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/design.py +6 -0
  8. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/emails.py +6 -0
  9. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/installation.py +6 -0
  10. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/options.py +22 -12
  11. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/rewards.py +8 -0
  12. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/campaign_options.py +2 -2
  13. growsurf_python-1.13.0/.release-please-manifest.json +0 -3
  14. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/.gitignore +0 -0
  15. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/CONTRIBUTING.md +0 -0
  16. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/LICENSE +0 -0
  17. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/README.md +0 -0
  18. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/SECURITY.md +0 -0
  19. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/api.md +0 -0
  20. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/bin/check-release-environment +0 -0
  21. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/bin/publish-pypi +0 -0
  22. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/examples/.keep +0 -0
  23. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/release-please-config.json +0 -0
  24. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/requirements-dev.lock +0 -0
  25. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/__init__.py +0 -0
  26. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_base_client.py +0 -0
  27. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_client.py +0 -0
  28. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_compat.py +0 -0
  29. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_constants.py +0 -0
  30. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_exceptions.py +0 -0
  31. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_files.py +0 -0
  32. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_models.py +0 -0
  33. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_qs.py +0 -0
  34. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_resource.py +0 -0
  35. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_response.py +0 -0
  36. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_streaming.py +0 -0
  37. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_types.py +0 -0
  38. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/__init__.py +0 -0
  39. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_compat.py +0 -0
  40. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_datetime_parse.py +0 -0
  41. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_json.py +0 -0
  42. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_logs.py +0 -0
  43. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_path.py +0 -0
  44. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_proxy.py +0 -0
  45. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_reflection.py +0 -0
  46. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_resources_proxy.py +0 -0
  47. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_streams.py +0 -0
  48. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_sync.py +0 -0
  49. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_transform.py +0 -0
  50. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_typing.py +0 -0
  51. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/_utils/_utils.py +0 -0
  52. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/lib/.keep +0 -0
  53. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/py.typed +0 -0
  54. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/__init__.py +0 -0
  55. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/account.py +0 -0
  56. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/__init__.py +0 -0
  57. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/commission.py +0 -0
  58. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/integrations.py +0 -0
  59. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/participant.py +0 -0
  60. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/program_resources.py +0 -0
  61. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/reward.py +0 -0
  62. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/campaign/webhooks.py +0 -0
  63. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/resources/team.py +0 -0
  64. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/__init__.py +0 -0
  65. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/account_create_params.py +0 -0
  66. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/affiliate_application.py +0 -0
  67. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/affiliate_application_answer.py +0 -0
  68. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/affiliate_application_list_response.py +0 -0
  69. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/affiliate_invite.py +0 -0
  70. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/affiliate_invite_list_response.py +0 -0
  71. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/analytics_availability.py +0 -0
  72. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/analytics_unavailable_reason.py +0 -0
  73. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/__init__.py +0 -0
  74. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/campaign.py +0 -0
  75. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/campaign_design.py +0 -0
  76. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/campaign_emails.py +0 -0
  77. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/campaign_installation.py +0 -0
  78. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
  79. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
  80. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
  81. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/delete_program_resource_response.py +0 -0
  82. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
  83. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
  84. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/email_participant_response.py +0 -0
  85. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
  86. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/integration.py +0 -0
  87. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/integration_list_response.py +0 -0
  88. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/language.py +0 -0
  89. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant.py +0 -0
  90. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_activation_analytics.py +0 -0
  91. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
  92. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_add_params.py +0 -0
  93. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_analytics_params.py +0 -0
  94. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
  95. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
  96. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_bulk_delete_response.py +0 -0
  97. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
  98. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_email_params.py +0 -0
  99. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_get_payout_destination_response.py +0 -0
  100. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
  101. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
  102. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
  103. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
  104. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
  105. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
  106. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
  107. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
  108. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
  109. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
  110. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_params.py +0 -0
  111. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_response.py +0 -0
  112. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_reward.py +0 -0
  113. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
  114. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
  115. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
  116. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
  117. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/participant_update_params.py +0 -0
  118. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/pending_analytics_erasure.py +0 -0
  119. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/program_resource.py +0 -0
  120. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/program_resource_list_response.py +0 -0
  121. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/program_resource_upload_result.py +0 -0
  122. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/program_resource_upload_ticket.py +0 -0
  123. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/referral_source.py +0 -0
  124. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/referral_status.py +0 -0
  125. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/reward.py +0 -0
  126. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
  127. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
  128. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/reward_create_params.py +0 -0
  129. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
  130. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
  131. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
  132. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/reward_update_params.py +0 -0
  133. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/webhook.py +0 -0
  134. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
  135. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/webhook_event.py +0 -0
  136. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
  137. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
  138. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
  139. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
  140. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_activation_analytics_response.py +0 -0
  141. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_create_affiliate_invite_params.py +0 -0
  142. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
  143. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
  144. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_create_params.py +0 -0
  145. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_engagement_analytics.py +0 -0
  146. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_list_affiliate_applications_params.py +0 -0
  147. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_list_affiliate_invites_params.py +0 -0
  148. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
  149. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
  150. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_list_participants_params.py +0 -0
  151. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
  152. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
  153. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_list_response.py +0 -0
  154. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_retrieve_activation_analytics_params.py +0 -0
  155. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
  156. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
  157. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_review_affiliate_application_params.py +0 -0
  158. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/campaign_update_params.py +0 -0
  159. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/commission_structure.py +0 -0
  160. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/create_account_response.py +0 -0
  161. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/email_analytics.py +0 -0
  162. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/participant_commission_list.py +0 -0
  163. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/participant_list.py +0 -0
  164. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/participant_payout_list.py +0 -0
  165. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/referral_flow_screenshot.py +0 -0
  166. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/referral_flow_screenshots_response.py +0 -0
  167. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/referral_list.py +0 -0
  168. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/rotate_api_key_response.py +0 -0
  169. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/team.py +0 -0
  170. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/team_update_params.py +0 -0
  171. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/src/growsurf/types/verification_email_response.py +0 -0
  172. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/__init__.py +0 -0
  173. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/__init__.py +0 -0
  174. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/__init__.py +0 -0
  175. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_commission.py +0 -0
  176. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_design.py +0 -0
  177. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_emails.py +0 -0
  178. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_installation.py +0 -0
  179. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_integrations.py +0 -0
  180. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_options.py +0 -0
  181. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_participant.py +0 -0
  182. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_program_resources.py +0 -0
  183. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_reward.py +0 -0
  184. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_rewards.py +0 -0
  185. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/campaign/test_webhooks.py +0 -0
  186. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/test_account.py +0 -0
  187. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/test_campaign.py +0 -0
  188. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/api_resources/test_team_contract.py +0 -0
  189. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/conftest.py +0 -0
  190. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/sample_file.txt +0 -0
  191. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_client.py +0 -0
  192. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_extract_files.py +0 -0
  193. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_files.py +0 -0
  194. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_models.py +0 -0
  195. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_qs.py +0 -0
  196. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_required_args.py +0 -0
  197. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_response.py +0 -0
  198. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_streaming.py +0 -0
  199. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_transform.py +0 -0
  200. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_utils/test_datetime_parse.py +0 -0
  201. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_utils/test_json.py +0 -0
  202. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_utils/test_path.py +0 -0
  203. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_utils/test_proxy.py +0 -0
  204. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/test_utils/test_typing.py +0 -0
  205. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/types/test_affiliate_application.py +0 -0
  206. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/types/test_analytics_reward_status.py +0 -0
  207. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/types/test_email_analytics.py +0 -0
  208. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/types/test_lead_reward_events.py +0 -0
  209. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/types/test_participant_activation_engagement_analytics.py +0 -0
  210. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/types/test_participant_contract.py +0 -0
  211. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/types/test_payout_provider_forward_compat.py +0 -0
  212. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/types/test_referral_source.py +0 -0
  213. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/tests/utils.py +0 -0
  214. {growsurf_python-1.13.0 → growsurf_python-1.13.1}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.13.1"
3
+ }
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.13.1](https://github.com/growsurf/growsurf-python/compare/v1.13.0...v1.13.1) (2026-10-14)
4
+
5
+
6
+ ### Documentation
7
+
8
+ * align SDK option guidance with the REST API ([f93027e](https://github.com/growsurf/growsurf-python/commit/f93027e3580e7412a7991c817912c19901d32721))
9
+ * document language picker flag option ([304a4b4](https://github.com/growsurf/growsurf-python/commit/304a4b4dc9b452c07c04b694b6374df7e535d0e4))
10
+ * sync SDK comments with the REST API contract ([bf3e679](https://github.com/growsurf/growsurf-python/commit/bf3e679d1dcb9db0380babec0f8030a8c0156454))
11
+
3
12
  ## [1.13.0](https://github.com/growsurf/growsurf-python/compare/v1.12.0...v1.13.0) (2026-10-09)
4
13
 
5
14
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 1.13.0
3
+ Version: 1.13.1
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "growsurf-python"
3
- version = "1.13.0"
3
+ version = "1.13.1"
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.13.0" # x-release-please-version
4
+ __version__ = "1.13.1" # x-release-please-version
@@ -346,6 +346,9 @@ class CampaignResource(SyncAPIResource):
346
346
  configuration (design, emails, options, installation) is edited via the
347
347
  dedicated config sub-resources, not here. The program cannot be deleted via this
348
348
  endpoint.
349
+ Changes to participant email content are checked before saving. Rejected content returns
350
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
351
+ change. A concurrent edit can return `409`; reload the program before retrying.
349
352
 
350
353
  Args:
351
354
  status: The requested program status. `IN_PROGRESS` publishes or resumes the program;
@@ -411,6 +414,7 @@ class CampaignResource(SyncAPIResource):
411
414
  """
412
415
  Clones an existing program into a new `DRAFT` program. Integrations and
413
416
  credentials are not copied; active rewards are cloned.
417
+ A concurrent edit to the program can return `409`; retry the clone.
414
418
 
415
419
  Args:
416
420
  extra_headers: Send extra headers
@@ -1577,6 +1581,9 @@ class AsyncCampaignResource(AsyncAPIResource):
1577
1581
  configuration (design, emails, options, installation) is edited via the
1578
1582
  dedicated config sub-resources, not here. The program cannot be deleted via this
1579
1583
  endpoint.
1584
+ Changes to participant email content are checked before saving. Rejected content returns
1585
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
1586
+ change. A concurrent edit can return `409`; reload the program before retrying.
1580
1587
 
1581
1588
  Args:
1582
1589
  status: The requested program status. `IN_PROGRESS` publishes or resumes the program;
@@ -1642,6 +1649,7 @@ class AsyncCampaignResource(AsyncAPIResource):
1642
1649
  """
1643
1650
  Clones an existing program into a new `DRAFT` program. Integrations and
1644
1651
  credentials are not copied; active rewards are cloned.
1652
+ A concurrent edit to the program can return `409`; retry the clone.
1645
1653
 
1646
1654
  Args:
1647
1655
  extra_headers: Send extra headers
@@ -101,6 +101,9 @@ class DesignResource(SyncAPIResource):
101
101
  anything you leave out is untouched (arrays such as `signup.fields` replace wholesale).
102
102
  Unknown fields, fields not available for the program type, and invalid values return a
103
103
  `400`. Landing-page custom code and JavaScript are not editable via the API.
104
+ Changes to participant email content are checked before saving. Rejected content returns
105
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
106
+ change. A concurrent edit can return `409`; reload the program before retrying.
104
107
 
105
108
  Args:
106
109
  body: A partial `CampaignDesign` object — only the fields you send are changed.
@@ -206,6 +209,9 @@ class AsyncDesignResource(AsyncAPIResource):
206
209
  anything you leave out is untouched (arrays such as `signup.fields` replace wholesale).
207
210
  Unknown fields, fields not available for the program type, and invalid values return a
208
211
  `400`. Landing-page custom code and JavaScript are not editable via the API.
212
+ Changes to participant email content are checked before saving. Rejected content returns
213
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
214
+ change. A concurrent edit can return `409`; reload the program before retrying.
209
215
 
210
216
  Args:
211
217
  body: A partial `CampaignDesign` object — only the fields you send are changed.
@@ -104,6 +104,9 @@ class EmailsResource(SyncAPIResource):
104
104
  available for the program type returns a `400`. Some fields are read-only
105
105
  (`settings.sender.fromEmail`, whose custom value requires dashboard domain
106
106
  verification).
107
+ Changes to participant email content are checked before saving. Rejected content returns
108
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
109
+ change. A concurrent edit can return `409`; reload the program before retrying.
107
110
 
108
111
  Args:
109
112
  body: A partial `CampaignEmails` object — only the fields you send are changed.
@@ -210,6 +213,9 @@ class AsyncEmailsResource(AsyncAPIResource):
210
213
  available for the program type returns a `400`. Some fields are read-only
211
214
  (`settings.sender.fromEmail`, whose custom value requires dashboard domain
212
215
  verification).
216
+ Changes to participant email content are checked before saving. Rejected content returns
217
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
218
+ change. A concurrent edit can return `409`; reload the program before retrying.
213
219
 
214
220
  Args:
215
221
  body: A partial `CampaignEmails` object — only the fields you send are changed.
@@ -99,6 +99,9 @@ class InstallationResource(SyncAPIResource):
99
99
  enabling `mobile.isEnabled` creates one. Changing `shareUrl` re-resolves its
100
100
  redirect destinations, which may take a moment to complete. URLs must include an
101
101
  explicit `http://` or `https://` scheme.
102
+ Changes to participant email content are checked before saving. Rejected content returns
103
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
104
+ change. A concurrent edit can return `409`; reload the program before retrying.
102
105
 
103
106
  Args:
104
107
  body: A partial `CampaignInstallation` object — only the fields you send are changed.
@@ -200,6 +203,9 @@ class AsyncInstallationResource(AsyncAPIResource):
200
203
  enabling `mobile.isEnabled` creates one. Changing `shareUrl` re-resolves its
201
204
  redirect destinations, which may take a moment to complete. URLs must include an
202
205
  explicit `http://` or `https://` scheme.
206
+ Changes to participant email content are checked before saving. Rejected content returns
207
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
208
+ change. A concurrent edit can return `409`; reload the program before retrying.
203
209
 
204
210
  Args:
205
211
  body: A partial `CampaignInstallation` object — only the fields you send are changed.
@@ -56,12 +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 — 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, affiliate enrollment +
62
- application review, payout threshold + tax settings (affiliate only), and
63
- notification-email settings, and `attributionModel` (`LAST_CLICK` or
64
- `FIRST_CLICK`). `fraud.recaptcha.secretKey` is never returned.
59
+ Retrieves a program's options — the same surface as the dashboard Program Editor's
60
+ **Options** tab. Includes the attribution model, reward/fraud approval, anti-fraud lists
61
+ + toggles, referral cookie/credit windows, reCAPTCHA, affiliate enrollment + application
62
+ review, payout threshold + tax settings (affiliate only), notification-email settings,
63
+ and the program's languages. `fraud.recaptcha.secretKey` is never returned.
65
64
 
66
65
  Args:
67
66
  extra_headers: Send extra headers
@@ -101,6 +100,12 @@ class OptionsResource(SyncAPIResource):
101
100
  and `payoutThreshold`/`taxDocumentation` are affiliate-only, and affiliate
102
101
  programs require `requireParticipantAuth: true`). `fraud.recaptcha.secretKey`
103
102
  is write-only. `referralCreditWindowDays: null` means "never expires".
103
+ Turning on `languages.additionalLanguages` requires the Business plan or higher. While
104
+ any are on, every `languages` change, including turning them off, requires it too (`403`
105
+ otherwise).
106
+ Changes to participant email content are checked before saving. Rejected content returns
107
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
108
+ change. A concurrent edit can return `409`; reload the program before retrying.
104
109
 
105
110
  Args:
106
111
  body: A partial `CampaignOptions` object — only the fields you send are changed.
@@ -159,12 +164,11 @@ class AsyncOptionsResource(AsyncAPIResource):
159
164
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
160
165
  ) -> CampaignOptions:
161
166
  """
162
- Retrieves a program's options — the same surface as the dashboard Program
163
- Editor's **Options** tab. Includes reward/fraud approval, anti-fraud lists +
164
- toggles, referral cookie/credit windows, reCAPTCHA, affiliate enrollment +
165
- application review, payout threshold + tax settings (affiliate only), and
166
- notification-email settings, and `attributionModel` (`LAST_CLICK` or
167
- `FIRST_CLICK`). `fraud.recaptcha.secretKey` is never returned.
167
+ Retrieves a program's options — the same surface as the dashboard Program Editor's
168
+ **Options** tab. Includes the attribution model, reward/fraud approval, anti-fraud lists
169
+ + toggles, referral cookie/credit windows, reCAPTCHA, affiliate enrollment + application
170
+ review, payout threshold + tax settings (affiliate only), notification-email settings,
171
+ and the program's languages. `fraud.recaptcha.secretKey` is never returned.
168
172
 
169
173
  Args:
170
174
  extra_headers: Send extra headers
@@ -204,6 +208,12 @@ class AsyncOptionsResource(AsyncAPIResource):
204
208
  and `payoutThreshold`/`taxDocumentation` are affiliate-only, and affiliate
205
209
  programs require `requireParticipantAuth: true`). `fraud.recaptcha.secretKey`
206
210
  is write-only. `referralCreditWindowDays: null` means "never expires".
211
+ Turning on `languages.additionalLanguages` requires the Business plan or higher. While
212
+ any are on, every `languages` change, including turning them off, requires it too (`403`
213
+ otherwise).
214
+ Changes to participant email content are checked before saving. Rejected content returns
215
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
216
+ change. A concurrent edit can return `409`; reload the program before retrying.
207
217
 
208
218
  Args:
209
219
  body: A partial `CampaignOptions` object — only the fields you send are changed.
@@ -89,6 +89,7 @@ class RewardsResource(SyncAPIResource):
89
89
  support only `AFFILIATE` rewards; referral programs support all other types).
90
90
  Enabling an active reward of a type automatically enables that reward type on
91
91
  the program.
92
+ A concurrent edit can return `409`; reload the program before retrying.
92
93
 
93
94
  Args:
94
95
  type: The reward type. Immutable after creation.
@@ -221,6 +222,9 @@ class RewardsResource(SyncAPIResource):
221
222
  keys automatically rewrite any `{{campaignReward[…]}}` references in campaign
222
223
  copy; removing a key that campaign copy still references returns a `409` listing
223
224
  the referencing fields.
225
+ Changes to participant email content are checked before saving. Rejected content returns
226
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
227
+ change. A concurrent edit can return `409`; reload the program before retrying.
224
228
 
225
229
  Args:
226
230
  commission_structure: The affiliate commission structure (AFFILIATE rewards only).
@@ -455,6 +459,7 @@ class AsyncRewardsResource(AsyncAPIResource):
455
459
  support only `AFFILIATE` rewards; referral programs support all other types).
456
460
  Enabling an active reward of a type automatically enables that reward type on
457
461
  the program.
462
+ A concurrent edit can return `409`; reload the program before retrying.
458
463
 
459
464
  Args:
460
465
  type: The reward type. Immutable after creation.
@@ -587,6 +592,9 @@ class AsyncRewardsResource(AsyncAPIResource):
587
592
  keys automatically rewrite any `{{campaignReward[…]}}` references in campaign
588
593
  copy; removing a key that campaign copy still references returns a `409` listing
589
594
  the referencing fields.
595
+ Changes to participant email content are checked before saving. Rejected content returns
596
+ `400`; if the check is unavailable, `503` asks you to retry. Neither response saves the
597
+ change. A concurrent edit can return `409`; reload the program before retrying.
590
598
 
591
599
  Args:
592
600
  commission_structure: The affiliate commission structure (AFFILIATE rewards only).
@@ -9,8 +9,8 @@ __all__ = ["CampaignOptions"]
9
9
  # approval, anti-fraud lists + toggles, the `LAST_CLICK` or `FIRST_CLICK`
10
10
  # attribution model, referral windows, reCAPTCHA, affiliate enrollment +
11
11
  # application review, payout + tax settings (affiliate only), notification-email
12
- # settings, and the program's `languages` (`baseLanguage` and
13
- # `additionalLanguages`). It is intentionally modeled as a loose object. To see the full
12
+ # settings, and the program's `languages` (`baseLanguage`, `additionalLanguages`,
13
+ # and `showFlags`). It is intentionally modeled as a loose object. To see the full
14
14
  # object with every field and its current value, `GET` the resource, then `PATCH`
15
15
  # back only the fields you want to change.
16
16
  CampaignOptions: TypeAlias = Dict[str, object]
@@ -1,3 +0,0 @@
1
- {
2
- ".": "1.13.0"
3
- }