growsurf-python 0.3.0__tar.gz → 0.5.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.5.0/.release-please-manifest.json +3 -0
  2. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/CHANGELOG.md +16 -0
  3. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/PKG-INFO +1 -1
  4. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/pyproject.toml +1 -1
  5. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_version.py +1 -1
  6. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/resources/campaign/campaign.py +12 -0
  7. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/resources/campaign/participant.py +12 -0
  8. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant.py +7 -0
  9. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_add_params.py +7 -0
  10. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign_create_mobile_participant_token_params.py +7 -0
  11. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/api_resources/campaign/test_participant.py +2 -0
  12. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/api_resources/test_campaign.py +2 -0
  13. growsurf_python-0.3.0/.release-please-manifest.json +0 -3
  14. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/.gitignore +0 -0
  15. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/CONTRIBUTING.md +0 -0
  16. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/LICENSE +0 -0
  17. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/README.md +0 -0
  18. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/SECURITY.md +0 -0
  19. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/api.md +0 -0
  20. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/bin/check-release-environment +0 -0
  21. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/bin/publish-pypi +0 -0
  22. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/examples/.keep +0 -0
  23. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/release-please-config.json +0 -0
  24. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/requirements-dev.lock +0 -0
  25. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/__init__.py +0 -0
  26. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_base_client.py +0 -0
  27. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_client.py +0 -0
  28. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_compat.py +0 -0
  29. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_constants.py +0 -0
  30. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_exceptions.py +0 -0
  31. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_files.py +0 -0
  32. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_models.py +0 -0
  33. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_qs.py +0 -0
  34. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_resource.py +0 -0
  35. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_response.py +0 -0
  36. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_streaming.py +0 -0
  37. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_types.py +0 -0
  38. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/__init__.py +0 -0
  39. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_compat.py +0 -0
  40. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_datetime_parse.py +0 -0
  41. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_json.py +0 -0
  42. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_logs.py +0 -0
  43. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_path.py +0 -0
  44. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_proxy.py +0 -0
  45. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_reflection.py +0 -0
  46. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_resources_proxy.py +0 -0
  47. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_streams.py +0 -0
  48. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_sync.py +0 -0
  49. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_transform.py +0 -0
  50. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_typing.py +0 -0
  51. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/_utils/_utils.py +0 -0
  52. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/lib/.keep +0 -0
  53. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/py.typed +0 -0
  54. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/resources/__init__.py +0 -0
  55. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/resources/campaign/__init__.py +0 -0
  56. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/resources/campaign/commission.py +0 -0
  57. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/resources/campaign/reward.py +0 -0
  58. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/__init__.py +0 -0
  59. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/__init__.py +0 -0
  60. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/campaign.py +0 -0
  61. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/commission_approve_response.py +0 -0
  62. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/commission_delete_response.py +0 -0
  63. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/fraud_risk_level.py +0 -0
  64. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_delete_response.py +0 -0
  65. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_list_commissions_params.py +0 -0
  66. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_list_payouts_params.py +0 -0
  67. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_list_referrals_params.py +0 -0
  68. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_list_rewards_params.py +0 -0
  69. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_list_rewards_response.py +0 -0
  70. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_record_transaction_params.py +0 -0
  71. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_record_transaction_response.py +0 -0
  72. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_reward.py +0 -0
  73. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_send_invites_params.py +0 -0
  74. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_send_invites_response.py +0 -0
  75. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_trigger_referral_response.py +0 -0
  76. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/participant_update_params.py +0 -0
  77. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/referral_source.py +0 -0
  78. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/referral_status.py +0 -0
  79. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/reward_approve_params.py +0 -0
  80. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/reward_approve_response.py +0 -0
  81. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/reward_delete_response.py +0 -0
  82. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign/reward_fulfill_response.py +0 -0
  83. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign_create_mobile_participant_token_response.py +0 -0
  84. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign_list_commissions_params.py +0 -0
  85. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign_list_leaderboard_params.py +0 -0
  86. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign_list_participants_params.py +0 -0
  87. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign_list_payouts_params.py +0 -0
  88. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign_list_referrals_params.py +0 -0
  89. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign_list_response.py +0 -0
  90. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign_retrieve_analytics_params.py +0 -0
  91. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/campaign_retrieve_analytics_response.py +0 -0
  92. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/commission_structure.py +0 -0
  93. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/participant_commission_list.py +0 -0
  94. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/participant_list.py +0 -0
  95. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/participant_payout_list.py +0 -0
  96. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/src/growsurf/types/referral_list.py +0 -0
  97. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/__init__.py +0 -0
  98. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/api_resources/__init__.py +0 -0
  99. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/api_resources/campaign/__init__.py +0 -0
  100. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/api_resources/campaign/test_commission.py +0 -0
  101. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/api_resources/campaign/test_reward.py +0 -0
  102. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/conftest.py +0 -0
  103. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/sample_file.txt +0 -0
  104. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_client.py +0 -0
  105. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_extract_files.py +0 -0
  106. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_files.py +0 -0
  107. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_models.py +0 -0
  108. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_qs.py +0 -0
  109. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_required_args.py +0 -0
  110. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_response.py +0 -0
  111. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_streaming.py +0 -0
  112. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_transform.py +0 -0
  113. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_utils/test_datetime_parse.py +0 -0
  114. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_utils/test_json.py +0 -0
  115. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_utils/test_path.py +0 -0
  116. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_utils/test_proxy.py +0 -0
  117. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/test_utils/test_typing.py +0 -0
  118. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/tests/utils.py +0 -0
  119. {growsurf_python-0.3.0 → growsurf_python-0.5.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.5.0"
3
+ }
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.0 (2026-05-25)
4
+
5
+ Full Changelog: [v0.4.0...v0.5.0](https://github.com/growsurf/growsurf-python/compare/v0.4.0...v0.5.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([6b45870](https://github.com/growsurf/growsurf-python/commit/6b458706424429c9f9b269b2968fcace87d0a3b5))
10
+
11
+ ## 0.4.0 (2026-05-20)
12
+
13
+ Full Changelog: [v0.3.0...v0.4.0](https://github.com/growsurf/growsurf-python/compare/v0.3.0...v0.4.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** Add Participant.mobileInstanceId ([0dc8db9](https://github.com/growsurf/growsurf-python/commit/0dc8db9d24e075b782975aaa5236281fb8d4c5fd))
18
+
3
19
  ## 0.3.0 (2026-05-19)
4
20
 
5
21
  Full Changelog: [v0.2.0...v0.3.0](https://github.com/growsurf/growsurf-python/compare/v0.2.0...v0.3.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 0.3.0
3
+ Version: 0.5.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.3.0"
3
+ version = "0.5.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__ = "0.3.0" # x-release-please-version
4
+ __version__ = "0.5.0" # x-release-please-version
@@ -161,6 +161,7 @@ class CampaignResource(SyncAPIResource):
161
161
  ip_address: str | Omit = omit,
162
162
  last_name: str | Omit = omit,
163
163
  metadata: Dict[str, object] | Omit = omit,
164
+ mobile_instance_id: str | Omit = omit,
164
165
  referral_status: Literal["CREDIT_PENDING", "CREDIT_AWARDED"] | Omit = omit,
165
166
  referred_by: str | Omit = omit,
166
167
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -179,6 +180,10 @@ class CampaignResource(SyncAPIResource):
179
180
  Args:
180
181
  metadata: Shallow custom metadata object.
181
182
 
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. The official
185
+ mobile SDKs generate this as a lowercase UUID.
186
+
182
187
  referred_by: Referrer participant ID or email address.
183
188
 
184
189
  extra_headers: Send extra headers
@@ -201,6 +206,7 @@ class CampaignResource(SyncAPIResource):
201
206
  "ip_address": ip_address,
202
207
  "last_name": last_name,
203
208
  "metadata": metadata,
209
+ "mobile_instance_id": mobile_instance_id,
204
210
  "referral_status": referral_status,
205
211
  "referred_by": referred_by,
206
212
  },
@@ -666,6 +672,7 @@ class AsyncCampaignResource(AsyncAPIResource):
666
672
  ip_address: str | Omit = omit,
667
673
  last_name: str | Omit = omit,
668
674
  metadata: Dict[str, object] | Omit = omit,
675
+ mobile_instance_id: str | Omit = omit,
669
676
  referral_status: Literal["CREDIT_PENDING", "CREDIT_AWARDED"] | Omit = omit,
670
677
  referred_by: str | Omit = omit,
671
678
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -684,6 +691,10 @@ class AsyncCampaignResource(AsyncAPIResource):
684
691
  Args:
685
692
  metadata: Shallow custom metadata object.
686
693
 
694
+ mobile_instance_id: Optional app-install scoped identifier for native mobile anti-fraud. Recommended
695
+ for mobile participant creation and mobile participant token flows. The official
696
+ mobile SDKs generate this as a lowercase UUID.
697
+
687
698
  referred_by: Referrer participant ID or email address.
688
699
 
689
700
  extra_headers: Send extra headers
@@ -706,6 +717,7 @@ class AsyncCampaignResource(AsyncAPIResource):
706
717
  "ip_address": ip_address,
707
718
  "last_name": last_name,
708
719
  "metadata": metadata,
720
+ "mobile_instance_id": mobile_instance_id,
709
721
  "referral_status": referral_status,
710
722
  "referred_by": referred_by,
711
723
  },
@@ -222,6 +222,7 @@ class ParticipantResource(SyncAPIResource):
222
222
  ip_address: str | Omit = omit,
223
223
  last_name: str | Omit = omit,
224
224
  metadata: Dict[str, object] | Omit = omit,
225
+ mobile_instance_id: str | Omit = omit,
225
226
  referral_status: Literal["CREDIT_PENDING", "CREDIT_AWARDED"] | Omit = omit,
226
227
  referred_by: str | Omit = omit,
227
228
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -239,6 +240,10 @@ class ParticipantResource(SyncAPIResource):
239
240
  Args:
240
241
  metadata: Shallow custom metadata object.
241
242
 
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. The official
245
+ mobile SDKs generate this as a lowercase UUID.
246
+
242
247
  referred_by: Referrer participant ID or email address.
243
248
 
244
249
  extra_headers: Send extra headers
@@ -261,6 +266,7 @@ class ParticipantResource(SyncAPIResource):
261
266
  "ip_address": ip_address,
262
267
  "last_name": last_name,
263
268
  "metadata": metadata,
269
+ "mobile_instance_id": mobile_instance_id,
264
270
  "referral_status": referral_status,
265
271
  "referred_by": referred_by,
266
272
  },
