pingram-python 1.0.28__tar.gz → 1.0.30__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 (319) hide show
  1. {pingram_python-1.0.28/generated/pingram_python.egg-info → pingram_python-1.0.30}/PKG-INFO +1 -1
  2. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/__init__.py +3 -1
  3. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/account_api.py +290 -0
  4. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api_client.py +1 -1
  5. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/configuration.py +1 -1
  6. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/__init__.py +1 -0
  7. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/account_get_response.py +20 -4
  8. pingram_python-1.0.30/generated/pingram/models/account_patch_request.py +87 -0
  9. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/billing_post_response_body.py +19 -3
  10. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ten_dlc_brand_admin_update_request.py +13 -13
  11. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ten_dlc_brand_create_request.py +14 -12
  12. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ten_dlc_brand_registration.py +13 -13
  13. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ten_dlc_brand_registration_details.py +13 -13
  14. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ten_dlc_brand_update_request.py +13 -13
  15. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ten_dlc_campaign_admin_update_request.py +20 -20
  16. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ten_dlc_campaign_registration.py +20 -20
  17. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ten_dlc_campaign_registration_details.py +20 -20
  18. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ten_dlc_campaign_update_request.py +20 -20
  19. {pingram_python-1.0.28 → pingram_python-1.0.30/generated/pingram_python.egg-info}/PKG-INFO +1 -1
  20. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram_python.egg-info/SOURCES.txt +1 -0
  21. {pingram_python-1.0.28 → pingram_python-1.0.30}/pyproject.toml +1 -1
  22. {pingram_python-1.0.28 → pingram_python-1.0.30}/LICENSE +0 -0
  23. {pingram_python-1.0.28 → pingram_python-1.0.30}/MANIFEST.in +0 -0
  24. {pingram_python-1.0.28 → pingram_python-1.0.30}/README.md +0 -0
  25. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/__init__.py +0 -0
  26. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/accounts_api.py +0 -0
  27. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/addresses_api.py +0 -0
  28. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/components_api.py +0 -0
  29. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/default_api.py +0 -0
  30. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/domains_api.py +0 -0
  31. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/editor_api.py +0 -0
  32. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/email_api.py +0 -0
  33. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/environments_api.py +0 -0
  34. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/health_api.py +0 -0
  35. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/insights_api.py +0 -0
  36. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/keys_api.py +0 -0
  37. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/logs_api.py +0 -0
  38. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/members_api.py +0 -0
  39. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/numbers_api.py +0 -0
  40. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/profile_api.py +0 -0
  41. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/registrations_api.py +0 -0
  42. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/sender_api.py +0 -0
  43. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/sms_api.py +0 -0
  44. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/templates_api.py +0 -0
  45. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/types_api.py +0 -0
  46. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/user_api.py +0 -0
  47. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/users_api.py +0 -0
  48. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/voice_api.py +0 -0
  49. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api/webhooks_api.py +0 -0
  50. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/api_response.py +0 -0
  51. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/client_wrapper.py +0 -0
  52. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/exceptions.py +0 -0
  53. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/accept_invite_request.py +0 -0
  54. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/accept_invite_response.py +0 -0
  55. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/account_addresses_response.py +0 -0
  56. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/account_addresses_response_addresses_inner.py +0 -0
  57. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/address_response.py +0 -0
  58. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/api_error_body.py +0 -0
  59. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/api_error_response.py +0 -0
  60. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/auto_join_get_response.py +0 -0
  61. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/auto_join_post_response.py +0 -0
  62. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/auto_join_request_body.py +0 -0
  63. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bee_token_v2.py +0 -0
  64. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/billing_post_request_body.py +0 -0
  65. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_request.py +0 -0
  66. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_response.py +0 -0
  67. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_response_agent.py +0 -0
  68. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_response_agent_spec.py +0 -0
  69. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_response_agent_spec_compliance.py +0 -0
  70. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_response_agent_spec_conversation.py +0 -0
  71. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_response_agent_spec_inbound.py +0 -0
  72. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_response_agent_spec_model.py +0 -0
  73. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_response_agent_spec_outbound.py +0 -0
  74. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_response_agent_spec_tools_inner.py +0 -0
  75. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/bind_number_response_agent_spec_variables_inner.py +0 -0
  76. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/brand_webhook_response.py +0 -0
  77. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/campaign_webhook_response.py +0 -0
  78. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/chained.py +0 -0
  79. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/change_email_request.py +0 -0
  80. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/change_phone_request.py +0 -0
  81. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/channels_enum.py +0 -0
  82. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/create_account_request.py +0 -0
  83. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/create_account_request_plan.py +0 -0
  84. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/create_account_response.py +0 -0
  85. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/create_address_request.py +0 -0
  86. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/create_key_request.py +0 -0
  87. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/create_key_response.py +0 -0
  88. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/create_personal_access_token_request.py +0 -0
  89. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/create_personal_access_token_response.py +0 -0
  90. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/create_voice_agent_request.py +0 -0
  91. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/create_voice_agent_response.py +0 -0
  92. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/custom.py +0 -0
  93. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/delete_account_request.py +0 -0
  94. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/delete_key_response.py +0 -0
  95. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/delete_user_response.py +0 -0
  96. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/delete_voice_agent_response.py +0 -0
  97. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/domain_dns_check.py +0 -0
  98. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/domain_dns_check_records_inner.py +0 -0
  99. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/dtmf.py +0 -0
  100. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/email_auth_token_post_request.py +0 -0
  101. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/email_component_patch_request.py +0 -0
  102. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/email_component_post_request.py +0 -0
  103. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/email_component_response.py +0 -0
  104. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/email_component_response_referenced_by_inner.py +0 -0
  105. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/environment.py +0 -0
  106. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/environment_patch_request.py +0 -0
  107. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/events_webhook_response.py +0 -0
  108. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/events_webhook_upsert_request.py +0 -0
  109. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/first_account_request.py +0 -0
  110. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/first_account_response.py +0 -0
  111. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_account_metadata_response.py +0 -0
  112. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_account_metadata_response_user_account_metadata.py +0 -0
  113. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_email_components_response_inner.py +0 -0
  114. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_environments_response_inner.py +0 -0
  115. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_inapp_notifications_response.py +0 -0
  116. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_inapp_notifications_response_notifications_inner.py +0 -0
  117. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options.py +0 -0
  118. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_instant.py +0 -0
  119. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_off.py +0 -0
  120. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_replies_inner.py +0 -0
  121. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_template.py +0 -0
  122. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_inapp_notifications_response_notifications_inner_template_any_of.py +0 -0
  123. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_keys_response.py +0 -0
  124. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_keys_response_keys_inner.py +0 -0
  125. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_logs_response.py +0 -0
  126. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_logs_response_messages_inner.py +0 -0
  127. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_logs_response_messages_inner_attachments_inner.py +0 -0
  128. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_logs_response_messages_inner_media_inner.py +0 -0
  129. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_members_response_inner.py +0 -0
  130. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_metrics_response_inner.py +0 -0
  131. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_metrics_response_inner_messages_inner.py +0 -0
  132. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_notifications_response_inner.py +0 -0
  133. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_notifications_response_inner_deduplication.py +0 -0
  134. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_notifications_response_inner_options.py +0 -0
  135. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_notifications_response_inner_options_email.py +0 -0
  136. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_notifications_response_inner_options_email_daily.py +0 -0
  137. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_notifications_response_inner_options_email_monthly.py +0 -0
  138. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_notifications_response_inner_options_email_weekly.py +0 -0
  139. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_notifications_response_inner_templates_inner.py +0 -0
  140. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_notifications_response_inner_throttling.py +0 -0
  141. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_senders_response_inner.py +0 -0
  142. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_senders_response_inner_verification_records.py +0 -0
  143. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_senders_response_inner_verification_records_dkim.py +0 -0
  144. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner.py +0 -0
  145. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of.py +0 -0
  146. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of1.py +0 -0
  147. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of1_instant.py +0 -0
  148. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of2.py +0 -0
  149. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of3.py +0 -0
  150. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of4.py +0 -0
  151. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of5.py +0 -0
  152. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of6.py +0 -0
  153. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of6_metadata.py +0 -0
  154. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of6_metadata_entities_inner.py +0 -0
  155. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_list_response_inner_any_of6_metadata_entities_inner_external_ref.py +0 -0
  156. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_templates_response.py +0 -0
  157. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_usage_history_query.py +0 -0
  158. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_usage_history_response.py +0 -0
  159. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_usage_history_response_items_inner.py +0 -0
  160. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_usage_history_response_items_inner_counts.py +0 -0
  161. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_usage_response.py +0 -0
  162. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_usage_response_costs.py +0 -0
  163. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_usage_response_counts.py +0 -0
  164. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response.py +0 -0
  165. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner.py +0 -0
  166. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_email_suppression_status.py +0 -0
  167. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_push_tokens_inner.py +0 -0
  168. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_push_tokens_inner_device.py +0 -0
  169. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_slack_token.py +0 -0
  170. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_slack_token_authed_user.py +0 -0
  171. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_slack_token_enterprise.py +0 -0
  172. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_slack_token_incoming_webhook.py +0 -0
  173. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_slack_token_response_metadata.py +0 -0
  174. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_web_push_tokens_inner.py +0 -0
  175. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub.py +0 -0
  176. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub_keys.py +0 -0
  177. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_voice_agent_response.py +0 -0
  178. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_voice_call_response.py +0 -0
  179. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_voice_call_response_call.py +0 -0
  180. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_voice_call_response_call_cost.py +0 -0
  181. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_voice_call_response_call_cost_lines_inner.py +0 -0
  182. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_voice_call_response_call_timeline_inner.py +0 -0
  183. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/get_voice_call_response_call_timeline_inner_latency.py +0 -0
  184. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/in_app_notification_patch_request.py +0 -0
  185. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/in_app_notification_unread_clear_request.py +0 -0
  186. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/inapp_unread_count_response.py +0 -0
  187. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/inbound_request_body.py +0 -0
  188. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/inbound_response_body.py +0 -0
  189. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/inbound_response_body_results_inner.py +0 -0
  190. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ingishts_post_request.py +0 -0
  191. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ingishts_post_request_label_options.py +0 -0
  192. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ingishts_post_request_metric_data_queries_inner.py +0 -0
  193. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat.py +0 -0
  194. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric.py +0 -0
  195. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric_dimensions_inner.py +0 -0
  196. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/intercom_webhook.py +0 -0
  197. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/intercom_webhook_data.py +0 -0
  198. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/intercom_webhook_data_item.py +0 -0
  199. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/intercom_webhook_data_item_any_of.py +0 -0
  200. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/intercom_webhook_data_item_any_of_contacts.py +0 -0
  201. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/intercom_webhook_data_item_any_of_contacts_contacts_inner.py +0 -0
  202. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/intercom_webhook_data_item_any_of_source.py +0 -0
  203. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/intercom_webhook_data_item_any_of_source_author.py +0 -0
  204. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/invite_post_response.py +0 -0
  205. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/knowledge.py +0 -0
  206. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/knowledge_documents_inner.py +0 -0
  207. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_accounts_response.py +0 -0
  208. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_accounts_response_accounts_inner.py +0 -0
  209. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_invoices_response.py +0 -0
  210. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_invoices_response_invoices_inner.py +0 -0
  211. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_personal_access_tokens_response.py +0 -0
  212. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_personal_access_tokens_response_tokens_inner.py +0 -0
  213. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_phone_numbers_response.py +0 -0
  214. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_phone_numbers_response_numbers_inner.py +0 -0
  215. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_released_phone_numbers_response.py +0 -0
  216. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_voice_agents_response.py +0 -0
  217. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_voice_calls_response.py +0 -0
  218. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/list_voice_calls_response_calls_inner.py +0 -0
  219. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/log_query_post_body.py +0 -0
  220. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/logs_bulk_request.py +0 -0
  221. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/logs_get_response.py +0 -0
  222. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/logs_get_response_logs_inner.py +0 -0
  223. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/logs_query_response.py +0 -0
  224. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/logs_query_result_response.py +0 -0
  225. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/logs_retention_response.py +0 -0
  226. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/logs_tail_response.py +0 -0
  227. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/mcp.py +0 -0
  228. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/member_invite_request.py +0 -0
  229. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/member_update_request.py +0 -0
  230. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/message_response.py +0 -0
  231. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/mfa_setup_request.py +0 -0
  232. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/mfa_setup_response.py +0 -0
  233. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/mfa_status_response.py +0 -0
  234. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/mfa_verify_request.py +0 -0
  235. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/notification.py +0 -0
  236. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/notification_create_request.py +0 -0
  237. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/notification_patch_request.py +0 -0
  238. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/notification_patch_request_deduplication.py +0 -0
  239. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/notification_patch_request_throttling.py +0 -0
  240. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/order_phone_number_request.py +0 -0
  241. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/order_phone_number_response.py +0 -0
  242. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/phone_verify_confirm_request.py +0 -0
  243. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/phone_verify_confirm_response.py +0 -0
  244. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/phone_verify_start_request.py +0 -0
  245. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/phone_verify_start_response.py +0 -0
  246. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/post_email_test_request.py +0 -0
  247. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/post_email_test_response.py +0 -0
  248. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/post_senders_request_body.py +0 -0
  249. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/post_user_request.py +0 -0
  250. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/release_phone_number_response.py +0 -0
  251. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/s2s.py +0 -0
  252. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/search_available_phone_numbers_response.py +0 -0
  253. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/search_available_phone_numbers_response_numbers_inner.py +0 -0
  254. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_email_api_response.py +0 -0
  255. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_email_api_response_any_of.py +0 -0
  256. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_email_api_response_any_of1.py +0 -0
  257. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_email_api_response_any_of1_error.py +0 -0
  258. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_email_request.py +0 -0
  259. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_email_request_attachments_inner.py +0 -0
  260. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_sms_request.py +0 -0
  261. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_sms_response.py +0 -0
  262. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_sms_response_any_of.py +0 -0
  263. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_sms_response_any_of1.py +0 -0
  264. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/send_sms_response_any_of1_error.py +0 -0
  265. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body.py +0 -0
  266. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_call.py +0 -0
  267. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_email.py +0 -0
  268. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_inapp.py +0 -0
  269. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_mobile_push.py +0 -0
  270. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_options.py +0 -0
  271. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_options_apn.py +0 -0
  272. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_options_email.py +0 -0
  273. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_options_email_attachments_inner.py +0 -0
  274. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_options_email_attachments_inner_any_of.py +0 -0
  275. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_options_fcm.py +0 -0
  276. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_options_fcm_android.py +0 -0
  277. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_options_push.py +0 -0
  278. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_slack.py +0 -0
  279. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_sms.py +0 -0
  280. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_sms_auto_reply.py +0 -0
  281. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_to.py +0 -0
  282. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_user.py +0 -0
  283. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_body_web_push.py +0 -0
  284. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/sender_post_response.py +0 -0
  285. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/set_default_template_request.py +0 -0
  286. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/slack_interactivity_response.py +0 -0
  287. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/success_response.py +0 -0
  288. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/supabase_configure_request.py +0 -0
  289. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/supabase_configure_response.py +0 -0
  290. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/supabase_o_auth_request.py +0 -0
  291. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/supabase_o_auth_response.py +0 -0
  292. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/supabase_projects_response.py +0 -0
  293. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/supabase_projects_response_projects_inner.py +0 -0
  294. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/supabase_status_response.py +0 -0
  295. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/template.py +0 -0
  296. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/template_patch_request.py +0 -0
  297. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/template_patch_request_batch.py +0 -0
  298. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/template_patch_request_instant.py +0 -0
  299. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/template_post_request.py +0 -0
  300. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/transfer.py +0 -0
  301. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/unbind_number_response.py +0 -0
  302. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/update_address_request.py +0 -0
  303. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/update_voice_agent_request.py +0 -0
  304. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/update_voice_agent_response.py +0 -0
  305. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/user.py +0 -0
  306. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/user_suppression_delete_response.py +0 -0
  307. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/voice_browser_call_request.py +0 -0
  308. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/voice_browser_call_response.py +0 -0
  309. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/voice_call_request.py +0 -0
  310. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/voice_call_response.py +0 -0
  311. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/webhook_event.py +0 -0
  312. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/models/webhook_response.py +0 -0
  313. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/py.typed +0 -0
  314. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/rest.py +0 -0
  315. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram/webhooks.py +0 -0
  316. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram_python.egg-info/dependency_links.txt +0 -0
  317. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram_python.egg-info/requires.txt +0 -0
  318. {pingram_python-1.0.28 → pingram_python-1.0.30}/generated/pingram_python.egg-info/top_level.txt +0 -0
  319. {pingram_python-1.0.28 → pingram_python-1.0.30}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pingram-python
