linq-python 0.36.1__tar.gz → 0.37.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. linq_python-0.37.1/.release-please-manifest.json +3 -0
  2. {linq_python-0.36.1 → linq_python-0.37.1}/CHANGELOG.md +14 -0
  3. {linq_python-0.36.1 → linq_python-0.37.1}/PKG-INFO +1 -1
  4. {linq_python-0.36.1 → linq_python-0.37.1}/pyproject.toml +1 -1
  5. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_client.py +240 -0
  6. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_version.py +1 -1
  7. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/chats.py +12 -0
  8. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/messages.py +2 -0
  9. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/polls.py +2 -0
  10. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/messages/messages.py +8 -0
  11. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/messages/poll.py +2 -0
  12. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/payment_requests.py +88 -0
  13. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_request.py +21 -4
  14. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_request_create_params.py +26 -1
  15. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_payment_requests.py +10 -0
  16. {linq_python-0.36.1 → linq_python-0.37.1}/uv.lock +1 -1
  17. linq_python-0.36.1/.release-please-manifest.json +0 -3
  18. {linq_python-0.36.1 → linq_python-0.37.1}/.gitignore +0 -0
  19. {linq_python-0.36.1 → linq_python-0.37.1}/CONTRIBUTING.md +0 -0
  20. {linq_python-0.36.1 → linq_python-0.37.1}/LICENSE +0 -0
  21. {linq_python-0.36.1 → linq_python-0.37.1}/README.md +0 -0
  22. {linq_python-0.36.1 → linq_python-0.37.1}/SECURITY.md +0 -0
  23. {linq_python-0.36.1 → linq_python-0.37.1}/api.md +0 -0
  24. {linq_python-0.36.1 → linq_python-0.37.1}/bin/check-release-environment +0 -0
  25. {linq_python-0.36.1 → linq_python-0.37.1}/bin/publish-pypi +0 -0
  26. {linq_python-0.36.1 → linq_python-0.37.1}/examples/.keep +0 -0
  27. {linq_python-0.36.1 → linq_python-0.37.1}/release-please-config.json +0 -0
  28. {linq_python-0.36.1 → linq_python-0.37.1}/requirements-dev.lock +0 -0
  29. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/__init__.py +0 -0
  30. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_base_client.py +0 -0
  31. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_compat.py +0 -0
  32. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_constants.py +0 -0
  33. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_exceptions.py +0 -0
  34. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_files.py +0 -0
  35. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_models.py +0 -0
  36. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_qs.py +0 -0
  37. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_resource.py +0 -0
  38. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_response.py +0 -0
  39. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_streaming.py +0 -0
  40. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_types.py +0 -0
  41. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/__init__.py +0 -0
  42. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_compat.py +0 -0
  43. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_datetime_parse.py +0 -0
  44. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_json.py +0 -0
  45. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_logs.py +0 -0
  46. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_path.py +0 -0
  47. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_proxy.py +0 -0
  48. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_reflection.py +0 -0
  49. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_resources_proxy.py +0 -0
  50. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_streams.py +0 -0
  51. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_sync.py +0 -0
  52. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_transform.py +0 -0
  53. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_typing.py +0 -0
  54. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_utils.py +0 -0
  55. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/lib/.keep +0 -0
  56. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/pagination.py +0 -0
  57. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/py.typed +0 -0
  58. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/__init__.py +0 -0
  59. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/attachments.py +0 -0
  60. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/available_number.py +0 -0
  61. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/blocked_handles.py +0 -0
  62. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/capability.py +0 -0
  63. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/__init__.py +0 -0
  64. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/background.py +0 -0
  65. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/location.py +0 -0
  66. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/participants.py +0 -0
  67. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/typing.py +0 -0
  68. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/contact_card.py +0 -0
  69. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/experiences.py +0 -0
  70. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/messages/__init__.py +0 -0
  71. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/payment_handles.py +0 -0
  72. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/payment_providers.py +0 -0
  73. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/payments.py +0 -0
  74. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/phone_numbers.py +0 -0
  75. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/phonenumbers.py +0 -0
  76. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/webhook_events.py +0 -0
  77. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/webhook_subscriptions.py +0 -0
  78. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/webhooks.py +0 -0
  79. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/__init__.py +0 -0
  80. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/attachment_create_params.py +0 -0
  81. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/attachment_create_response.py +0 -0
  82. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/attachment_retrieve_response.py +0 -0
  83. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/available_number_retrieve_params.py +0 -0
  84. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/available_number_retrieve_response.py +0 -0
  85. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/blocked_handle_block_params.py +0 -0
  86. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/blocked_handle_block_response.py +0 -0
  87. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/blocked_handle_entry.py +0 -0
  88. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/blocked_handle_list_response.py +0 -0
  89. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/blocked_handle_unblock_params.py +0 -0
  90. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/capability_check_RCS_params.py +0 -0
  91. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/capability_check_i_message_params.py +0 -0
  92. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat.py +0 -0
  93. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_background_update_failed_webhook_event.py +0 -0
  94. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_background_updated_webhook_event.py +0 -0
  95. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_create_params.py +0 -0
  96. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_create_response.py +0 -0
  97. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_created_webhook_event.py +0 -0
  98. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_group_icon_update_failed_webhook_event.py +0 -0
  99. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_group_icon_updated_webhook_event.py +0 -0
  100. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_group_name_update_failed_webhook_event.py +0 -0
  101. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_group_name_updated_webhook_event.py +0 -0
  102. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_leave_chat_response.py +0 -0
  103. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_list_chats_params.py +0 -0
  104. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_send_voicememo_params.py +0 -0
  105. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_send_voicememo_response.py +0 -0
  106. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_typing_indicator_started_webhook_event.py +0 -0
  107. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_typing_indicator_stopped_webhook_event.py +0 -0
  108. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_update_params.py +0 -0
  109. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_update_response.py +0 -0
  110. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/__init__.py +0 -0
  111. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/background_set_params.py +0 -0
  112. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/get_chat_location_response.py +0 -0
  113. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/location_request_response.py +0 -0
  114. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/message_list_params.py +0 -0
  115. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/message_send_params.py +0 -0
  116. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/message_send_response.py +0 -0
  117. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/participant_add_params.py +0 -0
  118. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/participant_add_response.py +0 -0
  119. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/participant_remove_params.py +0 -0
  120. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/participant_remove_response.py +0 -0
  121. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/poll.py +0 -0
  122. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/poll_create_params.py +0 -0
  123. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/poll_envelope.py +0 -0
  124. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/sent_message.py +0 -0
  125. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/contact_card_create_params.py +0 -0
  126. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/contact_card_retrieve_params.py +0 -0
  127. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/contact_card_retrieve_response.py +0 -0
  128. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/contact_card_update_params.py +0 -0
  129. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/experience_list_response.py +0 -0
  130. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/experience_retrieve_response.py +0 -0
  131. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/handle_check_response.py +0 -0
  132. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/link_part_param.py +0 -0
  133. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/media_part_param.py +0 -0
  134. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message.py +0 -0
  135. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_add_reaction_params.py +0 -0
  136. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_add_reaction_response.py +0 -0
  137. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_content_param.py +0 -0
  138. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_create_params.py +0 -0
  139. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_create_response.py +0 -0
  140. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_delivered_webhook_event.py +0 -0
  141. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_edited_webhook_event.py +0 -0
  142. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_effect.py +0 -0
  143. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_effect_param.py +0 -0
  144. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_event_v2.py +0 -0
  145. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_failed_webhook_event.py +0 -0
  146. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_list_messages_thread_params.py +0 -0
  147. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_read_webhook_event.py +0 -0
  148. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_received_webhook_event.py +0 -0
  149. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_sent_webhook_event.py +0 -0
  150. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_update_app_card_params.py +0 -0
  151. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_update_app_card_response.py +0 -0
  152. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_update_params.py +0 -0
  153. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/messages/__init__.py +0 -0
  154. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/messages/poll_add_options_params.py +0 -0
  155. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/messages/poll_vote_params.py +0 -0
  156. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/participant_added_webhook_event.py +0 -0
  157. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/participant_removed_webhook_event.py +0 -0
  158. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment.py +0 -0
  159. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_create_params.py +0 -0
  160. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_credentials_response.py +0 -0
  161. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_handle_connection.py +0 -0
  162. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_handle_verify_params.py +0 -0
  163. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_provider.py +0 -0
  164. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_provider_connect_params.py +0 -0
  165. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_provider_connect_response.py +0 -0
  166. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_request_list_params.py +0 -0
  167. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_request_list_response.py +0 -0
  168. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/phone_number_list_response.py +0 -0
  169. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/phone_number_status_updated_webhook_event.py +0 -0
  170. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/phone_number_update_params.py +0 -0
  171. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/phone_number_update_response.py +0 -0
  172. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/phonenumber_list_response.py +0 -0
  173. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_delivered_webhook_event.py +0 -0
  174. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_failed_webhook_event.py +0 -0
  175. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_reaction_added_webhook_event.py +0 -0
  176. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_read_webhook_event.py +0 -0
  177. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_received_webhook_event.py +0 -0
  178. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_sent_webhook_event.py +0 -0
  179. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_updated_webhook_event.py +0 -0
  180. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_vote_added_webhook_event.py +0 -0
  181. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_vote_removed_webhook_event.py +0 -0
  182. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reaction_added_webhook_event.py +0 -0
  183. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reaction_event_base.py +0 -0
  184. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reaction_removed_webhook_event.py +0 -0
  185. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reply_to.py +0 -0
  186. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reply_to_param.py +0 -0
  187. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_action_item.py +0 -0
  188. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_audit.py +0 -0
  189. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_audit_started.py +0 -0
  190. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_driver.py +0 -0
  191. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_driver_key.py +0 -0
  192. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_evidence.py +0 -0
  193. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_opt_out_chat.py +0 -0
  194. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_report.py +0 -0
  195. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_unhealthy_chat.py +0 -0
  196. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/schemas_media_part_response.py +0 -0
  197. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/schemas_message_effect.py +0 -0
  198. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/schemas_text_part_response.py +0 -0
  199. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/set_contact_card.py +0 -0
  200. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/__init__.py +0 -0
  201. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/chat_handle.py +0 -0
  202. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/link_part_response.py +0 -0
  203. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/media_part_response.py +0 -0
  204. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/reaction.py +0 -0
  205. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/reaction_type.py +0 -0
  206. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/service_type.py +0 -0
  207. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/text_decoration.py +0 -0
  208. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/text_part_response.py +0 -0
  209. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared_params/__init__.py +0 -0
  210. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared_params/reaction_type.py +0 -0
  211. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared_params/service_type.py +0 -0
  212. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared_params/text_decoration.py +0 -0
  213. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/supported_content_type.py +0 -0
  214. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/text_part_param.py +0 -0
  215. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/unwrap_webhook_event.py +0 -0
  216. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_event_list_response.py +0 -0
  217. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_event_type.py +0 -0
  218. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_subscription.py +0 -0
  219. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_subscription_create_params.py +0 -0
  220. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_subscription_create_response.py +0 -0
  221. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_subscription_list_response.py +0 -0
  222. {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_subscription_update_params.py +0 -0
  223. {linq_python-0.36.1 → linq_python-0.37.1}/tests/__init__.py +0 -0
  224. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/__init__.py +0 -0
  225. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/__init__.py +0 -0
  226. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_background.py +0 -0
  227. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_location.py +0 -0
  228. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_messages.py +0 -0
  229. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_participants.py +0 -0
  230. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_polls.py +0 -0
  231. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_typing.py +0 -0
  232. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/messages/__init__.py +0 -0
  233. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/messages/test_poll.py +0 -0
  234. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_attachments.py +0 -0
  235. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_available_number.py +0 -0
  236. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_blocked_handles.py +0 -0
  237. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_capability.py +0 -0
  238. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_chats.py +0 -0
  239. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_contact_card.py +0 -0
  240. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_experiences.py +0 -0
  241. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_messages.py +0 -0
  242. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_payment_handles.py +0 -0
  243. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_payment_providers.py +0 -0
  244. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_payments.py +0 -0
  245. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_phone_numbers.py +0 -0
  246. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_phonenumbers.py +0 -0
  247. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_webhook_events.py +0 -0
  248. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_webhook_subscriptions.py +0 -0
  249. {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_webhooks.py +0 -0
  250. {linq_python-0.36.1 → linq_python-0.37.1}/tests/conftest.py +0 -0
  251. {linq_python-0.36.1 → linq_python-0.37.1}/tests/sample_file.txt +0 -0
  252. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_client.py +0 -0
  253. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_extract_files.py +0 -0
  254. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_files.py +0 -0
  255. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_models.py +0 -0
  256. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_qs.py +0 -0
  257. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_required_args.py +0 -0
  258. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_response.py +0 -0
  259. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_streaming.py +0 -0
  260. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_transform.py +0 -0
  261. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_utils/test_datetime_parse.py +0 -0
  262. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_utils/test_json.py +0 -0
  263. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_utils/test_path.py +0 -0
  264. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_utils/test_proxy.py +0 -0
  265. {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_utils/test_typing.py +0 -0
  266. {linq_python-0.36.1 → linq_python-0.37.1}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.37.1"
3
+ }
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.37.1](https://github.com/linq-team/linq-python/compare/v0.37.0...v0.37.1) (2026-08-31)
4
+
5
+
6
+ ### Documentation
7
+
8
+ * clarify backstop behavior for ephemeral message storage ([c6efb3b](https://github.com/linq-team/linq-python/commit/c6efb3be895b90f4349c2e01b7c5904818c93fe2))
9
+
10
+ ## [0.37.0](https://github.com/linq-team/linq-python/compare/v0.36.1...v0.37.0) (2026-08-28)
11
+
12
+
13
+ ### Features
14
+
15
+ * add discount support with coupons and promotion codes ([5427381](https://github.com/linq-team/linq-python/commit/5427381d5591b92d80cf169774f4bde887fcd28b))
16
+
3
17
  ## [0.36.1](https://github.com/linq-team/linq-python/compare/v0.36.0...v0.36.1) (2026-08-28)
4
18
 
5
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: linq-python
3
- Version: 0.36.1
3
+ Version: 0.37.1
4
4
  Summary: The official Python library for the linq-api-v3 API
5
5
  Project-URL: Homepage, https://github.com/linq-team/linq-python
6
6
  Project-URL: Repository, https://github.com/linq-team/linq-python
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "linq-python"
3
- version = "0.36.1"
3
+ version = "0.37.1"
4
4
  description = "The official Python library for the linq-api-v3 API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -214,6 +214,7 @@ class LinqAPIV3(SyncAPIClient):
214
214
 
215
215
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
216
216
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
217
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
217
218
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
218
219
 
219
220
  **When to choose ephemeral:**
@@ -548,6 +549,45 @@ class LinqAPIV3(SyncAPIClient):
548
549
  the Customer and Subscription, so correlating in either direction is
549
550
  trivial. There are no renewal webhooks from Linq by design.
550
551
 
552
+ ### Discounts
553
+
554
+ Pass a `discount` with a **coupon** or **promotion code** from your
555
+ connected Stripe account to apply it to the subscription. Create either in
556
+ your Stripe Dashboard under Product catalog → Coupons; Linq only forwards
557
+ the id.
558
+
559
+ ```json
560
+ {
561
+ "mode": "subscription",
562
+ "price_id": "price_1QAbCdEfGhIjKlMn",
563
+ "discount": {
564
+ "coupon": "7fKCMvBh",
565
+ "label": "50% OFF FIRST MONTH"
566
+ }
567
+ }
568
+ ```
569
+
570
+ Stripe applies the coupon and prices the first invoice; the `amount` we
571
+ return is that invoice's amount due, so a `$50.00/month` price with a
572
+ 50%-off-first-month coupon comes back as `2500` and the recipient is
573
+ charged **$25.00** at checkout. A coupon that covers the whole first
574
+ invoice returns `amount: 0`; checkout shows $0.00 and collects the card for
575
+ the renewal rather than charging now. Renewals bill at the full price
576
+ automatically — how long a discount lasts is the coupon's `duration`,
577
+ enforced by Stripe on your account, and Linq never re-prices anything.
578
+
579
+ Use `promotion_code` instead of `coupon` to apply a promotion code by id
580
+ (`promo_...`, not the customer-facing code string); pass one or the other,
581
+ never both.
582
+
583
+ `label` is the customer-facing promotion name displayed at checkout instead
584
+ of the coupon or promotion code ID. The label is displayed exactly as
585
+ provided, so include important terms such as "FIRST MONTH" or
586
+ "FIRST 3 MONTHS" when applicable. These terms are not displayed elsewhere
587
+ on the checkout screen.
588
+
589
+ If omitted, Stripe uses the coupon's name as the promotion label.
590
+
551
591
  ### Free trials
552
592
 
553
593
  Add `trial_period_days` (or a fixed `trial_end` timestamp) to start the
@@ -1290,6 +1330,7 @@ class AsyncLinqAPIV3(AsyncAPIClient):
1290
1330
 
1291
1331
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
1292
1332
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
1333
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
1293
1334
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
1294
1335
 
1295
1336
  **When to choose ephemeral:**
@@ -1624,6 +1665,45 @@ class AsyncLinqAPIV3(AsyncAPIClient):
1624
1665
  the Customer and Subscription, so correlating in either direction is
1625
1666
  trivial. There are no renewal webhooks from Linq by design.
1626
1667
 
1668
+ ### Discounts
1669
+
1670
+ Pass a `discount` with a **coupon** or **promotion code** from your
1671
+ connected Stripe account to apply it to the subscription. Create either in
1672
+ your Stripe Dashboard under Product catalog → Coupons; Linq only forwards
1673
+ the id.
1674
+
1675
+ ```json
1676
+ {
1677
+ "mode": "subscription",
1678
+ "price_id": "price_1QAbCdEfGhIjKlMn",
1679
+ "discount": {
1680
+ "coupon": "7fKCMvBh",
1681
+ "label": "50% OFF FIRST MONTH"
1682
+ }
1683
+ }
1684
+ ```
1685
+
1686
+ Stripe applies the coupon and prices the first invoice; the `amount` we
1687
+ return is that invoice's amount due, so a `$50.00/month` price with a
1688
+ 50%-off-first-month coupon comes back as `2500` and the recipient is
1689
+ charged **$25.00** at checkout. A coupon that covers the whole first
1690
+ invoice returns `amount: 0`; checkout shows $0.00 and collects the card for
1691
+ the renewal rather than charging now. Renewals bill at the full price
1692
+ automatically — how long a discount lasts is the coupon's `duration`,
1693
+ enforced by Stripe on your account, and Linq never re-prices anything.
1694
+
1695
+ Use `promotion_code` instead of `coupon` to apply a promotion code by id
1696
+ (`promo_...`, not the customer-facing code string); pass one or the other,
1697
+ never both.
1698
+
1699
+ `label` is the customer-facing promotion name displayed at checkout instead
1700
+ of the coupon or promotion code ID. The label is displayed exactly as
1701
+ provided, so include important terms such as "FIRST MONTH" or
1702
+ "FIRST 3 MONTHS" when applicable. These terms are not displayed elsewhere
1703
+ on the checkout screen.
1704
+
1705
+ If omitted, Stripe uses the coupon's name as the promotion label.
1706
+
1627
1707
  ### Free trials
1628
1708
 
1629
1709
  Add `trial_period_days` (or a fixed `trial_end` timestamp) to start the
@@ -2300,6 +2380,7 @@ class LinqAPIV3WithRawResponse:
2300
2380
 
2301
2381
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
2302
2382
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
2383
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
2303
2384
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
2304
2385
 
2305
2386
  **When to choose ephemeral:**
@@ -2634,6 +2715,45 @@ class LinqAPIV3WithRawResponse:
2634
2715
  the Customer and Subscription, so correlating in either direction is
2635
2716
  trivial. There are no renewal webhooks from Linq by design.
2636
2717
 
2718
+ ### Discounts
2719
+
2720
+ Pass a `discount` with a **coupon** or **promotion code** from your
2721
+ connected Stripe account to apply it to the subscription. Create either in
2722
+ your Stripe Dashboard under Product catalog → Coupons; Linq only forwards
2723
+ the id.
2724
+
2725
+ ```json
2726
+ {
2727
+ "mode": "subscription",
2728
+ "price_id": "price_1QAbCdEfGhIjKlMn",
2729
+ "discount": {
2730
+ "coupon": "7fKCMvBh",
2731
+ "label": "50% OFF FIRST MONTH"
2732
+ }
2733
+ }
2734
+ ```
2735
+
2736
+ Stripe applies the coupon and prices the first invoice; the `amount` we
2737
+ return is that invoice's amount due, so a `$50.00/month` price with a
2738
+ 50%-off-first-month coupon comes back as `2500` and the recipient is
2739
+ charged **$25.00** at checkout. A coupon that covers the whole first
2740
+ invoice returns `amount: 0`; checkout shows $0.00 and collects the card for
2741
+ the renewal rather than charging now. Renewals bill at the full price
2742
+ automatically — how long a discount lasts is the coupon's `duration`,
2743
+ enforced by Stripe on your account, and Linq never re-prices anything.
2744
+
2745
+ Use `promotion_code` instead of `coupon` to apply a promotion code by id
2746
+ (`promo_...`, not the customer-facing code string); pass one or the other,
2747
+ never both.
2748
+
2749
+ `label` is the customer-facing promotion name displayed at checkout instead
2750
+ of the coupon or promotion code ID. The label is displayed exactly as
2751
+ provided, so include important terms such as "FIRST MONTH" or
2752
+ "FIRST 3 MONTHS" when applicable. These terms are not displayed elsewhere
2753
+ on the checkout screen.
2754
+
2755
+ If omitted, Stripe uses the coupon's name as the promotion label.
2756
+
2637
2757
  ### Free trials
2638
2758
 
2639
2759
  Add `trial_period_days` (or a fixed `trial_end` timestamp) to start the
@@ -3182,6 +3302,7 @@ class AsyncLinqAPIV3WithRawResponse:
3182
3302
 
3183
3303
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
3184
3304
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
3305
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
3185
3306
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
3186
3307
 
3187
3308
  **When to choose ephemeral:**
@@ -3516,6 +3637,45 @@ class AsyncLinqAPIV3WithRawResponse:
3516
3637
  the Customer and Subscription, so correlating in either direction is
3517
3638
  trivial. There are no renewal webhooks from Linq by design.
3518
3639
 
3640
+ ### Discounts
3641
+
3642
+ Pass a `discount` with a **coupon** or **promotion code** from your
3643
+ connected Stripe account to apply it to the subscription. Create either in
3644
+ your Stripe Dashboard under Product catalog → Coupons; Linq only forwards
3645
+ the id.
3646
+
3647
+ ```json
3648
+ {
3649
+ "mode": "subscription",
3650
+ "price_id": "price_1QAbCdEfGhIjKlMn",
3651
+ "discount": {
3652
+ "coupon": "7fKCMvBh",
3653
+ "label": "50% OFF FIRST MONTH"
3654
+ }
3655
+ }
3656
+ ```
3657
+
3658
+ Stripe applies the coupon and prices the first invoice; the `amount` we
3659
+ return is that invoice's amount due, so a `$50.00/month` price with a
3660
+ 50%-off-first-month coupon comes back as `2500` and the recipient is
3661
+ charged **$25.00** at checkout. A coupon that covers the whole first
3662
+ invoice returns `amount: 0`; checkout shows $0.00 and collects the card for
3663
+ the renewal rather than charging now. Renewals bill at the full price
3664
+ automatically — how long a discount lasts is the coupon's `duration`,
3665
+ enforced by Stripe on your account, and Linq never re-prices anything.
3666
+
3667
+ Use `promotion_code` instead of `coupon` to apply a promotion code by id
3668
+ (`promo_...`, not the customer-facing code string); pass one or the other,
3669
+ never both.
3670
+
3671
+ `label` is the customer-facing promotion name displayed at checkout instead
3672
+ of the coupon or promotion code ID. The label is displayed exactly as
3673
+ provided, so include important terms such as "FIRST MONTH" or
3674
+ "FIRST 3 MONTHS" when applicable. These terms are not displayed elsewhere
3675
+ on the checkout screen.
3676
+
3677
+ If omitted, Stripe uses the coupon's name as the promotion label.
3678
+
3519
3679
  ### Free trials
3520
3680
 
3521
3681
  Add `trial_period_days` (or a fixed `trial_end` timestamp) to start the
@@ -4064,6 +4224,7 @@ class LinqAPIV3WithStreamedResponse:
4064
4224
 
4065
4225
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
4066
4226
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
4227
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
4067
4228
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
4068
4229
 
4069
4230
  **When to choose ephemeral:**
@@ -4398,6 +4559,45 @@ class LinqAPIV3WithStreamedResponse:
4398
4559
  the Customer and Subscription, so correlating in either direction is
4399
4560
  trivial. There are no renewal webhooks from Linq by design.
4400
4561
 
4562
+ ### Discounts
4563
+
4564
+ Pass a `discount` with a **coupon** or **promotion code** from your
4565
+ connected Stripe account to apply it to the subscription. Create either in
4566
+ your Stripe Dashboard under Product catalog → Coupons; Linq only forwards
4567
+ the id.
4568
+
4569
+ ```json
4570
+ {
4571
+ "mode": "subscription",
4572
+ "price_id": "price_1QAbCdEfGhIjKlMn",
4573
+ "discount": {
4574
+ "coupon": "7fKCMvBh",
4575
+ "label": "50% OFF FIRST MONTH"
4576
+ }
4577
+ }
4578
+ ```
4579
+
4580
+ Stripe applies the coupon and prices the first invoice; the `amount` we
4581
+ return is that invoice's amount due, so a `$50.00/month` price with a
4582
+ 50%-off-first-month coupon comes back as `2500` and the recipient is
4583
+ charged **$25.00** at checkout. A coupon that covers the whole first
4584
+ invoice returns `amount: 0`; checkout shows $0.00 and collects the card for
4585
+ the renewal rather than charging now. Renewals bill at the full price
4586
+ automatically — how long a discount lasts is the coupon's `duration`,
4587
+ enforced by Stripe on your account, and Linq never re-prices anything.
4588
+
4589
+ Use `promotion_code` instead of `coupon` to apply a promotion code by id
4590
+ (`promo_...`, not the customer-facing code string); pass one or the other,
4591
+ never both.
4592
+
4593
+ `label` is the customer-facing promotion name displayed at checkout instead
4594
+ of the coupon or promotion code ID. The label is displayed exactly as
4595
+ provided, so include important terms such as "FIRST MONTH" or
4596
+ "FIRST 3 MONTHS" when applicable. These terms are not displayed elsewhere
4597
+ on the checkout screen.
4598
+
4599
+ If omitted, Stripe uses the coupon's name as the promotion label.
4600
+
4401
4601
  ### Free trials
4402
4602
 
4403
4603
  Add `trial_period_days` (or a fixed `trial_end` timestamp) to start the
@@ -4946,6 +5146,7 @@ class AsyncLinqAPIV3WithStreamedResponse:
4946
5146
 
4947
5147
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
4948
5148
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
5149
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
4949
5150
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
4950
5151
 
4951
5152
  **When to choose ephemeral:**
@@ -5280,6 +5481,45 @@ class AsyncLinqAPIV3WithStreamedResponse:
5280
5481
  the Customer and Subscription, so correlating in either direction is
5281
5482
  trivial. There are no renewal webhooks from Linq by design.
5282
5483
 
5484
+ ### Discounts
5485
+
5486
+ Pass a `discount` with a **coupon** or **promotion code** from your
5487
+ connected Stripe account to apply it to the subscription. Create either in
5488
+ your Stripe Dashboard under Product catalog → Coupons; Linq only forwards
5489
+ the id.
5490
+
5491
+ ```json
5492
+ {
5493
+ "mode": "subscription",
5494
+ "price_id": "price_1QAbCdEfGhIjKlMn",
5495
+ "discount": {
5496
+ "coupon": "7fKCMvBh",
5497
+ "label": "50% OFF FIRST MONTH"
5498
+ }
5499
+ }
5500
+ ```
5501
+
5502
+ Stripe applies the coupon and prices the first invoice; the `amount` we
5503
+ return is that invoice's amount due, so a `$50.00/month` price with a
5504
+ 50%-off-first-month coupon comes back as `2500` and the recipient is
5505
+ charged **$25.00** at checkout. A coupon that covers the whole first
5506
+ invoice returns `amount: 0`; checkout shows $0.00 and collects the card for
5507
+ the renewal rather than charging now. Renewals bill at the full price
5508
+ automatically — how long a discount lasts is the coupon's `duration`,
5509
+ enforced by Stripe on your account, and Linq never re-prices anything.
5510
+
5511
+ Use `promotion_code` instead of `coupon` to apply a promotion code by id
5512
+ (`promo_...`, not the customer-facing code string); pass one or the other,
5513
+ never both.
5514
+
5515
+ `label` is the customer-facing promotion name displayed at checkout instead
5516
+ of the coupon or promotion code ID. The label is displayed exactly as
5517
+ provided, so include important terms such as "FIRST MONTH" or
5518
+ "FIRST 3 MONTHS" when applicable. These terms are not displayed elsewhere
5519
+ on the checkout screen.
5520
+
5521
+ If omitted, Stripe uses the coupon's name as the promotion label.
5522
+
5283
5523
  ### Free trials
5284
5524
 
5285
5525
  Add `trial_period_days` (or a fixed `trial_end` timestamp) to start the
@@ -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.36.1" # x-release-please-version
4
+ __version__ = "0.37.1" # x-release-please-version
@@ -174,6 +174,7 @@ class ChatsResource(SyncAPIResource):
174
174
 
175
175
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
176
176
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
177
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
177
178
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
178
179
 
179
180
  **When to choose ephemeral:**
@@ -279,6 +280,7 @@ class ChatsResource(SyncAPIResource):
279
280
 
280
281
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
281
282
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
283
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
282
284
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
283
285
 
284
286
  **When to choose ephemeral:**
@@ -919,6 +921,7 @@ class AsyncChatsResource(AsyncAPIResource):
919
921
 
920
922
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
921
923
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
924
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
922
925
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
923
926
 
924
927
  **When to choose ephemeral:**
@@ -1024,6 +1027,7 @@ class AsyncChatsResource(AsyncAPIResource):
1024
1027
 
1025
1028
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
1026
1029
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
1030
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
1027
1031
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
1028
1032
 
1029
1033
  **When to choose ephemeral:**
@@ -1692,6 +1696,7 @@ class ChatsResourceWithRawResponse:
1692
1696
 
1693
1697
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
1694
1698
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
1699
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
1695
1700
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
1696
1701
 
1697
1702
  **When to choose ephemeral:**
@@ -1797,6 +1802,7 @@ class ChatsResourceWithRawResponse:
1797
1802
 
1798
1803
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
1799
1804
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
1805
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
1800
1806
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
1801
1807
 
1802
1808
  **When to choose ephemeral:**
@@ -1953,6 +1959,7 @@ class AsyncChatsResourceWithRawResponse:
1953
1959
 
1954
1960
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
1955
1961
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
1962
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
1956
1963
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
1957
1964
 
1958
1965
  **When to choose ephemeral:**
@@ -2058,6 +2065,7 @@ class AsyncChatsResourceWithRawResponse:
2058
2065
 
2059
2066
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
2060
2067
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
2068
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
2061
2069
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
2062
2070
 
2063
2071
  **When to choose ephemeral:**
@@ -2214,6 +2222,7 @@ class ChatsResourceWithStreamingResponse:
2214
2222
 
2215
2223
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
2216
2224
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
2225
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
2217
2226
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
2218
2227
 
2219
2228
  **When to choose ephemeral:**
@@ -2319,6 +2328,7 @@ class ChatsResourceWithStreamingResponse:
2319
2328
 
2320
2329
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
2321
2330
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
2331
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
2322
2332
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
2323
2333
 
2324
2334
  **When to choose ephemeral:**
@@ -2475,6 +2485,7 @@ class AsyncChatsResourceWithStreamingResponse:
2475
2485
 
2476
2486
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
2477
2487
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
2488
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
2478
2489
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
2479
2490
 
2480
2491
  **When to choose ephemeral:**
@@ -2580,6 +2591,7 @@ class AsyncChatsResourceWithStreamingResponse:
2580
2591
 
2581
2592
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
2582
2593
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
2594
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
2583
2595
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
2584
2596
 
2585
2597
  **When to choose ephemeral:**
@@ -74,6 +74,7 @@ class MessagesResource(SyncAPIResource):
74
74
 
75
75
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
76
76
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
77
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
77
78
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
78
79
 
79
80
  **When to choose ephemeral:**
@@ -306,6 +307,7 @@ class AsyncMessagesResource(AsyncAPIResource):
306
307
 
307
308
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
308
309
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
310
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
309
311
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
310
312
 
311
313
  **When to choose ephemeral:**
@@ -71,6 +71,7 @@ class PollsResource(SyncAPIResource):
71
71
 
72
72
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
73
73
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
74
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
74
75
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
75
76
 
76
77
  **When to choose ephemeral:**
@@ -197,6 +198,7 @@ class AsyncPollsResource(AsyncAPIResource):
197
198
 
198
199
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
199
200
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
201
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
200
202
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
201
203
 
202
204
  **When to choose ephemeral:**
@@ -93,6 +93,7 @@ class MessagesResource(SyncAPIResource):
93
93
 
94
94
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
95
95
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
96
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
96
97
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
97
98
 
98
99
  **When to choose ephemeral:**
@@ -155,6 +156,7 @@ class MessagesResource(SyncAPIResource):
155
156
 
156
157
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
157
158
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
159
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
158
160
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
159
161
 
160
162
  **When to choose ephemeral:**
@@ -735,6 +737,7 @@ class AsyncMessagesResource(AsyncAPIResource):
735
737
 
736
738
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
737
739
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
740
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
738
741
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
739
742
 
740
743
  **When to choose ephemeral:**
@@ -797,6 +800,7 @@ class AsyncMessagesResource(AsyncAPIResource):
797
800
 
798
801
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
799
802
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
803
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
800
804
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
801
805
 
802
806
  **When to choose ephemeral:**
@@ -1404,6 +1408,7 @@ class MessagesResourceWithRawResponse:
1404
1408
 
1405
1409
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
1406
1410
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
1411
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
1407
1412
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
1408
1413
 
1409
1414
  **When to choose ephemeral:**
@@ -1494,6 +1499,7 @@ class AsyncMessagesResourceWithRawResponse:
1494
1499
 
1495
1500
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
1496
1501
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
1502
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
1497
1503
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
1498
1504
 
1499
1505
  **When to choose ephemeral:**
@@ -1584,6 +1590,7 @@ class MessagesResourceWithStreamingResponse:
1584
1590
 
1585
1591
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
1586
1592
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
1593
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
1587
1594
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
1588
1595
 
1589
1596
  **When to choose ephemeral:**
@@ -1674,6 +1681,7 @@ class AsyncMessagesResourceWithStreamingResponse:
1674
1681
 
1675
1682
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
1676
1683
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
1684
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
1677
1685
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
1678
1686
 
1679
1687
  **When to choose ephemeral:**
@@ -74,6 +74,7 @@ class PollResource(SyncAPIResource):
74
74
 
75
75
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
76
76
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
77
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
77
78
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
78
79
 
79
80
  **When to choose ephemeral:**
@@ -275,6 +276,7 @@ class AsyncPollResource(AsyncAPIResource):
275
276
 
276
277
  - **No expiry timestamp is exposed.** API responses and webhook payloads do not include the deletion time. If you need it, compute `created_at + 24h` yourself.
277
278
  - **No deletion webhook is sent.** There is no `message.deleted` event — a message simply stops being retrievable once its window passes.
279
+ - **The backstop governs Linq storage.** API retrievability (the `404` behavior above) and CDN media expire at the 24-hour mark. Removal of the corresponding entries from the sending device happens asynchronously and can complete after the backstop.
278
280
  - **Delivery is unaffected.** Ephemeral messages send, deliver, and fire the usual `message.sent` / `message.received` and status webhooks exactly like standard messages. Only retention changes.
279
281
 
280
282
  **When to choose ephemeral:**