linq-python 0.24.1__tar.gz → 0.25.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. linq_python-0.25.0/.release-please-manifest.json +3 -0
  2. {linq_python-0.24.1 → linq_python-0.25.0}/CHANGELOG.md +7 -0
  3. {linq_python-0.24.1 → linq_python-0.25.0}/PKG-INFO +1 -1
  4. {linq_python-0.24.1 → linq_python-0.25.0}/api.md +17 -0
  5. {linq_python-0.24.1 → linq_python-0.25.0}/pyproject.toml +1 -1
  6. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_version.py +1 -1
  7. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/chats/__init__.py +14 -0
  8. linq_python-0.25.0/src/linq/resources/chats/background.py +366 -0
  9. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/chats/chats.py +134 -0
  10. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/chats/typing.py +6 -6
  11. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/__init__.py +12 -0
  12. linq_python-0.25.0/src/linq/types/chat_background_updated_webhook_event.py +96 -0
  13. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_group_icon_update_failed_webhook_event.py +2 -2
  14. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_group_name_update_failed_webhook_event.py +2 -2
  15. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/__init__.py +1 -0
  16. linq_python-0.25.0/src/linq/types/chats/background_set_params.py +37 -0
  17. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_failed_webhook_event.py +2 -2
  18. linq_python-0.25.0/src/linq/types/poll_delivered_webhook_event.py +123 -0
  19. linq_python-0.25.0/src/linq/types/poll_failed_webhook_event.py +137 -0
  20. linq_python-0.25.0/src/linq/types/poll_reaction_added_webhook_event.py +51 -0
  21. linq_python-0.25.0/src/linq/types/poll_read_webhook_event.py +123 -0
  22. linq_python-0.25.0/src/linq/types/poll_received_webhook_event.py +117 -0
  23. linq_python-0.25.0/src/linq/types/poll_sent_webhook_event.py +123 -0
  24. linq_python-0.25.0/src/linq/types/poll_updated_webhook_event.py +98 -0
  25. linq_python-0.25.0/src/linq/types/poll_vote_added_webhook_event.py +76 -0
  26. linq_python-0.25.0/src/linq/types/poll_vote_removed_webhook_event.py +76 -0
  27. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/unwrap_webhook_event.py +20 -0
  28. linq_python-0.25.0/tests/api_resources/chats/test_background.py +224 -0
  29. {linq_python-0.24.1 → linq_python-0.25.0}/uv.lock +1 -1
  30. linq_python-0.24.1/.release-please-manifest.json +0 -3
  31. {linq_python-0.24.1 → linq_python-0.25.0}/.gitignore +0 -0
  32. {linq_python-0.24.1 → linq_python-0.25.0}/CONTRIBUTING.md +0 -0
  33. {linq_python-0.24.1 → linq_python-0.25.0}/LICENSE +0 -0
  34. {linq_python-0.24.1 → linq_python-0.25.0}/README.md +0 -0
  35. {linq_python-0.24.1 → linq_python-0.25.0}/SECURITY.md +0 -0
  36. {linq_python-0.24.1 → linq_python-0.25.0}/bin/check-release-environment +0 -0
  37. {linq_python-0.24.1 → linq_python-0.25.0}/bin/publish-pypi +0 -0
  38. {linq_python-0.24.1 → linq_python-0.25.0}/examples/.keep +0 -0
  39. {linq_python-0.24.1 → linq_python-0.25.0}/release-please-config.json +0 -0
  40. {linq_python-0.24.1 → linq_python-0.25.0}/requirements-dev.lock +0 -0
  41. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/__init__.py +0 -0
  42. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_base_client.py +0 -0
  43. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_client.py +0 -0
  44. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_compat.py +0 -0
  45. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_constants.py +0 -0
  46. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_exceptions.py +0 -0
  47. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_files.py +0 -0
  48. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_models.py +0 -0
  49. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_qs.py +0 -0
  50. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_resource.py +0 -0
  51. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_response.py +0 -0
  52. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_streaming.py +0 -0
  53. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_types.py +0 -0
  54. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/__init__.py +0 -0
  55. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_compat.py +0 -0
  56. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_datetime_parse.py +0 -0
  57. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_json.py +0 -0
  58. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_logs.py +0 -0
  59. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_path.py +0 -0
  60. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_proxy.py +0 -0
  61. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_reflection.py +0 -0
  62. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_resources_proxy.py +0 -0
  63. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_streams.py +0 -0
  64. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_sync.py +0 -0
  65. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_transform.py +0 -0
  66. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_typing.py +0 -0
  67. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/_utils/_utils.py +0 -0
  68. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/lib/.keep +0 -0
  69. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/pagination.py +0 -0
  70. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/py.typed +0 -0
  71. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/__init__.py +0 -0
  72. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/attachments.py +0 -0
  73. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/available_number.py +0 -0
  74. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/blocked_handles.py +0 -0
  75. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/capability.py +0 -0
  76. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/chats/location.py +0 -0
  77. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/chats/messages.py +0 -0
  78. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/chats/participants.py +0 -0
  79. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/chats/polls.py +0 -0
  80. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/contact_card.py +0 -0
  81. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/experiences.py +0 -0
  82. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/messages/__init__.py +0 -0
  83. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/messages/messages.py +0 -0
  84. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/messages/poll.py +0 -0
  85. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/payment_handles.py +0 -0
  86. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/payment_providers.py +0 -0
  87. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/payment_requests.py +0 -0
  88. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/payments.py +0 -0
  89. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/phone_numbers.py +0 -0
  90. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/phonenumbers.py +0 -0
  91. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/webhook_events.py +0 -0
  92. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/webhook_subscriptions.py +0 -0
  93. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/resources/webhooks.py +0 -0
  94. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/attachment_create_params.py +0 -0
  95. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/attachment_create_response.py +0 -0
  96. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/attachment_retrieve_response.py +0 -0
  97. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/available_number_retrieve_params.py +0 -0
  98. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/available_number_retrieve_response.py +0 -0
  99. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/blocked_handle_block_params.py +0 -0
  100. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/blocked_handle_block_response.py +0 -0
  101. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/blocked_handle_entry.py +0 -0
  102. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/blocked_handle_list_response.py +0 -0
  103. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/blocked_handle_unblock_params.py +0 -0
  104. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/capability_check_RCS_params.py +0 -0
  105. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/capability_check_i_message_params.py +0 -0
  106. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat.py +0 -0
  107. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_create_params.py +0 -0
  108. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_create_response.py +0 -0
  109. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_created_webhook_event.py +0 -0
  110. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_group_icon_updated_webhook_event.py +0 -0
  111. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_group_name_updated_webhook_event.py +0 -0
  112. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_leave_chat_response.py +0 -0
  113. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_list_chats_params.py +0 -0
  114. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_send_voicememo_params.py +0 -0
  115. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_send_voicememo_response.py +0 -0
  116. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_typing_indicator_started_webhook_event.py +0 -0
  117. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_typing_indicator_stopped_webhook_event.py +0 -0
  118. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_update_params.py +0 -0
  119. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chat_update_response.py +0 -0
  120. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/get_chat_location_response.py +0 -0
  121. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/location_request_response.py +0 -0
  122. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/message_list_params.py +0 -0
  123. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/message_send_params.py +0 -0
  124. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/message_send_response.py +0 -0
  125. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/participant_add_params.py +0 -0
  126. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/participant_add_response.py +0 -0
  127. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/participant_remove_params.py +0 -0
  128. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/participant_remove_response.py +0 -0
  129. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/poll.py +0 -0
  130. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/poll_create_params.py +0 -0
  131. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/poll_envelope.py +0 -0
  132. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/chats/sent_message.py +0 -0
  133. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/contact_card_create_params.py +0 -0
  134. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/contact_card_retrieve_params.py +0 -0
  135. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/contact_card_retrieve_response.py +0 -0
  136. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/contact_card_update_params.py +0 -0
  137. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/experience_list_response.py +0 -0
  138. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/experience_retrieve_response.py +0 -0
  139. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/handle_check_response.py +0 -0
  140. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/link_part_param.py +0 -0
  141. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/media_part_param.py +0 -0
  142. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message.py +0 -0
  143. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_add_reaction_params.py +0 -0
  144. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_add_reaction_response.py +0 -0
  145. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_content_param.py +0 -0
  146. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_create_params.py +0 -0
  147. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_create_response.py +0 -0
  148. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_delivered_webhook_event.py +0 -0
  149. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_edited_webhook_event.py +0 -0
  150. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_effect.py +0 -0
  151. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_effect_param.py +0 -0
  152. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_event_v2.py +0 -0
  153. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_list_messages_thread_params.py +0 -0
  154. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_read_webhook_event.py +0 -0
  155. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_received_webhook_event.py +0 -0
  156. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_sent_webhook_event.py +0 -0
  157. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_update_app_card_params.py +0 -0
  158. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_update_app_card_response.py +0 -0
  159. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/message_update_params.py +0 -0
  160. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/messages/__init__.py +0 -0
  161. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/messages/poll_add_options_params.py +0 -0
  162. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/messages/poll_vote_params.py +0 -0
  163. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/participant_added_webhook_event.py +0 -0
  164. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/participant_removed_webhook_event.py +0 -0
  165. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment.py +0 -0
  166. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_create_params.py +0 -0
  167. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_credentials_response.py +0 -0
  168. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_handle_connection.py +0 -0
  169. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_handle_verify_params.py +0 -0
  170. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_provider.py +0 -0
  171. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_provider_connect_params.py +0 -0
  172. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_provider_connect_response.py +0 -0
  173. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_request.py +0 -0
  174. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_request_create_params.py +0 -0
  175. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_request_list_params.py +0 -0
  176. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/payment_request_list_response.py +0 -0
  177. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/phone_number_list_response.py +0 -0
  178. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/phone_number_status_updated_webhook_event.py +0 -0
  179. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/phone_number_update_params.py +0 -0
  180. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/phone_number_update_response.py +0 -0
  181. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/phonenumber_list_response.py +0 -0
  182. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reaction_added_webhook_event.py +0 -0
  183. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reaction_event_base.py +0 -0
  184. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reaction_removed_webhook_event.py +0 -0
  185. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reply_to.py +0 -0
  186. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reply_to_param.py +0 -0
  187. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reputation_action_item.py +0 -0
  188. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reputation_audit.py +0 -0
  189. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reputation_audit_started.py +0 -0
  190. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reputation_driver.py +0 -0
  191. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reputation_driver_key.py +0 -0
  192. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reputation_evidence.py +0 -0
  193. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reputation_opt_out_chat.py +0 -0
  194. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reputation_report.py +0 -0
  195. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/reputation_unhealthy_chat.py +0 -0
  196. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/schemas_media_part_response.py +0 -0
  197. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/schemas_message_effect.py +0 -0
  198. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/schemas_text_part_response.py +0 -0
  199. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/set_contact_card.py +0 -0
  200. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared/__init__.py +0 -0
  201. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared/chat_handle.py +0 -0
  202. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared/link_part_response.py +0 -0
  203. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared/media_part_response.py +0 -0
  204. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared/reaction.py +0 -0
  205. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared/reaction_type.py +0 -0
  206. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared/service_type.py +0 -0
  207. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared/text_decoration.py +0 -0
  208. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared/text_part_response.py +0 -0
  209. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared_params/__init__.py +0 -0
  210. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared_params/reaction_type.py +0 -0
  211. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared_params/service_type.py +0 -0
  212. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/shared_params/text_decoration.py +0 -0
  213. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/supported_content_type.py +0 -0
  214. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/text_part_param.py +0 -0
  215. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/webhook_event_list_response.py +0 -0
  216. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/webhook_event_type.py +0 -0
  217. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/webhook_subscription.py +0 -0
  218. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/webhook_subscription_create_params.py +0 -0
  219. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/webhook_subscription_create_response.py +0 -0
  220. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/webhook_subscription_list_response.py +0 -0
  221. {linq_python-0.24.1 → linq_python-0.25.0}/src/linq/types/webhook_subscription_update_params.py +0 -0
  222. {linq_python-0.24.1 → linq_python-0.25.0}/tests/__init__.py +0 -0
  223. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/__init__.py +0 -0
  224. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/chats/__init__.py +0 -0
  225. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/chats/test_location.py +0 -0
  226. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/chats/test_messages.py +0 -0
  227. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/chats/test_participants.py +0 -0
  228. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/chats/test_polls.py +0 -0
  229. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/chats/test_typing.py +0 -0
  230. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/messages/__init__.py +0 -0
  231. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/messages/test_poll.py +0 -0
  232. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_attachments.py +0 -0
  233. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_available_number.py +0 -0
  234. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_blocked_handles.py +0 -0
  235. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_capability.py +0 -0
  236. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_chats.py +0 -0
  237. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_contact_card.py +0 -0
  238. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_experiences.py +0 -0
  239. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_messages.py +0 -0
  240. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_payment_handles.py +0 -0
  241. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_payment_providers.py +0 -0
  242. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_payment_requests.py +0 -0
  243. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_payments.py +0 -0
  244. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_phone_numbers.py +0 -0
  245. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_phonenumbers.py +0 -0
  246. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_webhook_events.py +0 -0
  247. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_webhook_subscriptions.py +0 -0
  248. {linq_python-0.24.1 → linq_python-0.25.0}/tests/api_resources/test_webhooks.py +0 -0
  249. {linq_python-0.24.1 → linq_python-0.25.0}/tests/conftest.py +0 -0
  250. {linq_python-0.24.1 → linq_python-0.25.0}/tests/sample_file.txt +0 -0
  251. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_client.py +0 -0
  252. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_extract_files.py +0 -0
  253. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_files.py +0 -0
  254. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_models.py +0 -0
  255. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_qs.py +0 -0
  256. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_required_args.py +0 -0
  257. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_response.py +0 -0
  258. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_streaming.py +0 -0
  259. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_transform.py +0 -0
  260. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_utils/test_datetime_parse.py +0 -0
  261. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_utils/test_json.py +0 -0
  262. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_utils/test_path.py +0 -0
  263. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_utils/test_proxy.py +0 -0
  264. {linq_python-0.24.1 → linq_python-0.25.0}/tests/test_utils/test_typing.py +0 -0
  265. {linq_python-0.24.1 → linq_python-0.25.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.25.0"
3
+ }
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.25.0](https://github.com/linq-team/linq-python/compare/v0.24.1...v0.25.0) (2026-08-14)
4
+
5
+
6
+ ### Features
7
+
8
+ * add chat background and poll features ([44aa466](https://github.com/linq-team/linq-python/commit/44aa466ba2f216267d9fc00d5172790f84bd3c9e))
9
+
3
10
  ## [0.24.1](https://github.com/linq-team/linq-python/compare/v0.24.0...v0.24.1) (2026-08-14)
4
11
 
5
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: linq-python
3
- Version: 0.24.1
3
+ Version: 0.25.0
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
@@ -100,6 +100,13 @@ Methods:
100
100
 
101
101
  - <code title="post /v3/chats/{chatId}/polls">client.chats.polls.<a href="./src/linq/resources/chats/polls.py">create</a>(chat_id, \*\*<a href="src/linq/types/chats/poll_create_params.py">params</a>) -> <a href="./src/linq/types/chats/poll_envelope.py">PollEnvelope</a></code>
102
102
 
103
+ ## Background
104
+
105
+ Methods:
106
+
107
+ - <code title="delete /v3/chats/{chatId}/background">client.chats.background.<a href="./src/linq/resources/chats/background.py">remove</a>(chat_id) -> None</code>
108
+ - <code title="post /v3/chats/{chatId}/background">client.chats.background.<a href="./src/linq/resources/chats/background.py">set</a>(chat_id, \*\*<a href="src/linq/types/chats/background_set_params.py">params</a>) -> None</code>
109
+
103
110
  # Messages
104
111
 
105
112
  Types:
@@ -348,6 +355,15 @@ from linq.types import (
348
355
  MessageEditedWebhookEvent,
349
356
  ReactionAddedWebhookEvent,
350
357
  ReactionRemovedWebhookEvent,
358
+ PollReceivedWebhookEvent,
359
+ PollSentWebhookEvent,
360
+ PollDeliveredWebhookEvent,
361
+ PollReadWebhookEvent,
362
+ PollUpdatedWebhookEvent,
363
+ PollFailedWebhookEvent,
364
+ PollVoteAddedWebhookEvent,
365
+ PollVoteRemovedWebhookEvent,
366
+ PollReactionAddedWebhookEvent,
351
367
  ParticipantAddedWebhookEvent,
352
368
  ParticipantRemovedWebhookEvent,
353
369
  ChatCreatedWebhookEvent,
@@ -357,6 +373,7 @@ from linq.types import (
357
373
  ChatGroupIconUpdateFailedWebhookEvent,
358
374
  ChatTypingIndicatorStartedWebhookEvent,
359
375
  ChatTypingIndicatorStoppedWebhookEvent,
376
+ ChatBackgroundUpdatedWebhookEvent,
360
377
  PhoneNumberStatusUpdatedWebhookEvent,
361
378
  UnwrapWebhookEvent,
362
379
  )
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "linq-python"
3
- version = "0.24.1"
3
+ version = "0.25.0"
4
4
  description = "The official Python library for the linq-api-v3 API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "linq"
4
- __version__ = "0.24.1" # x-release-please-version
4
+ __version__ = "0.25.0" # x-release-please-version
@@ -40,6 +40,14 @@ from .messages import (
40
40
  MessagesResourceWithStreamingResponse,
41
41
  AsyncMessagesResourceWithStreamingResponse,
42
42
  )
43
+ from .background import (
44
+ BackgroundResource,
45
+ AsyncBackgroundResource,
46
+ BackgroundResourceWithRawResponse,
47
+ AsyncBackgroundResourceWithRawResponse,
48
+ BackgroundResourceWithStreamingResponse,
49
+ AsyncBackgroundResourceWithStreamingResponse,
50
+ )
43
51
  from .participants import (
44
52
  ParticipantsResource,
45
53
  AsyncParticipantsResource,
@@ -80,6 +88,12 @@ __all__ = [
80
88
  "AsyncPollsResourceWithRawResponse",
81
89
  "PollsResourceWithStreamingResponse",
82
90
  "AsyncPollsResourceWithStreamingResponse",
91
+ "BackgroundResource",
92
+ "AsyncBackgroundResource",
93
+ "BackgroundResourceWithRawResponse",
94
+ "AsyncBackgroundResourceWithRawResponse",
95
+ "BackgroundResourceWithStreamingResponse",
96
+ "AsyncBackgroundResourceWithStreamingResponse",
83
97
  "ChatsResource",
84
98
  "AsyncChatsResource",
85
99
  "ChatsResourceWithRawResponse",
@@ -0,0 +1,366 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal
6
+
7
+ import httpx
8
+
9
+ from ..._types import Body, Omit, Query, Headers, NoneType, NotGiven, SequenceNotStr, omit, not_given
10
+ from ..._utils import path_template, maybe_transform, async_maybe_transform
11
+ from ..._compat import cached_property
12
+ from ..._resource import SyncAPIResource, AsyncAPIResource
13
+ from ..._response import (
14
+ to_raw_response_wrapper,
15
+ to_streamed_response_wrapper,
16
+ async_to_raw_response_wrapper,
17
+ async_to_streamed_response_wrapper,
18
+ )
19
+ from ...types.chats import background_set_params
20
+ from ..._base_client import make_request_options
21
+
22
+ __all__ = ["BackgroundResource", "AsyncBackgroundResource"]
23
+
24
+
25
+ class BackgroundResource(SyncAPIResource):
26
+ """A Chat is a conversation thread with one or more participants.
27
+
28
+ To begin a chat, you must create a Chat with at least one recipient handle.
29
+ Including multiple handles creates a group chat.
30
+
31
+ When creating a chat, the `from` field specifies which of your
32
+ authorized phone numbers the message originates from. Your authentication token grants
33
+ access to one or more phone numbers, but the `from` field determines the actual sender.
34
+
35
+ **Handle Format:**
36
+ - Handles can be phone numbers or email addresses
37
+ - Phone numbers MUST be in E.164 format (starting with +)
38
+ - Phone format: `+[country code][subscriber number]`
39
+ - Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
40
+ - Example email: `user@example.com`
41
+ - No spaces, dashes, or parentheses in phone numbers
42
+ """
43
+
44
+ @cached_property
45
+ def with_raw_response(self) -> BackgroundResourceWithRawResponse:
46
+ """
47
+ This property can be used as a prefix for any HTTP method call to return
48
+ the raw response object instead of the parsed content.
49
+
50
+ For more information, see https://www.github.com/linq-team/linq-python#accessing-raw-response-data-eg-headers
51
+ """
52
+ return BackgroundResourceWithRawResponse(self)
53
+
54
+ @cached_property
55
+ def with_streaming_response(self) -> BackgroundResourceWithStreamingResponse:
56
+ """
57
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
58
+
59
+ For more information, see https://www.github.com/linq-team/linq-python#with_streaming_response
60
+ """
61
+ return BackgroundResourceWithStreamingResponse(self)
62
+
63
+ def remove(
64
+ self,
65
+ chat_id: str,
66
+ *,
67
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
68
+ # The extra values given here take precedence over values defined on the client or passed to this method.
69
+ extra_headers: Headers | None = None,
70
+ extra_query: Query | None = None,
71
+ extra_body: Body | None = None,
72
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
73
+ ) -> None:
74
+ """
75
+ Remove the transcript background from a chat, resetting it to the default.
76
+
77
+ Args:
78
+ extra_headers: Send extra headers
79
+
80
+ extra_query: Add additional query parameters to the request
81
+
82
+ extra_body: Add additional JSON properties to the request
83
+
84
+ timeout: Override the client-level default timeout for this request, in seconds
85
+ """
86
+ if not chat_id:
87
+ raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
88
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
89
+ return self._delete(
90
+ path_template("/v3/chats/{chat_id}/background", chat_id=chat_id),
91
+ options=make_request_options(
92
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
93
+ ),
94
+ cast_to=NoneType,
95
+ )
96
+
97
+ def set(
98
+ self,
99
+ chat_id: str,
100
+ *,
101
+ type: Literal["color", "dynamic", "photo"],
102
+ image_url: str | Omit = omit,
103
+ shades: SequenceNotStr[str] | Omit = omit,
104
+ style: Literal["sky", "water", "aurora", "glitter"] | Omit = omit,
105
+ variant: str | Omit = omit,
106
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
107
+ # The extra values given here take precedence over values defined on the client or passed to this method.
108
+ extra_headers: Headers | None = None,
109
+ extra_query: Query | None = None,
110
+ extra_body: Body | None = None,
111
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
112
+ ) -> None:
113
+ """
114
+ Set the transcript background for a chat.
115
+
116
+ Provide one of: a **color** (a named preset or a custom 2-stop gradient), a
117
+ **dynamic** animated style, or a **photo** (by URL). The request is accepted
118
+ asynchronously; the terminal result arrives via the `chat.background_updated`
119
+ webhook.
120
+
121
+ **Group chats are supported.** Requests for RCS or SMS chats are accepted
122
+ (`202`) but no background is applied and no `chat.background_updated` webhook
123
+ fires.
124
+
125
+ Args:
126
+ type: The background family.
127
+
128
+ image_url: Photo: the image URL to embed in the background.
129
+
130
+ shades: Color with `variant: custom`: the two gradient stops as hex, top then bottom.
131
+ Ignored for named color variants (they carry their own two colors).
132
+
133
+ style: Dynamic: the animated style.
134
+
135
+ variant: Color: a named swatch — `mango`, `ice`, `plum`, `deep_sea`, `green_apple`,
136
+ `cherry`, `bubblegum`, `tangerine`, `magenta`, `lime`, `silver`, `carbon`,
137
+ `stone` — or `custom` (supply `shades`). Dynamic: the variant within the `style`
138
+ (e.g. `sunrise`).
139
+
140
+ An unrecognized value still returns `202`, but no background is applied and no
141
+ `chat.background_updated` webhook fires. Send one of the values above.
142
+
143
+ extra_headers: Send extra headers
144
+
145
+ extra_query: Add additional query parameters to the request
146
+
147
+ extra_body: Add additional JSON properties to the request
148
+
149
+ timeout: Override the client-level default timeout for this request, in seconds
150
+ """
151
+ if not chat_id:
152
+ raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
153
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
154
+ return self._post(
155
+ path_template("/v3/chats/{chat_id}/background", chat_id=chat_id),
156
+ body=maybe_transform(
157
+ {
158
+ "type": type,
159
+ "image_url": image_url,
160
+ "shades": shades,
161
+ "style": style,
162
+ "variant": variant,
163
+ },
164
+ background_set_params.BackgroundSetParams,
165
+ ),
166
+ options=make_request_options(
167
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
168
+ ),
169
+ cast_to=NoneType,
170
+ )
171
+
172
+
173
+ class AsyncBackgroundResource(AsyncAPIResource):
174
+ """A Chat is a conversation thread with one or more participants.
175
+
176
+ To begin a chat, you must create a Chat with at least one recipient handle.
177
+ Including multiple handles creates a group chat.
178
+
179
+ When creating a chat, the `from` field specifies which of your
180
+ authorized phone numbers the message originates from. Your authentication token grants
181
+ access to one or more phone numbers, but the `from` field determines the actual sender.
182
+
183
+ **Handle Format:**
184
+ - Handles can be phone numbers or email addresses
185
+ - Phone numbers MUST be in E.164 format (starting with +)
186
+ - Phone format: `+[country code][subscriber number]`
187
+ - Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
188
+ - Example email: `user@example.com`
189
+ - No spaces, dashes, or parentheses in phone numbers
190
+ """
191
+
192
+ @cached_property
193
+ def with_raw_response(self) -> AsyncBackgroundResourceWithRawResponse:
194
+ """
195
+ This property can be used as a prefix for any HTTP method call to return
196
+ the raw response object instead of the parsed content.
197
+
198
+ For more information, see https://www.github.com/linq-team/linq-python#accessing-raw-response-data-eg-headers
199
+ """
200
+ return AsyncBackgroundResourceWithRawResponse(self)
201
+
202
+ @cached_property
203
+ def with_streaming_response(self) -> AsyncBackgroundResourceWithStreamingResponse:
204
+ """
205
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
206
+
207
+ For more information, see https://www.github.com/linq-team/linq-python#with_streaming_response
208
+ """
209
+ return AsyncBackgroundResourceWithStreamingResponse(self)
210
+
211
+ async def remove(
212
+ self,
213
+ chat_id: str,
214
+ *,
215
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
216
+ # The extra values given here take precedence over values defined on the client or passed to this method.
217
+ extra_headers: Headers | None = None,
218
+ extra_query: Query | None = None,
219
+ extra_body: Body | None = None,
220
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
221
+ ) -> None:
222
+ """
223
+ Remove the transcript background from a chat, resetting it to the default.
224
+
225
+ Args:
226
+ extra_headers: Send extra headers
227
+
228
+ extra_query: Add additional query parameters to the request
229
+
230
+ extra_body: Add additional JSON properties to the request
231
+
232
+ timeout: Override the client-level default timeout for this request, in seconds
233
+ """
234
+ if not chat_id:
235
+ raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
236
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
237
+ return await self._delete(
238
+ path_template("/v3/chats/{chat_id}/background", chat_id=chat_id),
239
+ options=make_request_options(
240
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
241
+ ),
242
+ cast_to=NoneType,
243
+ )
244
+
245
+ async def set(
246
+ self,
247
+ chat_id: str,
248
+ *,
249
+ type: Literal["color", "dynamic", "photo"],
250
+ image_url: str | Omit = omit,
251
+ shades: SequenceNotStr[str] | Omit = omit,
252
+ style: Literal["sky", "water", "aurora", "glitter"] | Omit = omit,
253
+ variant: str | Omit = omit,
254
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
255
+ # The extra values given here take precedence over values defined on the client or passed to this method.
256
+ extra_headers: Headers | None = None,
257
+ extra_query: Query | None = None,
258
+ extra_body: Body | None = None,
259
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
260
+ ) -> None:
261
+ """
262
+ Set the transcript background for a chat.
263
+
264
+ Provide one of: a **color** (a named preset or a custom 2-stop gradient), a
265
+ **dynamic** animated style, or a **photo** (by URL). The request is accepted
266
+ asynchronously; the terminal result arrives via the `chat.background_updated`
267
+ webhook.
268
+
269
+ **Group chats are supported.** Requests for RCS or SMS chats are accepted
270
+ (`202`) but no background is applied and no `chat.background_updated` webhook
271
+ fires.
272
+
273
+ Args:
274
+ type: The background family.
275
+
276
+ image_url: Photo: the image URL to embed in the background.
277
+
278
+ shades: Color with `variant: custom`: the two gradient stops as hex, top then bottom.
279
+ Ignored for named color variants (they carry their own two colors).
280
+
281
+ style: Dynamic: the animated style.
282
+
283
+ variant: Color: a named swatch — `mango`, `ice`, `plum`, `deep_sea`, `green_apple`,
284
+ `cherry`, `bubblegum`, `tangerine`, `magenta`, `lime`, `silver`, `carbon`,
285
+ `stone` — or `custom` (supply `shades`). Dynamic: the variant within the `style`
286
+ (e.g. `sunrise`).
287
+
288
+ An unrecognized value still returns `202`, but no background is applied and no
289
+ `chat.background_updated` webhook fires. Send one of the values above.
290
+
291
+ extra_headers: Send extra headers
292
+
293
+ extra_query: Add additional query parameters to the request
294
+
295
+ extra_body: Add additional JSON properties to the request
296
+
297
+ timeout: Override the client-level default timeout for this request, in seconds
298
+ """
299
+ if not chat_id:
300
+ raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
301
+ extra_headers = {"Accept": "*/*", **(extra_headers or {})}
302
+ return await self._post(
303
+ path_template("/v3/chats/{chat_id}/background", chat_id=chat_id),
304
+ body=await async_maybe_transform(
305
+ {
306
+ "type": type,
307
+ "image_url": image_url,
308
+ "shades": shades,
309
+ "style": style,
310
+ "variant": variant,
311
+ },
312
+ background_set_params.BackgroundSetParams,
313
+ ),
314
+ options=make_request_options(
315
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
316
+ ),
317
+ cast_to=NoneType,
318
+ )
319
+
320
+
321
+ class BackgroundResourceWithRawResponse:
322
+ def __init__(self, background: BackgroundResource) -> None:
323
+ self._background = background
324
+
325
+ self.remove = to_raw_response_wrapper(
326
+ background.remove,
327
+ )
328
+ self.set = to_raw_response_wrapper(
329
+ background.set,
330
+ )
331
+
332
+
333
+ class AsyncBackgroundResourceWithRawResponse:
334
+ def __init__(self, background: AsyncBackgroundResource) -> None:
335
+ self._background = background
336
+
337
+ self.remove = async_to_raw_response_wrapper(
338
+ background.remove,
339
+ )
340
+ self.set = async_to_raw_response_wrapper(
341
+ background.set,
342
+ )
343
+
344
+
345
+ class BackgroundResourceWithStreamingResponse:
346
+ def __init__(self, background: BackgroundResource) -> None:
347
+ self._background = background
348
+
349
+ self.remove = to_streamed_response_wrapper(
350
+ background.remove,
351
+ )
352
+ self.set = to_streamed_response_wrapper(
353
+ background.set,
354
+ )
355
+
356
+
357
+ class AsyncBackgroundResourceWithStreamingResponse:
358
+ def __init__(self, background: AsyncBackgroundResource) -> None:
359
+ self._background = background
360
+
361
+ self.remove = async_to_streamed_response_wrapper(
362
+ background.remove,
363
+ )
364
+ self.set = async_to_streamed_response_wrapper(
365
+ background.set,
366
+ )
@@ -45,6 +45,14 @@ from .messages import (
45
45
  AsyncMessagesResourceWithStreamingResponse,
46
46
  )
47
47
  from ..._compat import cached_property
48
+ from .background import (
49
+ BackgroundResource,
50
+ AsyncBackgroundResource,
51
+ BackgroundResourceWithRawResponse,
52
+ AsyncBackgroundResourceWithRawResponse,
53
+ BackgroundResourceWithStreamingResponse,
54
+ AsyncBackgroundResourceWithStreamingResponse,
55
+ )
48
56
  from ..._resource import SyncAPIResource, AsyncAPIResource
49
57
  from ..._response import (
50
58
  to_raw_response_wrapper,
@@ -283,6 +291,27 @@ class ChatsResource(SyncAPIResource):
283
291
  """
284
292
  return PollsResource(self._client)
285
293
 
294
+ @cached_property
295
+ def background(self) -> BackgroundResource:
296
+ """A Chat is a conversation thread with one or more participants.
297
+
298
+ To begin a chat, you must create a Chat with at least one recipient handle.
299
+ Including multiple handles creates a group chat.
300
+
301
+ When creating a chat, the `from` field specifies which of your
302
+ authorized phone numbers the message originates from. Your authentication token grants
303
+ access to one or more phone numbers, but the `from` field determines the actual sender.
304
+
305
+ **Handle Format:**
306
+ - Handles can be phone numbers or email addresses
307
+ - Phone numbers MUST be in E.164 format (starting with +)
308
+ - Phone format: `+[country code][subscriber number]`
309
+ - Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
310
+ - Example email: `user@example.com`
311
+ - No spaces, dashes, or parentheses in phone numbers
312
+ """
313
+ return BackgroundResource(self._client)
314
+
286
315
  @cached_property
287
316
  def with_raw_response(self) -> ChatsResourceWithRawResponse:
288
317
  """
@@ -1005,6 +1034,27 @@ class AsyncChatsResource(AsyncAPIResource):
1005
1034
  """
1006
1035
  return AsyncPollsResource(self._client)
1007
1036
 
1037
+ @cached_property
1038
+ def background(self) -> AsyncBackgroundResource:
1039
+ """A Chat is a conversation thread with one or more participants.
1040
+
1041
+ To begin a chat, you must create a Chat with at least one recipient handle.
1042
+ Including multiple handles creates a group chat.
1043
+
1044
+ When creating a chat, the `from` field specifies which of your
1045
+ authorized phone numbers the message originates from. Your authentication token grants
1046
+ access to one or more phone numbers, but the `from` field determines the actual sender.
1047
+
1048
+ **Handle Format:**
1049
+ - Handles can be phone numbers or email addresses
1050
+ - Phone numbers MUST be in E.164 format (starting with +)
1051
+ - Phone format: `+[country code][subscriber number]`
1052
+ - Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
1053
+ - Example email: `user@example.com`
1054
+ - No spaces, dashes, or parentheses in phone numbers
1055
+ """
1056
+ return AsyncBackgroundResource(self._client)
1057
+
1008
1058
  @cached_property
1009
1059
  def with_raw_response(self) -> AsyncChatsResourceWithRawResponse:
1010
1060
  """
@@ -1755,6 +1805,27 @@ class ChatsResourceWithRawResponse:
1755
1805
  """
1756
1806
  return PollsResourceWithRawResponse(self._chats.polls)
1757
1807
 
1808
+ @cached_property
1809
+ def background(self) -> BackgroundResourceWithRawResponse:
1810
+ """A Chat is a conversation thread with one or more participants.
1811
+
1812
+ To begin a chat, you must create a Chat with at least one recipient handle.
1813
+ Including multiple handles creates a group chat.
1814
+
1815
+ When creating a chat, the `from` field specifies which of your
1816
+ authorized phone numbers the message originates from. Your authentication token grants
1817
+ access to one or more phone numbers, but the `from` field determines the actual sender.
1818
+
1819
+ **Handle Format:**
1820
+ - Handles can be phone numbers or email addresses
1821
+ - Phone numbers MUST be in E.164 format (starting with +)
1822
+ - Phone format: `+[country code][subscriber number]`
1823
+ - Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
1824
+ - Example email: `user@example.com`
1825
+ - No spaces, dashes, or parentheses in phone numbers
1826
+ """
1827
+ return BackgroundResourceWithRawResponse(self._chats.background)
1828
+
1758
1829
 
1759
1830
  class AsyncChatsResourceWithRawResponse:
1760
1831
  def __init__(self, chats: AsyncChatsResource) -> None:
@@ -1995,6 +2066,27 @@ class AsyncChatsResourceWithRawResponse:
1995
2066
  """
1996
2067
  return AsyncPollsResourceWithRawResponse(self._chats.polls)
1997
2068
 
2069
+ @cached_property
2070
+ def background(self) -> AsyncBackgroundResourceWithRawResponse:
2071
+ """A Chat is a conversation thread with one or more participants.
2072
+
2073
+ To begin a chat, you must create a Chat with at least one recipient handle.
2074
+ Including multiple handles creates a group chat.
2075
+
2076
+ When creating a chat, the `from` field specifies which of your
2077
+ authorized phone numbers the message originates from. Your authentication token grants
2078
+ access to one or more phone numbers, but the `from` field determines the actual sender.
2079
+
2080
+ **Handle Format:**
2081
+ - Handles can be phone numbers or email addresses
2082
+ - Phone numbers MUST be in E.164 format (starting with +)
2083
+ - Phone format: `+[country code][subscriber number]`
2084
+ - Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
2085
+ - Example email: `user@example.com`
2086
+ - No spaces, dashes, or parentheses in phone numbers
2087
+ """
2088
+ return AsyncBackgroundResourceWithRawResponse(self._chats.background)
2089
+
1998
2090
 
1999
2091
  class ChatsResourceWithStreamingResponse:
2000
2092
  def __init__(self, chats: ChatsResource) -> None:
@@ -2235,6 +2327,27 @@ class ChatsResourceWithStreamingResponse:
2235
2327
  """
2236
2328
  return PollsResourceWithStreamingResponse(self._chats.polls)
2237
2329
 
2330
+ @cached_property
2331
+ def background(self) -> BackgroundResourceWithStreamingResponse:
2332
+ """A Chat is a conversation thread with one or more participants.
2333
+
2334
+ To begin a chat, you must create a Chat with at least one recipient handle.
2335
+ Including multiple handles creates a group chat.
2336
+
2337
+ When creating a chat, the `from` field specifies which of your
2338
+ authorized phone numbers the message originates from. Your authentication token grants
2339
+ access to one or more phone numbers, but the `from` field determines the actual sender.
2340
+
2341
+ **Handle Format:**
2342
+ - Handles can be phone numbers or email addresses
2343
+ - Phone numbers MUST be in E.164 format (starting with +)
2344
+ - Phone format: `+[country code][subscriber number]`
2345
+ - Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
2346
+ - Example email: `user@example.com`
2347
+ - No spaces, dashes, or parentheses in phone numbers
2348
+ """
2349
+ return BackgroundResourceWithStreamingResponse(self._chats.background)
2350
+
2238
2351
 
2239
2352
  class AsyncChatsResourceWithStreamingResponse:
2240
2353
  def __init__(self, chats: AsyncChatsResource) -> None:
@@ -2474,3 +2587,24 @@ class AsyncChatsResourceWithStreamingResponse:
2474
2587
  **Important:** ephemeral applies in *both directions* — messages you send **and** messages received by the phone numbers in that scope. Because Linq can no longer return the message after 24 hours, persist anything you need to keep from the webhook payload at the time it is delivered.
2475
2588
  """
2476
2589
  return AsyncPollsResourceWithStreamingResponse(self._chats.polls)
2590
+
2591
+ @cached_property
2592
+ def background(self) -> AsyncBackgroundResourceWithStreamingResponse:
2593
+ """A Chat is a conversation thread with one or more participants.
2594
+
2595
+ To begin a chat, you must create a Chat with at least one recipient handle.
2596
+ Including multiple handles creates a group chat.
2597
+
2598
+ When creating a chat, the `from` field specifies which of your
2599
+ authorized phone numbers the message originates from. Your authentication token grants
2600
+ access to one or more phone numbers, but the `from` field determines the actual sender.
2601
+
2602
+ **Handle Format:**
2603
+ - Handles can be phone numbers or email addresses
2604
+ - Phone numbers MUST be in E.164 format (starting with +)
2605
+ - Phone format: `+[country code][subscriber number]`
2606
+ - Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
2607
+ - Example email: `user@example.com`
2608
+ - No spaces, dashes, or parentheses in phone numbers
2609
+ """
2610
+ return AsyncBackgroundResourceWithStreamingResponse(self._chats.background)