@@ -916,6 +922,7 @@ class AsyncParticipantResource(AsyncAPIResource):
916
922
  ip_address: str | Omit = omit,
917
923
  last_name: str | Omit = omit,
918
924
  metadata: Dict[str, object] | Omit = omit,
925
+ mobile_instance_id: str | Omit = omit,
919
926
  referral_status: Literal["CREDIT_PENDING", "CREDIT_AWARDED"] | Omit = omit,
920
927
  referred_by: str | Omit = omit,
921
928
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -933,6 +940,10 @@ class AsyncParticipantResource(AsyncAPIResource):
933
940
  Args:
934
941
  metadata: Shallow custom metadata object.
935
942
 
943
+ mobile_instance_id: Optional app-install scoped identifier for native mobile anti-fraud. Recommended
944
+ for mobile participant creation and mobile participant token flows. The official
945
+ mobile SDKs generate this as a lowercase UUID.
946
+
936
947
  referred_by: Referrer participant ID or email address.
937
948
 
938
949
  extra_headers: Send extra headers
@@ -955,6 +966,7 @@ class AsyncParticipantResource(AsyncAPIResource):
955
966
  "ip_address": ip_address,
956
967
  "last_name": last_name,
957
968
  "metadata": metadata,
969
+ "mobile_instance_id": mobile_instance_id,
958
970
  "referral_status": referral_status,
