tremendous-python 5.17.0__tar.gz → 5.19.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 (277) hide show
  1. {tremendous_python-5.17.0/tremendous_python.egg-info → tremendous_python-5.19.0}/PKG-INFO +1 -1
  2. tremendous_python-5.19.0/pyproject.toml +30 -0
  3. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/__init__.py +3 -0
  4. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/api/tremendous_api.py +9 -9
  5. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/__init__.py +3 -0
  6. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_connected_organization_request.py +9 -3
  7. tremendous_python-5.19.0/tremendous/models/create_connected_organization_request_kyb.py +104 -0
  8. tremendous_python-5.19.0/tremendous/models/create_connected_organization_request_kyb_prefill.py +106 -0
  9. tremendous_python-5.19.0/tremendous/models/fraud_config_review_vpn.py +88 -0
  10. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_review.py +3 -3
  11. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_review_base.py +3 -3
  12. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_review_list_item.py +3 -3
  13. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_review_reason.py +1 -0
  14. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_rule_request_config.py +25 -10
  15. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_rule_type.py +1 -1
  16. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_rules_list_item.py +1 -1
  17. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_fraud_review200_response_fraud_review.py +3 -3
  18. tremendous_python-5.19.0/tremendous/models/list_connected_organizations200_response_connected_organizations_inner_prefilled_kyb_details.py +104 -0
  19. tremendous_python-5.19.0/tremendous/models/list_connected_organizations200_response_connected_organizations_inner_prefilled_kyb_details_address.py +94 -0
  20. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_fraud_reviews200_response_fraud_reviews_inner.py +3 -3
  21. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_fraud_rules200_response_fraud_rules_inner.py +1 -1
  22. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_products_response_products_inner.py +3 -3
  23. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/product.py +3 -3
  24. tremendous_python-5.19.0/tremendous/models/review_vpn.py +88 -0
  25. tremendous_python-5.19.0/tremendous/version.py +1 -0
  26. {tremendous_python-5.17.0 → tremendous_python-5.19.0/tremendous_python.egg-info}/PKG-INFO +1 -1
  27. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous_python.egg-info/SOURCES.txt +6 -0
  28. tremendous_python-5.17.0/pyproject.toml +0 -69
  29. tremendous_python-5.17.0/tremendous/version.py +0 -1
  30. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/LICENSE +0 -0
  31. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/README.md +0 -0
  32. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/setup.cfg +0 -0
  33. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/setup.py +0 -0
  34. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/test/test_campaigns.py +0 -0
  35. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/test/test_funding_sources.py +0 -0
  36. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/test/test_invoices.py +0 -0
  37. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/test/test_members.py +0 -0
  38. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/test/test_orders.py +0 -0
  39. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/test/test_products.py +0 -0
  40. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/api/__init__.py +0 -0
  41. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/api_client.py +0 -0
  42. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/api_response.py +0 -0
  43. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/configuration.py +0 -0
  44. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/exceptions.py +0 -0
  45. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/allow_email.py +0 -0
  46. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/allow_email1.py +0 -0
  47. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/allow_ip.py +0 -0
  48. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/allow_ip1.py +0 -0
  49. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/balance_transaction.py +0 -0
  50. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/balance_transaction_order.py +0 -0
  51. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/balance_transaction_order_payment.py +0 -0
  52. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/base_order_for_create.py +0 -0
  53. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/campaign.py +0 -0
  54. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/campaign_base.py +0 -0
  55. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/channel.py +0 -0
  56. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/connected_organization.py +0 -0
  57. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/connected_organization_member.py +0 -0
  58. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/connected_organization_member_member.py +0 -0
  59. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/connected_organization_member_session.py +0 -0
  60. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/connected_organization_organization.py +0 -0
  61. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_api_key200_response.py +0 -0
  62. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_campaign200_response.py +0 -0
  63. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_campaign201_response.py +0 -0
  64. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_campaign_request.py +0 -0
  65. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_connected_organization200_response.py +0 -0
  66. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_connected_organization_member200_response.py +0 -0
  67. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_connected_organization_member_request.py +0 -0
  68. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_connected_organization_member_session200_response.py +0 -0
  69. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_connected_organization_member_session200_response_connected_organization_member_session.py +0 -0
  70. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_connected_organization_member_session_request.py +0 -0
  71. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_field.py +0 -0
  72. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_field200_response.py +0 -0
  73. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_field_request.py +0 -0
  74. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_field_request_data.py +0 -0
  75. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_invoice200_response.py +0 -0
  76. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_invoice_request.py +0 -0
  77. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_member.py +0 -0
  78. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_member200_response.py +0 -0
  79. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_member_request.py +0 -0
  80. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_order200_response.py +0 -0
  81. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_order200_response_order.py +0 -0
  82. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_order200_response_order_rewards_inner.py +0 -0
  83. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_order200_response_order_rewards_inner_delivery.py +0 -0
  84. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_order201_response.py +0 -0
  85. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_order_request.py +0 -0
  86. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_organization.py +0 -0
  87. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_organization200_response.py +0 -0
  88. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_organization200_response_organization.py +0 -0
  89. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_organization_for_response.py +0 -0
  90. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_organization_properties.py +0 -0
  91. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_organization_request.py +0 -0
  92. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_organization_request_copy_settings.py +0 -0
  93. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_report200_response.py +0 -0
  94. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_report200_response_report.py +0 -0
  95. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_report201_response.py +0 -0
  96. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_report201_response_report.py +0 -0
  97. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_report_request.py +0 -0
  98. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_report_request_filters.py +0 -0
  99. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_report_request_filters_digital_rewards.py +0 -0
  100. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_report_request_filters_digital_rewards_amount.py +0 -0
  101. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_report_request_filters_digital_rewards_created_at.py +0 -0
  102. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_topup200_response.py +0 -0
  103. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_topup_request.py +0 -0
  104. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_webhook200_response.py +0 -0
  105. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/create_webhook_request.py +0 -0
  106. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/currency_codes.py +0 -0
  107. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/custom_field.py +0 -0
  108. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/delete_fraud_rule200_response.py +0 -0
  109. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/delivery_details.py +0 -0
  110. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/delivery_details_with_link.py +0 -0
  111. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/delivery_metadata.py +0 -0
  112. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/delivery_method.py +0 -0
  113. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/delivery_status.py +0 -0
  114. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/error_model.py +0 -0
  115. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_config_allow_email.py +0 -0
  116. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_config_country.py +0 -0
  117. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_config_country_update_list.py +0 -0
  118. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_config_ip.py +0 -0
  119. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_config_redeemed_rewards_amount.py +0 -0
  120. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_config_redeemed_rewards_count.py +0 -0
  121. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_config_review_email.py +0 -0
  122. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_generic_response.py +0 -0
  123. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_review_geo.py +0 -0
  124. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_review_redemption_method.py +0 -0
  125. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_review_related_rewards.py +0 -0
  126. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_review_risk.py +0 -0
  127. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_review_status.py +0 -0
  128. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_rule200_response.py +0 -0
  129. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_rule400_response.py +0 -0
  130. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_rule422_response.py +0 -0
  131. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/fraud_rule_request.py +0 -0
  132. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/funding_source.py +0 -0
  133. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/generate_reward_link200_response.py +0 -0
  134. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/generate_reward_link200_response_reward.py +0 -0
  135. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/generate_reward_link403_response.py +0 -0
  136. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/generate_reward_token200_response.py +0 -0
  137. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/generate_reward_token200_response_reward.py +0 -0
  138. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_fraud_review200_response.py +0 -0
  139. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_fraud_review200_response_fraud_review_geo.py +0 -0
  140. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_fraud_review200_response_fraud_review_related_rewards.py +0 -0
  141. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_funding_source200_response.py +0 -0
  142. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_member200_response.py +0 -0
  143. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_member200_response_member.py +0 -0
  144. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_member200_response_member_events_inner.py +0 -0
  145. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_order200_response.py +0 -0
  146. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_organization200_response.py +0 -0
  147. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_product_response.py +0 -0
  148. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/get_reward200_response.py +0 -0
  149. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/inline_object.py +0 -0
  150. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/inline_object1.py +0 -0
  151. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/inline_object1_reward.py +0 -0
  152. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/invoice.py +0 -0
  153. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_balance_transactions200_response.py +0 -0
  154. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_balance_transactions200_response_transactions_inner.py +0 -0
  155. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_balance_transactions200_response_transactions_inner_order.py +0 -0
  156. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_balance_transactions200_response_transactions_inner_order_payment.py +0 -0
  157. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_campaigns200_response.py +0 -0
  158. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_campaigns200_response_campaigns_inner.py +0 -0
  159. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_campaigns200_response_campaigns_inner_auto_add_product_rule.py +0 -0
  160. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_campaigns200_response_campaigns_inner_email_style.py +0 -0
  161. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_campaigns200_response_campaigns_inner_webpage_style.py +0 -0
  162. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_connected_organization_members200_response.py +0 -0
  163. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_connected_organization_members200_response_connected_organization_members_inner.py +0 -0
  164. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_connected_organization_members200_response_connected_organization_members_inner_member.py +0 -0
  165. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_connected_organizations200_response.py +0 -0
  166. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_connected_organizations200_response_connected_organizations_inner.py +0 -0
  167. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_connected_organizations200_response_connected_organizations_inner_organization.py +0 -0
  168. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_fields200_response.py +0 -0
  169. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_fields200_response_fields_inner.py +0 -0
  170. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_fields200_response_fields_inner_data.py +0 -0
  171. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_forex_response.py +0 -0
  172. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_fraud_reviews200_response.py +0 -0
  173. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_fraud_reviews200_response_fraud_reviews_inner_geo.py +0 -0
  174. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_fraud_rules200_response.py +0 -0
  175. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_funding_sources200_response.py +0 -0
  176. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_funding_sources200_response_funding_sources_inner.py +0 -0
  177. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta.py +0 -0
  178. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta_failure_details.py +0 -0
  179. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_invoices200_response.py +0 -0
  180. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_invoices200_response_invoices_inner.py +0 -0
  181. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_members200_response.py +0 -0
  182. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_members200_response_members_inner.py +0 -0
  183. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_orders200_response.py +0 -0
  184. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_orders200_response_orders_inner.py +0 -0
  185. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_orders200_response_orders_inner_payment.py +0 -0
  186. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_orders200_response_orders_inner_payment_refund.py +0 -0
  187. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_organizations200_response.py +0 -0
  188. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_organizations200_response_organizations_inner.py +0 -0
  189. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_products_response.py +0 -0
  190. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_products_response_products_inner_countries_inner.py +0 -0
  191. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_products_response_products_inner_documents.py +0 -0
  192. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_products_response_products_inner_images_inner.py +0 -0
  193. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_products_response_products_inner_skus_inner.py +0 -0
  194. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_rewards200_response.py +0 -0
  195. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_rewards200_response_rewards_inner.py +0 -0
  196. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_rewards200_response_rewards_inner_custom_fields_inner.py +0 -0
  197. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_rewards200_response_rewards_inner_delivery.py +0 -0
  198. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_rewards200_response_rewards_inner_recipient.py +0 -0
  199. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_rewards200_response_rewards_inner_value.py +0 -0
  200. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_rewards401_response.py +0 -0
  201. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_rewards401_response_errors.py +0 -0
  202. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_rewards429_response.py +0 -0
  203. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_roles200_response.py +0 -0
  204. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_roles200_response_roles_inner.py +0 -0
  205. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_topups200_response.py +0 -0
  206. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_topups200_response_topups_inner.py +0 -0
  207. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_webhook_events200_response.py +0 -0
  208. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_webhooks200_response.py +0 -0
  209. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/list_webhooks200_response_webhooks_inner.py +0 -0
  210. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/member.py +0 -0
  211. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/member_base.py +0 -0
  212. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/member_with_events.py +0 -0
  213. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/member_without_events.py +0 -0
  214. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/model_field.py +0 -0
  215. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/order.py +0 -0
  216. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/order_base.py +0 -0
  217. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/order_base_payment.py +0 -0
  218. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/order_status.py +0 -0
  219. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/order_with_link.py +0 -0
  220. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/order_with_link_rewards_inner.py +0 -0
  221. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/order_without_link.py +0 -0
  222. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/order_without_link_rewards_inner.py +0 -0
  223. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/organization.py +0 -0
  224. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/payment_details.py +0 -0
  225. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/payment_details_refund.py +0 -0
  226. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/payout.py +0 -0
  227. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/product_documents.py +0 -0
  228. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/recipient.py +0 -0
  229. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/refund_details.py +0 -0
  230. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/report.py +0 -0
  231. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/resend_reward422_response.py +0 -0
  232. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/resend_reward_request.py +0 -0
  233. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/review_country.py +0 -0
  234. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/review_country1.py +0 -0
  235. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/review_email.py +0 -0
  236. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/review_email1.py +0 -0
  237. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/review_ip.py +0 -0
  238. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/review_ip1.py +0 -0
  239. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/review_redeemed_rewards_amount.py +0 -0
  240. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/review_redeemed_rewards_count.py +0 -0
  241. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward.py +0 -0
  242. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward_base.py +0 -0
  243. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward_base_custom_fields_inner.py +0 -0
  244. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward_for_order_create.py +0 -0
  245. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward_link.py +0 -0
  246. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward_token.py +0 -0
  247. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward_value.py +0 -0
  248. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward_with_link.py +0 -0
  249. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward_with_link_delivery.py +0 -0
  250. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward_without_link.py +0 -0
  251. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/reward_without_link_delivery.py +0 -0
  252. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/role.py +0 -0
  253. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/simulate_webhook_request.py +0 -0
  254. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/single_reward_order.py +0 -0
  255. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/single_reward_order_payment.py +0 -0
  256. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/single_reward_order_reward.py +0 -0
  257. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/single_reward_order_reward_custom_fields_inner.py +0 -0
  258. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/single_reward_order_reward_delivery.py +0 -0
  259. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/single_reward_order_reward_delivery_meta.py +0 -0
  260. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/single_reward_order_with_link.py +0 -0
  261. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/single_reward_order_with_link_order.py +0 -0
  262. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/single_reward_order_without_link.py +0 -0
  263. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/single_reward_order_without_link_order.py +0 -0
  264. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/topup.py +0 -0
  265. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/topup_create_request.py +0 -0
  266. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/update_campaign.py +0 -0
  267. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/update_campaign_request.py +0 -0
  268. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/update_fraud_rule_list200_response.py +0 -0
  269. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/update_fraud_rule_list_request.py +0 -0
  270. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/update_fraud_rule_list_request_config.py +0 -0
  271. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/webhook.py +0 -0
  272. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/models/webhook_post.py +0 -0
  273. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/py.typed +0 -0
  274. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous/rest.py +0 -0
  275. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous_python.egg-info/dependency_links.txt +0 -0
  276. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous_python.egg-info/requires.txt +0 -0
  277. {tremendous_python-5.17.0 → tremendous_python-5.19.0}/tremendous_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tremendous-python