3
- Version: 1.0.28
3
+ Version: 1.0.30
4
4
  Summary: Official Python SDK for Pingram - Send notifications via Email, SMS, Push, In-App, and more
5
5
  Author: Pingram
6
6
  License: MIT
@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "1.0.28"
17
+ __version__ = "1.0.30"
18
18
 
19
19
  # Define package exports
20
20
  __all__ = [
@@ -57,6 +57,7 @@ __all__ = [
57
57
  "AccountAddressesResponse",
58
58
  "AccountAddressesResponseAddressesInner",
59
59
  "AccountGetResponse",
60
+ "AccountPatchRequest",
60
61
  "AddressResponse",
61
62
  "ApiErrorBody",
62
63
  "ApiErrorResponse",
@@ -369,6 +370,7 @@ from pingram.models.accept_invite_response import AcceptInviteResponse as Accept
369
370
  from pingram.models.account_addresses_response import AccountAddressesResponse as AccountAddressesResponse
370
371
  from pingram.models.account_addresses_response_addresses_inner import AccountAddressesResponseAddressesInner as AccountAddressesResponseAddressesInner
371
372
  from pingram.models.account_get_response import AccountGetResponse as AccountGetResponse
373
+ from pingram.models.account_patch_request import AccountPatchRequest as AccountPatchRequest
372
374
  from pingram.models.address_response import AddressResponse as AddressResponse
373
375
  from pingram.models.api_error_body import ApiErrorBody as ApiErrorBody
374
376
  from pingram.models.api_error_response import ApiErrorResponse as ApiErrorResponse
@@ -20,6 +20,7 @@ from pydantic import Field, StrictFloat, StrictInt, StrictStr
20
20
  from typing import Optional, Union
21
21
  from typing_extensions import Annotated
22
22
  from pingram.models.account_get_response import AccountGetResponse
23
+ from pingram.models.account_patch_request import AccountPatchRequest
23
24
  from pingram.models.billing_post_request_body import BillingPostRequestBody
24
25
  from pingram.models.billing_post_response_body import BillingPostResponseBody
25
26
  from pingram.models.get_usage_history_response import GetUsageHistoryResponse
@@ -2861,3 +2862,292 @@ class AccountApi:
2861
2862
  )
2862
2863
 
2863
2864
 
2865
+
2866
+
2867
+ @validate_call
2868
+ async def account_update_account_settings(
2869
+ self,
2870
+ account_patch_request: AccountPatchRequest,
2871
+ _request_timeout: Union[
2872
+ None,
2873
+ Annotated[StrictFloat, Field(gt=0)],
2874
+ Tuple[
2875
+ Annotated[StrictFloat, Field(gt=0)],
2876
+ Annotated[StrictFloat, Field(gt=0)]
2877
+ ]
2878
+ ] = None,
2879
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2880
+ _content_type: Optional[StrictStr] = None,
2881
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2882
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2883
+ ) -> AccountGetResponse:
2884
+ """Update account billing preferences. Only account owners can change these settings.
2885
+
2886
+
2887
+ :param account_patch_request: (required)
2888
+ :type account_patch_request: AccountPatchRequest
2889
+ :param _request_timeout: timeout setting for this request. If one
2890
+ number provided, it will be total request
2891
+ timeout. It can also be a pair (tuple) of
2892
+ (connection, read) timeouts.
2893
+ :type _request_timeout: int, tuple(int, int), optional
2894
+ :param _request_auth: set to override the auth_settings for an a single
2895
+ request; this effectively ignores the
2896
+ authentication in the spec for a single request.
2897
+ :type _request_auth: dict, optional
2898
+ :param _content_type: force content-type for the request.
2899
+ :type _content_type: str, Optional
2900
+ :param _headers: set to override the headers for a single
2901
+ request; this effectively ignores the headers
2902
+ in the spec for a single request.
2903
+ :type _headers: dict, optional
2904
+ :param _host_index: set to override the host_index for a single
2905
+ request; this effectively ignores the host_index
2906
+ in the spec for a single request.
2907
+ :type _host_index: int, optional
2908
+ :return: Returns the result object.
2909
+ """ # noqa: E501
2910
+
2911
+ _param = self._account_update_account_settings_serialize(
2912
+ account_patch_request=account_patch_request,
2913
+ _request_auth=_request_auth,
2914
+ _content_type=_content_type,
2915
+ _headers=_headers,
2916
+ _host_index=_host_index
2917
+ )
2918
+
2919
+ _response_types_map: Dict[str, Optional[str]] = {
2920
+ '200': "AccountGetResponse",
2921
+ '400': "ApiErrorResponse",
2922
+ '401': None,
2923
+ '402': "ApiErrorResponse",
2924
+ '500': None,
2925
+ '502': "ApiErrorResponse",
2926
+ }
2927
+ response_data = await self.api_client.call_api(
2928
+ *_param,
2929
+ _request_timeout=_request_timeout
2930
+ )
2931
+ await response_data.read()
2932
+ return self.api_client.response_deserialize(
2933
+ response_data=response_data,
2934
+ response_types_map=_response_types_map,
2935
+ ).data
2936
+
2937
+
2938
+ @validate_call
2939
+ async def account_update_account_settings_with_http_info(
2940
+ self,
2941
+ account_patch_request: AccountPatchRequest,
2942
+ _request_timeout: Union[
2943
+ None,
2944
+ Annotated[StrictFloat, Field(gt=0)],
2945
+ Tuple[
2946
+ Annotated[StrictFloat, Field(gt=0)],
2947
+ Annotated[StrictFloat, Field(gt=0)]
2948
+ ]
2949
+ ] = None,
2950
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2951
+ _content_type: Optional[StrictStr] = None,
2952
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2953
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2954
+ ) -> ApiResponse[AccountGetResponse]:
2955
+ """Update account billing preferences. Only account owners can change these settings.
2956
+
2957
+
2958
+ :param account_patch_request: (required)
2959
+ :type account_patch_request: AccountPatchRequest
2960
+ :param _request_timeout: timeout setting for this request. If one
2961
+ number provided, it will be total request
2962
+ timeout. It can also be a pair (tuple) of
2963
+ (connection, read) timeouts.
2964
+ :type _request_timeout: int, tuple(int, int), optional
2965
+ :param _request_auth: set to override the auth_settings for an a single
2966
+ request; this effectively ignores the
2967
+ authentication in the spec for a single request.
2968
+ :type _request_auth: dict, optional
2969
+ :param _content_type: force content-type for the request.
2970
+ :type _content_type: str, Optional
2971
+ :param _headers: set to override the headers for a single
2972
+ request; this effectively ignores the headers
2973
+ in the spec for a single request.
2974
+ :type _headers: dict, optional
2975
+ :param _host_index: set to override the host_index for a single
2976
+ request; this effectively ignores the host_index
2977
+ in the spec for a single request.
2978
+ :type _host_index: int, optional
2979
+ :return: Returns the result object.
2980
+ """ # noqa: E501
2981
+
2982
+ _param = self._account_update_account_settings_serialize(
2983
+ account_patch_request=account_patch_request,
2984
+ _request_auth=_request_auth,
2985
+ _content_type=_content_type,
2986
+ _headers=_headers,
2987
+ _host_index=_host_index
2988
+ )
2989
+
2990
+ _response_types_map: Dict[str, Optional[str]] = {
2991
+ '200': "AccountGetResponse",
2992
+ '400': "ApiErrorResponse",
2993
+ '401': None,
2994
+ '402': "ApiErrorResponse",
2995
+ '500': None,
2996
+ '502': "ApiErrorResponse",
2997
+ }
2998
+ response_data = await self.api_client.call_api(
2999
+ *_param,
3000
+ _request_timeout=_request_timeout
3001
+ )
3002
+ await response_data.read()
3003
+ return self.api_client.response_deserialize(
3004
+ response_data=response_data,
3005
+ response_types_map=_response_types_map,
3006
+ )
3007
+
3008
+
3009
+ @validate_call
3010
+ async def account_update_account_settings_without_preload_content(
3011
+ self,
3012
+ account_patch_request: AccountPatchRequest,
3013
+ _request_timeout: Union[
3014
+ None,
3015
+ Annotated[StrictFloat, Field(gt=0)],
3016
+ Tuple[
3017
+ Annotated[StrictFloat, Field(gt=0)],
3018
+ Annotated[StrictFloat, Field(gt=0)]
3019
+ ]
3020
+ ] = None,
3021
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3022
+ _content_type: Optional[StrictStr] = None,
3023
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3024
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3025
+ ) -> RESTResponseType:
3026
+ """Update account billing preferences. Only account owners can change these settings.
3027
+
3028
+
3029
+ :param account_patch_request: (required)
3030
+ :type account_patch_request: AccountPatchRequest
3031
+ :param _request_timeout: timeout setting for this request. If one
3032
+ number provided, it will be total request
3033
+ timeout. It can also be a pair (tuple) of
3034
+ (connection, read) timeouts.
3035
+ :type _request_timeout: int, tuple(int, int), optional
3036
+ :param _request_auth: set to override the auth_settings for an a single
3037
+ request; this effectively ignores the
3038
+ authentication in the spec for a single request.
3039
+ :type _request_auth: dict, optional
3040
+ :param _content_type: force content-type for the request.
3041
+ :type _content_type: str, Optional
3042
+ :param _headers: set to override the headers for a single
3043
+ request; this effectively ignores the headers
3044
+ in the spec for a single request.
3045
+ :type _headers: dict, optional
3046
+ :param _host_index: set to override the host_index for a single
3047
+ request; this effectively ignores the host_index
3048
+ in the spec for a single request.
3049
+ :type _host_index: int, optional
3050
+ :return: Returns the result object.
3051
+ """ # noqa: E501
3052
+
3053
+ _param = self._account_update_account_settings_serialize(
3054
+ account_patch_request=account_patch_request,
3055
+ _request_auth=_request_auth,
3056
+ _content_type=_content_type,
3057
+ _headers=_headers,
3058
+ _host_index=_host_index
3059
+ )
3060
+
3061
+ _response_types_map: Dict[str, Optional[str]] = {
3062
+ '200': "AccountGetResponse",
3063
+ '400': "ApiErrorResponse",
3064
+ '401': None,
3065
+ '402': "ApiErrorResponse",
3066
+ '500': None,
3067
+ '502': "ApiErrorResponse",
3068
+ }
3069
+ response_data = await self.api_client.call_api(
3070
+ *_param,
3071
+ _request_timeout=_request_timeout
3072
+ )
3073
+ return response_data.response
3074
+
3075
+
3076
+ def _account_update_account_settings_serialize(
3077
+ self,
3078
+ account_patch_request,
3079
+ _request_auth,
3080
+ _content_type,
3081
+ _headers,
3082
+ _host_index,
3083
+ ) -> RequestSerialized:
3084
+
3085
+ _host = None
3086
+
3087
+ _collection_formats: Dict[str, str] = {
3088
+ }
3089
+
3090
+ _path_params: Dict[str, str] = {}
3091
+ _query_params: List[Tuple[str, str]] = []
3092
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3093
+ _form_params: List[Tuple[str, str]] = []
3094
+ _files: Dict[
3095
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3096
+ ] = {}
3097
+ _body_params: Optional[bytes] = None
3098
+
3099
+ # process the path parameters
3100
+ # process the query parameters
3101
+ # process the header parameters
3102
+ # process the form parameters
3103
+ # process the body parameter
3104
+ if account_patch_request is not None:
3105
+ _body_params = account_patch_request
3106
+
3107
+
3108
+ # set the HTTP header `Accept`
3109
+ if 'Accept' not in _header_params:
3110
+ _header_params['Accept'] = self.api_client.select_header_accept(
3111
+ [
3112
+ 'application/json'
3113
+ ]
3114
+ )
3115
+
3116
+ # set the HTTP header `Content-Type`
3117
+ if _content_type:
3118
+ _header_params['Content-Type'] = _content_type
3119
+ else:
3120
+ _default_content_type = (
3121
+ self.api_client.select_header_content_type(
3122
+ [
3123
+ 'application/json'
3124
+ ]
3125
+ )
3126
+ )
3127
+ if _default_content_type is not None:
3128
+ _header_params['Content-Type'] = _default_content_type
3129
+
3130
+ # authentication setting
3131
+ _auth_settings: List[str] = [
3132
+ 'endUserHashed',
3133
+ 'endUser',
3134
+ 'apiKey',
3135
+ 'clientCredentials'
3136
+ ]
3137
+
3138
+ return self.api_client.param_serialize(
3139
+ method='PATCH',
3140
+ resource_path='/account',
3141
+ path_params=_path_params,
3142
+ query_params=_query_params,
3143
+ header_params=_header_params,
3144
+ body=_body_params,
3145
+ post_params=_form_params,
3146
+ files=_files,
3147
+ auth_settings=_auth_settings,
3148
+ collection_formats=_collection_formats,
3149
+ _host=_host,
3150
+ _request_auth=_request_auth
3151
+ )
3152
+
3153
+
@@ -91,7 +91,7 @@ class ApiClient:
91
91
  self.default_headers[header_name] = header_value
92
92
  self.cookie = cookie
93
93
  # Set default User-Agent.
94
- self.user_agent = 'pingram-python/1.0.28'
94
+ self.user_agent = 'pingram-python/1.0.30'
95
95
  self.client_side_validation = configuration.client_side_validation
96
96
 
97
97
  async def __aenter__(self):
@@ -551,7 +551,7 @@ conf = pingram.Configuration(
551
551
  "OS: {env}\n"\
552
552
  "Python Version: {pyversion}\n"\
553
553
  "Version of the API: 1.0.0\n"\
554
- "SDK Package Version: 1.0.28".\
554
+ "SDK Package Version: 1.0.30".\
555
555
  format(env=sys.platform, pyversion=sys.version)
556
556
 
557
557
  def get_host_settings(self) -> List[HostSetting]:
@@ -18,6 +18,7 @@ from pingram.models.accept_invite_response import AcceptInviteResponse
18
18
  from pingram.models.account_addresses_response import AccountAddressesResponse
19
19
  from pingram.models.account_addresses_response_addresses_inner import AccountAddressesResponseAddressesInner
20
20
  from pingram.models.account_get_response import AccountGetResponse
21
+ from pingram.models.account_patch_request import AccountPatchRequest
21
22
  from pingram.models.address_response import AddressResponse
22
23
  from pingram.models.api_error_body import ApiErrorBody
23
24
  from pingram.models.api_error_response import ApiErrorResponse
@@ -36,12 +36,15 @@ class AccountGetResponse(BaseModel):
36
36
  call_cap: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="callCap")
37
37
  billing_version: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="When omitted, defaults to LATEST_BILLING_VERSION.", alias="billingVersion")
