linq-python 0.32.0__tar.gz → 0.33.1__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 (266) hide show
  1. linq_python-0.33.1/.release-please-manifest.json +3 -0
  2. {linq_python-0.32.0 → linq_python-0.33.1}/CHANGELOG.md +14 -0
  3. {linq_python-0.32.0 → linq_python-0.33.1}/PKG-INFO +3 -1
  4. {linq_python-0.32.0 → linq_python-0.33.1}/api.md +30 -0
  5. {linq_python-0.32.0 → linq_python-0.33.1}/pyproject.toml +2 -1
  6. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/__init__.py +2 -0
  7. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_client.py +13 -0
  8. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_exceptions.py +4 -0
  9. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_version.py +1 -1
  10. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/__init__.py +3 -0
  11. linq_python-0.33.1/src/linq/resources/webhooks.py +69 -0
  12. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/__init__.py +49 -0
  13. linq_python-0.33.1/src/linq/types/chat_background_update_failed_webhook_event.py +71 -0
  14. linq_python-0.33.1/src/linq/types/chat_background_updated_webhook_event.py +101 -0
  15. linq_python-0.33.1/src/linq/types/chat_created_webhook_event.py +148 -0
  16. linq_python-0.33.1/src/linq/types/chat_group_icon_update_failed_webhook_event.py +71 -0
  17. linq_python-0.33.1/src/linq/types/chat_group_icon_updated_webhook_event.py +66 -0
  18. linq_python-0.33.1/src/linq/types/chat_group_name_update_failed_webhook_event.py +71 -0
  19. linq_python-0.33.1/src/linq/types/chat_group_name_updated_webhook_event.py +66 -0
  20. linq_python-0.33.1/src/linq/types/chat_typing_indicator_started_webhook_event.py +52 -0
  21. linq_python-0.33.1/src/linq/types/chat_typing_indicator_stopped_webhook_event.py +52 -0
  22. linq_python-0.33.1/src/linq/types/message_delivered_webhook_event.py +65 -0
  23. linq_python-0.33.1/src/linq/types/message_edited_webhook_event.py +160 -0
  24. linq_python-0.33.1/src/linq/types/message_event_v2.py +274 -0
  25. linq_python-0.33.1/src/linq/types/message_failed_webhook_event.py +101 -0
  26. linq_python-0.33.1/src/linq/types/message_read_webhook_event.py +65 -0
  27. linq_python-0.33.1/src/linq/types/message_received_webhook_event.py +65 -0
  28. linq_python-0.33.1/src/linq/types/message_sent_webhook_event.py +65 -0
  29. linq_python-0.33.1/src/linq/types/participant_added_webhook_event.py +66 -0
  30. linq_python-0.33.1/src/linq/types/participant_removed_webhook_event.py +66 -0
  31. linq_python-0.33.1/src/linq/types/phone_number_status_updated_webhook_event.py +109 -0
  32. linq_python-0.33.1/src/linq/types/poll_delivered_webhook_event.py +125 -0
  33. linq_python-0.33.1/src/linq/types/poll_failed_webhook_event.py +139 -0
  34. linq_python-0.33.1/src/linq/types/poll_reaction_added_webhook_event.py +51 -0
  35. linq_python-0.33.1/src/linq/types/poll_read_webhook_event.py +125 -0
  36. linq_python-0.33.1/src/linq/types/poll_received_webhook_event.py +119 -0
  37. linq_python-0.33.1/src/linq/types/poll_sent_webhook_event.py +125 -0
  38. linq_python-0.33.1/src/linq/types/poll_updated_webhook_event.py +108 -0
  39. linq_python-0.33.1/src/linq/types/poll_vote_added_webhook_event.py +76 -0
  40. linq_python-0.33.1/src/linq/types/poll_vote_removed_webhook_event.py +76 -0
  41. linq_python-0.33.1/src/linq/types/reaction_added_webhook_event.py +46 -0
  42. linq_python-0.33.1/src/linq/types/reaction_event_base.py +85 -0
  43. linq_python-0.33.1/src/linq/types/reaction_removed_webhook_event.py +46 -0
  44. linq_python-0.33.1/src/linq/types/schemas_media_part_response.py +29 -0
  45. linq_python-0.33.1/src/linq/types/schemas_message_effect.py +18 -0
  46. linq_python-0.33.1/src/linq/types/schemas_text_part_response.py +36 -0
  47. linq_python-0.33.1/src/linq/types/unwrap_webhook_event.py +72 -0
  48. linq_python-0.33.1/tests/api_resources/test_webhooks.py +103 -0
  49. {linq_python-0.32.0 → linq_python-0.33.1}/uv.lock +156 -3
  50. linq_python-0.32.0/.release-please-manifest.json +0 -3
  51. {linq_python-0.32.0 → linq_python-0.33.1}/.gitignore +0 -0
  52. {linq_python-0.32.0 → linq_python-0.33.1}/CONTRIBUTING.md +0 -0
  53. {linq_python-0.32.0 → linq_python-0.33.1}/LICENSE +0 -0
  54. {linq_python-0.32.0 → linq_python-0.33.1}/README.md +0 -0
  55. {linq_python-0.32.0 → linq_python-0.33.1}/SECURITY.md +0 -0
  56. {linq_python-0.32.0 → linq_python-0.33.1}/bin/check-release-environment +0 -0
  57. {linq_python-0.32.0 → linq_python-0.33.1}/bin/publish-pypi +0 -0
  58. {linq_python-0.32.0 → linq_python-0.33.1}/examples/.keep +0 -0
  59. {linq_python-0.32.0 → linq_python-0.33.1}/release-please-config.json +0 -0
  60. {linq_python-0.32.0 → linq_python-0.33.1}/requirements-dev.lock +0 -0
  61. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_base_client.py +0 -0
  62. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_compat.py +0 -0
  63. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_constants.py +0 -0
  64. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_files.py +0 -0
  65. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_models.py +0 -0
  66. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_qs.py +0 -0
  67. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_resource.py +0 -0
  68. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_response.py +0 -0
  69. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_streaming.py +0 -0
  70. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_types.py +0 -0
  71. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/__init__.py +0 -0
  72. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_compat.py +0 -0
  73. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_datetime_parse.py +0 -0
  74. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_json.py +0 -0
  75. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_logs.py +0 -0
  76. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_path.py +0 -0
  77. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_proxy.py +0 -0
  78. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_reflection.py +0 -0
  79. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_resources_proxy.py +0 -0
  80. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_streams.py +0 -0
  81. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_sync.py +0 -0
  82. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_transform.py +0 -0
  83. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_typing.py +0 -0
  84. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/_utils/_utils.py +0 -0
  85. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/lib/.keep +0 -0
  86. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/pagination.py +0 -0
  87. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/py.typed +0 -0
  88. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/attachments.py +0 -0
  89. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/available_number.py +0 -0
  90. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/blocked_handles.py +0 -0
  91. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/capability.py +0 -0
  92. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/chats/__init__.py +0 -0
  93. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/chats/background.py +0 -0
  94. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/chats/chats.py +0 -0
  95. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/chats/location.py +0 -0
  96. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/chats/messages.py +0 -0
  97. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/chats/participants.py +0 -0
  98. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/chats/polls.py +0 -0
  99. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/chats/typing.py +0 -0
  100. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/contact_card.py +0 -0
  101. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/experiences.py +0 -0
  102. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/messages/__init__.py +0 -0
  103. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/messages/messages.py +0 -0
  104. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/messages/poll.py +0 -0
  105. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/payment_handles.py +0 -0
  106. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/payment_providers.py +0 -0
  107. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/payment_requests.py +0 -0
  108. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/payments.py +0 -0
  109. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/phone_numbers.py +0 -0
  110. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/phonenumbers.py +0 -0
  111. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/webhook_events.py +0 -0
  112. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/resources/webhook_subscriptions.py +0 -0
  113. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/attachment_create_params.py +0 -0
  114. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/attachment_create_response.py +0 -0
  115. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/attachment_retrieve_response.py +0 -0
  116. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/available_number_retrieve_params.py +0 -0
  117. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/available_number_retrieve_response.py +0 -0
  118. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/blocked_handle_block_params.py +0 -0
  119. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/blocked_handle_block_response.py +0 -0
  120. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/blocked_handle_entry.py +0 -0
  121. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/blocked_handle_list_response.py +0 -0
  122. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/blocked_handle_unblock_params.py +0 -0
  123. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/capability_check_RCS_params.py +0 -0
  124. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/capability_check_i_message_params.py +0 -0
  125. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chat.py +0 -0
  126. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chat_create_params.py +0 -0
  127. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chat_create_response.py +0 -0
  128. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chat_leave_chat_response.py +0 -0
  129. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chat_list_chats_params.py +0 -0
  130. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chat_send_voicememo_params.py +0 -0
  131. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chat_send_voicememo_response.py +0 -0
  132. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chat_update_params.py +0 -0
  133. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chat_update_response.py +0 -0
  134. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/__init__.py +0 -0
  135. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/background_set_params.py +0 -0
  136. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/get_chat_location_response.py +0 -0
  137. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/location_request_response.py +0 -0
  138. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/message_list_params.py +0 -0
  139. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/message_send_params.py +0 -0
  140. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/message_send_response.py +0 -0
  141. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/participant_add_params.py +0 -0
  142. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/participant_add_response.py +0 -0
  143. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/participant_remove_params.py +0 -0
  144. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/participant_remove_response.py +0 -0
  145. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/poll.py +0 -0
  146. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/poll_create_params.py +0 -0
  147. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/poll_envelope.py +0 -0
  148. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/chats/sent_message.py +0 -0
  149. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/contact_card_create_params.py +0 -0
  150. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/contact_card_retrieve_params.py +0 -0
  151. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/contact_card_retrieve_response.py +0 -0
  152. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/contact_card_update_params.py +0 -0
  153. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/experience_list_response.py +0 -0
  154. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/experience_retrieve_response.py +0 -0
  155. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/handle_check_response.py +0 -0
  156. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/link_part_param.py +0 -0
  157. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/media_part_param.py +0 -0
  158. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message.py +0 -0
  159. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_add_reaction_params.py +0 -0
  160. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_add_reaction_response.py +0 -0
  161. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_content_param.py +0 -0
  162. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_create_params.py +0 -0
  163. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_create_response.py +0 -0
  164. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_effect.py +0 -0
  165. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_effect_param.py +0 -0
  166. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_list_messages_thread_params.py +0 -0
  167. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_update_app_card_params.py +0 -0
  168. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_update_app_card_response.py +0 -0
  169. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/message_update_params.py +0 -0
  170. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/messages/__init__.py +0 -0
  171. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/messages/poll_add_options_params.py +0 -0
  172. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/messages/poll_vote_params.py +0 -0
  173. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment.py +0 -0
  174. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_create_params.py +0 -0
  175. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_credentials_response.py +0 -0
  176. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_handle_connection.py +0 -0
  177. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_handle_verify_params.py +0 -0
  178. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_provider.py +0 -0
  179. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_provider_connect_params.py +0 -0
  180. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_provider_connect_response.py +0 -0
  181. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_request.py +0 -0
  182. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_request_create_params.py +0 -0
  183. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_request_list_params.py +0 -0
  184. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/payment_request_list_response.py +0 -0
  185. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/phone_number_list_response.py +0 -0
  186. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/phone_number_update_params.py +0 -0
  187. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/phone_number_update_response.py +0 -0
  188. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/phonenumber_list_response.py +0 -0
  189. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reply_to.py +0 -0
  190. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reply_to_param.py +0 -0
  191. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reputation_action_item.py +0 -0
  192. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reputation_audit.py +0 -0
  193. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reputation_audit_started.py +0 -0
  194. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reputation_driver.py +0 -0
  195. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reputation_driver_key.py +0 -0
  196. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reputation_evidence.py +0 -0
  197. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reputation_opt_out_chat.py +0 -0
  198. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reputation_report.py +0 -0
  199. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/reputation_unhealthy_chat.py +0 -0
  200. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/set_contact_card.py +0 -0
  201. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared/__init__.py +0 -0
  202. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared/chat_handle.py +0 -0
  203. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared/link_part_response.py +0 -0
  204. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared/media_part_response.py +0 -0
  205. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared/reaction.py +0 -0
  206. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared/reaction_type.py +0 -0
  207. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared/service_type.py +0 -0
  208. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared/text_decoration.py +0 -0
  209. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared/text_part_response.py +0 -0
  210. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared_params/__init__.py +0 -0
  211. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared_params/reaction_type.py +0 -0
  212. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared_params/service_type.py +0 -0
  213. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/shared_params/text_decoration.py +0 -0
  214. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/supported_content_type.py +0 -0
  215. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/text_part_param.py +0 -0
  216. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/webhook_event_list_response.py +0 -0
  217. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/webhook_event_type.py +0 -0
  218. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/webhook_subscription.py +0 -0
  219. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/webhook_subscription_create_params.py +0 -0
  220. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/webhook_subscription_create_response.py +0 -0
  221. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/webhook_subscription_list_response.py +0 -0
  222. {linq_python-0.32.0 → linq_python-0.33.1}/src/linq/types/webhook_subscription_update_params.py +0 -0
  223. {linq_python-0.32.0 → linq_python-0.33.1}/tests/__init__.py +0 -0
  224. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/__init__.py +0 -0
  225. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/chats/__init__.py +0 -0
  226. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/chats/test_background.py +0 -0
  227. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/chats/test_location.py +0 -0
  228. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/chats/test_messages.py +0 -0
  229. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/chats/test_participants.py +0 -0
  230. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/chats/test_polls.py +0 -0
  231. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/chats/test_typing.py +0 -0
  232. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/messages/__init__.py +0 -0
  233. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/messages/test_poll.py +0 -0
  234. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_attachments.py +0 -0
  235. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_available_number.py +0 -0
  236. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_blocked_handles.py +0 -0
  237. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_capability.py +0 -0
  238. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_chats.py +0 -0
  239. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_contact_card.py +0 -0
  240. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_experiences.py +0 -0
  241. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_messages.py +0 -0
  242. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_payment_handles.py +0 -0
  243. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_payment_providers.py +0 -0
  244. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_payment_requests.py +0 -0
  245. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_payments.py +0 -0
  246. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_phone_numbers.py +0 -0
  247. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_phonenumbers.py +0 -0
  248. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_webhook_events.py +0 -0
  249. {linq_python-0.32.0 → linq_python-0.33.1}/tests/api_resources/test_webhook_subscriptions.py +0 -0
  250. {linq_python-0.32.0 → linq_python-0.33.1}/tests/conftest.py +0 -0
  251. {linq_python-0.32.0 → linq_python-0.33.1}/tests/sample_file.txt +0 -0
  252. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_client.py +0 -0
  253. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_extract_files.py +0 -0
  254. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_files.py +0 -0
  255. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_models.py +0 -0
  256. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_qs.py +0 -0
  257. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_required_args.py +0 -0
  258. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_response.py +0 -0
  259. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_streaming.py +0 -0
  260. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_transform.py +0 -0
  261. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_utils/test_datetime_parse.py +0 -0
  262. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_utils/test_json.py +0 -0
  263. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_utils/test_path.py +0 -0
  264. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_utils/test_proxy.py +0 -0
  265. {linq_python-0.32.0 → linq_python-0.33.1}/tests/test_utils/test_typing.py +0 -0
  266. {linq_python-0.32.0 → linq_python-0.33.1}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.33.1"