959
971
  "referred_by": referred_by,
960
972
  },
@@ -114,6 +114,13 @@ class Participant(BaseModel):
114
114
  metadata: Optional[Dict[str, object]] = None
115
115
  """Shallow custom metadata object."""
116
116
 
117
+ mobile_instance_id: Optional[str] = FieldInfo(alias="mobileInstanceId", default=None)
118
+ """
119
+ App-install scoped mobile identifier used for anti-fraud matching when provided
120
+ by native mobile apps. The official mobile SDKs generate this as a lowercase
121
+ UUID. Not stored when strict GDPR/CCPA mode is enabled.
122
+ """
123
+
117
124
  monthly_referrals: Optional[List[str]] = FieldInfo(alias="monthlyReferrals", default=None)
118
125
 
119
126
  notes: Optional[str] = None
@@ -24,6 +24,13 @@ class ParticipantAddParams(TypedDict, total=False):
24
24
  metadata: Dict[str, object]
25
25
  """Shallow custom metadata object."""
26
26
 
27
+ mobile_instance_id: Annotated[str, PropertyInfo(alias="mobileInstanceId")]
28
+ """Optional app-install scoped identifier for native mobile anti-fraud.
29
+
30
+ Recommended for mobile participant creation and mobile participant token flows.
31
+ The official mobile SDKs generate this as a lowercase UUID.
32
+ """
33
+
27
34
  referral_status: Annotated[Literal["CREDIT_PENDING", "CREDIT_AWARDED"], PropertyInfo(alias="referralStatus")]