38
38
  anniversary_date: StrictStr = Field(description="ISO date (YYYY-MM-DD) when the billing cycle resets.", alias="anniversaryDate")
39
- allow_overage: StrictBool = Field(alias="allowOverage")
40
39
  created_at: StrictStr = Field(alias="createdAt")
41
40
  updated_at: StrictStr = Field(alias="updatedAt")
42
41
  status: Optional[StrictStr] = None
43
42
  subscription_status: Optional[StrictStr] = Field(default=None, alias="subscriptionStatus")
44
- __properties: ClassVar[List[str]] = ["accountId", "accountType", "creator", "name", "messagesCap", "costCap", "smsCap", "callCap", "billingVersion", "anniversaryDate", "allowOverage", "createdAt", "updatedAt", "status", "subscriptionStatus"]
43
+ pending_downgrade_effective_date: Optional[StrictStr] = Field(default=None, alias="pendingDowngradeEffectiveDate")
44
+ pending_downgrade_cost_cap: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="pendingDowngradeCostCap")
45
+ pending_downgrade_account_type: Optional[StrictStr] = Field(default=None, alias="pendingDowngradeAccountType")
46
+ auto_upgrade: Optional[StrictBool] = Field(default=None, description="When true, paid accounts move up one budget tier at 90% of the monthly budget.", alias="autoUpgrade")
47
+ __properties: ClassVar[List[str]] = ["accountId", "accountType", "creator", "name", "messagesCap", "costCap", "smsCap", "callCap", "billingVersion", "anniversaryDate", "createdAt", "updatedAt", "status", "subscriptionStatus", "pendingDowngradeEffectiveDate", "pendingDowngradeCostCap", "pendingDowngradeAccountType", "autoUpgrade"]
45
48
 