3
- Version: 5.17.0
3
+ Version: 5.19.0
4
4
  Summary: Python API client for Tremendous
5
5
  Home-page: https://github.com/tremendous-rewards/tremendous-python
6
6
  Author: Tremendous
@@ -0,0 +1,30 @@
1
+ [tool.poetry]
2
+ name = "tremendous"
3
+ version = "5.19.0"
4
+ long_description="Python API client for Tremendous"
5
+ description = "Python API client for Tremendous"
6
+ authors = ["API Support <developers@tremendous.com>"]
7
+ license = "MIT"
8
+ readme = "README.md"
9
+ repository = "https://github.com/tremendous-rewards/tremendous-python"
10
+ keywords = ["Api", "Gift cards", "Rewards", "Incentives", "Tremendous"]
11
+ include = ["tremendous/py.typed"]
12
+
13
+ [tool.poetry.dependencies]
14
+ python = "^3.10"
15
+
16
+ urllib3 = ">= 2.1.0"
17
+ python-dateutil = ">=2.8.2"
18
+ pydantic = ">=2"
19
+ typing-extensions = ">=4.7.1"
20
+
21
+ [tool.poetry.dev-dependencies]
22
+ pytest = ">=7.2.1"
23
+
24
+
25
+ [build-system]
26
+ requires = ["setuptools"]
27
+ build-backend = "setuptools.build_meta"
28
+
29
+ [tool.pylint.'MESSAGES CONTROL']
30
+ extension-pkg-whitelist = "pydantic"
@@ -58,6 +58,7 @@ from tremendous.models.create_connected_organization_member_session200_response
58
58
  from tremendous.models.create_connected_organization_member_session200_response_connected_organization_member_session import CreateConnectedOrganizationMemberSession200ResponseConnectedOrganizationMemberSession
