linq-python 0.59.0__tar.gz → 0.60.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 (311) hide show
  1. linq_python-0.60.0/.release-please-manifest.json +3 -0
  2. {linq_python-0.59.0 → linq_python-0.60.0}/CHANGELOG.md +14 -0
  3. {linq_python-0.59.0 → linq_python-0.60.0}/PKG-INFO +1 -1
  4. {linq_python-0.59.0 → linq_python-0.60.0}/pyproject.toml +1 -1
  5. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_version.py +1 -1
  6. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/api_token_activated_webhook_event.py +69 -28
  7. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/api_token_created_webhook_event.py +69 -28
  8. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/api_token_deleted_webhook_event.py +69 -28
  9. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/api_token_expired_webhook_event.py +69 -28
  10. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/api_token_expiry_scheduled_webhook_event.py +69 -28
  11. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/api_token_renamed_webhook_event.py +69 -28
  12. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/contact_card_created_webhook_event.py +69 -28
  13. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/contact_card_deleted_webhook_event.py +69 -28
  14. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/contact_card_updated_webhook_event.py +69 -28
  15. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/environment_created_webhook_event.py +69 -28
  16. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/environment_deleted_webhook_event.py +69 -28
  17. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/environment_line_moved_webhook_event.py +69 -28
  18. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/environment_renamed_webhook_event.py +69 -28
  19. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/phone_number_forwarding_updated_webhook_event.py +69 -28
  20. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/team_member_added_webhook_event.py +69 -28
  21. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/team_member_signed_in_webhook_event.py +69 -28
  22. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/team_member_signed_out_webhook_event.py +69 -28
  23. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_created_webhook_event.py +69 -28
  24. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_deleted_webhook_event.py +69 -28
  25. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_disabled_webhook_event.py +69 -28
  26. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_enabled_webhook_event.py +69 -28
  27. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_events_updated_webhook_event.py +69 -28
  28. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_phone_numbers_updated_webhook_event.py +69 -28
  29. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_routing_headers_cleared_webhook_event.py +69 -28
  30. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_routing_headers_set_webhook_event.py +69 -28
  31. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_target_url_changed_webhook_event.py +69 -28
  32. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/zero_day_retention_updated_webhook_event.py +69 -28
  33. {linq_python-0.59.0 → linq_python-0.60.0}/uv.lock +1 -1
  34. linq_python-0.59.0/.release-please-manifest.json +0 -3
  35. {linq_python-0.59.0 → linq_python-0.60.0}/.gitignore +0 -0
  36. {linq_python-0.59.0 → linq_python-0.60.0}/CONTRIBUTING.md +0 -0
  37. {linq_python-0.59.0 → linq_python-0.60.0}/LICENSE +0 -0
  38. {linq_python-0.59.0 → linq_python-0.60.0}/README.md +0 -0
  39. {linq_python-0.59.0 → linq_python-0.60.0}/SECURITY.md +0 -0
  40. {linq_python-0.59.0 → linq_python-0.60.0}/api.md +0 -0
  41. {linq_python-0.59.0 → linq_python-0.60.0}/bin/check-release-environment +0 -0
  42. {linq_python-0.59.0 → linq_python-0.60.0}/bin/publish-pypi +0 -0
  43. {linq_python-0.59.0 → linq_python-0.60.0}/examples/.keep +0 -0
  44. {linq_python-0.59.0 → linq_python-0.60.0}/release-please-config.json +0 -0
  45. {linq_python-0.59.0 → linq_python-0.60.0}/requirements-dev.lock +0 -0
  46. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/__init__.py +0 -0
  47. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_base_client.py +0 -0
  48. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_client.py +0 -0
  49. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_compat.py +0 -0
  50. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_constants.py +0 -0
  51. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_exceptions.py +0 -0
  52. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_files.py +0 -0
  53. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_models.py +0 -0
  54. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_qs.py +0 -0
  55. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_resource.py +0 -0
  56. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_response.py +0 -0
  57. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_streaming.py +0 -0
  58. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_types.py +0 -0
  59. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/__init__.py +0 -0
  60. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_compat.py +0 -0
  61. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_datetime_parse.py +0 -0
  62. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_json.py +0 -0
  63. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_logs.py +0 -0
  64. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_path.py +0 -0
  65. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_proxy.py +0 -0
  66. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_reflection.py +0 -0
  67. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_resources_proxy.py +0 -0
  68. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_streams.py +0 -0
  69. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_sync.py +0 -0
  70. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_transform.py +0 -0
  71. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_typing.py +0 -0
  72. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/_utils/_utils.py +0 -0
  73. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/lib/.keep +0 -0
  74. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/pagination.py +0 -0
  75. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/py.typed +0 -0
  76. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/__init__.py +0 -0
  77. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/attachments.py +0 -0
  78. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/available_number.py +0 -0
  79. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/blocked_handles.py +0 -0
  80. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/capability.py +0 -0
  81. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/chats/__init__.py +0 -0
  82. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/chats/background.py +0 -0
  83. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/chats/chats.py +0 -0
  84. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/chats/location.py +0 -0
  85. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/chats/messages.py +0 -0
  86. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/chats/participants.py +0 -0
  87. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/chats/polls.py +0 -0
  88. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/chats/typing.py +0 -0
  89. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/contact_card.py +0 -0
  90. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/experiences.py +0 -0
  91. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/messages/__init__.py +0 -0
  92. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/messages/messages.py +0 -0
  93. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/messages/poll.py +0 -0
  94. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/payment_handles.py +0 -0
  95. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/payment_providers.py +0 -0
  96. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/payment_requests.py +0 -0
  97. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/payments.py +0 -0
  98. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/phone_numbers.py +0 -0
  99. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/phonenumbers.py +0 -0
  100. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/webhook_events.py +0 -0
  101. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/webhook_subscriptions.py +0 -0
  102. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/resources/webhooks.py +0 -0
  103. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/__init__.py +0 -0
  104. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/attachment_create_params.py +0 -0
  105. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/attachment_create_response.py +0 -0
  106. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/attachment_retrieve_response.py +0 -0
  107. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/available_number_retrieve_params.py +0 -0
  108. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/available_number_retrieve_response.py +0 -0
  109. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/blocked_handle_block_params.py +0 -0
  110. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/blocked_handle_block_response.py +0 -0
  111. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/blocked_handle_entry.py +0 -0
  112. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/blocked_handle_list_response.py +0 -0
  113. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/blocked_handle_unblock_params.py +0 -0
  114. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/capability_check_RCS_params.py +0 -0
  115. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/capability_check_i_message_params.py +0 -0
  116. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat.py +0 -0
  117. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_background_update_failed_webhook_event.py +0 -0
  118. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_background_updated_webhook_event.py +0 -0
  119. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_create_params.py +0 -0
  120. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_create_response.py +0 -0
  121. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_created_webhook_event.py +0 -0
  122. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_group_icon_update_failed_webhook_event.py +0 -0
  123. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_group_icon_updated_webhook_event.py +0 -0
  124. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_group_name_update_failed_webhook_event.py +0 -0
  125. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_group_name_updated_webhook_event.py +0 -0
  126. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_leave_chat_response.py +0 -0
  127. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_list_chats_params.py +0 -0
  128. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_send_voicememo_params.py +0 -0
  129. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_send_voicememo_response.py +0 -0
  130. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_typing_indicator_started_webhook_event.py +0 -0
  131. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_typing_indicator_stopped_webhook_event.py +0 -0
  132. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_update_params.py +0 -0
  133. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chat_update_response.py +0 -0
  134. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/__init__.py +0 -0
  135. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/background_set_params.py +0 -0
  136. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/get_chat_location_response.py +0 -0
  137. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/location_request_response.py +0 -0
  138. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/location_stop_params.py +0 -0
  139. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/message_list_params.py +0 -0
  140. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/message_send_params.py +0 -0
  141. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/message_send_response.py +0 -0
  142. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/participant_add_params.py +0 -0
  143. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/participant_add_response.py +0 -0
  144. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/participant_remove_params.py +0 -0
  145. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/participant_remove_response.py +0 -0
  146. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/poll.py +0 -0
  147. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/poll_create_params.py +0 -0
  148. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/poll_envelope.py +0 -0
  149. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/sent_message.py +0 -0
  150. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/chats/stop_chat_location_sharing_response.py +0 -0
  151. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/connection_created_webhook_event.py +0 -0
  152. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/connection_revoked_webhook_event.py +0 -0
  153. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/contact_card_create_params.py +0 -0
  154. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/contact_card_received_webhook_event.py +0 -0
  155. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/contact_card_retrieve_params.py +0 -0
  156. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/contact_card_retrieve_response.py +0 -0
  157. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/contact_card_update_params.py +0 -0
  158. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/experience_list_response.py +0 -0
  159. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/experience_retrieve_response.py +0 -0
  160. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/handle_check_response.py +0 -0
  161. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/inline_sticker_param.py +0 -0
  162. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/link_part_param.py +0 -0
  163. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/location_sharing_started_webhook_event.py +0 -0
  164. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/location_sharing_stopped_webhook_event.py +0 -0
  165. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/media_part_param.py +0 -0
  166. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message.py +0 -0
  167. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_add_reaction_params.py +0 -0
  168. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_add_reaction_response.py +0 -0
  169. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_content_param.py +0 -0
  170. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_create_params.py +0 -0
  171. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_create_response.py +0 -0
  172. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_delivered_webhook_event.py +0 -0
  173. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_edited_webhook_event.py +0 -0
  174. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_effect.py +0 -0
  175. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_effect_param.py +0 -0
  176. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_event_v2.py +0 -0
  177. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_failed_webhook_event.py +0 -0
  178. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_list_messages_thread_params.py +0 -0
  179. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_read_webhook_event.py +0 -0
  180. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_received_webhook_event.py +0 -0
  181. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_sent_webhook_event.py +0 -0
  182. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_update_app_card_params.py +0 -0
  183. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_update_app_card_response.py +0 -0
  184. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_update_params.py +0 -0
  185. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_update_sticker_placement_params.py +0 -0
  186. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/message_update_sticker_placement_response.py +0 -0
  187. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/messages/__init__.py +0 -0
  188. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/messages/poll_add_options_params.py +0 -0
  189. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/messages/poll_vote_params.py +0 -0
  190. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/participant_added_webhook_event.py +0 -0
  191. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/participant_removed_webhook_event.py +0 -0
  192. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment.py +0 -0
  193. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_authorized_webhook_event.py +0 -0
  194. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_canceled_webhook_event.py +0 -0
  195. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_create_params.py +0 -0
  196. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_credentials_response.py +0 -0
  197. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_declined_webhook_event.py +0 -0
  198. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_expired_webhook_event.py +0 -0
  199. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_handle_connection.py +0 -0
  200. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_handle_verify_params.py +0 -0
  201. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_provider.py +0 -0
  202. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_provider_connect_params.py +0 -0
  203. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_provider_connect_response.py +0 -0
  204. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_request.py +0 -0
  205. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_request_create_params.py +0 -0
  206. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_request_list_params.py +0 -0
  207. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_request_list_response.py +0 -0
  208. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/payment_succeeded_webhook_event.py +0 -0
  209. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/phone_number_assigned_webhook_event.py +0 -0
  210. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/phone_number_list_response.py +0 -0
  211. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/phone_number_released_webhook_event.py +0 -0
  212. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/phone_number_status_updated_webhook_event.py +0 -0
  213. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/phone_number_update_params.py +0 -0
  214. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/phone_number_update_response.py +0 -0
  215. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/phonenumber_list_response.py +0 -0
  216. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/poll_delivered_webhook_event.py +0 -0
  217. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/poll_failed_webhook_event.py +0 -0
  218. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/poll_reaction_added_webhook_event.py +0 -0
  219. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/poll_read_webhook_event.py +0 -0
  220. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/poll_received_webhook_event.py +0 -0
  221. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/poll_sent_webhook_event.py +0 -0
  222. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/poll_updated_webhook_event.py +0 -0
  223. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/poll_vote_added_webhook_event.py +0 -0
  224. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/poll_vote_removed_webhook_event.py +0 -0
  225. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reaction_added_webhook_event.py +0 -0
  226. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reaction_event_base.py +0 -0
  227. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reaction_removed_webhook_event.py +0 -0
  228. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reply_to.py +0 -0
  229. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reply_to_param.py +0 -0
  230. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reputation_action_item.py +0 -0
  231. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reputation_audit.py +0 -0
  232. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reputation_audit_started.py +0 -0
  233. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reputation_driver.py +0 -0
  234. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reputation_driver_key.py +0 -0
  235. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reputation_evidence.py +0 -0
  236. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reputation_opt_out_chat.py +0 -0
  237. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reputation_report.py +0 -0
  238. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/reputation_unhealthy_chat.py +0 -0
  239. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/schemas_media_part_response.py +0 -0
  240. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/schemas_message_effect.py +0 -0
  241. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/schemas_text_part_response.py +0 -0
  242. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/set_contact_card.py +0 -0
  243. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared/__init__.py +0 -0
  244. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared/chat_handle.py +0 -0
  245. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared/inline_sticker_response.py +0 -0
  246. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared/link_part_response.py +0 -0
  247. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared/media_part_response.py +0 -0
  248. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared/reaction.py +0 -0
  249. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared/reaction_type.py +0 -0
  250. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared/service_type.py +0 -0
  251. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared/text_decoration.py +0 -0
  252. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared/text_part_response.py +0 -0
  253. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared_params/__init__.py +0 -0
  254. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared_params/reaction_type.py +0 -0
  255. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared_params/service_type.py +0 -0
  256. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/shared_params/text_decoration.py +0 -0
  257. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/supported_content_type.py +0 -0
  258. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/text_part_param.py +0 -0
  259. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/unwrap_webhook_event.py +0 -0
  260. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_event_list_response.py +0 -0
  261. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_event_type.py +0 -0
  262. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription.py +0 -0
  263. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_create_params.py +0 -0
  264. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_create_response.py +0 -0
  265. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_list_response.py +0 -0
  266. {linq_python-0.59.0 → linq_python-0.60.0}/src/linq/types/webhook_subscription_update_params.py +0 -0
  267. {linq_python-0.59.0 → linq_python-0.60.0}/tests/__init__.py +0 -0
  268. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/__init__.py +0 -0
  269. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/chats/__init__.py +0 -0
  270. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/chats/test_background.py +0 -0
  271. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/chats/test_location.py +0 -0
  272. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/chats/test_messages.py +0 -0
  273. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/chats/test_participants.py +0 -0
  274. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/chats/test_polls.py +0 -0
  275. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/chats/test_typing.py +0 -0
  276. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/messages/__init__.py +0 -0
  277. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/messages/test_poll.py +0 -0
  278. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_attachments.py +0 -0
  279. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_available_number.py +0 -0
  280. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_blocked_handles.py +0 -0
  281. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_capability.py +0 -0
  282. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_chats.py +0 -0
  283. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_contact_card.py +0 -0
  284. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_experiences.py +0 -0
  285. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_messages.py +0 -0
  286. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_payment_handles.py +0 -0
  287. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_payment_providers.py +0 -0
  288. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_payment_requests.py +0 -0
  289. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_payments.py +0 -0
  290. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_phone_numbers.py +0 -0
  291. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_phonenumbers.py +0 -0
  292. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_webhook_events.py +0 -0
  293. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_webhook_subscriptions.py +0 -0
  294. {linq_python-0.59.0 → linq_python-0.60.0}/tests/api_resources/test_webhooks.py +0 -0
  295. {linq_python-0.59.0 → linq_python-0.60.0}/tests/conftest.py +0 -0
  296. {linq_python-0.59.0 → linq_python-0.60.0}/tests/sample_file.txt +0 -0
  297. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_client.py +0 -0
  298. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_extract_files.py +0 -0
  299. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_files.py +0 -0
  300. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_models.py +0 -0
  301. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_qs.py +0 -0
  302. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_required_args.py +0 -0
  303. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_response.py +0 -0
  304. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_streaming.py +0 -0
  305. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_transform.py +0 -0
  306. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_utils/test_datetime_parse.py +0 -0
  307. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_utils/test_json.py +0 -0
  308. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_utils/test_path.py +0 -0
  309. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_utils/test_proxy.py +0 -0
  310. {linq_python-0.59.0 → linq_python-0.60.0}/tests/test_utils/test_typing.py +0 -0
  311. {linq_python-0.59.0 → linq_python-0.60.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.60.0"
3
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.60.0](https://github.com/linq-team/linq-python/compare/v0.59.1...v0.60.0) (2026-09-26)
4
+
5
+
6
+ ### Features
7
+
8
+ * split contact card name into first and last name fields ([b2244bd](https://github.com/linq-team/linq-python/commit/b2244bd82b1b71d2c6b3c1bd2e816e08babcd118))
9
+
10
+ ## [0.59.1](https://github.com/linq-team/linq-python/compare/v0.59.0...v0.59.1) (2026-09-26)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * remove environment id field from webhook payloads ([c191e11](https://github.com/linq-team/linq-python/commit/c191e110fa43f40e7a88acbd52c889f94f4ee535))
16
+
3
17
  ## [0.59.0](https://github.com/linq-team/linq-python/compare/v0.58.2...v0.59.0) (2026-09-26)
4
18
 
5
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: linq-python
3
- Version: 0.59.0
3
+ Version: 0.60.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.59.0"
3
+ version = "0.60.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.59.0" # x-release-please-version
4
+ __version__ = "0.60.0" # x-release-please-version
@@ -14,7 +14,9 @@ __all__ = [
14
14
  "DataActor",
15
15
  "DataAPIToken",
16
16
  "DataChange",
17
- "DataChangeName",
17
+ "DataChangeFirstName",
18
+ "DataChangeImageURL",
19
+ "DataChangeLastName",
18
20
  "DataContactCard",
19
21
  "DataEnvironment",
20
22
  "DataTeamMember",
@@ -59,31 +61,69 @@ class DataAPIToken(BaseModel):
59
61
  """The token's visible prefix. On `api_token.created` and `api_token.deleted`."""
60
62
 
61
63
 
62
- class DataChangeName(BaseModel):
63
- """A contact card name change.
64
+ class DataChangeFirstName(BaseModel):
65
+ """A single field's change, on `contact_card.updated`.
64
66
 
65
- Only on `contact_card.updated`, when the name changed.
67
+ Present only for the field that changed.
66
68
  """
67
69
 
68
70
  from_: Optional[str] = FieldInfo(alias="from", default=None)
69
- """The name before the change; null when the card had no name."""
71
+ """The value before the change; null when the card had none."""
70
72
 
71
73
  to: Optional[str] = None
72
- """The name after the change; null when it was removed."""
74
+ """The value after the change; null when it was removed."""
75
+
76
+
77
+ class DataChangeImageURL(BaseModel):
78
+ """A single field's change, on `contact_card.updated`.
79
+
80
+ Present only for the field that changed.
81
+ """
82
+
83
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
84
+ """The value before the change; null when the card had none."""
85
+
86
+ to: Optional[str] = None
87
+ """The value after the change; null when it was removed."""
88
+
89
+
90
+ class DataChangeLastName(BaseModel):
91
+ """A single field's change, on `contact_card.updated`.
92
+
93
+ Present only for the field that changed.
94
+ """
95
+
96
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
97
+ """The value before the change; null when the card had none."""
98
+
99
+ to: Optional[str] = None
100
+ """The value after the change; null when it was removed."""
73
101
 
74
102
 
75
103
  class DataChange(BaseModel):
76
104
  """
77
- The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `name` instead of `from` and `to`.
105
+ The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.
106
+ """
107
+
108
+ first_name: Optional[DataChangeFirstName] = None
109
+ """A single field's change, on `contact_card.updated`.
110
+
111
+ Present only for the field that changed.
78
112
  """
79
113
 
80
114
  from_: Optional[object] = FieldInfo(alias="from", default=None)
81
115
  """The value before the change; null when there was none."""
82
116
 
83
- name: Optional[DataChangeName] = None
84
- """A contact card name change.
117
+ image_url: Optional[DataChangeImageURL] = None
118
+ """A single field's change, on `contact_card.updated`.
85
119
 
86
- Only on `contact_card.updated`, when the name changed.
120
+ Present only for the field that changed.
121
+ """
122
+
123
+ last_name: Optional[DataChangeLastName] = None
124
+ """A single field's change, on `contact_card.updated`.
125
+
126
+ Present only for the field that changed.
87
127
  """
88
128
 
89
129
  to: Optional[object] = None
@@ -95,25 +135,24 @@ class DataContactCard(BaseModel):
95
135
 
96
136
  id: str
97
137
 
98
- name: Optional[str] = None
99
- """Display name. Absent when the card has no name."""
138
+ first_name: str
139
+
140
+ image_url: Optional[str] = None
141
+ """Null when the card has no photo."""
100
142
 
101
- photo_updated: Optional[bool] = None
102
- """True when the photo changed. Only on `contact_card.updated`."""
143
+ last_name: Optional[str] = None
144
+ """Null when the card has no last name."""
103
145
 
104
146
 
105
147
  class DataEnvironment(BaseModel):
106
- """An environment.
148
+ """An environment, identified by name.
107
149
 
108
- Production is `{"id": null, "name": "Production", "type": "production"}`; every other environment has an `id` and type `environment`.
150
+ Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.
109
151
  """
110
152
 
111
- id: Optional[str] = None
112
- """Null for Production."""
113
-
114
- type: Literal["production", "environment"]
153
+ name: str
115
154
 
116
- name: Optional[str] = None
155
+ type: Literal["environment"]
117
156
 
118
157
 
119
158
  class DataTeamMember(BaseModel):
@@ -144,7 +183,7 @@ class DataWebhookSubscription(BaseModel):
144
183
  class Data(BaseModel):
145
184
  """A change on your account, the same change shown on your Activity page.
146
185
 
147
- Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change` and as Production's environment `id`.
186
+ Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.
148
187
  """
149
188
 
150
189
  actor: DataActor
@@ -178,18 +217,20 @@ class Data(BaseModel):
178
217
  `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled,
179
218
  expired and activated events never carry it. `null` means none: `to: null` means
180
219
  cleared and `from: null` means first set. The value type depends on the event
181
- and is given in each event's description. `contact_card.updated` uses `name`
182
- instead of `from` and `to`.
220
+ and is given in each event's description. `contact_card.updated` uses
221
+ `first_name`, `last_name` and `image_url` instead of `from` and `to`, each
222
+ present only when that field changed.
183
223
  """
184
224
 
185
225
  contact_card: Optional[DataContactCard] = None
186
226
  """The contact card that changed."""
187
227
 
188
228
  environment: Optional[DataEnvironment] = None
189
- """An environment.
229
+ """An environment, identified by name.
190
230
 
191
- Production is `{"id": null, "name": "Production", "type": "production"}`; every
192
- other environment has an `id` and type `environment`.
231
+ Production is `{"name": "Production", "type": "environment"}`; a named
232
+ environment you created (e.g. "Staging") looks the same shape, just with its own
233
+ name.
193
234
  """
194
235
 
195
236
  lines_moved_to_production: Optional[int] = None
@@ -235,7 +276,7 @@ class APITokenActivatedWebhookEvent(BaseModel):
235
276
  `phone_number`, `team_member`) identify what changed; on update events `change`
236
277
  describes the transition. Created and deleted events carry only the object that
237
278
  was created or deleted. Fields are absent when they don't apply; `null` appears
238
- only inside `change` and as Production's environment `id`.
279
+ only inside `change`.
239
280
  """
240
281
 
241
282
  event_id: str
@@ -14,7 +14,9 @@ __all__ = [
14
14
  "DataActor",
15
15
  "DataAPIToken",
16
16
  "DataChange",
17
- "DataChangeName",
17
+ "DataChangeFirstName",
18
+ "DataChangeImageURL",
19
+ "DataChangeLastName",
18
20
  "DataContactCard",
19
21
  "DataEnvironment",
20
22
  "DataTeamMember",
@@ -59,31 +61,69 @@ class DataAPIToken(BaseModel):
59
61
  """The token's visible prefix. On `api_token.created` and `api_token.deleted`."""
60
62
 
61
63
 
62
- class DataChangeName(BaseModel):
63
- """A contact card name change.
64
+ class DataChangeFirstName(BaseModel):
65
+ """A single field's change, on `contact_card.updated`.
64
66
 
65
- Only on `contact_card.updated`, when the name changed.
67
+ Present only for the field that changed.
66
68
  """
67
69
 
68
70
  from_: Optional[str] = FieldInfo(alias="from", default=None)
69
- """The name before the change; null when the card had no name."""
71
+ """The value before the change; null when the card had none."""
70
72
 
71
73
  to: Optional[str] = None
72
- """The name after the change; null when it was removed."""
74
+ """The value after the change; null when it was removed."""
75
+
76
+
77
+ class DataChangeImageURL(BaseModel):
78
+ """A single field's change, on `contact_card.updated`.
79
+
80
+ Present only for the field that changed.
81
+ """
82
+
83
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
84
+ """The value before the change; null when the card had none."""
85
+
86
+ to: Optional[str] = None
87
+ """The value after the change; null when it was removed."""
88
+
89
+
90
+ class DataChangeLastName(BaseModel):
91
+ """A single field's change, on `contact_card.updated`.
92
+
93
+ Present only for the field that changed.
94
+ """
95
+
96
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
97
+ """The value before the change; null when the card had none."""
98
+
99
+ to: Optional[str] = None
100
+ """The value after the change; null when it was removed."""
73
101
 
74
102
 
75
103
  class DataChange(BaseModel):
76
104
  """
77
- The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `name` instead of `from` and `to`.
105
+ The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.
106
+ """
107
+
108
+ first_name: Optional[DataChangeFirstName] = None
109
+ """A single field's change, on `contact_card.updated`.
110
+
111
+ Present only for the field that changed.
78
112
  """
79
113
 
80
114
  from_: Optional[object] = FieldInfo(alias="from", default=None)
81
115
  """The value before the change; null when there was none."""
82
116
 
83
- name: Optional[DataChangeName] = None
84
- """A contact card name change.
117
+ image_url: Optional[DataChangeImageURL] = None
118
+ """A single field's change, on `contact_card.updated`.
85
119
 
86
- Only on `contact_card.updated`, when the name changed.
120
+ Present only for the field that changed.
121
+ """
122
+
123
+ last_name: Optional[DataChangeLastName] = None
124
+ """A single field's change, on `contact_card.updated`.
125
+
126
+ Present only for the field that changed.
87
127
  """
88
128
 
89
129
  to: Optional[object] = None
@@ -95,25 +135,24 @@ class DataContactCard(BaseModel):
95
135
 
96
136
  id: str
97
137
 
98
- name: Optional[str] = None
99
- """Display name. Absent when the card has no name."""
138
+ first_name: str
139
+
140
+ image_url: Optional[str] = None
141
+ """Null when the card has no photo."""
100
142
 
101
- photo_updated: Optional[bool] = None
102
- """True when the photo changed. Only on `contact_card.updated`."""
143
+ last_name: Optional[str] = None
144
+ """Null when the card has no last name."""
103
145
 
104
146
 
105
147
  class DataEnvironment(BaseModel):
106
- """An environment.
148
+ """An environment, identified by name.
107
149
 
108
- Production is `{"id": null, "name": "Production", "type": "production"}`; every other environment has an `id` and type `environment`.
150
+ Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.
109
151
  """
110
152
 
111
- id: Optional[str] = None
112
- """Null for Production."""
113
-
114
- type: Literal["production", "environment"]
153
+ name: str
115
154
 
116
- name: Optional[str] = None
155
+ type: Literal["environment"]
117
156
 
118
157
 
119
158
  class DataTeamMember(BaseModel):
@@ -144,7 +183,7 @@ class DataWebhookSubscription(BaseModel):
144
183
  class Data(BaseModel):
145
184
  """A change on your account, the same change shown on your Activity page.
146
185
 
147
- Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change` and as Production's environment `id`.
186
+ Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.
148
187
  """
149
188
 
150
189
  actor: DataActor
@@ -178,18 +217,20 @@ class Data(BaseModel):
178
217
  `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled,
179
218
  expired and activated events never carry it. `null` means none: `to: null` means
180
219
  cleared and `from: null` means first set. The value type depends on the event
181
- and is given in each event's description. `contact_card.updated` uses `name`
182
- instead of `from` and `to`.
220
+ and is given in each event's description. `contact_card.updated` uses
221
+ `first_name`, `last_name` and `image_url` instead of `from` and `to`, each
222
+ present only when that field changed.
183
223
  """
184
224
 
185
225
  contact_card: Optional[DataContactCard] = None
186
226
  """The contact card that changed."""
187
227
 
188
228
  environment: Optional[DataEnvironment] = None
189
- """An environment.
229
+ """An environment, identified by name.
190
230
 
191
- Production is `{"id": null, "name": "Production", "type": "production"}`; every
192
- other environment has an `id` and type `environment`.
231
+ Production is `{"name": "Production", "type": "environment"}`; a named
232
+ environment you created (e.g. "Staging") looks the same shape, just with its own
233
+ name.
193
234
  """
194
235
 
195
236
  lines_moved_to_production: Optional[int] = None
@@ -235,7 +276,7 @@ class APITokenCreatedWebhookEvent(BaseModel):
235
276
  `phone_number`, `team_member`) identify what changed; on update events `change`
236
277
  describes the transition. Created and deleted events carry only the object that
237
278
  was created or deleted. Fields are absent when they don't apply; `null` appears
238
- only inside `change` and as Production's environment `id`.
279
+ only inside `change`.
239
280
  """
240
281
 
241
282
  event_id: str
@@ -14,7 +14,9 @@ __all__ = [
14
14
  "DataActor",
15
15
  "DataAPIToken",
16
16
  "DataChange",
17
- "DataChangeName",
17
+ "DataChangeFirstName",
18
+ "DataChangeImageURL",
19
+ "DataChangeLastName",
18
20
  "DataContactCard",
19
21
  "DataEnvironment",
20
22
  "DataTeamMember",
@@ -59,31 +61,69 @@ class DataAPIToken(BaseModel):
59
61
  """The token's visible prefix. On `api_token.created` and `api_token.deleted`."""
60
62
 
61
63
 
62
- class DataChangeName(BaseModel):
63
- """A contact card name change.
64
+ class DataChangeFirstName(BaseModel):
65
+ """A single field's change, on `contact_card.updated`.
64
66
 
65
- Only on `contact_card.updated`, when the name changed.
67
+ Present only for the field that changed.
66
68
  """
67
69
 
68
70
  from_: Optional[str] = FieldInfo(alias="from", default=None)
69
- """The name before the change; null when the card had no name."""
71
+ """The value before the change; null when the card had none."""
70
72
 
71
73
  to: Optional[str] = None
72
- """The name after the change; null when it was removed."""
74
+ """The value after the change; null when it was removed."""
75
+
76
+
77
+ class DataChangeImageURL(BaseModel):
78
+ """A single field's change, on `contact_card.updated`.
79
+
80
+ Present only for the field that changed.
81
+ """
82
+
83
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
84
+ """The value before the change; null when the card had none."""
85
+
86
+ to: Optional[str] = None
87
+ """The value after the change; null when it was removed."""
88
+
89
+
90
+ class DataChangeLastName(BaseModel):
91
+ """A single field's change, on `contact_card.updated`.
92
+
93
+ Present only for the field that changed.
94
+ """
95
+
96
+ from_: Optional[str] = FieldInfo(alias="from", default=None)
97
+ """The value before the change; null when the card had none."""
98
+
99
+ to: Optional[str] = None
100
+ """The value after the change; null when it was removed."""
73
101
 
74
102
 
75
103
  class DataChange(BaseModel):
76
104
  """
77
- The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `name` instead of `from` and `to`.
105
+ The transition an update event describes: `from` is the value before and `to` the value after. Present only on update events (`*.updated`, `*.renamed`, `*_changed`, `api_token.expiry_scheduled`, `environment.line_moved`, `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled, expired and activated events never carry it. `null` means none: `to: null` means cleared and `from: null` means first set. The value type depends on the event and is given in each event's description. `contact_card.updated` uses `first_name`, `last_name` and `image_url` instead of `from` and `to`, each present only when that field changed.
106
+ """
107
+
108
+ first_name: Optional[DataChangeFirstName] = None
109
+ """A single field's change, on `contact_card.updated`.
110
+
111
+ Present only for the field that changed.
78
112
  """
79
113
 
80
114
  from_: Optional[object] = FieldInfo(alias="from", default=None)
81
115
  """The value before the change; null when there was none."""
82
116
 
83
- name: Optional[DataChangeName] = None
84
- """A contact card name change.
117
+ image_url: Optional[DataChangeImageURL] = None
118
+ """A single field's change, on `contact_card.updated`.
85
119
 
86
- Only on `contact_card.updated`, when the name changed.
120
+ Present only for the field that changed.
121
+ """
122
+
123
+ last_name: Optional[DataChangeLastName] = None
124
+ """A single field's change, on `contact_card.updated`.
125
+
126
+ Present only for the field that changed.
87
127
  """
88
128
 
89
129
  to: Optional[object] = None
@@ -95,25 +135,24 @@ class DataContactCard(BaseModel):
95
135
 
96
136
  id: str
97
137
 
98
- name: Optional[str] = None
99
- """Display name. Absent when the card has no name."""
138
+ first_name: str
139
+
140
+ image_url: Optional[str] = None
141
+ """Null when the card has no photo."""
100
142
 
101
- photo_updated: Optional[bool] = None
102
- """True when the photo changed. Only on `contact_card.updated`."""
143
+ last_name: Optional[str] = None
144
+ """Null when the card has no last name."""
103
145
 
104
146
 
105
147
  class DataEnvironment(BaseModel):
106
- """An environment.
148
+ """An environment, identified by name.
107
149
 
108
- Production is `{"id": null, "name": "Production", "type": "production"}`; every other environment has an `id` and type `environment`.
150
+ Production is `{"name": "Production", "type": "environment"}`; a named environment you created (e.g. "Staging") looks the same shape, just with its own name.
109
151
  """
110
152
 
111
- id: Optional[str] = None
112
- """Null for Production."""
113
-
114
- type: Literal["production", "environment"]
153
+ name: str
115
154
 
116
- name: Optional[str] = None
155
+ type: Literal["environment"]
117
156
 
118
157
 
119
158
  class DataTeamMember(BaseModel):
@@ -144,7 +183,7 @@ class DataWebhookSubscription(BaseModel):
144
183
  class Data(BaseModel):
145
184
  """A change on your account, the same change shown on your Activity page.
146
185
 
147
- Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change` and as Production's environment `id`.
186
+ Every event carries `summary`, `occurred_at`, `actor` and `origin`. The object fields (`api_token`, `webhook_subscription`, `environment`, `contact_card`, `phone_number`, `team_member`) identify what changed; on update events `change` describes the transition. Created and deleted events carry only the object that was created or deleted. Fields are absent when they don't apply; `null` appears only inside `change`.
148
187
  """
149
188
 
150
189
  actor: DataActor
@@ -178,18 +217,20 @@ class Data(BaseModel):
178
217
  `webhook_subscription.routing_headers_*`); created, deleted, enabled, disabled,
179
218
  expired and activated events never carry it. `null` means none: `to: null` means
180
219
  cleared and `from: null` means first set. The value type depends on the event
181
- and is given in each event's description. `contact_card.updated` uses `name`
182
- instead of `from` and `to`.
220
+ and is given in each event's description. `contact_card.updated` uses
221
+ `first_name`, `last_name` and `image_url` instead of `from` and `to`, each
222
+ present only when that field changed.
183
223
  """
184
224
 
185
225
  contact_card: Optional[DataContactCard] = None
186
226
  """The contact card that changed."""
187
227
 
188
228
  environment: Optional[DataEnvironment] = None
189
- """An environment.
229
+ """An environment, identified by name.
190
230
 
191
- Production is `{"id": null, "name": "Production", "type": "production"}`; every
192
- other environment has an `id` and type `environment`.
231
+ Production is `{"name": "Production", "type": "environment"}`; a named
232
+ environment you created (e.g. "Staging") looks the same shape, just with its own
233
+ name.
193
234
  """
194
235
 
195
236
  lines_moved_to_production: Optional[int] = None
@@ -235,7 +276,7 @@ class APITokenDeletedWebhookEvent(BaseModel):
235
276
  `phone_number`, `team_member`) identify what changed; on update events `change`
236
277
  describes the transition. Created and deleted events carry only the object that
237
278
  was created or deleted. Fields are absent when they don't apply; `null` appears
238
- only inside `change` and as Production's environment `id`.
279
+ only inside `change`.
239
280
  """
240
281
 
241
282
  event_id: str