46
49
  @field_validator('account_type')
47
50
  def account_type_validate_enum(cls, value):
@@ -80,6 +83,16 @@ class AccountGetResponse(BaseModel):
80
83
  raise ValueError("must be one of enum values ('active', 'canceled', 'past_due', 'paused')")
81
84
  return value
82
85
 
86
+ @field_validator('pending_downgrade_account_type')
87
+ def pending_downgrade_account_type_validate_enum(cls, value):
88
+ """Validates the enum"""
89
+ if value is None:
90
+ return value
91
+
92
+ if value not in set(['free']):
93
+ raise ValueError("must be one of enum values ('free')")
94
+ return value
95
+
83
96
  model_config = ConfigDict(
84
97
  populate_by_name=True,
85
98
  validate_assignment=True,
@@ -146,11 +159,14 @@ class AccountGetResponse(BaseModel):
146
159
  "callCap": obj.get("callCap"),
147
160
  "billingVersion": obj.get("billingVersion"),
148
161
  "anniversaryDate": obj.get("anniversaryDate"),
149
- "allowOverage": obj.get("allowOverage"),
150
162
  "createdAt": obj.get("createdAt"),
151
163
  "updatedAt": obj.get("updatedAt"),
152
164
  "status": obj.get("status"),
153
- "subscriptionStatus": obj.get("subscriptionStatus")
165
+ "subscriptionStatus": obj.get("subscriptionStatus"),
166
+ "pendingDowngradeEffectiveDate": obj.get("pendingDowngradeEffectiveDate"),
167
+ "pendingDowngradeCostCap": obj.get("pendingDowngradeCostCap"),
168
+ "pendingDowngradeAccountType": obj.get("pendingDowngradeAccountType"),
169
+ "autoUpgrade": obj.get("autoUpgrade")
154
170
  })