59
59
  from tremendous.models.create_connected_organization_member_session_request import CreateConnectedOrganizationMemberSessionRequest
60
60
  from tremendous.models.create_connected_organization_request import CreateConnectedOrganizationRequest
61
+ from tremendous.models.create_connected_organization_request_kyb_prefill import CreateConnectedOrganizationRequestKybPrefill
61
62
  from tremendous.models.create_field import CreateField
62
63
  from tremendous.models.create_field200_response import CreateField200Response
63
64
  from tremendous.models.create_field_request import CreateFieldRequest
@@ -106,6 +107,7 @@ from tremendous.models.fraud_config_ip import FraudConfigIP
106
107
  from tremendous.models.fraud_config_redeemed_rewards_amount import FraudConfigRedeemedRewardsAmount
107
108
  from tremendous.models.fraud_config_redeemed_rewards_count import FraudConfigRedeemedRewardsCount
108
109
  from tremendous.models.fraud_config_review_email import FraudConfigReviewEmail
110
+ from tremendous.models.fraud_config_review_vpn import FraudConfigReviewVpn
109
111
  from tremendous.models.fraud_generic_response import FraudGenericResponse
110
112
  from tremendous.models.fraud_review import FraudReview
111
113
  from tremendous.models.fraud_review_base import FraudReviewBase
