growsurf-python 1.5.0__tar.gz → 1.6.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 (212) hide show
  1. growsurf_python-1.6.0/.release-please-manifest.json +3 -0
  2. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/CHANGELOG.md +24 -0
  3. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/PKG-INFO +1 -1
  4. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/pyproject.toml +1 -1
  5. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_version.py +1 -1
  6. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/account.py +42 -40
  7. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/__init__.py +1 -0
  8. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_bulk_delete_response.py +4 -0
  9. growsurf_python-1.6.0/src/growsurf/types/campaign/participant_delete_response.py +17 -0
  10. growsurf_python-1.6.0/src/growsurf/types/campaign/pending_analytics_erasure.py +15 -0
  11. growsurf_python-1.5.0/.release-please-manifest.json +0 -3
  12. growsurf_python-1.5.0/src/growsurf/types/campaign/participant_delete_response.py +0 -9
  13. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/.gitignore +0 -0
  14. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/CONTRIBUTING.md +0 -0
  15. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/LICENSE +0 -0
  16. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/README.md +0 -0
  17. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/SECURITY.md +0 -0
  18. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/api.md +0 -0
  19. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/bin/check-release-environment +0 -0
  20. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/bin/publish-pypi +0 -0
  21. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/examples/.keep +0 -0
  22. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/release-please-config.json +0 -0
  23. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/requirements-dev.lock +0 -0
  24. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/__init__.py +0 -0
  25. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_base_client.py +0 -0
  26. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_client.py +0 -0
  27. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_compat.py +0 -0
  28. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_constants.py +0 -0
  29. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_exceptions.py +0 -0
  30. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_files.py +0 -0
  31. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_models.py +0 -0
  32. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_qs.py +0 -0
  33. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_resource.py +0 -0
  34. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_response.py +0 -0
  35. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_streaming.py +0 -0
  36. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_types.py +0 -0
  37. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/__init__.py +0 -0
  38. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_compat.py +0 -0
  39. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
  40. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_json.py +0 -0
  41. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_logs.py +0 -0
  42. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_path.py +0 -0
  43. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_proxy.py +0 -0
  44. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_reflection.py +0 -0
  45. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
  46. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_streams.py +0 -0
  47. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_sync.py +0 -0
  48. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_transform.py +0 -0
  49. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_typing.py +0 -0
  50. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/_utils/_utils.py +0 -0
  51. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/lib/.keep +0 -0
  52. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/py.typed +0 -0
  53. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/__init__.py +0 -0
  54. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/__init__.py +0 -0
  55. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/campaign.py +0 -0
  56. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/commission.py +0 -0
  57. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/design.py +0 -0
  58. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/emails.py +0 -0
  59. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/installation.py +0 -0
  60. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/integrations.py +0 -0
  61. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/options.py +0 -0
  62. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/participant.py +0 -0
  63. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/program_resources.py +0 -0
  64. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/reward.py +0 -0
  65. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/rewards.py +0 -0
  66. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/campaign/webhooks.py +0 -0
  67. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/resources/team.py +0 -0
  68. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/__init__.py +0 -0
  69. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/account_create_params.py +0 -0
  70. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/affiliate_application.py +0 -0
  71. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/affiliate_application_answer.py +0 -0
  72. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/affiliate_application_list_response.py +0 -0
  73. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/affiliate_invite.py +0 -0
  74. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/affiliate_invite_list_response.py +0 -0
  75. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/analytics_availability.py +0 -0
  76. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/analytics_unavailable_reason.py +0 -0
  77. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/campaign.py +0 -0
  78. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/campaign_design.py +0 -0
  79. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/campaign_emails.py +0 -0
  80. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/campaign_installation.py +0 -0
  81. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/campaign_options.py +0 -0
  82. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
  83. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
  84. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
  85. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/delete_program_resource_response.py +0 -0
  86. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
  87. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
  88. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/email_participant_response.py +0 -0
  89. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
  90. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/integration.py +0 -0
  91. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/integration_list_response.py +0 -0
  92. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant.py +0 -0
  93. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_activation_analytics.py +0 -0
  94. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
  95. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
  96. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_analytics_params.py +0 -0
  97. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
  98. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
  99. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_email_params.py +0 -0
  100. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_get_payout_destination_response.py +0 -0
  101. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
  102. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
  103. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
  104. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
  105. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
  106. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
  107. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
  108. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
  109. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
  110. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
  111. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_params.py +0 -0
  112. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_response.py +0 -0
  113. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
  114. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
  115. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
  116. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
  117. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
  118. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
  119. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/program_resource.py +0 -0
  120. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/program_resource_list_response.py +0 -0
  121. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/program_resource_upload_result.py +0 -0
  122. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/program_resource_upload_ticket.py +0 -0
  123. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/referral_source.py +0 -0
  124. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/referral_status.py +0 -0
  125. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/reward.py +0 -0
  126. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
  127. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
  128. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/reward_create_params.py +0 -0
  129. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
  130. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
  131. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
  132. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/reward_update_params.py +0 -0
  133. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/webhook.py +0 -0
  134. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
  135. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/webhook_event.py +0 -0
  136. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
  137. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
  138. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
  139. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
  140. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_activation_analytics_response.py +0 -0
  141. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_create_affiliate_invite_params.py +0 -0
  142. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
  143. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
  144. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_create_params.py +0 -0
  145. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_engagement_analytics.py +0 -0
  146. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_list_affiliate_applications_params.py +0 -0
  147. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_list_affiliate_invites_params.py +0 -0
  148. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
  149. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
  150. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
  151. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
  152. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
  153. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_list_response.py +0 -0
  154. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_retrieve_activation_analytics_params.py +0 -0
  155. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
  156. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
  157. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_review_affiliate_application_params.py +0 -0
  158. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/campaign_update_params.py +0 -0
  159. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/commission_structure.py +0 -0
  160. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/create_account_response.py +0 -0
  161. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/email_analytics.py +0 -0
  162. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/participant_commission_list.py +0 -0
  163. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/participant_list.py +0 -0
  164. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/participant_payout_list.py +0 -0
  165. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/referral_list.py +0 -0
  166. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/rotate_api_key_response.py +0 -0
  167. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/team.py +0 -0
  168. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/team_update_params.py +0 -0
  169. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/src/growsurf/types/verification_email_response.py +0 -0
  170. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/__init__.py +0 -0
  171. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/__init__.py +0 -0
  172. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/__init__.py +0 -0
  173. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_commission.py +0 -0
  174. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_design.py +0 -0
  175. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_emails.py +0 -0
  176. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_installation.py +0 -0
  177. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_integrations.py +0 -0
  178. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_options.py +0 -0
  179. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_participant.py +0 -0
  180. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_program_resources.py +0 -0
  181. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_reward.py +0 -0
  182. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_rewards.py +0 -0
  183. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/campaign/test_webhooks.py +0 -0
  184. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/test_account.py +0 -0
  185. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/test_campaign.py +0 -0
  186. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/api_resources/test_team_contract.py +0 -0
  187. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/conftest.py +0 -0
  188. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/sample_file.txt +0 -0
  189. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_client.py +0 -0
  190. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_extract_files.py +0 -0
  191. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_files.py +0 -0
  192. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_models.py +0 -0
  193. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_qs.py +0 -0
  194. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_required_args.py +0 -0
  195. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_response.py +0 -0
  196. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_streaming.py +0 -0
  197. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_transform.py +0 -0
  198. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_utils/test_datetime_parse.py +0 -0
  199. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_utils/test_json.py +0 -0
  200. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_utils/test_path.py +0 -0
  201. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_utils/test_proxy.py +0 -0
  202. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/test_utils/test_typing.py +0 -0
  203. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/types/test_affiliate_application.py +0 -0
  204. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/types/test_analytics_reward_status.py +0 -0
  205. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/types/test_email_analytics.py +0 -0
  206. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/types/test_lead_reward_events.py +0 -0
  207. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/types/test_participant_activation_engagement_analytics.py +0 -0
  208. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/types/test_participant_contract.py +0 -0
  209. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/types/test_payout_provider_forward_compat.py +0 -0
  210. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/types/test_referral_source.py +0 -0
  211. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/tests/utils.py +0 -0
  212. {growsurf_python-1.5.0 → growsurf_python-1.6.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.6.0"
3
+ }
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.6.0](https://github.com/growsurf/growsurf-python/compare/v1.5.1...v1.6.0) (2026-09-14)
4
+
5
+
6
+ ### Features
7
+
8
+ * **api:** add pending analyticsErasure to participant delete responses ([5c6b28b](https://github.com/growsurf/growsurf-python/commit/5c6b28b0adcbc0a69629e176d54b3cf3ab83bc33))
9
+
10
+
11
+ ### Chores
12
+
13
+ * merge dev into main ([f1092ac](https://github.com/growsurf/growsurf-python/commit/f1092ac6e7fc2c16c79c482bed009ee398c3307c))
14
+
15
+ ## [1.5.1](https://github.com/growsurf/growsurf-python/compare/v1.5.0...v1.5.1) (2026-09-10)
16
+
17
+
18
+ ### Chores
19
+
20
+ * merge main (release 1.5.0) into dev ([1bc5ac8](https://github.com/growsurf/growsurf-python/commit/1bc5ac8dd57d1f6ab8ab168eb313365ab7e9d785))
21
+
22
+
23
+ ### Documentation
24
+
25
+ * **api:** warn that a new account API key cannot be recovered ([f068cb8](https://github.com/growsurf/growsurf-python/commit/f068cb81afffb6b99451a9f416eb743c2eba3a8f))
26
+
3
27
  ## [1.5.0](https://github.com/growsurf/growsurf-python/compare/v1.4.0...v1.5.0) (2026-09-10)
4
28
 
5
29
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 1.5.0
3
+ Version: 1.6.0
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "growsurf-python"
3
- version = "1.5.0"
3
+ version = "1.6.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.5.0" # x-release-please-version
4
+ __version__ = "1.6.0" # x-release-please-version
@@ -47,26 +47,27 @@ class AccountResource(SyncAPIResource):
47
47
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
48
48
  ) -> CreateAccountResponse:
49
49
  """
50
- Creates a new GrowSurf account. This is the only endpoint that does not require
51
- an API key. Before calling it, an authorized account owner must review and
52
- approve GrowSurf's [Terms of Service](https://growsurf.com/terms) and [Privacy
53
- Policy](https://growsurf.com/privacy). The account starts a 14-day Business
54
- trial without a credit card. The response includes an API key for the new
55
- account, shown once in the response. The key is a secret: store it in a secret
56
- manager and do not put it in logs, screenshots, URLs, model context, analytics,
57
- or generated output. The key is locked until the team owner's email address is
58
- verified: authenticated program and resource endpoints return a `403` with error
59
- code `EMAIL_NOT_VERIFIED_ERROR` until then (resend the email via `POST
60
- /team/owner/verification-email`, then retry). Verification unlocks this same key
61
- - keep it and retry rather than requesting a replacement. A welcome email is
62
- sent to the address with the verification link and a set-password link for
63
- dashboard access. Accounts whose email is never verified are deleted
64
- automatically after 7 days. Separately, for security, the API key is replaced
65
- the first time the account owner signs in to the GrowSurf dashboard; email
66
- verification does not trigger that, and the previous key then returns a `403`
67
- with error code `NOT_AUTHORIZED_ERROR`. Some actions (such as emailing participants)
68
- additionally require GrowSurf to verify the team first. Calling this endpoint
69
- accepts those policies on the account holder's behalf.
50
+ Creates a new GrowSurf account. This is the only endpoint that does not require an API key.
51
+ Before calling it, an authorized account owner must review and approve GrowSurf's [Terms of
52
+ Service](https://growsurf.com/terms) and [Privacy Policy](https://growsurf.com/privacy). The
53
+ account starts a 14-day Business trial without a credit card. The response includes an API
54
+ key for the new account, shown once in the response. The key is a secret: store it in a
55
+ secret manager and do not put it in logs, screenshots, URLs, model context, analytics, or
56
+ generated output. A lost key cannot be recovered through this API, so do not create an
57
+ account here unless you can store the key somewhere that outlives the current conversation.
58
+ If you cannot, ask the account owner to connect GrowSurf's hosted MCP server at
59
+ `https://mcp.growsurf.com` instead, which keeps the credential with your tool rather than in
60
+ chat. The key is locked until the team owner's email address is verified: authenticated
61
+ program and resource endpoints return a `403` with error code `EMAIL_NOT_VERIFIED_ERROR`
62
+ until then (resend the email via `POST /team/owner/verification-email`, then retry).
63
+ Verification unlocks this same key - keep it and retry rather than requesting a replacement.
64
+ A welcome email is sent to the address with the verification link and a set-password link
65
+ for dashboard access. Accounts whose email is never verified are deleted automatically after
66
+ 7 days. Separately, for security, the API key is replaced the first time the account owner
67
+ signs in to the GrowSurf dashboard; email verification does not trigger that, and the
68
+ previous key then returns a `403` with error code `NOT_AUTHORIZED_ERROR`. Some actions (such
69
+ as emailing participants) additionally require GrowSurf to verify the team first. Calling
70
+ this endpoint accepts those policies on the account holder's behalf.
70
71
 
71
72
  Args:
72
73
  email: The email address for the new GrowSurf account. Personal emails and disposable email addresses are not accepted.
@@ -133,26 +134,27 @@ class AsyncAccountResource(AsyncAPIResource):
133
134
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
134
135
  ) -> CreateAccountResponse:
135
136
  """
136
- Creates a new GrowSurf account. This is the only endpoint that does not require
137
- an API key. Before calling it, an authorized account owner must review and
138
- approve GrowSurf's [Terms of Service](https://growsurf.com/terms) and [Privacy
139
- Policy](https://growsurf.com/privacy). The account starts a 14-day Business
140
- trial without a credit card. The response includes an API key for the new
141
- account, shown once in the response. The key is a secret: store it in a secret
142
- manager and do not put it in logs, screenshots, URLs, model context, analytics,
143
- or generated output. The key is locked until the team owner's email address is
144
- verified: authenticated program and resource endpoints return a `403` with error
145
- code `EMAIL_NOT_VERIFIED_ERROR` until then (resend the email via `POST
146
- /team/owner/verification-email`, then retry). Verification unlocks this same key
147
- - keep it and retry rather than requesting a replacement. A welcome email is
148
- sent to the address with the verification link and a set-password link for
149
- dashboard access. Accounts whose email is never verified are deleted
150
- automatically after 7 days. Separately, for security, the API key is replaced
151
- the first time the account owner signs in to the GrowSurf dashboard; email
152
- verification does not trigger that, and the previous key then returns a `403`
153
- with error code `NOT_AUTHORIZED_ERROR`. Some actions (such as emailing participants)
154
- additionally require GrowSurf to verify the team first. Calling this endpoint
155
- accepts those policies on the account holder's behalf.
137
+ Creates a new GrowSurf account. This is the only endpoint that does not require an API key.
138
+ Before calling it, an authorized account owner must review and approve GrowSurf's [Terms of
139
+ Service](https://growsurf.com/terms) and [Privacy Policy](https://growsurf.com/privacy). The
140
+ account starts a 14-day Business trial without a credit card. The response includes an API
141
+ key for the new account, shown once in the response. The key is a secret: store it in a
142
+ secret manager and do not put it in logs, screenshots, URLs, model context, analytics, or
143
+ generated output. A lost key cannot be recovered through this API, so do not create an
144
+ account here unless you can store the key somewhere that outlives the current conversation.
145
+ If you cannot, ask the account owner to connect GrowSurf's hosted MCP server at
146
+ `https://mcp.growsurf.com` instead, which keeps the credential with your tool rather than in
147
+ chat. The key is locked until the team owner's email address is verified: authenticated
148
+ program and resource endpoints return a `403` with error code `EMAIL_NOT_VERIFIED_ERROR`
149
+ until then (resend the email via `POST /team/owner/verification-email`, then retry).
150
+ Verification unlocks this same key - keep it and retry rather than requesting a replacement.
151
+ A welcome email is sent to the address with the verification link and a set-password link
152
+ for dashboard access. Accounts whose email is never verified are deleted automatically after
153
+ 7 days. Separately, for security, the API key is replaced the first time the account owner
154
+ signs in to the GrowSurf dashboard; email verification does not trigger that, and the
155
+ previous key then returns a `403` with error code `NOT_AUTHORIZED_ERROR`. Some actions (such
156
+ as emailing participants) additionally require GrowSurf to verify the team first. Calling
157
+ this endpoint accepts those policies on the account holder's behalf.
156
158
 
157
159
  Args:
158
160
  email: The email address for the new GrowSurf account. Personal emails and disposable email addresses are not accepted.
@@ -39,6 +39,7 @@ from .reward_fulfill_response import RewardFulfillResponse as RewardFulfillRespo
39
39
  from .participant_email_params import ParticipantEmailParams as ParticipantEmailParams
40
40
  from .integration_list_response import IntegrationListResponse as IntegrationListResponse
41
41
  from .participant_update_params import ParticipantUpdateParams as ParticipantUpdateParams
42
+ from .pending_analytics_erasure import PendingAnalyticsErasure as PendingAnalyticsErasure
42
43
  from .commission_delete_response import CommissionDeleteResponse as CommissionDeleteResponse
43
44
  from .email_participant_response import EmailParticipantResponse as EmailParticipantResponse
44
45
  from .commission_approve_response import CommissionApproveResponse as CommissionApproveResponse
@@ -6,6 +6,7 @@ from typing_extensions import Literal
6
6
  from pydantic import Field as FieldInfo
7
7
 
8
8
  from ..._models import BaseModel
9
+ from .pending_analytics_erasure import PendingAnalyticsErasure
9
10
 
10
11
  __all__ = ["ParticipantBulkDeleteResponse", "Result", "Summary"]
11
12
 
@@ -57,6 +58,9 @@ class Summary(BaseModel):
57
58
 
58
59
 
59
60
  class ParticipantBulkDeleteResponse(BaseModel):
61
+ analytics_erasure: Optional[PendingAnalyticsErasure] = FieldInfo(alias="analyticsErasure", default=None)
62
+ """Analytics erasure is pending. Reports can retain removed participants until erasure completes. Do not repeat successful deletions."""
63
+
60
64
  results: List[Result]
61
65
  """One entry per submitted identifier, in the same order as the request."""
62
66
 
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from pydantic import Field as FieldInfo
6
+
7
+ from ..._models import BaseModel
8
+ from .pending_analytics_erasure import PendingAnalyticsErasure
9
+
10
+ __all__ = ["ParticipantDeleteResponse"]
11
+
12
+
13
+ class ParticipantDeleteResponse(BaseModel):
14
+ analytics_erasure: Optional[PendingAnalyticsErasure] = FieldInfo(alias="analyticsErasure", default=None)
15
+ """Analytics erasure is pending. Reports can retain removed participants until erasure completes. Do not repeat successful deletions."""
16
+
17
+ success: bool
@@ -0,0 +1,15 @@
1
+ from typing_extensions import Literal
2
+
3
+ from pydantic import Field as FieldInfo
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["PendingAnalyticsErasure"]
8
+
9
+
10
+ class PendingAnalyticsErasure(BaseModel):
11
+ status: Literal["pending"]
12
+ """Analytics erasure has been accepted but is not confirmed complete."""
13
+
14
+ operation_id: str = FieldInfo(alias="operationId")
15
+ """Opaque reference for support inquiries about this analytics erasure."""
@@ -1,3 +0,0 @@
1
- {
2
- ".": "1.5.0"
3
- }
@@ -1,9 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from ..._models import BaseModel
4
-
5
- __all__ = ["ParticipantDeleteResponse"]
6
-
7
-
8
- class ParticipantDeleteResponse(BaseModel):
9
- success: bool
File without changes
File without changes
File without changes