growsurf-python 0.4.0__tar.gz → 0.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 (119) hide show
  1. growsurf_python-0.6.0/.release-please-manifest.json +3 -0
  2. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/CHANGELOG.md +22 -0
  3. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/PKG-INFO +1 -1
  4. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/pyproject.toml +1 -1
  5. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_client.py +10 -6
  6. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_version.py +1 -1
  7. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/resources/campaign/campaign.py +4 -2
  8. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/resources/campaign/participant.py +4 -2
  9. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant.py +21 -2
  10. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_add_params.py +1 -0
  11. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +1 -0
  12. growsurf_python-0.4.0/.release-please-manifest.json +0 -3
  13. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/.gitignore +0 -0
  14. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/CONTRIBUTING.md +0 -0
  15. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/LICENSE +0 -0
  16. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/README.md +0 -0
  17. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/SECURITY.md +0 -0
  18. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/api.md +0 -0
  19. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/bin/check-release-environment +0 -0
  20. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/bin/publish-pypi +0 -0
  21. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/examples/.keep +0 -0
  22. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/release-please-config.json +0 -0
  23. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/requirements-dev.lock +0 -0
  24. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/__init__.py +0 -0
  25. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_base_client.py +0 -0
  26. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_compat.py +0 -0
  27. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_constants.py +0 -0
  28. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_exceptions.py +0 -0
  29. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_files.py +0 -0
  30. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_models.py +0 -0
  31. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_qs.py +0 -0
  32. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_resource.py +0 -0
  33. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_response.py +0 -0
  34. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_streaming.py +0 -0
  35. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_types.py +0 -0
  36. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/__init__.py +0 -0
  37. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_compat.py +0 -0
  38. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
  39. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_json.py +0 -0
  40. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_logs.py +0 -0
  41. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_path.py +0 -0
  42. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_proxy.py +0 -0
  43. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_reflection.py +0 -0
  44. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
  45. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_streams.py +0 -0
  46. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_sync.py +0 -0
  47. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_transform.py +0 -0
  48. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_typing.py +0 -0
  49. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/_utils/_utils.py +0 -0
  50. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/lib/.keep +0 -0
  51. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/py.typed +0 -0
  52. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/resources/__init__.py +0 -0
  53. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/resources/campaign/__init__.py +0 -0
  54. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/resources/campaign/commission.py +0 -0
  55. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/resources/campaign/reward.py +0 -0
  56. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/__init__.py +0 -0
  57. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/__init__.py +0 -0
  58. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/campaign.py +0 -0
  59. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
  60. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
  61. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
  62. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
  63. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
  64. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
  65. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
  66. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
  67. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
  68. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
  69. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
  70. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
  71. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
  72. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
  73. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
  74. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
  75. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/referral_source.py +0 -0
  76. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/referral_status.py +0 -0
  77. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
  78. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
  79. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
  80. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
  81. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
  82. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
  83. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
  84. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
  85. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
  86. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
  87. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_list_response.py +0 -0
  88. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
  89. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
  90. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/commission_structure.py +0 -0
  91. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/participant_commission_list.py +0 -0
  92. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/participant_list.py +0 -0
  93. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/participant_payout_list.py +0 -0
  94. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/src/growsurf/types/referral_list.py +0 -0
  95. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/__init__.py +0 -0
  96. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/api_resources/__init__.py +0 -0
  97. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/api_resources/campaign/__init__.py +0 -0
  98. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/api_resources/campaign/test_commission.py +0 -0
  99. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/api_resources/campaign/test_participant.py +0 -0
  100. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/api_resources/campaign/test_reward.py +0 -0
  101. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/api_resources/test_campaign.py +0 -0
  102. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/conftest.py +0 -0
  103. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/sample_file.txt +0 -0
  104. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_client.py +0 -0
  105. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_extract_files.py +0 -0
  106. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_files.py +0 -0
  107. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_models.py +0 -0
  108. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_qs.py +0 -0
  109. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_required_args.py +0 -0
  110. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_response.py +0 -0
  111. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_streaming.py +0 -0
  112. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_transform.py +0 -0
  113. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_utils/test_datetime_parse.py +0 -0
  114. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_utils/test_json.py +0 -0
  115. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_utils/test_path.py +0 -0
  116. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_utils/test_proxy.py +0 -0
  117. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/test_utils/test_typing.py +0 -0
  118. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/tests/utils.py +0 -0
  119. {growsurf_python-0.4.0 → growsurf_python-0.6.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.6.0"
3
+ }
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.6.0 (2026-06-23)
4
+
5
+ Full Changelog: [v0.5.0...v0.6.0](https://github.com/growsurf/growsurf-python/compare/v0.5.0...v0.6.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add payoutSettings to Participant ([f1c59b5](https://github.com/growsurf/growsurf-python/commit/f1c59b55b06e1082f725d6df2fa5057458250347))
10
+ * **api:** manual updates ([e949eb6](https://github.com/growsurf/growsurf-python/commit/e949eb62d25a5c1c67176b77199dee46abb161f8))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **auth:** prioritize first auth header ([c398225](https://github.com/growsurf/growsurf-python/commit/c39822597c0c851137b6a3b6ef954f8831e1601b))
16
+
17
+ ## 0.5.0 (2026-05-25)
18
+
19
+ Full Changelog: [v0.4.0...v0.5.0](https://github.com/growsurf/growsurf-python/compare/v0.4.0...v0.5.0)
20
+
21
+ ### Features
22
+
23
+ * **api:** manual updates ([6b45870](https://github.com/growsurf/growsurf-python/commit/6b458706424429c9f9b269b2968fcace87d0a3b5))
24
+
3
25
  ## 0.4.0 (2026-05-20)
4
26
 
5
27
  Full Changelog: [v0.3.0...v0.4.0](https://github.com/growsurf/growsurf-python/compare/v0.3.0...v0.4.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 0.4.0
3
+ Version: 0.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 = "0.4.0"
3
+ version = "0.6.0"
4
4
  description = "The official Python library for the growsurf API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -136,9 +136,11 @@ class Growsurf(SyncAPIClient):
136
136
 
137
137
  @override
138
138
  def _auth_headers(self, security: SecurityOptions) -> dict[str, str]:
139
- return {
140
- **(self._api_key_auth if security.get("api_key_auth", False) else {}),
141
- }
139
+ headers: dict[str, str] = {}
140
+ if security.get("api_key_auth", False):
141
+ for key, value in self._api_key_auth.items():
142
+ headers.setdefault(key, value)
143
+ return headers
142
144
 
143
145
  @property
144
146
  def _api_key_auth(self) -> dict[str, str]:
@@ -324,9 +326,11 @@ class AsyncGrowsurf(AsyncAPIClient):
324
326
 
325
327
  @override
326
328
  def _auth_headers(self, security: SecurityOptions) -> dict[str, str]:
327
- return {
328
- **(self._api_key_auth if security.get("api_key_auth", False) else {}),
329
- }
329
+ headers: dict[str, str] = {}
330
+ if security.get("api_key_auth", False):
331
+ for key, value in self._api_key_auth.items():
332
+ headers.setdefault(key, value)
333
+ return headers
330
334
 
331
335
  @property
332
336
  def _api_key_auth(self) -> dict[str, str]:
@@ -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__ = "0.4.0" # x-release-please-version
4
+ __version__ = "0.6.0" # x-release-please-version
@@ -181,7 +181,8 @@ class CampaignResource(SyncAPIResource):
181
181
  metadata: Shallow custom metadata object.
182
182
 
183
183
  mobile_instance_id: Optional app-install scoped identifier for native mobile anti-fraud. Recommended
184
- for mobile participant creation and mobile participant token flows.
184
+ for mobile participant creation and mobile participant token flows. The official
185
+ mobile SDKs generate this as a lowercase UUID.
185
186
 
186
187
  referred_by: Referrer participant ID or email address.
187
188
 
@@ -691,7 +692,8 @@ class AsyncCampaignResource(AsyncAPIResource):
691
692
  metadata: Shallow custom metadata object.
692
693
 
693
694
  mobile_instance_id: Optional app-install scoped identifier for native mobile anti-fraud. Recommended
694
- for mobile participant creation and mobile participant token flows.
695
+ for mobile participant creation and mobile participant token flows. The official
696
+ mobile SDKs generate this as a lowercase UUID.
695
697
 
696
698
  referred_by: Referrer participant ID or email address.
697
699
 
@@ -241,7 +241,8 @@ class ParticipantResource(SyncAPIResource):
241
241
  metadata: Shallow custom metadata object.
242
242
 
243
243
  mobile_instance_id: Optional app-install scoped identifier for native mobile anti-fraud. Recommended
244
- for mobile participant creation and mobile participant token flows.
244
+ for mobile participant creation and mobile participant token flows. The official
245
+ mobile SDKs generate this as a lowercase UUID.
245
246
 
246
247
  referred_by: Referrer participant ID or email address.
247
248
 
@@ -940,7 +941,8 @@ class AsyncParticipantResource(AsyncAPIResource):
940
941
  metadata: Shallow custom metadata object.
941
942
 
942
943
  mobile_instance_id: Optional app-install scoped identifier for native mobile anti-fraud. Recommended
943
- for mobile participant creation and mobile participant token flows.
944
+ for mobile participant creation and mobile participant token flows. The official
945
+ mobile SDKs generate this as a lowercase UUID.
944
946
 
945
947
  referred_by: Referrer participant ID or email address.
946
948
 
@@ -1,6 +1,7 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  from typing import Dict, List, Optional
4
+ from typing_extensions import Literal
4
5
 
5
6
  from pydantic import Field as FieldInfo
6
7
 
@@ -10,7 +11,17 @@ from .referral_status import ReferralStatus
10
11
  from .fraud_risk_level import FraudRiskLevel
11
12
  from .participant_reward import ParticipantReward
12
13
 
13
- __all__ = ["Participant", "Referrer"]
14
+ __all__ = ["Participant", "PayoutSettings", "Referrer"]
15
+
16
+
17
+ class PayoutSettings(BaseModel):
18
+ """
19
+ Payout-related actions the participant must complete before a payout can be released (e.g. confirming a PayPal email or submitting a W-9/W-8 tax form). Always present; the requiredActions array is empty when no action is required.
20
+ """
21
+
22
+ required_actions: Optional[List[Literal["PAYPAL_EMAIL", "TAX_INFO"]]] = FieldInfo(
23
+ alias="requiredActions", default=None
24
+ )
14
25
 
15
26
 
16
27
  class Referrer(BaseModel):
@@ -117,13 +128,21 @@ class Participant(BaseModel):
117
128
  mobile_instance_id: Optional[str] = FieldInfo(alias="mobileInstanceId", default=None)
118
129
  """
119
130
  App-install scoped mobile identifier used for anti-fraud matching when provided
120
- by native mobile apps. Not stored when strict GDPR/CCPA mode is enabled.
131
+ by native mobile apps. The official mobile SDKs generate this as a lowercase
132
+ UUID. Not stored when strict GDPR/CCPA mode is enabled.
121
133
  """
122
134
 
123
135
  monthly_referrals: Optional[List[str]] = FieldInfo(alias="monthlyReferrals", default=None)
124
136
 
125
137
  notes: Optional[str] = None
126
138
 
139
+ payout_settings: Optional[PayoutSettings] = FieldInfo(alias="payoutSettings", default=None)
140
+ """
141
+ Payout-related actions the participant must complete before a payout can be
142
+ released (e.g. confirming a PayPal email or submitting a W-9/W-8 tax form).
143
+ Always present; the requiredActions array is empty when no action is required.
144
+ """
145
+
127
146
  paypal_email_address: Optional[str] = FieldInfo(alias="paypalEmailAddress", default=None)
128
147
 
129
148
  prev_monthly_rank: Optional[int] = FieldInfo(alias="prevMonthlyRank", default=None)
@@ -28,6 +28,7 @@ class ParticipantAddParams(TypedDict, total=False):
28
28
  """Optional app-install scoped identifier for native mobile anti-fraud.
29
29
 
30
30
  Recommended for mobile participant creation and mobile participant token flows.
31
+ The official mobile SDKs generate this as a lowercase UUID.
31
32
  """
32
33
 
33
34
  referral_status: Annotated[Literal["CREDIT_PENDING", "CREDIT_AWARDED"], PropertyInfo(alias="referralStatus")]
@@ -28,6 +28,7 @@ class CampaignCreateMobileParticipantTokenParams(TypedDict, total=False):
28
28
  """Optional app-install scoped identifier for native mobile anti-fraud.
29
29
 
30
30
  Recommended for mobile participant creation and mobile participant token flows.
31
+ The official mobile SDKs generate this as a lowercase UUID.
31
32
  """
32
33
 
33
34
  referral_status: Annotated[Literal["CREDIT_PENDING", "CREDIT_AWARDED"], PropertyInfo(alias="referralStatus")]
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.4.0"
3
- }
File without changes
File without changes
File without changes