@@ -234,6 +236,7 @@ from tremendous.models.review_ip import ReviewIp
234
236
  from tremendous.models.review_ip1 import ReviewIp1
235
237
  from tremendous.models.review_redeemed_rewards_amount import ReviewRedeemedRewardsAmount
236
238
  from tremendous.models.review_redeemed_rewards_count import ReviewRedeemedRewardsCount
239
+ from tremendous.models.review_vpn import ReviewVpn
237
240
  from tremendous.models.reward import Reward
238
241
  from tremendous.models.reward_base import RewardBase
239
242
  from tremendous.models.reward_base_custom_fields_inner import RewardBaseCustomFieldsInner
@@ -1490,7 +1490,7 @@ class TremendousApi:
1490
1490
  ) -> CreateConnectedOrganization200Response:
1491
1491
  """Create connected organization
1492
1492
 
1493
- Create a connected organization.
1493
+ Create a connected organization. Optionally pass a `kyb_prefill` object to forward KYB (Know Your Business) details you have already collected for the end client. When provided, these values prefill the end client's onboarding form; the end client still reviews, edits where needed, and submits the form. Every `kyb_prefill` field is optional, but any value provided is validated. Malformed KYB details (for example an unsupported `country_code` or a malformed `website_url`) return a `400`.
1494
1494
 
1495
1495
  :param create_connected_organization_request: Connected organization to create (required)
1496
1496
  :type create_connected_organization_request: CreateConnectedOrganizationRequest
@@ -1561,7 +1561,7 @@ class TremendousApi:
1561
1561
  ) -> ApiResponse[CreateConnectedOrganization200Response]:
1562
1562
  """Create connected organization
1563
1563
 
1564
- Create a connected organization.
1564
+ Create a connected organization. Optionally pass a `kyb_prefill` object to forward KYB (Know Your Business) details you have already collected for the end client. When provided, these values prefill the end client's onboarding form; the end client still reviews, edits where needed, and submits the form. Every `kyb_prefill` field is optional, but any value provided is validated. Malformed KYB details (for example an unsupported `country_code` or a malformed `website_url`) return a `400`.
1565
1565
 
1566
1566
  :param create_connected_organization_request: Connected organization to create (required)
1567
1567
  :type create_connected_organization_request: CreateConnectedOrganizationRequest
@@ -1632,7 +1632,7 @@ class TremendousApi:
1632
1632
  ) -> RESTResponseType:
