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.
- linq_python-0.37.1/.release-please-manifest.json +3 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/CHANGELOG.md +14 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/PKG-INFO +1 -1
- {linq_python-0.36.1 → linq_python-0.37.1}/pyproject.toml +1 -1
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_client.py +240 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_version.py +1 -1
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/chats.py +12 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/messages.py +2 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/polls.py +2 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/messages/messages.py +8 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/messages/poll.py +2 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/payment_requests.py +88 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_request.py +21 -4
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_request_create_params.py +26 -1
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_payment_requests.py +10 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/uv.lock +1 -1
- linq_python-0.36.1/.release-please-manifest.json +0 -3
- {linq_python-0.36.1 → linq_python-0.37.1}/.gitignore +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/CONTRIBUTING.md +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/LICENSE +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/README.md +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/SECURITY.md +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/api.md +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/bin/check-release-environment +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/bin/publish-pypi +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/examples/.keep +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/release-please-config.json +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/requirements-dev.lock +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_base_client.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_compat.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_constants.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_exceptions.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_files.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_models.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_qs.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_resource.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_streaming.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_types.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_compat.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_datetime_parse.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_json.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_logs.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_path.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_proxy.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_reflection.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_resources_proxy.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_streams.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_sync.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_transform.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_typing.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/_utils/_utils.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/lib/.keep +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/pagination.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/py.typed +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/attachments.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/available_number.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/blocked_handles.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/capability.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/background.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/location.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/participants.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/chats/typing.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/contact_card.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/experiences.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/messages/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/payment_handles.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/payment_providers.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/payments.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/phone_numbers.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/phonenumbers.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/webhook_events.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/webhook_subscriptions.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/resources/webhooks.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/attachment_create_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/attachment_create_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/attachment_retrieve_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/available_number_retrieve_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/available_number_retrieve_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/blocked_handle_block_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/blocked_handle_block_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/blocked_handle_entry.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/blocked_handle_list_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/blocked_handle_unblock_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/capability_check_RCS_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/capability_check_i_message_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_background_update_failed_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_background_updated_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_create_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_create_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_created_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_group_icon_update_failed_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_group_icon_updated_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_group_name_update_failed_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_group_name_updated_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_leave_chat_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_list_chats_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_send_voicememo_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_send_voicememo_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_typing_indicator_started_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_typing_indicator_stopped_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_update_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chat_update_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/background_set_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/get_chat_location_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/location_request_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/message_list_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/message_send_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/message_send_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/participant_add_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/participant_add_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/participant_remove_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/participant_remove_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/poll.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/poll_create_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/poll_envelope.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/chats/sent_message.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/contact_card_create_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/contact_card_retrieve_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/contact_card_retrieve_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/contact_card_update_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/experience_list_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/experience_retrieve_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/handle_check_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/link_part_param.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/media_part_param.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_add_reaction_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_add_reaction_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_content_param.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_create_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_create_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_delivered_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_edited_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_effect.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_effect_param.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_event_v2.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_failed_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_list_messages_thread_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_read_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_received_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_sent_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_update_app_card_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_update_app_card_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/message_update_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/messages/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/messages/poll_add_options_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/messages/poll_vote_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/participant_added_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/participant_removed_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_create_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_credentials_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_handle_connection.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_handle_verify_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_provider.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_provider_connect_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_provider_connect_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_request_list_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/payment_request_list_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/phone_number_list_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/phone_number_status_updated_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/phone_number_update_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/phone_number_update_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/phonenumber_list_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_delivered_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_failed_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_reaction_added_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_read_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_received_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_sent_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_updated_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_vote_added_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/poll_vote_removed_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reaction_added_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reaction_event_base.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reaction_removed_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reply_to.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reply_to_param.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_action_item.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_audit.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_audit_started.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_driver.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_driver_key.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_evidence.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_opt_out_chat.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_report.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/reputation_unhealthy_chat.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/schemas_media_part_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/schemas_message_effect.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/schemas_text_part_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/set_contact_card.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/chat_handle.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/link_part_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/media_part_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/reaction.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/reaction_type.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/service_type.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/text_decoration.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared/text_part_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared_params/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared_params/reaction_type.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared_params/service_type.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/shared_params/text_decoration.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/supported_content_type.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/text_part_param.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/unwrap_webhook_event.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_event_list_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_event_type.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_subscription.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_subscription_create_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_subscription_create_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_subscription_list_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/src/linq/types/webhook_subscription_update_params.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_background.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_location.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_messages.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_participants.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_polls.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/chats/test_typing.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/messages/__init__.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/messages/test_poll.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_attachments.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_available_number.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_blocked_handles.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_capability.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_chats.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_contact_card.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_experiences.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_messages.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_payment_handles.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_payment_providers.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_payments.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_phone_numbers.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_phonenumbers.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_webhook_events.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_webhook_subscriptions.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/api_resources/test_webhooks.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/conftest.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/sample_file.txt +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_client.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_extract_files.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_files.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_models.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_qs.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_required_args.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_response.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_streaming.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_transform.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_utils/test_datetime_parse.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_utils/test_json.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_utils/test_path.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_utils/test_proxy.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/test_utils/test_typing.py +0 -0
- {linq_python-0.36.1 → linq_python-0.37.1}/tests/utils.py +0 -0
|
@@ -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.
|
|
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
|
|
@@ -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
|
|
@@ -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:**
|