155
171
  return _obj
156
172
 
@@ -0,0 +1,87 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pingram
5
+
6
+ Internal API for notification delivery and management
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class AccountPatchRequest(BaseModel):
26
+ """
27
+ PATCH /account request: billing preferences.
28
+ """ # noqa: E501
29
+ auto_upgrade: Optional[StrictBool] = Field(default=None, description="When true, automatically move up one budget tier at 90% of the monthly budget.", alias="autoUpgrade")
30
+ __properties: ClassVar[List[str]] = ["autoUpgrade"]
31
+
32
+ model_config = ConfigDict(
33
+ populate_by_name=True,
34
+ validate_assignment=True,
35
+ protected_namespaces=(),
36
+ )
37
+
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.model_dump(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
46
+ return json.dumps(self.to_dict())
47
+
48
+ @classmethod
49
+ def from_json(cls, json_str: str) -> Optional[Self]:
50
+ """Create an instance of AccountPatchRequest from a JSON string"""
51
+ return cls.from_dict(json.loads(json_str))
52
+
53
+ def to_dict(self) -> Dict[str, Any]:
54
+ """Return the dictionary representation of the model using alias.
55
+
56
+ This has the following differences from calling pydantic's
57
+ `self.model_dump(by_alias=True)`:
58
+
59
+ * `None` is only added to the output dict for nullable fields that
60
+ were set at model initialization. Other fields with value `None`
61
+ are ignored.
62
+ """
63
+ excluded_fields: Set[str] = set([
64
+ ])
65
+
66
+ _dict = self.model_dump(
67
+ by_alias=True,
68
+ exclude=excluded_fields,
69
+ exclude_none=True,
70
+ )
71
+ return _dict
72
+
73
+ @classmethod
74
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
75
+ """Create an instance of AccountPatchRequest from a dict"""
76
+ if obj is None:
77
+ return None
78
+
79
+ if not isinstance(obj, dict):
80
+ return cls.model_validate(obj)
81
+
82
+ _obj = cls.model_validate({
83
+ "autoUpgrade": obj.get("autoUpgrade")
84
+ })
85
+ return _obj
86
+
87
+
@@ -36,14 +36,17 @@ class BillingPostResponseBody(BaseModel):
36
36
  call_cap: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="callCap")
