linq-python 0.54.0__tar.gz → 0.56.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 (284) hide show
  1. linq_python-0.56.0/.release-please-manifest.json +3 -0
  2. {linq_python-0.54.0 → linq_python-0.56.0}/CHANGELOG.md +14 -0
  3. {linq_python-0.54.0 → linq_python-0.56.0}/PKG-INFO +1 -1
  4. {linq_python-0.54.0 → linq_python-0.56.0}/api.md +4 -0
  5. {linq_python-0.54.0 → linq_python-0.56.0}/pyproject.toml +1 -1
  6. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_version.py +1 -1
  7. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/chats/chats.py +72 -0
  8. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/chats/messages.py +72 -0
  9. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/messages/messages.py +6 -4
  10. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/__init__.py +4 -0
  11. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/connection_created_webhook_event.py +2 -0
  12. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/connection_revoked_webhook_event.py +2 -0
  13. linq_python-0.56.0/src/linq/types/inline_sticker_param.py +40 -0
  14. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/location_sharing_started_webhook_event.py +2 -0
  15. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/location_sharing_stopped_webhook_event.py +2 -0
  16. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_authorized_webhook_event.py +2 -0
  17. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_canceled_webhook_event.py +2 -0
  18. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_declined_webhook_event.py +2 -0
  19. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_expired_webhook_event.py +2 -0
  20. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_succeeded_webhook_event.py +2 -0
  21. linq_python-0.56.0/src/linq/types/phone_number_assigned_webhook_event.py +99 -0
  22. linq_python-0.56.0/src/linq/types/phone_number_released_webhook_event.py +99 -0
  23. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/phone_number_status_updated_webhook_event.py +2 -0
  24. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/schemas_text_part_response.py +10 -0
  25. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared/__init__.py +1 -0
  26. linq_python-0.56.0/src/linq/types/shared/inline_sticker_response.py +37 -0
  27. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared/text_part_response.py +10 -0
  28. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/text_part_param.py +28 -0
  29. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/unwrap_webhook_event.py +4 -0
  30. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/webhook_event_type.py +2 -0
  31. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/chats/test_messages.py +24 -0
  32. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_chats.py +24 -0
  33. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_messages.py +24 -0
  34. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_webhooks.py +2 -2
  35. {linq_python-0.54.0 → linq_python-0.56.0}/uv.lock +1 -1
  36. linq_python-0.54.0/.release-please-manifest.json +0 -3
  37. {linq_python-0.54.0 → linq_python-0.56.0}/.gitignore +0 -0
  38. {linq_python-0.54.0 → linq_python-0.56.0}/CONTRIBUTING.md +0 -0
  39. {linq_python-0.54.0 → linq_python-0.56.0}/LICENSE +0 -0
  40. {linq_python-0.54.0 → linq_python-0.56.0}/README.md +0 -0
  41. {linq_python-0.54.0 → linq_python-0.56.0}/SECURITY.md +0 -0
  42. {linq_python-0.54.0 → linq_python-0.56.0}/bin/check-release-environment +0 -0
  43. {linq_python-0.54.0 → linq_python-0.56.0}/bin/publish-pypi +0 -0
  44. {linq_python-0.54.0 → linq_python-0.56.0}/examples/.keep +0 -0
  45. {linq_python-0.54.0 → linq_python-0.56.0}/release-please-config.json +0 -0
  46. {linq_python-0.54.0 → linq_python-0.56.0}/requirements-dev.lock +0 -0
  47. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/__init__.py +0 -0
  48. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_base_client.py +0 -0
  49. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_client.py +0 -0
  50. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_compat.py +0 -0
  51. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_constants.py +0 -0
  52. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_exceptions.py +0 -0
  53. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_files.py +0 -0
  54. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_models.py +0 -0
  55. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_qs.py +0 -0
  56. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_resource.py +0 -0
  57. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_response.py +0 -0
  58. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_streaming.py +0 -0
  59. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_types.py +0 -0
  60. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/__init__.py +0 -0
  61. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_compat.py +0 -0
  62. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_datetime_parse.py +0 -0
  63. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_json.py +0 -0
  64. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_logs.py +0 -0
  65. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_path.py +0 -0
  66. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_proxy.py +0 -0
  67. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_reflection.py +0 -0
  68. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_resources_proxy.py +0 -0
  69. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_streams.py +0 -0
  70. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_sync.py +0 -0
  71. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_transform.py +0 -0
  72. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_typing.py +0 -0
  73. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/_utils/_utils.py +0 -0
  74. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/lib/.keep +0 -0
  75. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/pagination.py +0 -0
  76. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/py.typed +0 -0
  77. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/__init__.py +0 -0
  78. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/attachments.py +0 -0
  79. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/available_number.py +0 -0
  80. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/blocked_handles.py +0 -0
  81. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/capability.py +0 -0
  82. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/chats/__init__.py +0 -0
  83. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/chats/background.py +0 -0
  84. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/chats/location.py +0 -0
  85. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/chats/participants.py +0 -0
  86. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/chats/polls.py +0 -0
  87. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/chats/typing.py +0 -0
  88. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/contact_card.py +0 -0
  89. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/experiences.py +0 -0
  90. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/messages/__init__.py +0 -0
  91. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/messages/poll.py +0 -0
  92. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/payment_handles.py +0 -0
  93. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/payment_providers.py +0 -0
  94. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/payment_requests.py +0 -0
  95. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/payments.py +0 -0
  96. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/phone_numbers.py +0 -0
  97. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/phonenumbers.py +0 -0
  98. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/webhook_events.py +0 -0
  99. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/webhook_subscriptions.py +0 -0
  100. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/resources/webhooks.py +0 -0
  101. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/attachment_create_params.py +0 -0
  102. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/attachment_create_response.py +0 -0
  103. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/attachment_retrieve_response.py +0 -0
  104. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/available_number_retrieve_params.py +0 -0
  105. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/available_number_retrieve_response.py +0 -0
  106. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/blocked_handle_block_params.py +0 -0
  107. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/blocked_handle_block_response.py +0 -0
  108. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/blocked_handle_entry.py +0 -0
  109. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/blocked_handle_list_response.py +0 -0
  110. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/blocked_handle_unblock_params.py +0 -0
  111. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/capability_check_RCS_params.py +0 -0
  112. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/capability_check_i_message_params.py +0 -0
  113. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat.py +0 -0
  114. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_background_update_failed_webhook_event.py +0 -0
  115. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_background_updated_webhook_event.py +0 -0
  116. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_create_params.py +0 -0
  117. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_create_response.py +0 -0
  118. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_created_webhook_event.py +0 -0
  119. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_group_icon_update_failed_webhook_event.py +0 -0
  120. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_group_icon_updated_webhook_event.py +0 -0
  121. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_group_name_update_failed_webhook_event.py +0 -0
  122. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_group_name_updated_webhook_event.py +0 -0
  123. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_leave_chat_response.py +0 -0
  124. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_list_chats_params.py +0 -0
  125. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_send_voicememo_params.py +0 -0
  126. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_send_voicememo_response.py +0 -0
  127. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_typing_indicator_started_webhook_event.py +0 -0
  128. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_typing_indicator_stopped_webhook_event.py +0 -0
  129. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_update_params.py +0 -0
  130. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chat_update_response.py +0 -0
  131. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/__init__.py +0 -0
  132. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/background_set_params.py +0 -0
  133. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/get_chat_location_response.py +0 -0
  134. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/location_request_response.py +0 -0
  135. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/location_stop_params.py +0 -0
  136. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/message_list_params.py +0 -0
  137. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/message_send_params.py +0 -0
  138. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/message_send_response.py +0 -0
  139. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/participant_add_params.py +0 -0
  140. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/participant_add_response.py +0 -0
  141. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/participant_remove_params.py +0 -0
  142. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/participant_remove_response.py +0 -0
  143. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/poll.py +0 -0
  144. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/poll_create_params.py +0 -0
  145. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/poll_envelope.py +0 -0
  146. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/sent_message.py +0 -0
  147. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/chats/stop_chat_location_sharing_response.py +0 -0
  148. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/contact_card_create_params.py +0 -0
  149. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/contact_card_received_webhook_event.py +0 -0
  150. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/contact_card_retrieve_params.py +0 -0
  151. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/contact_card_retrieve_response.py +0 -0
  152. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/contact_card_update_params.py +0 -0
  153. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/experience_list_response.py +0 -0
  154. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/experience_retrieve_response.py +0 -0
  155. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/handle_check_response.py +0 -0
  156. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/link_part_param.py +0 -0
  157. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/media_part_param.py +0 -0
  158. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message.py +0 -0
  159. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_add_reaction_params.py +0 -0
  160. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_add_reaction_response.py +0 -0
  161. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_content_param.py +0 -0
  162. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_create_params.py +0 -0
  163. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_create_response.py +0 -0
  164. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_delivered_webhook_event.py +0 -0
  165. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_edited_webhook_event.py +0 -0
  166. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_effect.py +0 -0
  167. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_effect_param.py +0 -0
  168. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_event_v2.py +0 -0
  169. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_failed_webhook_event.py +0 -0
  170. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_list_messages_thread_params.py +0 -0
  171. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_read_webhook_event.py +0 -0
  172. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_received_webhook_event.py +0 -0
  173. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_sent_webhook_event.py +0 -0
  174. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_update_app_card_params.py +0 -0
  175. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_update_app_card_response.py +0 -0
  176. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_update_params.py +0 -0
  177. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_update_sticker_placement_params.py +0 -0
  178. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/message_update_sticker_placement_response.py +0 -0
  179. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/messages/__init__.py +0 -0
  180. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/messages/poll_add_options_params.py +0 -0
  181. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/messages/poll_vote_params.py +0 -0
  182. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/participant_added_webhook_event.py +0 -0
  183. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/participant_removed_webhook_event.py +0 -0
  184. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment.py +0 -0
  185. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_create_params.py +0 -0
  186. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_credentials_response.py +0 -0
  187. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_handle_connection.py +0 -0
  188. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_handle_verify_params.py +0 -0
  189. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_provider.py +0 -0
  190. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_provider_connect_params.py +0 -0
  191. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_provider_connect_response.py +0 -0
  192. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_request.py +0 -0
  193. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_request_create_params.py +0 -0
  194. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_request_list_params.py +0 -0
  195. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/payment_request_list_response.py +0 -0
  196. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/phone_number_list_response.py +0 -0
  197. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/phone_number_update_params.py +0 -0
  198. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/phone_number_update_response.py +0 -0
  199. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/phonenumber_list_response.py +0 -0
  200. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/poll_delivered_webhook_event.py +0 -0
  201. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/poll_failed_webhook_event.py +0 -0
  202. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/poll_reaction_added_webhook_event.py +0 -0
  203. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/poll_read_webhook_event.py +0 -0
  204. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/poll_received_webhook_event.py +0 -0
  205. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/poll_sent_webhook_event.py +0 -0
  206. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/poll_updated_webhook_event.py +0 -0
  207. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/poll_vote_added_webhook_event.py +0 -0
  208. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/poll_vote_removed_webhook_event.py +0 -0
  209. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reaction_added_webhook_event.py +0 -0
  210. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reaction_event_base.py +0 -0
  211. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reaction_removed_webhook_event.py +0 -0
  212. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reply_to.py +0 -0
  213. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reply_to_param.py +0 -0
  214. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reputation_action_item.py +0 -0
  215. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reputation_audit.py +0 -0
  216. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reputation_audit_started.py +0 -0
  217. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reputation_driver.py +0 -0
  218. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reputation_driver_key.py +0 -0
  219. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reputation_evidence.py +0 -0
  220. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reputation_opt_out_chat.py +0 -0
  221. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reputation_report.py +0 -0
  222. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/reputation_unhealthy_chat.py +0 -0
  223. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/schemas_media_part_response.py +0 -0
  224. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/schemas_message_effect.py +0 -0
  225. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/set_contact_card.py +0 -0
  226. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared/chat_handle.py +0 -0
  227. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared/link_part_response.py +0 -0
  228. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared/media_part_response.py +0 -0
  229. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared/reaction.py +0 -0
  230. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared/reaction_type.py +0 -0
  231. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared/service_type.py +0 -0
  232. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared/text_decoration.py +0 -0
  233. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared_params/__init__.py +0 -0
  234. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared_params/reaction_type.py +0 -0
  235. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared_params/service_type.py +0 -0
  236. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/shared_params/text_decoration.py +0 -0
  237. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/supported_content_type.py +0 -0
  238. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/webhook_event_list_response.py +0 -0
  239. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/webhook_subscription.py +0 -0
  240. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/webhook_subscription_create_params.py +0 -0
  241. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/webhook_subscription_create_response.py +0 -0
  242. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/webhook_subscription_list_response.py +0 -0
  243. {linq_python-0.54.0 → linq_python-0.56.0}/src/linq/types/webhook_subscription_update_params.py +0 -0
  244. {linq_python-0.54.0 → linq_python-0.56.0}/tests/__init__.py +0 -0
  245. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/__init__.py +0 -0
  246. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/chats/__init__.py +0 -0
  247. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/chats/test_background.py +0 -0
  248. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/chats/test_location.py +0 -0
  249. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/chats/test_participants.py +0 -0
  250. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/chats/test_polls.py +0 -0
  251. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/chats/test_typing.py +0 -0
  252. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/messages/__init__.py +0 -0
  253. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/messages/test_poll.py +0 -0
  254. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_attachments.py +0 -0
  255. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_available_number.py +0 -0
  256. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_blocked_handles.py +0 -0
  257. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_capability.py +0 -0
  258. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_contact_card.py +0 -0
  259. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_experiences.py +0 -0
  260. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_payment_handles.py +0 -0
  261. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_payment_providers.py +0 -0
  262. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_payment_requests.py +0 -0
  263. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_payments.py +0 -0
  264. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_phone_numbers.py +0 -0
  265. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_phonenumbers.py +0 -0
  266. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_webhook_events.py +0 -0
  267. {linq_python-0.54.0 → linq_python-0.56.0}/tests/api_resources/test_webhook_subscriptions.py +0 -0
  268. {linq_python-0.54.0 → linq_python-0.56.0}/tests/conftest.py +0 -0
  269. {linq_python-0.54.0 → linq_python-0.56.0}/tests/sample_file.txt +0 -0
  270. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_client.py +0 -0
  271. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_extract_files.py +0 -0
  272. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_files.py +0 -0
  273. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_models.py +0 -0
  274. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_qs.py +0 -0
  275. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_required_args.py +0 -0
  276. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_response.py +0 -0
  277. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_streaming.py +0 -0
  278. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_transform.py +0 -0
  279. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_utils/test_datetime_parse.py +0 -0
  280. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_utils/test_json.py +0 -0
  281. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_utils/test_path.py +0 -0
  282. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_utils/test_proxy.py +0 -0
  283. {linq_python-0.54.0 → linq_python-0.56.0}/tests/test_utils/test_typing.py +0 -0
  284. {linq_python-0.54.0 → linq_python-0.56.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.56.0"
3
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.56.0](https://github.com/linq-team/linq-python/compare/v0.55.0...v0.56.0) (2026-09-15)
4
+
5
+
6
+ ### Features
7
+
8
+ * add inline stickers support for imessage text messages ([abe79e1](https://github.com/linq-team/linq-python/commit/abe79e1abd474d6deec9627f3a32f13c00e19fcb))
9
+
10
+ ## [0.55.0](https://github.com/linq-team/linq-python/compare/v0.54.0...v0.55.0) (2026-09-14)
11
+
12
+
13
+ ### Features
14
+
15
+ * add phone_number.assigned and phone_number.released webhooks ([bd8240a](https://github.com/linq-team/linq-python/commit/bd8240a71a1c30ff9dbbff982bfdd4ae11edf718))
16
+
3
17
  ## [0.54.0](https://github.com/linq-team/linq-python/compare/v0.53.0...v0.54.0) (2026-09-14)
4
18
 
5
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: linq-python
3
- Version: 0.54.0
3
+ Version: 0.56.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
@@ -3,6 +3,7 @@
3
3
  ```python
4
4
  from linq.types import (
5
5
  ChatHandle,
6
+ InlineStickerResponse,
6
7
  LinkPartResponse,
7
8
  MediaPartResponse,
8
9
  Reaction,
@@ -20,6 +21,7 @@ Types:
20
21
  ```python
21
22
  from linq.types import (
22
23
  Chat,
24
+ InlineSticker,
23
25
  LinkPart,
24
26
  MediaPart,
25
27
  MessageContent,
@@ -387,6 +389,8 @@ from linq.types import (
387
389
  ChatBackgroundUpdateFailedWebhookEvent,
388
390
  ContactCardReceivedWebhookEvent,
389
391
  PhoneNumberStatusUpdatedWebhookEvent,
392
+ PhoneNumberAssignedWebhookEvent,
393
+ PhoneNumberReleasedWebhookEvent,
390
394
  ConnectionCreatedWebhookEvent,
391
395
  ConnectionRevokedWebhookEvent,
392
396
  LocationSharingStartedWebhookEvent,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "linq-python"
3
- version = "0.54.0"
3
+ version = "0.56.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.54.0" # x-release-please-version
4
+ __version__ = "0.56.0" # x-release-please-version
@@ -418,6 +418,42 @@ class ChatsResource(SyncAPIResource):
418
418
  participants, iMessage recipients see the decorations and SMS/RCS recipients
419
419
  receive the same message as plain text.
420
420
 
421
+ ## Inline Stickers (iMessage only)
422
+
423
+ Use the `inline_stickers` array on a text part to place stickers inside the
424
+ text. Each sticker replaces the characters in its `range: [start, end)` and
425
+ takes its image from exactly one of `url` or `attachment_id` — an image uploaded
426
+ with `POST /v3/attachments`.
427
+
428
+ ```json
429
+ {
430
+ "type": "text",
431
+ "value": "Happy birthday 🎂! 🎉🎉",
432
+ "inline_stickers": [
433
+ {
434
+ "range": [15, 17],
435
+ "attachment_id": "550e8400-e29b-41d4-a716-446655440000"
436
+ },
437
+ {
438
+ "range": [19, 21],
439
+ "attachment_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
440
+ },
441
+ {
442
+ "range": [21, 23],
443
+ "attachment_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
444
+ }
445
+ ]
446
+ }
447
+ ```
448
+
449
+ **Note:** A sticker takes the place of the characters it covers, so they are
450
+ hidden on iMessage: `"Sip cup"` with a sticker on `cup` reads "Sip [sticker]".
451
+ Those characters are what SMS and RCS recipients receive (the stickers are
452
+ dropped and `value` is sent as written) and what VoiceOver reads. To keep a word
453
+ visible, give the sticker its own placeholder: `"Sip cup 🥤"` with the range on
454
+ `🥤`. Up to 100 stickers and 10 different images per part; copies of one image
455
+ count as one.
456
+
421
457
  ## First-Message Link Restriction
422
458
 
423
459
  To protect sender deliverability, the **first outbound message** of a new chat
@@ -1189,6 +1225,42 @@ class AsyncChatsResource(AsyncAPIResource):
1189
1225
  participants, iMessage recipients see the decorations and SMS/RCS recipients
1190
1226
  receive the same message as plain text.
1191
1227
 
1228
+ ## Inline Stickers (iMessage only)
1229
+
1230
+ Use the `inline_stickers` array on a text part to place stickers inside the
1231
+ text. Each sticker replaces the characters in its `range: [start, end)` and
1232
+ takes its image from exactly one of `url` or `attachment_id` — an image uploaded
1233
+ with `POST /v3/attachments`.
1234
+
1235
+ ```json
1236
+ {
1237
+ "type": "text",
1238
+ "value": "Happy birthday 🎂! 🎉🎉",
1239
+ "inline_stickers": [
1240
+ {
1241
+ "range": [15, 17],
1242
+ "attachment_id": "550e8400-e29b-41d4-a716-446655440000"
1243
+ },
1244
+ {
1245
+ "range": [19, 21],
1246
+ "attachment_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
1247
+ },
1248
+ {
1249
+ "range": [21, 23],
1250
+ "attachment_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
1251
+ }
1252
+ ]
1253
+ }
1254
+ ```
1255
+
1256
+ **Note:** A sticker takes the place of the characters it covers, so they are
1257
+ hidden on iMessage: `"Sip cup"` with a sticker on `cup` reads "Sip [sticker]".
1258
+ Those characters are what SMS and RCS recipients receive (the stickers are
1259
+ dropped and `value` is sent as written) and what VoiceOver reads. To keep a word
1260
+ visible, give the sticker its own placeholder: `"Sip cup 🥤"` with the range on
1261
+ `🥤`. Up to 100 stickers and 10 different images per part; copies of one image
1262
+ count as one.
1263
+
1192
1264
  ## First-Message Link Restriction
1193
1265
 
1194
1266
  To protect sender deliverability, the **first outbound message** of a new chat
@@ -227,6 +227,42 @@ class MessagesResource(SyncAPIResource):
227
227
  participants, iMessage recipients see the decorations and SMS/RCS recipients
228
228
  receive the same message as plain text.
229
229
 
230
+ ## Inline Stickers (iMessage only)
231
+
232
+ Use the `inline_stickers` array on a text part to place stickers inside the
233
+ text. Each sticker replaces the characters in its `range: [start, end)` and
234
+ takes its image from exactly one of `url` or `attachment_id` — an image uploaded
235
+ with `POST /v3/attachments`.
236
+
237
+ ```json
238
+ {
239
+ "type": "text",
240
+ "value": "Happy birthday 🎂! 🎉🎉",
241
+ "inline_stickers": [
242
+ {
243
+ "range": [15, 17],
244
+ "attachment_id": "550e8400-e29b-41d4-a716-446655440000"
245
+ },
246
+ {
247
+ "range": [19, 21],
248
+ "attachment_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
249
+ },
250
+ {
251
+ "range": [21, 23],
252
+ "attachment_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
253
+ }
254
+ ]
255
+ }
256
+ ```
257
+
258
+ **Note:** A sticker takes the place of the characters it covers, so they are
259
+ hidden on iMessage: `"Sip cup"` with a sticker on `cup` reads "Sip [sticker]".
260
+ Those characters are what SMS and RCS recipients receive (the stickers are
261
+ dropped and `value` is sent as written) and what VoiceOver reads. To keep a word
262
+ visible, give the sticker its own placeholder: `"Sip cup 🥤"` with the range on
263
+ `🥤`. Up to 100 stickers and 10 different images per part; copies of one image
264
+ count as one.
265
+
230
266
  Args:
231
267
  message: Message content container. Groups all message-related fields together,
232
268
  separating the "what" (message content) from the "where" (routing fields like
@@ -472,6 +508,42 @@ class AsyncMessagesResource(AsyncAPIResource):
472
508
  participants, iMessage recipients see the decorations and SMS/RCS recipients
473
509
  receive the same message as plain text.
474
510
 
511
+ ## Inline Stickers (iMessage only)
512
+
513
+ Use the `inline_stickers` array on a text part to place stickers inside the
514
+ text. Each sticker replaces the characters in its `range: [start, end)` and
515
+ takes its image from exactly one of `url` or `attachment_id` — an image uploaded
516
+ with `POST /v3/attachments`.
517
+
518
+ ```json
519
+ {
520
+ "type": "text",
521
+ "value": "Happy birthday 🎂! 🎉🎉",
522
+ "inline_stickers": [
523
+ {
524
+ "range": [15, 17],
525
+ "attachment_id": "550e8400-e29b-41d4-a716-446655440000"
526
+ },
527
+ {
528
+ "range": [19, 21],
529
+ "attachment_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
530
+ },
531
+ {
532
+ "range": [21, 23],
533
+ "attachment_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
534
+ }
535
+ ]
536
+ }
537
+ ```
538
+
539
+ **Note:** A sticker takes the place of the characters it covers, so they are
540
+ hidden on iMessage: `"Sip cup"` with a sticker on `cup` reads "Sip [sticker]".
541
+ Those characters are what SMS and RCS recipients receive (the stickers are
542
+ dropped and `value` is sent as written) and what VoiceOver reads. To keep a word
543
+ visible, give the sticker its own placeholder: `"Sip cup 🥤"` with the range on
544
+ `🥤`. Up to 100 stickers and 10 different images per part; copies of one image
545
+ count as one.
546
+
475
547
  Args:
476
548
  message: Message content container. Groups all message-related fields together,
477
549
  separating the "what" (message content) from the "where" (routing fields like
@@ -276,10 +276,11 @@ class MessagesResource(SyncAPIResource):
276
276
  - Voice memos are **not** supported here. To send an iMessage voice-memo bubble,
277
277
  use `POST /v3/chats/{chatId}/voicememo` with a known chat id.
278
278
 
279
- ## Service preference, effects, decorations
279
+ ## Service preference, effects, decorations, inline stickers
280
280
 
281
281
  Set `message.preferred_service` (`iMessage` | `RCS` | `SMS`), `message.effect`,
282
- and per-part `text_decorations` exactly as on the other send endpoints.
282
+ and per-part `text_decorations` and `inline_stickers` exactly as on the other
283
+ send endpoints.
283
284
 
284
285
  Always responds `202 Accepted` — chat creation is incidental to the send.
285
286
 
@@ -1063,10 +1064,11 @@ class AsyncMessagesResource(AsyncAPIResource):
1063
1064
  - Voice memos are **not** supported here. To send an iMessage voice-memo bubble,
1064
1065
  use `POST /v3/chats/{chatId}/voicememo` with a known chat id.
1065
1066
 
1066
- ## Service preference, effects, decorations
1067
+ ## Service preference, effects, decorations, inline stickers
1067
1068
 
1068
1069
  Set `message.preferred_service` (`iMessage` | `RCS` | `SMS`), `message.effect`,
1069
- and per-part `text_decorations` exactly as on the other send endpoints.
1070
+ and per-part `text_decorations` and `inline_stickers` exactly as on the other
1071
+ send endpoints.
1070
1072
 
1071
1073
  Always responds `202 Accepted` — chat creation is incidental to the send.
1072
1074
 
@@ -12,6 +12,7 @@ from .shared import (
12
12
  LinkPartResponse as LinkPartResponse,
13
13
  TextPartResponse as TextPartResponse,
14
14
  MediaPartResponse as MediaPartResponse,
15
+ InlineStickerResponse as InlineStickerResponse,
15
16
  )
16
17
  from .message import Message as Message
17
18
  from .payment import Payment as Payment
@@ -36,6 +37,7 @@ from .reputation_evidence import ReputationEvidence as ReputationEvidence
36
37
  from .blocked_handle_entry import BlockedHandleEntry as BlockedHandleEntry
37
38
  from .chat_create_response import ChatCreateResponse as ChatCreateResponse
38
39
  from .chat_update_response import ChatUpdateResponse as ChatUpdateResponse
40
+ from .inline_sticker_param import InlineStickerParam as InlineStickerParam
39
41
  from .message_effect_param import MessageEffectParam as MessageEffectParam
40
42
  from .unwrap_webhook_event import UnwrapWebhookEvent as UnwrapWebhookEvent
41
43
  from .webhook_subscription import WebhookSubscription as WebhookSubscription
@@ -124,6 +126,8 @@ from .webhook_subscription_list_response import WebhookSubscriptionListResponse
124
126
  from .webhook_subscription_update_params import WebhookSubscriptionUpdateParams as WebhookSubscriptionUpdateParams
125
127
  from .contact_card_received_webhook_event import ContactCardReceivedWebhookEvent as ContactCardReceivedWebhookEvent
126
128
  from .message_list_messages_thread_params import MessageListMessagesThreadParams as MessageListMessagesThreadParams
129
+ from .phone_number_assigned_webhook_event import PhoneNumberAssignedWebhookEvent as PhoneNumberAssignedWebhookEvent
130
+ from .phone_number_released_webhook_event import PhoneNumberReleasedWebhookEvent as PhoneNumberReleasedWebhookEvent
127
131
  from .webhook_subscription_create_response import WebhookSubscriptionCreateResponse as WebhookSubscriptionCreateResponse
128
132
  from .chat_background_updated_webhook_event import (
129
133
  ChatBackgroundUpdatedWebhookEvent as ChatBackgroundUpdatedWebhookEvent,
@@ -182,6 +182,8 @@ class ConnectionCreatedWebhookEvent(BaseModel):
182
182
  "chat.typing_indicator.started",
183
183
  "chat.typing_indicator.stopped",
184
184
  "phone_number.status_updated",
185
+ "phone_number.assigned",
186
+ "phone_number.released",
185
187
  "contact_card.received",
186
188
  "call.initiated",
187
189
  "call.ringing",
@@ -182,6 +182,8 @@ class ConnectionRevokedWebhookEvent(BaseModel):
182
182
  "chat.typing_indicator.started",
183
183
  "chat.typing_indicator.stopped",
184
184
  "phone_number.status_updated",
185
+ "phone_number.assigned",
186
+ "phone_number.released",
185
187
  "contact_card.received",
186
188
  "call.initiated",
187
189
  "call.ringing",
@@ -0,0 +1,40 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Iterable
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["InlineStickerParam"]
9
+
10
+
11
+ class InlineStickerParam(TypedDict, total=False):
12
+ """
13
+ A sticker image placed inside the text of a part, replacing the characters in `range`.
14
+ Provide exactly one of `url` or `attachment_id`.
15
+ """
16
+
17
+ range: Required[Iterable[int]]
18
+ """
19
+ Character range `[start, end)` in the `value` string that the sticker replaces.
20
+ `start` is inclusive, `end` is exclusive. Those characters are hidden on
21
+ iMessage and sent as written on SMS and RCS. _Characters are measured as UTF-16
22
+ code units. Most characters count as 1; some emoji count as 2._
23
+ """
24
+
25
+ attachment_id: str
26
+ """Reference to a sticker image pre-uploaded via `POST /v3/attachments`.
27
+
28
+ Exactly one of `url` or `attachment_id` is required.
29
+ """
30
+
31
+ url: str
32
+ """
33
+ Linq attachment URL of the sticker image — the `download_url` returned by
34
+ `POST /v3/attachments`.
35
+
36
+ The image must already be stored with us. To use an image from elsewhere, upload
37
+ it with `POST /v3/attachments` first and pass `attachment_id`.
38
+
39
+ Exactly one of `url` or `attachment_id` is required.
40
+ """
@@ -79,6 +79,8 @@ class LocationSharingStartedWebhookEvent(BaseModel):
79
79
  "chat.typing_indicator.started",
80
80
  "chat.typing_indicator.stopped",
81
81
  "phone_number.status_updated",
82
+ "phone_number.assigned",
83
+ "phone_number.released",
82
84
  "contact_card.received",
83
85
  "call.initiated",
84
86
  "call.ringing",
@@ -77,6 +77,8 @@ class LocationSharingStoppedWebhookEvent(BaseModel):
77
77
  "chat.typing_indicator.started",
78
78
  "chat.typing_indicator.stopped",
79
79
  "phone_number.status_updated",
80
+ "phone_number.assigned",
81
+ "phone_number.released",
80
82
  "contact_card.received",
81
83
  "call.initiated",
82
84
  "call.ringing",
@@ -182,6 +182,8 @@ class PaymentAuthorizedWebhookEvent(BaseModel):
182
182
  "chat.typing_indicator.started",
183
183
  "chat.typing_indicator.stopped",
184
184
  "phone_number.status_updated",
185
+ "phone_number.assigned",
186
+ "phone_number.released",
185
187
  "contact_card.received",
186
188
  "call.initiated",
187
189
  "call.ringing",
@@ -182,6 +182,8 @@ class PaymentCanceledWebhookEvent(BaseModel):
182
182
  "chat.typing_indicator.started",
183
183
  "chat.typing_indicator.stopped",
184
184
  "phone_number.status_updated",
185
+ "phone_number.assigned",
186
+ "phone_number.released",
185
187
  "contact_card.received",
186
188
  "call.initiated",
187
189
  "call.ringing",
@@ -182,6 +182,8 @@ class PaymentDeclinedWebhookEvent(BaseModel):
182
182
  "chat.typing_indicator.started",
183
183
  "chat.typing_indicator.stopped",
184
184
  "phone_number.status_updated",
185
+ "phone_number.assigned",
186
+ "phone_number.released",
185
187
  "contact_card.received",
186
188
  "call.initiated",
187
189
  "call.ringing",
@@ -182,6 +182,8 @@ class PaymentExpiredWebhookEvent(BaseModel):
182
182
  "chat.typing_indicator.started",
183
183
  "chat.typing_indicator.stopped",
184
184
  "phone_number.status_updated",
185
+ "phone_number.assigned",
186
+ "phone_number.released",
185
187
  "contact_card.received",
186
188
  "call.initiated",
187
189
  "call.ringing",
@@ -182,6 +182,8 @@ class PaymentSucceededWebhookEvent(BaseModel):
182
182
  "chat.typing_indicator.started",
183
183
  "chat.typing_indicator.stopped",
184
184
  "phone_number.status_updated",
185
+ "phone_number.assigned",
186
+ "phone_number.released",
185
187
  "contact_card.received",
186
188
  "call.initiated",
187
189
  "call.ringing",
@@ -0,0 +1,99 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from datetime import datetime
4
+ from typing_extensions import Literal
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["PhoneNumberAssignedWebhookEvent", "Data"]
9
+
10
+
11
+ class Data(BaseModel):
12
+ """Payload for phone_number.assigned and phone_number.released webhook events"""
13
+
14
+ changed_at: datetime
15
+ """When the ownership change occurred"""
16
+
17
+ phone_number: str
18
+ """Phone number in E.164 format"""
19
+
20
+
21
+ class PhoneNumberAssignedWebhookEvent(BaseModel):
22
+ """Complete webhook payload for phone_number.assigned events"""
23
+
24
+ api_version: str
25
+ """API version for the webhook payload format"""
26
+
27
+ created_at: datetime
28
+ """When the event was created"""
29
+
30
+ data: Data
31
+ """Payload for phone_number.assigned and phone_number.released webhook events"""
32
+
33
+ event_id: str
34
+ """Unique identifier for this event (for deduplication)"""
35
+
36
+ event_type: Literal[
37
+ "message.sent",
38
+ "message.received",
39
+ "message.read",
40
+ "message.delivered",
41
+ "message.failed",
42
+ "message.edited",
43
+ "reaction.added",
44
+ "reaction.removed",
45
+ "poll.received",
46
+ "poll.failed",
47
+ "poll.sent",
48
+ "poll.delivered",
49
+ "poll.read",
50
+ "poll.updated",
51
+ "poll.vote.added",
52
+ "poll.vote.removed",
53
+ "poll.reaction.added",
54
+ "participant.added",
55
+ "participant.removed",
56
+ "chat.created",
57
+ "chat.group_name_updated",
58
+ "chat.group_icon_updated",
59
+ "chat.group_name_update_failed",
60
+ "chat.group_icon_update_failed",
61
+ "chat.background_updated",
62
+ "chat.background_update_failed",
63
+ "chat.typing_indicator.started",
64
+ "chat.typing_indicator.stopped",
65
+ "phone_number.status_updated",
66
+ "phone_number.assigned",
67
+ "phone_number.released",
68
+ "contact_card.received",
69
+ "call.initiated",
70
+ "call.ringing",
71
+ "call.answered",
72
+ "call.ended",
73
+ "call.failed",
74
+ "call.declined",
75
+ "call.no_answer",
76
+ "location.sharing.started",
77
+ "location.sharing.stopped",
78
+ "payment.succeeded",
79
+ "payment.canceled",
80
+ "payment.expired",
81
+ "payment.declined",
82
+ "payment.authorized",
83
+ "connection.created",
84
+ "connection.revoked",
85
+ ]
86
+ """The type of event"""
87
+
88
+ partner_id: str
89
+ """Partner identifier. Present on all webhooks for cross-referencing."""
90
+
91
+ trace_id: str
92
+ """Trace ID for debugging and correlation across systems."""
93
+
94
+ webhook_version: str
95
+ """
96
+ Date-based webhook payload version. Determined by the `?version=` query
97
+ parameter in your webhook subscription URL. If no version parameter is
98
+ specified, defaults based on subscription creation date.
99
+ """
@@ -0,0 +1,99 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from datetime import datetime
4
+ from typing_extensions import Literal
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["PhoneNumberReleasedWebhookEvent", "Data"]
9
+
10
+
11
+ class Data(BaseModel):
12
+ """Payload for phone_number.assigned and phone_number.released webhook events"""
13
+
14
+ changed_at: datetime
15
+ """When the ownership change occurred"""
16
+
17
+ phone_number: str
18
+ """Phone number in E.164 format"""
19
+
20
+
21
+ class PhoneNumberReleasedWebhookEvent(BaseModel):
22
+ """Complete webhook payload for phone_number.released events"""
23
+
24
+ api_version: str
25
+ """API version for the webhook payload format"""
26
+
27
+ created_at: datetime
28
+ """When the event was created"""
29
+
30
+ data: Data
31
+ """Payload for phone_number.assigned and phone_number.released webhook events"""
32
+
33
+ event_id: str
34
+ """Unique identifier for this event (for deduplication)"""
35
+
36
+ event_type: Literal[
37
+ "message.sent",
38
+ "message.received",
39
+ "message.read",
40
+ "message.delivered",
41
+ "message.failed",
42
+ "message.edited",
43
+ "reaction.added",
44
+ "reaction.removed",
45
+ "poll.received",
46
+ "poll.failed",
47
+ "poll.sent",
48
+ "poll.delivered",
49
+ "poll.read",
50
+ "poll.updated",
51
+ "poll.vote.added",
52
+ "poll.vote.removed",
53
+ "poll.reaction.added",
54
+ "participant.added",
55
+ "participant.removed",
56
+ "chat.created",
57
+ "chat.group_name_updated",
58
+ "chat.group_icon_updated",
59
+ "chat.group_name_update_failed",
60
+ "chat.group_icon_update_failed",
61
+ "chat.background_updated",
62
+ "chat.background_update_failed",
63
+ "chat.typing_indicator.started",
64
+ "chat.typing_indicator.stopped",
65
+ "phone_number.status_updated",
66
+ "phone_number.assigned",
67
+ "phone_number.released",
68
+ "contact_card.received",
69
+ "call.initiated",
70
+ "call.ringing",
71
+ "call.answered",
72
+ "call.ended",
73
+ "call.failed",
74
+ "call.declined",
75
+ "call.no_answer",
76
+ "location.sharing.started",
77
+ "location.sharing.stopped",
78
+ "payment.succeeded",
79
+ "payment.canceled",
80
+ "payment.expired",
81
+ "payment.declined",
82
+ "payment.authorized",
83
+ "connection.created",
84
+ "connection.revoked",
85
+ ]
86
+ """The type of event"""
87
+
88
+ partner_id: str
89
+ """Partner identifier. Present on all webhooks for cross-referencing."""
90
+
91
+ trace_id: str
92
+ """Trace ID for debugging and correlation across systems."""
93
+
94
+ webhook_version: str
95
+ """
96
+ Date-based webhook payload version. Determined by the `?version=` query
97
+ parameter in your webhook subscription URL. If no version parameter is
98
+ specified, defaults based on subscription creation date.
99
+ """
@@ -75,6 +75,8 @@ class PhoneNumberStatusUpdatedWebhookEvent(BaseModel):
75
75
  "chat.typing_indicator.started",
76
76
  "chat.typing_indicator.stopped",
77
77
  "phone_number.status_updated",
78
+ "phone_number.assigned",
79
+ "phone_number.released",
78
80
  "contact_card.received",
79
81
  "call.initiated",
80
82
  "call.ringing",
@@ -5,6 +5,7 @@ from typing_extensions import Literal
5
5
 
6
6
  from .._models import BaseModel
7
7
  from .shared.text_decoration import TextDecoration
8
+ from .shared.inline_sticker_response import InlineStickerResponse
8
9
 
9
10
  __all__ = ["SchemasTextPartResponse", "Mention"]
10
11
 
@@ -42,6 +43,15 @@ class SchemasTextPartResponse(BaseModel):
42
43
  value: str
43
44
  """The text content"""
44
45
 
46
+ inline_stickers: Optional[List[InlineStickerResponse]] = None
47
+ """Stickers placed inside the text, in the order they appear in `value`.
48
+
49
+ `null` when the part has none.
50
+
51
+ Set on messages sent with `inline_stickers`. An inline sticker received over
52
+ iMessage currently arrives as a separate media part.
53
+ """
54
+
45
55
  mention: Optional[str] = None
46
56
  """DEPRECATED: Use `mentions` instead.
47
57