1633
1633
  """Create connected organization
1634
1634
 
1635
- Create a connected organization.
1635
+ Create a connected organization. Optionally pass a `kyb_prefill` object to forward KYB (Know Your Business) details you have already collected for the end client. When provided, these values prefill the end client's onboarding form; the end client still reviews, edits where needed, and submits the form. Every `kyb_prefill` field is optional, but any value provided is validated. Malformed KYB details (for example an unsupported `country_code` or a malformed `website_url`) return a `400`.
1636
1636
 
1637
1637
  :param create_connected_organization_request: Connected organization to create (required)
1638
1638
  :type create_connected_organization_request: CreateConnectedOrganizationRequest
@@ -6573,7 +6573,7 @@ class TremendousApi:
6573
6573
  def fraud_rule(
6574
6574
  self,
6575
6575
  rule_type: Annotated[StrictStr, Field(description="The rule type to create or update.")],
6576
- fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `review_vpn`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body.")] = None,
6576
+ fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged. ")] = None,
6577
6577
  _request_timeout: Union[
6578
6578
  None,
6579
6579
  Annotated[StrictFloat, Field(gt=0)],
@@ -6593,7 +6593,7 @@ class TremendousApi:
6593
6593
 
6594
6594
  :param rule_type: The rule type to create or update. (required)
6595
6595
  :type rule_type: str
6596
- :param fraud_rule_request: Rules `review_multiple_emails`, `review_vpn`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body.
6596
+ :param fraud_rule_request: Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged.
6597
6597
  :type fraud_rule_request: FraudRuleRequest
6598
6598
  :param _request_timeout: timeout setting for this request. If one
6599
6599
  number provided, it will be total request
@@ -6650,7 +6650,7 @@ class TremendousApi:
6650
6650
  def fraud_rule_with_http_info(
6651
6651
  self,
6652
6652
  rule_type: Annotated[StrictStr, Field(description="The rule type to create or update.")],
6653
- fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `review_vpn`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body.")] = None,
6653
+ fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged. ")] = None,
6654
6654
  _request_timeout: Union[
6655
6655
  None,
6656
6656
  Annotated[StrictFloat, Field(gt=0)],
@@ -6670,7 +6670,7 @@ class TremendousApi:
6670
6670
 
6671
6671
  :param rule_type: The rule type to create or update. (required)
6672
6672
  :type rule_type: str
6673
- :param fraud_rule_request: Rules `review_multiple_emails`, `review_vpn`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body.
6673
+ :param fraud_rule_request: Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged.
6674
6674
  :type fraud_rule_request: FraudRuleRequest
6675
6675
  :param _request_timeout: timeout setting for this request. If one
6676
6676
  number provided, it will be total request
@@ -6727,7 +6727,7 @@ class TremendousApi:
6727
6727
  def fraud_rule_without_preload_content(
6728
6728
  self,
6729
6729
  rule_type: Annotated[StrictStr, Field(description="The rule type to create or update.")],
6730
- fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `review_vpn`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body.")] = None,
6730
+ fraud_rule_request: Annotated[Optional[FraudRuleRequest], Field(description="Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged. ")] = None,
6731
6731
  _request_timeout: Union[
6732
6732
  None,
6733
6733
  Annotated[StrictFloat, Field(gt=0)],
@@ -6747,7 +6747,7 @@ class TremendousApi:
6747
6747
 
6748
6748
  :param rule_type: The rule type to create or update. (required)
6749
6749
  :type rule_type: str
6750
- :param fraud_rule_request: Rules `review_multiple_emails`, `review_vpn`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body.
6750
+ :param fraud_rule_request: Rules `review_multiple_emails`, `review_tremendous_flaglist`, and `review_previously_blocked_recipients` require no body. `review_vpn` also accepts no body for the default behavior. Pass `config.skip_apple_private_relay` only to override whether Apple Private Relay traffic is flagged.
6751
6751
  :type fraud_rule_request: FraudRuleRequest
6752
6752
  :param _request_timeout: timeout setting for this request. If one
6753
6753
  number provided, it will be total request
@@ -41,6 +41,7 @@ from tremendous.models.create_connected_organization_member_session200_response
41
41
  from tremendous.models.create_connected_organization_member_session200_response_connected_organization_member_session import CreateConnectedOrganizationMemberSession200ResponseConnectedOrganizationMemberSession
42
42
  from tremendous.models.create_connected_organization_member_session_request import CreateConnectedOrganizationMemberSessionRequest
43
43
  from tremendous.models.create_connected_organization_request import CreateConnectedOrganizationRequest
44
+ from tremendous.models.create_connected_organization_request_kyb_prefill import CreateConnectedOrganizationRequestKybPrefill
44
45
  from tremendous.models.create_field import CreateField
45
46
  from tremendous.models.create_field200_response import CreateField200Response
46
47
  from tremendous.models.create_field_request import CreateFieldRequest
@@ -89,6 +90,7 @@ from tremendous.models.fraud_config_ip import FraudConfigIP
89
90
  from tremendous.models.fraud_config_redeemed_rewards_amount import FraudConfigRedeemedRewardsAmount
90
91
  from tremendous.models.fraud_config_redeemed_rewards_count import FraudConfigRedeemedRewardsCount
91
92
  from tremendous.models.fraud_config_review_email import FraudConfigReviewEmail
93
+ from tremendous.models.fraud_config_review_vpn import FraudConfigReviewVpn
92
94
  from tremendous.models.fraud_generic_response import FraudGenericResponse
93
95
  from tremendous.models.fraud_review import FraudReview
94
96
  from tremendous.models.fraud_review_base import FraudReviewBase
@@ -217,6 +219,7 @@ from tremendous.models.review_ip import ReviewIp
217
219
  from tremendous.models.review_ip1 import ReviewIp1
218
220
  from tremendous.models.review_redeemed_rewards_amount import ReviewRedeemedRewardsAmount
219
221
  from tremendous.models.review_redeemed_rewards_count import ReviewRedeemedRewardsCount
222
+ from tremendous.models.review_vpn import ReviewVpn
220
223
  from tremendous.models.reward import Reward
221
224
  from tremendous.models.reward_base import RewardBase
222
225
  from tremendous.models.reward_base_custom_fields_inner import RewardBaseCustomFieldsInner
@@ -19,7 +19,8 @@ import re # noqa: F401
19
19
  import json
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
- from typing import Any, ClassVar, Dict, List
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from tremendous.models.create_connected_organization_request_kyb_prefill import CreateConnectedOrganizationRequestKybPrefill
23
24
  from typing import Optional, Set
24
25
  from typing_extensions import Self
25
26
 
@@ -28,7 +29,8 @@ class CreateConnectedOrganizationRequest(BaseModel):
28
29
  CreateConnectedOrganizationRequest
29
30
  """ # noqa: E501
30
31
  client_id: StrictStr = Field(description="The client ID of the OAuth application.")
31
- __properties: ClassVar[List[str]] = ["client_id"]
32
+ kyb_prefill: Optional[CreateConnectedOrganizationRequestKybPrefill] = None
33
+ __properties: ClassVar[List[str]] = ["client_id", "kyb_prefill"]
32
34
 
33
35
  model_config = ConfigDict(
34
36
  populate_by_name=True,
@@ -69,6 +71,9 @@ class CreateConnectedOrganizationRequest(BaseModel):
69
71
  exclude=excluded_fields,
70
72
  exclude_none=True,
71
73
  )