37
37
  billing_version: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="When omitted, defaults to LATEST_BILLING_VERSION.", alias="billingVersion")
38
38
  anniversary_date: StrictStr = Field(description="ISO date (YYYY-MM-DD) when the billing cycle resets.", alias="anniversaryDate")
39
- allow_overage: StrictBool = Field(alias="allowOverage")
40
39
  created_at: StrictStr = Field(alias="createdAt")
41
40
  updated_at: StrictStr = Field(alias="updatedAt")
42
41
  status: Optional[StrictStr] = None
43
42
  subscription_status: Optional[StrictStr] = Field(default=None, alias="subscriptionStatus")
43
+ pending_downgrade_effective_date: Optional[StrictStr] = Field(default=None, alias="pendingDowngradeEffectiveDate")
44
+ pending_downgrade_cost_cap: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="pendingDowngradeCostCap")
45
+ pending_downgrade_account_type: Optional[StrictStr] = Field(default=None, alias="pendingDowngradeAccountType")
46
+ auto_upgrade: Optional[StrictBool] = Field(default=None, description="When true, paid accounts move up one budget tier at 90% of the monthly budget.", alias="autoUpgrade")
44
47
  session_id: Optional[StrictStr] = Field(default=None, alias="sessionId")
45
48
  url: Optional[StrictStr] = None