28
35
 
29
36
  referred_by: Annotated[str, PropertyInfo(alias="referredBy")]
@@ -24,6 +24,13 @@ class CampaignCreateMobileParticipantTokenParams(TypedDict, total=False):
24
24
  metadata: Dict[str, object]
25
25
  """Shallow custom metadata object."""
26
26
 
27
+ mobile_instance_id: Annotated[str, PropertyInfo(alias="mobileInstanceId")]
28
+ """Optional app-install scoped identifier for native mobile anti-fraud.
29
+
30
+ Recommended for mobile participant creation and mobile participant token flows.
31
+ The official mobile SDKs generate this as a lowercase UUID.
32
+ """
33
+
27
34
  referral_status: Annotated[Literal["CREDIT_PENDING", "CREDIT_AWARDED"], PropertyInfo(alias="referralStatus")]
28
35
 
29
36
  referred_by: Annotated[str, PropertyInfo(alias="referredBy")]
@@ -224,6 +224,7 @@ class TestParticipant:
224
224
  ip_address="ipAddress",
225
225
  last_name="lastName",
226
226
  metadata={"foo": "bar"},
227
+ mobile_instance_id="mobileInstanceId",
227
228
  referral_status="CREDIT_PENDING",
228
229
  referred_by="referredBy",
229
230
  )
@@ -959,6 +960,7 @@ class TestAsyncParticipant:
959
960
  ip_address="ipAddress",
960
961
  last_name="lastName",
961
962
  metadata={"foo": "bar"},
963
+ mobile_instance_id="mobileInstanceId",
962
964
  referral_status="CREDIT_PENDING",
963
965
  referred_by="referredBy",
964
966
  )
@@ -116,6 +116,7 @@ class TestCampaign:
116
116
  ip_address="ipAddress",
117
117
  last_name="lastName",
118
118
  metadata={"foo": "bar"},
119
+ mobile_instance_id="mobileInstanceId",
119
120
  referral_status="CREDIT_PENDING",
120
121
  referred_by="referredBy",
121
122
  )
@@ -578,6 +579,7 @@ class TestAsyncCampaign:
578
579
  ip_address="ipAddress",
579
580
  last_name="lastName",
580
581
  metadata={"foo": "bar"},
582
+ mobile_instance_id="mobileInstanceId",
581
583
  referral_status="CREDIT_PENDING",
582
584
  referred_by="referredBy",
583
585
  )
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.3.0"
3
- }
File without changes
File without changes
File without changes