74
+ # override the default output from pydantic by calling `to_dict()` of kyb_prefill
75
+ if self.kyb_prefill:
76
+ _dict['kyb_prefill'] = self.kyb_prefill.to_dict()
72
77
  return _dict
73
78
 
74
79
  @classmethod
@@ -81,7 +86,8 @@ class CreateConnectedOrganizationRequest(BaseModel):
81
86
  return cls.model_validate(obj)
82
87
 
83
88
  _obj = cls.model_validate({
84
- "client_id": obj.get("client_id")
89
+ "client_id": obj.get("client_id"),
90
+ "kyb_prefill": CreateConnectedOrganizationRequestKybPrefill.from_dict(obj["kyb_prefill"]) if obj.get("kyb_prefill") is not None else None
85
91
  })
86
92
  return _obj
87
93
 
@@ -0,0 +1,104 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ API Endpoints
5
+
6
+ Deliver monetary rewards and incentives to employees, customers, survey participants, and more through the Tremendous API. For organizational tasks, like managing your organization and its members within Tremendous, please see the Tremendous Organizational API.
7
+
8
+ The version of the OpenAPI document: 2
9
+ Contact: developers@tremendous.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from tremendous.models.list_connected_organizations200_response_connected_organizations_inner_prefilled_kyb_details_address import ListConnectedOrganizations200ResponseConnectedOrganizationsInnerPrefilledKybDetailsAddress
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class CreateConnectedOrganizationRequestKyb(BaseModel):
28
+ """
29
+ Optional KYB details to forward for the end client. When provided, these values pre-fill the end client's onboarding form and remain fully editable; the end client still reviews and submits. Every field is optional.
30
+ """ # noqa: E501
31
+ company_name: Optional[StrictStr] = Field(default=None, description="The registered legal name of the company.")
32
+ doing_business_as: Optional[StrictStr] = Field(default=None, description="The trade name (DBA) the company operates under, if different from its legal name.")
33
+ company_structure: Optional[StrictStr] = Field(default=None, description="The company's legal entity type. Free-form text — any value is accepted to support entity types outside the common presets. Common values are `Sole proprietorship`, `Corporation (Inc)`, `Limited liability company (LLC)`, `Limited liability partnership (LLP)`, `Public limited company (PLC)`, and `Private limited company (LTD)`. ")
34
+ company_registration_number: Optional[StrictStr] = Field(default=None, description="The company's tax ID or registration number.")
35
+ country_code: Optional[StrictStr] = Field(default=None, description="The ISO 3166-1 alpha-2 country code of the company. Must be a supported country.")
36
+ website_url: Optional[StrictStr] = Field(default=None, description="The company's website URL. Must be a well-formed URL.")
37
+ address: Optional[ListConnectedOrganizations200ResponseConnectedOrganizationsInnerPrefilledKybDetailsAddress] = None
38
+ __properties: ClassVar[List[str]] = ["company_name", "doing_business_as", "company_structure", "company_registration_number", "country_code", "website_url", "address"]
39
+
40
+ model_config = ConfigDict(
41
+ populate_by_name=True,
42
+ validate_assignment=True,
43
+ protected_namespaces=(),
44
+ )
45
+
46
+
47
+ def to_str(self) -> str:
48
+ """Returns the string representation of the model using alias"""
49
+ return pprint.pformat(self.model_dump(by_alias=True))
50
+
51
+ def to_json(self) -> str:
52
+ """Returns the JSON representation of the model using alias"""
53
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
54
+ return json.dumps(self.to_dict())
55
+
56
+ @classmethod
57
+ def from_json(cls, json_str: str) -> Optional[Self]:
58
+ """Create an instance of CreateConnectedOrganizationRequestKyb from a JSON string"""
59
+ return cls.from_dict(json.loads(json_str))
60
+
61
+ def to_dict(self) -> Dict[str, Any]:
62
+ """Return the dictionary representation of the model using alias.
63
+
64
+ This has the following differences from calling pydantic's
65
+ `self.model_dump(by_alias=True)`:
66
+
67
+ * `None` is only added to the output dict for nullable fields that
68
+ were set at model initialization. Other fields with value `None`
69
+ are ignored.
70
+ """
71
+ excluded_fields: Set[str] = set([
72
+ ])
73
+
74
+ _dict = self.model_dump(
75
+ by_alias=True,
76
+ exclude=excluded_fields,
77
+ exclude_none=True,
78
+ )
79
+ # override the default output from pydantic by calling `to_dict()` of address
80
+ if self.address:
81
+ _dict['address'] = self.address.to_dict()
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of CreateConnectedOrganizationRequestKyb from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "company_name": obj.get("company_name"),
95
+ "doing_business_as": obj.get("doing_business_as"),
96
+ "company_structure": obj.get("company_structure"),
97
+ "company_registration_number": obj.get("company_registration_number"),
98
+ "country_code": obj.get("country_code"),
99
+ "website_url": obj.get("website_url"),
100
+ "address": ListConnectedOrganizations200ResponseConnectedOrganizationsInnerPrefilledKybDetailsAddress.from_dict(obj["address"]) if obj.get("address") is not None else None
101
+ })
102
+ return _obj
103
+
104
+
@@ -0,0 +1,106 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ API Endpoints
5
+
6
+ Deliver monetary rewards and incentives to employees, customers, survey participants, and more through the Tremendous API. For organizational tasks, like managing your organization and its members within Tremendous, please see the Tremendous Organizational API.
7
+
8
+ The version of the OpenAPI document: 2
9
+ Contact: developers@tremendous.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class CreateConnectedOrganizationRequestKybPrefill(BaseModel):
27
+ """
28
+ Optional KYB details to forward for the end client. When provided, these values prefill the end client's onboarding form. Every field is optional.
29
+ """ # noqa: E501
30
+ company_name: Optional[StrictStr] = Field(default=None, description="The registered legal name of the company.")
31
+ doing_business_as: Optional[StrictStr] = Field(default=None, description="The trade name (DBA) the company operates under, if different from its legal name.")
32
+ company_structure: Optional[StrictStr] = Field(default=None, description="The company's legal entity type. Free-form text; any value is accepted. Common values include `Sole proprietorship`, `Corporation (Inc)`, `Limited liability company (LLC)`, `Limited liability partnership (LLP)`, `Public limited company (PLC)`, and `Private limited company (LTD)`. ")
33
+ company_registration_number: Optional[StrictStr] = Field(default=None, description="The company's tax ID or registration number.")
34
+ country_code: Optional[StrictStr] = Field(default=None, description="The ISO 3166-1 alpha-2 country code of the company. Must be a supported country.")
35
+ website_url: Optional[StrictStr] = Field(default=None, description="The company's website URL. Must be a well-formed URL.")
36
+ address_1: Optional[StrictStr] = Field(default=None, description="The company's street address.")
37
+ city: Optional[StrictStr] = Field(default=None, description="The company's city.")
38
+ state: Optional[StrictStr] = Field(default=None, description="The company's state or province.")
39
+ postal_code: Optional[StrictStr] = Field(default=None, description="The company's ZIP or postal code.")
40
+ __properties: ClassVar[List[str]] = ["company_name", "doing_business_as", "company_structure", "company_registration_number", "country_code", "website_url", "address_1", "city", "state", "postal_code"]
41
+
42
+ model_config = ConfigDict(
43
+ populate_by_name=True,
44
+ validate_assignment=True,
45
+ protected_namespaces=(),
46
+ )
47
+
48
+
49
+ def to_str(self) -> str:
50
+ """Returns the string representation of the model using alias"""
51
+ return pprint.pformat(self.model_dump(by_alias=True))
52
+
53
+ def to_json(self) -> str:
54
+ """Returns the JSON representation of the model using alias"""
55
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> Optional[Self]:
60
+ """Create an instance of CreateConnectedOrganizationRequestKybPrefill from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self) -> Dict[str, Any]:
64
+ """Return the dictionary representation of the model using alias.
65
+
66
+ This has the following differences from calling pydantic's
67
+ `self.model_dump(by_alias=True)`:
68
+
69
+ * `None` is only added to the output dict for nullable fields that
70
+ were set at model initialization. Other fields with value `None`
71
+ are ignored.
72
+ """
73
+ excluded_fields: Set[str] = set([
74
+ ])
75
+
76
+ _dict = self.model_dump(
77
+ by_alias=True,
78
+ exclude=excluded_fields,
79
+ exclude_none=True,
80
+ )
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
85
+ """Create an instance of CreateConnectedOrganizationRequestKybPrefill from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return cls.model_validate(obj)
91
+
92
+ _obj = cls.model_validate({
93
+ "company_name": obj.get("company_name"),
94
+ "doing_business_as": obj.get("doing_business_as"),
95
+ "company_structure": obj.get("company_structure"),
96
+ "company_registration_number": obj.get("company_registration_number"),
97
+ "country_code": obj.get("country_code"),
98
+ "website_url": obj.get("website_url"),
99
+ "address_1": obj.get("address_1"),
100
+ "city": obj.get("city"),
101
+ "state": obj.get("state"),
102
+ "postal_code": obj.get("postal_code")
103
+ })
104
+ return _obj
105
+
106
+
@@ -0,0 +1,88 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ API Endpoints
5
+
6
+ Deliver monetary rewards and incentives to employees, customers, survey participants, and more through the Tremendous API. For organizational tasks, like managing your organization and its members within Tremendous, please see the Tremendous Organizational API.
7
+
8
+ The version of the OpenAPI document: 2
9
+ Contact: developers@tremendous.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class FraudConfigReviewVpn(BaseModel):
27
+ """
28
+ FraudConfigReviewVpn
29
+ """ # noqa: E501
30
+ skip_apple_private_relay: Optional[StrictBool] = Field(default=False, description="Whether Apple Private Relay traffic should be excluded from VPN fraud review. When omitted or false, Apple Private Relay traffic is flagged with other VPN and proxy traffic. ")
31
+ __properties: ClassVar[List[str]] = ["skip_apple_private_relay"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of FraudConfigReviewVpn from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
+ """Create an instance of FraudConfigReviewVpn from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate({
84
+ "skip_apple_private_relay": obj.get("skip_apple_private_relay") if obj.get("skip_apple_private_relay") is not None else False
85
+ })
86
+ return _obj
87
+
88
+
@@ -32,7 +32,7 @@ class FraudReview(BaseModel):
32
32
  The fraud review associated with a reward.
33
33
  """ # noqa: E501
34
34
  status: Optional[StrictStr] = Field(default=None, description="The current status of the fraud review: * `flagged` - The reward has been flagged for and waiting manual review. * `blocked` - The reward was reviewed and blocked. * `released` - The reward was reviewed and released. ")
35
- reasons: Optional[List[StrictStr]] = Field(default=None, description="The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country` ")
35
+ reasons: Optional[List[StrictStr]] = Field(default=None, description="The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Apple Private Relay` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country` ")
36
36
  device_id: Optional[StrictStr] = Field(default=None, description="The device fingerprint, if known.")
37
37
  redemption_method: Optional[StrictStr] = Field(default=None, description="The product selected to claim the reward")
38
38
  redeemed_at: Optional[datetime] = Field(default=None, description="Date the reward was redeemed")
@@ -62,8 +62,8 @@ class FraudReview(BaseModel):
62
62
  return value
63
63
 
64
64
  for i in value:
65
- if i not in set(['Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country']):
66
- raise ValueError("each list item must be one of ('Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country')")
65
+ if i not in set(['Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Apple Private Relay', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country']):
66
+ raise ValueError("each list item must be one of ('Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Apple Private Relay', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country')")
67
67
  return value
68
68
 
69
69
  @field_validator('redemption_method')
@@ -31,7 +31,7 @@ class FraudReviewBase(BaseModel):
31
31
  The fraud review associated with a reward.
32
32
  """ # noqa: E501
33
33
  status: Optional[StrictStr] = Field(default=None, description="The current status of the fraud review: * `flagged` - The reward has been flagged for and waiting manual review. * `blocked` - The reward was reviewed and blocked. * `released` - The reward was reviewed and released. ")
34
- reasons: Optional[List[StrictStr]] = Field(default=None, description="The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country` ")
34
+ reasons: Optional[List[StrictStr]] = Field(default=None, description="The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Apple Private Relay` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country` ")
35
35
  device_id: Optional[StrictStr] = Field(default=None, description="The device fingerprint, if known.")
36
36
  redemption_method: Optional[StrictStr] = Field(default=None, description="The product selected to claim the reward")
37
37
  redeemed_at: Optional[datetime] = Field(default=None, description="Date the reward was redeemed")
@@ -59,8 +59,8 @@ class FraudReviewBase(BaseModel):
59
59
  return value
60
60
 
61
61
  for i in value:
62
- if i not in set(['Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country']):
63
- raise ValueError("each list item must be one of ('Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country')")
62
+ if i not in set(['Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Apple Private Relay', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country']):
63
+ raise ValueError("each list item must be one of ('Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Apple Private Relay', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country')")
64
64
  return value
65
65
 
66
66
  @field_validator('redemption_method')
@@ -31,7 +31,7 @@ class FraudReviewListItem(BaseModel):
31
31
  The fraud review associated with a reward.
32
32
  """ # noqa: E501
33
33
  status: Optional[StrictStr] = Field(default=None, description="The current status of the fraud review: * `flagged` - The reward has been flagged for and waiting manual review. * `blocked` - The reward was reviewed and blocked. * `released` - The reward was reviewed and released. ")
34
- reasons: Optional[List[StrictStr]] = Field(default=None, description="The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country` ")
34
+ reasons: Optional[List[StrictStr]] = Field(default=None, description="The array may contain multiple reasons, depending on which rule(s) flagged the reward for review. Reasons can be any of the following: * `Disallowed IP` * `Disallowed email` * `Disallowed country` * `Over reward amount limit` * `Over reward count limit` * `VPN detected` * `Apple Private Relay` * `Device related to multiple emails` * `Device or account related to multiple emails` * `IP on a Tremendous fraud list` * `Bank account on a Tremendous fraud list` * `Fingerprint on a Tremendous fraud list` * `Email on a Tremendous fraud list` * `Phone on a Tremendous fraud list` * `Device on a Tremendous fraud list` * `IP related to a blocked reward` * `Device related to a blocked reward` * `Bank account related to a blocked reward` * `Fingerprint related to a blocked reward` * `Email related to a blocked reward` * `Phone related to a blocked reward` * `Allowed IP` * `Allowed email` * `Allowed country` ")
35
35
  device_id: Optional[StrictStr] = Field(default=None, description="The device fingerprint, if known.")
36
36
  redemption_method: Optional[StrictStr] = Field(default=None, description="The product selected to claim the reward")
37
37
  redeemed_at: Optional[datetime] = Field(default=None, description="Date the reward was redeemed")
@@ -59,8 +59,8 @@ class FraudReviewListItem(BaseModel):
59
59
  return value
60
60
 
61
61
  for i in value:
62
- if i not in set(['Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country']):
63
- raise ValueError("each list item must be one of ('Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country')")
62
+ if i not in set(['Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Apple Private Relay', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country']):
63
+ raise ValueError("each list item must be one of ('Disallowed IP', 'Disallowed email', 'Disallowed country', 'Over reward amount limit', 'Over reward count limit', 'VPN detected', 'Apple Private Relay', 'Device related to multiple emails', 'Device or account related to multiple emails', 'IP on a Tremendous fraud list', 'Bank account on a Tremendous fraud list', 'Fingerprint on a Tremendous fraud list', 'Email on a Tremendous fraud list', 'Phone on a Tremendous fraud list', 'Device on a Tremendous fraud list', 'IP related to a blocked reward', 'Device related to a blocked reward', 'Bank account related to a blocked reward', 'Fingerprint related to a blocked reward', 'Email related to a blocked reward', 'Phone related to a blocked reward', 'Allowed IP', 'Allowed email', 'Allowed country')")
64
64
  return value
65
65
 
66
66
  @field_validator('redemption_method')
@@ -33,6 +33,7 @@ class FraudReviewReason(str, Enum):
33
33
  OVER_REWARD_AMOUNT_LIMIT = 'Over reward amount limit'
34
34
  OVER_REWARD_COUNT_LIMIT = 'Over reward count limit'
35
35
  VPN_DETECTED = 'VPN detected'
36
+ APPLE_PRIVATE_RELAY = 'Apple Private Relay'
36
37
  DEVICE_RELATED_TO_MULTIPLE_EMAILS = 'Device related to multiple emails'
37
38
  DEVICE_OR_ACCOUNT_RELATED_TO_MULTIPLE_EMAILS = 'Device or account related to multiple emails'
38
39
  IP_ON_A_TREMENDOUS_FRAUD_LIST = 'IP on a Tremendous fraud list'