46
- __properties: ClassVar[List[str]] = ["accountId", "accountType", "creator", "name", "messagesCap", "costCap", "smsCap", "callCap", "billingVersion", "anniversaryDate", "allowOverage", "createdAt", "updatedAt", "status", "subscriptionStatus", "sessionId", "url"]
49
+ __properties: ClassVar[List[str]] = ["accountId", "accountType", "creator", "name", "messagesCap", "costCap", "smsCap", "callCap", "billingVersion", "anniversaryDate", "createdAt", "updatedAt", "status", "subscriptionStatus", "pendingDowngradeEffectiveDate", "pendingDowngradeCostCap", "pendingDowngradeAccountType", "autoUpgrade", "sessionId", "url"]
47
50
 
48
51
  @field_validator('account_type')
49
52
  def account_type_validate_enum(cls, value):
@@ -82,6 +85,16 @@ class BillingPostResponseBody(BaseModel):
82
85
  raise ValueError("must be one of enum values ('active', 'canceled', 'past_due', 'paused')")
83
86
  return value
84
87
 
88
+ @field_validator('pending_downgrade_account_type')
89
+ def pending_downgrade_account_type_validate_enum(cls, value):
90
+ """Validates the enum"""
91
+ if value is None:
92
+ return value
93
+
94
+ if value not in set(['free']):
95
+ raise ValueError("must be one of enum values ('free')")
96
+ return value
97
+
85
98
  model_config = ConfigDict(
86
99
  populate_by_name=True,
87
100
  validate_assignment=True,
@@ -148,11 +161,14 @@ class BillingPostResponseBody(BaseModel):
148
161
  "callCap": obj.get("callCap"),
149
162
  "billingVersion": obj.get("billingVersion"),
150
163
  "anniversaryDate": obj.get("anniversaryDate"),
151
- "allowOverage": obj.get("allowOverage"),
152
164
  "createdAt": obj.get("createdAt"),
153
165
  "updatedAt": obj.get("updatedAt"),
154
166
  "status": obj.get("status"),
155
167
  "subscriptionStatus": obj.get("subscriptionStatus"),
168
+ "pendingDowngradeEffectiveDate": obj.get("pendingDowngradeEffectiveDate"),
169
+ "pendingDowngradeCostCap": obj.get("pendingDowngradeCostCap"),
170
+ "pendingDowngradeAccountType": obj.get("pendingDowngradeAccountType"),
171
+ "autoUpgrade": obj.get("autoUpgrade"),
156
172
  "sessionId": obj.get("sessionId"),
157
173
  "url": obj.get("url")
158
174
  })
@@ -28,19 +28,19 @@ class TenDlcBrandAdminUpdateRequest(BaseModel):
28
28
  """ # noqa: E501
29
29
  scenario_id: Optional[StrictStr] = Field(default=None, description="Who the 10DLC brand is registered for. - own_brand: personal or company project - client_brand: agency or contractor", alias="scenarioId")
30
30
  business_type: Optional[StrictStr] = Field(default=None, description="Legal entity type for a 10DLC brand. - PRIVATE_PROFIT: private for-profit (LLC, corp, etc.) - SOLE_PROPRIETOR: sole proprietorship - PUBLIC_PROFIT: publicly traded for-profit - NON_PROFIT: non-profit - GOVERNMENT: government", alias="businessType")
31
- legal_name: Optional[StrictStr] = Field(default=None, alias="legalName")
32
- display_name: Optional[StrictStr] = Field(default=None, description="Brand display name (marketing/DBA); defaults to legalName when omitted on legalName-only updates.", alias="displayName")
33
- first_name: Optional[StrictStr] = Field(default=None, alias="firstName")
34
- last_name: Optional[StrictStr] = Field(default=None, alias="lastName")
35
- tax_id: Optional[StrictStr] = Field(default=None, description="For US companies (country US): 9-digit EIN (Employer Identification Number). For Canada (country CA): 9-digit BN (Business Number). For other countries: national business tax identifier.", alias="taxId")
36
- website: Optional[StrictStr] = None
37
- country: Optional[StrictStr] = None
38
- street: Optional[StrictStr] = None
39
- city: Optional[StrictStr] = None
40
- state: Optional[StrictStr] = None
41
- postal_code: Optional[StrictStr] = Field(default=None, alias="postalCode")
42
- compliance_contact_email: Optional[StrictStr] = Field(default=None, alias="complianceContactEmail")
43
- compliance_contact_phone: Optional[StrictStr] = Field(default=None, alias="complianceContactPhone")
31
+ legal_name: Optional[StrictStr] = Field(default=None, description="Official registered legal business name. For SOLE_PROPRIETOR, optional DBA or trade name (defaults to firstName and lastName).", alias="legalName")
32
+ display_name: Optional[StrictStr] = Field(default=None, description="Public brand name shown to recipients and carriers. Use the name customers recognize (your DBA or trade name). For SOLE_PROPRIETOR, this is the brand you send as — not the individual's legal name. Omit to keep the existing value. If you change legalName and omit displayName, displayName is reset to the new legalName.", alias="displayName")
33
+ first_name: Optional[StrictStr] = Field(default=None, description="Legal first name of the sole proprietor. Required when businessType is SOLE_PROPRIETOR.", alias="firstName")
34
+ last_name: Optional[StrictStr] = Field(default=None, description="Legal last name of the sole proprietor. Required when businessType is SOLE_PROPRIETOR.", alias="lastName")
35
+ tax_id: Optional[StrictStr] = Field(default=None, description="For US companies (country US): 9-digit EIN (Employer Identification Number). For Canada (country CA): 9-digit BN (Business Number). For other countries: national business tax identifier. Required except when businessType is SOLE_PROPRIETOR.", alias="taxId")
36
+ website: Optional[StrictStr] = Field(default=None, description="Public website for the brand. Include a scheme (https://) or a domain; https:// is prepended when omitted. Carriers expect a working site with privacy policy and terms.")
37
+ country: Optional[StrictStr] = Field(default=None, description="ISO 3166-1 alpha-2 country of incorporation (for example US or CA).")
38
+ street: Optional[StrictStr] = Field(default=None, description="Street address that matches official tax registration.")
39
+ city: Optional[StrictStr] = Field(default=None, description="City that matches official tax registration.")
40
+ state: Optional[StrictStr] = Field(default=None, description="State (US) or province (CA) that matches official tax registration.")
41
+ postal_code: Optional[StrictStr] = Field(default=None, description="ZIP code (US) or postal code (CA) that matches official tax registration.", alias="postalCode")
42
+ compliance_contact_email: Optional[StrictStr] = Field(default=None, description="Email for the 10DLC compliance contact. Used for carrier and registration follow-up.", alias="complianceContactEmail")
43
+ compliance_contact_phone: Optional[StrictStr] = Field(default=None, description="Phone number for the 10DLC compliance contact. E.164 preferred; national numbers are normalized using country.", alias="complianceContactPhone")
44
44
  vertical: Optional[StrictStr] = Field(default=None, description="Industry vertical required before Pingram submits the brand to carriers.")
45
45
  entity_type: Optional[StrictStr] = Field(default=None, description="Legacy only when businessType is Other.", alias="entityType")
46
46
  brand_status: Optional[StrictStr] = Field(default=None, description="Pingram-side 10DLC registration workflow status (brand or campaign). - not_started: no customer submission yet - pending_review: customer submitted; Pingram has not submitted to carriers - in_progress: submitted for carrier review - approved | rejected | info_needed: review outcome", alias="brandStatus")
@@ -28,19 +28,20 @@ class TenDlcBrandCreateRequest(BaseModel):
28
28
  """ # noqa: E501
