linq-python 0.14.0__tar.gz → 0.15.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 (191) hide show
  1. linq_python-0.15.0/.release-please-manifest.json +3 -0
  2. {linq_python-0.14.0 → linq_python-0.15.0}/CHANGELOG.md +7 -0
  3. {linq_python-0.14.0 → linq_python-0.15.0}/PKG-INFO +1 -1
  4. {linq_python-0.14.0 → linq_python-0.15.0}/pyproject.toml +1 -1
  5. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_version.py +1 -1
  6. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat.py +6 -0
  7. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/sent_message.py +7 -21
  8. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message.py +7 -21
  9. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_content_param.py +7 -24
  10. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_event_v2.py +0 -12
  11. linq_python-0.15.0/src/linq/types/phone_number_list_response.py +99 -0
  12. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/phone_number_status_updated_webhook_event.py +26 -2
  13. {linq_python-0.14.0 → linq_python-0.15.0}/uv.lock +1 -1
  14. linq_python-0.14.0/.release-please-manifest.json +0 -3
  15. linq_python-0.14.0/src/linq/types/phone_number_list_response.py +0 -60
  16. {linq_python-0.14.0 → linq_python-0.15.0}/.gitignore +0 -0
  17. {linq_python-0.14.0 → linq_python-0.15.0}/CONTRIBUTING.md +0 -0
  18. {linq_python-0.14.0 → linq_python-0.15.0}/LICENSE +0 -0
  19. {linq_python-0.14.0 → linq_python-0.15.0}/README.md +0 -0
  20. {linq_python-0.14.0 → linq_python-0.15.0}/SECURITY.md +0 -0
  21. {linq_python-0.14.0 → linq_python-0.15.0}/api.md +0 -0
  22. {linq_python-0.14.0 → linq_python-0.15.0}/bin/check-release-environment +0 -0
  23. {linq_python-0.14.0 → linq_python-0.15.0}/bin/publish-pypi +0 -0
  24. {linq_python-0.14.0 → linq_python-0.15.0}/examples/.keep +0 -0
  25. {linq_python-0.14.0 → linq_python-0.15.0}/release-please-config.json +0 -0
  26. {linq_python-0.14.0 → linq_python-0.15.0}/requirements-dev.lock +0 -0
  27. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/__init__.py +0 -0
  28. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_base_client.py +0 -0
  29. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_client.py +0 -0
  30. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_compat.py +0 -0
  31. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_constants.py +0 -0
  32. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_exceptions.py +0 -0
  33. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_files.py +0 -0
  34. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_models.py +0 -0
  35. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_qs.py +0 -0
  36. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_resource.py +0 -0
  37. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_response.py +0 -0
  38. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_streaming.py +0 -0
  39. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_types.py +0 -0
  40. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/__init__.py +0 -0
  41. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_compat.py +0 -0
  42. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_datetime_parse.py +0 -0
  43. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_json.py +0 -0
  44. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_logs.py +0 -0
  45. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_path.py +0 -0
  46. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_proxy.py +0 -0
  47. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_reflection.py +0 -0
  48. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_resources_proxy.py +0 -0
  49. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_streams.py +0 -0
  50. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_sync.py +0 -0
  51. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_transform.py +0 -0
  52. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_typing.py +0 -0
  53. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/_utils/_utils.py +0 -0
  54. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/lib/.keep +0 -0
  55. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/pagination.py +0 -0
  56. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/py.typed +0 -0
  57. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/__init__.py +0 -0
  58. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/attachments.py +0 -0
  59. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/capability.py +0 -0
  60. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/chats/__init__.py +0 -0
  61. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/chats/chats.py +0 -0
  62. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/chats/location.py +0 -0
  63. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/chats/messages.py +0 -0
  64. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/chats/participants.py +0 -0
  65. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/chats/typing.py +0 -0
  66. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/contact_card.py +0 -0
  67. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/messages.py +0 -0
  68. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/phone_numbers.py +0 -0
  69. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/phonenumbers.py +0 -0
  70. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/webhook_events.py +0 -0
  71. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/webhook_subscriptions.py +0 -0
  72. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/resources/webhooks.py +0 -0
  73. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/__init__.py +0 -0
  74. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/attachment_create_params.py +0 -0
  75. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/attachment_create_response.py +0 -0
  76. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/attachment_retrieve_response.py +0 -0
  77. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/capability_check_RCS_params.py +0 -0
  78. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/capability_check_i_message_params.py +0 -0
  79. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_create_params.py +0 -0
  80. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_create_response.py +0 -0
  81. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_created_webhook_event.py +0 -0
  82. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_group_icon_update_failed_webhook_event.py +0 -0
  83. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_group_icon_updated_webhook_event.py +0 -0
  84. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_group_name_update_failed_webhook_event.py +0 -0
  85. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_group_name_updated_webhook_event.py +0 -0
  86. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_leave_chat_response.py +0 -0
  87. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_list_chats_params.py +0 -0
  88. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_send_voicememo_params.py +0 -0
  89. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_send_voicememo_response.py +0 -0
  90. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_typing_indicator_started_webhook_event.py +0 -0
  91. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_typing_indicator_stopped_webhook_event.py +0 -0
  92. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_update_params.py +0 -0
  93. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chat_update_response.py +0 -0
  94. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/__init__.py +0 -0
  95. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/get_chat_location_response.py +0 -0
  96. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/location_request_response.py +0 -0
  97. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/message_list_params.py +0 -0
  98. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/message_send_params.py +0 -0
  99. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/message_send_response.py +0 -0
  100. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/participant_add_params.py +0 -0
  101. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/participant_add_response.py +0 -0
  102. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/participant_remove_params.py +0 -0
  103. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/chats/participant_remove_response.py +0 -0
  104. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/contact_card_create_params.py +0 -0
  105. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/contact_card_retrieve_params.py +0 -0
  106. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/contact_card_retrieve_response.py +0 -0
  107. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/contact_card_update_params.py +0 -0
  108. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/handle_check_response.py +0 -0
  109. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/link_part_param.py +0 -0
  110. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/media_part_param.py +0 -0
  111. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_add_reaction_params.py +0 -0
  112. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_add_reaction_response.py +0 -0
  113. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_delivered_webhook_event.py +0 -0
  114. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_edited_webhook_event.py +0 -0
  115. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_effect.py +0 -0
  116. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_effect_param.py +0 -0
  117. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_failed_webhook_event.py +0 -0
  118. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_list_messages_thread_params.py +0 -0
  119. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_read_webhook_event.py +0 -0
  120. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_received_webhook_event.py +0 -0
  121. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_sent_webhook_event.py +0 -0
  122. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/message_update_params.py +0 -0
  123. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/participant_added_webhook_event.py +0 -0
  124. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/participant_removed_webhook_event.py +0 -0
  125. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/phonenumber_list_response.py +0 -0
  126. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/reaction_added_webhook_event.py +0 -0
  127. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/reaction_event_base.py +0 -0
  128. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/reaction_removed_webhook_event.py +0 -0
  129. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/reply_to.py +0 -0
  130. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/reply_to_param.py +0 -0
  131. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/schemas_media_part_response.py +0 -0
  132. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/schemas_message_effect.py +0 -0
  133. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/schemas_text_part_response.py +0 -0
  134. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/set_contact_card.py +0 -0
  135. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared/__init__.py +0 -0
  136. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared/chat_handle.py +0 -0
  137. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared/link_part_response.py +0 -0
  138. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared/media_part_response.py +0 -0
  139. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared/reaction.py +0 -0
  140. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared/reaction_type.py +0 -0
  141. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared/service_type.py +0 -0
  142. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared/text_decoration.py +0 -0
  143. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared/text_part_response.py +0 -0
  144. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared_params/__init__.py +0 -0
  145. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared_params/reaction_type.py +0 -0
  146. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared_params/service_type.py +0 -0
  147. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/shared_params/text_decoration.py +0 -0
  148. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/supported_content_type.py +0 -0
  149. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/text_part_param.py +0 -0
  150. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/unwrap_webhook_event.py +0 -0
  151. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/webhook_event_list_response.py +0 -0
  152. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/webhook_event_type.py +0 -0
  153. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/webhook_subscription.py +0 -0
  154. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/webhook_subscription_create_params.py +0 -0
  155. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/webhook_subscription_create_response.py +0 -0
  156. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/webhook_subscription_list_response.py +0 -0
  157. {linq_python-0.14.0 → linq_python-0.15.0}/src/linq/types/webhook_subscription_update_params.py +0 -0
  158. {linq_python-0.14.0 → linq_python-0.15.0}/tests/__init__.py +0 -0
  159. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/__init__.py +0 -0
  160. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/chats/__init__.py +0 -0
  161. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/chats/test_location.py +0 -0
  162. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/chats/test_messages.py +0 -0
  163. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/chats/test_participants.py +0 -0
  164. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/chats/test_typing.py +0 -0
  165. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/test_attachments.py +0 -0
  166. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/test_capability.py +0 -0
  167. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/test_chats.py +0 -0
  168. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/test_contact_card.py +0 -0
  169. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/test_messages.py +0 -0
  170. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/test_phone_numbers.py +0 -0
  171. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/test_phonenumbers.py +0 -0
  172. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/test_webhook_events.py +0 -0
  173. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/test_webhook_subscriptions.py +0 -0
  174. {linq_python-0.14.0 → linq_python-0.15.0}/tests/api_resources/test_webhooks.py +0 -0
  175. {linq_python-0.14.0 → linq_python-0.15.0}/tests/conftest.py +0 -0
  176. {linq_python-0.14.0 → linq_python-0.15.0}/tests/sample_file.txt +0 -0
  177. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_client.py +0 -0
  178. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_extract_files.py +0 -0
  179. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_files.py +0 -0
  180. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_models.py +0 -0
  181. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_qs.py +0 -0
  182. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_required_args.py +0 -0
  183. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_response.py +0 -0
  184. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_streaming.py +0 -0
  185. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_transform.py +0 -0
  186. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_utils/test_datetime_parse.py +0 -0
  187. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_utils/test_json.py +0 -0
  188. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_utils/test_path.py +0 -0
  189. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_utils/test_proxy.py +0 -0
  190. {linq_python-0.14.0 → linq_python-0.15.0}/tests/test_utils/test_typing.py +0 -0
  191. {linq_python-0.14.0 → linq_python-0.15.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.15.0"
3
+ }
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.15.0](https://github.com/linq-team/linq-python/compare/v0.14.0...v0.15.0) (2026-06-21)
4
+
5
+
6
+ ### Features
7
+
8
+ * phone line reputation + group chat icon; remove iMessage app image layout & session_id ([#32](https://github.com/linq-team/linq-python/issues/32)) ([736fe20](https://github.com/linq-team/linq-python/commit/736fe201b71b3c3bf88c5621621a0a5fbee4ac56))
9
+
3
10
  ## [0.14.0](https://github.com/linq-team/linq-python/compare/v0.13.0...v0.14.0) (2026-06-10)
4
11
 
5
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: linq-python
3
- Version: 0.14.0
3
+ Version: 0.15.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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "linq-python"
3
- version = "0.14.0"
3
+ version = "0.15.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.14.0" # x-release-please-version
4
+ __version__ = "0.15.0" # x-release-please-version
@@ -83,5 +83,11 @@ class Chat(BaseModel):
83
83
  updated_at: datetime
84
84
  """When the chat was last updated"""
85
85
 
86
+ group_chat_icon: Optional[str] = None
87
+ """URL of the group chat icon.
88
+
89
+ Only set for group chats that have an icon; `null` otherwise.
90
+ """
91
+
86
92
  service: Optional[ServiceType] = None
87
93
  """Messaging service type"""
@@ -47,26 +47,14 @@ class PartIMessageAppPartResponseLayout(BaseModel):
47
47
  """Visible layout of the card.
48
48
 
49
49
  At least one of
50
- `caption`, `subcaption`, `trailing_caption`, `trailing_subcaption`, or `image_url` must be
51
- set, otherwise the card renders as an empty bubble.
50
+ `caption`, `subcaption`, `trailing_caption`, or `trailing_subcaption` must be set, otherwise
51
+ the card renders as an empty bubble. Any image on the card is drawn by the recipient's
52
+ installed app extension; it cannot be supplied here.
52
53
  """
53
54
 
54
55
  caption: Optional[str] = None
55
56
  """Primary label, top-left and bold."""
56
57
 
57
- image_subtitle: Optional[str] = None
58
- """Overlay text shown below `image_title`. Requires `image_url`."""
59
-
60
- image_title: Optional[str] = None
61
- """Overlay text shown above the image. Requires `image_url`."""
62
-
63
- image_url: Optional[str] = None
64
- """Optional HTTPS URL of a preview image.
65
-
66
- The server downloads it and embeds it in the card as JPEG (10MB max, same fetch
67
- rules as media parts).
68
- """
69
-
70
58
  subcaption: Optional[str] = None
71
59
  """Secondary label, below `caption` on the left."""
72
60
 
@@ -86,9 +74,10 @@ class PartIMessageAppPartResponse(BaseModel):
86
74
  layout: PartIMessageAppPartResponseLayout
87
75
  """Visible layout of the card.
88
76
 
89
- At least one of `caption`, `subcaption`, `trailing_caption`,
90
- `trailing_subcaption`, or `image_url` must be set, otherwise the card renders as
91
- an empty bubble.
77
+ At least one of `caption`, `subcaption`, `trailing_caption`, or
78
+ `trailing_subcaption` must be set, otherwise the card renders as an empty
79
+ bubble. Any image on the card is drawn by the recipient's installed app
80
+ extension; it cannot be supplied here.
92
81
  """
93
82
 
94
83
  reactions: Optional[List[Reaction]] = None
@@ -103,9 +92,6 @@ class PartIMessageAppPartResponse(BaseModel):
103
92
  fallback_text: Optional[str] = None
104
93
  """Fallback text for surfaces that cannot render the card."""
105
94
 
106
- session_id: Optional[str] = None
107
- """Client-supplied session identifier, echoed back when provided."""
108
-
109
95
 
110
96
  Part: TypeAlias = Union[TextPartResponse, MediaPartResponse, LinkPartResponse, PartIMessageAppPartResponse]
111
97
 
@@ -49,26 +49,14 @@ class PartIMessageAppPartResponseLayout(BaseModel):
49
49
  """Visible layout of the card.
50
50
 
51
51
  At least one of
52
- `caption`, `subcaption`, `trailing_caption`, `trailing_subcaption`, or `image_url` must be
53
- set, otherwise the card renders as an empty bubble.
52
+ `caption`, `subcaption`, `trailing_caption`, or `trailing_subcaption` must be set, otherwise
53
+ the card renders as an empty bubble. Any image on the card is drawn by the recipient's
54
+ installed app extension; it cannot be supplied here.
54
55
  """
55
56
 
56
57
  caption: Optional[str] = None
57
58
  """Primary label, top-left and bold."""
58
59
 
59
- image_subtitle: Optional[str] = None
60
- """Overlay text shown below `image_title`. Requires `image_url`."""
61
-
62
- image_title: Optional[str] = None
63
- """Overlay text shown above the image. Requires `image_url`."""
64
-
65
- image_url: Optional[str] = None
66
- """Optional HTTPS URL of a preview image.
67
-
68
- The server downloads it and embeds it in the card as JPEG (10MB max, same fetch
69
- rules as media parts).
70
- """
71
-
72
60
  subcaption: Optional[str] = None
73
61
  """Secondary label, below `caption` on the left."""
74
62
 
@@ -88,9 +76,10 @@ class PartIMessageAppPartResponse(BaseModel):
88
76
  layout: PartIMessageAppPartResponseLayout
89
77
  """Visible layout of the card.
90
78
 
91
- At least one of `caption`, `subcaption`, `trailing_caption`,
92
- `trailing_subcaption`, or `image_url` must be set, otherwise the card renders as
93
- an empty bubble.
79
+ At least one of `caption`, `subcaption`, `trailing_caption`, or
80
+ `trailing_subcaption` must be set, otherwise the card renders as an empty
81
+ bubble. Any image on the card is drawn by the recipient's installed app
82
+ extension; it cannot be supplied here.
94
83
  """
95
84
 
96
85
  reactions: Optional[List[Reaction]] = None
@@ -105,9 +94,6 @@ class PartIMessageAppPartResponse(BaseModel):
105
94
  fallback_text: Optional[str] = None
106
95
  """Fallback text for surfaces that cannot render the card."""
107
96
 
108
- session_id: Optional[str] = None
109
- """Client-supplied session identifier, echoed back when provided."""
110
-
111
97
 
112
98
  Part: TypeAlias = Union[TextPartResponse, MediaPartResponse, LinkPartResponse, PartIMessageAppPartResponse]
113
99
 
@@ -39,26 +39,14 @@ class PartIMessageAppPartLayout(TypedDict, total=False):
39
39
  """Visible layout of the card.
40
40
 
41
41
  At least one of
42
- `caption`, `subcaption`, `trailing_caption`, `trailing_subcaption`, or `image_url` must be
43
- set, otherwise the card renders as an empty bubble.
42
+ `caption`, `subcaption`, `trailing_caption`, or `trailing_subcaption` must be set, otherwise
43
+ the card renders as an empty bubble. Any image on the card is drawn by the recipient's
44
+ installed app extension; it cannot be supplied here.
44
45
  """
45
46
 
46
47
  caption: str
47
48
  """Primary label, top-left and bold."""
48
49
 
49
- image_subtitle: str
50
- """Overlay text shown below `image_title`. Requires `image_url`."""
51
-
52
- image_title: str
53
- """Overlay text shown above the image. Requires `image_url`."""
54
-
55
- image_url: str
56
- """Optional HTTPS URL of a preview image.
57
-
58
- The server downloads it and embeds it in the card as JPEG (10MB max, same fetch
59
- rules as media parts).
60
- """
61
-
62
50
  subcaption: str
63
51
  """Secondary label, below `caption` on the left."""
64
52
 
@@ -84,9 +72,10 @@ class PartIMessageAppPart(TypedDict, total=False):
84
72
  layout: Required[PartIMessageAppPartLayout]
85
73
  """Visible layout of the card.
86
74
 
87
- At least one of `caption`, `subcaption`, `trailing_caption`,
88
- `trailing_subcaption`, or `image_url` must be set, otherwise the card renders as
89
- an empty bubble.
75
+ At least one of `caption`, `subcaption`, `trailing_caption`, or
76
+ `trailing_subcaption` must be set, otherwise the card renders as an empty
77
+ bubble. Any image on the card is drawn by the recipient's installed app
78
+ extension; it cannot be supplied here.
90
79
  """
91
80
 
92
81
  type: Required[Literal["imessage_app"]]
@@ -104,12 +93,6 @@ class PartIMessageAppPart(TypedDict, total=False):
104
93
  Defaults to the caption when omitted.
105
94
  """
106
95
 
107
- session_id: str
108
- """
109
- Optional client-supplied identifier to correlate updatable/collaborative app
110
- sessions (advanced). Not interpreted by Synapse.
111
- """
112
-
113
96
 
114
97
  Part: TypeAlias = Union[TextPartParam, MediaPartParam, LinkPartParam, PartIMessageAppPart]
115
98
 
@@ -109,15 +109,6 @@ class PartSchemasIMessageAppPartResponseLayout(BaseModel):
109
109
  caption: Optional[str] = None
110
110
  """Primary label, top-left and bold."""
111
111
 
112
- image_subtitle: Optional[str] = None
113
- """Overlay text shown below image_title."""
114
-
115
- image_title: Optional[str] = None
116
- """Overlay text shown above the image."""
117
-
118
- image_url: Optional[str] = None
119
- """Presigned URL of the card preview image, when present."""
120
-
121
112
  subcaption: Optional[str] = None
122
113
  """Secondary label, below caption on the left."""
123
114
 
@@ -146,9 +137,6 @@ class PartSchemasIMessageAppPartResponse(BaseModel):
146
137
  fallback_text: Optional[str] = None
147
138
  """Fallback text for surfaces that cannot render the card."""
148
139
 
149
- session_id: Optional[str] = None
150
- """Client-supplied session identifier, echoed back when provided."""
151
-
152
140
 
153
141
  Part: TypeAlias = Annotated[
154
142
  Union[
@@ -0,0 +1,99 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+ from typing_extensions import Literal
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["PhoneNumberListResponse", "PhoneNumber", "PhoneNumberHealthStatus", "PhoneNumberReputation"]
9
+
10
+
11
+ class PhoneNumberHealthStatus(BaseModel):
12
+ """**[BETA]** Current reputation for a phone line.
13
+
14
+ Always present — lines start at `HEALTHY` and may shift based on aggregate engagement and delivery signals across all conversations on the line.
15
+
16
+ Unlike chat health, line reputation does not include `opted_out` — opt-out applies to individual recipients, not the whole line.
17
+
18
+ See the [Phone Health guide](/guides/phone-numbers/phone-health) for what each status means and how to react.
19
+ """
20
+
21
+ doc_url: str
22
+ """Deep-link to the relevant section of the Phone Health guide for this status."""
23
+
24
+ status: Literal["HEALTHY", "AT_RISK", "CRITICAL"]
25
+ """Current reputation of this phone line as assessed by risk-service.
26
+
27
+ - `HEALTHY` — No elevated risk detected.
28
+ - `AT_RISK` — Elevated risk indicators present; consider reducing send volume or
29
+ reviewing messaging patterns.
30
+ - `CRITICAL` — High risk; further sending may result in line flagging or
31
+ restriction.
32
+
33
+ Defaults to `HEALTHY` for lines that have not yet been scored.
34
+ """
35
+
36
+
37
+ class PhoneNumberReputation(BaseModel):
38
+ """**[BETA]** Current reputation for a phone line.
39
+
40
+ Always present — lines start at `HEALTHY` and may shift based on aggregate engagement and delivery signals across all conversations on the line.
41
+
42
+ Unlike chat health, line reputation does not include `opted_out` — opt-out applies to individual recipients, not the whole line.
43
+
44
+ See the [Phone Health guide](/guides/phone-numbers/phone-health) for what each status means and how to react.
45
+ """
46
+
47
+ doc_url: str
48
+ """Deep-link to the relevant section of the Phone Health guide for this status."""
49
+
50
+ status: Literal["HEALTHY", "AT_RISK", "CRITICAL"]
51
+ """Current reputation of this phone line as assessed by risk-service.
52
+
53
+ - `HEALTHY` — No elevated risk detected.
54
+ - `AT_RISK` — Elevated risk indicators present; consider reducing send volume or
55
+ reviewing messaging patterns.
56
+ - `CRITICAL` — High risk; further sending may result in line flagging or
57
+ restriction.
58
+
59
+ Defaults to `HEALTHY` for lines that have not yet been scored.
60
+ """
61
+
62
+
63
+ class PhoneNumber(BaseModel):
64
+ id: str
65
+ """Unique identifier for the phone number"""
66
+
67
+ health_status: PhoneNumberHealthStatus
68
+ """**[BETA]** Current reputation for a phone line.
69
+
70
+ Always present — lines start at `HEALTHY` and may shift based on aggregate
71
+ engagement and delivery signals across all conversations on the line.
72
+
73
+ Unlike chat health, line reputation does not include `opted_out` — opt-out
74
+ applies to individual recipients, not the whole line.
75
+
76
+ See the [Phone Health guide](/guides/phone-numbers/phone-health) for what each
77
+ status means and how to react.
78
+ """
79
+
80
+ phone_number: str
81
+ """Phone number in E.164 format"""
82
+
83
+ reputation: PhoneNumberReputation
84
+ """**[BETA]** Current reputation for a phone line.
85
+
86
+ Always present — lines start at `HEALTHY` and may shift based on aggregate
87
+ engagement and delivery signals across all conversations on the line.
88
+
89
+ Unlike chat health, line reputation does not include `opted_out` — opt-out
90
+ applies to individual recipients, not the whole line.
91
+
92
+ See the [Phone Health guide](/guides/phone-numbers/phone-health) for what each
93
+ status means and how to react.
94
+ """
95
+
96
+
97
+ class PhoneNumberListResponse(BaseModel):
98
+ phone_numbers: List[PhoneNumber]
99
+ """List of phone numbers assigned to the partner"""
@@ -15,7 +15,19 @@ class Data(BaseModel):
15
15
  """When the status change occurred"""
16
16
 
17
17
  new_health_status: Literal["HEALTHY", "AT_RISK", "CRITICAL"]
18
- """The new line health status"""
18
+ """Current reputation of this phone line as assessed by risk-service.
19
+
20
+ - `HEALTHY` — No elevated risk detected.
21
+ - `AT_RISK` — Elevated risk indicators present; consider reducing send volume or
22
+ reviewing messaging patterns.
23
+ - `CRITICAL` — High risk; further sending may result in line flagging or
24
+ restriction.
25
+
26
+ Defaults to `HEALTHY` for lines that have not yet been scored.
27
+ """
28
+
29
+ new_reputation: Literal["HEALTHY", "AT_RISK", "CRITICAL"]
30
+ """The new line reputation"""
19
31
 
20
32
  new_status: Literal["ACTIVE", "FLAGGED"]
21
33
  """The new service status"""
@@ -24,7 +36,19 @@ class Data(BaseModel):
24
36
  """Phone number in E.164 format"""
25
37
 
26
38
  previous_health_status: Literal["HEALTHY", "AT_RISK", "CRITICAL"]
27
- """The previous line health status"""
39
+ """Current reputation of this phone line as assessed by risk-service.
40
+
41
+ - `HEALTHY` — No elevated risk detected.
42
+ - `AT_RISK` — Elevated risk indicators present; consider reducing send volume or
43
+ reviewing messaging patterns.
44
+ - `CRITICAL` — High risk; further sending may result in line flagging or
45
+ restriction.
46
+
47
+ Defaults to `HEALTHY` for lines that have not yet been scored.
48
+ """
49
+
50
+ previous_reputation: Literal["HEALTHY", "AT_RISK", "CRITICAL"]
51
+ """The previous line reputation"""
28
52
 
29
53
  previous_status: Literal["ACTIVE", "FLAGGED"]
30
54
  """The previous service status"""
@@ -530,7 +530,7 @@ wheels = [
530
530
 
531
531
  [[package]]
532
532
  name = "linq-python"
533
- version = "0.13.0"
533
+ version = "0.14.0"
534
534
  source = { editable = "." }
535
535
  dependencies = [
536
536
  { name = "anyio" },
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.14.0"
3
- }
@@ -1,60 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from typing import List
4
- from typing_extensions import Literal
5
-
6
- from .._models import BaseModel
7
-
8
- __all__ = ["PhoneNumberListResponse", "PhoneNumber", "PhoneNumberHealthStatus"]
9
-
10
-
11
- class PhoneNumberHealthStatus(BaseModel):
12
- """**[BETA]** Current health for a phone line.
13
-
14
- Always present — lines start at `HEALTHY` and may shift based on aggregate engagement and delivery signals across all conversations on the line.
15
-
16
- Unlike chat health, line health does not include `opted_out` — opt-out applies to individual recipients, not the whole line.
17
-
18
- See the [Phone Health guide](/guides/phone-numbers/phone-health) for what each status means and how to react.
19
- """
20
-
21
- doc_url: str
22
- """Deep-link to the relevant section of the Phone Health guide for this status."""
23
-
24
- status: Literal["HEALTHY", "AT_RISK", "CRITICAL"]
25
- """Current health of this phone line as assessed by risk-service.
26
-
27
- - `HEALTHY` — No elevated risk detected.
28
- - `AT_RISK` — Elevated risk indicators present; consider reducing send volume or
29
- reviewing messaging patterns.
30
- - `CRITICAL` — High risk; further sending may result in line flagging or
31
- restriction.
32
-
33
- Defaults to `HEALTHY` for lines that have not yet been scored.
34
- """
35
-
36
-
37
- class PhoneNumber(BaseModel):
38
- id: str
39
- """Unique identifier for the phone number"""
40
-
41
- health_status: PhoneNumberHealthStatus
42
- """**[BETA]** Current health for a phone line.
43
-
44
- Always present — lines start at `HEALTHY` and may shift based on aggregate
45
- engagement and delivery signals across all conversations on the line.
46
-
47
- Unlike chat health, line health does not include `opted_out` — opt-out applies
48
- to individual recipients, not the whole line.
49
-
50
- See the [Phone Health guide](/guides/phone-numbers/phone-health) for what each
51
- status means and how to react.
52
- """
53
-
54
- phone_number: str
55
- """Phone number in E.164 format"""
56
-
57
-
58
- class PhoneNumberListResponse(BaseModel):
59
- phone_numbers: List[PhoneNumber]
60
- """List of phone numbers assigned to the partner"""
File without changes
File without changes
File without changes
File without changes
File without changes