growsurf-python 1.14.0__tar.gz → 1.15.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 (214) hide show
  1. growsurf_python-1.15.0/.release-please-manifest.json +3 -0
  2. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/CHANGELOG.md +16 -0
  3. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/PKG-INFO +1 -1
  4. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/pyproject.toml +1 -1
  5. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_version.py +1 -1
  6. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/participant.py +4 -8
  7. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/rewards.py +132 -0
  8. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/campaign.py +28 -0
  9. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/reward.py +28 -0
  10. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/reward_create_params.py +36 -0
  11. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/reward_update_params.py +36 -0
  12. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_rewards.py +4 -0
  13. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/uv.lock +1 -1
  14. growsurf_python-1.14.0/.release-please-manifest.json +0 -3
  15. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/.gitignore +0 -0
  16. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/CONTRIBUTING.md +0 -0
  17. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/LICENSE +0 -0
  18. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/README.md +0 -0
  19. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/SECURITY.md +0 -0
  20. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/api.md +0 -0
  21. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/bin/check-release-environment +0 -0
  22. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/bin/publish-pypi +0 -0
  23. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/examples/.keep +0 -0
  24. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/release-please-config.json +0 -0
  25. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/requirements-dev.lock +0 -0
  26. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/__init__.py +0 -0
  27. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_base_client.py +0 -0
  28. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_client.py +0 -0
  29. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_compat.py +0 -0
  30. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_constants.py +0 -0
  31. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_exceptions.py +0 -0
  32. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_files.py +0 -0
  33. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_models.py +0 -0
  34. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_qs.py +0 -0
  35. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_resource.py +0 -0
  36. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_response.py +0 -0
  37. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_streaming.py +0 -0
  38. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_types.py +0 -0
  39. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/__init__.py +0 -0
  40. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_compat.py +0 -0
  41. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
  42. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_json.py +0 -0
  43. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_logs.py +0 -0
  44. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_path.py +0 -0
  45. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_proxy.py +0 -0
  46. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_reflection.py +0 -0
  47. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
  48. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_streams.py +0 -0
  49. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_sync.py +0 -0
  50. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_transform.py +0 -0
  51. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_typing.py +0 -0
  52. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/_utils/_utils.py +0 -0
  53. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/lib/.keep +0 -0
  54. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/py.typed +0 -0
  55. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/__init__.py +0 -0
  56. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/account.py +0 -0
  57. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/__init__.py +0 -0
  58. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/campaign.py +0 -0
  59. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/commission.py +0 -0
  60. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/design.py +0 -0
  61. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/emails.py +0 -0
  62. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/installation.py +0 -0
  63. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/integrations.py +0 -0
  64. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/options.py +0 -0
  65. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/program_resources.py +0 -0
  66. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/reward.py +0 -0
  67. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/campaign/webhooks.py +0 -0
  68. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/resources/team.py +0 -0
  69. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/__init__.py +0 -0
  70. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/account_create_params.py +0 -0
  71. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/affiliate_application.py +0 -0
  72. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/affiliate_application_answer.py +0 -0
  73. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/affiliate_application_list_response.py +0 -0
  74. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/affiliate_invite.py +0 -0
  75. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/affiliate_invite_list_response.py +0 -0
  76. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/analytics_availability.py +0 -0
  77. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/analytics_unavailable_reason.py +0 -0
  78. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/__init__.py +0 -0
  79. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/campaign_design.py +0 -0
  80. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/campaign_emails.py +0 -0
  81. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/campaign_installation.py +0 -0
  82. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/campaign_options.py +0 -0
  83. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/campaign_reward_list_response.py +0 -0
  84. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
  85. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
  86. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/delete_program_resource_response.py +0 -0
  87. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/delete_reward_response.py +0 -0
  88. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/delete_webhook_response.py +0 -0
  89. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/email_participant_response.py +0 -0
  90. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
  91. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/integration.py +0 -0
  92. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/integration_list_response.py +0 -0
  93. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/language.py +0 -0
  94. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant.py +0 -0
  95. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_activation_analytics.py +0 -0
  96. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_activity_logs_response.py +0 -0
  97. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_add_params.py +0 -0
  98. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_analytics_params.py +0 -0
  99. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_analytics_response.py +0 -0
  100. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_bulk_delete_params.py +0 -0
  101. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_bulk_delete_response.py +0 -0
  102. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
  103. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_email_params.py +0 -0
  104. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_get_payout_destination_response.py +0 -0
  105. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_list_activity_logs_params.py +0 -0
  106. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
  107. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
  108. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
  109. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
  110. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
  111. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
  112. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
  113. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_refund_transaction_params.py +0 -0
  114. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_refund_transaction_response.py +0 -0
  115. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_params.py +0 -0
  116. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_request_payout_destination_confirmation_response.py +0 -0
  117. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
  118. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
  119. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
  120. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_trigger_referral_params.py +0 -0
  121. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
  122. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
  123. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/pending_analytics_erasure.py +0 -0
  124. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/program_resource.py +0 -0
  125. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/program_resource_list_response.py +0 -0
  126. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/program_resource_upload_result.py +0 -0
  127. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/program_resource_upload_ticket.py +0 -0
  128. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/referral_source.py +0 -0
  129. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/referral_status.py +0 -0
  130. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
  131. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
  132. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
  133. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
  134. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/reward_tax_valuation.py +0 -0
  135. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/webhook.py +0 -0
  136. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/webhook_create_params.py +0 -0
  137. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/webhook_event.py +0 -0
  138. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/webhook_list_response.py +0 -0
  139. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/webhook_test_params.py +0 -0
  140. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/webhook_test_response.py +0 -0
  141. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign/webhook_update_params.py +0 -0
  142. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_activation_analytics_response.py +0 -0
  143. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_create_affiliate_invite_params.py +0 -0
  144. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +0 -0
  145. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
  146. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_create_params.py +0 -0
  147. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_engagement_analytics.py +0 -0
  148. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_list_affiliate_applications_params.py +0 -0
  149. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_list_affiliate_invites_params.py +0 -0
  150. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
  151. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
  152. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
  153. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
  154. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
  155. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_list_response.py +0 -0
  156. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_retrieve_activation_analytics_params.py +0 -0
  157. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
  158. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
  159. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_review_affiliate_application_params.py +0 -0
  160. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/campaign_update_params.py +0 -0
  161. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/commission_structure.py +0 -0
  162. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/create_account_response.py +0 -0
  163. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/email_analytics.py +0 -0
  164. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/participant_commission_list.py +0 -0
  165. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/participant_list.py +0 -0
  166. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/participant_payout_list.py +0 -0
  167. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/referral_flow_screenshot.py +0 -0
  168. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/referral_flow_screenshots_response.py +0 -0
  169. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/referral_list.py +0 -0
  170. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/rotate_api_key_response.py +0 -0
  171. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/team.py +0 -0
  172. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/team_update_params.py +0 -0
  173. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/src/growsurf/types/verification_email_response.py +0 -0
  174. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/__init__.py +0 -0
  175. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/__init__.py +0 -0
  176. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/__init__.py +0 -0
  177. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_commission.py +0 -0
  178. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_design.py +0 -0
  179. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_emails.py +0 -0
  180. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_installation.py +0 -0
  181. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_integrations.py +0 -0
  182. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_options.py +0 -0
  183. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_participant.py +0 -0
  184. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_program_resources.py +0 -0
  185. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_reward.py +0 -0
  186. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/campaign/test_webhooks.py +0 -0
  187. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/test_account.py +0 -0
  188. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/test_campaign.py +0 -0
  189. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/api_resources/test_team_contract.py +0 -0
  190. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/conftest.py +0 -0
  191. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/sample_file.txt +0 -0
  192. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_client.py +0 -0
  193. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_extract_files.py +0 -0
  194. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_files.py +0 -0
  195. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_models.py +0 -0
  196. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_qs.py +0 -0
  197. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_required_args.py +0 -0
  198. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_response.py +0 -0
  199. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_streaming.py +0 -0
  200. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_transform.py +0 -0
  201. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_utils/test_datetime_parse.py +0 -0
  202. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_utils/test_json.py +0 -0
  203. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_utils/test_path.py +0 -0
  204. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_utils/test_proxy.py +0 -0
  205. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/test_utils/test_typing.py +0 -0
  206. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/types/test_affiliate_application.py +0 -0
  207. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/types/test_analytics_reward_status.py +0 -0
  208. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/types/test_email_analytics.py +0 -0
  209. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/types/test_lead_reward_events.py +0 -0
  210. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/types/test_participant_activation_engagement_analytics.py +0 -0
  211. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/types/test_participant_contract.py +0 -0
  212. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/types/test_payout_provider_forward_compat.py +0 -0
  213. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/types/test_referral_source.py +0 -0
  214. {growsurf_python-1.14.0 → growsurf_python-1.15.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.15.0"
3
+ }
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.15.0](https://github.com/growsurf/growsurf-python/compare/v1.14.1...v1.15.0) (2026-10-19)
4
+
5
+
6
+ ### Features
7
+
8
+ * support reward image icon keys ([2fa2b67](https://github.com/growsurf/growsurf-python/commit/2fa2b6723ddb7e2e225a85f4d8471e2e5b8fc2b3))
9
+ * support reward image icon keys ([252a3db](https://github.com/growsurf/growsurf-python/commit/252a3dbe115bcfdc44000a7c3b8996309b965116))
10
+
11
+ ## [1.14.1](https://github.com/growsurf/growsurf-python/compare/v1.14.0...v1.14.1) (2026-10-18)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * clarify participant deletion access and cleanup docs ([1abfb93](https://github.com/growsurf/growsurf-python/commit/1abfb937f5ca7c782d5238f47a1e37e543d0d473))
17
+ * clarify participant deletion access and cleanup docs ([d6820d4](https://github.com/growsurf/growsurf-python/commit/d6820d4998dd88544ef571b09d883578cd19fcbf))
18
+
3
19
  ## [1.14.0](https://github.com/growsurf/growsurf-python/compare/v1.13.1...v1.14.0) (2026-10-15)
4
20
 
5
21
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 1.14.0
3
+ Version: 1.15.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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "growsurf-python"
3
- version = "1.14.0"
3
+ version = "1.15.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.14.0" # x-release-please-version
4
+ __version__ = "1.15.0" # x-release-please-version
@@ -221,7 +221,7 @@ class ParticipantResource(SyncAPIResource):
221
221
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
222
222
  ) -> ParticipantDeleteResponse:
223
223
  """
224
- Removes a participant by GrowSurf participant ID or email address.
224
+ Removes participant access immediately by GrowSurf participant ID or email address. Related record cleanup completes automatically. Do not repeat a successful deletion to finish cleanup.
225
225
 
226
226
  Args:
227
227
  extra_headers: Send extra headers
@@ -267,9 +267,7 @@ class ParticipantResource(SyncAPIResource):
267
267
  `participants` is a GrowSurf participant ID or an email address (mixed lists are
268
268
  allowed). Up to `200` entries per request — chunk larger lists across multiple
269
269
  calls. The response reports a per-row `status` for every submitted entry, so a
270
- `200` can include rows that were `NOT_FOUND` or failed. Deletion is permanent
271
- and removes the participants' referrals, rewards, commissions, and payout
272
- records.
270
+ `200` can include rows that were `NOT_FOUND` or failed. Deletion is permanent. Successful rows lose participant access immediately; related record cleanup completes automatically, subject to required financial record retention.
273
271
 
274
272
  Args:
275
273
  participants: GrowSurf participant IDs and/or email addresses to delete. Mixed entries are
@@ -1500,7 +1498,7 @@ class AsyncParticipantResource(AsyncAPIResource):
1500
1498
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
1501
1499
  ) -> ParticipantDeleteResponse:
1502
1500
  """
1503
- Removes a participant by GrowSurf participant ID or email address.
1501
+ Removes participant access immediately by GrowSurf participant ID or email address. Related record cleanup completes automatically. Do not repeat a successful deletion to finish cleanup.
1504
1502
 
1505
1503
  Args:
1506
1504
  extra_headers: Send extra headers
@@ -1546,9 +1544,7 @@ class AsyncParticipantResource(AsyncAPIResource):
1546
1544
  `participants` is a GrowSurf participant ID or an email address (mixed lists are
1547
1545
  allowed). Up to `200` entries per request — chunk larger lists across multiple
1548
1546
  calls. The response reports a per-row `status` for every submitted entry, so a
1549
- `200` can include rows that were `NOT_FOUND` or failed. Deletion is permanent
1550
- and removes the participants' referrals, rewards, commissions, and payout
1551
- records.
1547
+ `200` can include rows that were `NOT_FOUND` or failed. Deletion is permanent. Successful rows lose participant access immediately; related record cleanup completes automatically, subject to required financial record retention.
1552
1548
 
1553
1549
  Args:
1554
1550
  participants: GrowSurf participant IDs and/or email addresses to delete. Mixed entries are
@@ -61,6 +61,33 @@ class RewardsResource(SyncAPIResource):
61
61
  description: str | Omit = omit,
62
62
  event: Literal["LEAD", "CONVERSION"] | Omit = omit,
63
63
  image_url: Optional[str] | Omit = omit,
64
+ image_icon_key: Optional[
65
+ Literal[
66
+ "GIFT_1",
67
+ "GIFT_2",
68
+ "GIFT_3",
69
+ "GIFT_4",
70
+ "GIFT_5",
71
+ "GIFT_6",
72
+ "GIFT_CARD",
73
+ "CASH",
74
+ "COIN",
75
+ "CARD",
76
+ "STAR_1",
77
+ "STAR_2",
78
+ "STAR_3",
79
+ "TROPHY",
80
+ "CROWN",
81
+ "SEAL",
82
+ "HEART_1",
83
+ "HEART_2",
84
+ "TAG",
85
+ "DIAMOND",
86
+ "CONFETTI",
87
+ "ROCKET",
88
+ ]
89
+ ]
90
+ | Omit = omit,
64
91
  is_unlimited: bool | Omit = omit,
65
92
  is_visible: bool | Omit = omit,
66
93
  limit: int | Omit = omit,
@@ -107,6 +134,11 @@ class RewardsResource(SyncAPIResource):
107
134
 
108
135
  image_url: An image URL for the reward.
109
136
 
137
+ image_icon_key: The starter icon shown for the reward, or `null` when `imageUrl` is your own
138
+ image. Participant pages draw this icon in your program's accent color. Also set
139
+ `imageUrl` to the icon's image so the iOS and Android SDKs can show it. Sending
140
+ `imageUrl` without `imageIconKey` clears it.
141
+
110
142
  is_unlimited: Whether the reward can be earned an unlimited number of times. Defaults to
111
143
  `true`, except `MILESTONE` rewards, which can only be earned once.
112
144
 
@@ -159,6 +191,7 @@ class RewardsResource(SyncAPIResource):
159
191
  "description": description,
160
192
  "event": event,
161
193
  "image_url": image_url,
194
+ "image_icon_key": image_icon_key,
162
195
  "is_unlimited": is_unlimited,
163
196
  "is_visible": is_visible,
164
197
  "limit": limit,
@@ -194,6 +227,33 @@ class RewardsResource(SyncAPIResource):
194
227
  description: str | Omit = omit,
195
228
  event: Literal["LEAD", "CONVERSION"] | Omit = omit,
196
229
  image_url: Optional[str] | Omit = omit,
230
+ image_icon_key: Optional[
231
+ Literal[
232
+ "GIFT_1",
233
+ "GIFT_2",
234
+ "GIFT_3",
235
+ "GIFT_4",
236
+ "GIFT_5",
237
+ "GIFT_6",
238
+ "GIFT_CARD",
239
+ "CASH",
240
+ "COIN",
241
+ "CARD",
242
+ "STAR_1",
243
+ "STAR_2",
244
+ "STAR_3",
245
+ "TROPHY",
246
+ "CROWN",
247
+ "SEAL",
248
+ "HEART_1",
249
+ "HEART_2",
250
+ "TAG",
251
+ "DIAMOND",
252
+ "CONFETTI",
253
+ "ROCKET",
254
+ ]
255
+ ]
256
+ | Omit = omit,
197
257
  is_unlimited: bool | Omit = omit,
198
258
  is_visible: bool | Omit = omit,
199
259
  limit: int | Omit = omit,
@@ -240,6 +300,11 @@ class RewardsResource(SyncAPIResource):
240
300
 
241
301
  image_url: An image URL for the reward.
242
302
 
303
+ image_icon_key: The starter icon shown for the reward, or `null` when `imageUrl` is your own
304
+ image. Participant pages draw this icon in your program's accent color. Also set
305
+ `imageUrl` to the icon's image so the iOS and Android SDKs can show it. Sending
306
+ `imageUrl` without `imageIconKey` clears it.
307
+
243
308
  is_unlimited: Whether the reward can be earned an unlimited number of times. Defaults to
244
309
  `true`, except `MILESTONE` rewards, which can only be earned once.
245
310
 
@@ -295,6 +360,7 @@ class RewardsResource(SyncAPIResource):
295
360
  "description": description,
296
361
  "event": event,
297
362
  "image_url": image_url,
363
+ "image_icon_key": image_icon_key,
298
364
  "is_unlimited": is_unlimited,
299
365
  "is_visible": is_visible,
300
366
  "limit": limit,
@@ -431,6 +497,33 @@ class AsyncRewardsResource(AsyncAPIResource):
431
497
  description: str | Omit = omit,
432
498
  event: Literal["LEAD", "CONVERSION"] | Omit = omit,
433
499
  image_url: Optional[str] | Omit = omit,
500
+ image_icon_key: Optional[
501
+ Literal[
502
+ "GIFT_1",
503
+ "GIFT_2",
504
+ "GIFT_3",
505
+ "GIFT_4",
506
+ "GIFT_5",
507
+ "GIFT_6",
508
+ "GIFT_CARD",
509
+ "CASH",
510
+ "COIN",
511
+ "CARD",
512
+ "STAR_1",
513
+ "STAR_2",
514
+ "STAR_3",
515
+ "TROPHY",
516
+ "CROWN",
517
+ "SEAL",
518
+ "HEART_1",
519
+ "HEART_2",
520
+ "TAG",
521
+ "DIAMOND",
522
+ "CONFETTI",
523
+ "ROCKET",
524
+ ]
525
+ ]
526
+ | Omit = omit,
434
527
  is_unlimited: bool | Omit = omit,
435
528
  is_visible: bool | Omit = omit,
436
529
  limit: int | Omit = omit,
@@ -477,6 +570,11 @@ class AsyncRewardsResource(AsyncAPIResource):
477
570
 
478
571
  image_url: An image URL for the reward.
479
572
 
573
+ image_icon_key: The starter icon shown for the reward, or `null` when `imageUrl` is your own
574
+ image. Participant pages draw this icon in your program's accent color. Also set
575
+ `imageUrl` to the icon's image so the iOS and Android SDKs can show it. Sending
576
+ `imageUrl` without `imageIconKey` clears it.
577
+
480
578
  is_unlimited: Whether the reward can be earned an unlimited number of times. Defaults to
481
579
  `true`, except `MILESTONE` rewards, which can only be earned once.
482
580
 
@@ -529,6 +627,7 @@ class AsyncRewardsResource(AsyncAPIResource):
529
627
  "description": description,
530
628
  "event": event,
531
629
  "image_url": image_url,
630
+ "image_icon_key": image_icon_key,
532
631
  "is_unlimited": is_unlimited,
533
632
  "is_visible": is_visible,
534
633
  "limit": limit,
@@ -564,6 +663,33 @@ class AsyncRewardsResource(AsyncAPIResource):
564
663
  description: str | Omit = omit,
565
664
  event: Literal["LEAD", "CONVERSION"] | Omit = omit,
566
665
  image_url: Optional[str] | Omit = omit,
666
+ image_icon_key: Optional[
667
+ Literal[
668
+ "GIFT_1",
669
+ "GIFT_2",
670
+ "GIFT_3",
671
+ "GIFT_4",
672
+ "GIFT_5",
673
+ "GIFT_6",
674
+ "GIFT_CARD",
675
+ "CASH",
676
+ "COIN",
677
+ "CARD",
678
+ "STAR_1",
679
+ "STAR_2",
680
+ "STAR_3",
681
+ "TROPHY",
682
+ "CROWN",
683
+ "SEAL",
684
+ "HEART_1",
685
+ "HEART_2",
686
+ "TAG",
687
+ "DIAMOND",
688
+ "CONFETTI",
689
+ "ROCKET",
690
+ ]
691
+ ]
692
+ | Omit = omit,
567
693
  is_unlimited: bool | Omit = omit,
568
694
  is_visible: bool | Omit = omit,
569
695
  limit: int | Omit = omit,
@@ -610,6 +736,11 @@ class AsyncRewardsResource(AsyncAPIResource):
610
736
 
611
737
  image_url: An image URL for the reward.
612
738
 
739
+ image_icon_key: The starter icon shown for the reward, or `null` when `imageUrl` is your own
740
+ image. Participant pages draw this icon in your program's accent color. Also set
741
+ `imageUrl` to the icon's image so the iOS and Android SDKs can show it. Sending
742
+ `imageUrl` without `imageIconKey` clears it.
743
+
613
744
  is_unlimited: Whether the reward can be earned an unlimited number of times. Defaults to
614
745
  `true`, except `MILESTONE` rewards, which can only be earned once.
615
746
 
@@ -665,6 +796,7 @@ class AsyncRewardsResource(AsyncAPIResource):
665
796
  "description": description,
666
797
  "event": event,
667
798
  "image_url": image_url,
799
+ "image_icon_key": image_icon_key,
668
800
  "is_unlimited": is_unlimited,
669
801
  "is_visible": is_visible,
670
802
  "limit": limit,
@@ -39,6 +39,34 @@ class Reward(BaseModel):
39
39
 
40
40
  image_url: Optional[str] = FieldInfo(alias="imageUrl", default=None)
41
41
 
42
+ image_icon_key: Optional[
43
+ Literal[
44
+ "GIFT_1",
45
+ "GIFT_2",
46
+ "GIFT_3",
47
+ "GIFT_4",
48
+ "GIFT_5",
49
+ "GIFT_6",
50
+ "GIFT_CARD",
51
+ "CASH",
52
+ "COIN",
53
+ "CARD",
54
+ "STAR_1",
55
+ "STAR_2",
56
+ "STAR_3",
57
+ "TROPHY",
58
+ "CROWN",
59
+ "SEAL",
60
+ "HEART_1",
61
+ "HEART_2",
62
+ "TAG",
63
+ "DIAMOND",
64
+ "CONFETTI",
65
+ "ROCKET",
66
+ ]
67
+ ] = FieldInfo(alias="imageIconKey", default=None)
68
+ """The starter icon shown for the reward, or `null` when `imageUrl` is your own image."""
69
+
42
70
  is_visible: Optional[bool] = FieldInfo(alias="isVisible", default=None)
43
71
  """Whether the reward is enabled.
44
72
 
@@ -51,6 +51,34 @@ class Reward(BaseModel):
51
51
  image_url: Optional[str] = FieldInfo(alias="imageUrl", default=None)
52
52
  """The reward image URL."""
53
53
 
54
+ image_icon_key: Optional[
55
+ Literal[
56
+ "GIFT_1",
57
+ "GIFT_2",
58
+ "GIFT_3",
59
+ "GIFT_4",
60
+ "GIFT_5",
61
+ "GIFT_6",
62
+ "GIFT_CARD",
63
+ "CASH",
64
+ "COIN",
65
+ "CARD",
66
+ "STAR_1",
67
+ "STAR_2",
68
+ "STAR_3",
69
+ "TROPHY",
70
+ "CROWN",
71
+ "SEAL",
72
+ "HEART_1",
73
+ "HEART_2",
74
+ "TAG",
75
+ "DIAMOND",
76
+ "CONFETTI",
77
+ "ROCKET",
78
+ ]
79
+ ] = FieldInfo(alias="imageIconKey", default=None)
80
+ """The starter icon shown for the reward, or `null` when `imageUrl` is your own image."""
81
+
54
82
  is_visible: Optional[bool] = FieldInfo(alias="isVisible", default=None)
55
83
  """Whether the reward is enabled.
56
84
 
@@ -43,6 +43,42 @@ class RewardCreateParams(TypedDict, total=False):
43
43
  image_url: Annotated[Optional[str], PropertyInfo(alias="imageUrl")]
44
44
  """An image URL for the reward."""
45
45
 
46
+ image_icon_key: Annotated[
47
+ Optional[
48
+ Literal[
49
+ "GIFT_1",
50
+ "GIFT_2",
51
+ "GIFT_3",
52
+ "GIFT_4",
53
+ "GIFT_5",
54
+ "GIFT_6",
55
+ "GIFT_CARD",
56
+ "CASH",
57
+ "COIN",
58
+ "CARD",
59
+ "STAR_1",
60
+ "STAR_2",
61
+ "STAR_3",
62
+ "TROPHY",
63
+ "CROWN",
64
+ "SEAL",
65
+ "HEART_1",
66
+ "HEART_2",
67
+ "TAG",
68
+ "DIAMOND",
69
+ "CONFETTI",
70
+ "ROCKET",
71
+ ]
72
+ ],
73
+ PropertyInfo(alias="imageIconKey"),
74
+ ]
75
+ """The starter icon shown for the reward, or `null` when `imageUrl` is your own image.
76
+
77
+ Participant pages draw this icon in your program's accent color. Also set
78
+ `imageUrl` to the icon's image so the iOS and Android SDKs can show it. Sending
79
+ `imageUrl` without `imageIconKey` clears it.
80
+ """
81
+
46
82
  is_unlimited: Annotated[bool, PropertyInfo(alias="isUnlimited")]
47
83
  """Whether the reward can be earned an unlimited number of times.
48
84
 
@@ -42,6 +42,42 @@ class RewardUpdateParams(TypedDict, total=False):
42
42
  image_url: Annotated[Optional[str], PropertyInfo(alias="imageUrl")]
43
43
  """An image URL for the reward."""
44
44
 
45
+ image_icon_key: Annotated[
46
+ Optional[
47
+ Literal[
48
+ "GIFT_1",
49
+ "GIFT_2",
50
+ "GIFT_3",
51
+ "GIFT_4",
52
+ "GIFT_5",
53
+ "GIFT_6",
54
+ "GIFT_CARD",
55
+ "CASH",
56
+ "COIN",
57
+ "CARD",
58
+ "STAR_1",
59
+ "STAR_2",
60
+ "STAR_3",
61
+ "TROPHY",
62
+ "CROWN",
63
+ "SEAL",
64
+ "HEART_1",
65
+ "HEART_2",
66
+ "TAG",
67
+ "DIAMOND",
68
+ "CONFETTI",
69
+ "ROCKET",
70
+ ]
71
+ ],
72
+ PropertyInfo(alias="imageIconKey"),
73
+ ]
74
+ """The starter icon shown for the reward, or `null` when `imageUrl` is your own image.
75
+
76
+ Participant pages draw this icon in your program's accent color. Also set
77
+ `imageUrl` to the icon's image so the iOS and Android SDKs can show it. Sending
78
+ `imageUrl` without `imageIconKey` clears it.
79
+ """
80
+
45
81
  is_unlimited: Annotated[bool, PropertyInfo(alias="isUnlimited")]
46
82
  """Whether the reward can be earned an unlimited number of times.
47
83
 
@@ -64,6 +64,7 @@ class TestRewards:
64
64
  coupon_code="couponCode",
65
65
  description="description",
66
66
  image_url="imageUrl",
67
+ image_icon_key="GIFT_1",
67
68
  is_unlimited=True,
68
69
  is_visible=True,
69
70
  limit=0,
@@ -136,6 +137,7 @@ class TestRewards:
136
137
  coupon_code="couponCode",
137
138
  description="description",
138
139
  image_url="imageUrl",
140
+ image_icon_key="GIFT_1",
139
141
  is_unlimited=True,
140
142
  is_visible=True,
141
143
  limit=0,
@@ -314,6 +316,7 @@ class TestAsyncRewards:
314
316
  coupon_code="couponCode",
315
317
  description="description",
316
318
  image_url="imageUrl",
319
+ image_icon_key="GIFT_1",
317
320
  is_unlimited=True,
318
321
  is_visible=True,
319
322
  limit=0,
@@ -386,6 +389,7 @@ class TestAsyncRewards:
386
389
  coupon_code="couponCode",
387
390
  description="description",
388
391
  image_url="imageUrl",
392
+ image_icon_key="GIFT_1",
389
393
  is_unlimited=True,
390
394
  is_visible=True,
391
395
  limit=0,
@@ -401,7 +401,7 @@ wheels = [
401
401
 
402
402
  [[package]]
403
403
  name = "growsurf-python"
404
- version = "1.11.0"
404
+ version = "1.14.1"
405
405
  source = { editable = "." }
406
406
  dependencies = [
407
407
  { name = "anyio" },
@@ -1,3 +0,0 @@
1
- {
2
- ".": "1.14.0"
3
- }