3
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.33.1](https://github.com/linq-team/linq-python/compare/v0.33.0...v0.33.1) (2026-08-26)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * add 503 response documentation to send message endpoint ([c8b5057](https://github.com/linq-team/linq-python/commit/c8b50579223cbd9eaafbe1ff7fffb2053b54e8fb))
9
+
10
+ ## [0.33.0](https://github.com/linq-team/linq-python/compare/v0.32.0...v0.33.0) (2026-08-26)
11
+
12
+
13
+ ### Features
14
+
15
+ * add chat.background_update_failed webhook event ([5573fbf](https://github.com/linq-team/linq-python/commit/5573fbf66565dfee1337eeaec67a3bca672fbda1))
16
+
3
17
  ## [0.32.0](https://github.com/linq-team/linq-python/compare/v0.31.0...v0.32.0) (2026-08-25)
4
18
 
5
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: linq-python
3
- Version: 0.32.0
3
+ Version: 0.33.1
4
4
  Summary: The official Python library for the linq-api-v3 API
5
5
  Project-URL: Homepage, https://github.com/linq-team/linq-python
6
6
  Project-URL: Repository, https://github.com/linq-team/linq-python
@@ -31,6 +31,8 @@ Requires-Dist: typing-extensions<5,>=4.14
31
31
  Provides-Extra: aiohttp
32
32
  Requires-Dist: aiohttp; extra == 'aiohttp'
33
33
  Requires-Dist: httpx-aiohttp>=0.1.9; extra == 'aiohttp'
34
+ Provides-Extra: webhooks
35
+ Requires-Dist: standardwebhooks<2,>=1.0.1; extra == 'webhooks'
34
36
  Description-Content-Type: text/markdown
35
37
 
36
38
  # Linq API V3 Python API library
@@ -347,6 +347,36 @@ from linq.types import (
347
347
  SchemasMediaPartResponse,
348
348
  SchemasMessageEffect,
349
349
  SchemasTextPartResponse,
350
+ MessageSentWebhookEvent,
351
+ MessageReceivedWebhookEvent,
352
+ MessageReadWebhookEvent,
353
+ MessageDeliveredWebhookEvent,
354
+ MessageFailedWebhookEvent,
355
+ MessageEditedWebhookEvent,
356
+ ReactionAddedWebhookEvent,
357
+ ReactionRemovedWebhookEvent,
358
+ PollReceivedWebhookEvent,
359
+ PollSentWebhookEvent,
360
+ PollDeliveredWebhookEvent,
361
+ PollReadWebhookEvent,
362
+ PollUpdatedWebhookEvent,
363
+ PollFailedWebhookEvent,
364
+ PollVoteAddedWebhookEvent,
365
+ PollVoteRemovedWebhookEvent,
366
+ PollReactionAddedWebhookEvent,
367
+ ParticipantAddedWebhookEvent,
368
+ ParticipantRemovedWebhookEvent,
369
+ ChatCreatedWebhookEvent,
370
+ ChatGroupNameUpdatedWebhookEvent,
371
+ ChatGroupIconUpdatedWebhookEvent,
372
+ ChatGroupNameUpdateFailedWebhookEvent,
373
+ ChatGroupIconUpdateFailedWebhookEvent,
374
+ ChatTypingIndicatorStartedWebhookEvent,
375
+ ChatTypingIndicatorStoppedWebhookEvent,
376
+ ChatBackgroundUpdatedWebhookEvent,
377
+ ChatBackgroundUpdateFailedWebhookEvent,
378
+ PhoneNumberStatusUpdatedWebhookEvent,
379
+ UnwrapWebhookEvent,
350
380
  )
351
381
  ```
352
382
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "linq-python"
3
- version = "0.32.0"
3
+ version = "0.33.1"
4
4
  description = "The official Python library for the linq-api-v3 API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -42,6 +42,7 @@ Repository = "https://github.com/linq-team/linq-python"
42
42
 
43
43
  [project.optional-dependencies]
44
44
  aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
45
+ webhooks = ["standardwebhooks >= 1.0.1, < 2"]
45
46
 
46
47
  [tool.uv]
47
48
  managed = true
@@ -34,6 +34,7 @@ from ._exceptions import (
34
34
  InternalServerError,
35
35
  PermissionDeniedError,
36
36
  UnprocessableEntityError,
37
+ APIWebhookValidationError,
37
38
  APIResponseValidationError,
38
39
  )
39
40
  from ._base_client import DefaultHttpxClient, DefaultAioHttpClient, DefaultAsyncHttpxClient
@@ -57,6 +58,7 @@ __all__ = [
57
58
  "APITimeoutError",
58
59
  "APIConnectionError",
59
60
  "APIResponseValidationError",
61
+ "APIWebhookValidationError",
60
62
  "BadRequestError",
61
63
  "AuthenticationError",
62
64
  "PermissionDeniedError",
@@ -56,6 +56,7 @@ if TYPE_CHECKING:
56
56
  webhook_subscriptions,
57
57
  )
58
58
  from .resources.payments import PaymentsResource, AsyncPaymentsResource
59
+ from .resources.webhooks import WebhooksResource, AsyncWebhooksResource
59
60
  from .resources.capability import CapabilityResource, AsyncCapabilityResource
60
61
  from .resources.attachments import AttachmentsResource, AsyncAttachmentsResource
61
62
  from .resources.chats.chats import ChatsResource, AsyncChatsResource
@@ -1016,6 +1017,12 @@ class LinqAPIV3(SyncAPIClient):
1016
1017
 
1017
1018
  return CapabilityResource(self)
1018
1019
 
1020
+ @cached_property
1021
+ def webhooks(self) -> WebhooksResource:
1022
+ from .resources.webhooks import WebhooksResource
1023
+
1024
+ return WebhooksResource(self)
1025
+
1019
1026
  @cached_property
1020
1027
  def contact_card(self) -> ContactCardResource:
1021
1028
  """
@@ -2086,6 +2093,12 @@ class AsyncLinqAPIV3(AsyncAPIClient):
2086
2093
 
2087
2094
  return AsyncCapabilityResource(self)
2088
2095
 
2096
+ @cached_property
2097
+ def webhooks(self) -> AsyncWebhooksResource:
2098
+ from .resources.webhooks import AsyncWebhooksResource
2099
+
2100
+ return AsyncWebhooksResource(self)
2101
+
2089
2102
  @cached_property
2090
2103
  def contact_card(self) -> AsyncContactCardResource:
2091
2104
  """
@@ -77,6 +77,10 @@ class APIResponseValidationError(APIError):
77
77
  self.status_code = response.status_code
78
78
 
79
79
 
80
+ class APIWebhookValidationError(APIError):
81
+ pass
82
+
83
+
80
84
  class APIStatusError(APIError):
81
85
  """Raised when an API response has a status code of 4xx or 5xx."""
82
86
 
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "linq"
4
- __version__ = "0.32.0" # x-release-please-version
4
+ __version__ = "0.33.1" # x-release-please-version
@@ -24,6 +24,7 @@ from .payments import (
24
24
  PaymentsResourceWithStreamingResponse,
25
25
  AsyncPaymentsResourceWithStreamingResponse,
26
26
  )
27
+ from .webhooks import WebhooksResource, AsyncWebhooksResource
27
28
  from .capability import (
28
29
  CapabilityResource,
29
30
  AsyncCapabilityResource,
@@ -220,6 +221,8 @@ __all__ = [
220
221
  "AsyncCapabilityResourceWithRawResponse",
221
222
  "CapabilityResourceWithStreamingResponse",
222
223
  "AsyncCapabilityResourceWithStreamingResponse",
224
+ "WebhooksResource",
225
+ "AsyncWebhooksResource",
223
226
  "ContactCardResource",
224
227
  "AsyncContactCardResource",
225
228
  "ContactCardResourceWithRawResponse",
@@ -0,0 +1,69 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from typing import Mapping, cast
7
+
8
+ from .._models import construct_type
9
+ from .._resource import SyncAPIResource, AsyncAPIResource
10
+ from .._exceptions import LinqApiv3Error
11
+ from ..types.unwrap_webhook_event import UnwrapWebhookEvent
12
+
13
+ __all__ = ["WebhooksResource", "AsyncWebhooksResource"]
14
+
15
+
16
+ class WebhooksResource(SyncAPIResource):
17
+ def unwrap(self, payload: str, *, headers: Mapping[str, str], key: str | bytes | None = None) -> UnwrapWebhookEvent:
18
+ try:
19
+ from standardwebhooks import Webhook
20
+ except ImportError as exc:
21
+ raise LinqApiv3Error("You need to install `linq-python[webhooks]` to use this method") from exc
22
+
23
+ if key is None:
24
+ key = self._client.webhook_secret
25
+ if key is None:
26
+ raise ValueError(
27
+ "Cannot verify a webhook without a key on either the client's webhook_secret or passed in as an argument"
28
+ )
29
+
30
+ if not isinstance(headers, dict):
31
+ headers = dict(headers)
32
+
33
+ Webhook(key).verify(payload, headers)
34
+
35
+ return cast(
36
+ UnwrapWebhookEvent,
37
+ construct_type(
38
+ type_=UnwrapWebhookEvent,
39
+ value=json.loads(payload),
40
+ ),
41
+ )
42
+
43
+
44
+ class AsyncWebhooksResource(AsyncAPIResource):
45
+ def unwrap(self, payload: str, *, headers: Mapping[str, str], key: str | bytes | None = None) -> UnwrapWebhookEvent:
46
+ try:
47
+ from standardwebhooks import Webhook
48
+ except ImportError as exc:
49
+ raise LinqApiv3Error("You need to install `linq-python[webhooks]` to use this method") from exc
50
+
51
+ if key is None:
52
+ key = self._client.webhook_secret
53
+ if key is None:
54
+ raise ValueError(
55
+ "Cannot verify a webhook without a key on either the client's webhook_secret or passed in as an argument"
56
+ )
57
+
58
+ if not isinstance(headers, dict):
59
+ headers = dict(headers)
60
+
61
+ Webhook(key).verify(payload, headers)
62
+
63
+ return cast(
64
+ UnwrapWebhookEvent,
65
+ construct_type(
66
+ type_=UnwrapWebhookEvent,
67
+ value=json.loads(payload),
68
+ ),
69
+ )
@@ -22,6 +22,7 @@ from .link_part_param import LinkPartParam as LinkPartParam
22
22
  from .payment_request import PaymentRequest as PaymentRequest
23
23
  from .text_part_param import TextPartParam as TextPartParam
24
24
  from .media_part_param import MediaPartParam as MediaPartParam
25
+ from .message_event_v2 import MessageEventV2 as MessageEventV2
25
26
  from .payment_provider import PaymentProvider as PaymentProvider
26
27
  from .reputation_audit import ReputationAudit as ReputationAudit
27
28
  from .set_contact_card import SetContactCard as SetContactCard
@@ -30,11 +31,13 @@ from .reputation_report import ReputationReport as ReputationReport
30
31
  from .chat_create_params import ChatCreateParams as ChatCreateParams
31
32
  from .chat_update_params import ChatUpdateParams as ChatUpdateParams
32
33
  from .webhook_event_type import WebhookEventType as WebhookEventType
34
+ from .reaction_event_base import ReactionEventBase as ReactionEventBase
33
35
  from .reputation_evidence import ReputationEvidence as ReputationEvidence
34
36
  from .blocked_handle_entry import BlockedHandleEntry as BlockedHandleEntry
35
37
  from .chat_create_response import ChatCreateResponse as ChatCreateResponse
36
38
  from .chat_update_response import ChatUpdateResponse as ChatUpdateResponse
37
39
  from .message_effect_param import MessageEffectParam as MessageEffectParam
40
+ from .unwrap_webhook_event import UnwrapWebhookEvent as UnwrapWebhookEvent
38
41
  from .webhook_subscription import WebhookSubscription as WebhookSubscription
39
42
  from .handle_check_response import HandleCheckResponse as HandleCheckResponse
40
43
  from .message_content_param import MessageContentParam as MessageContentParam
@@ -44,8 +47,11 @@ from .payment_create_params import PaymentCreateParams as PaymentCreateParams
44
47
  from .reputation_driver_key import ReputationDriverKey as ReputationDriverKey
45
48
  from .chat_list_chats_params import ChatListChatsParams as ChatListChatsParams
46
49
  from .reputation_action_item import ReputationActionItem as ReputationActionItem
50
+ from .schemas_message_effect import SchemasMessageEffect as SchemasMessageEffect
47
51
  from .supported_content_type import SupportedContentType as SupportedContentType
48
52
  from .message_create_response import MessageCreateResponse as MessageCreateResponse
53
+ from .poll_read_webhook_event import PollReadWebhookEvent as PollReadWebhookEvent
54
+ from .poll_sent_webhook_event import PollSentWebhookEvent as PollSentWebhookEvent
49
55
  from .reputation_opt_out_chat import ReputationOptOutChat as ReputationOptOutChat
50
56
  from .attachment_create_params import AttachmentCreateParams as AttachmentCreateParams
51
57
  from .chat_leave_chat_response import ChatLeaveChatResponse as ChatLeaveChatResponse
@@ -53,41 +59,84 @@ from .experience_list_response import ExperienceListResponse as ExperienceListRe
53
59
  from .reputation_audit_started import ReputationAuditStarted as ReputationAuditStarted
54
60
  from .payment_handle_connection import PaymentHandleConnection as PaymentHandleConnection
55
61
  from .phonenumber_list_response import PhonenumberListResponse as PhonenumberListResponse
62
+ from .poll_failed_webhook_event import PollFailedWebhookEvent as PollFailedWebhookEvent
56
63
  from .reputation_unhealthy_chat import ReputationUnhealthyChat as ReputationUnhealthyChat
57
64
  from .attachment_create_response import AttachmentCreateResponse as AttachmentCreateResponse
65
+ from .chat_created_webhook_event import ChatCreatedWebhookEvent as ChatCreatedWebhookEvent
58
66
  from .chat_send_voicememo_params import ChatSendVoicememoParams as ChatSendVoicememoParams
59
67
  from .contact_card_create_params import ContactCardCreateParams as ContactCardCreateParams
60
68
  from .contact_card_update_params import ContactCardUpdateParams as ContactCardUpdateParams
69
+ from .message_read_webhook_event import MessageReadWebhookEvent as MessageReadWebhookEvent
70
+ from .message_sent_webhook_event import MessageSentWebhookEvent as MessageSentWebhookEvent
61
71
  from .phone_number_list_response import PhoneNumberListResponse as PhoneNumberListResponse
62
72
  from .phone_number_update_params import PhoneNumberUpdateParams as PhoneNumberUpdateParams
73
+ from .poll_updated_webhook_event import PollUpdatedWebhookEvent as PollUpdatedWebhookEvent
74
+ from .schemas_text_part_response import SchemasTextPartResponse as SchemasTextPartResponse
63
75
  from .blocked_handle_block_params import BlockedHandleBlockParams as BlockedHandleBlockParams
64
76
  from .capability_check_RCS_params import CapabilityCheckRCSParams as CapabilityCheckRCSParams
65
77
  from .message_add_reaction_params import MessageAddReactionParams as MessageAddReactionParams
66
78
  from .payment_request_list_params import PaymentRequestListParams as PaymentRequestListParams
79
+ from .poll_received_webhook_event import PollReceivedWebhookEvent as PollReceivedWebhookEvent
80
+ from .schemas_media_part_response import SchemasMediaPartResponse as SchemasMediaPartResponse
67
81
  from .webhook_event_list_response import WebhookEventListResponse as WebhookEventListResponse
68
82
  from .attachment_retrieve_response import AttachmentRetrieveResponse as AttachmentRetrieveResponse
69
83
  from .blocked_handle_list_response import BlockedHandleListResponse as BlockedHandleListResponse
70
84
  from .chat_send_voicememo_response import ChatSendVoicememoResponse as ChatSendVoicememoResponse
71
85
  from .contact_card_retrieve_params import ContactCardRetrieveParams as ContactCardRetrieveParams
72
86
  from .experience_retrieve_response import ExperienceRetrieveResponse as ExperienceRetrieveResponse
87
+ from .message_edited_webhook_event import MessageEditedWebhookEvent as MessageEditedWebhookEvent
88
+ from .message_failed_webhook_event import MessageFailedWebhookEvent as MessageFailedWebhookEvent
73
89
  from .payment_credentials_response import PaymentCredentialsResponse as PaymentCredentialsResponse
74
90
  from .payment_handle_verify_params import PaymentHandleVerifyParams as PaymentHandleVerifyParams
75
91
  from .phone_number_update_response import PhoneNumberUpdateResponse as PhoneNumberUpdateResponse
92
+ from .poll_delivered_webhook_event import PollDeliveredWebhookEvent as PollDeliveredWebhookEvent
93
+ from .reaction_added_webhook_event import ReactionAddedWebhookEvent as ReactionAddedWebhookEvent
76
94
  from .blocked_handle_block_response import BlockedHandleBlockResponse as BlockedHandleBlockResponse
77
95
  from .blocked_handle_unblock_params import BlockedHandleUnblockParams as BlockedHandleUnblockParams
78
96
  from .message_add_reaction_response import MessageAddReactionResponse as MessageAddReactionResponse
79
97
  from .payment_request_create_params import PaymentRequestCreateParams as PaymentRequestCreateParams
80
98
  from .payment_request_list_response import PaymentRequestListResponse as PaymentRequestListResponse
99
+ from .poll_vote_added_webhook_event import PollVoteAddedWebhookEvent as PollVoteAddedWebhookEvent
81
100
  from .contact_card_retrieve_response import ContactCardRetrieveResponse as ContactCardRetrieveResponse
101
+ from .message_received_webhook_event import MessageReceivedWebhookEvent as MessageReceivedWebhookEvent
82
102
  from .message_update_app_card_params import MessageUpdateAppCardParams as MessageUpdateAppCardParams
103
+ from .reaction_removed_webhook_event import ReactionRemovedWebhookEvent as ReactionRemovedWebhookEvent
104
+ from .message_delivered_webhook_event import MessageDeliveredWebhookEvent as MessageDeliveredWebhookEvent
105
+ from .participant_added_webhook_event import ParticipantAddedWebhookEvent as ParticipantAddedWebhookEvent
83
106
  from .payment_provider_connect_params import PaymentProviderConnectParams as PaymentProviderConnectParams
107
+ from .poll_vote_removed_webhook_event import PollVoteRemovedWebhookEvent as PollVoteRemovedWebhookEvent
84
108
  from .available_number_retrieve_params import AvailableNumberRetrieveParams as AvailableNumberRetrieveParams
85
109
  from .message_update_app_card_response import MessageUpdateAppCardResponse as MessageUpdateAppCardResponse
86
110
  from .capability_check_i_message_params import CapabilityCheckIMessageParams as CapabilityCheckIMessageParams
111
+ from .participant_removed_webhook_event import ParticipantRemovedWebhookEvent as ParticipantRemovedWebhookEvent
87
112
  from .payment_provider_connect_response import PaymentProviderConnectResponse as PaymentProviderConnectResponse
113
+ from .poll_reaction_added_webhook_event import PollReactionAddedWebhookEvent as PollReactionAddedWebhookEvent
88
114
  from .available_number_retrieve_response import AvailableNumberRetrieveResponse as AvailableNumberRetrieveResponse
89
115
  from .webhook_subscription_create_params import WebhookSubscriptionCreateParams as WebhookSubscriptionCreateParams
90
116
  from .webhook_subscription_list_response import WebhookSubscriptionListResponse as WebhookSubscriptionListResponse
91
117
  from .webhook_subscription_update_params import WebhookSubscriptionUpdateParams as WebhookSubscriptionUpdateParams
92
118
  from .message_list_messages_thread_params import MessageListMessagesThreadParams as MessageListMessagesThreadParams
93
119
  from .webhook_subscription_create_response import WebhookSubscriptionCreateResponse as WebhookSubscriptionCreateResponse
120
+ from .chat_background_updated_webhook_event import (
121
+ ChatBackgroundUpdatedWebhookEvent as ChatBackgroundUpdatedWebhookEvent,
122
+ )
123
+ from .chat_group_icon_updated_webhook_event import ChatGroupIconUpdatedWebhookEvent as ChatGroupIconUpdatedWebhookEvent
124
+ from .chat_group_name_updated_webhook_event import ChatGroupNameUpdatedWebhookEvent as ChatGroupNameUpdatedWebhookEvent
125
+ from .phone_number_status_updated_webhook_event import (
126
+ PhoneNumberStatusUpdatedWebhookEvent as PhoneNumberStatusUpdatedWebhookEvent,
127
+ )
128
+ from .chat_background_update_failed_webhook_event import (
129
+ ChatBackgroundUpdateFailedWebhookEvent as ChatBackgroundUpdateFailedWebhookEvent,
130
+ )
131
+ from .chat_group_icon_update_failed_webhook_event import (
132
+ ChatGroupIconUpdateFailedWebhookEvent as ChatGroupIconUpdateFailedWebhookEvent,
133
+ )
134
+ from .chat_group_name_update_failed_webhook_event import (
135
+ ChatGroupNameUpdateFailedWebhookEvent as ChatGroupNameUpdateFailedWebhookEvent,
136
+ )
137
+ from .chat_typing_indicator_started_webhook_event import (
138
+ ChatTypingIndicatorStartedWebhookEvent as ChatTypingIndicatorStartedWebhookEvent,
139
+ )
140
+ from .chat_typing_indicator_stopped_webhook_event import (
141
+ ChatTypingIndicatorStoppedWebhookEvent as ChatTypingIndicatorStoppedWebhookEvent,
142
+ )
@@ -0,0 +1,71 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from datetime import datetime
4
+
5
+ from .._models import BaseModel
6
+ from .webhook_event_type import WebhookEventType
7
+
8
+ __all__ = ["ChatBackgroundUpdateFailedWebhookEvent", "Data"]
9
+
10
+
11
+ class Data(BaseModel):
12
+ """
13
+ Error details for chat.background_update_failed webhook events.
14
+ See [WebhookErrorCode](#/components/schemas/WebhookErrorCode) for the full error code reference.
15
+ """
16
+
17
+ chat_id: str
18
+ """Chat identifier (UUID) whose background update failed"""
19
+
20
+ error_code: int
21
+ """Error codes in webhook failure events.
22
+
23
+ The possible set varies by event: message.failed and poll.failed can carry 3007,
24
+ 4001, 4002, 4005, 4006, 4007, or 4008; the group update failure events
25
+ (chat.group_name_update_failed, chat.group_icon_update_failed) carry 3007 or
26
+ 4001; chat.background_update_failed carries 1005, 2011, 4001, or 5002.
27
+ """
28
+
29
+ failed_at: datetime
30
+ """When the failure was detected"""
31
+
32
+
33
+ class ChatBackgroundUpdateFailedWebhookEvent(BaseModel):
34
+ """Complete webhook payload for chat.background_update_failed events"""
35
+
36
+ api_version: str
37
+ """API version for the webhook payload format"""
38
+
39
+ created_at: datetime
40
+ """When the event was created"""
41
+
42
+ data: Data
43
+ """
44
+ Error details for chat.background_update_failed webhook events. See
45
+ [WebhookErrorCode](#/components/schemas/WebhookErrorCode) for the full error
46
+ code reference.
47
+ """
48
+
49
+ event_id: str
50
+ """Unique identifier for this event (for deduplication)"""
51
+
52
+ event_type: WebhookEventType
53
+ """Valid webhook event types that can be subscribed to.
54
+
55
+ **Note:** `message.edited` is only delivered to subscriptions using
56
+ `webhook_version: "2026-02-03"`. Subscribing to this event on a v2025
57
+ subscription will not produce any deliveries.
58
+ """
59
+
60
+ partner_id: str
61
+ """Partner identifier. Present on all webhooks for cross-referencing."""
62
+
63
+ trace_id: str
64
+ """Trace ID for debugging and correlation across systems."""
65
+
66
+ webhook_version: str
67
+ """
68
+ Date-based webhook payload version. Determined by the `?version=` query
69
+ parameter in your webhook subscription URL. If no version parameter is
70
+ specified, defaults based on subscription creation date.
71
+ """
@@ -0,0 +1,101 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+ from .shared.chat_handle import ChatHandle
9
+ from .webhook_event_type import WebhookEventType
10
+
11
+ __all__ = ["ChatBackgroundUpdatedWebhookEvent", "Data", "DataChat", "DataBackground"]
12
+
13
+
14
+ class DataChat(BaseModel):
15
+ """Chat information"""
16
+
17
+ id: str
18
+ """Chat identifier"""
19
+
20
+ is_group: Optional[bool] = None
21
+ """Whether this is a group chat"""
22
+
23
+ owner_handle: Optional[ChatHandle] = None
24
+ """Your phone number's handle. Always has is_me=true."""
25
+
26
+
27
+ class DataBackground(BaseModel):
28
+ """A chat transcript background. Fields are populated per `type`."""
29
+
30
+ type: Literal["color", "dynamic", "photo"]
31
+ """The background family."""
32
+
33
+ image_url: Optional[str] = None
34
+ """
35
+ Photo: a hosted URL for the background image, whether you set it or a
36
+ participant did. Apple stores the image, not the URL it came from, so the image
37
+ is re-hosted and this is our URL rather than the one you supplied. `null` only
38
+ if the image could not be hosted.
39
+ """
40
+
41
+ shades: Optional[List[str]] = None
42
+ """Color: the two gradient stops as hex, top then bottom."""
43
+
44
+ style: Optional[Literal["sky", "water", "aurora", "glitter"]] = None
45
+ """Dynamic: the animated style."""
46
+
47
+ variant: Optional[str] = None
48
+ """Color: `custom` (the stored two colors) or a named swatch.
49
+
50
+ Dynamic: the variant within the `style` (e.g. `sunrise`).
51
+ """
52
+
53
+
54
+ class Data(BaseModel):
55
+ """Payload for chat.background_updated webhook events."""
56
+
57
+ chat: DataChat
58
+ """Chat information"""
59
+
60
+ actor_handle: Optional[ChatHandle] = None
61
+ """Who changed it. `is_me` is true when your own number set it."""
62
+
63
+ background: Optional[DataBackground] = None
64
+ """A chat transcript background. Fields are populated per `type`."""
65
+
66
+
67
+ class ChatBackgroundUpdatedWebhookEvent(BaseModel):
68
+ """Complete webhook payload for chat.background_updated events"""
69
+
70
+ api_version: str
71
+ """API version for the webhook payload format"""
72
+
73
+ created_at: datetime
74
+ """When the event was created"""
75
+
76
+ data: Data
77
+ """Payload for chat.background_updated webhook events."""
78
+
79
+ event_id: str
80
+ """Unique identifier for this event (for deduplication)"""
81
+
82
+ event_type: WebhookEventType
83
+ """Valid webhook event types that can be subscribed to.
84
+
85
+ **Note:** `message.edited` is only delivered to subscriptions using
86
+ `webhook_version: "2026-02-03"`. Subscribing to this event on a v2025
87
+ subscription will not produce any deliveries.
88
+ """
89
+
90
+ partner_id: str
91
+ """Partner identifier. Present on all webhooks for cross-referencing."""
92
+
93
+ trace_id: str
94
+ """Trace ID for debugging and correlation across systems."""
95
+
96
+ webhook_version: str
97
+ """
98
+ Date-based webhook payload version. Determined by the `?version=` query
99
+ parameter in your webhook subscription URL. If no version parameter is
100
+ specified, defaults based on subscription creation date.
101
+ """