29
29
  scenario_id: StrictStr = Field(description="Who the 10DLC brand is registered for. - own_brand: personal or company project - client_brand: agency or contractor", alias="scenarioId")
30
30
  business_type: StrictStr = Field(description="Legal entity type for a 10DLC brand. - PRIVATE_PROFIT: private for-profit (LLC, corp, etc.) - SOLE_PROPRIETOR: sole proprietorship - PUBLIC_PROFIT: publicly traded for-profit - NON_PROFIT: non-profit - GOVERNMENT: government", alias="businessType")
31
- legal_name: StrictStr = Field(alias="legalName")
32
- first_name: Optional[StrictStr] = Field(default=None, description="Required when businessType is SOLE_PROPRIETOR.", alias="firstName")
33
- last_name: Optional[StrictStr] = Field(default=None, description="Required when businessType is SOLE_PROPRIETOR.", alias="lastName")
31
+ legal_name: Optional[StrictStr] = Field(default=None, description="Official registered legal business name. For SOLE_PROPRIETOR, optional DBA or trade name (defaults to firstName and lastName).", alias="legalName")
32
+ display_name: StrictStr = Field(description="Public brand name shown to recipients and carriers. Use the name customers recognize (your DBA or trade name). For companies with no DBA, use the same value as legalName. For SOLE_PROPRIETOR, this is the brand you send as — not the individual's legal name (set firstName and lastName for that). If the sole proprietor has no DBA, use first and last name.", alias="displayName")
33
+ first_name: Optional[StrictStr] = Field(default=None, description="Legal first name of the sole proprietor. Required when businessType is SOLE_PROPRIETOR.", alias="firstName")
34
+ last_name: Optional[StrictStr] = Field(default=None, description="Legal last name of the sole proprietor. Required when businessType is SOLE_PROPRIETOR.", alias="lastName")
34
35
  tax_id: Optional[StrictStr] = Field(default=None, description="For US companies (country US): 9-digit EIN (Employer Identification Number). For Canada (country CA): 9-digit BN (Business Number). For other countries: national business tax identifier. Required except when businessType is SOLE_PROPRIETOR.", alias="taxId")
35
- website: StrictStr
36
- country: StrictStr
37
- street: Optional[StrictStr] = None
38
- city: Optional[StrictStr] = None
39
- state: Optional[StrictStr] = None
40
- postal_code: Optional[StrictStr] = Field(default=None, alias="postalCode")
41
- compliance_contact_email: StrictStr = Field(alias="complianceContactEmail")
42
- compliance_contact_phone: StrictStr = Field(alias="complianceContactPhone")
43
- __properties: ClassVar[List[str]] = ["scenarioId", "businessType", "legalName", "firstName", "lastName", "taxId", "website", "country", "street", "city", "state", "postalCode", "complianceContactEmail", "complianceContactPhone"]
36
+ website: StrictStr = Field(description="Public website for the brand. Include a scheme (https://) or a domain; https:// is prepended when omitted. Carriers expect a working site with privacy policy and terms.")
37
+ country: StrictStr = Field(description="ISO 3166-1 alpha-2 country of incorporation (for example US or CA).")
38
+ street: StrictStr = Field(description="Street address that matches official tax registration.")
39
+ city: StrictStr = Field(description="City that matches official tax registration.")
40
+ state: StrictStr = Field(description="State (US) or province (CA) that matches official tax registration.")
41
+ postal_code: StrictStr = Field(description="ZIP code (US) or postal code (CA) that matches official tax registration.", alias="postalCode")
42
+ compliance_contact_email: StrictStr = Field(description="Email for the 10DLC compliance contact. Used for carrier and registration follow-up.", alias="complianceContactEmail")
43
+ compliance_contact_phone: StrictStr = Field(description="Phone number for the 10DLC compliance contact. E.164 preferred; national numbers are normalized using country.", alias="complianceContactPhone")
44
+ __properties: ClassVar[List[str]] = ["scenarioId", "businessType", "legalName", "displayName", "firstName", "lastName", "taxId", "website", "country", "street", "city", "state", "postalCode", "complianceContactEmail", "complianceContactPhone"]
44
45
 
45
46
  @field_validator('scenario_id')
46
47
  def scenario_id_validate_enum(cls, value):
@@ -110,6 +111,7 @@ class TenDlcBrandCreateRequest(BaseModel):
110
111
  "scenarioId": obj.get("scenarioId"),
111
112
  "businessType": obj.get("businessType"),
112
113
  "legalName": obj.get("legalName"),
114
+ "displayName": obj.get("displayName"),
113
115
  "firstName": obj.get("firstName"),
114
116
  "lastName": obj.get("lastName"),
115
117
  "taxId": obj.get("taxId"),